[Debian-l10n-commits] poedit branch upstream updated. upstream/1.8
Gianfranco Costamagna
locutusofborg-guest at moszumanska.debian.org
Mon May 25 08:18:32 UTC 2015
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "poedit".
The branch, upstream has been updated
via 3adc43a151237b2e93ad50547240d6b4e86d2d6e (commit)
from c44a3938057fb2a2e9795af4ac6356bdc0d49390 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
-----------------------------------------------------------------------
Summary of changes:
Makefile.in | 7 +-
NEWS | 15 +
README | 8 +-
admin/ax_cxx_compile_stdcxx_11.m4 | 27 +-
artwork/CrowdinLogo.png | Bin 0 -> 6321 bytes
artwork/Makefile.am | 4 +-
artwork/Makefile.in | 11 +-
artwork/linux/poedit-sync.png | Bin 0 -> 3074 bytes
configure | 1469 ++++++++++++++-----
configure.ac | 160 ++-
docs/Makefile.in | 7 +-
docs/poedit.1 | 4 +-
locales/Makefile.am | 2 +-
locales/Makefile.in | 9 +-
locales/af.mo | Bin 10023 -> 9188 bytes
locales/af.po | 385 +++--
locales/am.mo | Bin 13441 -> 12320 bytes
locales/am.po | 385 +++--
locales/an.mo | Bin 40783 -> 46624 bytes
locales/an.po | 442 ++++--
locales/ar.mo | Bin 46811 -> 52682 bytes
locales/ar.po | 425 ++++--
locales/ast.mo | Bin 9398 -> 8533 bytes
locales/ast.po | 385 +++--
locales/az.mo | Bin 37468 -> 38941 bytes
locales/az.po | 411 ++++--
locales/be.mo | Bin 11746 -> 12955 bytes
locales/be.po | 440 ++++--
locales/be at latin.mo | Bin 10753 -> 9861 bytes
locales/be at latin.po | 420 ++++--
locales/bg.mo | Bin 50342 -> 57680 bytes
locales/bg.po | 584 +++++---
locales/bn.mo | Bin 15987 -> 14555 bytes
locales/bn.po | 385 +++--
locales/br.mo | Bin 10052 -> 9171 bytes
locales/br.po | 385 +++--
locales/bs.mo | Bin 39735 -> 43009 bytes
locales/bs.po | 411 ++++--
locales/ca.mo | Bin 40664 -> 46390 bytes
locales/ca.po | 509 +++++--
locales/ca at valencia.mo | Bin 11417 -> 10531 bytes
locales/ca at valencia.po | 385 +++--
locales/ckb.mo | Bin 21341 -> 20120 bytes
locales/ckb.po | 389 +++--
locales/co.mo | Bin 37344 -> 47203 bytes
locales/co.po | 821 +++++++----
locales/cs.mo | Bin 40521 -> 46329 bytes
locales/cs.po | 448 ++++--
locales/da.mo | Bin 38701 -> 44121 bytes
locales/da.po | 450 ++++--
locales/de.mo | Bin 41394 -> 47410 bytes
locales/de.po | 462 ++++--
locales/el.mo | Bin 36818 -> 35639 bytes
locales/el.po | 397 ++++--
locales/en_GB.mo | Bin 37792 -> 41732 bytes
locales/en_GB.po | 410 ++++--
locales/eo.mo | Bin 11403 -> 10576 bytes
locales/eo.po | 387 +++--
locales/es.mo | Bin 40642 -> 45584 bytes
locales/es.po | 460 ++++--
locales/et.mo | Bin 17515 -> 16683 bytes
locales/et.po | 393 ++++--
locales/eu.mo | Bin 38600 -> 44210 bytes
locales/eu.po | 428 ++++--
locales/fa.mo | Bin 26671 -> 26545 bytes
locales/fa.po | 404 ++++--
locales/fi.mo | Bin 31397 -> 45460 bytes
locales/fi.po | 610 +++++---
locales/fr.mo | Bin 41885 -> 47727 bytes
locales/fr.po | 696 +++++----
locales/fur.mo | Bin 9997 -> 9126 bytes
locales/fur.po | 385 +++--
locales/fy_NL.mo | Bin 0 -> 9696 bytes
locales/{af.po => fy_NL.po} | 820 ++++++-----
locales/ga.mo | Bin 11514 -> 10635 bytes
locales/ga.po | 388 +++--
locales/gl.mo | Bin 40489 -> 46081 bytes
locales/gl.po | 424 ++++--
locales/he.mo | Bin 25133 -> 24109 bytes
locales/he.po | 397 ++++--
locales/hi.mo | Bin 17193 -> 15918 bytes
locales/hi.po | 385 +++--
locales/hr.mo | Bin 33515 -> 32575 bytes
locales/hr.po | 398 ++++--
locales/hu.mo | Bin 41288 -> 47168 bytes
locales/hu.po | 428 ++++--
locales/id.mo | Bin 38635 -> 44178 bytes
locales/id.po | 432 ++++--
locales/is.mo | Bin 39698 -> 43794 bytes
locales/is.po | 468 ++++--
locales/it.mo | Bin 40236 -> 45812 bytes
locales/it.po | 427 ++++--
locales/ja.mo | Bin 43077 -> 49394 bytes
locales/ja.po | 421 ++++--
locales/ka.mo | Bin 29183 -> 27894 bytes
locales/ka.po | 401 ++++--
locales/kk.mo | Bin 22819 -> 21686 bytes
locales/kk.po | 392 ++++--
locales/ko.mo | Bin 40820 -> 45228 bytes
locales/ko.po | 410 ++++--
locales/ku.mo | Bin 5051 -> 4418 bytes
locales/ku.po | 377 +++--
locales/ky.mo | Bin 35893 -> 34699 bytes
locales/ky.po | 402 ++++--
locales/lt.mo | Bin 29207 -> 29513 bytes
locales/lt.po | 440 ++++--
locales/lv.mo | Bin 16550 -> 15650 bytes
locales/lv.po | 390 +++--
locales/mk.mo | Bin 23367 -> 22218 bytes
locales/mk.po | 393 ++++--
locales/mn.mo | Bin 10685 -> 9832 bytes
locales/mn.po | 381 +++--
locales/mr.mo | Bin 23823 -> 22490 bytes
locales/mr.po | 389 +++--
locales/ms.mo | Bin 32437 -> 31631 bytes
locales/ms.po | 490 +++++--
locales/nb.mo | Bin 38026 -> 37075 bytes
locales/nb.po | 403 ++++--
locales/ne.mo | Bin 27875 -> 26565 bytes
locales/ne.po | 393 ++++--
locales/nl.mo | Bin 40180 -> 46049 bytes
locales/nl.po | 674 ++++++---
locales/nn.mo | Bin 10664 -> 9839 bytes
locales/nn.po | 385 +++--
locales/pa.mo | Bin 31252 -> 34119 bytes
locales/pa.po | 1067 ++++++++++----
locales/pl.mo | Bin 41109 -> 51059 bytes
locales/pl.po | 1236 ++++++++++------
locales/poedit.pot | 339 ++++-
locales/pt_BR.mo | Bin 40130 -> 58834 bytes
locales/pt_BR.po | 1599 +++++++++++++--------
locales/pt_PT.mo | Bin 39961 -> 58932 bytes
locales/pt_PT.po | 1251 +++++++++++------
locales/ro.mo | Bin 24283 -> 28376 bytes
locales/ro.po | 1112 ++++++++++-----
locales/ru.mo | Bin 51856 -> 76262 bytes
locales/ru.po | 1205 ++++++++++------
locales/sk.mo | Bin 40585 -> 57038 bytes
locales/sk.po | 1215 +++++++++++-----
locales/sl.mo | Bin 18083 -> 17271 bytes
locales/sl.po | 1073 ++++++++++----
locales/sq.mo | Bin 40128 -> 55937 bytes
locales/sq.po | 1876 +++++++++++++++----------
locales/sr.mo | Bin 45692 -> 73268 bytes
locales/sr.po | 1281 +++++++++++------
locales/sv.mo | Bin 39259 -> 57755 bytes
locales/sv.po | 1200 ++++++++++------
locales/ta.mo | Bin 18507 -> 17138 bytes
locales/ta.po | 1031 ++++++++++----
locales/tg.mo | Bin 39653 -> 69405 bytes
locales/tg.po | 1379 ++++++++++++------
locales/th.mo | Bin 18603 -> 21158 bytes
locales/th.po | 1083 ++++++++++----
locales/tr.mo | Bin 39757 -> 58589 bytes
locales/tr.po | 1200 ++++++++++------
locales/tt.mo | Bin 9995 -> 9157 bytes
locales/tt.po | 1039 ++++++++++----
locales/ug.mo | Bin 20990 -> 19907 bytes
locales/ug.po | 1056 ++++++++++----
locales/uk.mo | Bin 51091 -> 70527 bytes
locales/uk.po | 1204 +++++++++++-----
locales/ur.mo | Bin 12954 -> 12583 bytes
locales/ur.po | 1049 ++++++++++----
locales/uz.mo | Bin 40087 -> 54436 bytes
locales/uz.po | 1342 +++++++++++-------
locales/vi.mo | Bin 27729 -> 30843 bytes
locales/vi.po | 1107 ++++++++++-----
locales/wa.mo | Bin 9076 -> 8362 bytes
locales/wa.po | 1035 ++++++++++----
locales/zh_CN.mo | Bin 37048 -> 54332 bytes
locales/zh_CN.po | 1123 ++++++++++-----
locales/zh_TW.mo | Bin 37090 -> 54512 bytes
locales/zh_TW.po | 1099 ++++++++++-----
poedit.desktop | 2 +-
src/Makefile.am | 35 +-
src/Makefile.in | 150 +-
src/{tm => }/ThreadPool.h | 45 +-
src/cat_sorting.cpp | 15 +-
src/cat_sorting.h | 7 +-
src/catalog.cpp | 725 +++++++---
src/catalog.h | 125 +-
src/chooselang.cpp | 2 +-
src/{version.h => concurrency.cpp} | 63 +-
src/concurrency.h | 238 ++++
src/crowdin_client.cpp | 367 +++++
src/crowdin_client.h | 137 ++
src/crowdin_gui.cpp | 622 ++++++++
src/crowdin_gui.h | 109 ++
src/customcontrols.cpp | 94 +-
src/customcontrols.h | 57 +-
src/digger.cpp | 23 +-
src/digger.h | 11 +-
src/edapp.cpp | 309 +++-
src/edapp.h | 13 +
src/edframe.cpp | 1355 +++++++++++-------
src/edframe.h | 81 +-
src/edlistctrl.cpp | 149 +-
src/edlistctrl.h | 17 +-
src/export_html.cpp | 511 ++++---
src/fileviewer.cpp | 117 +-
src/fileviewer.h | 38 +-
src/findframe.cpp | 567 +++++---
src/findframe.h | 51 +-
src/hidpi.h | 4 +-
src/http_client.cpp | 101 ++
src/http_client.h | 243 ++++
src/http_client_casablanca.cpp | 350 +++++
src/icuhelpers.h | 89 --
src/keychain/keytar.h | 42 +
src/keychain/keytar_posix.cc | 111 ++
src/language.cpp | 73 +-
src/language.h | 13 +
src/logcapture.h | 2 +-
src/main_toolbar.h | 2 +
src/manager.cpp | 2 +-
src/prefsdlg.cpp | 125 +-
src/progressinfo.cpp | 4 +-
src/progressinfo.h | 2 +-
src/propertiesdlg.cpp | 468 +++++-
src/propertiesdlg.h | 18 +-
src/resources/find.xrc | 120 --
src/resources/manager.xrc | 1 +
src/resources/menus.xrc | 39 +-
src/resources/prefs.xrc | 4 +
src/resources/properties.xrc | 10 +-
src/resources/toolbar.xrc | 4 +-
src/sidebar.cpp | 59 +-
src/sidebar.h | 28 +-
src/spellchecking.cpp | 8 +-
src/str_helpers.h | 211 +++
src/syntaxhighlighter.cpp | 3 +-
src/text_control.cpp | 313 ++++-
src/text_control.h | 62 +-
src/tm/suggestions.cpp | 41 +-
src/tm/suggestions.h | 14 +-
src/tm/tm_migrate.cpp | 9 +-
src/tm/transmem.cpp | 186 ++-
src/tm/transmem.h | 48 +-
src/utility.cpp | 75 +-
src/utility.h | 140 +-
src/version.h | 4 +-
src/welcomescreen.cpp | 17 +-
src/wx/main_toolbar.cpp | 22 +-
src/wx_backports/activityindicator.h | 56 +
src/wx_backports/gtk_activityindicator.h | 60 +
src/wx_backports/wx_gtk_activityindicator.cpp | 163 +++
246 files changed, 46877 insertions(+), 17828 deletions(-)
create mode 100644 artwork/CrowdinLogo.png
create mode 100644 artwork/linux/poedit-sync.png
create mode 100644 locales/fy_NL.mo
copy locales/{af.po => fy_NL.po} (75%)
rename src/{tm => }/ThreadPool.h (73%)
mode change 100755 => 100644
copy src/{version.h => concurrency.cpp} (51%)
create mode 100644 src/concurrency.h
create mode 100644 src/crowdin_client.cpp
create mode 100644 src/crowdin_client.h
create mode 100644 src/crowdin_gui.cpp
create mode 100644 src/crowdin_gui.h
create mode 100644 src/http_client.cpp
create mode 100644 src/http_client.h
create mode 100644 src/http_client_casablanca.cpp
delete mode 100644 src/icuhelpers.h
create mode 100644 src/keychain/keytar.h
create mode 100644 src/keychain/keytar_posix.cc
delete mode 100644 src/resources/find.xrc
create mode 100644 src/str_helpers.h
create mode 100644 src/wx_backports/activityindicator.h
create mode 100644 src/wx_backports/gtk_activityindicator.h
create mode 100644 src/wx_backports/wx_gtk_activityindicator.cpp
diff --git a/Makefile.in b/Makefile.in
index 0605edd..047910e 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -147,7 +147,6 @@ distcleancheck_listfiles = find . -type f -print
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-APPCAST_SUFFIX = @APPCAST_SUFFIX@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -155,7 +154,9 @@ AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
+CLD2_LIBS = @CLD2_LIBS@
CPPFLAGS = @CPPFLAGS@
+CPPREST_LIBS = @CPPREST_LIBS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
@@ -167,9 +168,11 @@ DEPDIR = @DEPDIR@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
+EGREP = @EGREP@
EXEEXT = @EXEEXT@
EXPAT_CFLAGS = @EXPAT_CFLAGS@
EXPAT_LIBS = @EXPAT_LIBS@
+GREP = @GREP@
GTKSPELL_CFLAGS = @GTKSPELL_CFLAGS@
GTKSPELL_LIBS = @GTKSPELL_LIBS@
HAVE_CXX11 = @HAVE_CXX11@
@@ -183,6 +186,8 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
+LIBSECRET_CFLAGS = @LIBSECRET_CFLAGS@
+LIBSECRET_LIBS = @LIBSECRET_LIBS@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LUCENE_CFLAGS = @LUCENE_CFLAGS@
diff --git a/NEWS b/NEWS
index ae4a540..fb19e06 100644
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,19 @@
+Version 1.8
+-----------
+
+- integration with the Crowdin localization management platform
+- search & replace
+- support for directly handling POT files
+- improved interface for configuring source code paths
+- Poedit now automatically fixes certain broken files produced by certain
+ broken tools (e.g. WPML)
+- modernized HTML export
+- [OS X] Quick Look preview
+- support for non-English source languages (auto-detected)
+- [Windows] opening multiple Poedit windows now works correctly
+
+
Version 1.7.7
-------------
diff --git a/README b/README
index 9694b82..a355763 100644
--- a/README
+++ b/README
@@ -32,10 +32,14 @@ Requirements:
* Unicode build of wxWidgets library, version >= 3.0 (see http://www.wxwidgets.org)
* ICU
* LucenePlusPlus
- * expat
- * Berkeley DB >= 4.7 if you need legacy (pre-1.6) translation memory
* If on Unix, GtkSpell for spell checking support
+Optional dependencies:
+
+ * cld2 (better language autodetection and non-English source languages)
+ * Expat and Berkeley DB >= 4.7 (legacy translation memory migration)
+ * C++REST SDK >= 2.5 (Crowdin integration)
+
Unix
------
diff --git a/admin/ax_cxx_compile_stdcxx_11.m4 b/admin/ax_cxx_compile_stdcxx_11.m4
index 163a4c6..a9a8f58 100644
--- a/admin/ax_cxx_compile_stdcxx_11.m4
+++ b/admin/ax_cxx_compile_stdcxx_11.m4
@@ -27,14 +27,14 @@
# Copyright (c) 2008 Benjamin Kosnik <bkoz at redhat.com>
# Copyright (c) 2012 Zack Weinberg <zackw at panix.com>
# Copyright (c) 2013 Roy Stogner <roystgnr at ices.utexas.edu>
-# Copyright (c) 2014 Alexey Sokolov <sokolov at google.com>
+# Copyright (c) 2014, 2015 Google Inc.; contributed by Alexey Sokolov <sokolov at google.com>
#
# 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.
-#serial 4
+#serial 10
m4_define([_AX_CXX_COMPILE_STDCXX_11_testbody], [[
template <typename T>
@@ -61,6 +61,29 @@ m4_define([_AX_CXX_COMPILE_STDCXX_11_testbody], [[
auto d = a;
auto l = [](){};
+ // Prevent Clang error: unused variable 'l' [-Werror,-Wunused-variable]
+ struct use_l { use_l() { l(); } };
+
+ // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae
+ // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function because of this
+ namespace test_template_alias_sfinae {
+ struct foo {};
+
+ template<typename T>
+ using member = typename T::member_type;
+
+ template<typename T>
+ void func(...) {}
+
+ template<typename T>
+ void func(member<T>*) {}
+
+ void test();
+
+ void test() {
+ func<foo>(0);
+ }
+ }
]])
AC_DEFUN([AX_CXX_COMPILE_STDCXX_11], [dnl
diff --git a/artwork/CrowdinLogo.png b/artwork/CrowdinLogo.png
new file mode 100644
index 0000000..70cb86c
Binary files /dev/null and b/artwork/CrowdinLogo.png differ
diff --git a/artwork/Makefile.am b/artwork/Makefile.am
index 6c14174..b833b3e 100644
--- a/artwork/Makefile.am
+++ b/artwork/Makefile.am
@@ -38,6 +38,7 @@ dist_uiicons_DATA = \
linux/edit-delete.png \
linux/poedit-fuzzy.png \
linux/poedit-update.png \
+ linux/poedit-sync.png \
linux/poedit-validate.png \
linux/sidebar.png \
poedit-status-automatic.png \
@@ -50,7 +51,8 @@ dist_uiicons_DATA = \
window-close.png \
SuggestionError.png \
SuggestionTM.png \
- PoeditWelcome.png
+ PoeditWelcome.png \
+ CrowdinLogo.png
MIMETYPES = \
diff --git a/artwork/Makefile.in b/artwork/Makefile.in
index f0abcc9..9da1188 100644
--- a/artwork/Makefile.in
+++ b/artwork/Makefile.in
@@ -107,7 +107,6 @@ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-APPCAST_SUFFIX = @APPCAST_SUFFIX@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -115,7 +114,9 @@ AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
+CLD2_LIBS = @CLD2_LIBS@
CPPFLAGS = @CPPFLAGS@
+CPPREST_LIBS = @CPPREST_LIBS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
@@ -127,9 +128,11 @@ DEPDIR = @DEPDIR@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
+EGREP = @EGREP@
EXEEXT = @EXEEXT@
EXPAT_CFLAGS = @EXPAT_CFLAGS@
EXPAT_LIBS = @EXPAT_LIBS@
+GREP = @GREP@
GTKSPELL_CFLAGS = @GTKSPELL_CFLAGS@
GTKSPELL_LIBS = @GTKSPELL_LIBS@
HAVE_CXX11 = @HAVE_CXX11@
@@ -143,6 +146,8 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
+LIBSECRET_CFLAGS = @LIBSECRET_CFLAGS@
+LIBSECRET_LIBS = @LIBSECRET_LIBS@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LUCENE_CFLAGS = @LUCENE_CFLAGS@
@@ -269,6 +274,7 @@ dist_uiicons_DATA = \
linux/edit-delete.png \
linux/poedit-fuzzy.png \
linux/poedit-update.png \
+ linux/poedit-sync.png \
linux/poedit-validate.png \
linux/sidebar.png \
poedit-status-automatic.png \
@@ -281,7 +287,8 @@ dist_uiicons_DATA = \
window-close.png \
SuggestionError.png \
SuggestionTM.png \
- PoeditWelcome.png
+ PoeditWelcome.png \
+ CrowdinLogo.png
MIMETYPES = \
text-x-gettext-translation \
diff --git a/artwork/linux/poedit-sync.png b/artwork/linux/poedit-sync.png
new file mode 100644
index 0000000..49bb3ae
Binary files /dev/null and b/artwork/linux/poedit-sync.png differ
diff --git a/configure b/configure
index 4f44446..b8aa8af 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for poedit 1.7.7.
+# Generated by GNU Autoconf 2.68 for poedit 1.8.
#
# Report bugs to <help at poedit.net>.
#
@@ -560,31 +560,66 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='poedit'
PACKAGE_TARNAME='poedit'
-PACKAGE_VERSION='1.7.7'
-PACKAGE_STRING='poedit 1.7.7'
+PACKAGE_VERSION='1.8'
+PACKAGE_STRING='poedit 1.8'
PACKAGE_BUGREPORT='help at poedit.net'
PACKAGE_URL=''
-ac_unique_file="README"
+ac_unique_file="poedit.desktop"
+# Factoring default headers for most tests.
+ac_includes_default="\
+#include <stdio.h>
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_STAT_H
+# include <sys/stat.h>
+#endif
+#ifdef STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#else
+# ifdef HAVE_STDLIB_H
+# include <stdlib.h>
+# endif
+#endif
+#ifdef HAVE_STRING_H
+# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
+# include <memory.h>
+# endif
+# include <string.h>
+#endif
+#ifdef HAVE_STRINGS_H
+# include <strings.h>
+#endif
+#ifdef HAVE_INTTYPES_H
+# include <inttypes.h>
+#endif
+#ifdef HAVE_STDINT_H
+# include <stdint.h>
+#endif
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif"
+
ac_subst_vars='am__EXEEXT_FALSE
am__EXEEXT_TRUE
LTLIBOBJS
LIBOBJS
WX_CONFIG_WITH_ARGS
SED
-APPCAST_SUFFIX
+CLD2_LIBS
+MIGRATE_LEGACY_TM_FALSE
+MIGRATE_LEGACY_TM_TRUE
EXPAT_LIBS
EXPAT_CFLAGS
+DB_LIBS
LUCENE_LIBS
LUCENE_CFLAGS
-DB_LIBS
GTKSPELL_LIBS
GTKSPELL_CFLAGS
ICU_LIBS
ICU_CFLAGS
-PKG_CONFIG_LIBDIR
-PKG_CONFIG_PATH
-PKG_CONFIG
WXRC
WX_VERSION_MICRO
WX_VERSION_MINOR
@@ -599,6 +634,16 @@ WX_CXXFLAGS
WX_CFLAGS
WX_CPPFLAGS
WX_CONFIG_PATH
+HAVE_CPPREST_FALSE
+HAVE_CPPREST_TRUE
+LIBSECRET_LIBS
+LIBSECRET_CFLAGS
+PKG_CONFIG_LIBDIR
+PKG_CONFIG_PATH
+PKG_CONFIG
+CPPREST_LIBS
+EGREP
+GREP
HAVE_CXX11
CXXCPP
am__fastdepCXX_FALSE
@@ -714,6 +759,9 @@ with_wx_prefix
with_wx_exec_prefix
enable_debug
enable_dependency_tracking
+with_cpprest
+enable_legacytm
+with_cld2
'
ac_precious_vars='build_alias
host_alias
@@ -727,10 +775,12 @@ CXX
CXXFLAGS
CCC
CXXCPP
-WXRC
PKG_CONFIG
PKG_CONFIG_PATH
PKG_CONFIG_LIBDIR
+LIBSECRET_CFLAGS
+LIBSECRET_LIBS
+WXRC
ICU_CFLAGS
ICU_LIBS
GTKSPELL_CFLAGS
@@ -1281,7 +1331,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures poedit 1.7.7 to adapt to many kinds of systems.
+\`configure' configures poedit 1.8 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1351,7 +1401,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of poedit 1.7.7:";;
+ short | recursive ) echo "Configuration of poedit 1.8:";;
esac
cat <<\_ACEOF
@@ -1366,6 +1416,7 @@ Optional Features:
--enable-debug Enable debug build
--disable-dependency-tracking speeds up one-time build
--enable-dependency-tracking do not reject slow dependency extractors
+ --disable-legacytm disable code to migrate pre-1.6 TM to the new format
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
@@ -1375,6 +1426,8 @@ Optional Packages:
--with-wx-prefix=PREFIX Prefix where wxWidgets is installed (optional)
--with-wx-exec-prefix=PREFIX
Exec prefix where wxWidgets is installed (optional)
+ --without-cpprest Ignore presence of C++ REST SDK and disable it
+ --without-cld2 Ignore presence of cld2 and disable it
Some influential environment variables:
CC C compiler command
@@ -1387,12 +1440,16 @@ Some influential environment variables:
CXX C++ compiler command
CXXFLAGS C++ compiler flags
CXXCPP C++ preprocessor
- WXRC Path to wxWidget's wxrc resource compiler
PKG_CONFIG path to pkg-config utility
PKG_CONFIG_PATH
directories to add to pkg-config's search path
PKG_CONFIG_LIBDIR
path overriding pkg-config's built-in search path
+ LIBSECRET_CFLAGS
+ C compiler flags for LIBSECRET, overriding pkg-config
+ LIBSECRET_LIBS
+ linker flags for LIBSECRET, overriding pkg-config
+ WXRC Path to wxWidget's wxrc resource compiler
ICU_CFLAGS C compiler flags for ICU, overriding pkg-config
ICU_LIBS linker flags for ICU, overriding pkg-config
GTKSPELL_CFLAGS
@@ -1472,7 +1529,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-poedit configure 1.7.7
+poedit configure 1.8
generated by GNU Autoconf 2.68
Copyright (C) 2010 Free Software Foundation, Inc.
@@ -1599,6 +1656,170 @@ fi
} # ac_fn_cxx_try_cpp
+# ac_fn_cxx_check_header_mongrel LINENO HEADER VAR INCLUDES
+# ---------------------------------------------------------
+# Tests whether HEADER exists, giving a warning if it cannot be compiled using
+# the include files in INCLUDES and setting the cache variable VAR
+# accordingly.
+ac_fn_cxx_check_header_mongrel ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ if eval \${$3+:} false; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+else
+ # Is the header compilable?
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
+$as_echo_n "checking $2 usability... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+#include <$2>
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ ac_header_compiler=yes
+else
+ ac_header_compiler=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
+$as_echo_n "checking $2 presence... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <$2>
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+ ac_header_preproc=yes
+else
+ ac_header_preproc=no
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in #((
+ yes:no: )
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+ ;;
+ no:yes:* )
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+( $as_echo "## ------------------------------ ##
+## Report this to help at poedit.net ##
+## ------------------------------ ##"
+ ) | sed "s/^/$as_me: WARNING: /" >&2
+ ;;
+esac
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ eval "$3=\$ac_header_compiler"
+fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+fi
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_cxx_check_header_mongrel
+
+# ac_fn_cxx_try_run LINENO
+# ------------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
+# that executables *can* be run.
+ac_fn_cxx_try_run ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ if { { ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
+ { { case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=$ac_status
+fi
+ rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_cxx_try_run
+
+# ac_fn_cxx_check_header_compile LINENO HEADER VAR INCLUDES
+# ---------------------------------------------------------
+# Tests whether HEADER exists and can be compiled using the include files in
+# INCLUDES, setting the cache variable VAR accordingly.
+ac_fn_cxx_check_header_compile ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+#include <$2>
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ eval "$3=yes"
+else
+ eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_cxx_check_header_compile
+
# ac_fn_cxx_try_link LINENO
# -------------------------
# Try to link conftest.$ac_ext, and return whether this succeeded.
@@ -1715,7 +1936,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by poedit $as_me 1.7.7, which was
+It was created by poedit $as_me 1.8, which was
generated by GNU Autoconf 2.68. Invocation command line was
$ $0 $@
@@ -2063,7 +2284,7 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
ac_compiler_gnu=$ac_cv_c_compiler_gnu
-PACKAGE_SHORT_VERSION=1.7.7
+PACKAGE_SHORT_VERSION=1.8
ac_aux_dir=
@@ -2607,7 +2828,7 @@ fi
# Define the identity of the package.
PACKAGE='poedit'
- VERSION='1.7.7'
+ VERSION='1.8'
cat >>confdefs.h <<_ACEOF
@@ -4464,6 +4685,29 @@ else
auto d = a;
auto l = [](){};
+ // Prevent Clang error: unused variable 'l' [-Werror,-Wunused-variable]
+ struct use_l { use_l() { l(); } };
+
+ // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae
+ // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function because of this
+ namespace test_template_alias_sfinae {
+ struct foo {};
+
+ template<typename T>
+ using member = typename T::member_type;
+
+ template<typename T>
+ void func(...) {}
+
+ template<typename T>
+ void func(member<T>*) {}
+
+ void test();
+
+ void test() {
+ func<foo>(0);
+ }
+ }
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"; then :
@@ -4516,6 +4760,29 @@ else
auto d = a;
auto l = [](){};
+ // Prevent Clang error: unused variable 'l' [-Werror,-Wunused-variable]
+ struct use_l { use_l() { l(); } };
+
+ // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae
+ // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function because of this
+ namespace test_template_alias_sfinae {
+ struct foo {};
+
+ template<typename T>
+ using member = typename T::member_type;
+
+ template<typename T>
+ void func(...) {}
+
+ template<typename T>
+ void func(member<T>*) {}
+
+ void test();
+
+ void test() {
+ func<foo>(0);
+ }
+ }
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"; then :
@@ -4574,6 +4841,29 @@ else
auto d = a;
auto l = [](){};
+ // Prevent Clang error: unused variable 'l' [-Werror,-Wunused-variable]
+ struct use_l { use_l() { l(); } };
+
+ // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae
+ // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function because of this
+ namespace test_template_alias_sfinae {
+ struct foo {};
+
+ template<typename T>
+ using member = typename T::member_type;
+
+ template<typename T>
+ void func(...) {}
+
+ template<typename T>
+ void func(member<T>*) {}
+
+ void test();
+
+ void test() {
+ func<foo>(0);
+ }
+ }
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"; then :
@@ -4620,6 +4910,7 @@ $as_echo "#define HAVE_CXX11 1" >>confdefs.h
fi
+WXLIBS_USED="xrc,stc,html,xml,adv,core,net"
case "$USE_DEBUG" in
yes) DEBUG_FLAGS="-g -Wall -O0"
@@ -4627,93 +4918,656 @@ yes) DEBUG_FLAGS="-g -Wall -O0"
esac
- if test x${WX_CONFIG_NAME+set} != xset ; then
- WX_CONFIG_NAME=wx-config
- fi
- if test "x$wx_config_name" != x ; then
- WX_CONFIG_NAME="$wx_config_name"
- fi
+# Check whether --with-cpprest was given.
+if test "${with_cpprest+set}" = set; then :
+ withval=$with_cpprest;
+fi
- if test x$wx_config_exec_prefix != x ; then
- wx_config_args="$wx_config_args --exec-prefix=$wx_config_exec_prefix"
- WX_LOOKUP_PATH="$wx_config_exec_prefix/bin"
- fi
- if test x$wx_config_prefix != x ; then
- wx_config_args="$wx_config_args --prefix=$wx_config_prefix"
- WX_LOOKUP_PATH="$WX_LOOKUP_PATH:$wx_config_prefix/bin"
- fi
- if test "$cross_compiling" = "yes"; then
- wx_config_args="$wx_config_args --host=$host_alias"
- fi
- if test -x "$WX_CONFIG_NAME" ; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wx-config" >&5
-$as_echo_n "checking for wx-config... " >&6; }
- WX_CONFIG_PATH="$WX_CONFIG_NAME"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $WX_CONFIG_PATH" >&5
-$as_echo "$WX_CONFIG_PATH" >&6; }
- else
- # Extract the first word of "$WX_CONFIG_NAME", so it can be a program name with args.
-set dummy $WX_CONFIG_NAME; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_WX_CONFIG_PATH+:} false; then :
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
+$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
+if ${ac_cv_path_GREP+:} false; then :
$as_echo_n "(cached) " >&6
else
- case $WX_CONFIG_PATH in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_WX_CONFIG_PATH="$WX_CONFIG_PATH" # Let the user override the test with a path.
- ;;
- *)
+ if test -z "$GREP"; then
+ ac_path_GREP_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_dummy=""$WX_LOOKUP_PATH:$PATH""
-for as_dir in $as_dummy
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
+ for ac_prog in grep ggrep; do
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_path_WX_CONFIG_PATH="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
+ ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+# Check for GNU ac_path_GREP and select it if it is found.
+ # Check for GNU $ac_path_GREP
+case `"$ac_path_GREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo 'GREP' >> "conftest.nl"
+ "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
+ if test $ac_count -gt ${ac_path_GREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_GREP="$ac_path_GREP"
+ ac_path_GREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
done
-IFS=$as_save_IFS
-
- test -z "$ac_cv_path_WX_CONFIG_PATH" && ac_cv_path_WX_CONFIG_PATH="no"
- ;;
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
esac
-fi
-WX_CONFIG_PATH=$ac_cv_path_WX_CONFIG_PATH
-if test -n "$WX_CONFIG_PATH"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $WX_CONFIG_PATH" >&5
-$as_echo "$WX_CONFIG_PATH" >&6; }
+
+ $ac_path_GREP_found && break 3
+ done
+ done
+ done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_GREP"; then
+ as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ fi
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ ac_cv_path_GREP=$GREP
fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
+$as_echo "$ac_cv_path_GREP" >&6; }
+ GREP="$ac_cv_path_GREP"
- fi
-
- if test "$WX_CONFIG_PATH" != "no" ; then
- WX_VERSION=""
- min_wx_version=3.0.0
- if test -z "--unicode" ; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wxWidgets version >= $min_wx_version" >&5
-$as_echo_n "checking for wxWidgets version >= $min_wx_version... " >&6; }
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wxWidgets version >= $min_wx_version (--unicode)" >&5
-$as_echo_n "checking for wxWidgets version >= $min_wx_version (--unicode)... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
+$as_echo_n "checking for egrep... " >&6; }
+if ${ac_cv_path_EGREP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
+ then ac_cv_path_EGREP="$GREP -E"
+ else
+ if test -z "$EGREP"; then
+ ac_path_EGREP_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in egrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+# Check for GNU ac_path_EGREP and select it if it is found.
+ # Check for GNU $ac_path_EGREP
+case `"$ac_path_EGREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo 'EGREP' >> "conftest.nl"
+ "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
+ if test $ac_count -gt ${ac_path_EGREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_EGREP="$ac_path_EGREP"
+ ac_path_EGREP_max=$ac_count
fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
- WX_CONFIG_WITH_ARGS="$WX_CONFIG_PATH $wx_config_args --unicode"
-
- WX_VERSION=`$WX_CONFIG_WITH_ARGS --version 2>/dev/null`
- wx_config_major_version=`echo $WX_VERSION | \
+ $ac_path_EGREP_found && break 3
+ done
+ done
+ done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_EGREP"; then
+ as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ fi
+else
+ ac_cv_path_EGREP=$EGREP
+fi
+
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
+$as_echo "$ac_cv_path_EGREP" >&6; }
+ EGREP="$ac_cv_path_EGREP"
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
+$as_echo_n "checking for ANSI C header files... " >&6; }
+if ${ac_cv_header_stdc+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ ac_cv_header_stdc=yes
+else
+ ac_cv_header_stdc=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+if test $ac_cv_header_stdc = yes; then
+ # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <string.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "memchr" >/dev/null 2>&1; then :
+
+else
+ ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdlib.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "free" >/dev/null 2>&1; then :
+
+else
+ ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+ if test "$cross_compiling" = yes; then :
+ :
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ctype.h>
+#include <stdlib.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) \
+ (('a' <= (c) && (c) <= 'i') \
+ || ('j' <= (c) && (c) <= 'r') \
+ || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
+
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+ int i;
+ for (i = 0; i < 256; i++)
+ if (XOR (islower (i), ISLOWER (i))
+ || toupper (i) != TOUPPER (i))
+ return 2;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_run "$LINENO"; then :
+
+else
+ ac_cv_header_stdc=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
+$as_echo "$ac_cv_header_stdc" >&6; }
+if test $ac_cv_header_stdc = yes; then
+
+$as_echo "#define STDC_HEADERS 1" >>confdefs.h
+
+fi
+
+# On IRIX 5.3, sys/types and inttypes.h are conflicting.
+for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
+ inttypes.h stdint.h unistd.h
+do :
+ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_cxx_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
+"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+if test "x$with_cpprest" != "xno"; then :
+
+ have_cpprest=no
+ old_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS $CXXFLAGS"
+ for ac_header in cpprest/http_client.h
+do :
+ ac_fn_cxx_check_header_mongrel "$LINENO" "cpprest/http_client.h" "ac_cv_header_cpprest_http_client_h" "$ac_includes_default"
+if test "x$ac_cv_header_cpprest_http_client_h" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_CPPREST_HTTP_CLIENT_H 1
+_ACEOF
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libcpprest >= 2.5" >&5
+$as_echo_n "checking for libcpprest >= 2.5... " >&6; }
+ old_LIBS="$LIBS"
+ LIBS="-lcpprest $LIBS"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ #include <cpprest/version.h>
+ #include <cpprest/http_client.h>
+
+int
+main ()
+{
+
+ #if CPPREST_VERSION < 200500
+ #error "cpprest >= 2.5 required"
+ #endif
+ web::http::client::http_client c(U("http://poedit.net"));
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+ have_cpprest=yes
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LIBS="$old_LIBS"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_cpprest" >&5
+$as_echo "$have_cpprest" >&6; }
+
+fi
+
+done
+
+ CPPFLAGS="$old_CPPFLAGS"
+
+else
+ have_cpprest=no
+fi
+
+
+
+
+
+
+
+
+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
+set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_PKG_CONFIG+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $PKG_CONFIG in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+PKG_CONFIG=$ac_cv_path_PKG_CONFIG
+if test -n "$PKG_CONFIG"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
+$as_echo "$PKG_CONFIG" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_path_PKG_CONFIG"; then
+ ac_pt_PKG_CONFIG=$PKG_CONFIG
+ # Extract the first word of "pkg-config", so it can be a program name with args.
+set dummy pkg-config; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $ac_pt_PKG_CONFIG in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
+if test -n "$ac_pt_PKG_CONFIG"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5
+$as_echo "$ac_pt_PKG_CONFIG" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_pt_PKG_CONFIG" = x; then
+ PKG_CONFIG=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ PKG_CONFIG=$ac_pt_PKG_CONFIG
+ fi
+else
+ PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
+fi
+
+fi
+if test -n "$PKG_CONFIG"; then
+ _pkg_min_version=0.9.0
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5
+$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; }
+ if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ PKG_CONFIG=""
+ fi
+fi
+if test "x$have_cpprest" = "xyes"; then :
+
+ $as_echo "#define HAVE_HTTP_CLIENT 1" >>confdefs.h
+
+ CPPREST_LIBS="-lcpprest"
+ WXLIBS_USED="webview,$WXLIBS_USED"
+
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBSECRET" >&5
+$as_echo_n "checking for LIBSECRET... " >&6; }
+
+if test -n "$LIBSECRET_CFLAGS"; then
+ pkg_cv_LIBSECRET_CFLAGS="$LIBSECRET_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsecret-1\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "libsecret-1") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_LIBSECRET_CFLAGS=`$PKG_CONFIG --cflags "libsecret-1" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
+else
+ pkg_failed=yes
+fi
+ else
+ pkg_failed=untried
+fi
+if test -n "$LIBSECRET_LIBS"; then
+ pkg_cv_LIBSECRET_LIBS="$LIBSECRET_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsecret-1\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "libsecret-1") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_LIBSECRET_LIBS=`$PKG_CONFIG --libs "libsecret-1" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
+else
+ pkg_failed=yes
+fi
+ else
+ pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
+else
+ _pkg_short_errors_supported=no
+fi
+ if test $_pkg_short_errors_supported = yes; then
+ LIBSECRET_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libsecret-1" 2>&1`
+ else
+ LIBSECRET_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libsecret-1" 2>&1`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$LIBSECRET_PKG_ERRORS" >&5
+
+ as_fn_error $? "Package requirements (libsecret-1) were not met:
+
+$LIBSECRET_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+Alternatively, you may set the environment variables LIBSECRET_CFLAGS
+and LIBSECRET_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details." "$LINENO" 5
+elif test $pkg_failed = untried; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+Alternatively, you may set the environment variables LIBSECRET_CFLAGS
+and LIBSECRET_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+See \`config.log' for more details" "$LINENO" 5; }
+else
+ LIBSECRET_CFLAGS=$pkg_cv_LIBSECRET_CFLAGS
+ LIBSECRET_LIBS=$pkg_cv_LIBSECRET_LIBS
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+ CXXFLAGS="$CXXFLAGS $LIBSECRET_CFLAGS"
+
+
+fi
+
+else
+
+ if test "x$with_cpprest" = "xyes"; then :
+ as_fn_error $? "C++ REST SDK requested but not found" "$LINENO" 5
+fi
+
+fi
+ if test "x$have_cpprest" != "xno"; then
+ HAVE_CPPREST_TRUE=
+ HAVE_CPPREST_FALSE='#'
+else
+ HAVE_CPPREST_TRUE='#'
+ HAVE_CPPREST_FALSE=
+fi
+
+
+
+
+
+ if test x${WX_CONFIG_NAME+set} != xset ; then
+ WX_CONFIG_NAME=wx-config
+ fi
+
+ if test "x$wx_config_name" != x ; then
+ WX_CONFIG_NAME="$wx_config_name"
+ fi
+
+ if test x$wx_config_exec_prefix != x ; then
+ wx_config_args="$wx_config_args --exec-prefix=$wx_config_exec_prefix"
+ WX_LOOKUP_PATH="$wx_config_exec_prefix/bin"
+ fi
+ if test x$wx_config_prefix != x ; then
+ wx_config_args="$wx_config_args --prefix=$wx_config_prefix"
+ WX_LOOKUP_PATH="$WX_LOOKUP_PATH:$wx_config_prefix/bin"
+ fi
+ if test "$cross_compiling" = "yes"; then
+ wx_config_args="$wx_config_args --host=$host_alias"
+ fi
+
+ if test -x "$WX_CONFIG_NAME" ; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wx-config" >&5
+$as_echo_n "checking for wx-config... " >&6; }
+ WX_CONFIG_PATH="$WX_CONFIG_NAME"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $WX_CONFIG_PATH" >&5
+$as_echo "$WX_CONFIG_PATH" >&6; }
+ else
+ # Extract the first word of "$WX_CONFIG_NAME", so it can be a program name with args.
+set dummy $WX_CONFIG_NAME; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_WX_CONFIG_PATH+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $WX_CONFIG_PATH in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_WX_CONFIG_PATH="$WX_CONFIG_PATH" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_dummy=""$WX_LOOKUP_PATH:$PATH""
+for as_dir in $as_dummy
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_WX_CONFIG_PATH="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ test -z "$ac_cv_path_WX_CONFIG_PATH" && ac_cv_path_WX_CONFIG_PATH="no"
+ ;;
+esac
+fi
+WX_CONFIG_PATH=$ac_cv_path_WX_CONFIG_PATH
+if test -n "$WX_CONFIG_PATH"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $WX_CONFIG_PATH" >&5
+$as_echo "$WX_CONFIG_PATH" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ fi
+
+ if test "$WX_CONFIG_PATH" != "no" ; then
+ WX_VERSION=""
+
+ min_wx_version=3.0.0
+ if test -z "--unicode" ; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wxWidgets version >= $min_wx_version" >&5
+$as_echo_n "checking for wxWidgets version >= $min_wx_version... " >&6; }
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wxWidgets version >= $min_wx_version (--unicode)" >&5
+$as_echo_n "checking for wxWidgets version >= $min_wx_version (--unicode)... " >&6; }
+ fi
+
+ WX_CONFIG_WITH_ARGS="$WX_CONFIG_PATH $wx_config_args --unicode"
+
+ WX_VERSION=`$WX_CONFIG_WITH_ARGS --version 2>/dev/null`
+ wx_config_major_version=`echo $WX_VERSION | \
sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\1/'`
wx_config_minor_version=`echo $WX_VERSION | \
sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\2/'`
@@ -4751,11 +5605,11 @@ $as_echo_n "checking for wxWidgets version >= $min_wx_version (--unicode)... " >
if test -n "$wx_ver_ok"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes (version $WX_VERSION)" >&5
$as_echo "yes (version $WX_VERSION)" >&6; }
- WX_LIBS=`$WX_CONFIG_WITH_ARGS --libs xrc,stc,html,xml,adv,core`
+ WX_LIBS=`$WX_CONFIG_WITH_ARGS --libs $WXLIBS_USED`
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for wxWidgets static library" >&5
$as_echo_n "checking for wxWidgets static library... " >&6; }
- WX_LIBS_STATIC=`$WX_CONFIG_WITH_ARGS --static --libs xrc,stc,html,xml,adv,core 2>/dev/null`
+ WX_LIBS_STATIC=`$WX_CONFIG_WITH_ARGS --static --libs $WXLIBS_USED 2>/dev/null`
if test "x$WX_LIBS_STATIC" = "x"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
@@ -4798,16 +5652,16 @@ $as_echo "yes" >&6; }
fi
if test "x$wx_has_cppflags" = x ; then
- WX_CFLAGS=`$WX_CONFIG_WITH_ARGS --cflags xrc,stc,html,xml,adv,core`
+ WX_CFLAGS=`$WX_CONFIG_WITH_ARGS --cflags $WXLIBS_USED`
WX_CPPFLAGS=$WX_CFLAGS
WX_CXXFLAGS=$WX_CFLAGS
WX_CFLAGS_ONLY=$WX_CFLAGS
WX_CXXFLAGS_ONLY=$WX_CFLAGS
else
- WX_CPPFLAGS=`$WX_CONFIG_WITH_ARGS --cppflags xrc,stc,html,xml,adv,core`
- WX_CXXFLAGS=`$WX_CONFIG_WITH_ARGS --cxxflags xrc,stc,html,xml,adv,core`
- WX_CFLAGS=`$WX_CONFIG_WITH_ARGS --cflags xrc,stc,html,xml,adv,core`
+ WX_CPPFLAGS=`$WX_CONFIG_WITH_ARGS --cppflags $WXLIBS_USED`
+ WX_CXXFLAGS=`$WX_CONFIG_WITH_ARGS --cxxflags $WXLIBS_USED`
+ WX_CFLAGS=`$WX_CONFIG_WITH_ARGS --cflags $WXLIBS_USED`
WX_CFLAGS_ONLY=`echo $WX_CFLAGS | sed "s@^$WX_CPPFLAGS *@@"`
WX_CXXFLAGS_ONLY=`echo $WX_CXXFLAGS | sed "s@^$WX_CFLAGS *@@"`
@@ -4981,146 +5835,26 @@ $as_echo "not found" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $WXRC" >&5
$as_echo "$WXRC" >&6; }
:
- fi
-
-
- fi
-
-
-
-for ac_func in mkdtemp
-do :
- ac_fn_cxx_check_func "$LINENO" "mkdtemp" "ac_cv_func_mkdtemp"
-if test "x$ac_cv_func_mkdtemp" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_MKDTEMP 1
-_ACEOF
-
-fi
-done
-
-
-
-
-
-
-
-
-
-
-if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
-set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_PKG_CONFIG+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $PKG_CONFIG in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-fi
-PKG_CONFIG=$ac_cv_path_PKG_CONFIG
-if test -n "$PKG_CONFIG"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
-$as_echo "$PKG_CONFIG" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_path_PKG_CONFIG"; then
- ac_pt_PKG_CONFIG=$PKG_CONFIG
- # Extract the first word of "pkg-config", so it can be a program name with args.
-set dummy pkg-config; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $ac_pt_PKG_CONFIG in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-fi
-ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
-if test -n "$ac_pt_PKG_CONFIG"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5
-$as_echo "$ac_pt_PKG_CONFIG" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
+ fi
+
- if test "x$ac_pt_PKG_CONFIG" = x; then
- PKG_CONFIG=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- PKG_CONFIG=$ac_pt_PKG_CONFIG
fi
-else
- PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
-fi
+
+
+
+for ac_func in mkdtemp
+do :
+ ac_fn_cxx_check_func "$LINENO" "mkdtemp" "ac_cv_func_mkdtemp"
+if test "x$ac_cv_func_mkdtemp" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_MKDTEMP 1
+_ACEOF
fi
-if test -n "$PKG_CONFIG"; then
- _pkg_min_version=0.9.0
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5
-$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; }
- if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- PKG_CONFIG=""
- fi
-fi
+done
+
+
+
pkg_failed=no
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ICU" >&5
@@ -5249,7 +5983,7 @@ if ac_fn_cxx_try_compile "$LINENO"; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
- gtkspell_packages="gtkspell-2.0 gtk+-2.0"
+ gtkspell_packages="gtkspell-2.0 gtk+-2.0 >= 2.20"
else
@@ -5344,6 +6078,95 @@ fi
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for LUCENE" >&5
+$as_echo_n "checking for LUCENE... " >&6; }
+
+if test -n "$LUCENE_CFLAGS"; then
+ pkg_cv_LUCENE_CFLAGS="$LUCENE_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"liblucene++ >= 3.0.5\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "liblucene++ >= 3.0.5") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_LUCENE_CFLAGS=`$PKG_CONFIG --cflags "liblucene++ >= 3.0.5" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
+else
+ pkg_failed=yes
+fi
+ else
+ pkg_failed=untried
+fi
+if test -n "$LUCENE_LIBS"; then
+ pkg_cv_LUCENE_LIBS="$LUCENE_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"liblucene++ >= 3.0.5\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "liblucene++ >= 3.0.5") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_LUCENE_LIBS=`$PKG_CONFIG --libs "liblucene++ >= 3.0.5" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
+else
+ pkg_failed=yes
+fi
+ else
+ pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
+else
+ _pkg_short_errors_supported=no
+fi
+ if test $_pkg_short_errors_supported = yes; then
+ LUCENE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "liblucene++ >= 3.0.5" 2>&1`
+ else
+ LUCENE_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "liblucene++ >= 3.0.5" 2>&1`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$LUCENE_PKG_ERRORS" >&5
+
+
+ as_fn_error $? "missing Lucene++ library" "$LINENO" 5
+
+elif test $pkg_failed = untried; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+ as_fn_error $? "missing Lucene++ library" "$LINENO" 5
+
+else
+ LUCENE_CFLAGS=$pkg_cv_LUCENE_CFLAGS
+ LUCENE_LIBS=$pkg_cv_LUCENE_LIBS
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+ CXXFLAGS="$CXXFLAGS $LUCENE_CFLAGS"
+
+
+fi
+
+
+# Check whether --enable-legacytm was given.
+if test "${enable_legacytm+set}" = set; then :
+ enableval=$enable_legacytm;
+fi
+
+
+if test "x$enable_legacytm" != "xno"; then :
+
+ enable_legacytm=yes
+
old_LIBS="$LIBS"
minversion=4.7
@@ -5441,7 +6264,7 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
$as_echo "not found" >&6; }
- as_fn_error $? "cannot find required Berkeley DB >= 4.7" "$LINENO" 5
+ as_fn_error $? "cannot find required Berkeley DB >= 4.7 (req. for legacy TM)" "$LINENO" 5
else
@@ -5451,7 +6274,7 @@ _ACEOF
- cat >>confdefs.h <<_ACEOF
+ cat >>confdefs.h <<_ACEOF
#define DB_HEADER "$DB_HEADER"
_ACEOF
@@ -5462,19 +6285,19 @@ _ACEOF
pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for LUCENE" >&5
-$as_echo_n "checking for LUCENE... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for EXPAT" >&5
+$as_echo_n "checking for EXPAT... " >&6; }
-if test -n "$LUCENE_CFLAGS"; then
- pkg_cv_LUCENE_CFLAGS="$LUCENE_CFLAGS"
+if test -n "$EXPAT_CFLAGS"; then
+ pkg_cv_EXPAT_CFLAGS="$EXPAT_CFLAGS"
elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"liblucene++ >= 3.0.5\""; } >&5
- ($PKG_CONFIG --exists --print-errors "liblucene++ >= 3.0.5") 2>&5
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"expat\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "expat") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
- pkg_cv_LUCENE_CFLAGS=`$PKG_CONFIG --cflags "liblucene++ >= 3.0.5" 2>/dev/null`
+ pkg_cv_EXPAT_CFLAGS=`$PKG_CONFIG --cflags "expat" 2>/dev/null`
test "x$?" != "x0" && pkg_failed=yes
else
pkg_failed=yes
@@ -5482,16 +6305,16 @@ fi
else
pkg_failed=untried
fi
-if test -n "$LUCENE_LIBS"; then
- pkg_cv_LUCENE_LIBS="$LUCENE_LIBS"
+if test -n "$EXPAT_LIBS"; then
+ pkg_cv_EXPAT_LIBS="$EXPAT_LIBS"
elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"liblucene++ >= 3.0.5\""; } >&5
- ($PKG_CONFIG --exists --print-errors "liblucene++ >= 3.0.5") 2>&5
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"expat\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "expat") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
- pkg_cv_LUCENE_LIBS=`$PKG_CONFIG --libs "liblucene++ >= 3.0.5" 2>/dev/null`
+ pkg_cv_EXPAT_LIBS=`$PKG_CONFIG --libs "expat" 2>/dev/null`
test "x$?" != "x0" && pkg_failed=yes
else
pkg_failed=yes
@@ -5512,120 +6335,123 @@ else
_pkg_short_errors_supported=no
fi
if test $_pkg_short_errors_supported = yes; then
- LUCENE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "liblucene++ >= 3.0.5" 2>&1`
+ EXPAT_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "expat" 2>&1`
else
- LUCENE_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "liblucene++ >= 3.0.5" 2>&1`
+ EXPAT_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "expat" 2>&1`
fi
# Put the nasty error message in config.log where it belongs
- echo "$LUCENE_PKG_ERRORS" >&5
+ echo "$EXPAT_PKG_ERRORS" >&5
- as_fn_error $? "missing Lucene++ library" "$LINENO" 5
+ as_fn_error $? "missing Expat library (req. for legacy TM)" "$LINENO" 5
elif test $pkg_failed = untried; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
- as_fn_error $? "missing Lucene++ library" "$LINENO" 5
+ as_fn_error $? "missing Expat library (req. for legacy TM)" "$LINENO" 5
else
- LUCENE_CFLAGS=$pkg_cv_LUCENE_CFLAGS
- LUCENE_LIBS=$pkg_cv_LUCENE_LIBS
+ EXPAT_CFLAGS=$pkg_cv_EXPAT_CFLAGS
+ EXPAT_LIBS=$pkg_cv_EXPAT_LIBS
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
- CXXFLAGS="$CXXFLAGS $LUCENE_CFLAGS"
+ CXXFLAGS="$CXXFLAGS $EXPAT_CFLAGS"
fi
+else
+
+ $as_echo "#define DONT_MIGRATE_LEGACY_TM 1" >>confdefs.h
-pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for EXPAT" >&5
-$as_echo_n "checking for EXPAT... " >&6; }
-if test -n "$EXPAT_CFLAGS"; then
- pkg_cv_EXPAT_CFLAGS="$EXPAT_CFLAGS"
- elif test -n "$PKG_CONFIG"; then
- if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"expat\""; } >&5
- ($PKG_CONFIG --exists --print-errors "expat") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- pkg_cv_EXPAT_CFLAGS=`$PKG_CONFIG --cflags "expat" 2>/dev/null`
- test "x$?" != "x0" && pkg_failed=yes
-else
- pkg_failed=yes
-fi
- else
- pkg_failed=untried
fi
-if test -n "$EXPAT_LIBS"; then
- pkg_cv_EXPAT_LIBS="$EXPAT_LIBS"
- elif test -n "$PKG_CONFIG"; then
- if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"expat\""; } >&5
- ($PKG_CONFIG --exists --print-errors "expat") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- pkg_cv_EXPAT_LIBS=`$PKG_CONFIG --libs "expat" 2>/dev/null`
- test "x$?" != "x0" && pkg_failed=yes
+
+ if test "x$enable_legacytm" != "xno"; then
+ MIGRATE_LEGACY_TM_TRUE=
+ MIGRATE_LEGACY_TM_FALSE='#'
else
- pkg_failed=yes
+ MIGRATE_LEGACY_TM_TRUE='#'
+ MIGRATE_LEGACY_TM_FALSE=
fi
- else
- pkg_failed=untried
+
+
+
+# Check whether --with-cld2 was given.
+if test "${with_cld2+set}" = set; then :
+ withval=$with_cld2;
fi
+if test "x$with_cld2" != "xno"; then :
-if test $pkg_failed = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ have_cld2=no
+ for ac_header in cld2/public/compact_lang_det.h
+do :
+ ac_fn_cxx_check_header_mongrel "$LINENO" "cld2/public/compact_lang_det.h" "ac_cv_header_cld2_public_compact_lang_det_h" "$ac_includes_default"
+if test "x$ac_cv_header_cld2_public_compact_lang_det_h" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_CLD2_PUBLIC_COMPACT_LANG_DET_H 1
+_ACEOF
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
- _pkg_short_errors_supported=yes
-else
- _pkg_short_errors_supported=no
-fi
- if test $_pkg_short_errors_supported = yes; then
- EXPAT_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "expat" 2>&1`
- else
- EXPAT_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "expat" 2>&1`
- fi
- # Put the nasty error message in config.log where it belongs
- echo "$EXPAT_PKG_ERRORS" >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libcld2" >&5
+$as_echo_n "checking for libcld2... " >&6; }
+ old_LIBS="$LIBS"
+ LIBS="-lcld2 $LIBS"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ #include <stdio.h>
+ #include <cld2/public/compact_lang_det.h>
+
+int
+main ()
+{
+ CLD2::isDataDynamic();
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+ have_cld2=yes
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LIBS="$old_LIBS"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_cld2" >&5
+$as_echo "$have_cld2" >&6; }
- as_fn_error $? "missing Expat library" "$LINENO" 5
+fi
-elif test $pkg_failed = untried; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+done
- as_fn_error $? "missing Expat library" "$LINENO" 5
else
- EXPAT_CFLAGS=$pkg_cv_EXPAT_CFLAGS
- EXPAT_LIBS=$pkg_cv_EXPAT_LIBS
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+ have_cld2=no
+fi
- CXXFLAGS="$CXXFLAGS $EXPAT_CFLAGS"
+if test "x$have_cld2" = "xyes"; then :
+ $as_echo "#define HAVE_CLD2 1" >>confdefs.h
-fi
+ CLD2_LIBS="-lcld2"
+
+
+else
+ if test "x$with_cld2" = "xyes"; then :
+ as_fn_error $? "cld2 requested but not found" "$LINENO" 5
+fi
-APPCAST_SUFFIX=""
-if echo "$VERSION" | grep -q '\(beta\|rc\)' ; then
- APPCAST_SUFFIX="/beta"
fi
+
if test "x$GXX" == "xyes"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
$as_echo_n "checking for a sed that does not truncate output... " >&6; }
@@ -6028,6 +6854,14 @@ if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
as_fn_error $? "conditional \"am__fastdepCXX\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
+if test -z "${HAVE_CPPREST_TRUE}" && test -z "${HAVE_CPPREST_FALSE}"; then
+ as_fn_error $? "conditional \"HAVE_CPPREST\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${MIGRATE_LEGACY_TM_TRUE}" && test -z "${MIGRATE_LEGACY_TM_FALSE}"; then
+ as_fn_error $? "conditional \"MIGRATE_LEGACY_TM\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
: "${CONFIG_STATUS=./config.status}"
ac_write_fail=0
@@ -6437,7 +7271,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by poedit $as_me 1.7.7, which was
+This file was extended by poedit $as_me 1.8, which was
generated by GNU Autoconf 2.68. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -6494,7 +7328,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-poedit config.status 1.7.7
+poedit config.status 1.8
configured by $0, generated by GNU Autoconf 2.68,
with options \\"\$ac_cs_config\\"
@@ -7184,5 +8018,10 @@ fi
echo "
Configured $PACKAGE-$VERSION for $host
- Debug build: $USE_DEBUG
+Enabled features:
+
+ * debug build: $USE_DEBUG
+ * legacy (pre-1.6) TM migration: $enable_legacytm
+ * language detection: $have_cld2
+ * crowdin integration: $have_cpprest
"
diff --git a/configure.ac b/configure.ac
index 24dad63..29c0fdc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2,12 +2,12 @@ dnl Process this file with autoconf to produce a configure script.
AC_PREREQ(2.59)
-AC_INIT([poedit], [1.7.7], [help at poedit.net])
-PACKAGE_SHORT_VERSION=1.7.7
+AC_INIT([poedit], [1.8], [help at poedit.net])
+PACKAGE_SHORT_VERSION=1.8
AC_SUBST(PACKAGE_SHORT_VERSION)
AC_CONFIG_AUX_DIR([admin])
-AC_CONFIG_SRCDIR([README])
+AC_CONFIG_SRCDIR([poedit.desktop])
AC_CANONICAL_BUILD
AC_CANONICAL_HOST
@@ -49,15 +49,70 @@ AC_PROG_CXXCPP
AC_LANG([C++])
AX_CXX_COMPILE_STDCXX_11([], [mandatory])
+WXLIBS_USED="xrc,stc,html,xml,adv,core,net"
case "$USE_DEBUG" in
yes) DEBUG_FLAGS="-g -Wall -O0"
;;
esac
-WX_CONFIG_CHECK([3.0.0],
- [WXFOUND=1], [WXFOUND=0],
- [xrc,stc,html,xml,adv,core], [--unicode])
+
+dnl Check for C++REST SDK used for online features
+AC_ARG_WITH([cpprest],
+ AS_HELP_STRING([--without-cpprest], [Ignore presence of C++ REST SDK and disable it]))
+
+AS_IF([test "x$with_cpprest" != "xno"],
+ [
+ have_cpprest=no
+ dnl C++11 check above modified CXXFLAGS, but AC_CHECK_HEADERS needs
+ dnl it for this header too and it uses only the preprocessor in one
+ dnl of its two phases:
+ old_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS $CXXFLAGS"
+ AC_CHECK_HEADERS([cpprest/http_client.h],
+ [
+ AC_MSG_CHECKING([for libcpprest >= 2.5])
+ old_LIBS="$LIBS"
+ LIBS="-lcpprest $LIBS"
+ AC_LINK_IFELSE([AC_LANG_PROGRAM(
+ [
+ #include <cpprest/version.h>
+ #include <cpprest/http_client.h>
+ ],
+ [
+ #if CPPREST_VERSION < 200500
+ #error "cpprest >= 2.5 required"
+ #endif
+ web::http::client::http_client c(U("http://poedit.net"));
+ ])],
+ [have_cpprest=yes])
+ LIBS="$old_LIBS"
+ AC_MSG_RESULT([$have_cpprest])
+ ])
+ CPPFLAGS="$old_CPPFLAGS"
+ ],
+ [have_cpprest=no])
+
+AS_IF([test "x$have_cpprest" = "xyes"],
+ [
+ AC_DEFINE([HAVE_HTTP_CLIENT])
+ CPPREST_LIBS="-lcpprest"
+ WXLIBS_USED="webview,$WXLIBS_USED"
+ AC_SUBST(CPPREST_LIBS)
+ PKG_CHECK_MODULES([LIBSECRET], [libsecret-1], [
+ CXXFLAGS="$CXXFLAGS $LIBSECRET_CFLAGS"
+ AC_SUBST(LIBSECRET_LIBS)
+ ])
+ ],
+ [
+ AS_IF([test "x$with_cpprest" = "xyes"],
+ [AC_MSG_ERROR([C++ REST SDK requested but not found])])
+ ])
+AM_CONDITIONAL([HAVE_CPPREST], [test "x$have_cpprest" != "xno"])
+
+
+
+WX_CONFIG_CHECK([3.0.0], [WXFOUND=1], [WXFOUND=0], [$WXLIBS_USED], [--unicode])
if test "$WXFOUND" != 1; then
AC_MSG_ERROR([
@@ -131,7 +186,7 @@ AC_TRY_COMPILE([#include <wx/defs.h>],
],
[
AC_MSG_RESULT([yes])
- gtkspell_packages="gtkspell-2.0 gtk+-2.0"
+ gtkspell_packages="gtkspell-2.0 gtk+-2.0 >= 2.20"
],
[
AC_MSG_RESULT([no])
@@ -149,15 +204,6 @@ PKG_CHECK_MODULES([GTKSPELL], [$gtkspell_packages],
])
-AX_BERKELEY_DB_CXX(4.7,
-[
- AC_DEFINE_UNQUOTED(DB_HEADER, ["$DB_HEADER"])
- AC_SUBST(DB_LIBS)
-],
-[
- AC_MSG_ERROR([cannot find required Berkeley DB >= 4.7])
-])
-
PKG_CHECK_MODULES([LUCENE], [liblucene++ >= 3.0.5],
[
CXXFLAGS="$CXXFLAGS $LUCENE_CFLAGS"
@@ -167,21 +213,78 @@ PKG_CHECK_MODULES([LUCENE], [liblucene++ >= 3.0.5],
AC_MSG_ERROR([missing Lucene++ library])
])
-PKG_CHECK_MODULES([EXPAT], [expat],
+
+dnl Check for legacy TM support
+AC_ARG_ENABLE([legacytm],
+ AS_HELP_STRING([--disable-legacytm], [disable code to migrate pre-1.6 TM to the new format]))
+
+AS_IF([test "x$enable_legacytm" != "xno"],
+ [
+ enable_legacytm=yes
+ AX_BERKELEY_DB_CXX(4.7,
[
- CXXFLAGS="$CXXFLAGS $EXPAT_CFLAGS"
- AC_SUBST(EXPAT_LIBS)
+ AC_DEFINE_UNQUOTED(DB_HEADER, ["$DB_HEADER"])
+ AC_SUBST(DB_LIBS)
],
[
- AC_MSG_ERROR([missing Expat library])
+ AC_MSG_ERROR([cannot find required Berkeley DB >= 4.7 (req. for legacy TM)])
])
+ PKG_CHECK_MODULES([EXPAT], [expat],
+ [
+ CXXFLAGS="$CXXFLAGS $EXPAT_CFLAGS"
+ AC_SUBST(EXPAT_LIBS)
+ ],
+ [
+ AC_MSG_ERROR([missing Expat library (req. for legacy TM)])
+ ])
+ ],
+ [
+ AC_DEFINE(DONT_MIGRATE_LEGACY_TM)
+ ])
+
+AM_CONDITIONAL([MIGRATE_LEGACY_TM], [test "x$enable_legacytm" != "xno"])
+
+dnl Check for Compact Language Detector 2
+dnl (used for better language detection and for non-English source languages)
+AC_ARG_WITH([cld2],
+ AS_HELP_STRING([--without-cld2], [Ignore presence of cld2 and disable it]))
+
+AS_IF([test "x$with_cld2" != "xno"],
+ [
+ have_cld2=no
+ AC_CHECK_HEADERS([cld2/public/compact_lang_det.h],
+ [
+ AC_MSG_CHECKING([for libcld2])
+ old_LIBS="$LIBS"
+ LIBS="-lcld2 $LIBS"
+ AC_LINK_IFELSE([AC_LANG_PROGRAM(
+ [
+ #include <stdio.h>
+ #include <cld2/public/compact_lang_det.h>
+ ],
+ [
+ CLD2::isDataDynamic();
+ ])],
+ [have_cld2=yes])
+ LIBS="$old_LIBS"
+ AC_MSG_RESULT([$have_cld2])
+ ])
+ ],
+ [have_cld2=no])
+
+AS_IF([test "x$have_cld2" = "xyes"],
+ [
+ AC_DEFINE([HAVE_CLD2])
+ CLD2_LIBS="-lcld2"
+ AC_SUBST(CLD2_LIBS)
+ ],
+ [
+ AS_IF([test "x$with_cld2" = "xyes"],
+ [AC_MSG_ERROR([cld2 requested but not found])])
+ ])
+
-APPCAST_SUFFIX=""
-if echo "$VERSION" | grep -q '\(beta\|rc\)' ; then
- APPCAST_SUFFIX="/beta"
-fi
-AC_SUBST(APPCAST_SUFFIX)
if test "x$GXX" == "xyes"; then
@@ -212,5 +315,10 @@ AC_OUTPUT
echo "
Configured $PACKAGE-$VERSION for $host
- Debug build: $USE_DEBUG
+Enabled features:
+
+ * debug build: $USE_DEBUG
+ * legacy (pre-1.6) TM migration: $enable_legacytm
+ * language detection: $have_cld2
+ * crowdin integration: $have_cpprest
"
diff --git a/docs/Makefile.in b/docs/Makefile.in
index 19f9d13..e219132 100644
--- a/docs/Makefile.in
+++ b/docs/Makefile.in
@@ -89,7 +89,6 @@ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-APPCAST_SUFFIX = @APPCAST_SUFFIX@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -97,7 +96,9 @@ AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
+CLD2_LIBS = @CLD2_LIBS@
CPPFLAGS = @CPPFLAGS@
+CPPREST_LIBS = @CPPREST_LIBS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
@@ -109,9 +110,11 @@ DEPDIR = @DEPDIR@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
+EGREP = @EGREP@
EXEEXT = @EXEEXT@
EXPAT_CFLAGS = @EXPAT_CFLAGS@
EXPAT_LIBS = @EXPAT_LIBS@
+GREP = @GREP@
GTKSPELL_CFLAGS = @GTKSPELL_CFLAGS@
GTKSPELL_LIBS = @GTKSPELL_LIBS@
HAVE_CXX11 = @HAVE_CXX11@
@@ -125,6 +128,8 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
+LIBSECRET_CFLAGS = @LIBSECRET_CFLAGS@
+LIBSECRET_LIBS = @LIBSECRET_LIBS@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LUCENE_CFLAGS = @LUCENE_CFLAGS@
diff --git a/docs/poedit.1 b/docs/poedit.1
index ff77df7..da9f51b 100644
--- a/docs/poedit.1
+++ b/docs/poedit.1
@@ -2,12 +2,12 @@
.\" Title: poedit
.\" Author: Vaclav Slavik <vaclav at slavik.io>
.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
-.\" Date: 05/18/2015
+.\" Date: 05/19/2015
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
-.TH "POEDIT" "1" "05/18/2015" "\ \&" "\ \&"
+.TH "POEDIT" "1" "05/19/2015" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/locales/Makefile.am b/locales/Makefile.am
index ec0e818..05b20bb 100644
--- a/locales/Makefile.am
+++ b/locales/Makefile.am
@@ -1,5 +1,5 @@
-POEDIT_LINGUAS = af am an ar ast az be be at latin bg bn br bs ca ca at valencia ckb co cs da de el en_GB eo es et eu fa fi fr fur ga gl he hi hr hu id is it ja ka kk ko ku ky lt lv mk mn mr ms nb ne nl nn pa pl pt_BR pt_PT ro ru sk sl sq sr sv ta tg th tr tt ug uk ur uz vi wa zh_CN zh_TW
+POEDIT_LINGUAS = af am an ar ast az be be at latin bg bn br bs ca ca at valencia ckb co cs da de el en_GB eo es et eu fa fi fr fur fy_NL ga gl he hi hr hu id is it ja ka kk ko ku ky lt lv mk mn mr ms nb ne nl nn pa pl pt_BR pt_PT ro ru sk sl sq sr sv ta tg th tr tt ug uk ur uz vi wa zh_CN zh_TW
localedir = $(datadir)/locale
diff --git a/locales/Makefile.in b/locales/Makefile.in
index 22e1637..8c24efb 100644
--- a/locales/Makefile.in
+++ b/locales/Makefile.in
@@ -57,7 +57,6 @@ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-APPCAST_SUFFIX = @APPCAST_SUFFIX@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -65,7 +64,9 @@ AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
+CLD2_LIBS = @CLD2_LIBS@
CPPFLAGS = @CPPFLAGS@
+CPPREST_LIBS = @CPPREST_LIBS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
@@ -77,9 +78,11 @@ DEPDIR = @DEPDIR@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
+EGREP = @EGREP@
EXEEXT = @EXEEXT@
EXPAT_CFLAGS = @EXPAT_CFLAGS@
EXPAT_LIBS = @EXPAT_LIBS@
+GREP = @GREP@
GTKSPELL_CFLAGS = @GTKSPELL_CFLAGS@
GTKSPELL_LIBS = @GTKSPELL_LIBS@
HAVE_CXX11 = @HAVE_CXX11@
@@ -93,6 +96,8 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
+LIBSECRET_CFLAGS = @LIBSECRET_CFLAGS@
+LIBSECRET_LIBS = @LIBSECRET_LIBS@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LUCENE_CFLAGS = @LUCENE_CFLAGS@
@@ -185,7 +190,7 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-POEDIT_LINGUAS = af am an ar ast az be be at latin bg bn br bs ca ca at valencia ckb co cs da de el en_GB eo es et eu fa fi fr fur ga gl he hi hr hu id is it ja ka kk ko ku ky lt lv mk mn mr ms nb ne nl nn pa pl pt_BR pt_PT ro ru sk sl sq sr sv ta tg th tr tt ug uk ur uz vi wa zh_CN zh_TW
+POEDIT_LINGUAS = af am an ar ast az be be at latin bg bn br bs ca ca at valencia ckb co cs da de el en_GB eo es et eu fa fi fr fur fy_NL ga gl he hi hr hu id is it ja ka kk ko ku ky lt lv mk mn mr ms nb ne nl nn pa pl pt_BR pt_PT ro ru sk sl sq sr sv ta tg th tr tt ug uk ur uz vi wa zh_CN zh_TW
# ----------------------------------------------------------------------------
# Logic for catalogs updating follows
diff --git a/locales/af.mo b/locales/af.mo
index 92bc187..d563a1e 100644
Binary files a/locales/af.mo and b/locales/af.mo differ
diff --git a/locales/af.po b/locales/af.po
index 50af566..2725d36 100644
--- a/locales/af.po
+++ b/locales/af.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:33-0400\n"
+"POT-Creation-Date: 2015-05-13 18:47+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Afrikaans\n"
"Language: af_ZA\n"
@@ -86,6 +86,15 @@ msgstr ""
msgid "Error saving catalog"
msgstr "Fout met stoor van katalogus"
+msgid "PO Translation Files"
+msgstr ""
+
+msgid "POT Translation Templates"
+msgstr ""
+
+msgid "All Translation Files"
+msgstr ""
+
msgid "Merging differences..."
msgstr "Verskille word bygewerk..."
@@ -105,6 +114,83 @@ msgstr "Taalkeuse"
msgid "You must restart Poedit for this change to take effect."
msgstr "Herbegin Poedit vir hierdie verandering om 'n effek te hê."
+msgid "Downloading translations is disabled in this project."
+msgstr ""
+
+msgid "Not authorized, please sign in again."
+msgstr ""
+
+msgid "Sign in to Crowdin"
+msgstr ""
+
+msgid ""
+"Crowdin is an online localization management platform and collaborative "
+"translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+
+msgid "Sign In"
+msgstr ""
+
+msgid "Sign in"
+msgstr ""
+
+msgid "Sign Out"
+msgstr ""
+
+msgid "Sign out"
+msgstr ""
+
+msgid "Waiting for authentication…"
+msgstr ""
+
+msgid "Updating user information…"
+msgstr ""
+
+msgid "Signed in as:"
+msgstr ""
+
+msgid "Learn More About Crowdin"
+msgstr ""
+
+msgid "Learn more about Crowdin"
+msgstr ""
+
+msgid "Open Crowdin translation"
+msgstr ""
+
+msgid "Project:"
+msgstr ""
+
+msgid "Language:"
+msgstr "Taal: "
+
+msgid "File:"
+msgstr ""
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr ""
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr ""
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr ""
+
+msgid "Downloading latest translations…"
+msgstr ""
+
+msgid "Syncing with Crowdin"
+msgstr ""
+
+msgid "Syncing with Crowdin failed."
+msgstr ""
+
+msgid "Crowdin error"
+msgstr ""
+
+msgid "Uploading translations…"
+msgstr ""
+
msgid "&Copy"
msgstr ""
@@ -149,6 +235,9 @@ msgstr ""
msgid "don't delete temporary files (for debugging)"
msgstr ""
+msgid "handle a poedit:// URI"
+msgstr ""
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr ""
@@ -159,12 +248,6 @@ msgstr ""
msgid "Open catalog"
msgstr "Maak katalogus oop"
-msgid "All Files"
-msgstr ""
-
-msgid "PO Translation Files"
-msgstr ""
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "Lêer '%s' bestaan nie."
@@ -392,6 +475,17 @@ msgstr "Meervoud:"
msgid "Translation:"
msgstr ""
+msgid ""
+"POT files are only templates and don’t contain any translations themselves.\n"
+"To make a translation, create a new PO file based on the template."
+msgstr ""
+
+msgid "Create New Translation"
+msgstr ""
+
+msgid "Create new translation"
+msgstr ""
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
@@ -439,9 +533,6 @@ msgstr ""
msgid "Open catalog template"
msgstr "Maak sjabloon oop"
-msgid "POT Translation Templates"
-msgstr ""
-
msgid "Updating catalog"
msgstr ""
@@ -510,16 +601,18 @@ msgstr[1] ""
msgid "The translation is ready for use."
msgstr ""
-msgid "No references to this string found."
-msgstr "Geen verwysings na hierdie string gevind nie."
-
-msgid "Please choose the reference you want to show:"
-msgstr "Kies asb. die verwysing wat gewys moet word:"
+msgid "Context:"
+msgstr ""
-msgid "References"
-msgstr "Verwysings "
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr ""
-msgid "Context:"
+msgid ""
+"The file contained duplicate items, which is not allowed in PO files and "
+"would prevent the file from being used. Poedit fixed the issue, but you "
+"should review translations of any items marked as fuzzy and correct them if "
+"necessary."
msgstr ""
msgid "Language of the translation isn't set."
@@ -531,6 +624,21 @@ msgstr ""
msgid "Set language"
msgstr ""
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid ""
+"Suggestions are not available if the translation language is not set "
+"correctly. Other features, such as plural forms, may be affected as well."
+msgstr ""
+
+msgid "Language of the translation is the same as source language."
+msgstr ""
+
+msgid "Fix Language"
+msgstr ""
+
+msgid "Fix language"
+msgstr ""
+
msgid ""
"This catalog has entries with plural forms, but doesn't have Plural-Forms "
"header configured."
@@ -561,6 +669,7 @@ msgstr ""
msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr ""
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr ""
@@ -582,6 +691,12 @@ msgid_plural "%d errors"
msgstr[0] ""
msgstr[1] ""
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] ""
+msgstr[1] ""
+
msgid " (unsaved)"
msgstr ""
@@ -695,6 +810,9 @@ msgstr ""
msgid "Form %i"
msgstr ""
+msgid "Singular"
+msgstr ""
+
msgid "Zero"
msgstr ""
@@ -704,6 +822,9 @@ msgstr ""
msgid "Two"
msgstr ""
+msgid "Plural"
+msgstr ""
+
msgid "Other"
msgstr ""
@@ -732,6 +853,12 @@ msgstr ""
msgid "Show Sidebar"
msgstr ""
+msgid "Hide Status Bar"
+msgstr ""
+
+msgid "Show Status Bar"
+msgstr ""
+
msgid "Source text"
msgstr ""
@@ -741,6 +868,10 @@ msgstr "Vertaling"
msgid "ID"
msgstr ""
+#, c-format
+msgid "Source text — %s"
+msgstr ""
+
msgid "unknown language"
msgstr ""
@@ -751,57 +882,73 @@ msgstr ""
msgid "Error:"
msgstr ""
-msgid "Project info"
-msgstr "Projekinligting"
+msgid "Source file"
+msgstr "Bronlêer"
-msgid "Project name and version:"
-msgstr "Projeknaam en weergawe:"
+msgid "Source file occurrence:"
+msgstr ""
-msgid "Language:"
-msgstr "Taal: "
+msgid "Open in Editor"
+msgstr ""
-msgid "Team:"
-msgstr "Span:"
+msgid "Open in editor"
+msgstr ""
-msgid "Team's email address:"
-msgstr "Span se e-pos adres:"
+msgid "No references for the selected item."
+msgstr ""
-msgid "Charset:"
-msgstr "Karakterstel:"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "Fout met oopmaak van lêer %s!"
-msgid "Source"
+msgid "Find"
msgstr ""
-msgid "Notes"
-msgstr "Notas"
+msgid "Replace"
+msgstr ""
-msgid "Automatic translation"
-msgstr "Outomatiese vertaling"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr ""
-msgid "Fuzzy translation"
-msgstr "Wasige vertaling"
+msgid "Ignore case"
+msgstr ""
-msgid "Notes for translators:"
+msgid "Wrap around"
msgstr ""
-msgid "Comment:"
-msgstr "Kommentaar:"
+msgid "Whole words only"
+msgstr "Slegs heel woorde"
-msgid "Source file"
-msgstr "Bronlêer"
+msgid "Find in source texts"
+msgstr ""
-msgid "Source file occurrence:"
+msgid "Find in translations"
msgstr ""
-msgid "Open in Editor"
+msgid "Find in comments"
+msgstr "Vind in kommentaar"
+
+msgid "Close"
msgstr ""
-msgid "Open in editor"
+msgid "Replace All"
msgstr ""
-#, c-format
-msgid "Error opening file %s!"
-msgstr "Fout met oopmaak van lêer %s!"
+msgid "Replace all"
+msgstr ""
+
+msgid "< &Previous"
+msgstr ""
+
+msgid "&Next >"
+msgstr ""
+
+msgid "String to find"
+msgstr ""
+
+msgid "Replacement string"
+msgstr ""
#, c-format
msgid "Cannot execute program: %s"
@@ -995,9 +1142,19 @@ msgstr "Nuwe "
msgid "Edit"
msgstr "Redigeer"
+msgid "Delete extractor"
+msgstr ""
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr ""
+
msgid "Extractors"
msgstr ""
+msgid "Accounts"
+msgstr ""
+
msgid "Automatically check for updates"
msgstr ""
@@ -1036,7 +1193,34 @@ msgstr ""
msgid "Advanced"
msgstr ""
-msgid "Additional keywords"
+msgid ""
+"<big>Drag and Drop Folders Here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid ""
+"<big>Drag and drop folders here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid "Add Folders..."
+msgstr ""
+
+msgid "Add folders..."
+msgstr ""
+
+msgid "Add Files..."
+msgstr ""
+
+msgid "Add files..."
+msgstr ""
+
+msgid "Add Wildcard..."
+msgstr ""
+
+msgid "Add wildcard..."
msgstr ""
msgid "Paths"
@@ -1045,6 +1229,9 @@ msgstr "Paaie"
msgid "Excluded paths"
msgstr ""
+msgid "Additional keywords"
+msgstr ""
+
msgid "Name of the project the translation is for"
msgstr ""
@@ -1057,6 +1244,9 @@ msgstr ""
msgid "Please save the file first. This section cannot be edited until then."
msgstr ""
+msgid "Comment:"
+msgstr "Kommentaar:"
+
msgid "OK"
msgstr "OK "
@@ -1066,42 +1256,6 @@ msgstr ""
msgid "Clear the comment"
msgstr "Verwyder kommentaar"
-msgid "Find..."
-msgstr "Soek..."
-
-msgid "String to find:"
-msgstr "String om te vind:"
-
-msgid "Case sensitive"
-msgstr "Kas sensitief"
-
-msgid "Start from the first item"
-msgstr "Begin vanaf die eerste item"
-
-msgid "Whole words only"
-msgstr "Slegs heel woorde"
-
-msgid "Find in original strings"
-msgstr "Soek in oorspronklike stringe"
-
-msgid "Find in translations"
-msgstr ""
-
-msgid "Find in comments"
-msgstr "Vind in kommentaar"
-
-msgid "Find in automatic comments"
-msgstr "Vind in outomatiese kommentaar"
-
-msgid "Close"
-msgstr ""
-
-msgid "< &Previous"
-msgstr ""
-
-msgid "&Next >"
-msgstr ""
-
msgid "Create new translations project"
msgstr "Skep nuwe vertaalprojek"
@@ -1156,6 +1310,12 @@ msgstr ""
msgid "Open Recent"
msgstr ""
+msgid "Open from Crowdin..."
+msgstr ""
+
+msgid "Open From Crowdin..."
+msgstr ""
+
msgid "&Save"
msgstr "&Stoor"
@@ -1204,13 +1364,16 @@ msgstr ""
msgid "&Find..."
msgstr "&Soek..."
+msgid "Replace..."
+msgstr ""
+
msgid "Find next"
msgstr ""
msgid "Find previous"
msgstr ""
-msgid "Find"
+msgid "Find and Replace..."
msgstr ""
msgid "Find Next"
@@ -1252,6 +1415,12 @@ msgstr ""
msgid "&Group By Context"
msgstr ""
+msgid "Entries with errors first"
+msgstr ""
+
+msgid "Entries with Errors First"
+msgstr ""
+
msgid "&Untranslated entries first"
msgstr ""
@@ -1261,6 +1430,9 @@ msgstr ""
msgid "Show sidebar"
msgstr ""
+msgid "Show status bar"
+msgstr ""
+
msgid "C&atalog"
msgstr "K&atalogus"
@@ -1276,6 +1448,9 @@ msgstr "Werk by vanuit &POT-lêer..."
msgid "Update from &POT File..."
msgstr ""
+msgid "Sync with Crowdin"
+msgstr ""
+
msgid "Fill missing translations from &TM..."
msgstr ""
@@ -1400,6 +1575,9 @@ msgstr ""
msgid "Catalog properties"
msgstr ""
+msgid "Project name and version:"
+msgstr "Projeknaam en weergawe:"
+
msgid "Plural Forms:"
msgstr "Meervoudvorme:"
@@ -1412,6 +1590,15 @@ msgstr ""
msgid "Learn about plural forms"
msgstr ""
+msgid "Charset:"
+msgstr "Karakterstel:"
+
+msgid "Team:"
+msgstr "Span:"
+
+msgid "Team's email address:"
+msgstr "Span se e-pos adres:"
+
msgid "Translation properties"
msgstr ""
@@ -1482,7 +1669,7 @@ msgstr "Werk katalogus by - sinkroniseer met bronne"
msgid "Toggled if selected string has fuzzy translation"
msgstr "Dui aan of die gekose string 'n wasige vertaling het"
-msgid "Show or hide the sidebar."
+msgid "Show or hide the sidebar"
msgstr ""
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
@@ -1494,6 +1681,9 @@ msgid ""
"translation corresponds to."
msgstr ""
+msgid "Notes for translators:"
+msgstr ""
+
msgid "Add comment"
msgstr ""
@@ -1566,14 +1756,21 @@ msgstr ""
msgid "Open an existing PO file and edit the translation."
msgstr ""
-msgid "Create new translation"
-msgstr ""
-
msgid ""
"Take an existing PO file or POT template and create a new translation from "
"it."
msgstr ""
+msgid "Collaborate on a translation with Crowdin"
+msgstr ""
+
+msgid ""
+"Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+
+msgid "What is Crowdin?"
+msgstr ""
+
msgid "There are no translations. That’s unusual."
msgstr ""
@@ -1606,3 +1803,9 @@ msgstr ""
msgid "Configure source code extraction in Properties."
msgstr ""
+
+msgid "Sync"
+msgstr ""
+
+msgid "Synchronize the translation with Crowdin"
+msgstr ""
diff --git a/locales/am.mo b/locales/am.mo
index d3b8cce..cf61ac4 100644
Binary files a/locales/am.mo and b/locales/am.mo differ
diff --git a/locales/am.po b/locales/am.po
index 16e3e50..b1a3d8a 100644
--- a/locales/am.po
+++ b/locales/am.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:33-0400\n"
+"POT-Creation-Date: 2015-05-13 18:47+0200\n"
+"PO-Revision-Date: 2015-05-13 12:42-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Amharic\n"
"Language: am_ET\n"
@@ -82,6 +82,15 @@ msgstr ""
msgid "Error saving catalog"
msgstr "መዝገብን የማስቀመጥ ስህተት"
+msgid "PO Translation Files"
+msgstr ""
+
+msgid "POT Translation Templates"
+msgstr ""
+
+msgid "All Translation Files"
+msgstr ""
+
msgid "Merging differences..."
msgstr "ልዩነቶችን በመቀላቀል ላይ..."
@@ -101,6 +110,83 @@ msgstr "ቋንቋ መረጣ"
msgid "You must restart Poedit for this change to take effect."
msgstr "ለውጡ እንዲሠራ ፒኦኤዲትን እንደገና ማስነሳት አለብዎት።"
+msgid "Downloading translations is disabled in this project."
+msgstr ""
+
+msgid "Not authorized, please sign in again."
+msgstr ""
+
+msgid "Sign in to Crowdin"
+msgstr ""
+
+msgid ""
+"Crowdin is an online localization management platform and collaborative "
+"translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+
+msgid "Sign In"
+msgstr ""
+
+msgid "Sign in"
+msgstr ""
+
+msgid "Sign Out"
+msgstr ""
+
+msgid "Sign out"
+msgstr ""
+
+msgid "Waiting for authentication…"
+msgstr ""
+
+msgid "Updating user information…"
+msgstr ""
+
+msgid "Signed in as:"
+msgstr ""
+
+msgid "Learn More About Crowdin"
+msgstr ""
+
+msgid "Learn more about Crowdin"
+msgstr ""
+
+msgid "Open Crowdin translation"
+msgstr ""
+
+msgid "Project:"
+msgstr ""
+
+msgid "Language:"
+msgstr "ቋንቋ፤"
+
+msgid "File:"
+msgstr ""
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr ""
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr ""
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr ""
+
+msgid "Downloading latest translations…"
+msgstr ""
+
+msgid "Syncing with Crowdin"
+msgstr ""
+
+msgid "Syncing with Crowdin failed."
+msgstr ""
+
+msgid "Crowdin error"
+msgstr ""
+
+msgid "Uploading translations…"
+msgstr ""
+
msgid "&Copy"
msgstr ""
@@ -145,6 +231,9 @@ msgstr ""
msgid "don't delete temporary files (for debugging)"
msgstr ""
+msgid "handle a poedit:// URI"
+msgstr ""
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr ""
@@ -155,12 +244,6 @@ msgstr ""
msgid "Open catalog"
msgstr "መዝገብ ክፈት"
-msgid "All Files"
-msgstr ""
-
-msgid "PO Translation Files"
-msgstr ""
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "ፋይል %s የለም"
@@ -388,6 +471,17 @@ msgstr "ብዙ፦"
msgid "Translation:"
msgstr ""
+msgid ""
+"POT files are only templates and don’t contain any translations themselves.\n"
+"To make a translation, create a new PO file based on the template."
+msgstr ""
+
+msgid "Create New Translation"
+msgstr ""
+
+msgid "Create new translation"
+msgstr ""
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
@@ -435,9 +529,6 @@ msgstr ""
msgid "Open catalog template"
msgstr "የመዝገብ ቴምፕሌት ክፈት"
-msgid "POT Translation Templates"
-msgstr ""
-
msgid "Updating catalog"
msgstr ""
@@ -506,16 +597,18 @@ msgstr[1] ""
msgid "The translation is ready for use."
msgstr ""
-msgid "No references to this string found."
-msgstr "ለዚህ ሐረግ ምንም ተጠቃሽ-መረጃ አልተገኘም።"
-
-msgid "Please choose the reference you want to show:"
-msgstr "እባክዎ ለማሳየት የሚፈልጉትን ተጠቃሽ-መረጃ ይምረጡ:"
+msgid "Context:"
+msgstr ""
-msgid "References"
-msgstr "ተጠቃሽ-መረጃ"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr ""
-msgid "Context:"
+msgid ""
+"The file contained duplicate items, which is not allowed in PO files and "
+"would prevent the file from being used. Poedit fixed the issue, but you "
+"should review translations of any items marked as fuzzy and correct them if "
+"necessary."
msgstr ""
msgid "Language of the translation isn't set."
@@ -527,6 +620,21 @@ msgstr ""
msgid "Set language"
msgstr ""
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid ""
+"Suggestions are not available if the translation language is not set "
+"correctly. Other features, such as plural forms, may be affected as well."
+msgstr ""
+
+msgid "Language of the translation is the same as source language."
+msgstr ""
+
+msgid "Fix Language"
+msgstr ""
+
+msgid "Fix language"
+msgstr ""
+
msgid ""
"This catalog has entries with plural forms, but doesn't have Plural-Forms "
"header configured."
@@ -557,6 +665,7 @@ msgstr ""
msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr ""
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr ""
@@ -578,6 +687,12 @@ msgid_plural "%d errors"
msgstr[0] ""
msgstr[1] ""
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] ""
+msgstr[1] ""
+
msgid " (unsaved)"
msgstr ""
@@ -691,6 +806,9 @@ msgstr ""
msgid "Form %i"
msgstr "ቅጽ %i"
+msgid "Singular"
+msgstr ""
+
msgid "Zero"
msgstr ""
@@ -700,6 +818,9 @@ msgstr ""
msgid "Two"
msgstr ""
+msgid "Plural"
+msgstr ""
+
msgid "Other"
msgstr ""
@@ -728,6 +849,12 @@ msgstr ""
msgid "Show Sidebar"
msgstr ""
+msgid "Hide Status Bar"
+msgstr ""
+
+msgid "Show Status Bar"
+msgstr ""
+
msgid "Source text"
msgstr ""
@@ -737,6 +864,10 @@ msgstr "ትርጉም"
msgid "ID"
msgstr ""
+#, c-format
+msgid "Source text — %s"
+msgstr ""
+
msgid "unknown language"
msgstr ""
@@ -747,57 +878,73 @@ msgstr ""
msgid "Error:"
msgstr ""
-msgid "Project info"
-msgstr "የመርሃ-ግብር መረጃ"
+msgid "Source file"
+msgstr "የረቂቅ-ስልት ፋይል"
-msgid "Project name and version:"
-msgstr "የመርሃ-ግብሩ ስምና ዝርያ:"
+msgid "Source file occurrence:"
+msgstr ""
-msgid "Language:"
-msgstr "ቋንቋ፤"
+msgid "Open in Editor"
+msgstr ""
-msgid "Team:"
-msgstr "ቡድን:"
+msgid "Open in editor"
+msgstr ""
-msgid "Team's email address:"
-msgstr "የቡድኑ ኤ-መልዕክት አድራሻ፤"
+msgid "No references for the selected item."
+msgstr ""
-msgid "Charset:"
-msgstr "ፊደል-ኮድ፤"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "%s ፋይልን የመክፈት ስህተት"
-msgid "Source"
+msgid "Find"
msgstr ""
-msgid "Notes"
-msgstr "ማስታወሻዎች"
+msgid "Replace"
+msgstr ""
-msgid "Automatic translation"
-msgstr "ራስ-ገዝ ትርጉም"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr ""
-msgid "Fuzzy translation"
-msgstr "ጅምር ትርጉም"
+msgid "Ignore case"
+msgstr ""
-msgid "Notes for translators:"
+msgid "Wrap around"
msgstr ""
-msgid "Comment:"
-msgstr "አስተያየት"
+msgid "Whole words only"
+msgstr "ሙሉ ቃላት ብቻ"
-msgid "Source file"
-msgstr "የረቂቅ-ስልት ፋይል"
+msgid "Find in source texts"
+msgstr ""
-msgid "Source file occurrence:"
+msgid "Find in translations"
msgstr ""
-msgid "Open in Editor"
+msgid "Find in comments"
+msgstr "አስተያየት ውስጥ አግኝ"
+
+msgid "Close"
msgstr ""
-msgid "Open in editor"
+msgid "Replace All"
msgstr ""
-#, c-format
-msgid "Error opening file %s!"
-msgstr "%s ፋይልን የመክፈት ስህተት"
+msgid "Replace all"
+msgstr ""
+
+msgid "< &Previous"
+msgstr ""
+
+msgid "&Next >"
+msgstr ""
+
+msgid "String to find"
+msgstr ""
+
+msgid "Replacement string"
+msgstr ""
#, c-format
msgid "Cannot execute program: %s"
@@ -989,9 +1136,19 @@ msgstr "አዲስ"
msgid "Edit"
msgstr "አርም"
+msgid "Delete extractor"
+msgstr ""
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr ""
+
msgid "Extractors"
msgstr ""
+msgid "Accounts"
+msgstr ""
+
msgid "Automatically check for updates"
msgstr ""
@@ -1030,7 +1187,34 @@ msgstr ""
msgid "Advanced"
msgstr ""
-msgid "Additional keywords"
+msgid ""
+"<big>Drag and Drop Folders Here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid ""
+"<big>Drag and drop folders here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid "Add Folders..."
+msgstr ""
+
+msgid "Add folders..."
+msgstr ""
+
+msgid "Add Files..."
+msgstr ""
+
+msgid "Add files..."
+msgstr ""
+
+msgid "Add Wildcard..."
+msgstr ""
+
+msgid "Add wildcard..."
msgstr ""
msgid "Paths"
@@ -1039,6 +1223,9 @@ msgstr "ዱካውች"
msgid "Excluded paths"
msgstr ""
+msgid "Additional keywords"
+msgstr ""
+
msgid "Name of the project the translation is for"
msgstr ""
@@ -1051,6 +1238,9 @@ msgstr ""
msgid "Please save the file first. This section cannot be edited until then."
msgstr ""
+msgid "Comment:"
+msgstr "አስተያየት"
+
msgid "OK"
msgstr "እሺ"
@@ -1060,42 +1250,6 @@ msgstr ""
msgid "Clear the comment"
msgstr "አስተያየቱን አጥፋ"
-msgid "Find..."
-msgstr "ፈልግ..."
-
-msgid "String to find:"
-msgstr "የሚፈለገው ሐረግ:"
-
-msgid "Case sensitive"
-msgstr "ካፒታልና ስሞል የእንግሊዘኛ ፊደሎች የተለያየ እሴት አላቸው"
-
-msgid "Start from the first item"
-msgstr "ከመጀመሪያው ዕቃ ጀምር"
-
-msgid "Whole words only"
-msgstr "ሙሉ ቃላት ብቻ"
-
-msgid "Find in original strings"
-msgstr "በምንጭ ሐረጎች ውስጥ ፈልግ"
-
-msgid "Find in translations"
-msgstr ""
-
-msgid "Find in comments"
-msgstr "አስተያየት ውስጥ አግኝ"
-
-msgid "Find in automatic comments"
-msgstr "ራስ-ገዝ አስተያየት ውስጥ አግኝ"
-
-msgid "Close"
-msgstr ""
-
-msgid "< &Previous"
-msgstr ""
-
-msgid "&Next >"
-msgstr ""
-
msgid "Create new translations project"
msgstr "አዲስ የትርጉም መርሃ-ግብር ጀምር "
@@ -1150,6 +1304,12 @@ msgstr "ክፈት... &O"
msgid "Open Recent"
msgstr ""
+msgid "Open from Crowdin..."
+msgstr ""
+
+msgid "Open From Crowdin..."
+msgstr ""
+
msgid "&Save"
msgstr "አስቀምጥ &S"
@@ -1198,13 +1358,16 @@ msgstr ""
msgid "&Find..."
msgstr "ፈልግ... &F"
+msgid "Replace..."
+msgstr ""
+
msgid "Find next"
msgstr ""
msgid "Find previous"
msgstr ""
-msgid "Find"
+msgid "Find and Replace..."
msgstr ""
msgid "Find Next"
@@ -1246,6 +1409,12 @@ msgstr ""
msgid "&Group By Context"
msgstr ""
+msgid "Entries with errors first"
+msgstr ""
+
+msgid "Entries with Errors First"
+msgstr ""
+
msgid "&Untranslated entries first"
msgstr ""
@@ -1255,6 +1424,9 @@ msgstr ""
msgid "Show sidebar"
msgstr ""
+msgid "Show status bar"
+msgstr ""
+
msgid "C&atalog"
msgstr "መዝገብ &a"
@@ -1270,6 +1442,9 @@ msgstr "ከ &POT ሰነድ አሻሽል"
msgid "Update from &POT File..."
msgstr ""
+msgid "Sync with Crowdin"
+msgstr ""
+
msgid "Fill missing translations from &TM..."
msgstr ""
@@ -1393,6 +1568,9 @@ msgstr ""
msgid "Catalog properties"
msgstr ""
+msgid "Project name and version:"
+msgstr "የመርሃ-ግብሩ ስምና ዝርያ:"
+
msgid "Plural Forms:"
msgstr "ብዙ-ቤት፦"
@@ -1405,6 +1583,15 @@ msgstr ""
msgid "Learn about plural forms"
msgstr ""
+msgid "Charset:"
+msgstr "ፊደል-ኮድ፤"
+
+msgid "Team:"
+msgstr "ቡድን:"
+
+msgid "Team's email address:"
+msgstr "የቡድኑ ኤ-መልዕክት አድራሻ፤"
+
msgid "Translation properties"
msgstr ""
@@ -1475,7 +1662,7 @@ msgstr "መዝገብ አሻሽል - ከምንጩ ጋር አመሳስል"
msgid "Toggled if selected string has fuzzy translation"
msgstr "የተመረጠው ሐረግ ጅምር-ትርጉም ከሆነ መቀየሪያው-ተነክቷል"
-msgid "Show or hide the sidebar."
+msgid "Show or hide the sidebar"
msgstr ""
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
@@ -1487,6 +1674,9 @@ msgid ""
"translation corresponds to."
msgstr ""
+msgid "Notes for translators:"
+msgstr ""
+
msgid "Add comment"
msgstr ""
@@ -1559,14 +1749,21 @@ msgstr ""
msgid "Open an existing PO file and edit the translation."
msgstr ""
-msgid "Create new translation"
-msgstr ""
-
msgid ""
"Take an existing PO file or POT template and create a new translation from "
"it."
msgstr ""
+msgid "Collaborate on a translation with Crowdin"
+msgstr ""
+
+msgid ""
+"Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+
+msgid "What is Crowdin?"
+msgstr ""
+
msgid "There are no translations. That’s unusual."
msgstr ""
@@ -1599,3 +1796,9 @@ msgstr ""
msgid "Configure source code extraction in Properties."
msgstr ""
+
+msgid "Sync"
+msgstr ""
+
+msgid "Synchronize the translation with Crowdin"
+msgstr ""
diff --git a/locales/an.mo b/locales/an.mo
index f9b893b..9087ae6 100644
Binary files a/locales/an.mo and b/locales/an.mo differ
diff --git a/locales/an.po b/locales/an.po
index 9a48836..4025682 100644
--- a/locales/an.po
+++ b/locales/an.po
@@ -2,11 +2,11 @@ msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:33-0400\n"
+"POT-Creation-Date: 2015-05-13 18:47+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Aragonese\n"
-"Language: an_AR\n"
+"Language: an_ES\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -94,15 +94,24 @@ msgstr ""
msgid "Error saving catalog"
msgstr "S'ha produciu una error en alzar o catalogo"
+msgid "PO Translation Files"
+msgstr "Fichers de traducción PO"
+
+msgid "POT Translation Templates"
+msgstr "Plantiellas de traducción POT"
+
+msgid "All Translation Files"
+msgstr "Totz os fichers de traducción"
+
msgid "Merging differences..."
-msgstr "Mezclando as diferencias..."
+msgstr "Se son mezclando as diferencias..."
#, c-format
msgid "'%s' is not a valid POT file."
msgstr "'%s' no ye un fichero POT valido."
msgid "(Use default language)"
-msgstr "(Fer servir luenga por defecto)"
+msgstr "(Fer servir a luenga por defecto)"
msgid "Select your preferred language"
msgstr "Seleccionar a luenga preferida"
@@ -113,6 +122,87 @@ msgstr "Selección de luenga"
msgid "You must restart Poedit for this change to take effect."
msgstr "Cal reenchegar o Poedit ta que os cambeos tiengan efecto."
+msgid "Downloading translations is disabled in this project."
+msgstr "A descarga de traduccions ye desactivada en iste prochecto."
+
+msgid "Not authorized, please sign in again."
+msgstr "No'n ye autorizau, encieta la sesión de nuevas."
+
+msgid "Sign in to Crowdin"
+msgstr "Encetar a sesión en o Crowdin."
+
+msgid ""
+"Crowdin is an online localization management platform and collaborative "
+"translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+"O Crowdin ye una plataforma de chestión de localizacions en linia y una "
+"ferramienta colaborativa de traducción. O Poedit puet sincronizar sin "
+"problema os fichers PO chestionaus en o Crowdin."
+
+msgid "Sign In"
+msgstr "Encetar a sesión"
+
+msgid "Sign in"
+msgstr "Encetar a sesión"
+
+msgid "Sign Out"
+msgstr "Zarrar a sesión"
+
+msgid "Sign out"
+msgstr "Zarrar a sesión"
+
+msgid "Waiting for authentication…"
+msgstr "Se ye asperando l'autenticación…"
+
+msgid "Updating user information…"
+msgstr "Se ye esviellando a información de l'usuario…"
+
+msgid "Signed in as:"
+msgstr "A sesión ye encetada como:"
+
+msgid "Learn More About Crowdin"
+msgstr "Aprender mas arredol d'o Crowdin"
+
+msgid "Learn more about Crowdin"
+msgstr "Aprender mas arredol d'o Crowdin"
+
+msgid "Open Crowdin translation"
+msgstr "Ubrir una traducción d'o Crowdin"
+
+msgid "Project:"
+msgstr "Prochecto:"
+
+msgid "Language:"
+msgstr "Luenga:"
+
+msgid "File:"
+msgstr "Fichero:"
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr ""
+"No bi ha prochectos de traducción listaus en a tuya cuenta d'o Crowdin."
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr "Iste prochecto no tien fichers que se puedan traducir en o Poedit."
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr "Iste fichero nomás puet editar-se en a interficie web d'o Crowdin."
+
+msgid "Downloading latest translations…"
+msgstr "Se son baixando as zagueras traduccions…"
+
+msgid "Syncing with Crowdin"
+msgstr "Se ye syncronizando con o Crowdin"
+
+msgid "Syncing with Crowdin failed."
+msgstr "A sincronización con o Crowdin ha fallau."
+
+msgid "Crowdin error"
+msgstr "S'ha produciu una error d'o Crowdin"
+
+msgid "Uploading translations…"
+msgstr "Se son puyando as traduccions…"
+
msgid "&Copy"
msgstr "&Copiar"
@@ -159,6 +249,9 @@ msgstr ""
msgid "don't delete temporary files (for debugging)"
msgstr "no eliminar os fichers temporals (ta trobar errors)"
+msgid "handle a poedit:// URI"
+msgstr "L'URI no ye valida"
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr "S'ha produciu una error no maniada: %s"
@@ -169,12 +262,6 @@ msgstr "S'ha produciu una error no maniada."
msgid "Open catalog"
msgstr "Ubrir un catalogo"
-msgid "All Files"
-msgstr "Totz os fichers"
-
-msgid "PO Translation Files"
-msgstr "Fichers de traducción PO"
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "O fichero '%s' no existe."
@@ -183,7 +270,7 @@ msgstr "O fichero '%s' no existe."
#. ("Poedit" here, but please use "%s")
#, c-format
msgid "About %s"
-msgstr "Sobre %s"
+msgstr "Arredol de %s"
#. TRANSLATORS: This is version information in about dialog, "%s" will be
#. version number when used
@@ -403,6 +490,20 @@ msgstr "Plural:"
msgid "Translation:"
msgstr "Traducción:"
+msgid ""
+"POT files are only templates and don’t contain any translations themselves.\n"
+"To make a translation, create a new PO file based on the template."
+msgstr ""
+"Os fichers POT no son que plantiellas y no contienen garra traducción en sí "
+"mesmas.\n"
+"Ta fer una traducción, creya un nuevo fichero PO basau en a plantiella."
+
+msgid "Create New Translation"
+msgstr "Creyar una nueva traducción"
+
+msgid "Create new translation"
+msgstr "Creyar una nueva traducción"
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
@@ -451,9 +552,6 @@ msgstr "Fichers HTML"
msgid "Open catalog template"
msgstr "Ubrir una plantilla de catalogo"
-msgid "POT Translation Templates"
-msgstr "Plantiellas de traducción POT"
-
msgid "Updating catalog"
msgstr "Se ye esviellando lo catalogo"
@@ -502,14 +600,14 @@ msgid ""
"The file was saved safely and compiled into the MO format, but it will "
"probably not work correctly."
msgstr ""
-"O fichero s'ha alzau de traza segura y s'ha compilau ta lo formato MO, pero "
-"probablement no marche correctament."
+"O fichero s'ha alzau de traza segura y s'ha compilau t'o formato MO pero "
+"prebablement no marche correctament."
msgid ""
"The file was saved safely, but it cannot be compiled into the MO format and "
"used."
msgstr ""
-"O fichero s'ha alzau, pero no puet compilar-se ta lo formato MO ni usar-se."
+"O fichero s'ha alzau pero no puet compilar-se t'o formato MO ni usar-se."
msgid ""
"The file was compiled into the MO format, but it will probably not work "
@@ -536,18 +634,25 @@ msgstr[1] ""
msgid "The translation is ready for use."
msgstr "A traducción ye presta pa usar-se."
-msgid "No references to this string found."
-msgstr "No se troban referencias a iste texto."
-
-msgid "Please choose the reference you want to show:"
-msgstr "Trigue a referencia que quiere amostrar:"
-
-msgid "References"
-msgstr "Referencias"
-
msgid "Context:"
msgstr "Contexto:"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr ""
+"O Poedit ha apanyau automaticament conteniu invalido en o fichero “%s”."
+
+msgid ""
+"The file contained duplicate items, which is not allowed in PO files and "
+"would prevent the file from being used. Poedit fixed the issue, but you "
+"should review translations of any items marked as fuzzy and correct them if "
+"necessary."
+msgstr ""
+"O fichero conteniba elementos duplicaus que no ye permitiu en os fichers PO "
+"y podría privar que o fichero estase emplegau. O Poedit ha apanyau o "
+"problema pero habrás de revisar as traduccions de qualques elementos marcaus "
+"como fuscos y correchir-los si ye necesario."
+
msgid "Language of the translation isn't set."
msgstr "No s'ha establiu un idioma d'atraducción."
@@ -557,6 +662,24 @@ msgstr "Establir l'idioma"
msgid "Set language"
msgstr "Establir l'idioma"
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid ""
+"Suggestions are not available if the translation language is not set "
+"correctly. Other features, such as plural forms, may be affected as well."
+msgstr ""
+"As sucherencias no son disponibles si l'idioma de traducción no ye "
+"correctament establiu. Atras caracteristicas, tals como as formas plurals, "
+"tamién pueden veyer-sen afectadas."
+
+msgid "Language of the translation is the same as source language."
+msgstr "L'idioma d'a traducción ye o mesmo que l'idioma d'orichen."
+
+msgid "Fix Language"
+msgstr "Apanyar l'idioma"
+
+msgid "Fix language"
+msgstr "Apanyar l'idioma"
+
msgid ""
"This catalog has entries with plural forms, but doesn't have Plural-Forms "
"header configured."
@@ -592,6 +715,7 @@ msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr ""
"A expresión de formas plurals que fa servir o catalogo ye insolita ta %s."
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr "Revisar"
@@ -614,6 +738,12 @@ msgid_plural "%d errors"
msgstr[0] "%d error"
msgstr[1] "%d errors"
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] "%d dentrada"
+msgstr[1] "%d dentradas"
+
msgid " (unsaved)"
msgstr " (sin alzar)"
@@ -742,6 +872,9 @@ msgstr "Tot"
msgid "Form %i"
msgstr "Forma %i"
+msgid "Singular"
+msgstr ""
+
msgid "Zero"
msgstr "Zero"
@@ -751,6 +884,9 @@ msgstr "Un"
msgid "Two"
msgstr "Dos"
+msgid "Plural"
+msgstr ""
+
msgid "Other"
msgstr "Unatro"
@@ -779,6 +915,12 @@ msgstr "Amagar a barra lateral"
msgid "Show Sidebar"
msgstr "Amostrar a barra lateral"
+msgid "Hide Status Bar"
+msgstr "Amagar a barra d'estau"
+
+msgid "Show Status Bar"
+msgstr "Amostrar a barra d'estau"
+
msgid "Source text"
msgstr "Texto fuent"
@@ -788,6 +930,10 @@ msgstr "Traducción"
msgid "ID"
msgstr "ID"
+#, c-format
+msgid "Source text — %s"
+msgstr "Texto d'orichen — %s"
+
msgid "unknown language"
msgstr "idioma desconoixiu"
@@ -798,57 +944,73 @@ msgstr "Traducción — %s"
msgid "Error:"
msgstr "Error:"
-msgid "Project info"
-msgstr "Información d'o prochecto"
+msgid "Source file"
+msgstr "Fichero fuent"
-msgid "Project name and version:"
-msgstr "Nombre d'o prochecto y versión:"
+msgid "Source file occurrence:"
+msgstr "Fichero fuent coincident:"
-msgid "Language:"
-msgstr "Luenga:"
+msgid "Open in Editor"
+msgstr "Ubrir-ne en l'editor"
-msgid "Team:"
-msgstr "Equipo:"
+msgid "Open in editor"
+msgstr "Ubrir-ne en l'editor"
-msgid "Team's email address:"
-msgstr "Adreza de correu electronico de l'equipo:"
+msgid "No references for the selected item."
+msgstr "No bi ha referencias t'o elemento seleccionau."
-msgid "Charset:"
-msgstr "Chuego de caracters:"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "S'ha produciu una error en ubrir o fichero %s!"
-msgid "Source"
-msgstr "Orichen"
+msgid "Find"
+msgstr "Mirar"
-msgid "Notes"
-msgstr "Notas"
+msgid "Replace"
+msgstr "Substituir"
-msgid "Automatic translation"
-msgstr "Traducción automatica"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr "Opcions"
-msgid "Fuzzy translation"
-msgstr "Traducción provisional"
+msgid "Ignore case"
+msgstr "Ignorar as mayusclas y as minusclas"
-msgid "Notes for translators:"
-msgstr "Notas ta os traductors:"
+msgid "Wrap around"
+msgstr "Embolicau arredol"
-msgid "Comment:"
-msgstr "Comentario:"
+msgid "Whole words only"
+msgstr "Nomás as parolas completas"
-msgid "Source file"
-msgstr "Fichero fuent"
+msgid "Find in source texts"
+msgstr "Mirar en o texto d'orichen"
-msgid "Source file occurrence:"
-msgstr "Fichero fuent coincident:"
+msgid "Find in translations"
+msgstr "Mirar en as traduccions"
-msgid "Open in Editor"
-msgstr "Ubrir-ne en l'editor"
+msgid "Find in comments"
+msgstr "Mirar en os comentarios"
-msgid "Open in editor"
-msgstr "Ubrir-ne en l'editor"
+msgid "Close"
+msgstr "Zarrar"
-#, c-format
-msgid "Error opening file %s!"
-msgstr "S'ha produciu una error en ubrir o fichero %s!"
+msgid "Replace All"
+msgstr "Substituir-lo tot"
+
+msgid "Replace all"
+msgstr "Substituir-lo tot"
+
+msgid "< &Previous"
+msgstr "< &Anterior"
+
+msgid "&Next >"
+msgstr "&Siguient >"
+
+msgid "String to find"
+msgstr "Cadena que mirar"
+
+msgid "Replacement string"
+msgstr "Cadena de substitución"
#, c-format
msgid "Cannot execute program: %s"
@@ -941,7 +1103,7 @@ msgid "Check spelling"
msgstr "Comprebar a ortografía"
msgid "Always change focus to text input field"
-msgstr "Pasar siempre o foco ta lo quadro de traducción"
+msgstr "Pasar siempre o foco t'o quadro de traducción"
msgid ""
"Never let the list of strings take focus. If enabled, you must use Ctrl-"
@@ -1055,9 +1217,19 @@ msgstr "Nuevo"
msgid "Edit"
msgstr "Editar"
+msgid "Delete extractor"
+msgstr "Borrar l'extractor"
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr "Yes seguro que quiers eliminar l'extractor “%s”?"
+
msgid "Extractors"
msgstr "Extractors"
+msgid "Accounts"
+msgstr "Cuentas"
+
msgid "Automatically check for updates"
msgstr "Comprebar as actualizacions automaticament"
@@ -1100,8 +1272,41 @@ msgstr "Conservar o formato d'os fichers existents"
msgid "Advanced"
msgstr "Avanzau"
-msgid "Additional keywords"
-msgstr "Parolas clau adicionals"
+msgid ""
+"<big>Drag and Drop Folders Here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+"<big>Arrocegar y soltar carpetas aquí</big>\n"
+"\n"
+"u fer servir o botón +"
+
+msgid ""
+"<big>Drag and drop folders here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+"<big>Arrocegar y soltar carpetas aquí</big>\n"
+"\n"
+"u fer servir o botón +"
+
+msgid "Add Folders..."
+msgstr "Adhibir carpetas"
+
+msgid "Add folders..."
+msgstr "Adhibir carpetas"
+
+msgid "Add Files..."
+msgstr "Adhibir Fichers..."
+
+msgid "Add files..."
+msgstr "Adhibir fichers..."
+
+msgid "Add Wildcard..."
+msgstr "Adhibir comodín"
+
+msgid "Add wildcard..."
+msgstr "Adhibir comodín"
msgid "Paths"
msgstr "Carpetas"
@@ -1109,6 +1314,9 @@ msgstr "Carpetas"
msgid "Excluded paths"
msgstr "Rotas excluidas"
+msgid "Additional keywords"
+msgstr "Parolas clau adicionals"
+
msgid "Name of the project the translation is for"
msgstr "Nombre d'o prochecto a traducción ye pa"
@@ -1123,6 +1331,9 @@ msgstr ""
"Por favor en primeras alza o fichero. Ista sección no se puet editar dica "
"que no se'n faiga."
+msgid "Comment:"
+msgstr "Comentario:"
+
msgid "OK"
msgstr "Acceptar"
@@ -1132,42 +1343,6 @@ msgstr "Esbo&rrar"
msgid "Clear the comment"
msgstr "Borrar o comentario"
-msgid "Find..."
-msgstr "Mirar..."
-
-msgid "String to find:"
-msgstr "Texto que mirar:"
-
-msgid "Case sensitive"
-msgstr "Coincidir as mayusclas y as minusclas"
-
-msgid "Start from the first item"
-msgstr "Empecipiar dende o primer elemento"
-
-msgid "Whole words only"
-msgstr "Nomás as parolas completas"
-
-msgid "Find in original strings"
-msgstr "Mirar en o texto orichinal"
-
-msgid "Find in translations"
-msgstr "Mirar en as traduccions"
-
-msgid "Find in comments"
-msgstr "Mirar en os comentarios"
-
-msgid "Find in automatic comments"
-msgstr "Mirar en os comentarios automaticos"
-
-msgid "Close"
-msgstr "Zarrar"
-
-msgid "< &Previous"
-msgstr "< &Anterior"
-
-msgid "&Next >"
-msgstr "&Siguient >"
-
msgid "Create new translations project"
msgstr "Creyar un nuevo prochecto de traducción"
@@ -1222,6 +1397,12 @@ msgstr "&Ubrir..."
msgid "Open Recent"
msgstr "Ubrir recient"
+msgid "Open from Crowdin..."
+msgstr "Ubrir dende o Crowdin…"
+
+msgid "Open From Crowdin..."
+msgstr "Ubrir dende o Crowdin…"
+
msgid "&Save"
msgstr "&Alzar"
@@ -1270,14 +1451,17 @@ msgstr "&Amostrar as referencias"
msgid "&Find..."
msgstr "&Mirar..."
+msgid "Replace..."
+msgstr "Substituir…"
+
msgid "Find next"
msgstr "Mirar o siguient"
msgid "Find previous"
msgstr "Mirar l'anterior"
-msgid "Find"
-msgstr "Mirar"
+msgid "Find and Replace..."
+msgstr "Mirar y substituir…"
msgid "Find Next"
msgstr "Mirar o siguient"
@@ -1318,6 +1502,12 @@ msgstr "A&grupar por o contexto"
msgid "&Group By Context"
msgstr "A&grupar por o contexto"
+msgid "Entries with errors first"
+msgstr "Dentradas con errors primer"
+
+msgid "Entries with Errors First"
+msgstr "Dentradas con errors primer"
+
msgid "&Untranslated entries first"
msgstr "&Dentradas sin traducir primer"
@@ -1327,6 +1517,9 @@ msgstr "&Dentradas sin traducir primer"
msgid "Show sidebar"
msgstr "Amostrar a barra lateral"
+msgid "Show status bar"
+msgstr "Amostrar a barra d'estau"
+
msgid "C&atalog"
msgstr "C&atalogo"
@@ -1342,6 +1535,9 @@ msgstr "Esviellar-lo dende un fichero &POT..."
msgid "Update from &POT File..."
msgstr "Esviellar-lo dende un fichero &POT..."
+msgid "Sync with Crowdin"
+msgstr "Sincronizar con o Crowdin"
+
msgid "Fill missing translations from &TM..."
msgstr "Replenar as traduccions que faltan con as TM..."
@@ -1470,6 +1666,9 @@ msgstr ""
msgid "Catalog properties"
msgstr "Propiedatz d'o catalogo"
+msgid "Project name and version:"
+msgstr "Nombre d'o prochecto y versión:"
+
msgid "Plural Forms:"
msgstr "Formas plurals:"
@@ -1482,6 +1681,15 @@ msgstr "Emplegar una expresión personalizada"
msgid "Learn about plural forms"
msgstr "Aprender arredol de formas plurals"
+msgid "Charset:"
+msgstr "Chuego de caracters:"
+
+msgid "Team:"
+msgstr "Equipo:"
+
+msgid "Team's email address:"
+msgstr "Adreza de correu electronico de l'equipo:"
+
msgid "Translation properties"
msgstr "Propiedatz de traducción"
@@ -1554,8 +1762,8 @@ msgstr "Esviellar o catalogo, sincronizar-lo con as fuents"
msgid "Toggled if selected string has fuzzy translation"
msgstr "Activau si o texto seleccionau ye traduciu provisionalment"
-msgid "Show or hide the sidebar."
-msgstr "Amostrar u amagar a barra lateral."
+msgid "Show or hide the sidebar"
+msgstr "Amostrar u amagar a barra lateral"
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
msgid "Previous source text:"
@@ -1568,6 +1776,9 @@ msgstr ""
"L'antigo texto fuent (antis que no cambiase entre l'actualización) a lo que "
"corresponde a traducción aproximada (provisional)."
+msgid "Notes for translators:"
+msgstr "Notas ta os traductors:"
+
msgid "Add comment"
msgstr "Adhibir un comentario"
@@ -1650,9 +1861,6 @@ msgstr "Editar una traducción"
msgid "Open an existing PO file and edit the translation."
msgstr "Ubrir un fichero PO existent y editar a suya traducción."
-msgid "Create new translation"
-msgstr "Creyar una nueva traducción"
-
msgid ""
"Take an existing PO file or POT template and create a new translation from "
"it."
@@ -1660,6 +1868,18 @@ msgstr ""
"Prener un fichero PO existent u una plantilla POT y creyar una nueva "
"traducción d'a mesma."
+msgid "Collaborate on a translation with Crowdin"
+msgstr "Colaborar en una traducción con o Crowdin"
+
+msgid ""
+"Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+"Baixa un fichero dende o Prochecto d'o Crowdin, traduz y syncroniza os tuyos "
+"cambeos de nuevas."
+
+msgid "What is Crowdin?"
+msgstr "Qué ye o Crowdin?"
+
msgid "There are no translations. That’s unusual."
msgstr "No bi ha garra traducción. Ixo ye insolito."
@@ -1699,3 +1919,9 @@ msgstr "Esviellar-lo dende as fuents"
msgid "Configure source code extraction in Properties."
msgstr "Configurar o codigo d'extracción de fuents en propiedatz."
+
+msgid "Sync"
+msgstr "Sincronizar"
+
+msgid "Synchronize the translation with Crowdin"
+msgstr "Sincronizar a traducción con o Crowdin"
diff --git a/locales/ar.mo b/locales/ar.mo
index c693d80..8ba642a 100644
Binary files a/locales/ar.mo and b/locales/ar.mo differ
diff --git a/locales/ar.po b/locales/ar.po
index 360a575..4386e64 100644
--- a/locales/ar.po
+++ b/locales/ar.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:33-0400\n"
+"POT-Creation-Date: 2015-05-13 18:47+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Arabic\n"
"Language: ar_SA\n"
@@ -90,7 +90,16 @@ msgstr ""
"حُفِظ الملف بترميز UTF-8 بدل ذلك وعُدِّل الإعداد وفقًا لذلك."
msgid "Error saving catalog"
-msgstr "خطأ عند حفظ الكتالوج"
+msgstr "خطأ عند حفظ الكتالوغ"
+
+msgid "PO Translation Files"
+msgstr "ملفّات PO ترجميّة"
+
+msgid "POT Translation Templates"
+msgstr "ملفّات POT قالبيّة"
+
+msgid "All Translation Files"
+msgstr "كل ملفات الترجمة"
msgid "Merging differences..."
msgstr "يدمج الاختلافات..."
@@ -111,6 +120,85 @@ msgstr "حدّد اللّغة"
msgid "You must restart Poedit for this change to take effect."
msgstr "عليك إعادة تشغيل محرِّر Po لتطبيق التغييرات."
+msgid "Downloading translations is disabled in this project."
+msgstr "تحميل الترجمات معطّل في هذا المشروع."
+
+msgid "Not authorized, please sign in again."
+msgstr "غير موثوق، رجاء أعد الدخول من جديد."
+
+msgid "Sign in to Crowdin"
+msgstr "سجّل الدخول في كرويدن"
+
+msgid ""
+"Crowdin is an online localization management platform and collaborative "
+"translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+"كرويدن منصة لتسيير التوطين عبر النت و أداة ترجمة تعاونية. يستطيع Poedit "
+"مزامنة ملفات po المُدارة في كرويدن بسهولة."
+
+msgid "Sign In"
+msgstr "لِج"
+
+msgid "Sign in"
+msgstr "لِج"
+
+msgid "Sign Out"
+msgstr "سجّل الخروج"
+
+msgid "Sign out"
+msgstr "سجّل الخروج"
+
+msgid "Waiting for authentication…"
+msgstr "انتظار المصادقة…"
+
+msgid "Updating user information…"
+msgstr "تحديث معلومات المستخدم…"
+
+msgid "Signed in as:"
+msgstr "سجّل الدخول باسم:"
+
+msgid "Learn More About Crowdin"
+msgstr "اقرأ المزيد عن كرويدن"
+
+msgid "Learn more about Crowdin"
+msgstr "اقرأ المزيد عن كرويدن"
+
+msgid "Open Crowdin translation"
+msgstr "افتح ترجمة كرويدن"
+
+msgid "Project:"
+msgstr "المشروع:"
+
+msgid "Language:"
+msgstr "اللّغة:"
+
+msgid "File:"
+msgstr "الملفّ:"
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr "لا مشاريع ترجمة مدرجة في حسابك في كرويدن."
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr "ليس في هذا المشروع ملفّات يمكن ترجمتها في مُحرِّر Po."
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr "هذا الملف يُمكن أن يحرّر في واجهة وب كرويدن فقط."
+
+msgid "Downloading latest translations…"
+msgstr "ينزّل أحدث التّرجمات…"
+
+msgid "Syncing with Crowdin"
+msgstr "المزامنة مع كرويدن"
+
+msgid "Syncing with Crowdin failed."
+msgstr "فشلت المزامنة مع كرويدن."
+
+msgid "Crowdin error"
+msgstr "خطأ في كرويدن"
+
+msgid "Uploading translations…"
+msgstr "يرفع التّرجمات…"
+
msgid "&Copy"
msgstr "ا&نسخ"
@@ -155,6 +243,9 @@ msgstr "فضلًا افتح وحرّر ملفّ PO المقابل بدل ذلك.
msgid "don't delete temporary files (for debugging)"
msgstr "لا تحذف الملفّات المؤقّتة (للتنقيح)"
+msgid "handle a poedit:// URI"
+msgstr ""
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr "حدث خطأ لا يمكن التّعامل معه: %s"
@@ -165,12 +256,6 @@ msgstr "حدث خطأ لا يمكن التّعامل معه."
msgid "Open catalog"
msgstr "افتح كتالوج"
-msgid "All Files"
-msgstr "كلّ الملفّات"
-
-msgid "PO Translation Files"
-msgstr "ملفّات PO ترجميّة"
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "الملفّ '%s' غير موجود."
@@ -260,7 +345,7 @@ msgid "Make Lower Case"
msgstr ""
msgid "Capitalize"
-msgstr ""
+msgstr "كبّر الحروف"
msgid "Speech"
msgstr "الكلام"
@@ -398,6 +483,19 @@ msgstr "الجمع:"
msgid "Translation:"
msgstr "التّرجمة:"
+msgid ""
+"POT files are only templates and don’t contain any translations themselves.\n"
+"To make a translation, create a new PO file based on the template."
+msgstr ""
+"ملفات POT ليست إلا قوالب و لا تحوي ضمنها أي ترجمة.\n"
+"للترجمة أنشئ ملف PO جديد مبني على القالب."
+
+msgid "Create New Translation"
+msgstr "أنشئ ترجمة جديدة"
+
+msgid "Create new translation"
+msgstr "أنشئ ترجمة جديدة"
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
@@ -445,9 +543,6 @@ msgstr "ملفّات HTML"
msgid "Open catalog template"
msgstr "افتح قالب كتالوج"
-msgid "POT Translation Templates"
-msgstr "ملفّات POT قالبيّة"
-
msgid "Updating catalog"
msgstr "يحدّث الكتالوج"
@@ -528,18 +623,22 @@ msgstr[5] "التّرجمة جاهزة لاستخدامها، لكن توجد %d
msgid "The translation is ready for use."
msgstr "التّرجمة جاهزة لاستخدامها."
-msgid "No references to this string found."
-msgstr "لم يُعثر على مراجع لهذه السلسلة."
-
-msgid "Please choose the reference you want to show:"
-msgstr "فضلًا اختر المرجع الذي تريد إظهاره:"
-
-msgid "References"
-msgstr "المراجع"
-
msgid "Context:"
msgstr "السّياق:"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr "لقد أصلح محرّر Po محتوى غير صالح تلقائيا في الملف \"%s\"."
+
+msgid ""
+"The file contained duplicate items, which is not allowed in PO files and "
+"would prevent the file from being used. Poedit fixed the issue, but you "
+"should review translations of any items marked as fuzzy and correct them if "
+"necessary."
+msgstr ""
+"الملف يحوي عناصر مكرّرة، و هذا ما سيمنع من استخدامه. أصلح محرّر Po النقص، و "
+"لكن عليك بمراجعة ترجمات أي عنصر معلّمة على أنها غير أكيدة و تصحيحها إن لزم."
+
msgid "Language of the translation isn't set."
msgstr "لغة التّرجمة لم تُعيَّن."
@@ -549,6 +648,23 @@ msgstr "عيّن اللغة"
msgid "Set language"
msgstr "عيّن اللّغة"
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid ""
+"Suggestions are not available if the translation language is not set "
+"correctly. Other features, such as plural forms, may be affected as well."
+msgstr ""
+"الاقتراحات لا تتوفّر إن لم تعيّن لغة التّرجمة تعيينًا صحيحًا. الميزات الأخرى "
+"(كصيغ الجمع) يمكن أن تتأثّر أيضًا."
+
+msgid "Language of the translation is the same as source language."
+msgstr "لغة التّرجمة نفسها لغة المصدر."
+
+msgid "Fix Language"
+msgstr "أصلح اللغة"
+
+msgid "Fix language"
+msgstr "أصلح اللغة"
+
msgid ""
"This catalog has entries with plural forms, but doesn't have Plural-Forms "
"header configured."
@@ -581,6 +697,7 @@ msgstr "أصلح التّرويسة"
msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr "تعبير صيغ الجموع الذي يستخدمه الكتالوج غير طبيعيّ لِـ %s."
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr "راجع"
@@ -606,6 +723,16 @@ msgstr[3] "%d أخطاء"
msgstr[4] "%d خطأ"
msgstr[5] "%d خطأ"
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+msgstr[4] ""
+msgstr[5] ""
+
msgid " (unsaved)"
msgstr " (غير محفوظ)"
@@ -736,6 +863,9 @@ msgstr "كلّ شيء"
msgid "Form %i"
msgstr "الشّكل %i"
+msgid "Singular"
+msgstr "المفرد"
+
msgid "Zero"
msgstr "صفر"
@@ -745,6 +875,9 @@ msgstr "واحد"
msgid "Two"
msgstr "اثنان"
+msgid "Plural"
+msgstr "الجمع"
+
msgid "Other"
msgstr "أخرى"
@@ -773,6 +906,12 @@ msgstr "أخفِ الشريط الجانبيّ"
msgid "Show Sidebar"
msgstr "أظهر الشريط الجانبيّ"
+msgid "Hide Status Bar"
+msgstr "إخفاء شريط الحالة"
+
+msgid "Show Status Bar"
+msgstr "إظهار شريط الحالة"
+
msgid "Source text"
msgstr "النصّ المصدر"
@@ -782,6 +921,10 @@ msgstr "التّرجمة"
msgid "ID"
msgstr "المعرّف"
+#, c-format
+msgid "Source text — %s"
+msgstr "النّص المصدر— %s"
+
msgid "unknown language"
msgstr "لغة مجهولة"
@@ -792,57 +935,73 @@ msgstr "التّرجمة — %s"
msgid "Error:"
msgstr "خطأ:"
-msgid "Project info"
-msgstr "معلومات المشروع"
+msgid "Source file"
+msgstr "الملف المصدر"
-msgid "Project name and version:"
-msgstr "اسم المشروع وإصداره:"
+msgid "Source file occurrence:"
+msgstr "حدوث الملف المصدر:"
-msgid "Language:"
-msgstr "اللّغة:"
+msgid "Open in Editor"
+msgstr "افتح في المحرّر"
-msgid "Team:"
-msgstr "الفريق:"
+msgid "Open in editor"
+msgstr "افتح في المحرّر"
-msgid "Team's email address:"
-msgstr "بريد الفريق الإلكترونيّ:"
+msgid "No references for the selected item."
+msgstr "لا مراجع للعنصر المحدّد."
-msgid "Charset:"
-msgstr "طقم المحارف:"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "خطأ عند فتح الملفّ %s!"
-msgid "Source"
-msgstr "المصدر"
+msgid "Find"
+msgstr "اعثر"
-msgid "Notes"
-msgstr "ملاحظات"
+msgid "Replace"
+msgstr "استبدل"
-msgid "Automatic translation"
-msgstr "ترجمة آليّة"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr "خيارات"
-msgid "Fuzzy translation"
-msgstr "ترجمة مُبهمة"
+msgid "Ignore case"
+msgstr "تجاهل حالة الحروف"
-msgid "Notes for translators:"
-msgstr "ملاحظات للمترجمين:"
+msgid "Wrap around"
+msgstr "التف حول النص"
-msgid "Comment:"
-msgstr "تعليق:"
+msgid "Whole words only"
+msgstr "كلمات كاملة فقط"
-msgid "Source file"
-msgstr "الملف المصدر"
+msgid "Find in source texts"
+msgstr "ابحث في نصوص المصدر"
-msgid "Source file occurrence:"
-msgstr "حدوث الملف المصدر:"
+msgid "Find in translations"
+msgstr "اعثر في التّرجمات"
-msgid "Open in Editor"
-msgstr "افتح في المحرّر"
+msgid "Find in comments"
+msgstr "اعثر في التّعليقات"
-msgid "Open in editor"
-msgstr "افتح في المحرّر"
+msgid "Close"
+msgstr "أغلق"
-#, c-format
-msgid "Error opening file %s!"
-msgstr "خطأ عند فتح الملفّ %s!"
+msgid "Replace All"
+msgstr "استبدل الكل"
+
+msgid "Replace all"
+msgstr "استبدل الكل"
+
+msgid "< &Previous"
+msgstr "< ال&سّابقة"
+
+msgid "&Next >"
+msgstr "ال&تّالية >"
+
+msgid "String to find"
+msgstr ""
+
+msgid "Replacement string"
+msgstr ""
#, c-format
msgid "Cannot execute program: %s"
@@ -1042,9 +1201,19 @@ msgstr "جديد"
msgid "Edit"
msgstr "حرّر"
+msgid "Delete extractor"
+msgstr "حذف المُستخرج"
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr "هل أنت متأكد من أنك تريد حذف مستخرج \"%s\"؟"
+
msgid "Extractors"
msgstr "المستخرجات"
+msgid "Accounts"
+msgstr "الحسابات"
+
msgid "Automatically check for updates"
msgstr "التمس آليًّا عن التّحديثات"
@@ -1087,8 +1256,41 @@ msgstr "حافظ على تنسيق الملفّات الموجودة"
msgid "Advanced"
msgstr "متقدّم"
-msgid "Additional keywords"
-msgstr "الكلمات المفتاحيّة الإضافيّة"
+msgid ""
+"<big>Drag and Drop Folders Here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+"<big>اسحب وأسقط المجلدات هنا</big> \n"
+"\n"
+" أو استخدم زر +"
+
+msgid ""
+"<big>Drag and drop folders here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+"<big>اسحب وأسقط المجلدات هنا</big> \n"
+"\n"
+" أو استخدم زر +"
+
+msgid "Add Folders..."
+msgstr "إضافة مجلدات..."
+
+msgid "Add folders..."
+msgstr "إضافة مجلدات..."
+
+msgid "Add Files..."
+msgstr "أضف ملفات..."
+
+msgid "Add files..."
+msgstr "أضف ملفات..."
+
+msgid "Add Wildcard..."
+msgstr ""
+
+msgid "Add wildcard..."
+msgstr ""
msgid "Paths"
msgstr "المسارات"
@@ -1096,6 +1298,9 @@ msgstr "المسارات"
msgid "Excluded paths"
msgstr "المسارات المستثناة"
+msgid "Additional keywords"
+msgstr "الكلمات المفتاحيّة الإضافيّة"
+
msgid "Name of the project the translation is for"
msgstr "اسم المشروع الذي تكون التّرجمات إليه"
@@ -1108,6 +1313,9 @@ msgstr "UTF-8 (مستحسن)"
msgid "Please save the file first. This section cannot be edited until then."
msgstr "فضلًا احفظ الملفّ أوّلًا. لا يمكن تحرير هذا القسم حتّى ذلك الحين."
+msgid "Comment:"
+msgstr "تعليق:"
+
msgid "OK"
msgstr "حسنًا"
@@ -1117,42 +1325,6 @@ msgstr "ام&حُ"
msgid "Clear the comment"
msgstr "امحُ التّعليق"
-msgid "Find..."
-msgstr "اعثر..."
-
-msgid "String to find:"
-msgstr "السلسلة للعثور عليها:"
-
-msgid "Case sensitive"
-msgstr "حسّاس للحالة"
-
-msgid "Start from the first item"
-msgstr "ابدأ من أوّل عنصر"
-
-msgid "Whole words only"
-msgstr "كلمات كاملة فقط"
-
-msgid "Find in original strings"
-msgstr "اعثر في السلاسل الأصلية"
-
-msgid "Find in translations"
-msgstr "اعثر في التّرجمات"
-
-msgid "Find in comments"
-msgstr "اعثر في التّعليقات"
-
-msgid "Find in automatic comments"
-msgstr "اعثر في التّعليقات الآليّة"
-
-msgid "Close"
-msgstr "أغلق"
-
-msgid "< &Previous"
-msgstr "< ال&سّابقة"
-
-msgid "&Next >"
-msgstr "ال&تّالية >"
-
msgid "Create new translations project"
msgstr "أنشئ مشروع ترجمات جديد"
@@ -1207,6 +1379,12 @@ msgstr "ا&فتح..."
msgid "Open Recent"
msgstr "افتح الأخيرة"
+msgid "Open from Crowdin..."
+msgstr "افتح من كرويدن..."
+
+msgid "Open From Crowdin..."
+msgstr "افتح من كرويدن..."
+
msgid "&Save"
msgstr "ا&حفظ"
@@ -1255,14 +1433,17 @@ msgstr "أ&ظهر المراجع"
msgid "&Find..."
msgstr "ا&عثر..."
+msgid "Replace..."
+msgstr "استبدل..."
+
msgid "Find next"
msgstr "اعثر على التّالي"
msgid "Find previous"
msgstr "اعثر على السّابق"
-msgid "Find"
-msgstr "اعثر"
+msgid "Find and Replace..."
+msgstr "ابحث و استبدل..."
msgid "Find Next"
msgstr "اعثر على التّالي"
@@ -1303,6 +1484,12 @@ msgstr "&جمّع بالسّياق"
msgid "&Group By Context"
msgstr "&جمّع بالسّياق"
+msgid "Entries with errors first"
+msgstr "المُدخلات مع أخطاء أولا"
+
+msgid "Entries with Errors First"
+msgstr "المُدخلات مع أخطاء أولا"
+
msgid "&Untranslated entries first"
msgstr "المُدخلات &غير المُترجَمة أوّلًا"
@@ -1312,6 +1499,9 @@ msgstr "المُدخلات &غير المُترجَمة أوّلًا"
msgid "Show sidebar"
msgstr "أظهر الشريط الجانبيّ"
+msgid "Show status bar"
+msgstr "عرض شريط الحالة"
+
msgid "C&atalog"
msgstr "&كتالوج"
@@ -1327,6 +1517,9 @@ msgstr "حدّث من &ملف POT..."
msgid "Update from &POT File..."
msgstr "حدّث من &ملف POT..."
+msgid "Sync with Crowdin"
+msgstr "زامن مع كرويدن"
+
msgid "Fill missing translations from &TM..."
msgstr "املأ التّ&رجمات النّاقصة من TM..."
@@ -1450,6 +1643,9 @@ msgstr ""
msgid "Catalog properties"
msgstr "خصائص الكتالوج"
+msgid "Project name and version:"
+msgstr "اسم المشروع وإصداره:"
+
msgid "Plural Forms:"
msgstr "صيغ الجموع:"
@@ -1462,6 +1658,15 @@ msgstr "استخدم تعبيرًا مخصّصًا"
msgid "Learn about plural forms"
msgstr "تعلّم حول صيغ الجموع"
+msgid "Charset:"
+msgstr "طقم المحارف:"
+
+msgid "Team:"
+msgstr "الفريق:"
+
+msgid "Team's email address:"
+msgstr "بريد الفريق الإلكترونيّ:"
+
msgid "Translation properties"
msgstr "خصائص التّرجمة"
@@ -1534,8 +1739,8 @@ msgstr "تحديث الكتالوج - زامِنه مع المصادر"
msgid "Toggled if selected string has fuzzy translation"
msgstr "يُبدَّل إن كانت للسلسلة المحدّدة ترجمة مُبهمة"
-msgid "Show or hide the sidebar."
-msgstr "أظهر الشريط الجانبيّ أو أخفه."
+msgid "Show or hide the sidebar"
+msgstr "أظهر الشريط الجانبيّ أو أخفه"
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
msgid "Previous source text:"
@@ -1547,6 +1752,9 @@ msgid ""
msgstr ""
"نصّ المصدر القديم (قبل أن يتغيّر أثناء التحديث) الذي تقابله الترجمة المبهمة."
+msgid "Notes for translators:"
+msgstr "ملاحظات للمترجمين:"
+
msgid "Add comment"
msgstr "أضف تعليقًا"
@@ -1625,14 +1833,21 @@ msgstr "حرّر ترجمة"
msgid "Open an existing PO file and edit the translation."
msgstr "افتح ملف PO موجود وحرّر التّرجمة."
-msgid "Create new translation"
-msgstr "أنشئ ترجمة جديدة"
-
msgid ""
"Take an existing PO file or POT template and create a new translation from "
"it."
msgstr "خُذ ملف PO أو قالب POT موجودين وأنشئ ترجمة منهما."
+msgid "Collaborate on a translation with Crowdin"
+msgstr "شارك في ترجمة مع كرويدن"
+
+msgid ""
+"Download a file from Crowdin project, translate and sync your changes back."
+msgstr "حمّل ملفا من مشروع في كرويدن، ترجمه و زامن تغييراتك عليه."
+
+msgid "What is Crowdin?"
+msgstr "ما هو كرويدن؟"
+
msgid "There are no translations. That’s unusual."
msgstr "ليست هناك ترجمات. هذا غير طبيعي."
@@ -1668,3 +1883,9 @@ msgstr "استخرج من المصادر"
msgid "Configure source code extraction in Properties."
msgstr "اضبط استخراج الشِفرة المصدريّة في الخصائص."
+
+msgid "Sync"
+msgstr "زامن"
+
+msgid "Synchronize the translation with Crowdin"
+msgstr "زامن الترجمة مع كرويدن"
diff --git a/locales/ast.mo b/locales/ast.mo
index 5f3fd6c..13e174a 100644
Binary files a/locales/ast.mo and b/locales/ast.mo differ
diff --git a/locales/ast.po b/locales/ast.po
index 5f3cb9d..8d7c29c 100644
--- a/locales/ast.po
+++ b/locales/ast.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:33-0400\n"
+"POT-Creation-Date: 2015-05-13 18:47+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Asturian\n"
"Language: ast_ES\n"
@@ -83,6 +83,15 @@ msgstr ""
msgid "Error saving catalog"
msgstr "Fayu al guardar el catálogu"
+msgid "PO Translation Files"
+msgstr ""
+
+msgid "POT Translation Templates"
+msgstr ""
+
+msgid "All Translation Files"
+msgstr ""
+
msgid "Merging differences..."
msgstr "Amestando diferencies..."
@@ -102,6 +111,83 @@ msgstr "Escoyer llingua"
msgid "You must restart Poedit for this change to take effect."
msgstr "Ties qu'entamar Poedit pa que furrule el caumdamientu."
+msgid "Downloading translations is disabled in this project."
+msgstr ""
+
+msgid "Not authorized, please sign in again."
+msgstr ""
+
+msgid "Sign in to Crowdin"
+msgstr ""
+
+msgid ""
+"Crowdin is an online localization management platform and collaborative "
+"translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+
+msgid "Sign In"
+msgstr ""
+
+msgid "Sign in"
+msgstr ""
+
+msgid "Sign Out"
+msgstr ""
+
+msgid "Sign out"
+msgstr ""
+
+msgid "Waiting for authentication…"
+msgstr ""
+
+msgid "Updating user information…"
+msgstr ""
+
+msgid "Signed in as:"
+msgstr ""
+
+msgid "Learn More About Crowdin"
+msgstr ""
+
+msgid "Learn more about Crowdin"
+msgstr ""
+
+msgid "Open Crowdin translation"
+msgstr ""
+
+msgid "Project:"
+msgstr ""
+
+msgid "Language:"
+msgstr "Llingua:"
+
+msgid "File:"
+msgstr ""
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr ""
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr ""
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr ""
+
+msgid "Downloading latest translations…"
+msgstr ""
+
+msgid "Syncing with Crowdin"
+msgstr ""
+
+msgid "Syncing with Crowdin failed."
+msgstr ""
+
+msgid "Crowdin error"
+msgstr ""
+
+msgid "Uploading translations…"
+msgstr ""
+
msgid "&Copy"
msgstr ""
@@ -146,6 +232,9 @@ msgstr ""
msgid "don't delete temporary files (for debugging)"
msgstr ""
+msgid "handle a poedit:// URI"
+msgstr ""
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr ""
@@ -156,12 +245,6 @@ msgstr ""
msgid "Open catalog"
msgstr "Abrir catálogu"
-msgid "All Files"
-msgstr ""
-
-msgid "PO Translation Files"
-msgstr ""
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "El ficheru '%s' nun ta"
@@ -389,6 +472,17 @@ msgstr "Plural:"
msgid "Translation:"
msgstr ""
+msgid ""
+"POT files are only templates and don’t contain any translations themselves.\n"
+"To make a translation, create a new PO file based on the template."
+msgstr ""
+
+msgid "Create New Translation"
+msgstr ""
+
+msgid "Create new translation"
+msgstr ""
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
@@ -436,9 +530,6 @@ msgstr ""
msgid "Open catalog template"
msgstr "Abrir plantilla de catálogu"
-msgid "POT Translation Templates"
-msgstr ""
-
msgid "Updating catalog"
msgstr ""
@@ -507,16 +598,18 @@ msgstr[1] ""
msgid "The translation is ready for use."
msgstr ""
-msgid "No references to this string found."
-msgstr "No s'alcuentren referencies a esta cadena."
-
-msgid "Please choose the reference you want to show:"
-msgstr "Por favor garra la referencia que quies amosar:"
+msgid "Context:"
+msgstr ""
-msgid "References"
-msgstr "Referencies"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr ""
-msgid "Context:"
+msgid ""
+"The file contained duplicate items, which is not allowed in PO files and "
+"would prevent the file from being used. Poedit fixed the issue, but you "
+"should review translations of any items marked as fuzzy and correct them if "
+"necessary."
msgstr ""
msgid "Language of the translation isn't set."
@@ -528,6 +621,21 @@ msgstr ""
msgid "Set language"
msgstr ""
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid ""
+"Suggestions are not available if the translation language is not set "
+"correctly. Other features, such as plural forms, may be affected as well."
+msgstr ""
+
+msgid "Language of the translation is the same as source language."
+msgstr ""
+
+msgid "Fix Language"
+msgstr ""
+
+msgid "Fix language"
+msgstr ""
+
msgid ""
"This catalog has entries with plural forms, but doesn't have Plural-Forms "
"header configured."
@@ -558,6 +666,7 @@ msgstr ""
msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr ""
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr ""
@@ -579,6 +688,12 @@ msgid_plural "%d errors"
msgstr[0] ""
msgstr[1] ""
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] ""
+msgstr[1] ""
+
msgid " (unsaved)"
msgstr ""
@@ -692,6 +807,9 @@ msgstr ""
msgid "Form %i"
msgstr ""
+msgid "Singular"
+msgstr ""
+
msgid "Zero"
msgstr ""
@@ -701,6 +819,9 @@ msgstr ""
msgid "Two"
msgstr ""
+msgid "Plural"
+msgstr ""
+
msgid "Other"
msgstr ""
@@ -729,6 +850,12 @@ msgstr ""
msgid "Show Sidebar"
msgstr ""
+msgid "Hide Status Bar"
+msgstr ""
+
+msgid "Show Status Bar"
+msgstr ""
+
msgid "Source text"
msgstr ""
@@ -738,6 +865,10 @@ msgstr "Torna"
msgid "ID"
msgstr ""
+#, c-format
+msgid "Source text — %s"
+msgstr ""
+
msgid "unknown language"
msgstr ""
@@ -748,57 +879,73 @@ msgstr ""
msgid "Error:"
msgstr ""
-msgid "Project info"
-msgstr "Información de proyeutu"
+msgid "Source file"
+msgstr "Ficheru fonte"
-msgid "Project name and version:"
-msgstr "Nome y versión del proyeutu:"
+msgid "Source file occurrence:"
+msgstr ""
-msgid "Language:"
-msgstr "Llingua:"
+msgid "Open in Editor"
+msgstr ""
-msgid "Team:"
-msgstr "Equipu:"
+msgid "Open in editor"
+msgstr ""
-msgid "Team's email address:"
-msgstr "Correu del equipu:"
+msgid "No references for the selected item."
+msgstr ""
-msgid "Charset:"
-msgstr "Charset:"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "Fayu al abrir el ficheru %s!"
-msgid "Source"
+msgid "Find"
msgstr ""
-msgid "Notes"
-msgstr "Notes"
+msgid "Replace"
+msgstr ""
-msgid "Automatic translation"
-msgstr "Torna automática"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr ""
-msgid "Fuzzy translation"
-msgstr "Torna borrosa"
+msgid "Ignore case"
+msgstr ""
-msgid "Notes for translators:"
+msgid "Wrap around"
msgstr ""
-msgid "Comment:"
-msgstr "Comentariu:"
+msgid "Whole words only"
+msgstr "Namás que pallabres enteres"
-msgid "Source file"
-msgstr "Ficheru fonte"
+msgid "Find in source texts"
+msgstr ""
-msgid "Source file occurrence:"
+msgid "Find in translations"
msgstr ""
-msgid "Open in Editor"
+msgid "Find in comments"
+msgstr "Buscar en comentarios"
+
+msgid "Close"
msgstr ""
-msgid "Open in editor"
+msgid "Replace All"
msgstr ""
-#, c-format
-msgid "Error opening file %s!"
-msgstr "Fayu al abrir el ficheru %s!"
+msgid "Replace all"
+msgstr ""
+
+msgid "< &Previous"
+msgstr ""
+
+msgid "&Next >"
+msgstr ""
+
+msgid "String to find"
+msgstr ""
+
+msgid "Replacement string"
+msgstr ""
#, c-format
msgid "Cannot execute program: %s"
@@ -988,9 +1135,19 @@ msgstr "Nuevu"
msgid "Edit"
msgstr "Remanar"
+msgid "Delete extractor"
+msgstr ""
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr ""
+
msgid "Extractors"
msgstr ""
+msgid "Accounts"
+msgstr ""
+
msgid "Automatically check for updates"
msgstr ""
@@ -1029,7 +1186,34 @@ msgstr ""
msgid "Advanced"
msgstr ""
-msgid "Additional keywords"
+msgid ""
+"<big>Drag and Drop Folders Here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid ""
+"<big>Drag and drop folders here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid "Add Folders..."
+msgstr ""
+
+msgid "Add folders..."
+msgstr ""
+
+msgid "Add Files..."
+msgstr ""
+
+msgid "Add files..."
+msgstr ""
+
+msgid "Add Wildcard..."
+msgstr ""
+
+msgid "Add wildcard..."
msgstr ""
msgid "Paths"
@@ -1038,6 +1222,9 @@ msgstr "Camínos"
msgid "Excluded paths"
msgstr ""
+msgid "Additional keywords"
+msgstr ""
+
msgid "Name of the project the translation is for"
msgstr ""
@@ -1050,6 +1237,9 @@ msgstr ""
msgid "Please save the file first. This section cannot be edited until then."
msgstr ""
+msgid "Comment:"
+msgstr "Comentariu:"
+
msgid "OK"
msgstr "Bien"
@@ -1059,42 +1249,6 @@ msgstr ""
msgid "Clear the comment"
msgstr "Llimpiar el comentariu"
-msgid "Find..."
-msgstr "Buscar..."
-
-msgid "String to find:"
-msgstr "Cadena a buscar:"
-
-msgid "Case sensitive"
-msgstr "Dase cuente de mayuscules"
-
-msgid "Start from the first item"
-msgstr "Entamar dende el primer elementu"
-
-msgid "Whole words only"
-msgstr "Namás que pallabres enteres"
-
-msgid "Find in original strings"
-msgstr "Buscar en cadenes orixinales"
-
-msgid "Find in translations"
-msgstr ""
-
-msgid "Find in comments"
-msgstr "Buscar en comentarios"
-
-msgid "Find in automatic comments"
-msgstr "Buscar en comentarios automáticos"
-
-msgid "Close"
-msgstr ""
-
-msgid "< &Previous"
-msgstr ""
-
-msgid "&Next >"
-msgstr ""
-
msgid "Create new translations project"
msgstr "Facer nuevos proyectos de torna"
@@ -1149,6 +1303,12 @@ msgstr ""
msgid "Open Recent"
msgstr ""
+msgid "Open from Crowdin..."
+msgstr ""
+
+msgid "Open From Crowdin..."
+msgstr ""
+
msgid "&Save"
msgstr "&Guardar"
@@ -1197,13 +1357,16 @@ msgstr ""
msgid "&Find..."
msgstr "&Buscar..."
+msgid "Replace..."
+msgstr ""
+
msgid "Find next"
msgstr ""
msgid "Find previous"
msgstr ""
-msgid "Find"
+msgid "Find and Replace..."
msgstr ""
msgid "Find Next"
@@ -1245,6 +1408,12 @@ msgstr ""
msgid "&Group By Context"
msgstr ""
+msgid "Entries with errors first"
+msgstr ""
+
+msgid "Entries with Errors First"
+msgstr ""
+
msgid "&Untranslated entries first"
msgstr ""
@@ -1254,6 +1423,9 @@ msgstr ""
msgid "Show sidebar"
msgstr ""
+msgid "Show status bar"
+msgstr ""
+
msgid "C&atalog"
msgstr "C&atálogu"
@@ -1269,6 +1441,9 @@ msgstr "Recargar dende &ficheru POT..."
msgid "Update from &POT File..."
msgstr ""
+msgid "Sync with Crowdin"
+msgstr ""
+
msgid "Fill missing translations from &TM..."
msgstr ""
@@ -1392,6 +1567,9 @@ msgstr ""
msgid "Catalog properties"
msgstr ""
+msgid "Project name and version:"
+msgstr "Nome y versión del proyeutu:"
+
msgid "Plural Forms:"
msgstr "Formes plurales:"
@@ -1404,6 +1582,15 @@ msgstr ""
msgid "Learn about plural forms"
msgstr ""
+msgid "Charset:"
+msgstr "Charset:"
+
+msgid "Team:"
+msgstr "Equipu:"
+
+msgid "Team's email address:"
+msgstr "Correu del equipu:"
+
msgid "Translation properties"
msgstr ""
@@ -1474,7 +1661,7 @@ msgstr "Recargar catálogos - sincronizar coles fontes"
msgid "Toggled if selected string has fuzzy translation"
msgstr "Furrula si la cadena marcada tien una torna borrosa"
-msgid "Show or hide the sidebar."
+msgid "Show or hide the sidebar"
msgstr ""
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
@@ -1486,6 +1673,9 @@ msgid ""
"translation corresponds to."
msgstr ""
+msgid "Notes for translators:"
+msgstr ""
+
msgid "Add comment"
msgstr ""
@@ -1558,14 +1748,21 @@ msgstr ""
msgid "Open an existing PO file and edit the translation."
msgstr ""
-msgid "Create new translation"
-msgstr ""
-
msgid ""
"Take an existing PO file or POT template and create a new translation from "
"it."
msgstr ""
+msgid "Collaborate on a translation with Crowdin"
+msgstr ""
+
+msgid ""
+"Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+
+msgid "What is Crowdin?"
+msgstr ""
+
msgid "There are no translations. That’s unusual."
msgstr ""
@@ -1598,3 +1795,9 @@ msgstr ""
msgid "Configure source code extraction in Properties."
msgstr ""
+
+msgid "Sync"
+msgstr ""
+
+msgid "Synchronize the translation with Crowdin"
+msgstr ""
diff --git a/locales/az.mo b/locales/az.mo
index 3ddb41f..3d7a475 100644
Binary files a/locales/az.mo and b/locales/az.mo differ
diff --git a/locales/az.po b/locales/az.po
index b5ddc04..9f667ba 100644
--- a/locales/az.po
+++ b/locales/az.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:33-0400\n"
+"POT-Creation-Date: 2015-05-13 18:47+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Azerbaijani\n"
"Language: az_AZ\n"
@@ -92,6 +92,15 @@ msgstr ""
msgid "Error saving catalog"
msgstr "kataloq qeyd edilərkən xəta oldu"
+msgid "PO Translation Files"
+msgstr "PO Tərcümə Faylları"
+
+msgid "POT Translation Templates"
+msgstr "POT Tərcümə Şablonları"
+
+msgid "All Translation Files"
+msgstr "Bütün Tərcümə Faylları"
+
msgid "Merging differences..."
msgstr "Fərqliliklər birləşdirilir..."
@@ -111,6 +120,83 @@ msgstr "Dil seçimi"
msgid "You must restart Poedit for this change to take effect."
msgstr "Dəyişikliklər Poedit yenidən başladıldıqdan sonra aktiv olacaq."
+msgid "Downloading translations is disabled in this project."
+msgstr "Bu layihədə tərcümələri endirmək deaktivasiya edildi."
+
+msgid "Not authorized, please sign in again."
+msgstr "İzniniz yoxdur, lütfən təkrar daxil olun."
+
+msgid "Sign in to Crowdin"
+msgstr "Crowdin-ə giriş edin"
+
+msgid ""
+"Crowdin is an online localization management platform and collaborative "
+"translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+
+msgid "Sign In"
+msgstr "Giriş"
+
+msgid "Sign in"
+msgstr "Giriş"
+
+msgid "Sign Out"
+msgstr "Çıxış"
+
+msgid "Sign out"
+msgstr "Çıxış"
+
+msgid "Waiting for authentication…"
+msgstr "Təsdiqləmə üçün gözləyir..."
+
+msgid "Updating user information…"
+msgstr "İstifadəçi məlumatları yenilənir..."
+
+msgid "Signed in as:"
+msgstr "Giriş edən:"
+
+msgid "Learn More About Crowdin"
+msgstr "Crowdin Haqqında Məlumat Əldə Edin"
+
+msgid "Learn more about Crowdin"
+msgstr "Crowdin haqqında məlumat əldə edin"
+
+msgid "Open Crowdin translation"
+msgstr "Crowdin tərcüməsini aç"
+
+msgid "Project:"
+msgstr "Layihə:"
+
+msgid "Language:"
+msgstr "Dil:"
+
+msgid "File:"
+msgstr "Fayl:"
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr "Crowdin hesabınızda siyahılanan heç bir tərcümə layihəsi yoxdur."
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr ""
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr ""
+
+msgid "Downloading latest translations…"
+msgstr ""
+
+msgid "Syncing with Crowdin"
+msgstr ""
+
+msgid "Syncing with Crowdin failed."
+msgstr ""
+
+msgid "Crowdin error"
+msgstr ""
+
+msgid "Uploading translations…"
+msgstr ""
+
msgid "&Copy"
msgstr "&Köçür"
@@ -157,6 +243,9 @@ msgstr ""
msgid "don't delete temporary files (for debugging)"
msgstr "müvəqqəti faylları silməyin (nasazlıqların təmiri üçün)"
+msgid "handle a poedit:// URI"
+msgstr ""
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr "Gözlənilməz bir xəta baş verdi: %s"
@@ -167,12 +256,6 @@ msgstr "Gözlənilməz bir xəta baş verdi."
msgid "Open catalog"
msgstr "Kataloqu aç"
-msgid "All Files"
-msgstr "Bütün Fayllar"
-
-msgid "PO Translation Files"
-msgstr "PO Tərcümə Faylları"
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "'%s' faylı yoxdur."
@@ -363,15 +446,15 @@ msgstr "Aşağı"
#. TRANSLATORS: Keyboard shortcut, must correspond to translation of "Ctrl+"
msgid "ctrl"
-msgstr ""
+msgstr "ctrl"
#. TRANSLATORS: Keyboard shortcut, must correspond to translation of "Alt+"
msgid "alt"
-msgstr ""
+msgstr "alt"
#. TRANSLATORS: Keyboard shortcut, must correspond to translation of "Shift+"
msgid "shift"
-msgstr ""
+msgstr "shift"
msgid "You can't drop more than one file on Poedit window."
msgstr "Poedit pəncərəsinə birdən artıq faylı sürüşdürüb buraxa bilməzsiniz."
@@ -401,6 +484,17 @@ msgstr "Cəm:"
msgid "Translation:"
msgstr "Tərcümə:"
+msgid ""
+"POT files are only templates and don’t contain any translations themselves.\n"
+"To make a translation, create a new PO file based on the template."
+msgstr ""
+
+msgid "Create New Translation"
+msgstr "Yeni Tərcümə Yarat"
+
+msgid "Create new translation"
+msgstr "Yeni bir tərcümə hazırlayın"
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
@@ -449,9 +543,6 @@ msgstr "HTML Faylları"
msgid "Open catalog template"
msgstr "Kataloq şablonunu aç"
-msgid "POT Translation Templates"
-msgstr "POT Tərcümə Şablonları"
-
msgid "Updating catalog"
msgstr "Kataloq yenilənir"
@@ -532,18 +623,20 @@ msgstr[1] ""
msgid "The translation is ready for use."
msgstr "Tərcümə istifadə üçün hazırdır."
-msgid "No references to this string found."
-msgstr "Bu sətir üçün heç bir referans tapılmadı."
-
-msgid "Please choose the reference you want to show:"
-msgstr "Göstərilməsini istədiyiniz referansı seçin:"
-
-msgid "References"
-msgstr "Referanslar"
-
msgid "Context:"
msgstr "Kontekst:"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr ""
+
+msgid ""
+"The file contained duplicate items, which is not allowed in PO files and "
+"would prevent the file from being used. Poedit fixed the issue, but you "
+"should review translations of any items marked as fuzzy and correct them if "
+"necessary."
+msgstr ""
+
msgid "Language of the translation isn't set."
msgstr "Tərcümə dili qurulmamışdır."
@@ -553,6 +646,21 @@ msgstr "Dili Qur"
msgid "Set language"
msgstr "Dil qurun"
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid ""
+"Suggestions are not available if the translation language is not set "
+"correctly. Other features, such as plural forms, may be affected as well."
+msgstr ""
+
+msgid "Language of the translation is the same as source language."
+msgstr ""
+
+msgid "Fix Language"
+msgstr ""
+
+msgid "Fix language"
+msgstr ""
+
msgid ""
"This catalog has entries with plural forms, but doesn't have Plural-Forms "
"header configured."
@@ -587,6 +695,7 @@ msgstr "Başlığı təmir edin"
msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr "%s üçün istifadə edilən cəm formatı ifadəsi alışılmış deyil."
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr "Baxış"
@@ -608,6 +717,12 @@ msgid_plural "%d errors"
msgstr[0] "%d xəta"
msgstr[1] "%d xəta"
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] ""
+msgstr[1] ""
+
msgid " (unsaved)"
msgstr " (qeyd edilməmiş)"
@@ -730,6 +845,9 @@ msgstr "Hər şey"
msgid "Form %i"
msgstr "Format %i"
+msgid "Singular"
+msgstr ""
+
msgid "Zero"
msgstr "Sıfır"
@@ -739,6 +857,9 @@ msgstr "Bir"
msgid "Two"
msgstr "İki"
+msgid "Plural"
+msgstr ""
+
msgid "Other"
msgstr "Digər"
@@ -767,6 +888,12 @@ msgstr "Yan menyunu Gizlət"
msgid "Show Sidebar"
msgstr "Yan menyunu Göstər"
+msgid "Hide Status Bar"
+msgstr ""
+
+msgid "Show Status Bar"
+msgstr ""
+
msgid "Source text"
msgstr "Mənbə mətni"
@@ -776,6 +903,10 @@ msgstr "Tərcümə"
msgid "ID"
msgstr "ID"
+#, c-format
+msgid "Source text — %s"
+msgstr "Mənbə mətni — %s"
+
msgid "unknown language"
msgstr "bilinməyən dil"
@@ -786,57 +917,73 @@ msgstr "Tərcümə — %s"
msgid "Error:"
msgstr "Xəta:"
-msgid "Project info"
-msgstr "Layihə haqqında məlumat"
+msgid "Source file"
+msgstr "Mənbə faylı"
-msgid "Project name and version:"
-msgstr "Layihənin adı və versiyası:"
+msgid "Source file occurrence:"
+msgstr "Mənbə kodu yaradılması:"
-msgid "Language:"
-msgstr "Dil:"
+msgid "Open in Editor"
+msgstr "Redaktorda Aç"
-msgid "Team:"
-msgstr "Komanda:"
+msgid "Open in editor"
+msgstr "Redaktorda aç"
-msgid "Team's email address:"
-msgstr "Komandanın e-poçt ünvanı:"
+msgid "No references for the selected item."
+msgstr ""
-msgid "Charset:"
-msgstr "Kodlaşdırma:"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "'%s' faylı açılarkən xəta oldu!"
-msgid "Source"
-msgstr "Mənbə"
+msgid "Find"
+msgstr "Tap"
-msgid "Notes"
-msgstr "Qeydlər"
+msgid "Replace"
+msgstr ""
-msgid "Automatic translation"
-msgstr "Avtomatik tərcümə"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr "Parametrlər"
-msgid "Fuzzy translation"
-msgstr "Qeyri-səlis tərcümə"
+msgid "Ignore case"
+msgstr ""
-msgid "Notes for translators:"
-msgstr "Tərcüməçilər üçün qeydlər:"
+msgid "Wrap around"
+msgstr ""
-msgid "Comment:"
-msgstr "Şərh:"
+msgid "Whole words only"
+msgstr "Mətnə eyni ilə uyğun gələnləri tap"
-msgid "Source file"
-msgstr "Mənbə faylı"
+msgid "Find in source texts"
+msgstr ""
-msgid "Source file occurrence:"
-msgstr "Mənbə kodu yaradılması:"
+msgid "Find in translations"
+msgstr "Tərcümələrdə tap"
-msgid "Open in Editor"
-msgstr "Redaktorda Aç"
+msgid "Find in comments"
+msgstr "Şərhlərdə tapın"
-msgid "Open in editor"
-msgstr "Redaktorda aç"
+msgid "Close"
+msgstr "Bağla"
-#, c-format
-msgid "Error opening file %s!"
-msgstr "'%s' faylı açılarkən xəta oldu!"
+msgid "Replace All"
+msgstr ""
+
+msgid "Replace all"
+msgstr ""
+
+msgid "< &Previous"
+msgstr "< Öncəki"
+
+msgid "&Next >"
+msgstr "&Sonrakı >"
+
+msgid "String to find"
+msgstr ""
+
+msgid "Replacement string"
+msgstr ""
#, c-format
msgid "Cannot execute program: %s"
@@ -1036,9 +1183,19 @@ msgstr "Yeni"
msgid "Edit"
msgstr "Redaktə et"
+msgid "Delete extractor"
+msgstr ""
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr ""
+
msgid "Extractors"
msgstr ""
+msgid "Accounts"
+msgstr ""
+
msgid "Automatically check for updates"
msgstr ""
@@ -1077,8 +1234,35 @@ msgstr "Var olan faylların formatını qoru"
msgid "Advanced"
msgstr "Qabaqcıl"
-msgid "Additional keywords"
-msgstr "Əlavə açar kəlmələr"
+msgid ""
+"<big>Drag and Drop Folders Here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid ""
+"<big>Drag and drop folders here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid "Add Folders..."
+msgstr ""
+
+msgid "Add folders..."
+msgstr ""
+
+msgid "Add Files..."
+msgstr ""
+
+msgid "Add files..."
+msgstr ""
+
+msgid "Add Wildcard..."
+msgstr ""
+
+msgid "Add wildcard..."
+msgstr ""
msgid "Paths"
msgstr "Yollar"
@@ -1086,6 +1270,9 @@ msgstr "Yollar"
msgid "Excluded paths"
msgstr "İstisna edilmiş yollar"
+msgid "Additional keywords"
+msgstr "Əlavə açar kəlmələr"
+
msgid "Name of the project the translation is for"
msgstr "Bunun üçün hazırlanan tərcümənin adı:"
@@ -1100,6 +1287,9 @@ msgstr ""
"Lütfən əvvəlcə faylı qeyd edin. Qeyd etdikdən sonra bu bölmə redaktə edilə "
"bilər."
+msgid "Comment:"
+msgstr "Şərh:"
+
msgid "OK"
msgstr "OK"
@@ -1109,42 +1299,6 @@ msgstr "T&əmizlə"
msgid "Clear the comment"
msgstr "Şərhi silin"
-msgid "Find..."
-msgstr "Tap..."
-
-msgid "String to find:"
-msgstr "Tapılacaq mətn:"
-
-msgid "Case sensitive"
-msgstr "Böyük/kiçik hərfə həssas"
-
-msgid "Start from the first item"
-msgstr "İlk maddədən başladılsın"
-
-msgid "Whole words only"
-msgstr "Mətnə eyni ilə uyğun gələnləri tap"
-
-msgid "Find in original strings"
-msgstr "Orijinal sətirlərdə tapın"
-
-msgid "Find in translations"
-msgstr "Tərcümələrdə tap"
-
-msgid "Find in comments"
-msgstr "Şərhlərdə tapın"
-
-msgid "Find in automatic comments"
-msgstr "Avtomatik şərhlərdə tapın"
-
-msgid "Close"
-msgstr "Bağla"
-
-msgid "< &Previous"
-msgstr "< Öncəki"
-
-msgid "&Next >"
-msgstr "&Sonrakı >"
-
msgid "Create new translations project"
msgstr "Yeni tərcümə layihəsi hazırlayın"
@@ -1199,6 +1353,12 @@ msgstr "&Aç..."
msgid "Open Recent"
msgstr "Son İstifadə Edilənləri Açın"
+msgid "Open from Crowdin..."
+msgstr ""
+
+msgid "Open From Crowdin..."
+msgstr "Crowdin-dən Aç..."
+
msgid "&Save"
msgstr "&Qeyd et"
@@ -1247,14 +1407,17 @@ msgstr "&Parametrləri Göstər"
msgid "&Find..."
msgstr "&Tap..."
+msgid "Replace..."
+msgstr ""
+
msgid "Find next"
msgstr "Sonrakını tapın"
msgid "Find previous"
msgstr "Öncəkini tapın"
-msgid "Find"
-msgstr "Tap"
+msgid "Find and Replace..."
+msgstr "Tap və Dəyişdir..."
msgid "Find Next"
msgstr "Sonrakını Tapın"
@@ -1295,6 +1458,12 @@ msgstr "&Kontekstə görə qrup"
msgid "&Group By Context"
msgstr "&Kontekstə Görə Qrup"
+msgid "Entries with errors first"
+msgstr "Əvvəlcə xətalı olan yazılar"
+
+msgid "Entries with Errors First"
+msgstr "Əvvəlcə Xətalı Olan Yazılar"
+
msgid "&Untranslated entries first"
msgstr "&Tərcümə edilməmiş yazılar ən üstdə görünsün"
@@ -1304,6 +1473,9 @@ msgstr "&Tərcümə Edilməmiş Yazılar Ən Üstdə Görünsün"
msgid "Show sidebar"
msgstr "Yan menyunu göstər"
+msgid "Show status bar"
+msgstr ""
+
msgid "C&atalog"
msgstr "K&ataloq"
@@ -1319,6 +1491,9 @@ msgstr "&POT Fayldan yenilə..."
msgid "Update from &POT File..."
msgstr "&POT Fayldan Yenilə..."
+msgid "Sync with Crowdin"
+msgstr "Crowdin ilə tutuşdurun"
+
msgid "Fill missing translations from &TM..."
msgstr "Əksik tərcümələri &TY-dan doldurun..."
@@ -1398,7 +1573,7 @@ msgid "Invocation:"
msgstr "Çağrış:"
msgid "Command to extract translations:"
-msgstr ""
+msgstr "Tərcümələri çıxarmaq üçün əmr:"
msgid ""
"This is the command used to launch the extractor.\n"
@@ -1443,6 +1618,9 @@ msgstr ""
msgid "Catalog properties"
msgstr "Kataloq xüsusiyyətləri"
+msgid "Project name and version:"
+msgstr "Layihənin adı və versiyası:"
+
msgid "Plural Forms:"
msgstr "Cəm Formatları:"
@@ -1455,6 +1633,15 @@ msgstr "Özəl ifadədən istifadə edilsin"
msgid "Learn about plural forms"
msgstr "Cəm formatları öyrənin"
+msgid "Charset:"
+msgstr "Kodlaşdırma:"
+
+msgid "Team:"
+msgstr "Komanda:"
+
+msgid "Team's email address:"
+msgstr "Komandanın e-poçt ünvanı:"
+
msgid "Translation properties"
msgstr "Tərcümə xüsusiyyətləri"
@@ -1525,7 +1712,7 @@ msgstr "Kataloqu yenilə - mənbə ilə sinxronlaşdır"
msgid "Toggled if selected string has fuzzy translation"
msgstr "Seçilən sətrin qeyri-səlis tərcümə statusunu dəyişdirir"
-msgid "Show or hide the sidebar."
+msgid "Show or hide the sidebar"
msgstr ""
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
@@ -1537,6 +1724,9 @@ msgid ""
"translation corresponds to."
msgstr ""
+msgid "Notes for translators:"
+msgstr "Tərcüməçilər üçün qeydlər:"
+
msgid "Add comment"
msgstr "Şərh əlavə et"
@@ -1618,15 +1808,24 @@ msgstr "Tərcüməni redaktə et"
msgid "Open an existing PO file and edit the translation."
msgstr "Mövcud olan bir PO faylını açaraq tərcüməni redaktə edin."
-msgid "Create new translation"
-msgstr "Yeni bir tərcümə hazırlayın"
-
msgid ""
"Take an existing PO file or POT template and create a new translation from "
"it."
msgstr ""
"Mövcud olan bir PO faylı ya da POT qəlibindən yeni bir tərcümə yaradın."
+msgid "Collaborate on a translation with Crowdin"
+msgstr "Crowdin ilə bir tərcümə üzərində ortaq çalış"
+
+msgid ""
+"Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+"Crowdin layihəsindən bir fayl endirin, tərcümə edin və təkrar "
+"dəyişikliklərinizi tutuşdurun."
+
+msgid "What is Crowdin?"
+msgstr "Crowdin nədir?"
+
msgid "There are no translations. That’s unusual."
msgstr "Orada heç bir tərcümə yoxdur. Bu qeyri-adi bir şeydir."
@@ -1664,3 +1863,9 @@ msgstr "Mənbələrdən alınsın"
msgid "Configure source code extraction in Properties."
msgstr "Xüsusiyyətlər bölməsindən mənbə koddan almağı konfiqurasiya edin."
+
+msgid "Sync"
+msgstr "Ttutşdur"
+
+msgid "Synchronize the translation with Crowdin"
+msgstr "Tərcüməni Crowdin ilə tutuşdur"
diff --git a/locales/be.mo b/locales/be.mo
index ea991aa..823ec76 100644
Binary files a/locales/be.mo and b/locales/be.mo differ
diff --git a/locales/be.po b/locales/be.po
index d893f97..0beba57 100644
--- a/locales/be.po
+++ b/locales/be.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:33-0400\n"
+"POT-Creation-Date: 2015-05-13 18:47+0200\n"
+"PO-Revision-Date: 2015-05-19 10:48-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Belarusian\n"
"Language: be_BY\n"
@@ -85,6 +85,15 @@ msgstr ""
msgid "Error saving catalog"
msgstr "Памылка захавання каталога"
+msgid "PO Translation Files"
+msgstr ""
+
+msgid "POT Translation Templates"
+msgstr ""
+
+msgid "All Translation Files"
+msgstr ""
+
msgid "Merging differences..."
msgstr "Злучэнне адрозненняў..."
@@ -104,9 +113,86 @@ msgstr "Вылучэнне мовы"
msgid "You must restart Poedit for this change to take effect."
msgstr "Вы мусіце перазапусціць Poedit каб змяненні набылі моц."
-msgid "&Copy"
+msgid "Downloading translations is disabled in this project."
+msgstr ""
+
+msgid "Not authorized, please sign in again."
+msgstr ""
+
+msgid "Sign in to Crowdin"
+msgstr ""
+
+msgid ""
+"Crowdin is an online localization management platform and collaborative "
+"translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+
+msgid "Sign In"
+msgstr ""
+
+msgid "Sign in"
+msgstr "Увайсці"
+
+msgid "Sign Out"
+msgstr "Выйсці"
+
+msgid "Sign out"
+msgstr ""
+
+msgid "Waiting for authentication…"
+msgstr ""
+
+msgid "Updating user information…"
+msgstr ""
+
+msgid "Signed in as:"
+msgstr ""
+
+msgid "Learn More About Crowdin"
+msgstr ""
+
+msgid "Learn more about Crowdin"
+msgstr ""
+
+msgid "Open Crowdin translation"
+msgstr ""
+
+msgid "Project:"
+msgstr "Праект:"
+
+msgid "Language:"
+msgstr "Мова:"
+
+msgid "File:"
+msgstr "Файл:"
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr ""
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr ""
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr ""
+
+msgid "Downloading latest translations…"
+msgstr ""
+
+msgid "Syncing with Crowdin"
+msgstr ""
+
+msgid "Syncing with Crowdin failed."
+msgstr ""
+
+msgid "Crowdin error"
msgstr ""
+msgid "Uploading translations…"
+msgstr ""
+
+msgid "&Copy"
+msgstr "&Капіяваць"
+
msgid "Learn more"
msgstr ""
@@ -148,6 +234,9 @@ msgstr ""
msgid "don't delete temporary files (for debugging)"
msgstr ""
+msgid "handle a poedit:// URI"
+msgstr ""
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr ""
@@ -158,12 +247,6 @@ msgstr ""
msgid "Open catalog"
msgstr "Адчыніць каталог"
-msgid "All Files"
-msgstr ""
-
-msgid "PO Translation Files"
-msgstr ""
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "Файл '%s' не існуе."
@@ -172,13 +255,13 @@ msgstr "Файл '%s' не існуе."
#. ("Poedit" here, but please use "%s")
#, c-format
msgid "About %s"
-msgstr ""
+msgstr "Пра %s"
#. TRANSLATORS: This is version information in about dialog, "%s" will be
#. version number when used
#, c-format
msgid "Version %s"
-msgstr ""
+msgstr "Версія %s"
msgid "Poedit is an easy to use translations editor."
msgstr ""
@@ -271,13 +354,13 @@ msgid "Enter Full Screen"
msgstr ""
msgid "Window"
-msgstr ""
+msgstr "Акно"
msgid "Minimize"
-msgstr ""
+msgstr "Згарнуць"
msgid "Zoom"
-msgstr ""
+msgstr "Маштаб"
msgid "Bring All to Front"
msgstr ""
@@ -314,7 +397,7 @@ msgid "&Paste"
msgstr ""
msgid "Paste"
-msgstr ""
+msgstr "Уставіць"
msgid "&Delete"
msgstr ""
@@ -323,7 +406,7 @@ msgid "Select &All"
msgstr ""
msgid "Select All"
-msgstr ""
+msgstr "Вылучыць усё"
#. TRANSLATORS: Keyboard shortcut for display in Windows menus
#. TRANSLATORS: This is the key shortcut used in menus on Windows, some languages call them differently
@@ -345,11 +428,11 @@ msgstr ""
#. TRANSLATORS: Keyboard shortcut for display in Windows menus
msgid "Up"
-msgstr ""
+msgstr "Угару"
#. TRANSLATORS: Keyboard shortcut for display in Windows menus
msgid "Down"
-msgstr ""
+msgstr "Уніз"
#. TRANSLATORS: Keyboard shortcut, must correspond to translation of "Ctrl+"
msgid "ctrl"
@@ -380,7 +463,7 @@ msgid "&Go"
msgstr ""
msgid "Source text:"
-msgstr ""
+msgstr "Зыходны тэкст:"
msgid "Singular:"
msgstr "Адзіночны:"
@@ -389,6 +472,17 @@ msgid "Plural:"
msgstr "Множны:"
msgid "Translation:"
+msgstr "Пераклад:"
+
+msgid ""
+"POT files are only templates and don’t contain any translations themselves.\n"
+"To make a translation, create a new PO file based on the template."
+msgstr ""
+
+msgid "Create New Translation"
+msgstr ""
+
+msgid "Create new translation"
msgstr ""
#. TRANSLATORS: %s is language name in its basic form (as you
@@ -400,7 +494,7 @@ msgid ""
msgstr ""
msgid "Install"
-msgstr ""
+msgstr "Усталяваць"
msgid "Catalog modified. Do you want to save changes?"
msgstr "Каталог зменены. Вы жадаеце захаваць змяненні?"
@@ -412,7 +506,7 @@ msgid "Your changes will be lost if you don't save them."
msgstr ""
msgid "Save"
-msgstr ""
+msgstr "Захаваць"
msgid "Don't save"
msgstr ""
@@ -438,9 +532,6 @@ msgstr ""
msgid "Open catalog template"
msgstr "Адчыніць узор каталога"
-msgid "POT Translation Templates"
-msgstr ""
-
msgid "Updating catalog"
msgstr ""
@@ -511,16 +602,18 @@ msgstr[2] ""
msgid "The translation is ready for use."
msgstr ""
-msgid "No references to this string found."
-msgstr "Не знойдзены спасылкі на гэты радок."
-
-msgid "Please choose the reference you want to show:"
-msgstr "Выберыце, калі ласка, спасылку, якую вы хочаце пабачыць:"
+msgid "Context:"
+msgstr "Кантэкст:"
-msgid "References"
-msgstr "Спасылкі"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr ""
-msgid "Context:"
+msgid ""
+"The file contained duplicate items, which is not allowed in PO files and "
+"would prevent the file from being used. Poedit fixed the issue, but you "
+"should review translations of any items marked as fuzzy and correct them if "
+"necessary."
msgstr ""
msgid "Language of the translation isn't set."
@@ -532,6 +625,21 @@ msgstr ""
msgid "Set language"
msgstr ""
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid ""
+"Suggestions are not available if the translation language is not set "
+"correctly. Other features, such as plural forms, may be affected as well."
+msgstr ""
+
+msgid "Language of the translation is the same as source language."
+msgstr ""
+
+msgid "Fix Language"
+msgstr ""
+
+msgid "Fix language"
+msgstr ""
+
msgid ""
"This catalog has entries with plural forms, but doesn't have Plural-Forms "
"header configured."
@@ -562,6 +670,7 @@ msgstr ""
msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr ""
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr ""
@@ -584,6 +693,13 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
msgid " (unsaved)"
msgstr ""
@@ -635,7 +751,7 @@ msgid ""
msgstr ""
msgid "Fill"
-msgstr ""
+msgstr "Запоўніць"
#, c-format
msgid "%d entry was filled from the translation memory."
@@ -687,7 +803,7 @@ msgid "Edit comment"
msgstr "Рэдагаваць каментар"
msgid "Edit Comment"
-msgstr ""
+msgstr "Рэдагаваць каментар"
msgid "References:"
msgstr "Спасылкі:"
@@ -699,6 +815,9 @@ msgstr ""
msgid "Form %i"
msgstr ""
+msgid "Singular"
+msgstr "Адзіночны"
+
msgid "Zero"
msgstr ""
@@ -708,11 +827,14 @@ msgstr ""
msgid "Two"
msgstr ""
+msgid "Plural"
+msgstr "Множны"
+
msgid "Other"
-msgstr ""
+msgstr "Iншае"
msgid "&Bookmarks"
-msgstr ""
+msgstr "&Закладкі"
#, c-format
msgid "Set bookmark %i"
@@ -731,18 +853,28 @@ msgid "Go to Bookmark %i"
msgstr ""
msgid "Hide Sidebar"
-msgstr ""
+msgstr "Схаваць Бакавую панэль"
msgid "Show Sidebar"
+msgstr "Паказаць Бакавую панэль"
+
+msgid "Hide Status Bar"
+msgstr "Схаваць радок стану"
+
+msgid "Show Status Bar"
msgstr ""
msgid "Source text"
-msgstr ""
+msgstr "Зыходны тэкст"
msgid "Translation"
msgstr "Пераклад"
msgid "ID"
+msgstr "ID"
+
+#, c-format
+msgid "Source text — %s"
msgstr ""
msgid "unknown language"
@@ -753,59 +885,75 @@ msgid "Translation — %s"
msgstr ""
msgid "Error:"
+msgstr "Памылка:"
+
+msgid "Source file"
+msgstr "Зыходны файл"
+
+msgid "Source file occurrence:"
msgstr ""
-msgid "Project info"
-msgstr "Звесткі аб праекце"
+msgid "Open in Editor"
+msgstr ""
-msgid "Project name and version:"
-msgstr "Назва і версія праекта:"
+msgid "Open in editor"
+msgstr ""
-msgid "Language:"
-msgstr "Мова:"
+msgid "No references for the selected item."
+msgstr ""
-msgid "Team:"
-msgstr "Каманда:"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "Памылка адчынення файла %s!"
-msgid "Team's email address:"
-msgstr "Э-паштовы адрас каманды:"
+msgid "Find"
+msgstr "Знайсці"
-msgid "Charset:"
-msgstr "Сукупнасць знакаў:"
+msgid "Replace"
+msgstr "Замяніць"
+
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr "Налады"
-msgid "Source"
+msgid "Ignore case"
msgstr ""
-msgid "Notes"
-msgstr "Заўвагі"
+msgid "Wrap around"
+msgstr ""
-msgid "Automatic translation"
-msgstr "Самастойны пераклад"
+msgid "Whole words only"
+msgstr ""
-msgid "Fuzzy translation"
-msgstr "Цьмяны пераклад"
+msgid "Find in source texts"
+msgstr ""
-msgid "Notes for translators:"
+msgid "Find in translations"
msgstr ""
-msgid "Comment:"
-msgstr "Каментар:"
+msgid "Find in comments"
+msgstr "Шукаць у перакладах"
-msgid "Source file"
-msgstr "Зыходны файл"
+msgid "Close"
+msgstr "Закрыць"
-msgid "Source file occurrence:"
+msgid "Replace All"
msgstr ""
-msgid "Open in Editor"
+msgid "Replace all"
msgstr ""
-msgid "Open in editor"
+msgid "< &Previous"
msgstr ""
-#, c-format
-msgid "Error opening file %s!"
-msgstr "Памылка адчынення файла %s!"
+msgid "&Next >"
+msgstr ""
+
+msgid "String to find"
+msgstr ""
+
+msgid "Replacement string"
+msgstr ""
#, c-format
msgid "Cannot execute program: %s"
@@ -924,7 +1072,7 @@ msgid "(requires Windows 8 or newer)"
msgstr ""
msgid "General"
-msgstr ""
+msgstr "Асноўныя"
msgid "Use translation memory"
msgstr ""
@@ -937,7 +1085,7 @@ msgstr ""
#. TRANSLATORS: This is a button that deletes everything in the translation memory (i.e. clears/resets it).
msgid "Reset"
-msgstr ""
+msgstr "Скінуць"
msgid "Consult TM when updating from sources"
msgstr ""
@@ -998,9 +1146,19 @@ msgstr "Новы"
msgid "Edit"
msgstr "Праўка"
+msgid "Delete extractor"
+msgstr ""
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr ""
+
msgid "Extractors"
msgstr ""
+msgid "Accounts"
+msgstr ""
+
msgid "Automatically check for updates"
msgstr ""
@@ -1037,9 +1195,36 @@ msgid "Preserve formatting of existing files"
msgstr ""
msgid "Advanced"
+msgstr "Пашыраныя налады"
+
+msgid ""
+"<big>Drag and Drop Folders Here</big>\n"
+"\n"
+"or use the + button"
msgstr ""
-msgid "Additional keywords"
+msgid ""
+"<big>Drag and drop folders here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid "Add Folders..."
+msgstr ""
+
+msgid "Add folders..."
+msgstr ""
+
+msgid "Add Files..."
+msgstr ""
+
+msgid "Add files..."
+msgstr ""
+
+msgid "Add Wildcard..."
+msgstr ""
+
+msgid "Add wildcard..."
msgstr ""
msgid "Paths"
@@ -1048,6 +1233,9 @@ msgstr "Шляхі"
msgid "Excluded paths"
msgstr ""
+msgid "Additional keywords"
+msgstr ""
+
msgid "Name of the project the translation is for"
msgstr ""
@@ -1060,6 +1248,9 @@ msgstr ""
msgid "Please save the file first. This section cannot be edited until then."
msgstr ""
+msgid "Comment:"
+msgstr "Каментар:"
+
msgid "OK"
msgstr "Добра"
@@ -1069,42 +1260,6 @@ msgstr ""
msgid "Clear the comment"
msgstr "Ачысціць каментар"
-msgid "Find..."
-msgstr "Знайсці..."
-
-msgid "String to find:"
-msgstr "Радок для пошуку:"
-
-msgid "Case sensitive"
-msgstr "Адрозніваць вялікія/малыя літары"
-
-msgid "Start from the first item"
-msgstr "Пачаць з першай адзінкі"
-
-msgid "Whole words only"
-msgstr ""
-
-msgid "Find in original strings"
-msgstr "Шукаць у першапачатковых радках"
-
-msgid "Find in translations"
-msgstr ""
-
-msgid "Find in comments"
-msgstr "Шукаць у перакладах"
-
-msgid "Find in automatic comments"
-msgstr "Шукаць у самаствораных каментарах"
-
-msgid "Close"
-msgstr ""
-
-msgid "< &Previous"
-msgstr ""
-
-msgid "&Next >"
-msgstr ""
-
msgid "Create new translations project"
msgstr "Стварыць новы праект перакладу"
@@ -1115,7 +1270,7 @@ msgid "Delete the project"
msgstr "Выдаліць праект"
msgid "Update all"
-msgstr ""
+msgstr "Абнавіць усё"
msgid "Update all catalogs in the project"
msgstr "Абнавіць усе каталогі праекта"
@@ -1159,6 +1314,12 @@ msgstr ""
msgid "Open Recent"
msgstr ""
+msgid "Open from Crowdin..."
+msgstr ""
+
+msgid "Open From Crowdin..."
+msgstr ""
+
msgid "&Save"
msgstr "&Захаваць"
@@ -1207,13 +1368,16 @@ msgstr ""
msgid "&Find..."
msgstr "&Знайсці..."
-msgid "Find next"
+msgid "Replace..."
msgstr ""
+msgid "Find next"
+msgstr "Знайсці нiжэй"
+
msgid "Find previous"
-msgstr ""
+msgstr "Знайсці вышэй"
-msgid "Find"
+msgid "Find and Replace..."
msgstr ""
msgid "Find Next"
@@ -1255,6 +1419,12 @@ msgstr ""
msgid "&Group By Context"
msgstr ""
+msgid "Entries with errors first"
+msgstr ""
+
+msgid "Entries with Errors First"
+msgstr ""
+
msgid "&Untranslated entries first"
msgstr ""
@@ -1264,6 +1434,9 @@ msgstr ""
msgid "Show sidebar"
msgstr ""
+msgid "Show status bar"
+msgstr ""
+
msgid "C&atalog"
msgstr "К&аталог"
@@ -1271,12 +1444,15 @@ msgid "&Update from sources"
msgstr "&Абнавіць з зыходнікаў"
msgid "&Update from Sources"
-msgstr ""
+msgstr "&Абнавіць з зыходнікаў"
msgid "Update from &POT file..."
msgstr "Абнавіць з файла &POT..."
msgid "Update from &POT File..."
+msgstr "Абнавіць з файла &POT..."
+
+msgid "Sync with Crowdin"
msgstr ""
msgid "Fill missing translations from &TM..."
@@ -1402,6 +1578,9 @@ msgstr ""
msgid "Catalog properties"
msgstr ""
+msgid "Project name and version:"
+msgstr "Назва і версія праекта:"
+
msgid "Plural Forms:"
msgstr "Множныя Формы:"
@@ -1414,6 +1593,15 @@ msgstr ""
msgid "Learn about plural forms"
msgstr ""
+msgid "Charset:"
+msgstr "Сукупнасць знакаў:"
+
+msgid "Team:"
+msgstr "Каманда:"
+
+msgid "Team's email address:"
+msgstr "Э-паштовы адрас каманды:"
+
msgid "Translation properties"
msgstr ""
@@ -1464,7 +1652,7 @@ msgid "(0 new, 0 obsolete)"
msgstr "(0 новых, 0 састарэлых)"
msgid "Open"
-msgstr ""
+msgstr "Адчыніць"
msgid "Save catalog"
msgstr "Захаваць каталог"
@@ -1476,7 +1664,7 @@ msgid "Check for errors in the translation"
msgstr ""
msgid "Update"
-msgstr ""
+msgstr "Абнавіць"
msgid "Update catalog - synchronize it with sources"
msgstr "Абнавіць каталог - сінхранізаваць яго з зыходнікамі"
@@ -1484,7 +1672,7 @@ msgstr "Абнавіць каталог - сінхранізаваць яго з
msgid "Toggled if selected string has fuzzy translation"
msgstr "Уключана, калі вылучаны радок мае цьмяны пераклад"
-msgid "Show or hide the sidebar."
+msgid "Show or hide the sidebar"
msgstr ""
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
@@ -1496,6 +1684,9 @@ msgid ""
"translation corresponds to."
msgstr ""
+msgid "Notes for translators:"
+msgstr ""
+
msgid "Add comment"
msgstr ""
@@ -1568,14 +1759,21 @@ msgstr ""
msgid "Open an existing PO file and edit the translation."
msgstr ""
-msgid "Create new translation"
-msgstr ""
-
msgid ""
"Take an existing PO file or POT template and create a new translation from "
"it."
msgstr ""
+msgid "Collaborate on a translation with Crowdin"
+msgstr ""
+
+msgid ""
+"Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+
+msgid "What is Crowdin?"
+msgstr ""
+
msgid "There are no translations. That’s unusual."
msgstr ""
@@ -1608,3 +1806,9 @@ msgstr ""
msgid "Configure source code extraction in Properties."
msgstr ""
+
+msgid "Sync"
+msgstr "Сінхранізацыя"
+
+msgid "Synchronize the translation with Crowdin"
+msgstr ""
diff --git a/locales/be at latin.mo b/locales/be at latin.mo
index fa0f9da..34b9c68 100644
Binary files a/locales/be at latin.mo and b/locales/be at latin.mo differ
diff --git a/locales/be at latin.po b/locales/be at latin.po
index 0e58e67..4c771b3 100644
--- a/locales/be at latin.po
+++ b/locales/be at latin.po
@@ -4,7 +4,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Poedit 1.6\n"
"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
+"POT-Creation-Date: 2015-05-13 18:47+0200\n"
"PO-Revision-Date: 2008-03-03 14:41+0200\n"
"Last-Translator: Alaksandar Navicki <zolak at lacinka.org>\n"
"Language-Team: \n"
@@ -89,6 +89,17 @@ msgstr ""
msgid "Error saving catalog"
msgstr "Pamyłka pry zapisie katalohu"
+#, fuzzy
+msgid "PO Translation Files"
+msgstr "Pamiać pierakładaŭ"
+
+#, fuzzy
+msgid "POT Translation Templates"
+msgstr "Pamiać pierakładaŭ"
+
+msgid "All Translation Files"
+msgstr ""
+
msgid "Merging differences..."
msgstr "Spałučeńnie roźnic..."
@@ -108,6 +119,83 @@ msgstr "Vybar movy"
msgid "You must restart Poedit for this change to take effect."
msgstr "Kab źmieny byli zachavanyja, treba ŭruchomić prahramu Poedit znoŭ."
+msgid "Downloading translations is disabled in this project."
+msgstr ""
+
+msgid "Not authorized, please sign in again."
+msgstr ""
+
+msgid "Sign in to Crowdin"
+msgstr ""
+
+msgid ""
+"Crowdin is an online localization management platform and collaborative "
+"translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+
+msgid "Sign In"
+msgstr ""
+
+msgid "Sign in"
+msgstr ""
+
+msgid "Sign Out"
+msgstr ""
+
+msgid "Sign out"
+msgstr ""
+
+msgid "Waiting for authentication…"
+msgstr ""
+
+msgid "Updating user information…"
+msgstr ""
+
+msgid "Signed in as:"
+msgstr ""
+
+msgid "Learn More About Crowdin"
+msgstr ""
+
+msgid "Learn more about Crowdin"
+msgstr ""
+
+msgid "Open Crowdin translation"
+msgstr ""
+
+msgid "Project:"
+msgstr ""
+
+msgid "Language:"
+msgstr "Mova:"
+
+msgid "File:"
+msgstr ""
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr ""
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr ""
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr ""
+
+msgid "Downloading latest translations…"
+msgstr ""
+
+msgid "Syncing with Crowdin"
+msgstr ""
+
+msgid "Syncing with Crowdin failed."
+msgstr ""
+
+msgid "Crowdin error"
+msgstr ""
+
+msgid "Uploading translations…"
+msgstr ""
+
msgid "&Copy"
msgstr ""
@@ -153,6 +241,9 @@ msgstr ""
msgid "don't delete temporary files (for debugging)"
msgstr ""
+msgid "handle a poedit:// URI"
+msgstr ""
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr ""
@@ -163,14 +254,6 @@ msgstr ""
msgid "Open catalog"
msgstr "Adčyni kataloh"
-#, fuzzy
-msgid "All Files"
-msgstr "Dadaj fajły"
-
-#, fuzzy
-msgid "PO Translation Files"
-msgstr "Pamiać pierakładaŭ"
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "Fajł '%s' nie isnuje."
@@ -406,6 +489,18 @@ msgstr "Množny lik:"
msgid "Translation:"
msgstr "Pierakład"
+msgid ""
+"POT files are only templates and don’t contain any translations themselves.\n"
+"To make a translation, create a new PO file based on the template."
+msgstr ""
+
+msgid "Create New Translation"
+msgstr ""
+
+#, fuzzy
+msgid "Create new translation"
+msgstr "Stvary novy prajekt pierakładaŭ"
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
@@ -455,10 +550,6 @@ msgid "Open catalog template"
msgstr "Adčyni šablon katalohu"
#, fuzzy
-msgid "POT Translation Templates"
-msgstr "Pamiać pierakładaŭ"
-
-#, fuzzy
msgid "Updating catalog"
msgstr "Aktualizacyja katalohu..."
@@ -537,19 +628,21 @@ msgstr[2] "Pierakład &sumniŭny"
msgid "The translation is ready for use."
msgstr "Pierakład &sumniŭny"
-msgid "No references to this string found."
-msgstr "Spasyłak da hetaj frazy nia znojdziena."
-
-msgid "Please choose the reference you want to show:"
-msgstr "Abiary spasyłku, jakuju ty chočaš pakazać:"
-
-msgid "References"
-msgstr "Spasyłki"
-
#, fuzzy
msgid "Context:"
msgstr "Kryničny fajł"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr ""
+
+msgid ""
+"The file contained duplicate items, which is not allowed in PO files and "
+"would prevent the file from being used. Poedit fixed the issue, but you "
+"should review translations of any items marked as fuzzy and correct them if "
+"necessary."
+msgstr ""
+
msgid "Language of the translation isn't set."
msgstr ""
@@ -561,6 +654,21 @@ msgstr "Abiary movu"
msgid "Set language"
msgstr "Abiary movu"
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid ""
+"Suggestions are not available if the translation language is not set "
+"correctly. Other features, such as plural forms, may be affected as well."
+msgstr ""
+
+msgid "Language of the translation is the same as source language."
+msgstr ""
+
+msgid "Fix Language"
+msgstr ""
+
+msgid "Fix language"
+msgstr ""
+
msgid ""
"This catalog has entries with plural forms, but doesn't have Plural-Forms "
"header configured."
@@ -591,6 +699,7 @@ msgstr ""
msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr ""
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr ""
@@ -613,6 +722,13 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
msgid " (unsaved)"
msgstr ""
@@ -739,6 +855,9 @@ msgstr ""
msgid "Form %i"
msgstr "Forma %i"
+msgid "Singular"
+msgstr ""
+
msgid "Zero"
msgstr ""
@@ -748,6 +867,9 @@ msgstr ""
msgid "Two"
msgstr ""
+msgid "Plural"
+msgstr ""
+
msgid "Other"
msgstr ""
@@ -776,6 +898,12 @@ msgstr ""
msgid "Show Sidebar"
msgstr ""
+msgid "Hide Status Bar"
+msgstr ""
+
+msgid "Show Status Bar"
+msgstr ""
+
#, fuzzy
msgid "Source text"
msgstr "Kryničny fajł"
@@ -786,6 +914,10 @@ msgstr "Pierakład"
msgid "ID"
msgstr ""
+#, c-format
+msgid "Source text — %s"
+msgstr ""
+
msgid "unknown language"
msgstr ""
@@ -796,62 +928,81 @@ msgstr "Pierakład"
msgid "Error:"
msgstr ""
-msgid "Project info"
-msgstr "Pra prajekt"
+msgid "Source file"
+msgstr "Kryničny fajł"
-msgid "Project name and version:"
-msgstr "Nazva prajektu i versija:"
+#, fuzzy
+msgid "Source file occurrence:"
+msgstr "Kryničny fajł"
-msgid "Language:"
-msgstr "Mova:"
+#, fuzzy
+msgid "Open in Editor"
+msgstr "Redaktar"
-msgid "Team:"
-msgstr "Supołka:"
+#, fuzzy
+msgid "Open in editor"
+msgstr "Redaktar"
-msgid "Team's email address:"
-msgstr "Adras email supołki:"
+msgid "No references for the selected item."
+msgstr ""
-msgid "Charset:"
-msgstr "Nabor znakaŭ:"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "Pamyłka pry adčynieńni fajłu %s!"
#, fuzzy
-msgid "Source"
-msgstr "Kryničny fajł"
+msgid "Find"
+msgstr "Znajdzi..."
-msgid "Notes"
-msgstr "Natatki"
+msgid "Replace"
+msgstr ""
-msgid "Automatic translation"
-msgstr "Aŭtamatyčny pierakład"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr ""
-msgid "Fuzzy translation"
-msgstr "Sumniŭny pierakład"
+msgid "Ignore case"
+msgstr ""
-#, fuzzy
-msgid "Notes for translators:"
-msgstr "Aŭtamatyčnyja pierakłady:"
+msgid "Wrap around"
+msgstr ""
-msgid "Comment:"
-msgstr "Kamentar:"
+msgid "Whole words only"
+msgstr "Tolki cełyja słovy"
-msgid "Source file"
-msgstr "Kryničny fajł"
+msgid "Find in source texts"
+msgstr ""
#, fuzzy
-msgid "Source file occurrence:"
-msgstr "Kryničny fajł"
+msgid "Find in translations"
+msgstr "Pierakład"
+
+msgid "Find in comments"
+msgstr "Znajdzi ŭ kamentaroch"
#, fuzzy
-msgid "Open in Editor"
-msgstr "Redaktar"
+msgid "Close"
+msgstr "Za&čyni"
+
+msgid "Replace All"
+msgstr ""
+
+msgid "Replace all"
+msgstr ""
#, fuzzy
-msgid "Open in editor"
-msgstr "Redaktar"
+msgid "< &Previous"
+msgstr "< Papiaredni"
-#, c-format
-msgid "Error opening file %s!"
-msgstr "Pamyłka pry adčynieńni fajłu %s!"
+#, fuzzy
+msgid "&Next >"
+msgstr "Nastupny >"
+
+msgid "String to find"
+msgstr ""
+
+msgid "Replacement string"
+msgstr ""
#, fuzzy, c-format
msgid "Cannot execute program: %s"
@@ -1060,10 +1211,20 @@ msgstr "Novy"
msgid "Edit"
msgstr "Redahuj"
+msgid "Delete extractor"
+msgstr ""
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr ""
+
#, fuzzy
msgid "Extractors"
msgstr "&Aktualizuj z krynicaŭ"
+msgid "Accounts"
+msgstr ""
+
#, fuzzy
msgid "Automatically check for updates"
msgstr "Aŭtamatyčna praviaraj najaŭnaść novaj versii Poedit"
@@ -1105,9 +1266,35 @@ msgstr ""
msgid "Advanced"
msgstr ""
-#, fuzzy
-msgid "Additional keywords"
-msgstr "Abjekt u śpisie klučavych słovaŭ:"
+msgid ""
+"<big>Drag and Drop Folders Here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid ""
+"<big>Drag and drop folders here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid "Add Folders..."
+msgstr ""
+
+msgid "Add folders..."
+msgstr ""
+
+msgid "Add Files..."
+msgstr ""
+
+msgid "Add files..."
+msgstr ""
+
+msgid "Add Wildcard..."
+msgstr ""
+
+msgid "Add wildcard..."
+msgstr ""
msgid "Paths"
msgstr "Ściežki"
@@ -1116,6 +1303,10 @@ msgid "Excluded paths"
msgstr ""
#, fuzzy
+msgid "Additional keywords"
+msgstr "Abjekt u śpisie klučavych słovaŭ:"
+
+#, fuzzy
msgid "Name of the project the translation is for"
msgstr "Spasyłak da hetaj frazy nia znojdziena."
@@ -1128,6 +1319,9 @@ msgstr ""
msgid "Please save the file first. This section cannot be edited until then."
msgstr ""
+msgid "Comment:"
+msgstr "Kamentar:"
+
msgid "OK"
msgstr "OK"
@@ -1138,46 +1332,6 @@ msgstr "Vyčyść"
msgid "Clear the comment"
msgstr "Vyčyść hety kamentar"
-msgid "Find..."
-msgstr "Znajdzi..."
-
-msgid "String to find:"
-msgstr "Šukanaja fraza:"
-
-msgid "Case sensitive"
-msgstr "Uličvaj vieličyniu litar"
-
-msgid "Start from the first item"
-msgstr "Pačni ad pieršaha elementu"
-
-msgid "Whole words only"
-msgstr "Tolki cełyja słovy"
-
-msgid "Find in original strings"
-msgstr "Znajdzi ŭ aryhinalnych frazach"
-
-#, fuzzy
-msgid "Find in translations"
-msgstr "Pierakład"
-
-msgid "Find in comments"
-msgstr "Znajdzi ŭ kamentaroch"
-
-msgid "Find in automatic comments"
-msgstr "Znajdzi ŭ aŭtamatyčnych kamentaroch"
-
-#, fuzzy
-msgid "Close"
-msgstr "Za&čyni"
-
-#, fuzzy
-msgid "< &Previous"
-msgstr "< Papiaredni"
-
-#, fuzzy
-msgid "&Next >"
-msgstr "Nastupny >"
-
msgid "Create new translations project"
msgstr "Stvary novy prajekt pierakładaŭ"
@@ -1237,6 +1391,12 @@ msgstr "&Adčyni..."
msgid "Open Recent"
msgstr "Adčyni kataloh"
+msgid "Open from Crowdin..."
+msgstr ""
+
+msgid "Open From Crowdin..."
+msgstr ""
+
msgid "&Save"
msgstr "&Zapišy"
@@ -1292,6 +1452,9 @@ msgstr "&Pakazvaj spasyłki"
msgid "&Find..."
msgstr "&Znajdzi..."
+msgid "Replace..."
+msgstr ""
+
#, fuzzy
msgid "Find next"
msgstr "Znajdzi ŭ kamentaroch"
@@ -1300,9 +1463,8 @@ msgstr "Znajdzi ŭ kamentaroch"
msgid "Find previous"
msgstr "< Papiaredni"
-#, fuzzy
-msgid "Find"
-msgstr "Znajdzi..."
+msgid "Find and Replace..."
+msgstr ""
#, fuzzy
msgid "Find Next"
@@ -1351,6 +1513,12 @@ msgstr ""
msgid "&Group By Context"
msgstr ""
+msgid "Entries with errors first"
+msgstr ""
+
+msgid "Entries with Errors First"
+msgstr ""
+
msgid "&Untranslated entries first"
msgstr ""
@@ -1360,6 +1528,9 @@ msgstr ""
msgid "Show sidebar"
msgstr ""
+msgid "Show status bar"
+msgstr ""
+
msgid "C&atalog"
msgstr "K&ataloh"
@@ -1377,6 +1548,9 @@ msgstr "Aktualizuj z fajłu &POT..."
msgid "Update from &POT File..."
msgstr "Aktualizuj z fajłu &POT..."
+msgid "Sync with Crowdin"
+msgstr ""
+
#, fuzzy
msgid "Fill missing translations from &TM..."
msgstr "Znajdzi ŭ pierakładach"
@@ -1522,6 +1696,9 @@ msgstr ""
msgid "Catalog properties"
msgstr ""
+msgid "Project name and version:"
+msgstr "Nazva prajektu i versija:"
+
msgid "Plural Forms:"
msgstr "Formy množnaha liku:"
@@ -1535,6 +1712,15 @@ msgstr ""
msgid "Learn about plural forms"
msgstr ""
+msgid "Charset:"
+msgstr "Nabor znakaŭ:"
+
+msgid "Team:"
+msgstr "Supołka:"
+
+msgid "Team's email address:"
+msgstr "Adras email supołki:"
+
#, fuzzy
msgid "Translation properties"
msgstr "Pamiać pierakładaŭ"
@@ -1613,7 +1799,7 @@ msgstr "Aktualizuj kataloh – synchranizuj jaho z krynicami"
msgid "Toggled if selected string has fuzzy translation"
msgstr "Uklučana, kali dla zaznačanaj frazy jość sumniŭny pierakład"
-msgid "Show or hide the sidebar."
+msgid "Show or hide the sidebar"
msgstr ""
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
@@ -1627,6 +1813,10 @@ msgid ""
msgstr ""
#, fuzzy
+msgid "Notes for translators:"
+msgstr "Aŭtamatyčnyja pierakłady:"
+
+#, fuzzy
msgid "Add comment"
msgstr "Redahuj kamentar"
@@ -1709,15 +1899,21 @@ msgstr "Pierakład"
msgid "Open an existing PO file and edit the translation."
msgstr ""
-#, fuzzy
-msgid "Create new translation"
-msgstr "Stvary novy prajekt pierakładaŭ"
-
msgid ""
"Take an existing PO file or POT template and create a new translation from "
"it."
msgstr ""
+msgid "Collaborate on a translation with Crowdin"
+msgstr ""
+
+msgid ""
+"Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+
+msgid "What is Crowdin?"
+msgstr ""
+
msgid "There are no translations. That’s unusual."
msgstr ""
@@ -1752,3 +1948,9 @@ msgstr "&Aktualizuj z krynicaŭ"
msgid "Configure source code extraction in Properties."
msgstr ""
+
+msgid "Sync"
+msgstr ""
+
+msgid "Synchronize the translation with Crowdin"
+msgstr ""
diff --git a/locales/bg.mo b/locales/bg.mo
index 86f46f4..89a28f2 100644
Binary files a/locales/bg.mo and b/locales/bg.mo differ
diff --git a/locales/bg.po b/locales/bg.po
index 5c587aa..8714c5d 100644
--- a/locales/bg.po
+++ b/locales/bg.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:33-0400\n"
+"POT-Creation-Date: 2015-05-13 18:47+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Bulgarian\n"
"Language: bg_BG\n"
@@ -54,12 +54,12 @@ msgid ""
"There were errors when loading the catalog. Some data may be missing or "
"corrupted as the result."
msgstr ""
-"По време на зареждането на каталога се появиха грешки. Някои данни може да "
-"липсват или да са неправилни."
+"Имаше грешки при зареждане на каталога. Може да има липсващи или повредени "
+"данни."
#, c-format
msgid "Couldn't load file %s, it is probably corrupted."
-msgstr "Грешка при отваряне на файл „%s“, вероятно е повреден."
+msgstr "Грешка при отваряне на файлът „%s“, той вероятно е повреден."
#, c-format
msgid ""
@@ -67,7 +67,7 @@ msgid ""
"Please save it under different name."
msgstr ""
"Файлът „%s“ е без право на запис.\n"
-"Запазете го под различно име."
+"Запазете го под друго име."
#, c-format
msgid "Couldn't save file %s."
@@ -84,15 +84,24 @@ msgid ""
"\n"
"It was saved in UTF-8 instead and the setting was modified accordingly."
msgstr ""
-"Този каталог не може да бъде запазен в знаков набор „%s“,\n"
-"както е указано в настройките. Вместо това е запазен\n"
+"Този каталог не може да бъде запазен в знаковият набор „%s“,\n"
+"указан в настройките. Вместо това е запазен\n"
"в UTF-8, а настройките са променени."
msgid "Error saving catalog"
msgstr "Грешка при запазване на каталога"
+msgid "PO Translation Files"
+msgstr "Файлове с преводи"
+
+msgid "POT Translation Templates"
+msgstr "Шаблон за преводи"
+
+msgid "All Translation Files"
+msgstr "Всички файлове за превод"
+
msgid "Merging differences..."
-msgstr "Вмъкване на разликите…"
+msgstr "Обединяване на разликите…"
#, c-format
msgid "'%s' is not a valid POT file."
@@ -105,16 +114,96 @@ msgid "Select your preferred language"
msgstr "Избиране на предпочитан език"
msgid "Language selection"
-msgstr "Избор на език"
+msgstr "Избиране на език"
msgid "You must restart Poedit for this change to take effect."
-msgstr "За да има ефект тази промяна трябва да отворите отново Poedit."
+msgstr "Трябва да рестартирате Poedit, за да влезе в сила тази промяна."
+
+msgid "Downloading translations is disabled in this project."
+msgstr "Изтеглянето на преводи е изключено за този проект."
+
+msgid "Not authorized, please sign in again."
+msgstr "Не сте удостоверени, моля, впишете се отново."
+
+msgid "Sign in to Crowdin"
+msgstr "Вписване се в Crowdin"
+
+msgid ""
+"Crowdin is an online localization management platform and collaborative "
+"translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+"Crowdin е онлайн платформа за управление на локализации и инструмент за "
+"съвместни преводи. Poedit може безпроблемно да синхронизира PO, управлявани "
+"от Crowdin."
+
+msgid "Sign In"
+msgstr "Вписване"
+
+msgid "Sign in"
+msgstr "Вписване"
+
+msgid "Sign Out"
+msgstr "Изход"
+
+msgid "Sign out"
+msgstr "Изход"
+
+msgid "Waiting for authentication…"
+msgstr "Изчакване за удостоверяване…"
+
+msgid "Updating user information…"
+msgstr "Актуализиране на информацията на потребителя…"
+
+msgid "Signed in as:"
+msgstr "Вписани като:"
+
+msgid "Learn More About Crowdin"
+msgstr "Научете повече за Crowdin"
+
+msgid "Learn more about Crowdin"
+msgstr "Научете повече за Crowdin"
+
+msgid "Open Crowdin translation"
+msgstr "Отваряне на превод от Crowdin"
+
+msgid "Project:"
+msgstr "Проект:"
+
+msgid "Language:"
+msgstr "Език:"
+
+msgid "File:"
+msgstr "Файл:"
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr "Няма проекти за превод във вашия профил в Crowdin."
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr "Този проект няма файлове, които да могат да бъдат преведени с Poedit."
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr "Този файл може да бъде редактиран само през уеб интерфейса на Crowdin."
+
+msgid "Downloading latest translations…"
+msgstr "Изтегляне на последните преводи…"
+
+msgid "Syncing with Crowdin"
+msgstr "Синхронизиране с Crowdin"
+
+msgid "Syncing with Crowdin failed."
+msgstr "Неуспешно синхронизиране с Crowdin."
+
+msgid "Crowdin error"
+msgstr "Грешка в Crowdin"
+
+msgid "Uploading translations…"
+msgstr "Изпращане на преводи…"
msgid "&Copy"
msgstr "&Копиране"
msgid "Learn more"
-msgstr "Научете още"
+msgstr "Научете повече"
msgid "Learn More"
msgstr "Научете повече"
@@ -124,7 +213,7 @@ msgid "Failed command: %s"
msgstr "Неуспешна команда: %s"
msgid "Failed to merge gettext catalogs."
-msgstr "Каталозите на gettext не могат да бъдат слети."
+msgstr "Неуспешно обединяване на каталози на gettext."
msgid "Scanning files..."
msgstr "Обработка на файловете…"
@@ -156,6 +245,9 @@ msgstr ""
msgid "don't delete temporary files (for debugging)"
msgstr "временните файлове да не бъдат изтривани (при проблеми)"
+msgid "handle a poedit:// URI"
+msgstr "управление на схемата poedit://"
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr "Неприхванато изключение: %s"
@@ -166,12 +258,6 @@ msgstr "Неприхванато изключение."
msgid "Open catalog"
msgstr "Отваряне на каталог"
-msgid "All Files"
-msgstr "Всички файлове"
-
-msgid "PO Translation Files"
-msgstr "Файлове с преводи"
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "Файлът „%s“ не съществува!"
@@ -195,13 +281,13 @@ msgid "Catalogs Manager"
msgstr "&Управление на каталози"
msgid "Check for Updates..."
-msgstr "Проверка за &актуализация…"
+msgstr "Проверка за &актуализация"
msgid "&Edit"
-msgstr "&Редакция"
+msgstr "&Редактиране"
msgid "Undo"
-msgstr "Връщане"
+msgstr "Отмяна"
msgid "Redo"
msgstr "Повтаряне"
@@ -222,7 +308,7 @@ msgid "Check Document Now"
msgstr "Проверка на документа"
msgid "Check Spelling While Typing"
-msgstr "Проверка на правописа в реално време"
+msgstr "Проверка на правописа при въвеждане"
msgid "Check Grammar With Spelling"
msgstr "Проверка на правописа"
@@ -237,7 +323,7 @@ msgid "Show Substitutions"
msgstr "Показване на замествания"
msgid "Smart Copy/Paste"
-msgstr "Умни копиране и поставяне"
+msgstr "Умно копиране и поставяне"
msgid "Smart Quotes"
msgstr "Умни кавички"
@@ -249,7 +335,7 @@ msgid "Smart Links"
msgstr "Умни връзки"
msgid "Text Replacement"
-msgstr "Замяна на текст"
+msgstr "Заместване на текст"
msgid "Transformations"
msgstr "Трансформации"
@@ -297,11 +383,11 @@ msgid "The file cannot be opened."
msgstr "Файлът не може да бъде отворен."
msgid "Invalid file"
-msgstr "Новалиден файл"
+msgstr "Невалиден файл"
msgid ""
"The file may be either corrupted or in a format not recognized by Poedit."
-msgstr "Файлът вероятно е повреден или е непознат за Poedit тип."
+msgstr "Файлът може да е повреден или е непознат за Poedit формат."
msgid "&Undo"
msgstr "&Отмяна"
@@ -376,7 +462,7 @@ msgstr "Не може да пускате повече от един файл в
#, c-format
msgid "File '%s' is not a message catalog."
-msgstr "Файлът „%s“ не е каталог със съобщения."
+msgstr "Файлът „%s“ не е файл за превод."
msgid "Poedit"
msgstr "Poedit"
@@ -399,6 +485,19 @@ msgstr "Множествено число:"
msgid "Translation:"
msgstr "Превод:"
+msgid ""
+"POT files are only templates and don’t contain any translations themselves.\n"
+"To make a translation, create a new PO file based on the template."
+msgstr ""
+"Файловете POT са само шаблони и сами по себе си не съдържат преводи.\n"
+"За да започнете превод създайте нов файл PO базиран на този шаблон."
+
+msgid "Create New Translation"
+msgstr "Създаване на превод"
+
+msgid "Create new translation"
+msgstr "Създаване на &нов превод"
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
@@ -418,7 +517,7 @@ msgid "Save changes"
msgstr "Запазване на промените"
msgid "Your changes will be lost if you don't save them."
-msgstr "Направени промени ще бъдат загубени ако не бъдат запазени."
+msgstr "Направените промени ще бъдат загубени ако не бъдат запазени."
msgid "Save"
msgstr "&Запазване"
@@ -447,9 +546,6 @@ msgstr "HTML файлове"
msgid "Open catalog template"
msgstr "Отваряне на шаблон на каталог"
-msgid "POT Translation Templates"
-msgstr "Шаблон за преводи"
-
msgid "Updating catalog"
msgstr "Актуализация на каталог"
@@ -467,7 +563,7 @@ msgstr ""
"открит на мястото, посочено в настройките на каталога."
msgid "Entries in the catalog are probably incorrect."
-msgstr "Файловете в каталога вероятно са неправилни."
+msgstr "Низовете в каталога вероятно са неправилни."
msgid "Updating the catalog failed. Click on 'Details >>' for details."
msgstr "Неуспешна актуализация на каталога. За подробности натиснете „Още»“."
@@ -475,8 +571,8 @@ msgstr "Неуспешна актуализация на каталога. За
#, c-format
msgid "%d issue with the translation found."
msgid_plural "%d issues with the translation found."
-msgstr[0] "%d проблем с превода е установен."
-msgstr[1] "%d проблема с превода са установени."
+msgstr[0] "С превода има %d проблем."
+msgstr[1] "С превода има %d проблема."
msgid "Validation results"
msgstr "Резултат от валидиране"
@@ -485,8 +581,8 @@ msgid ""
"Entries with errors were marked in red in the list. Details of the error "
"will be shown when you select such an entry."
msgstr ""
-"Низовете с грешки са маркирани с червено в списъка. Подробности ще бъде "
-"показани, когато изберете такъв запис."
+"Низовете с грешки са разграничени в списъка с червен цвят на фона. "
+"Подробности ще бъдат показани, когато изберете такъв запис."
msgid "The file was saved safely."
msgstr "Файлът беше запазен."
@@ -525,26 +621,49 @@ msgstr[1] "Преводът е готов за използване, но все
msgid "The translation is ready for use."
msgstr "Преводът е готов за използване."
-msgid "No references to this string found."
-msgstr "Не са открити позовавания на този низ."
-
-msgid "Please choose the reference you want to show:"
-msgstr "Изберете позоваването, което да бъде показано:"
-
-msgid "References"
-msgstr "Позоваване"
-
msgid "Context:"
msgstr "Контекст:"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr "PoEdit автоматично оправи невалидно съдържание във файла „%s“."
+
+msgid ""
+"The file contained duplicate items, which is not allowed in PO files and "
+"would prevent the file from being used. Poedit fixed the issue, but you "
+"should review translations of any items marked as fuzzy and correct them if "
+"necessary."
+msgstr ""
+"Файлът съдържа дублирани елементи, което е непозволено във файлове PO и ще "
+"пречат на използването му. PoEdit оправя този проблем, но трябва да "
+"прегледате преводите на всички, маркирани като мъгляви, елементи и ако е "
+"необходимо да ги коригирате."
+
msgid "Language of the translation isn't set."
msgstr "Липсва език на превода."
msgid "Set Language"
-msgstr "Избор на език"
+msgstr "Избиране на език"
msgid "Set language"
-msgstr "Избор на език"
+msgstr "Избиране на език"
+
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid ""
+"Suggestions are not available if the translation language is not set "
+"correctly. Other features, such as plural forms, may be affected as well."
+msgstr ""
+"Предложенията са недостъпни за неправилно конфигурирани езици. Други "
+"възможности като формите за множествено число също може да бъдат засегнати."
+
+msgid "Language of the translation is the same as source language."
+msgstr "Езикът на превода е същият като изходния език."
+
+msgid "Fix Language"
+msgstr "Промяна на езика"
+
+msgid "Fix language"
+msgstr "Промяна на езика"
msgid ""
"This catalog has entries with plural forms, but doesn't have Plural-Forms "
@@ -581,6 +700,7 @@ msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr ""
"Изразът за формите на множественото число на каталога е необичаен за %s език."
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr "Рецензия"
@@ -602,6 +722,12 @@ msgid_plural "%d errors"
msgstr[0] "%d грешка"
msgstr[1] "%d грешки"
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] "%d елемент"
+msgstr[1] "%d елемента"
+
msgid " (unsaved)"
msgstr " (незапазен)"
@@ -626,9 +752,9 @@ msgid ""
"permanently removed. You will have to translate them again if they are added "
"back in the future."
msgstr ""
-"Ако продължите с прочистването, всички преводи, маркирани като изтрити ще "
-"бъдат премахнати. Ще трябва да ги преведете отново, ако бъдат върнати в "
-"последствие."
+"Ако продължите с прочистването, всички преводи, обозначени като изтрити ще "
+"бъдат премахнати. Ще трябва да ги превеждате отново, ако в последствие бъдат "
+"върнати."
msgid "Keep"
msgstr "&Отказ"
@@ -646,18 +772,19 @@ msgid ""
"By default, inaccurate results are filled in as well and marked as fuzzy. "
"Check this option to only include accurate matches."
msgstr ""
-"По подразбиране неточните резултати се добавят, но се маркират като неясни. "
-"Отметнете, за да се добавят само точните съвпадения."
+"Стандартно неточните резултати се добавят, но се отбелязват като мъгляви. "
+"Отметнете, за да бъдат добавени само точните съвпадения."
msgid "Don’t mark exact matches as fuzzy"
-msgstr "Точните съвпадения да не бъдат маркирани като непълни"
+msgstr "Точните съвпадения да не бъдат отбелязвани като мъгляви"
msgid ""
"Only enable if you trust the quality of your TM. By default, all matches "
"from the TM are marked as fuzzy and should be reviewed."
msgstr ""
-"Включете само ако имате доверие в качеството на вашата ПП. Стандартно всички "
-"съвпадения от ПП са отбелязани като неясни и трябва да бъдат прегледани."
+"Отметнете само ако имате доверие в качеството на вашата ПП. Стандартно "
+"всички съвпадения от ПП са отбелязани като мъгляви и трябва да бъдат "
+"прегледани."
msgid "Fill"
msgstr "Попълване"
@@ -672,11 +799,11 @@ msgid ""
"The translations were marked as fuzzy, because they may be inaccurate. You "
"should review them for correctness."
msgstr ""
-"Преведените низове са маркирани като неясни, защото може да съдържат "
+"Преведените низове са отбелязани като мъгляви, защото може да съдържат "
"неточности. Трябва да бъдат прегледани."
msgid "No entries could be filled from the translation memory."
-msgstr "Нито един низ не можа да бъде преведен от паметта с преводи."
+msgstr "Нито един низ не беше преведен от паметта с преводи."
msgid ""
"The TM doesn’t contain any strings similar to the content of this file. It "
@@ -688,7 +815,7 @@ msgstr ""
"ръчно превеждате."
msgid "Translating"
-msgstr "Превевод"
+msgstr "Превод"
msgid "Filling missing translations from TM..."
msgstr "Превеждане от паметта с преводи…"
@@ -706,16 +833,16 @@ msgid "Copy from Source Text"
msgstr "Копиране от изходния текст"
msgid "Clear translation"
-msgstr "&Изтриване на превода"
+msgstr "И&зчистване на превода"
msgid "Clear Translation"
-msgstr "&Изтриване на преводa"
+msgstr "И&зчистване на преводa"
msgid "Edit comment"
-msgstr "Редакция на &коментар"
+msgstr "Редактиране на &коментар"
msgid "Edit Comment"
-msgstr "Редакция на &коментар"
+msgstr "Редактиране на &коментар"
msgid "References:"
msgstr "Позовавания:"
@@ -727,15 +854,21 @@ msgstr "Всичко"
msgid "Form %i"
msgstr "Форма %i"
+msgid "Singular"
+msgstr "Единствено число"
+
msgid "Zero"
msgstr "Нула"
msgid "One"
-msgstr "Един"
+msgstr "Едно"
msgid "Two"
msgstr "Два"
+msgid "Plural"
+msgstr "Множествено число"
+
msgid "Other"
msgstr "Повече"
@@ -764,6 +897,12 @@ msgstr "&Скриване странична лента"
msgid "Show Sidebar"
msgstr "&Видима странична лента"
+msgid "Hide Status Bar"
+msgstr "Скриване на лента за състоянието"
+
+msgid "Show Status Bar"
+msgstr "Показване на лента за състоянието"
+
msgid "Source text"
msgstr "Изходен текст"
@@ -773,6 +912,10 @@ msgstr "Превод"
msgid "ID"
msgstr "Идентификатор"
+#, c-format
+msgid "Source text — %s"
+msgstr "Изходен текст – %s"
+
msgid "unknown language"
msgstr "неизвестен език"
@@ -783,57 +926,73 @@ msgstr "Превод на %s"
msgid "Error:"
msgstr "Грешка:"
-msgid "Project info"
-msgstr "Информация за проекта"
+msgid "Source file"
+msgstr "Файл с изходен код"
-msgid "Project name and version:"
-msgstr "Име и версия на проекта:"
+msgid "Source file occurrence:"
+msgstr "&Позоваване:"
-msgid "Language:"
-msgstr "Език:"
+msgid "Open in Editor"
+msgstr "Отваряне с редактор"
-msgid "Team:"
-msgstr "Екип:"
+msgid "Open in editor"
+msgstr "Отваряне с редактор"
-msgid "Team's email address:"
-msgstr "Електронна поща на екипа:"
+msgid "No references for the selected item."
+msgstr "Няма предпочитания за избрания елемент."
-msgid "Charset:"
-msgstr "Знаков набор:"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "Грешка при отваряне на „%s“!"
-msgid "Source"
-msgstr "Изходен код"
+msgid "Find"
+msgstr "Търсене…"
-msgid "Notes"
-msgstr "Бележки"
+msgid "Replace"
+msgstr "Заместване"
-msgid "Automatic translation"
-msgstr "Автоматичен превод"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr "Настройки"
-msgid "Fuzzy translation"
-msgstr "Неясен превод"
+msgid "Ignore case"
+msgstr "Незачитане на регистъра"
-msgid "Notes for translators:"
-msgstr "Бележка към преводача:"
+msgid "Wrap around"
+msgstr "Безконечно търсене"
-msgid "Comment:"
-msgstr "&Коментар:"
+msgid "Whole words only"
+msgstr "&Цели думи"
-msgid "Source file"
-msgstr "Файл с изходен код"
+msgid "Find in source texts"
+msgstr "Търсене в изходните низове"
-msgid "Source file occurrence:"
-msgstr "&Позоваване:"
+msgid "Find in translations"
+msgstr "Търсене в &преводите"
-msgid "Open in Editor"
-msgstr "Отваряне с редактор"
+msgid "Find in comments"
+msgstr "Търсене в &коментарите"
-msgid "Open in editor"
-msgstr "Отваряне с редактор"
+msgid "Close"
+msgstr "&Затваряне"
-#, c-format
-msgid "Error opening file %s!"
-msgstr "Грешка при отваряне на „%s“!"
+msgid "Replace All"
+msgstr "Замяна всички"
+
+msgid "Replace all"
+msgstr "Замяна всички"
+
+msgid "< &Previous"
+msgstr "&< Предишен"
+
+msgid "&Next >"
+msgstr "Следващ &>"
+
+msgid "String to find"
+msgstr "Търсете"
+
+msgid "Replacement string"
+msgstr "Заместете"
#, c-format
msgid "Cannot execute program: %s"
@@ -861,7 +1020,7 @@ msgid "Untrans"
msgstr "Непреведени"
msgid "Fuzzy"
-msgstr "Неясен"
+msgstr "Мъгляв"
msgid "Bad Tokens"
msgstr "Сгрешени"
@@ -870,7 +1029,7 @@ msgid "Last modified"
msgstr "Последна промяна"
msgid "Select directory"
-msgstr "Избор на папка"
+msgstr "Избиране на папка"
msgid "Directories:"
msgstr "Папки:"
@@ -914,19 +1073,19 @@ msgstr ""
"заглавката „Last-Translator“ на файловете на GNU gettext."
msgid "Editing"
-msgstr "Редакция"
+msgstr "Редактиране"
msgid "Automatically compile MO file when saving"
msgstr "&автоматично компилиране до файл MO при запазване"
msgid "Show summary after catalog update"
-msgstr "Показване на &резюме след актуализиране на каталог"
+msgstr "&резюме след актуализиране на каталог"
msgid "Check spelling"
-msgstr "Проверка на правописа"
+msgstr "&проверка на правописа"
msgid "Always change focus to text input field"
-msgstr "&Полето за въвеждане на превод винаги на фокус"
+msgstr "полето за превод &винаги на фокус"
msgid ""
"Never let the list of strings take focus. If enabled, you must use Ctrl-"
@@ -958,7 +1117,7 @@ msgid "General"
msgstr "Общи"
msgid "Use translation memory"
-msgstr "Използване на &паметта с преводи"
+msgstr "използване на &паметта с преводи"
msgid "Learn From Files..."
msgstr "&Научаване от файлове…"
@@ -971,7 +1130,7 @@ msgid "Reset"
msgstr "Възстановяване"
msgid "Consult TM when updating from sources"
-msgstr "Използване на п&аметта с преводи при актуализация от изходен код"
+msgstr "използване на п&аметта с преводи при актуализация от изходен код"
msgid ""
"If enabled, Poedit will try to fill in new entries using your previous\n"
@@ -980,7 +1139,7 @@ msgid ""
"you edit and the larger the TM grows, the better it gets."
msgstr ""
"Ако е отметнато, Poedit ще опита да преведе новите низове, използвайки\n"
-"предишни преводи, запомнени в паметта. Ако паметта е почти празна\n"
+"предишни преводи, запомнени в паметта. Ако ПП е почти празна\n"
"преводите ще бъдат неточни. Колкото повече преводи има запомнени,\n"
"толкова по-точно ще бъде автоматичното им извличане."
@@ -991,7 +1150,7 @@ msgid "Database size on disk:"
msgstr "Големина на базата от данни:"
msgid "Select translation files to import"
-msgstr "Избор на файлове за импорт"
+msgstr "Избиране на файлове за импорт"
msgid "Translation Memory"
msgstr "Памет с преводи"
@@ -1035,11 +1194,21 @@ msgid "New"
msgstr "&Добавяне"
msgid "Edit"
-msgstr "&Редакция"
+msgstr "&Редактиране"
+
+msgid "Delete extractor"
+msgstr "Изтриване на инструмент за извличане"
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr "Наистина ли желаете да изтриете инструментът за извличане „%s“?"
msgid "Extractors"
msgstr "Извличане"
+msgid "Accounts"
+msgstr "Профили"
+
msgid "Automatically check for updates"
msgstr "автоматична &проверка за актуализация"
@@ -1070,7 +1239,7 @@ msgid "Unix (recommended)"
msgstr "Unix (препоръчително)"
msgid "Windows"
-msgstr "Уиндоус"
+msgstr "Windows"
#. TRANSLATORS: Followed by text control for entering number; wraps text at given width
msgid "Wrap at:"
@@ -1082,8 +1251,41 @@ msgstr "&запазване на формата на съществуващит
msgid "Advanced"
msgstr "Разширени"
-msgid "Additional keywords"
-msgstr "Допълнителни ключови думи"
+msgid ""
+"<big>Drag and Drop Folders Here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+"<big>Плъзнете и пуснете папки тук</big> \n"
+"\n"
+"или натиснете бутона „+“"
+
+msgid ""
+"<big>Drag and drop folders here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+"<big>Плъзнете и пуснете папки тук</big> \n"
+"\n"
+"или натиснете бутона „+“"
+
+msgid "Add Folders..."
+msgstr "Добавяне на папки…"
+
+msgid "Add folders..."
+msgstr "Добавяне на папки…"
+
+msgid "Add Files..."
+msgstr "Добавяне на файлове…"
+
+msgid "Add files..."
+msgstr "Добавяне на файлове…"
+
+msgid "Add Wildcard..."
+msgstr "Добавяне на заместващ знак…"
+
+msgid "Add wildcard..."
+msgstr "Добавяне на заместващ знак…"
msgid "Paths"
msgstr "Пътища"
@@ -1091,6 +1293,9 @@ msgstr "Пътища"
msgid "Excluded paths"
msgstr "Пренебрегнати пътища"
+msgid "Additional keywords"
+msgstr "Допълнителни ключови думи"
+
msgid "Name of the project the translation is for"
msgstr "име и версия"
@@ -1101,7 +1306,10 @@ msgid "UTF-8 (recommended)"
msgstr "UTF-8 (препоръчително)"
msgid "Please save the file first. This section cannot be edited until then."
-msgstr "Моля, първо запазете файла. Тези настройки ще са неактивни до тогава."
+msgstr "Моля, първо запазете файла. Тези настройки ще са неактивни дотогава."
+
+msgid "Comment:"
+msgstr "&Коментар:"
msgid "OK"
msgstr "Д&обре"
@@ -1110,49 +1318,13 @@ msgid "C&lear"
msgstr "И&зчистване"
msgid "Clear the comment"
-msgstr "Изтриване на коментара"
-
-msgid "Find..."
-msgstr "Търсене…"
-
-msgid "String to find:"
-msgstr "Низ за &търсене:"
-
-msgid "Case sensitive"
-msgstr "&Чувствителност към регистъра"
-
-msgid "Start from the first item"
-msgstr "&Начало от първия низ"
-
-msgid "Whole words only"
-msgstr "Само &цели думи"
-
-msgid "Find in original strings"
-msgstr "Търсене в &изходните низове"
-
-msgid "Find in translations"
-msgstr "Търсене в &преводите"
-
-msgid "Find in comments"
-msgstr "Търсене в &коментарите"
-
-msgid "Find in automatic comments"
-msgstr "Търсене в &автоматичните коментари"
-
-msgid "Close"
-msgstr "&Затваряне"
-
-msgid "< &Previous"
-msgstr "&< Предишен"
-
-msgid "&Next >"
-msgstr "Следващ &>"
+msgstr "Изчистване на коментара"
msgid "Create new translations project"
msgstr "Създаване на нов проект за превод"
msgid "Edit the project"
-msgstr "Редакция на проекта"
+msgstr "Редактиране на проекта"
msgid "Delete the project"
msgstr "Изтриване на проекта"
@@ -1164,13 +1336,13 @@ msgid "Update all catalogs in the project"
msgstr "Актуализиране на всички каталози в проекта"
msgid "Edit project"
-msgstr "Редакция на проект"
+msgstr "Редактиране на проект"
msgid "Project name:"
msgstr "Име на проекта:"
msgid "Browse"
-msgstr "Избор"
+msgstr "Избиране"
msgid "Add directory to the list"
msgstr "Добавяне на папка към списъка"
@@ -1179,7 +1351,7 @@ msgid "&Preferences..."
msgstr "&Настройки…"
msgid "&Close"
-msgstr "&Изход"
+msgstr "&Затваряне"
msgid "E&xit"
msgstr "&Изход"
@@ -1202,6 +1374,12 @@ msgstr "&Отваряне…"
msgid "Open Recent"
msgstr "Последно използвани"
+msgid "Open from Crowdin..."
+msgstr "Отваряне от Crowdin…"
+
+msgid "Open From Crowdin..."
+msgstr "Отваряне от Crowdin…"
+
msgid "&Save"
msgstr "&Запазване"
@@ -1218,7 +1396,7 @@ msgid "E&xport as HTML..."
msgstr "Е&кспортиране като HTML…"
msgid "Check for updates..."
-msgstr "Проверка за актуализация…"
+msgstr "Проверка за &актуализация"
msgid "Catalogs &manager"
msgstr "&Управление на каталози"
@@ -1227,16 +1405,16 @@ msgid "Catalogs &Manager"
msgstr "&Управление на каталози"
msgid "Translation is &fuzzy"
-msgstr "Маркиране като &неясен"
+msgstr "Отбелязване като &мъгляв"
msgid "Translation Is &Fuzzy"
-msgstr "Маркиране като &неясен"
+msgstr "Отбелязване като &мъгляв"
msgid "Edit &comment"
-msgstr "Редакция на &коментар"
+msgstr "Редактиране на &коментар"
msgid "Edit &Comment"
-msgstr "Редакция на &коментар"
+msgstr "Редактиране на &коментар"
msgid "Suggestions"
msgstr "Предложения"
@@ -1250,14 +1428,17 @@ msgstr "Показване на &позоваване"
msgid "&Find..."
msgstr "&Търсене…"
+msgid "Replace..."
+msgstr "Заместване…"
+
msgid "Find next"
msgstr "&Следващо съвпадение"
msgid "Find previous"
msgstr "&Предишно съвпадение"
-msgid "Find"
-msgstr "Търсене…"
+msgid "Find and Replace..."
+msgstr "Търсене и заместване…"
msgid "Find Next"
msgstr "&Следващо съвпадение"
@@ -1281,10 +1462,10 @@ msgid "Sort by &File Order"
msgstr "Сортиране по &файл"
msgid "Sort by &source"
-msgstr "Сортиране по &изходен код"
+msgstr "Сортиране по &изходен текст"
msgid "Sort by &Source"
-msgstr "Сортиране по &изходен код"
+msgstr "Сортиране по &изходен текст"
msgid "Sort by &translation"
msgstr "Сортиране по &превод"
@@ -1298,6 +1479,12 @@ msgstr "&Групиране по контекст"
msgid "&Group By Context"
msgstr "&Групиране по контекст"
+msgid "Entries with errors first"
+msgstr "Преводите с грешки първи"
+
+msgid "Entries with Errors First"
+msgstr "Преводите с грешки първи"
+
msgid "&Untranslated entries first"
msgstr "Н&епреведените първи"
@@ -1307,6 +1494,9 @@ msgstr "Н&епреведените първи"
msgid "Show sidebar"
msgstr "&Предишен низ"
+msgid "Show status bar"
+msgstr "Показване на лента за състоянието"
+
msgid "C&atalog"
msgstr "&Каталог"
@@ -1322,6 +1512,9 @@ msgstr "Актуализация от &файл POT…"
msgid "Update from &POT File..."
msgstr "Актуализация от &файл POT…"
+msgid "Sync with Crowdin"
+msgstr "Синхронизиране с Crowdin"
+
msgid "Fill missing translations from &TM..."
msgstr "П&ревеждане от паметта"
@@ -1450,6 +1643,9 @@ msgstr ""
msgid "Catalog properties"
msgstr "Свойства на каталога"
+msgid "Project name and version:"
+msgstr "Име и версия на проекта:"
+
msgid "Plural Forms:"
msgstr "Форми за множествено число:"
@@ -1462,6 +1658,15 @@ msgstr "Специфичен &израз"
msgid "Learn about plural forms"
msgstr "Повече за множествените форми"
+msgid "Charset:"
+msgstr "Знаков набор:"
+
+msgid "Team:"
+msgstr "Екип:"
+
+msgid "Team's email address:"
+msgstr "Електронна поща на екипа:"
+
msgid "Translation properties"
msgstr "Свойства на превода"
@@ -1495,7 +1700,7 @@ msgid ""
"Poedit will add them to the catalog now."
msgstr ""
"Тези низове бяха намерени в изходния код, но не и в каталога.\n"
-"Poedit ще ги прибави към каталога."
+"Poedit ще ги прибави към него."
msgid "New strings"
msgstr "Добавени"
@@ -1532,10 +1737,10 @@ msgid "Update catalog - synchronize it with sources"
msgstr "Актуализиране на каталог — синхронизиране с изходния код"
msgid "Toggled if selected string has fuzzy translation"
-msgstr "Превключване на маркер за неясен превод"
+msgstr "Превключване на маркер за мъгляв превод"
-msgid "Show or hide the sidebar."
-msgstr "Показва или скрива страничната лента."
+msgid "Show or hide the sidebar"
+msgstr "Показва или скрива страничната лента"
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
msgid "Previous source text:"
@@ -1546,7 +1751,10 @@ msgid ""
"translation corresponds to."
msgstr ""
"Старият изходен текст (преди промяна от актуализация), на който съответства "
-"неясният превод."
+"мъглявият превод."
+
+msgid "Notes for translators:"
+msgstr "Бележка към преводача:"
msgid "Add comment"
msgstr "Добавяне на коментар"
@@ -1593,8 +1801,8 @@ msgid ""
"This must be done before Poedit can start. It may take a few minutes if you "
"have lots of translations stored, but should normally be much faster."
msgstr ""
-"Това трябва да бъде направено преди отваряне на Poedit. Може да отнеме "
-"няколко минути ако имате запазени много преводи, но обикновено е по-бързо."
+"Това трябва да бъде направено преди отваряне на Poedit. Ако имате запазени "
+"много преводи може да отнеме няколко минути, но обикновено е по-бързо."
msgid "Proceed"
msgstr "Продължаване"
@@ -1621,18 +1829,25 @@ msgid "Welcome to Poedit"
msgstr "Здравейте от Poedit"
msgid "Edit a translation"
-msgstr "&Редакция на превод"
+msgstr "&Редактиране на превод"
msgid "Open an existing PO file and edit the translation."
-msgstr "Отваряне на съществуващ каталог и редакция на превода."
-
-msgid "Create new translation"
-msgstr "Създаване на &нов превод"
+msgstr "Отваряне на съществуващ каталог и редактиране на превода."
msgid ""
"Take an existing PO file or POT template and create a new translation from "
"it."
-msgstr "Създаване на нов каталог на базата на съществуващ каталог или шаблон."
+msgstr "Създаване на каталог на базата на съществуващ или от шаблон."
+
+msgid "Collaborate on a translation with Crowdin"
+msgstr "Съвместна работа по превод в Crowdin"
+
+msgid ""
+"Download a file from Crowdin project, translate and sync your changes back."
+msgstr "Изтегляне на файл от проект в Crowdin, превеждане и допринасяне."
+
+msgid "What is Crowdin?"
+msgstr "Какво е Crowdin?"
msgid "There are no translations. That’s unusual."
msgstr "Няма низове за превод. Това е необичайно."
@@ -1647,21 +1862,20 @@ msgstr ""
"Низовете за превод не се добавят ръчно в Gettext, а се извличат автоматично "
"от изходен код.\n"
"По този начин те са винаги актуални и точни.\n"
-"Преводачите обикновено използват PO-шаблони (POT) приготвени за тях от "
+"Преводачите обикновено използват шаблони PO (POT) приготвени за тях от "
"разработчика."
msgid "(Learn more about GNU gettext)"
-msgstr "(Научете още за GNU gettext)"
+msgstr "(Научете повече за GNU gettext)"
msgid "The simplest way to fill this catalog is to update it from a POT:"
-msgstr ""
-"Най-лесният начин за попълване на каталог е актуализацията от файл POT:"
+msgstr "Най-лесния начин за попълване на каталог е актуализацията от файл POT:"
msgid "Update from POT"
msgstr "Актуализация от &файл POT"
msgid "Take translatable strings from an existing POT template."
-msgstr "Използване на изходни низове от съществуващ POT шаблон."
+msgstr "Използване на изходни низове от съществуващ шаблон POT."
msgid ""
"You can also extract translatable strings directly from the source code:"
@@ -1672,3 +1886,9 @@ msgstr "Актуализация от &изходен код"
msgid "Configure source code extraction in Properties."
msgstr "Настройка на извличане от изходен код."
+
+msgid "Sync"
+msgstr "Синхронизиране"
+
+msgid "Synchronize the translation with Crowdin"
+msgstr "Синхронизиране на превода с Crowdin"
diff --git a/locales/bn.mo b/locales/bn.mo
index 6f23dd5..e9a9506 100644
Binary files a/locales/bn.mo and b/locales/bn.mo differ
diff --git a/locales/bn.po b/locales/bn.po
index 8f39e77..a455932 100644
--- a/locales/bn.po
+++ b/locales/bn.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:33-0400\n"
+"POT-Creation-Date: 2015-05-13 18:47+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Bengali\n"
"Language: bn_BD\n"
@@ -82,6 +82,15 @@ msgstr ""
msgid "Error saving catalog"
msgstr "তালিকা সেভ করতে সমস্যা হয়েছে"
+msgid "PO Translation Files"
+msgstr ""
+
+msgid "POT Translation Templates"
+msgstr ""
+
+msgid "All Translation Files"
+msgstr ""
+
msgid "Merging differences..."
msgstr "পার্থক্যগুলি মেলানো হচ্ছে..."
@@ -101,6 +110,83 @@ msgstr "ভাষা নির্বাচন"
msgid "You must restart Poedit for this change to take effect."
msgstr "এই পরিবর্তনকে ব্যবহার করতে হলে আপনাকে অবশ্যই Poedit পুনরায় চালাতে হবে।"
+msgid "Downloading translations is disabled in this project."
+msgstr ""
+
+msgid "Not authorized, please sign in again."
+msgstr ""
+
+msgid "Sign in to Crowdin"
+msgstr ""
+
+msgid ""
+"Crowdin is an online localization management platform and collaborative "
+"translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+
+msgid "Sign In"
+msgstr ""
+
+msgid "Sign in"
+msgstr ""
+
+msgid "Sign Out"
+msgstr ""
+
+msgid "Sign out"
+msgstr ""
+
+msgid "Waiting for authentication…"
+msgstr ""
+
+msgid "Updating user information…"
+msgstr ""
+
+msgid "Signed in as:"
+msgstr ""
+
+msgid "Learn More About Crowdin"
+msgstr ""
+
+msgid "Learn more about Crowdin"
+msgstr ""
+
+msgid "Open Crowdin translation"
+msgstr ""
+
+msgid "Project:"
+msgstr ""
+
+msgid "Language:"
+msgstr "ভাষা:"
+
+msgid "File:"
+msgstr ""
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr ""
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr ""
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr ""
+
+msgid "Downloading latest translations…"
+msgstr ""
+
+msgid "Syncing with Crowdin"
+msgstr ""
+
+msgid "Syncing with Crowdin failed."
+msgstr ""
+
+msgid "Crowdin error"
+msgstr ""
+
+msgid "Uploading translations…"
+msgstr ""
+
msgid "&Copy"
msgstr ""
@@ -145,6 +231,9 @@ msgstr ""
msgid "don't delete temporary files (for debugging)"
msgstr ""
+msgid "handle a poedit:// URI"
+msgstr ""
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr ""
@@ -155,12 +244,6 @@ msgstr ""
msgid "Open catalog"
msgstr "তালিকা খুলো"
-msgid "All Files"
-msgstr ""
-
-msgid "PO Translation Files"
-msgstr ""
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "'%s' ফাইলের কোন অস্তিত্ব নেই।"
@@ -388,6 +471,17 @@ msgstr "বহুবচন:"
msgid "Translation:"
msgstr ""
+msgid ""
+"POT files are only templates and don’t contain any translations themselves.\n"
+"To make a translation, create a new PO file based on the template."
+msgstr ""
+
+msgid "Create New Translation"
+msgstr ""
+
+msgid "Create new translation"
+msgstr ""
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
@@ -435,9 +529,6 @@ msgstr ""
msgid "Open catalog template"
msgstr "নমুনা তালিকা খুলো"
-msgid "POT Translation Templates"
-msgstr ""
-
msgid "Updating catalog"
msgstr ""
@@ -506,16 +597,18 @@ msgstr[1] ""
msgid "The translation is ready for use."
msgstr ""
-msgid "No references to this string found."
-msgstr "এই বাক্যের প্রতি কোন নির্দেশ পাওয়া যায়নি।"
-
-msgid "Please choose the reference you want to show:"
-msgstr "অনুগ্রহকরে যে নির্দেশটি আপনি দেখতে চাইছেন তা বাছাই করুন:"
+msgid "Context:"
+msgstr ""
-msgid "References"
-msgstr "নির্দেশাবলী"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr ""
-msgid "Context:"
+msgid ""
+"The file contained duplicate items, which is not allowed in PO files and "
+"would prevent the file from being used. Poedit fixed the issue, but you "
+"should review translations of any items marked as fuzzy and correct them if "
+"necessary."
msgstr ""
msgid "Language of the translation isn't set."
@@ -527,6 +620,21 @@ msgstr ""
msgid "Set language"
msgstr ""
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid ""
+"Suggestions are not available if the translation language is not set "
+"correctly. Other features, such as plural forms, may be affected as well."
+msgstr ""
+
+msgid "Language of the translation is the same as source language."
+msgstr ""
+
+msgid "Fix Language"
+msgstr ""
+
+msgid "Fix language"
+msgstr ""
+
msgid ""
"This catalog has entries with plural forms, but doesn't have Plural-Forms "
"header configured."
@@ -557,6 +665,7 @@ msgstr ""
msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr ""
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr ""
@@ -578,6 +687,12 @@ msgid_plural "%d errors"
msgstr[0] ""
msgstr[1] ""
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] ""
+msgstr[1] ""
+
msgid " (unsaved)"
msgstr ""
@@ -691,6 +806,9 @@ msgstr ""
msgid "Form %i"
msgstr "%i থেকে"
+msgid "Singular"
+msgstr ""
+
msgid "Zero"
msgstr ""
@@ -700,6 +818,9 @@ msgstr ""
msgid "Two"
msgstr ""
+msgid "Plural"
+msgstr ""
+
msgid "Other"
msgstr ""
@@ -728,6 +849,12 @@ msgstr ""
msgid "Show Sidebar"
msgstr ""
+msgid "Hide Status Bar"
+msgstr ""
+
+msgid "Show Status Bar"
+msgstr ""
+
msgid "Source text"
msgstr ""
@@ -737,6 +864,10 @@ msgstr "অনুবাদ"
msgid "ID"
msgstr ""
+#, c-format
+msgid "Source text — %s"
+msgstr ""
+
msgid "unknown language"
msgstr ""
@@ -747,57 +878,73 @@ msgstr ""
msgid "Error:"
msgstr ""
-msgid "Project info"
-msgstr "প্রজেক্টের তথ্য"
+msgid "Source file"
+msgstr "মূল ফাইল"
-msgid "Project name and version:"
-msgstr "প্রজেক্টের নাম এবং ভার্সন:"
+msgid "Source file occurrence:"
+msgstr ""
-msgid "Language:"
-msgstr "ভাষা:"
+msgid "Open in Editor"
+msgstr ""
-msgid "Team:"
-msgstr "দল:"
+msgid "Open in editor"
+msgstr ""
-msgid "Team's email address:"
-msgstr "দলের ই-মেইল ঠিকানা:"
+msgid "No references for the selected item."
+msgstr ""
-msgid "Charset:"
-msgstr "লিপিমালা:"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "%s ফাইল খুলতে সমস্যা হয়েছে!"
-msgid "Source"
+msgid "Find"
msgstr ""
-msgid "Notes"
-msgstr "দ্রষ্টব্য"
+msgid "Replace"
+msgstr ""
-msgid "Automatic translation"
-msgstr "সয়ংক্রিয় অনুবাদ"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr ""
-msgid "Fuzzy translation"
-msgstr "অস্পষ্ট অনুবাদ"
+msgid "Ignore case"
+msgstr ""
-msgid "Notes for translators:"
+msgid "Wrap around"
msgstr ""
-msgid "Comment:"
-msgstr "মন্তব্য:"
+msgid "Whole words only"
+msgstr "শুধুমাত্র সম্পুর্ন শব্দ"
-msgid "Source file"
-msgstr "মূল ফাইল"
+msgid "Find in source texts"
+msgstr ""
-msgid "Source file occurrence:"
+msgid "Find in translations"
msgstr ""
-msgid "Open in Editor"
+msgid "Find in comments"
+msgstr "মন্তব্যে অনুসন্ধান করো"
+
+msgid "Close"
msgstr ""
-msgid "Open in editor"
+msgid "Replace All"
msgstr ""
-#, c-format
-msgid "Error opening file %s!"
-msgstr "%s ফাইল খুলতে সমস্যা হয়েছে!"
+msgid "Replace all"
+msgstr ""
+
+msgid "< &Previous"
+msgstr ""
+
+msgid "&Next >"
+msgstr ""
+
+msgid "String to find"
+msgstr ""
+
+msgid "Replacement string"
+msgstr ""
#, c-format
msgid "Cannot execute program: %s"
@@ -990,9 +1137,19 @@ msgstr "নতুন"
msgid "Edit"
msgstr "সম্পাদন"
+msgid "Delete extractor"
+msgstr ""
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr ""
+
msgid "Extractors"
msgstr ""
+msgid "Accounts"
+msgstr ""
+
msgid "Automatically check for updates"
msgstr ""
@@ -1031,7 +1188,34 @@ msgstr ""
msgid "Advanced"
msgstr ""
-msgid "Additional keywords"
+msgid ""
+"<big>Drag and Drop Folders Here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid ""
+"<big>Drag and drop folders here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid "Add Folders..."
+msgstr ""
+
+msgid "Add folders..."
+msgstr ""
+
+msgid "Add Files..."
+msgstr ""
+
+msgid "Add files..."
+msgstr ""
+
+msgid "Add Wildcard..."
+msgstr ""
+
+msgid "Add wildcard..."
msgstr ""
msgid "Paths"
@@ -1040,6 +1224,9 @@ msgstr "পাথ"
msgid "Excluded paths"
msgstr ""
+msgid "Additional keywords"
+msgstr ""
+
msgid "Name of the project the translation is for"
msgstr ""
@@ -1052,6 +1239,9 @@ msgstr ""
msgid "Please save the file first. This section cannot be edited until then."
msgstr ""
+msgid "Comment:"
+msgstr "মন্তব্য:"
+
msgid "OK"
msgstr "ঠিক আছে"
@@ -1061,42 +1251,6 @@ msgstr ""
msgid "Clear the comment"
msgstr "মন্তব্য মুছে ফেলো"
-msgid "Find..."
-msgstr "অনুসন্ধান..."
-
-msgid "String to find:"
-msgstr "অনুসন্ধান করার জন্য বাক্য:"
-
-msgid "Case sensitive"
-msgstr "অক্ষর সুবেদী"
-
-msgid "Start from the first item"
-msgstr "প্রথম উপাদান থেকে শুরু করো"
-
-msgid "Whole words only"
-msgstr "শুধুমাত্র সম্পুর্ন শব্দ"
-
-msgid "Find in original strings"
-msgstr "মূল বাক্যের মধ্যে অনুসন্ধান করো"
-
-msgid "Find in translations"
-msgstr ""
-
-msgid "Find in comments"
-msgstr "মন্তব্যে অনুসন্ধান করো"
-
-msgid "Find in automatic comments"
-msgstr "&সয়ংক্রিয় মন্তব্য উইন্ডোতে অনুসন্ধান করো"
-
-msgid "Close"
-msgstr ""
-
-msgid "< &Previous"
-msgstr ""
-
-msgid "&Next >"
-msgstr ""
-
msgid "Create new translations project"
msgstr "নতুন অনুবাদ প্রজেক্ট তৈরী করো"
@@ -1151,6 +1305,12 @@ msgstr "&খুলবে"
msgid "Open Recent"
msgstr ""
+msgid "Open from Crowdin..."
+msgstr ""
+
+msgid "Open From Crowdin..."
+msgstr ""
+
msgid "&Save"
msgstr "&সংরক্ষণ"
@@ -1199,13 +1359,16 @@ msgstr ""
msgid "&Find..."
msgstr "&অনুসন্ধান"
+msgid "Replace..."
+msgstr ""
+
msgid "Find next"
msgstr ""
msgid "Find previous"
msgstr ""
-msgid "Find"
+msgid "Find and Replace..."
msgstr ""
msgid "Find Next"
@@ -1247,6 +1410,12 @@ msgstr ""
msgid "&Group By Context"
msgstr ""
+msgid "Entries with errors first"
+msgstr ""
+
+msgid "Entries with Errors First"
+msgstr ""
+
msgid "&Untranslated entries first"
msgstr ""
@@ -1256,6 +1425,9 @@ msgstr ""
msgid "Show sidebar"
msgstr ""
+msgid "Show status bar"
+msgstr ""
+
msgid "C&atalog"
msgstr "তালি&কা"
@@ -1271,6 +1443,9 @@ msgstr "&POT ফাইল থেকে আপডেট করো..."
msgid "Update from &POT File..."
msgstr ""
+msgid "Sync with Crowdin"
+msgstr ""
+
msgid "Fill missing translations from &TM..."
msgstr ""
@@ -1394,6 +1569,9 @@ msgstr ""
msgid "Catalog properties"
msgstr ""
+msgid "Project name and version:"
+msgstr "প্রজেক্টের নাম এবং ভার্সন:"
+
msgid "Plural Forms:"
msgstr "বহুবচন আকারসমূহ:"
@@ -1406,6 +1584,15 @@ msgstr ""
msgid "Learn about plural forms"
msgstr ""
+msgid "Charset:"
+msgstr "লিপিমালা:"
+
+msgid "Team:"
+msgstr "দল:"
+
+msgid "Team's email address:"
+msgstr "দলের ই-মেইল ঠিকানা:"
+
msgid "Translation properties"
msgstr ""
@@ -1476,7 +1663,7 @@ msgstr "উৎসের সাথে মিলিয়ে - তালিকা
msgid "Toggled if selected string has fuzzy translation"
msgstr "নির্বাচিত বাক্যে অস্পষ্ট অনুবাদ থাকলে প্রতিস্থাপন করো"
-msgid "Show or hide the sidebar."
+msgid "Show or hide the sidebar"
msgstr ""
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
@@ -1488,6 +1675,9 @@ msgid ""
"translation corresponds to."
msgstr ""
+msgid "Notes for translators:"
+msgstr ""
+
msgid "Add comment"
msgstr ""
@@ -1560,14 +1750,21 @@ msgstr ""
msgid "Open an existing PO file and edit the translation."
msgstr ""
-msgid "Create new translation"
-msgstr ""
-
msgid ""
"Take an existing PO file or POT template and create a new translation from "
"it."
msgstr ""
+msgid "Collaborate on a translation with Crowdin"
+msgstr ""
+
+msgid ""
+"Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+
+msgid "What is Crowdin?"
+msgstr ""
+
msgid "There are no translations. That’s unusual."
msgstr ""
@@ -1600,3 +1797,9 @@ msgstr ""
msgid "Configure source code extraction in Properties."
msgstr ""
+
+msgid "Sync"
+msgstr ""
+
+msgid "Synchronize the translation with Crowdin"
+msgstr ""
diff --git a/locales/br.mo b/locales/br.mo
index a0f05fc..44fd121 100644
Binary files a/locales/br.mo and b/locales/br.mo differ
diff --git a/locales/br.po b/locales/br.po
index 3a863bf..7a65642 100644
--- a/locales/br.po
+++ b/locales/br.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:33-0400\n"
+"POT-Creation-Date: 2015-05-13 18:47+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Breton\n"
"Language: br_FR\n"
@@ -85,6 +85,15 @@ msgstr ""
msgid "Error saving catalog"
msgstr "Fazi en ur enrollañ ar c'hatalog"
+msgid "PO Translation Files"
+msgstr ""
+
+msgid "POT Translation Templates"
+msgstr ""
+
+msgid "All Translation Files"
+msgstr ""
+
msgid "Merging differences..."
msgstr "Kendeuziñ an diforc'hioù..."
@@ -104,6 +113,83 @@ msgstr "Dibab ar yezh"
msgid "You must restart Poedit for this change to take effect."
msgstr "Ret ro deoc'h adloc'hañ Poedit evit ma vo oberiant ho kemmoù."
+msgid "Downloading translations is disabled in this project."
+msgstr ""
+
+msgid "Not authorized, please sign in again."
+msgstr ""
+
+msgid "Sign in to Crowdin"
+msgstr ""
+
+msgid ""
+"Crowdin is an online localization management platform and collaborative "
+"translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+
+msgid "Sign In"
+msgstr ""
+
+msgid "Sign in"
+msgstr ""
+
+msgid "Sign Out"
+msgstr ""
+
+msgid "Sign out"
+msgstr ""
+
+msgid "Waiting for authentication…"
+msgstr ""
+
+msgid "Updating user information…"
+msgstr ""
+
+msgid "Signed in as:"
+msgstr ""
+
+msgid "Learn More About Crowdin"
+msgstr ""
+
+msgid "Learn more about Crowdin"
+msgstr ""
+
+msgid "Open Crowdin translation"
+msgstr ""
+
+msgid "Project:"
+msgstr ""
+
+msgid "Language:"
+msgstr "Yezh :"
+
+msgid "File:"
+msgstr ""
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr ""
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr ""
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr ""
+
+msgid "Downloading latest translations…"
+msgstr ""
+
+msgid "Syncing with Crowdin"
+msgstr ""
+
+msgid "Syncing with Crowdin failed."
+msgstr ""
+
+msgid "Crowdin error"
+msgstr ""
+
+msgid "Uploading translations…"
+msgstr ""
+
msgid "&Copy"
msgstr ""
@@ -148,6 +234,9 @@ msgstr ""
msgid "don't delete temporary files (for debugging)"
msgstr ""
+msgid "handle a poedit:// URI"
+msgstr ""
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr ""
@@ -158,12 +247,6 @@ msgstr ""
msgid "Open catalog"
msgstr "Digeriñ ur c'hatalog"
-msgid "All Files"
-msgstr ""
-
-msgid "PO Translation Files"
-msgstr ""
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "N'eus ket eus ar restr '%s'."
@@ -391,6 +474,17 @@ msgstr "Liester :"
msgid "Translation:"
msgstr ""
+msgid ""
+"POT files are only templates and don’t contain any translations themselves.\n"
+"To make a translation, create a new PO file based on the template."
+msgstr ""
+
+msgid "Create New Translation"
+msgstr ""
+
+msgid "Create new translation"
+msgstr ""
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
@@ -438,9 +532,6 @@ msgstr ""
msgid "Open catalog template"
msgstr "Digeriñ ur patrom katalog"
-msgid "POT Translation Templates"
-msgstr ""
-
msgid "Updating catalog"
msgstr ""
@@ -509,16 +600,18 @@ msgstr[1] ""
msgid "The translation is ready for use."
msgstr ""
-msgid "No references to this string found."
-msgstr "N'eus bet kavet dave ebet d'an hedad."
-
-msgid "Please choose the reference you want to show:"
-msgstr "Dibabit an dave ho peus c'hoant da ziskouez :"
+msgid "Context:"
+msgstr ""
-msgid "References"
-msgstr "Daveoù"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr ""
-msgid "Context:"
+msgid ""
+"The file contained duplicate items, which is not allowed in PO files and "
+"would prevent the file from being used. Poedit fixed the issue, but you "
+"should review translations of any items marked as fuzzy and correct them if "
+"necessary."
msgstr ""
msgid "Language of the translation isn't set."
@@ -530,6 +623,21 @@ msgstr ""
msgid "Set language"
msgstr ""
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid ""
+"Suggestions are not available if the translation language is not set "
+"correctly. Other features, such as plural forms, may be affected as well."
+msgstr ""
+
+msgid "Language of the translation is the same as source language."
+msgstr ""
+
+msgid "Fix Language"
+msgstr ""
+
+msgid "Fix language"
+msgstr ""
+
msgid ""
"This catalog has entries with plural forms, but doesn't have Plural-Forms "
"header configured."
@@ -560,6 +668,7 @@ msgstr ""
msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr ""
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr ""
@@ -581,6 +690,12 @@ msgid_plural "%d errors"
msgstr[0] ""
msgstr[1] ""
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] ""
+msgstr[1] ""
+
msgid " (unsaved)"
msgstr ""
@@ -694,6 +809,9 @@ msgstr ""
msgid "Form %i"
msgstr ""
+msgid "Singular"
+msgstr ""
+
msgid "Zero"
msgstr ""
@@ -703,6 +821,9 @@ msgstr ""
msgid "Two"
msgstr ""
+msgid "Plural"
+msgstr ""
+
msgid "Other"
msgstr ""
@@ -731,6 +852,12 @@ msgstr ""
msgid "Show Sidebar"
msgstr ""
+msgid "Hide Status Bar"
+msgstr ""
+
+msgid "Show Status Bar"
+msgstr ""
+
msgid "Source text"
msgstr ""
@@ -740,6 +867,10 @@ msgstr "Troidigezh"
msgid "ID"
msgstr ""
+#, c-format
+msgid "Source text — %s"
+msgstr ""
+
msgid "unknown language"
msgstr ""
@@ -750,57 +881,73 @@ msgstr ""
msgid "Error:"
msgstr ""
-msgid "Project info"
-msgstr "Titouroù raktres"
+msgid "Source file"
+msgstr "Restr tarzh "
-msgid "Project name and version:"
-msgstr "Anv ha stumm ar raktres :"
+msgid "Source file occurrence:"
+msgstr ""
-msgid "Language:"
-msgstr "Yezh :"
+msgid "Open in Editor"
+msgstr ""
-msgid "Team:"
-msgstr "Skipailh:"
+msgid "Open in editor"
+msgstr ""
-msgid "Team's email address:"
-msgstr "Postel ar skipailh :"
+msgid "No references for the selected item."
+msgstr ""
-msgid "Charset:"
-msgstr "Bodad-arouezennoù :"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "Fazi en ur zigeriñ ar restr %s !"
-msgid "Source"
+msgid "Find"
msgstr ""
-msgid "Notes"
-msgstr "Notennoù"
+msgid "Replace"
+msgstr ""
-msgid "Automatic translation"
-msgstr "Treiñ war-eeun"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr ""
-msgid "Fuzzy translation"
-msgstr "Troidigezh damc'hraet"
+msgid "Ignore case"
+msgstr ""
-msgid "Notes for translators:"
+msgid "Wrap around"
msgstr ""
-msgid "Comment:"
-msgstr "Evezhiadenn :"
+msgid "Whole words only"
+msgstr "Gerioù a-bezh hepken"
-msgid "Source file"
-msgstr "Restr tarzh "
+msgid "Find in source texts"
+msgstr ""
-msgid "Source file occurrence:"
+msgid "Find in translations"
msgstr ""
-msgid "Open in Editor"
+msgid "Find in comments"
+msgstr "Klask e-touez an evezhiadennoù"
+
+msgid "Close"
msgstr ""
-msgid "Open in editor"
+msgid "Replace All"
msgstr ""
-#, c-format
-msgid "Error opening file %s!"
-msgstr "Fazi en ur zigeriñ ar restr %s !"
+msgid "Replace all"
+msgstr ""
+
+msgid "< &Previous"
+msgstr ""
+
+msgid "&Next >"
+msgstr ""
+
+msgid "String to find"
+msgstr ""
+
+msgid "Replacement string"
+msgstr ""
#, c-format
msgid "Cannot execute program: %s"
@@ -993,9 +1140,19 @@ msgstr "Nevez"
msgid "Edit"
msgstr "Kemmañ"
+msgid "Delete extractor"
+msgstr ""
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr ""
+
msgid "Extractors"
msgstr ""
+msgid "Accounts"
+msgstr ""
+
msgid "Automatically check for updates"
msgstr ""
@@ -1034,7 +1191,34 @@ msgstr ""
msgid "Advanced"
msgstr ""
-msgid "Additional keywords"
+msgid ""
+"<big>Drag and Drop Folders Here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid ""
+"<big>Drag and drop folders here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid "Add Folders..."
+msgstr ""
+
+msgid "Add folders..."
+msgstr ""
+
+msgid "Add Files..."
+msgstr ""
+
+msgid "Add files..."
+msgstr ""
+
+msgid "Add Wildcard..."
+msgstr ""
+
+msgid "Add wildcard..."
msgstr ""
msgid "Paths"
@@ -1043,6 +1227,9 @@ msgstr "Hentoù-lec'hiañ"
msgid "Excluded paths"
msgstr ""
+msgid "Additional keywords"
+msgstr ""
+
msgid "Name of the project the translation is for"
msgstr ""
@@ -1055,6 +1242,9 @@ msgstr ""
msgid "Please save the file first. This section cannot be edited until then."
msgstr ""
+msgid "Comment:"
+msgstr "Evezhiadenn :"
+
msgid "OK"
msgstr "Mat eo"
@@ -1064,42 +1254,6 @@ msgstr ""
msgid "Clear the comment"
msgstr "Diverkañ an evezhiadenn"
-msgid "Find..."
-msgstr "Klask..."
-
-msgid "String to find:"
-msgstr "Hedad da glask :"
-
-msgid "Case sensitive"
-msgstr "Diwall gant ar pennlizherennoù"
-
-msgid "Start from the first item"
-msgstr "Kregiñ adalek an elfenn gentañ"
-
-msgid "Whole words only"
-msgstr "Gerioù a-bezh hepken"
-
-msgid "Find in original strings"
-msgstr "Klask en hedadoù a-orin"
-
-msgid "Find in translations"
-msgstr ""
-
-msgid "Find in comments"
-msgstr "Klask e-touez an evezhiadennoù"
-
-msgid "Find in automatic comments"
-msgstr "Klask e-touez an evezhiadennoù automatek"
-
-msgid "Close"
-msgstr ""
-
-msgid "< &Previous"
-msgstr ""
-
-msgid "&Next >"
-msgstr ""
-
msgid "Create new translations project"
msgstr "Sevel ur raktres treiñ nevez"
@@ -1154,6 +1308,12 @@ msgstr ""
msgid "Open Recent"
msgstr ""
+msgid "Open from Crowdin..."
+msgstr ""
+
+msgid "Open From Crowdin..."
+msgstr ""
+
msgid "&Save"
msgstr "&Enrollañ"
@@ -1202,13 +1362,16 @@ msgstr ""
msgid "&Find..."
msgstr "&Klask..."
+msgid "Replace..."
+msgstr ""
+
msgid "Find next"
msgstr ""
msgid "Find previous"
msgstr ""
-msgid "Find"
+msgid "Find and Replace..."
msgstr ""
msgid "Find Next"
@@ -1250,6 +1413,12 @@ msgstr ""
msgid "&Group By Context"
msgstr ""
+msgid "Entries with errors first"
+msgstr ""
+
+msgid "Entries with Errors First"
+msgstr ""
+
msgid "&Untranslated entries first"
msgstr ""
@@ -1259,6 +1428,9 @@ msgstr ""
msgid "Show sidebar"
msgstr ""
+msgid "Show status bar"
+msgstr ""
+
msgid "C&atalog"
msgstr "K&atalog"
@@ -1274,6 +1446,9 @@ msgstr "Hizivaat adalek ur restr &POT..."
msgid "Update from &POT File..."
msgstr ""
+msgid "Sync with Crowdin"
+msgstr ""
+
msgid "Fill missing translations from &TM..."
msgstr ""
@@ -1397,6 +1572,9 @@ msgstr ""
msgid "Catalog properties"
msgstr ""
+msgid "Project name and version:"
+msgstr "Anv ha stumm ar raktres :"
+
msgid "Plural Forms:"
msgstr "Furmoù liester :"
@@ -1409,6 +1587,15 @@ msgstr ""
msgid "Learn about plural forms"
msgstr ""
+msgid "Charset:"
+msgstr "Bodad-arouezennoù :"
+
+msgid "Team:"
+msgstr "Skipailh:"
+
+msgid "Team's email address:"
+msgstr "Postel ar skipailh :"
+
msgid "Translation properties"
msgstr ""
@@ -1479,7 +1666,7 @@ msgstr "Hizivaat ar c'hatalog - kempredañ anezhañ gant an tarzhoù"
msgid "Toggled if selected string has fuzzy translation"
msgstr "Lakaet war an tu gin m'eo dammdroet an hedad dibabet"
-msgid "Show or hide the sidebar."
+msgid "Show or hide the sidebar"
msgstr ""
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
@@ -1491,6 +1678,9 @@ msgid ""
"translation corresponds to."
msgstr ""
+msgid "Notes for translators:"
+msgstr ""
+
msgid "Add comment"
msgstr ""
@@ -1563,14 +1753,21 @@ msgstr ""
msgid "Open an existing PO file and edit the translation."
msgstr ""
-msgid "Create new translation"
-msgstr ""
-
msgid ""
"Take an existing PO file or POT template and create a new translation from "
"it."
msgstr ""
+msgid "Collaborate on a translation with Crowdin"
+msgstr ""
+
+msgid ""
+"Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+
+msgid "What is Crowdin?"
+msgstr ""
+
msgid "There are no translations. That’s unusual."
msgstr ""
@@ -1603,3 +1800,9 @@ msgstr ""
msgid "Configure source code extraction in Properties."
msgstr ""
+
+msgid "Sync"
+msgstr ""
+
+msgid "Synchronize the translation with Crowdin"
+msgstr ""
diff --git a/locales/bs.mo b/locales/bs.mo
index 84500cc..3e5de72 100644
Binary files a/locales/bs.mo and b/locales/bs.mo differ
diff --git a/locales/bs.po b/locales/bs.po
index 090d900..c87fc44 100644
--- a/locales/bs.po
+++ b/locales/bs.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:33-0400\n"
+"POT-Creation-Date: 2015-05-13 18:47+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Bosnian\n"
"Language: bs_BA\n"
@@ -96,6 +96,15 @@ msgstr ""
msgid "Error saving catalog"
msgstr "Greška pri snimanju kataloga"
+msgid "PO Translation Files"
+msgstr "PO fajlovi sa prijevodom"
+
+msgid "POT Translation Templates"
+msgstr "POT predlošci prijevoda"
+
+msgid "All Translation Files"
+msgstr ""
+
msgid "Merging differences..."
msgstr "Sastavljanje razlika..."
@@ -115,6 +124,86 @@ msgstr "Odabir jezika"
msgid "You must restart Poedit for this change to take effect."
msgstr "Morate ponovo pokrenuti Poedit da bi promjene počele djelovati."
+msgid "Downloading translations is disabled in this project."
+msgstr "Preuzimanje prijevoda je onemogućeno u ovom projektu."
+
+msgid "Not authorized, please sign in again."
+msgstr "Nemate ovlaštenje, molimo vas da se ponovo prijavite."
+
+msgid "Sign in to Crowdin"
+msgstr "Prijavi se u Crowdin"
+
+msgid ""
+"Crowdin is an online localization management platform and collaborative "
+"translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+"Crowdin je online platforma za upravljanje lokalizacijama i kolaborativni "
+"prevodilački alat. Poedit može neprimjetno sinhronizovati PO datoteke na "
+"Crowdinu."
+
+msgid "Sign In"
+msgstr "Prijava"
+
+msgid "Sign in"
+msgstr "Prijava"
+
+msgid "Sign Out"
+msgstr "Odjava"
+
+msgid "Sign out"
+msgstr "Odjava"
+
+msgid "Waiting for authentication…"
+msgstr "Čekam na autentifikaciju..."
+
+msgid "Updating user information…"
+msgstr "Ažuriram korisničke informacije..."
+
+msgid "Signed in as:"
+msgstr "Prijavljeni ste kao:"
+
+msgid "Learn More About Crowdin"
+msgstr "Saznaj više o Crowdinu"
+
+msgid "Learn more about Crowdin"
+msgstr "Saznaj više o Crowdinu"
+
+msgid "Open Crowdin translation"
+msgstr "Otvori Crowdin prijevod"
+
+msgid "Project:"
+msgstr "Projekat:"
+
+msgid "Language:"
+msgstr "Jezik:"
+
+msgid "File:"
+msgstr "Datoteka:"
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr "Nema projekata u vašem Crowdin računu."
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr "Ovaj projekat nema datoteka koje je moguće prevoditi u Poeditu."
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr ""
+
+msgid "Downloading latest translations…"
+msgstr "Preuzimam najnovije prijevode..."
+
+msgid "Syncing with Crowdin"
+msgstr "Sinhroniziram sa Crowdinom"
+
+msgid "Syncing with Crowdin failed."
+msgstr "Sinhronizacija sa Crowdinom nije uspjela."
+
+msgid "Crowdin error"
+msgstr "Crowdin greška"
+
+msgid "Uploading translations…"
+msgstr "Ažuriram prijevode..."
+
msgid "&Copy"
msgstr "&Kopiraj"
@@ -161,6 +250,9 @@ msgstr ""
msgid "don't delete temporary files (for debugging)"
msgstr "ne briši privremene datoteke (zbog debugginga)"
+msgid "handle a poedit:// URI"
+msgstr "upravljač za poedit:// URI"
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr "Desio se neočekivan izuzetak: %s"
@@ -171,12 +263,6 @@ msgstr "Desio se neočekivan izuzetak."
msgid "Open catalog"
msgstr "Otvori katalog"
-msgid "All Files"
-msgstr "Svi fajlovi"
-
-msgid "PO Translation Files"
-msgstr "PO fajlovi sa prijevodom"
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "Datoteka '%s' ne postoji."
@@ -404,6 +490,17 @@ msgstr "Množina:"
msgid "Translation:"
msgstr "Prijevod:"
+msgid ""
+"POT files are only templates and don’t contain any translations themselves.\n"
+"To make a translation, create a new PO file based on the template."
+msgstr ""
+
+msgid "Create New Translation"
+msgstr ""
+
+msgid "Create new translation"
+msgstr "Kreiraj novi prijevod"
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
@@ -452,9 +549,6 @@ msgstr "HTML fajlovi"
msgid "Open catalog template"
msgstr "Otvori predložak kataloga"
-msgid "POT Translation Templates"
-msgstr "POT predlošci prijevoda"
-
msgid "Updating catalog"
msgstr "Ažuriram katalog"
@@ -535,18 +629,20 @@ msgstr[2] "Prijevod je spreman za upotrebu, ali još %d unosa nije prevedeno."
msgid "The translation is ready for use."
msgstr "Prijevod je spreman za upotrebu."
-msgid "No references to this string found."
-msgstr "Nema pronađenih referenci vezanih za ovaj string."
-
-msgid "Please choose the reference you want to show:"
-msgstr "Molimo vas da odaberete reference koje želite prikazati:"
-
-msgid "References"
-msgstr "Reference"
-
msgid "Context:"
msgstr "Kontekst:"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr ""
+
+msgid ""
+"The file contained duplicate items, which is not allowed in PO files and "
+"would prevent the file from being used. Poedit fixed the issue, but you "
+"should review translations of any items marked as fuzzy and correct them if "
+"necessary."
+msgstr ""
+
msgid "Language of the translation isn't set."
msgstr "Jezik prijevoda još nije postavljen."
@@ -556,6 +652,23 @@ msgstr "Postavi jezik"
msgid "Set language"
msgstr "Odaberite jezik"
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid ""
+"Suggestions are not available if the translation language is not set "
+"correctly. Other features, such as plural forms, may be affected as well."
+msgstr ""
+"Prijedlozi nisu dostupni ako jezik prijevoda nije ispravno odabran. Ostale "
+"mogućnosti također mogu biti nedostupne. kao npr. oblici množine."
+
+msgid "Language of the translation is the same as source language."
+msgstr "Jezik prijevoda je isti kao i izvorni jezik."
+
+msgid "Fix Language"
+msgstr "Popravi jezik"
+
+msgid "Fix language"
+msgstr "Popravi jezik"
+
msgid ""
"This catalog has entries with plural forms, but doesn't have Plural-Forms "
"header configured."
@@ -590,6 +703,7 @@ msgstr "Popravi zaglavlje"
msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr "Obrazac množine koji se koristi u katalogu nije uobičajen za %s jezik."
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr "Pregledaj"
@@ -612,6 +726,13 @@ msgstr[0] "%d greška"
msgstr[1] "%d greške"
msgstr[2] "%d grešaka"
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
msgid " (unsaved)"
msgstr " (nesačuvano)"
@@ -739,6 +860,9 @@ msgstr "Sve"
msgid "Form %i"
msgstr "Oblik %i"
+msgid "Singular"
+msgstr ""
+
msgid "Zero"
msgstr "Nula"
@@ -748,6 +872,9 @@ msgstr "Jedan"
msgid "Two"
msgstr "Dva"
+msgid "Plural"
+msgstr ""
+
msgid "Other"
msgstr "Ostalo"
@@ -776,6 +903,12 @@ msgstr "Sakrij bočnu traku"
msgid "Show Sidebar"
msgstr "Prikaži bočnu traku"
+msgid "Hide Status Bar"
+msgstr ""
+
+msgid "Show Status Bar"
+msgstr ""
+
msgid "Source text"
msgstr "Originalni tekst"
@@ -785,6 +918,10 @@ msgstr "Prijevod"
msgid "ID"
msgstr "ID"
+#, c-format
+msgid "Source text — %s"
+msgstr "Izvorni tekst — %s"
+
msgid "unknown language"
msgstr "nepoznat jezik"
@@ -795,57 +932,73 @@ msgstr "Prijevod — %s"
msgid "Error:"
msgstr "Greška:"
-msgid "Project info"
-msgstr "Informacije o projektu"
+msgid "Source file"
+msgstr "Izvorna datoteka"
-msgid "Project name and version:"
-msgstr "Ime projekta i verzija:"
+msgid "Source file occurrence:"
+msgstr "Pojavljivanje originalne datoteke:"
-msgid "Language:"
-msgstr "Jezik:"
+msgid "Open in Editor"
+msgstr "Otvori u uređivaču"
-msgid "Team:"
-msgstr "Tim:"
+msgid "Open in editor"
+msgstr "Otvori u uređivaču"
-msgid "Team's email address:"
-msgstr "Email adresa tima:"
+msgid "No references for the selected item."
+msgstr "Nema referenci za odabranu stavku."
-msgid "Charset:"
-msgstr "Kodiranje znakova:"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "Grešla pri otvaranju datoteke %s!"
-msgid "Source"
-msgstr "Original"
+msgid "Find"
+msgstr "Pronađi"
-msgid "Notes"
-msgstr "Bilješke"
+msgid "Replace"
+msgstr "Zamijeni"
-msgid "Automatic translation"
-msgstr "Automatski prijevod"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr "Opcije"
-msgid "Fuzzy translation"
-msgstr "Nejasan prijevod"
+msgid "Ignore case"
+msgstr "Zanemari velika/mala slova"
-msgid "Notes for translators:"
-msgstr "Napomena prevodiocu:"
+msgid "Wrap around"
+msgstr "Omotaj"
-msgid "Comment:"
-msgstr "Komentar:"
+msgid "Whole words only"
+msgstr "Samo cijele riječi"
-msgid "Source file"
-msgstr "Izvorna datoteka"
+msgid "Find in source texts"
+msgstr "Pronađi u izvornim tekstovima"
-msgid "Source file occurrence:"
-msgstr "Pojavljivanje originalne datoteke:"
+msgid "Find in translations"
+msgstr "Pronađi u prijevodima"
-msgid "Open in Editor"
-msgstr "Otvori u uređivaču"
+msgid "Find in comments"
+msgstr "Pronađi u komentarima"
-msgid "Open in editor"
-msgstr "Otvori u uređivaču"
+msgid "Close"
+msgstr "Zatvori"
-#, c-format
-msgid "Error opening file %s!"
-msgstr "Grešla pri otvaranju datoteke %s!"
+msgid "Replace All"
+msgstr "Zamijeni sve"
+
+msgid "Replace all"
+msgstr "Zamijeni sve"
+
+msgid "< &Previous"
+msgstr "< &Prethodno"
+
+msgid "&Next >"
+msgstr "&Sljedeće >"
+
+msgid "String to find"
+msgstr "String koji tražite"
+
+msgid "Replacement string"
+msgstr "Zamjenski string"
#, c-format
msgid "Cannot execute program: %s"
@@ -1049,9 +1202,19 @@ msgstr "Novo"
msgid "Edit"
msgstr "Uredi"
+msgid "Delete extractor"
+msgstr "Obriši ekstraktor"
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr "Jeste li sigurni da želite obrisati \"%s\" ekstrator?"
+
msgid "Extractors"
msgstr "Izdvajanje"
+msgid "Accounts"
+msgstr "Računi"
+
msgid "Automatically check for updates"
msgstr "Automatski provjeravaj ima li ažuriranja"
@@ -1094,8 +1257,35 @@ msgstr "Sačuvaj oblikovanje postojećih datoteka"
msgid "Advanced"
msgstr "Napredno"
-msgid "Additional keywords"
-msgstr "Dodatne ključne riječi"
+msgid ""
+"<big>Drag and Drop Folders Here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid ""
+"<big>Drag and drop folders here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid "Add Folders..."
+msgstr ""
+
+msgid "Add folders..."
+msgstr ""
+
+msgid "Add Files..."
+msgstr ""
+
+msgid "Add files..."
+msgstr ""
+
+msgid "Add Wildcard..."
+msgstr ""
+
+msgid "Add wildcard..."
+msgstr ""
msgid "Paths"
msgstr "Putanje"
@@ -1103,6 +1293,9 @@ msgstr "Putanje"
msgid "Excluded paths"
msgstr "Izuzete putanje"
+msgid "Additional keywords"
+msgstr "Dodatne ključne riječi"
+
msgid "Name of the project the translation is for"
msgstr "Naziv projekta za koji je namijenjen ovaj prijevod"
@@ -1117,6 +1310,9 @@ msgstr ""
"Molimo vas da prvo sačuvate datoteku. Ova sekcija se ne može uređivati dok "
"to ne uradite."
+msgid "Comment:"
+msgstr "Komentar:"
+
msgid "OK"
msgstr "U redu"
@@ -1126,42 +1322,6 @@ msgstr "O&čisti"
msgid "Clear the comment"
msgstr "Očisti komentar"
-msgid "Find..."
-msgstr "Pronađi..."
-
-msgid "String to find:"
-msgstr "Pronađi string:"
-
-msgid "Case sensitive"
-msgstr "Osjetljivost na mala i velika slova"
-
-msgid "Start from the first item"
-msgstr "Započni od prve stavke"
-
-msgid "Whole words only"
-msgstr "Samo cijele riječi"
-
-msgid "Find in original strings"
-msgstr "Pronađi u originalnim stringovima"
-
-msgid "Find in translations"
-msgstr "Pronađi u prijevodima"
-
-msgid "Find in comments"
-msgstr "Pronađi u komentarima"
-
-msgid "Find in automatic comments"
-msgstr "Pronađi u automatskim komentarima"
-
-msgid "Close"
-msgstr "Zatvori"
-
-msgid "< &Previous"
-msgstr "< &Prethodno"
-
-msgid "&Next >"
-msgstr "&Sljedeće >"
-
msgid "Create new translations project"
msgstr "Napravi novi projekt prevođenja"
@@ -1216,6 +1376,12 @@ msgstr "&Otvori..."
msgid "Open Recent"
msgstr "Otvori nedavne"
+msgid "Open from Crowdin..."
+msgstr "Otvori iz Crowdina..."
+
+msgid "Open From Crowdin..."
+msgstr "Otvori iz Crowdina..."
+
msgid "&Save"
msgstr "&Sačuvaj"
@@ -1264,14 +1430,17 @@ msgstr "&Prikaži reference"
msgid "&Find..."
msgstr "&Pronađi..."
+msgid "Replace..."
+msgstr "Zamijeni..."
+
msgid "Find next"
msgstr "Pronađi sljedeće"
msgid "Find previous"
msgstr "Pronađi prethodno"
-msgid "Find"
-msgstr "Pronađi"
+msgid "Find and Replace..."
+msgstr "Pronađi i zamijeni..."
msgid "Find Next"
msgstr "Pronađi sljedeće"
@@ -1312,6 +1481,12 @@ msgstr "& Grupiši po kontekstu"
msgid "&Group By Context"
msgstr "& Grupiši po kontekstu"
+msgid "Entries with errors first"
+msgstr "Prvo unosi sa greškama"
+
+msgid "Entries with Errors First"
+msgstr "Prvo unosi sa greškama"
+
msgid "&Untranslated entries first"
msgstr "&Prvo prikaži neprevedene rečenice"
@@ -1321,6 +1496,9 @@ msgstr "&Prvo prikaži neprevedene rečenice"
msgid "Show sidebar"
msgstr "Prikaži bočnu traku"
+msgid "Show status bar"
+msgstr ""
+
msgid "C&atalog"
msgstr "K&atalog"
@@ -1336,6 +1514,9 @@ msgstr "Ažuriraj iz &POT datoteke..."
msgid "Update from &POT File..."
msgstr "Ažuriraj iz &POT datoteke..."
+msgid "Sync with Crowdin"
+msgstr "Sinhronizuj sa Crowdinom"
+
msgid "Fill missing translations from &TM..."
msgstr "Popuni nedostajuće prijevode koristeći &TM..."
@@ -1464,6 +1645,9 @@ msgstr ""
msgid "Catalog properties"
msgstr "Svojstva kataloga"
+msgid "Project name and version:"
+msgstr "Ime projekta i verzija:"
+
msgid "Plural Forms:"
msgstr "Obrazac množine:"
@@ -1476,6 +1660,15 @@ msgstr "Koristi vlastiti izraz"
msgid "Learn about plural forms"
msgstr "Saznaj više o oblicima množina"
+msgid "Charset:"
+msgstr "Kodiranje znakova:"
+
+msgid "Team:"
+msgstr "Tim:"
+
+msgid "Team's email address:"
+msgstr "Email adresa tima:"
+
msgid "Translation properties"
msgstr "Svojstva prijevoda"
@@ -1549,8 +1742,8 @@ msgstr "Ažuriraj katalog - sinhronizacija sa izvorima"
msgid "Toggled if selected string has fuzzy translation"
msgstr "Uključite ako odabrani string ima nejasan prijevod"
-msgid "Show or hide the sidebar."
-msgstr "Prikazuje ili sakriva bočnu traku."
+msgid "Show or hide the sidebar"
+msgstr "Prikazuje ili sakriva bočnu traku"
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
msgid "Previous source text:"
@@ -1563,6 +1756,9 @@ msgstr ""
"Stari izvorni tekst (prije promjene nakon ažuriranja) kojem je odgovarao "
"nejasni prijevod."
+msgid "Notes for translators:"
+msgstr "Napomena prevodiocu:"
+
msgid "Add comment"
msgstr "Dodaj komentar"
@@ -1643,15 +1839,24 @@ msgstr "Uredi prijevod"
msgid "Open an existing PO file and edit the translation."
msgstr "Otvori postojeću PO datoteku i uredi prijevod."
-msgid "Create new translation"
-msgstr "Kreiraj novi prijevod"
-
msgid ""
"Take an existing PO file or POT template and create a new translation from "
"it."
msgstr ""
"Uzmi postojeću PO datoteku ili POT predložak i kreiraj prijevod iz njega."
+msgid "Collaborate on a translation with Crowdin"
+msgstr "Sarađujte na prijevodu pomoću Crowdina"
+
+msgid ""
+"Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+"Preuzmite datoteku sa Crowdina, prevedite je i pošaljite vaše prijevode "
+"nazad."
+
+msgid "What is Crowdin?"
+msgstr "Šta je Crowdin?"
+
msgid "There are no translations. That’s unusual."
msgstr "Nema prijevoda. Ovo je neobično."
@@ -1693,3 +1898,9 @@ msgstr "Ažuriraj iz originala"
msgid "Configure source code extraction in Properties."
msgstr "Konfigurišite izvoz izvornog koda u Svojstvima."
+
+msgid "Sync"
+msgstr "Sinhronizuj"
+
+msgid "Synchronize the translation with Crowdin"
+msgstr "Sinhronizuj prijevode sa Crowdinom"
diff --git a/locales/ca.mo b/locales/ca.mo
index e81b49c..85caa14 100644
Binary files a/locales/ca.mo and b/locales/ca.mo differ
diff --git a/locales/ca.po b/locales/ca.po
index 7b9d44b..fda7333 100644
--- a/locales/ca.po
+++ b/locales/ca.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:33-0400\n"
+"POT-Creation-Date: 2015-05-13 18:47+0200\n"
+"PO-Revision-Date: 2015-05-19 10:48-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Catalan\n"
"Language: ca_ES\n"
@@ -23,7 +23,7 @@ msgid "Don't Show Again"
msgstr "No tornis a mostrar-ho"
msgid "Don't show again"
-msgstr "No tornis a mostrar-ho"
+msgstr "No tornar a mostrar"
#, c-format
msgid "%i line of file '%s' was not loaded correctly."
@@ -42,7 +42,7 @@ msgstr "El format de la capçalera és incorrecte: «%s»"
msgid ""
"Broken catalog file: singular form msgstr used together with msgid_plural"
msgstr ""
-"Fitxer de catàleg malmès: la forma singular del msgstr s'ha fet sevir "
+"Fitxer de catàleg malmès: la forma singular del msgstr s'ha fet servir "
"conjuntament amb msgid_plural"
msgid "Broken catalog file: plural form msgstr used without msgid_plural"
@@ -71,12 +71,12 @@ msgstr ""
#, c-format
msgid "Couldn't save file %s."
-msgstr "No s'ha pogut desar el fitxer %s."
+msgstr "No s’ha pogut desar el fitxer %s."
msgid ""
"There was a problem formatting the file nicely (but it was saved all right)."
msgstr ""
-"S'ha produït un problema en formatar el fitxer (però s'ha desat "
+"S’ha produït un problema en formatar el fitxer (però s’ha desat "
"correctament)."
#, c-format
@@ -95,25 +95,115 @@ msgstr ""
msgid "Error saving catalog"
msgstr "S’ha produït un error en desar el catàleg"
+msgid "PO Translation Files"
+msgstr "Fitxers de traducció PO"
+
+msgid "POT Translation Templates"
+msgstr "Plantilles de traducció .POT"
+
+msgid "All Translation Files"
+msgstr "Tots els fitxers de traducció"
+
msgid "Merging differences..."
msgstr "S’estan fusionant les diferències…"
#, c-format
msgid "'%s' is not a valid POT file."
-msgstr "El fitxer «%s» no és un fitxer POT vàlid."
+msgstr "El fitxer POT «%s» no és vàlid."
msgid "(Use default language)"
-msgstr "(Utilitza l'idioma predeterminat)"
+msgstr "(Usa l'idioma predeterminat)"
msgid "Select your preferred language"
msgstr "Trieu el vostre idioma preferit"
msgid "Language selection"
-msgstr "Selecció d'idioma"
+msgstr "Selecció d’idioma"
msgid "You must restart Poedit for this change to take effect."
msgstr "Heu de reiniciar el Poedit perquè aquest canvi tingui efecte."
+msgid "Downloading translations is disabled in this project."
+msgstr "Aquest projecte ha inhabilitat les baixades de traduccions."
+
+msgid "Not authorized, please sign in again."
+msgstr "Acció no autoritzada. Inicieu una sessió de nou."
+
+msgid "Sign in to Crowdin"
+msgstr "Inicia la sessió a Crowdin"
+
+msgid ""
+"Crowdin is an online localization management platform and collaborative "
+"translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+"El Crowdin és una plataforma de gestió de localització en línia i una eina "
+"de traducció col·laborativa. El Poedit pot sincronitzar sense problema els "
+"fitxers PO gestionats al Crowdin."
+
+msgid "Sign In"
+msgstr "Inicia la sessió"
+
+msgid "Sign in"
+msgstr "Inicia la sessió"
+
+msgid "Sign Out"
+msgstr "Tanca la sessió"
+
+msgid "Sign out"
+msgstr "Tanca la sessió"
+
+msgid "Waiting for authentication…"
+msgstr "Esperant autenticació…"
+
+msgid "Updating user information…"
+msgstr "S'està actualitzant la informació d'usuari…"
+
+msgid "Signed in as:"
+msgstr "Sessió iniciada com a:"
+
+msgid "Learn More About Crowdin"
+msgstr "Més informació sobre el Crowdin"
+
+msgid "Learn more about Crowdin"
+msgstr "Més informació sobre el Crowdin"
+
+msgid "Open Crowdin translation"
+msgstr "Obre la traducció del Crowdin"
+
+msgid "Project:"
+msgstr "Projecte:"
+
+msgid "Language:"
+msgstr "Idioma:"
+
+msgid "File:"
+msgstr "Fitxer:"
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr ""
+"No hi ha cap project de traducció llistada en el vostre compte de Crowdin."
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr "Aquest project no té cap fitxer que es pugui traduir en el Poedit."
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr "Aquest fitxer només es pot editar en la interfície web del Crowdin."
+
+msgid "Downloading latest translations…"
+msgstr "S'estan baixant les traduccions més actuals…"
+
+msgid "Syncing with Crowdin"
+msgstr "S'està sincronitzant amb el Crowdin"
+
+msgid "Syncing with Crowdin failed."
+msgstr "La sincronització amb el Crowdin ha fallat."
+
+msgid "Crowdin error"
+msgstr "Error del Crowdin"
+
+msgid "Uploading translations…"
+msgstr "S’estan pujant les traduccions…"
+
msgid "&Copy"
msgstr "&Copia"
@@ -142,7 +232,7 @@ msgid "Failed to load extracted catalog."
msgstr "No s'ha pogut carregar el catàleg extret."
msgid "&Help"
-msgstr "A&juda"
+msgstr "&Ajuda"
msgid "MO files can’t be directly edited in Poedit."
msgstr "Els fitxers MO no es poden editar directament al Poedit."
@@ -160,6 +250,9 @@ msgstr ""
msgid "don't delete temporary files (for debugging)"
msgstr "no suprimeixis els fitxers temporals (per depuració)"
+msgid "handle a poedit:// URI"
+msgstr "gestiona un URI poedit://"
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr "S’ha produït una excepció no controlada: %s"
@@ -170,12 +263,6 @@ msgstr "S’ha produït una excepció no controlada."
msgid "Open catalog"
msgstr "Obre el catàleg"
-msgid "All Files"
-msgstr "Tots els fitxers"
-
-msgid "PO Translation Files"
-msgstr "Fitxers de traducció PO"
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "El fitxer «%s» no existeix."
@@ -211,7 +298,7 @@ msgid "Redo"
msgstr "Refés"
msgid "Paste and Match Style"
-msgstr "Estil d'enganxa i concordança"
+msgstr "Enganxa amb el mateix estil"
msgid "Delete"
msgstr "Suprimeix"
@@ -403,6 +490,19 @@ msgstr "Plural:"
msgid "Translation:"
msgstr "Traducció:"
+msgid ""
+"POT files are only templates and don’t contain any translations themselves.\n"
+"To make a translation, create a new PO file based on the template."
+msgstr ""
+"Els fitxers POT només són plantilles i no contenen cap traducció.\n"
+"Per a fer una traducció, creeu un fitxer PO nou basat en la plantilla."
+
+msgid "Create New Translation"
+msgstr "Crea una traducció nova"
+
+msgid "Create new translation"
+msgstr "Crea una nova traducció"
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
@@ -452,9 +552,6 @@ msgstr "Fitxers HTML"
msgid "Open catalog template"
msgstr "Obre la plantilla de catàleg"
-msgid "POT Translation Templates"
-msgstr "Plantilles de traducció .POT"
-
msgid "Updating catalog"
msgstr "S'està actualitzant el catàleg"
@@ -486,7 +583,7 @@ msgstr[0] "S'ha trobat %d problema amb la traducció."
msgstr[1] "S'han trobat %d problemes amb la traducció."
msgid "Validation results"
-msgstr "Resultats de validació"
+msgstr "Resultats de la validació"
msgid ""
"Entries with errors were marked in red in the list. Details of the error "
@@ -530,27 +627,34 @@ msgid "The translation is ready for use, but %d entry is not translated yet."
msgid_plural ""
"The translation is ready for use, but %d entries are not translated yet."
msgstr[0] ""
-"La traducció està a punt per ser utilitzada, però %d cadena no s'ha traduït "
-"encara."
+"La traducció està a punt de ser usada, però %d cadena encara no s'ha traduït."
msgstr[1] ""
-"La traducció està a punt per ser utilitzada, però %d cadenes no s'han "
-"traduït encara."
+"La traducció està a punt de ser usada, però %d cadenes encara no s'han "
+"traduït."
msgid "The translation is ready for use."
-msgstr "La memòria de traducció està llesta per ser utilitzada."
-
-msgid "No references to this string found."
-msgstr "No s'ha trobat cap referència a aquesta cadena."
-
-msgid "Please choose the reference you want to show:"
-msgstr "Trieu la referència que vulgueu mostrar:"
-
-msgid "References"
-msgstr "Referències"
+msgstr "La memòria de traducció està llesta per a ser usada."
msgid "Context:"
msgstr "Context:"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr ""
+"El Poedit ha corregit automàticament el contingut invàlid en el fitxer \"%s"
+"\"."
+
+msgid ""
+"The file contained duplicate items, which is not allowed in PO files and "
+"would prevent the file from being used. Poedit fixed the issue, but you "
+"should review translations of any items marked as fuzzy and correct them if "
+"necessary."
+msgstr ""
+"El fitxer ha contingut ítems duplicats, que no es permet en els fitxers PO i "
+"prevendria que el fitxer s'usara. El Poedit ha corregit el problema, però "
+"deveu revisar les traduccions de tots els ítems marcats com a difuses i "
+"corregir-les si és necessari."
+
msgid "Language of the translation isn't set."
msgstr "L'idioma de la traducció no està establert."
@@ -560,6 +664,24 @@ msgstr "Estableix l'idioma"
msgid "Set language"
msgstr "Seleccioneu l'idioma"
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid ""
+"Suggestions are not available if the translation language is not set "
+"correctly. Other features, such as plural forms, may be affected as well."
+msgstr ""
+"Els suggeriments no es disposen si l'idioma de traducció no està establerta "
+"correctament. Altres característiques, com les formes plurals, també es "
+"poden afectar."
+
+msgid "Language of the translation is the same as source language."
+msgstr "L'idioma de la traducció es el mateix que l'idioma font."
+
+msgid "Fix Language"
+msgstr "Corregeix idioma"
+
+msgid "Fix language"
+msgstr "Corregeix idioma"
+
msgid ""
"This catalog has entries with plural forms, but doesn't have Plural-Forms "
"header configured."
@@ -579,7 +701,7 @@ msgstr "Falta la capçalera necessària Plural-Forms."
#, c-format
msgid "Syntax error in Plural-Forms header (\"%s\")."
-msgstr "S'ha produït un error de sintaxis a la capçalera Plural-Forms («%s»)."
+msgstr "Hi ha un error de sintaxis a la capçalera Plural-Forms («%s»)."
msgid "Fix the Header"
msgstr "Corregeix la capçalera"
@@ -592,9 +714,9 @@ msgstr "Corregeix la capçalera"
#. to rephrase it, e.g. to an equivalent of "for language %s".
#, c-format
msgid "Plural forms expression used by the catalog is unusual for %s."
-msgstr ""
-"L'expressió de formes plurals utilitzada pel catàleg es inusual pel %s."
+msgstr "L'expressió de formes plurals usada pel catàleg és inusual per al %s."
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr "Repassa"
@@ -617,6 +739,12 @@ msgid_plural "%d errors"
msgstr[0] "%d error"
msgstr[1] "%d errors"
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] "%d entrada"
+msgstr[1] "%d entrades"
+
msgid " (unsaved)"
msgstr " (no desat)"
@@ -634,7 +762,7 @@ msgid "Purge deleted translations"
msgstr "Buida les traduccions obsoletes"
msgid "Do you want to remove all translations that are no longer used?"
-msgstr "Voleu suprimir totes les traduccions que ja no s'utilitzen?"
+msgstr "Voleu suprimir totes les traduccions que ja no s'usin?"
msgid ""
"If you continue with purging, all translations marked as deleted will be "
@@ -743,6 +871,9 @@ msgstr "Tot"
msgid "Form %i"
msgstr "Forma %i"
+msgid "Singular"
+msgstr "Singular"
+
msgid "Zero"
msgstr "Zero"
@@ -752,6 +883,9 @@ msgstr "Un"
msgid "Two"
msgstr "Dos"
+msgid "Plural"
+msgstr "Plural"
+
msgid "Other"
msgstr "Altre"
@@ -780,6 +914,12 @@ msgstr "Amaga la barra lateral"
msgid "Show Sidebar"
msgstr "Mostra la barra lateral"
+msgid "Hide Status Bar"
+msgstr "Amaga la barra d'estat"
+
+msgid "Show Status Bar"
+msgstr "Mostra la barra d'estat"
+
msgid "Source text"
msgstr "Text font"
@@ -787,7 +927,11 @@ msgid "Translation"
msgstr "Traducció"
msgid "ID"
-msgstr "ID"
+msgstr "Id."
+
+#, c-format
+msgid "Source text — %s"
+msgstr "Text font — %s"
msgid "unknown language"
msgstr "idioma desconegut"
@@ -799,67 +943,83 @@ msgstr "Traducció — %s"
msgid "Error:"
msgstr "Error:"
-msgid "Project info"
-msgstr "Informació del projecte"
+msgid "Source file"
+msgstr "Fitxer de codi font"
-msgid "Project name and version:"
-msgstr "Nom i versió del projecte:"
+msgid "Source file occurrence:"
+msgstr "Ocurrència al fitxer font:"
-msgid "Language:"
-msgstr "Idioma:"
+msgid "Open in Editor"
+msgstr "Obre en l’editor"
-msgid "Team:"
-msgstr "Equip:"
+msgid "Open in editor"
+msgstr "Obre en l’editor"
-msgid "Team's email address:"
-msgstr "Adreça de correu electrònic de l'equip:"
+msgid "No references for the selected item."
+msgstr "No hi ha referències per a l'ítem seleccionat."
-msgid "Charset:"
-msgstr "Joc de caràcters:"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "S'ha produït un error en obrir el fitxer %s!"
-msgid "Source"
-msgstr "Font"
+msgid "Find"
+msgstr "Cerca"
-msgid "Notes"
-msgstr "Notes"
+msgid "Replace"
+msgstr "Reemplaça"
-msgid "Automatic translation"
-msgstr "Traducció automàtica"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr "Opcions"
-msgid "Fuzzy translation"
-msgstr "Traducció difusa"
+msgid "Ignore case"
+msgstr "Ignora majúscules/minúscules"
-msgid "Notes for translators:"
-msgstr "Notes per als traductors:"
+msgid "Wrap around"
+msgstr ""
-msgid "Comment:"
-msgstr "Comentari:"
+msgid "Whole words only"
+msgstr "Només les paraules senceres"
-msgid "Source file"
-msgstr "Fitxer de codi font"
+msgid "Find in source texts"
+msgstr "Cerca en els texts font"
-msgid "Source file occurrence:"
-msgstr "Ocurrència al fitxer font:"
+msgid "Find in translations"
+msgstr "Cerca a les traduccions"
-msgid "Open in Editor"
-msgstr "Obre en l’editor"
+msgid "Find in comments"
+msgstr "Cerca als comentaris"
-msgid "Open in editor"
-msgstr "Obre en l’editor"
+msgid "Close"
+msgstr "Tanca"
-#, c-format
-msgid "Error opening file %s!"
-msgstr "S'ha produït un error en obrir el fitxer %s!"
+msgid "Replace All"
+msgstr "Reemplaça-ho tot"
+
+msgid "Replace all"
+msgstr "Reemplaça-ho tot"
+
+msgid "< &Previous"
+msgstr "< &Anterior"
+
+msgid "&Next >"
+msgstr "&Següent >"
+
+msgid "String to find"
+msgstr "Cadena a trobar"
+
+msgid "Replacement string"
+msgstr "Cadena de reemplaçament"
#, c-format
msgid "Cannot execute program: %s"
msgstr "No es pot executar el programa: %s"
msgid "Language Code or Name (e.g. en_GB)"
-msgstr "Codi d'idioma o nom (per exemple, ca_ES)"
+msgstr "Codi d’idioma o nom (p. ex., ca_ES)"
msgid "Translation Language"
-msgstr "Idioma de traducció"
+msgstr "Idioma de la traducció"
msgid "Language of the translation:"
msgstr "Idioma de la traducció:"
@@ -974,7 +1134,7 @@ msgid "General"
msgstr "General"
msgid "Use translation memory"
-msgstr "Utilitza la memòria de traducció"
+msgstr "Usa la memòria de traducció"
msgid "Learn From Files..."
msgstr "Aprèn de fitxers..."
@@ -995,10 +1155,10 @@ msgid ""
"near-empty, it will not be very effective. The more translations\n"
"you edit and the larger the TM grows, the better it gets."
msgstr ""
-"Si es troba activada, Poedit mirarà d'omplir les noves entrades utilitzant\n"
+"Si es troba activada, Poedit mirarà d'omplir les noves entrades usant\n"
"traduccions prèvies que estiguin desades en la memòria de traducció.\n"
"Si la MT és quasi buida, no serà molt efectiu. Quan més traduccions\n"
-"faci i més gran sigui la MT, més bé funcionarà. "
+"faci i més gran sigui la MT, més bé funcionarà."
msgid "Stored translations:"
msgstr "Traduccions emmagatzemades:"
@@ -1022,7 +1182,7 @@ msgid "Reset translation memory"
msgstr "Esborra la memòria de traduccions"
msgid "Are you sure you want to reset the translation memory?"
-msgstr "Esteu segur de voler esborrar la memòria de traduccions?"
+msgstr "Esteu segur que voleu restabir la memòria de traduccions?"
msgid ""
"Resetting the translation memory will irrevocably delete all stored "
@@ -1053,9 +1213,19 @@ msgstr "Nou"
msgid "Edit"
msgstr "Edita"
+msgid "Delete extractor"
+msgstr "Suprimeix l’extractor"
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr "Esteu segur que voleu suprimir l’extractor «%s»?"
+
msgid "Extractors"
msgstr "Extractors"
+msgid "Accounts"
+msgstr "Comptes"
+
msgid "Automatically check for updates"
msgstr "Comprova si hi ha actualitzacions automàticament"
@@ -1098,8 +1268,41 @@ msgstr "Preserva el format dels fitxers existents"
msgid "Advanced"
msgstr "Avançades"
-msgid "Additional keywords"
-msgstr "Paraules clau addicionals"
+msgid ""
+"<big>Drag and Drop Folders Here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+"<big>Arrossegueu i deixeu anar carpetes aquí</big>\n"
+"\n"
+"o usa el botó +"
+
+msgid ""
+"<big>Drag and drop folders here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+"<big>Arrossegueu i deixeu anar carpetes aquí</big>\n"
+"\n"
+"o usa el botó +"
+
+msgid "Add Folders..."
+msgstr "Afegeix carpetes..."
+
+msgid "Add folders..."
+msgstr "Afegeix carpetes..."
+
+msgid "Add Files..."
+msgstr "Afegeix fitxers..."
+
+msgid "Add files..."
+msgstr "Afegeix fitxers..."
+
+msgid "Add Wildcard..."
+msgstr "Afegeix comodí..."
+
+msgid "Add wildcard..."
+msgstr "Afegeix comodí..."
msgid "Paths"
msgstr "Camins"
@@ -1107,6 +1310,9 @@ msgstr "Camins"
msgid "Excluded paths"
msgstr "Camins exclosos"
+msgid "Additional keywords"
+msgstr "Paraules clau addicionals"
+
msgid "Name of the project the translation is for"
msgstr "Nom del project pel qual és la traducció"
@@ -1117,12 +1323,13 @@ msgid "UTF-8 (recommended)"
msgstr "UTF-8 (recomanat)"
msgid "Please save the file first. This section cannot be edited until then."
-msgstr ""
-"Si us plau, deseu el fitxer primer. Aquesta secció no es pot editar fins "
-"llavors."
+msgstr "Deseu el fitxer primer. No es pot editar aquesta secció fins llavors."
+
+msgid "Comment:"
+msgstr "Comentari:"
msgid "OK"
-msgstr "D'acord"
+msgstr "D’acord"
msgid "C&lear"
msgstr "&Neteja"
@@ -1130,42 +1337,6 @@ msgstr "&Neteja"
msgid "Clear the comment"
msgstr "Neteja el comentari"
-msgid "Find..."
-msgstr "Cerca..."
-
-msgid "String to find:"
-msgstr "Cadena a cercar:"
-
-msgid "Case sensitive"
-msgstr "Distingeix entre majúscules i minúscules"
-
-msgid "Start from the first item"
-msgstr "Comença des del primer element"
-
-msgid "Whole words only"
-msgstr "Només les paraules senceres"
-
-msgid "Find in original strings"
-msgstr "Cerca a les cadenes originals"
-
-msgid "Find in translations"
-msgstr "Cerca a les traduccions"
-
-msgid "Find in comments"
-msgstr "Cerca als comentaris"
-
-msgid "Find in automatic comments"
-msgstr "Cerca als comentaris automàtics"
-
-msgid "Close"
-msgstr "Tanca"
-
-msgid "< &Previous"
-msgstr "< &Anterior"
-
-msgid "&Next >"
-msgstr "&Següent >"
-
msgid "Create new translations project"
msgstr "Crea un nou projecte de traduccions"
@@ -1220,6 +1391,12 @@ msgstr "&Obre..."
msgid "Open Recent"
msgstr "Obre recents"
+msgid "Open from Crowdin..."
+msgstr "Obre des del Crowdin..."
+
+msgid "Open From Crowdin..."
+msgstr "Obre des del Crowdin..."
+
msgid "&Save"
msgstr "De&sa"
@@ -1268,14 +1445,17 @@ msgstr "Mo&stra les referències"
msgid "&Find..."
msgstr "&Cerca..."
+msgid "Replace..."
+msgstr "Reemplaça..."
+
msgid "Find next"
msgstr "Cerca el següent"
msgid "Find previous"
msgstr "Cerca l'anterior"
-msgid "Find"
-msgstr "Cerca"
+msgid "Find and Replace..."
+msgstr "Troba i reemplaça..."
msgid "Find Next"
msgstr "Cerca el següent"
@@ -1316,6 +1496,12 @@ msgstr "A&grupa pel context"
msgid "&Group By Context"
msgstr "A&grupa pel context"
+msgid "Entries with errors first"
+msgstr "Entrades amb errors primers"
+
+msgid "Entries with Errors First"
+msgstr "Entrades amb errors primers"
+
msgid "&Untranslated entries first"
msgstr "&Primer les entrades no trad&uïdes"
@@ -1325,8 +1511,11 @@ msgstr "&Primer les entrades no trad&uïdes"
msgid "Show sidebar"
msgstr "Mostra la barra lateral"
+msgid "Show status bar"
+msgstr "Mostra la barra d'estat"
+
msgid "C&atalog"
-msgstr "C&atàleg"
+msgstr "&Catàleg"
msgid "&Update from sources"
msgstr "Act&ualitza des de les fonts"
@@ -1340,6 +1529,9 @@ msgstr "Actualitza des del fitxer &POT..."
msgid "Update from &POT File..."
msgstr "Actualitza des del fitxer &POT..."
+msgid "Sync with Crowdin"
+msgstr "Sincronitza amb el Crowdin"
+
msgid "Fill missing translations from &TM..."
msgstr "Omple les traduccions mancants des de la &MT..."
@@ -1362,10 +1554,10 @@ msgid "&Properties..."
msgstr "&Propietats..."
msgid "&Done and next"
-msgstr "&Fet i següent"
+msgstr "&Fet, següent"
msgid "&Done and Next"
-msgstr "&Fet i següent"
+msgstr "&Fet, següent"
msgid "&Previous translation"
msgstr "Traducció &anterior"
@@ -1468,18 +1660,30 @@ msgstr ""
msgid "Catalog properties"
msgstr "Propietats del catàleg"
+msgid "Project name and version:"
+msgstr "Nom i versió del projecte:"
+
msgid "Plural Forms:"
msgstr "Formes plurals:"
msgid "Use default rules for this language"
-msgstr "Utilitza les regles per defecte en aquest idioma"
+msgstr "Usa les regles per defecte en aquest idioma"
msgid "Use custom expression"
-msgstr "Utilitza una expressió personalitzada"
+msgstr "Usa una expressió personalitzada"
msgid "Learn about plural forms"
msgstr "Apreneu sobre les formes plurals"
+msgid "Charset:"
+msgstr "Joc de caràcters:"
+
+msgid "Team:"
+msgstr "Equip:"
+
+msgid "Team's email address:"
+msgstr "Adreça electrònica de l’equip:"
+
msgid "Translation properties"
msgstr "Propietats de la traducció"
@@ -1496,8 +1700,8 @@ msgid ""
"Use these keywords (function names) to recognize translatable strings\n"
"in source files:"
msgstr ""
-"Utilitza aquestes paraules clau (noms de funcions) per a reconèixer\n"
-"les cadenes traduïbles en els fitxers de codi font:"
+"Usa aquestes paraules clau (noms de funcions) per a reconèixer les\n"
+"cadenes traduïbles en els fitxers de codi font:"
msgid "Learn about gettext keywords"
msgstr "Apreneu sobre les paraules clau de gettext"
@@ -1552,8 +1756,8 @@ msgstr "Actualitza el catàleg - sincronitza'l amb les fonts"
msgid "Toggled if selected string has fuzzy translation"
msgstr "Commutat si la cadena seleccionada té una traducció difusa"
-msgid "Show or hide the sidebar."
-msgstr "Mostra o amaga la barra lateral."
+msgid "Show or hide the sidebar"
+msgstr "Mostra o amaga la barra lateral"
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
msgid "Previous source text:"
@@ -1566,6 +1770,9 @@ msgstr ""
"El text font vell (abans que canviés durant una actualització) al qual "
"correspon la traducció difusa."
+msgid "Notes for translators:"
+msgstr "Notes per als traductors:"
+
msgid "Add comment"
msgstr "Afegeix un comentari"
@@ -1639,7 +1846,7 @@ msgid "Cannot create temporary directory."
msgstr "No s'ha pogut crear el directori temporal."
msgid "Welcome to Poedit"
-msgstr "Benvingut al Poedit"
+msgstr "Us donem la benvinguda al Poedit"
msgid "Edit a translation"
msgstr "Edita una traducció"
@@ -1647,15 +1854,24 @@ msgstr "Edita una traducció"
msgid "Open an existing PO file and edit the translation."
msgstr "Obre un fitxer PO existent i edita la traducció."
-msgid "Create new translation"
-msgstr "Crea una nova traducció"
-
msgid ""
"Take an existing PO file or POT template and create a new translation from "
"it."
msgstr ""
"Pren un fitxer PO o plantilla existent i crea una nova traducció de el."
+msgid "Collaborate on a translation with Crowdin"
+msgstr "Col·labora en una traducció amb el Crowdin"
+
+msgid ""
+"Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+"Baixa un fitxer del projecte de Crowdin, tradueix-lo i sincronitza els "
+"vostres canvis de tornada."
+
+msgid "What is Crowdin?"
+msgstr "Què és el Crowdin?"
+
msgid "There are no translations. That’s unusual."
msgstr "No hi ha traduccions. Això es inusual."
@@ -1666,13 +1882,12 @@ msgid ""
"Translators typically use PO template files (POTs) prepared for them by the "
"developer."
msgstr ""
-"Entrades traduïbles no s'afegeixen manualment en el sistema Gettext, però "
-"automàticament\n"
-"s'extreuen des del codi font. D'aquesta manera, queden actualitzades i "
+"Les entrades traduïbles no s'afegeixen manualment en el sistema Gettext, "
+"sinó que s'extreuen\n"
+"automàticament des del codi font. D'aquesta manera, queden actualitzades i "
"correctes.\n"
-"Els traductors típicament utilitzen fitxers de plantilla PO (POTs) preparats "
-"pels pel\n"
-"desenvolupador."
+"Els traductors típicament usen fitxers de plantilla PO (POTs) preparats pels "
+"pel desenvolupador."
msgid "(Learn more about GNU gettext)"
msgstr "(Apreneu més sobre el GNU gettext)"
@@ -1697,3 +1912,9 @@ msgstr "Extreu des de les fonts"
msgid "Configure source code extraction in Properties."
msgstr "Configura l'extracció de codi font en els Propietats."
+
+msgid "Sync"
+msgstr "Sincronitza"
+
+msgid "Synchronize the translation with Crowdin"
+msgstr "Sincronitza la traducció amb el Crowdin"
diff --git a/locales/ca at valencia.mo b/locales/ca at valencia.mo
index 5f230b6..7bf264e 100644
Binary files a/locales/ca at valencia.mo and b/locales/ca at valencia.mo differ
diff --git a/locales/ca at valencia.po b/locales/ca at valencia.po
index 57e1090..7be9590 100644
--- a/locales/ca at valencia.po
+++ b/locales/ca at valencia.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:34-0400\n"
+"POT-Creation-Date: 2015-05-13 18:47+0200\n"
+"PO-Revision-Date: 2015-05-13 12:42-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Valencian\n"
"Language: val_ES\n"
@@ -88,6 +88,15 @@ msgstr ""
msgid "Error saving catalog"
msgstr "S'ha produït un error en alçar el catàleg"
+msgid "PO Translation Files"
+msgstr ""
+
+msgid "POT Translation Templates"
+msgstr ""
+
+msgid "All Translation Files"
+msgstr ""
+
msgid "Merging differences..."
msgstr "S'estan fusionant les diferències..."
@@ -107,6 +116,83 @@ msgstr "Selecció d'idioma"
msgid "You must restart Poedit for this change to take effect."
msgstr "Heu de reiniciar el Poedit perquè este canvi tinga efecte."
+msgid "Downloading translations is disabled in this project."
+msgstr ""
+
+msgid "Not authorized, please sign in again."
+msgstr ""
+
+msgid "Sign in to Crowdin"
+msgstr ""
+
+msgid ""
+"Crowdin is an online localization management platform and collaborative "
+"translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+
+msgid "Sign In"
+msgstr ""
+
+msgid "Sign in"
+msgstr ""
+
+msgid "Sign Out"
+msgstr ""
+
+msgid "Sign out"
+msgstr ""
+
+msgid "Waiting for authentication…"
+msgstr ""
+
+msgid "Updating user information…"
+msgstr ""
+
+msgid "Signed in as:"
+msgstr ""
+
+msgid "Learn More About Crowdin"
+msgstr ""
+
+msgid "Learn more about Crowdin"
+msgstr ""
+
+msgid "Open Crowdin translation"
+msgstr ""
+
+msgid "Project:"
+msgstr ""
+
+msgid "Language:"
+msgstr "Idioma:"
+
+msgid "File:"
+msgstr ""
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr ""
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr ""
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr ""
+
+msgid "Downloading latest translations…"
+msgstr ""
+
+msgid "Syncing with Crowdin"
+msgstr ""
+
+msgid "Syncing with Crowdin failed."
+msgstr ""
+
+msgid "Crowdin error"
+msgstr ""
+
+msgid "Uploading translations…"
+msgstr ""
+
msgid "&Copy"
msgstr ""
@@ -151,6 +237,9 @@ msgstr ""
msgid "don't delete temporary files (for debugging)"
msgstr ""
+msgid "handle a poedit:// URI"
+msgstr ""
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr ""
@@ -161,12 +250,6 @@ msgstr ""
msgid "Open catalog"
msgstr "Obri el catàleg"
-msgid "All Files"
-msgstr ""
-
-msgid "PO Translation Files"
-msgstr ""
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "El fitxer «%s» no existeix."
@@ -394,6 +477,17 @@ msgstr "Plural:"
msgid "Translation:"
msgstr ""
+msgid ""
+"POT files are only templates and don’t contain any translations themselves.\n"
+"To make a translation, create a new PO file based on the template."
+msgstr ""
+
+msgid "Create New Translation"
+msgstr ""
+
+msgid "Create new translation"
+msgstr ""
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
@@ -441,9 +535,6 @@ msgstr ""
msgid "Open catalog template"
msgstr "Obri la plantilla de catàleg"
-msgid "POT Translation Templates"
-msgstr ""
-
msgid "Updating catalog"
msgstr ""
@@ -512,16 +603,18 @@ msgstr[1] ""
msgid "The translation is ready for use."
msgstr ""
-msgid "No references to this string found."
-msgstr "No s'ha trobat cap referència a esta cadena."
-
-msgid "Please choose the reference you want to show:"
-msgstr "Trieu la referència que vulgueu mostrar:"
+msgid "Context:"
+msgstr ""
-msgid "References"
-msgstr "Referències"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr ""
-msgid "Context:"
+msgid ""
+"The file contained duplicate items, which is not allowed in PO files and "
+"would prevent the file from being used. Poedit fixed the issue, but you "
+"should review translations of any items marked as fuzzy and correct them if "
+"necessary."
msgstr ""
msgid "Language of the translation isn't set."
@@ -533,6 +626,21 @@ msgstr ""
msgid "Set language"
msgstr ""
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid ""
+"Suggestions are not available if the translation language is not set "
+"correctly. Other features, such as plural forms, may be affected as well."
+msgstr ""
+
+msgid "Language of the translation is the same as source language."
+msgstr ""
+
+msgid "Fix Language"
+msgstr ""
+
+msgid "Fix language"
+msgstr ""
+
msgid ""
"This catalog has entries with plural forms, but doesn't have Plural-Forms "
"header configured."
@@ -563,6 +671,7 @@ msgstr ""
msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr ""
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr ""
@@ -585,6 +694,12 @@ msgid_plural "%d errors"
msgstr[0] ""
msgstr[1] ""
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] ""
+msgstr[1] ""
+
msgid " (unsaved)"
msgstr ""
@@ -698,6 +813,9 @@ msgstr ""
msgid "Form %i"
msgstr "Forma %i"
+msgid "Singular"
+msgstr ""
+
msgid "Zero"
msgstr ""
@@ -707,6 +825,9 @@ msgstr ""
msgid "Two"
msgstr ""
+msgid "Plural"
+msgstr ""
+
msgid "Other"
msgstr ""
@@ -735,6 +856,12 @@ msgstr ""
msgid "Show Sidebar"
msgstr ""
+msgid "Hide Status Bar"
+msgstr ""
+
+msgid "Show Status Bar"
+msgstr ""
+
msgid "Source text"
msgstr ""
@@ -744,6 +871,10 @@ msgstr "Traducció"
msgid "ID"
msgstr ""
+#, c-format
+msgid "Source text — %s"
+msgstr ""
+
msgid "unknown language"
msgstr ""
@@ -754,57 +885,73 @@ msgstr ""
msgid "Error:"
msgstr ""
-msgid "Project info"
-msgstr "Informació del projecte"
+msgid "Source file"
+msgstr "Fitxer de codi font"
-msgid "Project name and version:"
-msgstr "Nom i versió del projecte:"
+msgid "Source file occurrence:"
+msgstr ""
-msgid "Language:"
-msgstr "Idioma:"
+msgid "Open in Editor"
+msgstr ""
-msgid "Team:"
-msgstr "Equip:"
+msgid "Open in editor"
+msgstr ""
-msgid "Team's email address:"
-msgstr "Adreça de correu de l'equip:"
+msgid "No references for the selected item."
+msgstr ""
-msgid "Charset:"
-msgstr "Joc de caràcters:"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "S'ha produït un error en obrir el fitxer %s."
-msgid "Source"
+msgid "Find"
msgstr ""
-msgid "Notes"
-msgstr "Notes"
+msgid "Replace"
+msgstr ""
-msgid "Automatic translation"
-msgstr "Traducció automàtica"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr ""
-msgid "Fuzzy translation"
-msgstr "Traducció difusa"
+msgid "Ignore case"
+msgstr ""
-msgid "Notes for translators:"
+msgid "Wrap around"
msgstr ""
-msgid "Comment:"
-msgstr "Comentari:"
+msgid "Whole words only"
+msgstr "Només les paraules senceres"
-msgid "Source file"
-msgstr "Fitxer de codi font"
+msgid "Find in source texts"
+msgstr ""
-msgid "Source file occurrence:"
+msgid "Find in translations"
msgstr ""
-msgid "Open in Editor"
+msgid "Find in comments"
+msgstr "Cerca a els comentaris"
+
+msgid "Close"
msgstr ""
-msgid "Open in editor"
+msgid "Replace All"
msgstr ""
-#, c-format
-msgid "Error opening file %s!"
-msgstr "S'ha produït un error en obrir el fitxer %s."
+msgid "Replace all"
+msgstr ""
+
+msgid "< &Previous"
+msgstr ""
+
+msgid "&Next >"
+msgstr ""
+
+msgid "String to find"
+msgstr ""
+
+msgid "Replacement string"
+msgstr ""
#, c-format
msgid "Cannot execute program: %s"
@@ -998,9 +1145,19 @@ msgstr "Nou"
msgid "Edit"
msgstr "Edita"
+msgid "Delete extractor"
+msgstr ""
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr ""
+
msgid "Extractors"
msgstr ""
+msgid "Accounts"
+msgstr ""
+
msgid "Automatically check for updates"
msgstr ""
@@ -1039,7 +1196,34 @@ msgstr ""
msgid "Advanced"
msgstr ""
-msgid "Additional keywords"
+msgid ""
+"<big>Drag and Drop Folders Here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid ""
+"<big>Drag and drop folders here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid "Add Folders..."
+msgstr ""
+
+msgid "Add folders..."
+msgstr ""
+
+msgid "Add Files..."
+msgstr ""
+
+msgid "Add files..."
+msgstr ""
+
+msgid "Add Wildcard..."
+msgstr ""
+
+msgid "Add wildcard..."
msgstr ""
msgid "Paths"
@@ -1048,6 +1232,9 @@ msgstr "Camins"
msgid "Excluded paths"
msgstr ""
+msgid "Additional keywords"
+msgstr ""
+
msgid "Name of the project the translation is for"
msgstr ""
@@ -1060,6 +1247,9 @@ msgstr ""
msgid "Please save the file first. This section cannot be edited until then."
msgstr ""
+msgid "Comment:"
+msgstr "Comentari:"
+
msgid "OK"
msgstr "D'acord"
@@ -1069,42 +1259,6 @@ msgstr ""
msgid "Clear the comment"
msgstr "Neteja el comentari"
-msgid "Find..."
-msgstr "Cerca..."
-
-msgid "String to find:"
-msgstr "Cadena a cercar:"
-
-msgid "Case sensitive"
-msgstr "Distingeix entre majúscules i minúscules"
-
-msgid "Start from the first item"
-msgstr "Comença des del primer element"
-
-msgid "Whole words only"
-msgstr "Només les paraules senceres"
-
-msgid "Find in original strings"
-msgstr "Cerca a les cadenes originals"
-
-msgid "Find in translations"
-msgstr ""
-
-msgid "Find in comments"
-msgstr "Cerca a els comentaris"
-
-msgid "Find in automatic comments"
-msgstr "Cerca als comentaris automàtics"
-
-msgid "Close"
-msgstr ""
-
-msgid "< &Previous"
-msgstr ""
-
-msgid "&Next >"
-msgstr ""
-
msgid "Create new translations project"
msgstr "Crea un projecte nou de traduccions"
@@ -1159,6 +1313,12 @@ msgstr "&Obri..."
msgid "Open Recent"
msgstr ""
+msgid "Open from Crowdin..."
+msgstr ""
+
+msgid "Open From Crowdin..."
+msgstr ""
+
msgid "&Save"
msgstr "Al&ça"
@@ -1207,13 +1367,16 @@ msgstr ""
msgid "&Find..."
msgstr "&Cerca..."
+msgid "Replace..."
+msgstr ""
+
msgid "Find next"
msgstr ""
msgid "Find previous"
msgstr ""
-msgid "Find"
+msgid "Find and Replace..."
msgstr ""
msgid "Find Next"
@@ -1255,6 +1418,12 @@ msgstr ""
msgid "&Group By Context"
msgstr ""
+msgid "Entries with errors first"
+msgstr ""
+
+msgid "Entries with Errors First"
+msgstr ""
+
msgid "&Untranslated entries first"
msgstr ""
@@ -1264,6 +1433,9 @@ msgstr ""
msgid "Show sidebar"
msgstr ""
+msgid "Show status bar"
+msgstr ""
+
msgid "C&atalog"
msgstr "C&atàleg"
@@ -1279,6 +1451,9 @@ msgstr "Actualitza des del fitxer &POT..."
msgid "Update from &POT File..."
msgstr ""
+msgid "Sync with Crowdin"
+msgstr ""
+
msgid "Fill missing translations from &TM..."
msgstr ""
@@ -1403,6 +1578,9 @@ msgstr ""
msgid "Catalog properties"
msgstr ""
+msgid "Project name and version:"
+msgstr "Nom i versió del projecte:"
+
msgid "Plural Forms:"
msgstr "Formes plurals:"
@@ -1415,6 +1593,15 @@ msgstr ""
msgid "Learn about plural forms"
msgstr ""
+msgid "Charset:"
+msgstr "Joc de caràcters:"
+
+msgid "Team:"
+msgstr "Equip:"
+
+msgid "Team's email address:"
+msgstr "Adreça de correu de l'equip:"
+
msgid "Translation properties"
msgstr ""
@@ -1485,7 +1672,7 @@ msgstr "Actualitza el catàleg - sincronitza'l amb les fonts"
msgid "Toggled if selected string has fuzzy translation"
msgstr "Commutat si la cadena seleccionada té una traducció difusa"
-msgid "Show or hide the sidebar."
+msgid "Show or hide the sidebar"
msgstr ""
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
@@ -1497,6 +1684,9 @@ msgid ""
"translation corresponds to."
msgstr ""
+msgid "Notes for translators:"
+msgstr ""
+
msgid "Add comment"
msgstr ""
@@ -1569,14 +1759,21 @@ msgstr ""
msgid "Open an existing PO file and edit the translation."
msgstr ""
-msgid "Create new translation"
-msgstr ""
-
msgid ""
"Take an existing PO file or POT template and create a new translation from "
"it."
msgstr ""
+msgid "Collaborate on a translation with Crowdin"
+msgstr ""
+
+msgid ""
+"Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+
+msgid "What is Crowdin?"
+msgstr ""
+
msgid "There are no translations. That’s unusual."
msgstr ""
@@ -1609,3 +1806,9 @@ msgstr ""
msgid "Configure source code extraction in Properties."
msgstr ""
+
+msgid "Sync"
+msgstr ""
+
+msgid "Synchronize the translation with Crowdin"
+msgstr ""
diff --git a/locales/ckb.mo b/locales/ckb.mo
index d4806b8..d61303d 100644
Binary files a/locales/ckb.mo and b/locales/ckb.mo differ
diff --git a/locales/ckb.po b/locales/ckb.po
index aa74e44..9051c19 100644
--- a/locales/ckb.po
+++ b/locales/ckb.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:34-0400\n"
+"POT-Creation-Date: 2015-05-13 18:47+0200\n"
+"PO-Revision-Date: 2015-05-13 12:42-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Sorani (Kurdish)\n"
"Language: ckb_IR\n"
@@ -87,6 +87,15 @@ msgstr ""
msgid "Error saving catalog"
msgstr "هەڵە لە پاشەکەوتکردنی کەتەلۆگ"
+msgid "PO Translation Files"
+msgstr ""
+
+msgid "POT Translation Templates"
+msgstr ""
+
+msgid "All Translation Files"
+msgstr ""
+
msgid "Merging differences..."
msgstr "لکاندنی جیاوازییەکان"
@@ -108,6 +117,83 @@ msgstr ""
"پێویستە دووبارە Poedit دەستپێبکەیتەوە بۆ ئەوەی گۆڕانکارییەکان شوێنی خۆیان "
"بگرن."
+msgid "Downloading translations is disabled in this project."
+msgstr ""
+
+msgid "Not authorized, please sign in again."
+msgstr ""
+
+msgid "Sign in to Crowdin"
+msgstr ""
+
+msgid ""
+"Crowdin is an online localization management platform and collaborative "
+"translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+
+msgid "Sign In"
+msgstr ""
+
+msgid "Sign in"
+msgstr ""
+
+msgid "Sign Out"
+msgstr ""
+
+msgid "Sign out"
+msgstr ""
+
+msgid "Waiting for authentication…"
+msgstr ""
+
+msgid "Updating user information…"
+msgstr ""
+
+msgid "Signed in as:"
+msgstr ""
+
+msgid "Learn More About Crowdin"
+msgstr ""
+
+msgid "Learn more about Crowdin"
+msgstr ""
+
+msgid "Open Crowdin translation"
+msgstr ""
+
+msgid "Project:"
+msgstr ""
+
+msgid "Language:"
+msgstr "زمان:"
+
+msgid "File:"
+msgstr ""
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr ""
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr ""
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr ""
+
+msgid "Downloading latest translations…"
+msgstr ""
+
+msgid "Syncing with Crowdin"
+msgstr ""
+
+msgid "Syncing with Crowdin failed."
+msgstr ""
+
+msgid "Crowdin error"
+msgstr ""
+
+msgid "Uploading translations…"
+msgstr ""
+
msgid "&Copy"
msgstr ""
@@ -152,6 +238,9 @@ msgstr ""
msgid "don't delete temporary files (for debugging)"
msgstr "پەڕگە کاتییەکان مەسڕەوە(بۆ ڕاستکردنەوە)"
+msgid "handle a poedit:// URI"
+msgstr ""
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr ""
@@ -162,12 +251,6 @@ msgstr ""
msgid "Open catalog"
msgstr "کردنەوەی کەتەلۆگ"
-msgid "All Files"
-msgstr ""
-
-msgid "PO Translation Files"
-msgstr ""
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "پەڕگەی '%s' بوونی نییە."
@@ -395,6 +478,17 @@ msgstr "کۆ:"
msgid "Translation:"
msgstr "وەرگێڕان:"
+msgid ""
+"POT files are only templates and don’t contain any translations themselves.\n"
+"To make a translation, create a new PO file based on the template."
+msgstr ""
+
+msgid "Create New Translation"
+msgstr ""
+
+msgid "Create new translation"
+msgstr ""
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
@@ -442,9 +536,6 @@ msgstr ""
msgid "Open catalog template"
msgstr "کردنەوەی کەتەلۆگی داڕێژە"
-msgid "POT Translation Templates"
-msgstr ""
-
msgid "Updating catalog"
msgstr ""
@@ -515,16 +606,18 @@ msgstr[1] ""
msgid "The translation is ready for use."
msgstr ""
-msgid "No references to this string found."
-msgstr "هیچ ئاماژەپێکراوێک بۆ ئەم زنجیرەنووسەیە نەدۆزرایەوە"
-
-msgid "Please choose the reference you want to show:"
-msgstr "تکایە ئەو ئاماژەپێکراوە هەڵبژێرە کە دەتەوێت پیشان بدرێت:"
+msgid "Context:"
+msgstr ""
-msgid "References"
-msgstr "ئاماژەپێکراوەکان"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr ""
-msgid "Context:"
+msgid ""
+"The file contained duplicate items, which is not allowed in PO files and "
+"would prevent the file from being used. Poedit fixed the issue, but you "
+"should review translations of any items marked as fuzzy and correct them if "
+"necessary."
msgstr ""
msgid "Language of the translation isn't set."
@@ -536,6 +629,21 @@ msgstr ""
msgid "Set language"
msgstr ""
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid ""
+"Suggestions are not available if the translation language is not set "
+"correctly. Other features, such as plural forms, may be affected as well."
+msgstr ""
+
+msgid "Language of the translation is the same as source language."
+msgstr ""
+
+msgid "Fix Language"
+msgstr ""
+
+msgid "Fix language"
+msgstr ""
+
msgid ""
"This catalog has entries with plural forms, but doesn't have Plural-Forms "
"header configured."
@@ -570,6 +678,7 @@ msgstr "چاککردنەوەی ناوونیشان"
msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr ""
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr ""
@@ -591,6 +700,12 @@ msgid_plural "%d errors"
msgstr[0] ""
msgstr[1] ""
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] ""
+msgstr[1] ""
+
msgid " (unsaved)"
msgstr ""
@@ -707,6 +822,9 @@ msgstr ""
msgid "Form %i"
msgstr "فۆڕم %i"
+msgid "Singular"
+msgstr ""
+
msgid "Zero"
msgstr ""
@@ -716,6 +834,9 @@ msgstr ""
msgid "Two"
msgstr ""
+msgid "Plural"
+msgstr ""
+
msgid "Other"
msgstr ""
@@ -744,6 +865,12 @@ msgstr ""
msgid "Show Sidebar"
msgstr ""
+msgid "Hide Status Bar"
+msgstr ""
+
+msgid "Show Status Bar"
+msgstr ""
+
msgid "Source text"
msgstr "دەقی ژێدەر"
@@ -753,6 +880,10 @@ msgstr "وەرگێڕانەکان"
msgid "ID"
msgstr ""
+#, c-format
+msgid "Source text — %s"
+msgstr ""
+
msgid "unknown language"
msgstr ""
@@ -763,57 +894,73 @@ msgstr ""
msgid "Error:"
msgstr ""
-msgid "Project info"
-msgstr "زانیارییەکانی پرۆژە"
+msgid "Source file"
+msgstr "پەڕگەی ژێدەر"
-msgid "Project name and version:"
-msgstr "ناو و وەشانی پرۆژە:"
+msgid "Source file occurrence:"
+msgstr "گوێزەرەوەکانی کۆدی ژێدەر:"
-msgid "Language:"
-msgstr "زمان:"
+msgid "Open in Editor"
+msgstr ""
-msgid "Team:"
-msgstr "ستافی کار:"
+msgid "Open in editor"
+msgstr ""
-msgid "Team's email address:"
-msgstr "پۆستی ئەلیکترۆنی ستافی کار:"
+msgid "No references for the selected item."
+msgstr ""
-msgid "Charset:"
-msgstr "Koma tîpan (Charset):"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "هەڵە لە کردنەوەی پەڕگەی %s!"
+
+msgid "Find"
+msgstr ""
-msgid "Source"
-msgstr "ژێدەر"
+msgid "Replace"
+msgstr ""
-msgid "Notes"
-msgstr "سەرنجەکان"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr ""
-msgid "Automatic translation"
-msgstr "وەرگێڕانی خۆکاریی"
+msgid "Ignore case"
+msgstr ""
-msgid "Fuzzy translation"
-msgstr "وەرگێڕانی ناڕوون"
+msgid "Wrap around"
+msgstr ""
-msgid "Notes for translators:"
+msgid "Whole words only"
+msgstr "تەنیا گشت وشەکان"
+
+msgid "Find in source texts"
msgstr ""
-msgid "Comment:"
-msgstr "لێدوان:"
+msgid "Find in translations"
+msgstr ""
-msgid "Source file"
-msgstr "پەڕگەی ژێدەر"
+msgid "Find in comments"
+msgstr "دۆزینەوە لە لێدوانەکان"
-msgid "Source file occurrence:"
-msgstr "گوێزەرەوەکانی کۆدی ژێدەر:"
+msgid "Close"
+msgstr "داخستن"
-msgid "Open in Editor"
+msgid "Replace All"
msgstr ""
-msgid "Open in editor"
+msgid "Replace all"
msgstr ""
-#, c-format
-msgid "Error opening file %s!"
-msgstr "هەڵە لە کردنەوەی پەڕگەی %s!"
+msgid "< &Previous"
+msgstr ""
+
+msgid "&Next >"
+msgstr ""
+
+msgid "String to find"
+msgstr ""
+
+msgid "Replacement string"
+msgstr ""
#, c-format
msgid "Cannot execute program: %s"
@@ -1006,9 +1153,19 @@ msgstr "نوێ"
msgid "Edit"
msgstr "دەستکاریکردن"
+msgid "Delete extractor"
+msgstr ""
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr ""
+
msgid "Extractors"
msgstr ""
+msgid "Accounts"
+msgstr ""
+
msgid "Automatically check for updates"
msgstr ""
@@ -1047,7 +1204,34 @@ msgstr ""
msgid "Advanced"
msgstr ""
-msgid "Additional keywords"
+msgid ""
+"<big>Drag and Drop Folders Here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid ""
+"<big>Drag and drop folders here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid "Add Folders..."
+msgstr ""
+
+msgid "Add folders..."
+msgstr ""
+
+msgid "Add Files..."
+msgstr ""
+
+msgid "Add files..."
+msgstr ""
+
+msgid "Add Wildcard..."
+msgstr ""
+
+msgid "Add wildcard..."
msgstr ""
msgid "Paths"
@@ -1056,6 +1240,9 @@ msgstr "ڕێچکەکان"
msgid "Excluded paths"
msgstr ""
+msgid "Additional keywords"
+msgstr ""
+
msgid "Name of the project the translation is for"
msgstr ""
@@ -1068,6 +1255,9 @@ msgstr "UTF-8 (پێشنیارکراو)"
msgid "Please save the file first. This section cannot be edited until then."
msgstr ""
+msgid "Comment:"
+msgstr "لێدوان:"
+
msgid "OK"
msgstr "باشە"
@@ -1077,42 +1267,6 @@ msgstr ""
msgid "Clear the comment"
msgstr "سڕینەوەی لێدوان"
-msgid "Find..."
-msgstr "دۆزینەوە..."
-
-msgid "String to find:"
-msgstr "زنجیرە نووسە بۆ دۆزینەوە:"
-
-msgid "Case sensitive"
-msgstr "دۆخ هەستیارە"
-
-msgid "Start from the first item"
-msgstr "دەستپێکردن لە بڕگەی یەکەمەوە"
-
-msgid "Whole words only"
-msgstr "تەنیا گشت وشەکان"
-
-msgid "Find in original strings"
-msgstr "دۆزینەوە لە زنجیرەنووسە ڕەسەنەکەدا"
-
-msgid "Find in translations"
-msgstr ""
-
-msgid "Find in comments"
-msgstr "دۆزینەوە لە لێدوانەکان"
-
-msgid "Find in automatic comments"
-msgstr "دۆزینەوە لە لێدوانە خۆکارییەکان"
-
-msgid "Close"
-msgstr "داخستن"
-
-msgid "< &Previous"
-msgstr ""
-
-msgid "&Next >"
-msgstr ""
-
msgid "Create new translations project"
msgstr "دروستکردنی پرۆژەیەکی نوێی وەرگێڕان"
@@ -1167,6 +1321,12 @@ msgstr "&کردنەوە..."
msgid "Open Recent"
msgstr ""
+msgid "Open from Crowdin..."
+msgstr ""
+
+msgid "Open From Crowdin..."
+msgstr ""
+
msgid "&Save"
msgstr "&پاشەکەوت کردن"
@@ -1215,13 +1375,16 @@ msgstr "&پیشاندانی ئاماژەپێکراوەکان"
msgid "&Find..."
msgstr "&دۆزینەوە..."
+msgid "Replace..."
+msgstr ""
+
msgid "Find next"
msgstr ""
msgid "Find previous"
msgstr ""
-msgid "Find"
+msgid "Find and Replace..."
msgstr ""
msgid "Find Next"
@@ -1263,6 +1426,12 @@ msgstr ""
msgid "&Group By Context"
msgstr ""
+msgid "Entries with errors first"
+msgstr ""
+
+msgid "Entries with Errors First"
+msgstr ""
+
msgid "&Untranslated entries first"
msgstr "&سەرەتا وەرنەگێڕدراوە تێئاخنراوەکان"
@@ -1272,6 +1441,9 @@ msgstr "&سەرەتا وەرنەگێڕدراوە تێئاخنراوەکان"
msgid "Show sidebar"
msgstr ""
+msgid "Show status bar"
+msgstr ""
+
msgid "C&atalog"
msgstr "کە&تەلۆگ"
@@ -1287,6 +1459,9 @@ msgstr "نوێکردنەوە لە پەڕگەی &POT ـەوە..."
msgid "Update from &POT File..."
msgstr "نوێکردنەوە لە پەڕگەی &POT ـەوە..."
+msgid "Sync with Crowdin"
+msgstr ""
+
msgid "Fill missing translations from &TM..."
msgstr ""
@@ -1410,6 +1585,9 @@ msgstr ""
msgid "Catalog properties"
msgstr "تایبەتمەندییەکانی کەتەلۆگ"
+msgid "Project name and version:"
+msgstr "ناو و وەشانی پرۆژە:"
+
msgid "Plural Forms:"
msgstr "فۆڕمە دووانییەکان:"
@@ -1422,6 +1600,15 @@ msgstr ""
msgid "Learn about plural forms"
msgstr ""
+msgid "Charset:"
+msgstr "Koma tîpan (Charset):"
+
+msgid "Team:"
+msgstr "ستافی کار:"
+
+msgid "Team's email address:"
+msgstr "پۆستی ئەلیکترۆنی ستافی کار:"
+
msgid "Translation properties"
msgstr ""
@@ -1495,7 +1682,7 @@ msgstr "نوێکردنەوەی کەتەلۆگ - هاوکاتکردنی لەگە
msgid "Toggled if selected string has fuzzy translation"
msgstr "جێگیرکردن ئەگەر زنجیرەنووسەی دەستنیشانکراو وەرگێڕانی ناڕوونی هەبوو"
-msgid "Show or hide the sidebar."
+msgid "Show or hide the sidebar"
msgstr ""
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
@@ -1507,6 +1694,9 @@ msgid ""
"translation corresponds to."
msgstr ""
+msgid "Notes for translators:"
+msgstr ""
+
msgid "Add comment"
msgstr ""
@@ -1579,14 +1769,21 @@ msgstr ""
msgid "Open an existing PO file and edit the translation."
msgstr ""
-msgid "Create new translation"
-msgstr ""
-
msgid ""
"Take an existing PO file or POT template and create a new translation from "
"it."
msgstr ""
+msgid "Collaborate on a translation with Crowdin"
+msgstr ""
+
+msgid ""
+"Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+
+msgid "What is Crowdin?"
+msgstr ""
+
msgid "There are no translations. That’s unusual."
msgstr ""
@@ -1619,3 +1816,9 @@ msgstr ""
msgid "Configure source code extraction in Properties."
msgstr ""
+
+msgid "Sync"
+msgstr ""
+
+msgid "Synchronize the translation with Crowdin"
+msgstr ""
diff --git a/locales/co.mo b/locales/co.mo
index 01db084..58300af 100644
Binary files a/locales/co.mo and b/locales/co.mo differ
diff --git a/locales/co.po b/locales/co.po
index bec5f6b..180361c 100644
--- a/locales/co.po
+++ b/locales/co.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:33-0400\n"
+"POT-Creation-Date: 2015-05-13 18:47+0200\n"
+"PO-Revision-Date: 2015-05-13 12:42-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Corsican\n"
"Language: co_FR\n"
@@ -20,7 +20,7 @@ msgid "Hide this notification message"
msgstr "Piattà stu messaghju di nutificazione"
msgid "Don't Show Again"
-msgstr "Ùn affissà più"
+msgstr "Ùn Affissà Più"
msgid "Don't show again"
msgstr "Ùn affissà più"
@@ -42,7 +42,7 @@ msgstr "Rubrica malfuttuta : '%s'"
msgid ""
"Broken catalog file: singular form msgstr used together with msgid_plural"
msgstr ""
-"Schedariu di catalogu alteratu : forma singulare msgstr impiegata cù "
+"Schedariu di catalogu alteratu : forma singulare msgstr impiegata inseme cù "
"msgid_plural"
msgid "Broken catalog file: plural form msgstr used without msgid_plural"
@@ -54,12 +54,12 @@ msgid ""
"There were errors when loading the catalog. Some data may be missing or "
"corrupted as the result."
msgstr ""
-"Ci eranu sbaglii mentre u caricamentu di u catalogu. Podasse qualchì datu "
+"Ci eranu errori mentre u caricamentu di u catalogu. Podasse qualchì datu "
"manca o hè alteratu."
#, c-format
msgid "Couldn't load file %s, it is probably corrupted."
-msgstr "Ùn pò micca incaricà u schedariu %s, podasse hè alteratu."
+msgstr "Ùn pò micca caricà u schedariu %s, podasse hè alteratu."
#, c-format
msgid ""
@@ -67,7 +67,7 @@ msgid ""
"Please save it under different name."
msgstr ""
"U schedariu '%s' pò solu esse lettu è ùn pò micca esse\n"
-"arregistratu. Ci vole à salvallu cù unu altru nome."
+"arregistratu. Ci vole à salvallu cù un altru nome."
#, c-format
msgid "Couldn't save file %s."
@@ -76,7 +76,7 @@ msgstr "Ùn pò micca arregistrà u schedariu %s."
msgid ""
"There was a problem formatting the file nicely (but it was saved all right)."
msgstr ""
-"Ci era unu prublemu mentre a creazione di u schedariu (ma hè statu criatu "
+"Ci era un prublema mentre a creazione di u schedariu (ma hè statu creatu "
"quantunque)."
#, c-format
@@ -87,22 +87,31 @@ msgid ""
"It was saved in UTF-8 instead and the setting was modified accordingly."
msgstr ""
"U catalogu ùn pò micca esse arregistratu cù u mazzu di caratteri '%s' "
-"indicatu in l'ozzioni di u catalogu.\n"
+"indicatu in e preferenze di u catalogu.\n"
"\n"
"Hè statu arregistratu in UTF-8 è l'ozzione hè statu mudificata."
msgid "Error saving catalog"
-msgstr "Sbagliu à l'arregistramentu di u catalogu"
+msgstr "Errore à l'arregistramentu di u catalogu"
+
+msgid "PO Translation Files"
+msgstr "Schedarii di Traduzzione PO"
+
+msgid "POT Translation Templates"
+msgstr "Mudelli di Traduzzione POT"
+
+msgid "All Translation Files"
+msgstr "Tutti Schedarii di Traduzzione"
msgid "Merging differences..."
-msgstr "Cumbinà e sfarenze..."
+msgstr "Unisce e sfarenze..."
#, c-format
msgid "'%s' is not a valid POT file."
-msgstr "'%s' ùn hè micca unu schedariu POT leghjittimu."
+msgstr "'%s' ùn hè micca un schedariu POT accettevule."
msgid "(Use default language)"
-msgstr "(Impiegate a lingua generica)"
+msgstr "(Impiegà a lingua predefinita)"
msgid "Select your preferred language"
msgstr "Selezziunà a vostra lingua preferita"
@@ -113,6 +122,86 @@ msgstr "Scelta di a lingua"
msgid "You must restart Poedit for this change to take effect."
msgstr "Ci vole à rilancià Poedit per piglià stu cambiamentu in effettu."
+msgid "Downloading translations is disabled in this project."
+msgstr "Telecaricà e traduzzioni ùn hè micca pussibule cù stu prughjettu."
+
+msgid "Not authorized, please sign in again."
+msgstr "Micca auturizatu, autenticassi torna."
+
+msgid "Sign in to Crowdin"
+msgstr "Autenticassi à Crowdin"
+
+msgid ""
+"Crowdin is an online localization management platform and collaborative "
+"translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+"Crowdin hè una piattaforma inlinea di ghjestione di lucalizazione è un "
+"attrezzu di traduzzione in collaborazione. Poedit pò dinù sincrunizà i "
+"schedarii PO amministrati da Crowdin."
+
+msgid "Sign In"
+msgstr "Autenticazione"
+
+msgid "Sign in"
+msgstr "Autenticazione"
+
+msgid "Sign Out"
+msgstr "Scunnettassi"
+
+msgid "Sign out"
+msgstr "Scunnettassi"
+
+msgid "Waiting for authentication…"
+msgstr "In aspettanza d'autenticazione..."
+
+msgid "Updating user information…"
+msgstr "Mudificazione di l'infurmazioni di l'utilizatore..."
+
+msgid "Signed in as:"
+msgstr "Autenticatu cum'è :"
+
+msgid "Learn More About Crowdin"
+msgstr "Sapene di Più Nantu à Crowdin"
+
+msgid "Learn more about Crowdin"
+msgstr "Sapene di più nantu à Crowdin"
+
+msgid "Open Crowdin translation"
+msgstr "Apre una traduzzione Crowdin"
+
+msgid "Project:"
+msgstr "Prughjettu :"
+
+msgid "Language:"
+msgstr "Lingua :"
+
+msgid "File:"
+msgstr "Schedariu :"
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr "Ùn ci hè micca di prughjettu di traduzzione in u vostru contu Crowdin."
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr "Stu prughjettu ùn hà alcunu schedariu chì pò esse traduttu in Poedit."
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr "Stu schedariu pò esse mudificatu solu in l'interfaccia web di Crowdin."
+
+msgid "Downloading latest translations…"
+msgstr "Telecaricamentu in corsu di l'ultime traduzzioni..."
+
+msgid "Syncing with Crowdin"
+msgstr "Sincrunizendu cù Crowdin"
+
+msgid "Syncing with Crowdin failed."
+msgstr "Fiascu di a sincrunisazione cù Crowdin."
+
+msgid "Crowdin error"
+msgstr "Errore da Crowdin"
+
+msgid "Uploading translations…"
+msgstr "Incaricamentu in corsu di e traduzzioni..."
+
msgid "&Copy"
msgstr "Cu&pià"
@@ -120,7 +209,7 @@ msgid "Learn more"
msgstr "Per sapene di più"
msgid "Learn More"
-msgstr "Per sapene di più"
+msgstr "Per Sapene di Più"
#, c-format
msgid "Failed command: %s"
@@ -135,21 +224,19 @@ msgstr "Esaminà i schedarii..."
#. TRANSLATORS: '%s' is replaced with the kind of the files (e.g. C++, PHP, ...)
#, c-format
msgid "Parsing %s files..."
-msgstr "Analisa di %s schedarii..."
+msgstr "Analisa di i schedarii %s..."
msgid "Failed to load extracted catalog."
msgstr "Fiascu per caricà u catalogu estrattu."
msgid "&Help"
-msgstr "&Aiutu"
+msgstr "Ai&utu"
msgid "MO files can’t be directly edited in Poedit."
msgstr "I schedarii MO ùn ponu micca esse mudificati cù Poedit."
msgid "Error opening file"
-msgstr ""
-"Errore scunnisciutu à l'apertura di schedariu. Assicuratevvi chì u schedariu "
-"sia accessibule è sia unu ducumentu XML accettevule."
+msgstr "Errore à l'apertura di u schedariu"
msgid ""
"Please open and edit the corresponding PO file instead. When you save it, "
@@ -159,7 +246,10 @@ msgstr ""
"u schedariu MO serà mudificatu dinù."
msgid "don't delete temporary files (for debugging)"
-msgstr "ùn sgassate micca i schedarii timpurari (per debugging)"
+msgstr "ùn cacciate micca i schedarii timpurari (per spannà)"
+
+msgid "handle a poedit:// URI"
+msgstr "Manighjà un poedit:// URI"
#, c-format
msgid "Unhandled exception occurred: %s"
@@ -169,17 +259,11 @@ msgid "Unhandled exception occurred."
msgstr "Un anumalia imprevista s'hè affaccata."
msgid "Open catalog"
-msgstr "Apre u catalogu"
-
-msgid "All Files"
-msgstr "Tutti i Schedarii"
-
-msgid "PO Translation Files"
-msgstr "Schedarii di Traduzzione PO"
+msgstr "Apre un catalogu"
#, c-format
msgid "File '%s' doesn't exist."
-msgstr "U schedariu '%s' ùn esista micca."
+msgstr "U schedariu '%s' ùn esiste micca."
#. TRANSLATORS: This is titlebar of about dialog, "%s" is application name
#. ("Poedit" here, but please use "%s")
@@ -195,15 +279,14 @@ msgstr "Versione %s"
msgid "Poedit is an easy to use translations editor."
msgstr ""
-"Corsican translation by Patriccollu di Santa Maria Sichè.\n"
-"\n"
-"Poedit hè unu editore di traduzzione faciule à aduprà."
+"Poedit hè un editore di traduzzione faciule à aduprà. A traduzzione in "
+"lingua corsa hè statu fatta da Patriccollu di Santa Maria Sichè."
msgid "Catalogs Manager"
-msgstr "Amministrazione di i Cataloghi"
+msgstr "Amministratore di Cataloghi"
msgid "Check for Updates..."
-msgstr "Circà e Messe à Ghjornu..."
+msgstr "Circà i Rinnovi..."
msgid "&Edit"
msgstr "&Mudificà"
@@ -212,19 +295,19 @@ msgid "Undo"
msgstr "Disfà"
msgid "Redo"
-msgstr "Riffà"
+msgstr "Rifà"
msgid "Paste and Match Style"
msgstr "Incullà è fà Currisponde u Stilu"
msgid "Delete"
-msgstr "Sguassà"
+msgstr "Caccià"
msgid "Spelling and Grammar"
-msgstr "Ortografia è Gramatica"
+msgstr "Ortugrafia è Gramatica"
msgid "Show Spelling and Grammar"
-msgstr "Affissà Ortografia è Gramatica"
+msgstr "Affissà Ortugrafia è Gramatica"
msgid "Check Document Now"
msgstr "Verificà u ducumentu avà"
@@ -236,7 +319,7 @@ msgid "Check Grammar With Spelling"
msgstr "Verificà a gramatica cù l'ortugrafia"
msgid "Correct Spelling Automatically"
-msgstr "Currege l'ortugrafia automaticamente"
+msgstr "Currege l'ortugrafia autumaticamente"
msgid "Substitutions"
msgstr "Sustituzioni"
@@ -275,22 +358,22 @@ msgid "Speech"
msgstr "Discussione"
msgid "Start Speaking"
-msgstr "Principià u Discorsu"
+msgstr "Principià un Discorsu"
msgid "Stop Speaking"
msgstr "Piantà u Discorsu"
msgid "&View"
-msgstr "&Fà vede"
+msgstr "&Affissà"
msgid "Enter Full Screen"
-msgstr ""
+msgstr "Passà in Screnu Sanu"
msgid "Window"
msgstr "Finestra"
msgid "Minimize"
-msgstr "Impuculì in lu spaziu di nutificazione di u sistemu"
+msgstr "Impuculì in lu spaziu di nutificazione di u sistema"
msgid "Zoom"
msgstr "Ingrandamentu"
@@ -316,7 +399,7 @@ msgid "&Undo"
msgstr "&Disfà"
msgid "&Redo"
-msgstr "&Riffà"
+msgstr "&Rifà"
msgid "Cu&t"
msgstr "&Taglià"
@@ -358,7 +441,7 @@ msgstr "Maiusc+"
#. TRANSLATORS: Keyboard shortcut for display in Windows menus
msgid "Enter"
-msgstr "Intrata"
+msgstr "Entrée"
#. TRANSLATORS: Keyboard shortcut for display in Windows menus
msgid "Up"
@@ -385,7 +468,7 @@ msgstr "Ùn pudete micca depone più d'unu schedariu in a finestra di Poedit."
#, c-format
msgid "File '%s' is not a message catalog."
-msgstr "U schedariu '%s' ùn hè micca unu catalogu di messaghju."
+msgstr "U schedariu '%s' ùn hè micca un catalogu di messaghju."
msgid "Poedit"
msgstr "Poedit"
@@ -397,7 +480,7 @@ msgid "&Go"
msgstr "&Và"
msgid "Source text:"
-msgstr "Testu surghjente :"
+msgstr "Testu d'urigine :"
msgid "Singular:"
msgstr "Singulare :"
@@ -408,6 +491,20 @@ msgstr "Plurale :"
msgid "Translation:"
msgstr "Traduzzione :"
+msgid ""
+"POT files are only templates and don’t contain any translations themselves.\n"
+"To make a translation, create a new PO file based on the template."
+msgstr ""
+"I schedarii POT sò solu mudelli è ùn cuntenenu micca di traduzzione.\n"
+"Per fà una traduzzione, create un novu schedariu PO appughjatu nantu à u "
+"mudellu."
+
+msgid "Create New Translation"
+msgstr "Creà una Traduzzione Nova"
+
+msgid "Create new translation"
+msgstr "Creà una nova traduzzione"
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
@@ -415,6 +512,8 @@ msgstr "Traduzzione :"
msgid ""
"Spellchecking is disabled, because the dictionary for %s isn’t installed."
msgstr ""
+"U cuntrollu d'ortugrafia hè disattivatu, perchè u dizziunariu %s ùn hè micca "
+"installatu."
msgid "Install"
msgstr "Installà"
@@ -426,7 +525,7 @@ msgid "Save changes"
msgstr "Arregistrà i cambiamenti"
msgid "Your changes will be lost if you don't save them."
-msgstr "I vostri cambiamenti seranu persi s'è voi ùn li arregistrate micca"
+msgstr "I vostri cambiamenti seranu persi s'è voi ùn li arregistrate micca."
msgid "Save"
msgstr "Arregistrà"
@@ -441,13 +540,13 @@ msgid "Save as..."
msgstr "Arregistrà cù u nome..."
msgid "Compile to..."
-msgstr ""
+msgstr "Compilà ver di..."
msgid "Compiled Translation Files"
-msgstr ""
+msgstr "Schedarii di Traduzzione Trasfurmati da una Cumpilazione"
msgid "Export as..."
-msgstr "Espurtà cum'è..."
+msgstr "Espurtà cù u nome..."
msgid "HTML Files"
msgstr "Schedarii HTML"
@@ -455,22 +554,22 @@ msgstr "Schedarii HTML"
msgid "Open catalog template"
msgstr "Apre u mudellu di catalogu"
-msgid "POT Translation Templates"
-msgstr "Mudelli di Traduzzione POT"
-
msgid "Updating catalog"
-msgstr "Mudificazione di u catalogu"
+msgstr "Mudificazione di catalogu"
msgid "Source code not available."
-msgstr ""
+msgstr "U testu d'urigine ùn hè micca dispunibule."
msgid "Updating failed"
-msgstr ""
+msgstr "Mudificazione fiasca"
msgid ""
"Translations couldn’t be updated from the source code, because no code was "
"found in the location specified in the catalog’s Properties."
msgstr ""
+"E traduzzioni ùn ponu micca esse mudificate à partesi di u testu d'urigine, "
+"perchè alcunu testu ùn hè statu trovu in u locu indicatu in e Pruprietà di u "
+"catalogu."
msgid "Entries in the catalog are probably incorrect."
msgstr "Qualchì entrata in u catalogu hè gattiva."
@@ -482,8 +581,8 @@ msgstr ""
#, c-format
msgid "%d issue with the translation found."
msgid_plural "%d issues with the translation found."
-msgstr[0] "%d frasa cù a traduzzione trova."
-msgstr[1] "%d frase cù a traduzzione trova."
+msgstr[0] "%d prublema trovu in a traduzzione."
+msgstr[1] "%d prublemi trovi in a traduzzione."
msgid "Validation results"
msgstr "Risultati di a validazione"
@@ -492,8 +591,8 @@ msgid ""
"Entries with errors were marked in red in the list. Details of the error "
"will be shown when you select such an entry."
msgstr ""
-"Entrate cù sbaglii sò marcate di rossu in a lista. Detaglii nantu à u "
-"sbagliu seranu visti quandu l'entrata serà selezziunata."
+"Entrate cù sbaglii sò marcate di rossu in a lista. I detaglii di u sbagliu "
+"seranu videvule quandu l'entrata serà selezziunata."
msgid "The file was saved safely."
msgstr "U schedariu hè statu arregistratu bè."
@@ -516,12 +615,14 @@ msgid ""
"The file was compiled into the MO format, but it will probably not work "
"correctly."
msgstr ""
+"U schedariu hè statu trasfurmatu in a forma MO, ma podasse ùn funziunerà "
+"micca bè."
msgid "The file cannot be compiled into the MO format and used."
-msgstr ""
+msgstr "U schedariu ùn pò micca esse trasfurmatu in a forma MO è impiegatu."
msgid "No problems with the translation found."
-msgstr "Ùn ci hè penseru cù sta traduzzione."
+msgstr "Ùn ci hè micca prublema cù sta traduzzione."
#, c-format
msgid "The translation is ready for use, but %d entry is not translated yet."
@@ -535,33 +636,58 @@ msgstr[1] ""
msgid "The translation is ready for use."
msgstr "A traduzzione hè pronta à l'approdu."
-msgid "No references to this string found."
-msgstr "Manc'una referenza trova per sta frasa."
-
-msgid "Please choose the reference you want to show:"
-msgstr "Sceglite a referenza chì voi vulete mustrà :"
-
-msgid "References"
-msgstr "Referenze"
-
msgid "Context:"
msgstr "Cuntestu :"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr ""
+"Poedit hà currettu autumaticamente u cuntenutu gattivu in u schedariu “%s”."
+
+msgid ""
+"The file contained duplicate items, which is not allowed in PO files and "
+"would prevent the file from being used. Poedit fixed the issue, but you "
+"should review translations of any items marked as fuzzy and correct them if "
+"necessary."
+msgstr ""
+"U schedariu cuntinia elementi in doppiu, cio chì ùn hè micca permessu in i "
+"schedarii PO è pudia impedisce u schedariu d'esse impiegatu. Poedit hà "
+"currettu u prublema, ma ci vole à rivede e traduzzioni di l'elementi chì sò "
+"marcati cum'è dubbitosi è à curregelli s'ellu hè bisognu."
+
msgid "Language of the translation isn't set."
msgstr "A lingua di a traduzzione ùn hè micca definita."
msgid "Set Language"
-msgstr ""
+msgstr "Definisce a Lingua"
msgid "Set language"
msgstr "Definisce a lingua"
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid ""
+"Suggestions are not available if the translation language is not set "
+"correctly. Other features, such as plural forms, may be affected as well."
+msgstr ""
+"E suggestioni ùn sò micca dispunibule s'è a lingua di traduzzione ùn hè "
+"micca definita bè. D'altre funzioni, cum'è e forme plurale, ponu esse "
+"affettate dinù."
+
+msgid "Language of the translation is the same as source language."
+msgstr "A lingua di a traduzzione hè listessa chì quella d'urigine."
+
+msgid "Fix Language"
+msgstr "Currege a Lingua"
+
+msgid "Fix language"
+msgstr "Currege a lingua"
+
msgid ""
"This catalog has entries with plural forms, but doesn't have Plural-Forms "
"header configured."
msgstr ""
"Stu catalogu hà entrate cù forme plurale, ma a rubrica Forme-Plurale ùn hè "
-"micca curretta."
+"micca pronta."
msgid ""
"Entries in this catalog have different plural forms count from what "
@@ -575,13 +701,13 @@ msgstr "Manca a rubrica Forme-Plurale chì hè richiesta."
#, c-format
msgid "Syntax error in Plural-Forms header (\"%s\")."
-msgstr "Sbagliu in a rubrica di e Forme-Plurale (\"%s\")."
+msgstr "Sbagliu di sintassa in a rubrica Forme-Plurale (\"%s\")."
msgid "Fix the Header"
-msgstr ""
+msgstr "Currege a Rubrica"
msgid "Fix the header"
-msgstr "Cambià a rubrica"
+msgstr "Currege a rubrica"
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
@@ -592,26 +718,34 @@ msgstr ""
"L'espressione di e forme plurale impiegata da u catalogu hè strana per a "
"lingua %s."
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr "Revista"
#, c-format
msgid "Error loading message catalog file '%s'."
-msgstr "Sbagliu cù u schedariu di catalogu di messaghju '%s'."
+msgstr ""
+"Errore mentre u caricamentu di u schedariu di catalogu di messaghju '%s'."
#, c-format
msgid "Translated: %d of %d (%d %%)"
-msgstr ""
+msgstr "Traduttu : %d frà %d (%d %%)"
#, c-format
msgid "Remaining: %d"
-msgstr ""
+msgstr "Restu : %d"
#, c-format
msgid "%d error"
msgid_plural "%d errors"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "%d errore"
+msgstr[1] "%d errori"
+
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] "%d entrata"
+msgstr[1] "%d entrate"
msgid " (unsaved)"
msgstr " (micca arregistratu)"
@@ -620,34 +754,34 @@ msgid " (modified)"
msgstr " (mudificatu)"
msgid "Go"
-msgstr ""
+msgstr "Và"
#, c-format
msgid "Failed to update translation memory: %s"
msgstr "Fiascu per rinnovà a memoria di a traduzzione: %s"
msgid "Purge deleted translations"
-msgstr "Toglie e traduzzione sguassate"
+msgstr "Spurgulà e traduzzioni cacciate"
msgid "Do you want to remove all translations that are no longer used?"
-msgstr "Vulete sgassà tutti i traduzzioni ch'ùn sò più impiegati ?"
+msgstr "Vulete toglie tutte e traduzzioni ch'ùn sò più impiegate ?"
msgid ""
"If you continue with purging, all translations marked as deleted will be "
"permanently removed. You will have to translate them again if they are added "
"back in the future."
msgstr ""
-"S'è voi cuntinuate cusì, tutti i traduzzioni marchati cum'è sguassati seranu "
-"cacciati. Ci vulerà à traduceli torna s'elli sò aghjunti à l'avvene dinù."
+"S'è voi cuntinuate cusì, tutte e traduzzioni marchate cum'è cacciate seranu "
+"tolte per sempre. Ci vulerà à traducele torna s'elle sò aghjunte à l'avvene."
msgid "Keep"
msgstr "Cunservà"
msgid "Purge"
-msgstr "Toglie"
+msgstr "Spurgulà"
msgid "Fill missing translations from TM"
-msgstr "Riempie e traduzzioni viote da a MT"
+msgstr "Riempie e traduzzioni viote à partesi di a MdT"
msgid "Only fill in exact matches"
msgstr "Riempie solu e frase uguale"
@@ -656,16 +790,19 @@ msgid ""
"By default, inaccurate results are filled in as well and marked as fuzzy. "
"Check this option to only include accurate matches."
msgstr ""
-"Da bona regula, i resulti chì s'assumuglianu so riempiuti dinù è annutati "
-"cum'è foschi. Attivà st'ozzione per riempie solu e frase uguale."
+"Di bona regula, i resulti chì s'assumuglianu sò riempiuti dinù è annutati "
+"cum'è dubbitosi. Attivà st'ozzione per riempie solu e frase uguale."
msgid "Don’t mark exact matches as fuzzy"
-msgstr ""
+msgstr "Ùn marcate micca e frase uguale cum'è dubbitose"
msgid ""
"Only enable if you trust the quality of your TM. By default, all matches "
"from the TM are marked as fuzzy and should be reviewed."
msgstr ""
+"Attivà solu st'ozzione s'è voi site sicuru di a vostra MdT. Osinnò tutte e "
+"suggestioni chì venenu di a MdT sò annutate cum'è dubbitose è deveranu esse "
+"verificate."
msgid "Fill"
msgstr "Riempie"
@@ -680,8 +817,8 @@ msgid ""
"The translations were marked as fuzzy, because they may be inaccurate. You "
"should review them for correctness."
msgstr ""
-"E traduzzioni sò statu marcate cum'è fosche, perchè sò podasse imprecise. Ci "
-"vole à verificà a so accuratezza."
+"E traduzzioni sò statu marcate cum'è dubbitose, perchè sò podasse imprecise. "
+"Ci vole à verificà a so accuratezza."
msgid "No entries could be filled from the translation memory."
msgstr "Alcuna entrata appruvistata da a memoria di traduzzione."
@@ -691,39 +828,39 @@ msgid ""
"is only effective for semi-automatic translations after Poedit learns enough "
"from files that you translated manually."
msgstr ""
-"A MT ùn cuntene micca di frasa simile à u cuntenutu di stu schedariu. Quessu "
-"funziona per traduzzioni mezu-autumatiche dopu chì Poedit abbia amparatu "
+"A MdT ùn cuntene alcuna frasa simile à u cuntenutu di stu schedariu. Quessu "
+"funziona bè per traduzzioni mezu-autumatiche dopu chì Poedit abbia amparatu "
"abbastanza da i schedarii tradutti da una manera manuale."
msgid "Translating"
-msgstr "Traduzzione automatica in corsu..."
+msgstr "Traduzzione autumatica in corsu"
msgid "Filling missing translations from TM..."
-msgstr "Riempiime in corsu di e traduzzioni viote da a MT..."
+msgstr "Riempiime in corsu di e traduzzioni viote à partesi di a MdT..."
#, c-format
msgid "Translated %u string"
msgid_plural "Translated %u strings"
-msgstr[0] "%u frasa tradutta automaticamente"
-msgstr[1] "%u frase tradutte automaticamente"
+msgstr[0] "%u frasa tradutta autumaticamente"
+msgstr[1] "%u frase tradutte autumaticamente"
msgid "Copy from source text"
-msgstr "Cupià da u &testu surghjente"
+msgstr "Cupià da u testu d'&urigine"
msgid "Copy from Source Text"
-msgstr "Cupià da u &Testu Surghjente"
+msgstr "Cupià da u Testu d'&Urigine"
msgid "Clear translation"
-msgstr "&Sguassà a traduzzione"
+msgstr "&Viutà a traduzzione"
msgid "Clear Translation"
-msgstr "&Sguassà a Traduzzione"
+msgstr "&Viutà a Traduzzione"
msgid "Edit comment"
-msgstr "Mudificà u cummentariu"
+msgstr "Mudificà u cummentu"
msgid "Edit Comment"
-msgstr "Mudificà Cummentariu"
+msgstr "Mudificà u Cummentu"
msgid "References:"
msgstr "Referenze :"
@@ -735,6 +872,9 @@ msgstr "Tuttu"
msgid "Form %i"
msgstr "Forma %i"
+msgid "Singular"
+msgstr "Singulare"
+
msgid "Zero"
msgstr "Zeru"
@@ -744,6 +884,9 @@ msgstr "Unu"
msgid "Two"
msgstr "Dui"
+msgid "Plural"
+msgstr "Plurale"
+
msgid "Other"
msgstr "Altru"
@@ -752,28 +895,34 @@ msgstr "&Indette"
#, c-format
msgid "Set bookmark %i"
-msgstr ""
+msgstr "Definisce l'indetta %i"
#, c-format
msgid "Go to bookmark %i"
-msgstr ""
+msgstr "Andà à l'indetta %i"
#, c-format
msgid "Set Bookmark %i"
-msgstr ""
+msgstr "Definisce l'Indetta %i"
#, c-format
msgid "Go to Bookmark %i"
-msgstr ""
+msgstr "Andà à l'Indetta %i"
msgid "Hide Sidebar"
-msgstr "Piantà a Barra di Latu"
+msgstr "Piantà a Barra Laterale"
msgid "Show Sidebar"
-msgstr "Affissà a Barra di Latu"
+msgstr "Affissà a Barra Laterale"
+
+msgid "Hide Status Bar"
+msgstr "Piattà a Barra di Statu"
+
+msgid "Show Status Bar"
+msgstr "Affissà a Barra di Statu"
msgid "Source text"
-msgstr "Testu surghjente"
+msgstr "Testu d'urigine"
msgid "Translation"
msgstr "Traduzzione"
@@ -781,6 +930,10 @@ msgstr "Traduzzione"
msgid "ID"
msgstr "ID"
+#, c-format
+msgid "Source text — %s"
+msgstr "Testu d'urigine — %s"
+
msgid "unknown language"
msgstr "lingua scunnisciuta"
@@ -791,61 +944,77 @@ msgstr "Traduzzione — %s"
msgid "Error:"
msgstr "Sbagliu :"
-msgid "Project info"
-msgstr "Infurmazione nantu à u prughjettu"
+msgid "Source file"
+msgstr "Schedariu d'urigine"
-msgid "Project name and version:"
-msgstr "Nome è versione di u prughjettu :"
+msgid "Source file occurrence:"
+msgstr "Occurrenza di schedariu d'urigine :"
-msgid "Language:"
-msgstr "Lingua :"
+msgid "Open in Editor"
+msgstr "Apre cù l'Editore"
-msgid "Team:"
-msgstr "Squadra :"
+msgid "Open in editor"
+msgstr "Apre cù l'editore"
-msgid "Team's email address:"
-msgstr "Indirizzu elettronicu di a squadra :"
+msgid "No references for the selected item."
+msgstr "Alcuna referenza per l'elementu selezziunatu."
-msgid "Charset:"
-msgstr "Mazzu di caratteri :"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "Errore à l'apertura di u schedariu '%s' !"
+
+msgid "Find"
+msgstr "Circà"
-msgid "Source"
-msgstr "Surghjente"
+msgid "Replace"
+msgstr "Rimpiazzà"
-msgid "Notes"
-msgstr "Annutazioni"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr "Ozzioni"
-msgid "Automatic translation"
-msgstr "Traduzzione automatica"
+msgid "Ignore case"
+msgstr "Ùn sfarenzià micca maiuscule è minuscule"
-msgid "Fuzzy translation"
-msgstr "Traduzzione fosca :"
+msgid "Wrap around"
+msgstr "Circunvoglie"
-msgid "Notes for translators:"
-msgstr "Annutazioni per i traduttori :"
+msgid "Whole words only"
+msgstr "Solu e parolle sane"
-msgid "Comment:"
-msgstr "Cummentariu :"
+msgid "Find in source texts"
+msgstr "Circà in i testi d'urigine"
-msgid "Source file"
-msgstr "Schedariu surghjente"
+msgid "Find in translations"
+msgstr "Circà in e traduzzioni"
-msgid "Source file occurrence:"
-msgstr "Schedariu surghjente :"
+msgid "Find in comments"
+msgstr "Circà in i cummenti"
-msgid "Open in Editor"
-msgstr ""
+msgid "Close"
+msgstr "Chjode"
-msgid "Open in editor"
-msgstr ""
+msgid "Replace All"
+msgstr "Rimpiazzà Tutti"
-#, c-format
-msgid "Error opening file %s!"
-msgstr "Sbagliu à l'apertura di u schedariu '%s' !"
+msgid "Replace all"
+msgstr "Rimpiazzà tutti"
+
+msgid "< &Previous"
+msgstr "< &Precedente"
+
+msgid "&Next >"
+msgstr "&Seguente >"
+
+msgid "String to find"
+msgstr "Frasa à circà"
+
+msgid "Replacement string"
+msgstr "Frasa di rimpiazzamentu"
#, c-format
msgid "Cannot execute program: %s"
-msgstr "Ùn pò micca eseguisce u prugramu : %s"
+msgstr "Ùn pò micca eseguisce u prugramma : %s"
msgid "Language Code or Name (e.g. en_GB)"
msgstr "Codice o Nome di a Lingua (i.e. : en_GB)"
@@ -857,7 +1026,7 @@ msgid "Language of the translation:"
msgstr "Lingua di a traduzzione :"
msgid "Poedit - Catalogs manager"
-msgstr "Poedit - Amministrazione di i cataloghi "
+msgstr "Poedit - Amministratore di cataloghi"
msgid "Catalog"
msgstr "Catalogu"
@@ -869,7 +1038,7 @@ msgid "Untrans"
msgstr "Micca traduttu"
msgid "Fuzzy"
-msgstr "Foscu"
+msgstr "Dubbitosu"
msgid "Bad Tokens"
msgstr "Marche Gattive"
@@ -887,7 +1056,7 @@ msgid "<unnamed>"
msgstr "<senza nome>"
msgid "Do you want to delete the project?"
-msgstr "Vulete sguassà u prughjettu ?"
+msgstr "Vulete caccià u prughjettu ?"
msgid "Confirmation"
msgstr "Cunfirmazione"
@@ -897,13 +1066,13 @@ msgid ""
"all catalogs in this project?"
msgstr ""
"Site sicuru di vulè mudificà in massa\n"
-"tutti i cataloghi in stu prughjettu ?"
+"tutti i cataloghi di stu prughjettu ?"
msgid "Information about the translator"
msgstr "Infurmazione apprupositu di u traduttore"
msgid "Name:"
-msgstr "Nome:"
+msgstr "Nome :"
msgid "Your Name"
msgstr "U vostru Nome"
@@ -925,16 +1094,16 @@ msgid "Editing"
msgstr "Mudificazione"
msgid "Automatically compile MO file when saving"
-msgstr "Pruduce automaticamente u schedariu MO à l'arregistramentu"
+msgstr "Pruduce autumaticamente u schedariu MO à l'arregistramentu"
msgid "Show summary after catalog update"
-msgstr "Affissà u riassuntu dopu à a mudificazione di u catalogu"
+msgstr "Affissà u riassuntu dopu à u rinnovu di u catalogu"
msgid "Check spelling"
msgstr "Verificà l'ortugrafia"
msgid "Always change focus to text input field"
-msgstr "Dà a primura à u testu piuttostu chì a a lista"
+msgstr "Dà a primura à u testu piuttostu chì à a lista"
msgid ""
"Never let the list of strings take focus. If enabled, you must use Ctrl-"
@@ -955,7 +1124,7 @@ msgid "Use custom text fields font:"
msgstr "Impiegà una grafia persunalizata per i testi :"
msgid "Change UI language"
-msgstr "Cambià a lingua di l'UI"
+msgstr "Cambià a lingua di l'interfaccia"
#. TRANSLATORS: This is a note appended to "Check spelling" when running on older Windows versions
msgid "(requires Windows 8 or newer)"
@@ -975,10 +1144,10 @@ msgstr "Amparà da schedarii..."
#. TRANSLATORS: This is a button that deletes everything in the translation memory (i.e. clears/resets it).
msgid "Reset"
-msgstr ""
+msgstr "Viutà"
msgid "Consult TM when updating from sources"
-msgstr "Esaminà a MT quandu a mudificazione si face da i testi d'urigine"
+msgstr "Esaminà a MdT quandu a mudificazione si face da i testi d'urigine"
msgid ""
"If enabled, Poedit will try to fill in new entries using your previous\n"
@@ -988,8 +1157,8 @@ msgid ""
msgstr ""
"S'è st'ozzione hè attiva, Poedit pruverà di riempie e nove entrate\n"
"impieghendu e vostre precedente traduzzioni arregistrate in a memoria di\n"
-"traduzzione. S'è a MT hè guasi viota, ùn serà micca assai efficiente.\n"
-"Più vi ferete di traduzzioni, più a MT crescerà è diventerà efficiente."
+"traduzzione. S'è a MdT hè guasi viota, ùn serà micca assai efficiente.\n"
+"Più vi ferete di traduzzioni, più a MdT crescerà è serà efficiente."
msgid "Stored translations:"
msgstr "Traduzzioni ammanugliate :"
@@ -1010,15 +1179,17 @@ msgid "Finalizing..."
msgstr "Cumpiimentu in corsu..."
msgid "Reset translation memory"
-msgstr ""
+msgstr "Viutà a memoria di traduzzione"
msgid "Are you sure you want to reset the translation memory?"
-msgstr ""
+msgstr "Site sicuru di vulè viutà a memoria di traduzzione ?"
msgid ""
"Resetting the translation memory will irrevocably delete all stored "
"translations from it. You can’t undo this operation."
msgstr ""
+"A viotatura di a memoria di traduzzione caccierà tutte e traduzzioni chì sò "
+"arregistrate dentru. Ùn pudete micca disfà st'operazione."
msgid "Cancel"
msgstr "Abbandunà"
@@ -1027,14 +1198,14 @@ msgstr "Abbandunà"
#. Long text looks weird there, too short (like TM) too, but less so. "General" is about ideal
#. length there.
msgid "TM"
-msgstr "MT"
+msgstr "MdT"
msgid ""
"Source code extractors are used to find translatable strings in the source "
"code files and extract them so that they can be translated."
msgstr ""
"I prugrammi d'estrazzione sò fatti per truvà e frase traducevule in i "
-"schedarii di testu d'urigine, è estraelle per ch'elli sianu tradutti."
+"schedarii di testu d'urigine, è estraelle per ch'elle sianu tradutte."
msgid "New"
msgstr "Novu"
@@ -1042,11 +1213,21 @@ msgstr "Novu"
msgid "Edit"
msgstr "Mudificà"
+msgid "Delete extractor"
+msgstr "Sguassà l'attrezzu d'estrazzione"
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr "Site sicuru di vulè sguassà l'attrezzu d'estrazzione “%s” ?"
+
msgid "Extractors"
-msgstr "Attrezzi d'estrazzione"
+msgstr "Estrazzione"
+
+msgid "Accounts"
+msgstr "Conti"
msgid "Automatically check for updates"
-msgstr "Cuntrollà automaticamente i rinnovi"
+msgstr "Cuntrollà autumaticamente i rinnovi"
msgid "Include beta versions"
msgstr "Include e versioni 'beta'"
@@ -1065,6 +1246,8 @@ msgid ""
"These settings affect internal formatting of PO files. Adjust them if you "
"have specific requirements e.g. because of version control."
msgstr ""
+"Ste preferenze affettanu a forma interna di i schedarii PO. Accunciatele s'è "
+"voi avete una dumanda particulare, per indettu, un cuntrollu di versione."
msgid "Line endings:"
msgstr "Fine di a linea :"
@@ -1077,23 +1260,59 @@ msgstr "Windows"
#. TRANSLATORS: Followed by text control for entering number; wraps text at given width
msgid "Wrap at:"
-msgstr ""
+msgstr "Girà à :"
msgid "Preserve formatting of existing files"
-msgstr ""
+msgstr "Cunservà a forma di i schedarii chì esistenu"
msgid "Advanced"
+msgstr "Espertu"
+
+msgid ""
+"<big>Drag and Drop Folders Here</big>\n"
+"\n"
+"or use the + button"
msgstr ""
+"<big>Sguillà é Depone i Cartulari Quì</big>\n"
+"\n"
+"o impiegate u buttone +"
-msgid "Additional keywords"
-msgstr "Parolle chjave addiziunale"
+msgid ""
+"<big>Drag and drop folders here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+"<big>Sguillà é depone i cartulari quì</big>\n"
+"\n"
+"o impiegate u buttone +"
+
+msgid "Add Folders..."
+msgstr "Aghjunghje Cartulari..."
+
+msgid "Add folders..."
+msgstr "Aghjunghje cartulari..."
+
+msgid "Add Files..."
+msgstr "Aghjunghje Schedarii..."
+
+msgid "Add files..."
+msgstr "Aghjunghje schedarii..."
+
+msgid "Add Wildcard..."
+msgstr "Aghjunghje un Caratteru Genericu..."
+
+msgid "Add wildcard..."
+msgstr "Aghjunghje un caratteru genericu..."
msgid "Paths"
-msgstr "Camini"
+msgstr "Passeghji"
msgid "Excluded paths"
msgstr "Passeghji escludi"
+msgid "Additional keywords"
+msgstr "Parolle chjave addiziunale"
+
msgid "Name of the project the translation is for"
msgstr "Nome di prughjettu di sta traduzzione"
@@ -1108,71 +1327,38 @@ msgstr ""
"In primu locu, ci vole à arregistrà u schedariu. Osinnò sta sezzione ùn pò "
"micca esse mudificata."
+msgid "Comment:"
+msgstr "Cummentu :"
+
msgid "OK"
msgstr "OK"
msgid "C&lear"
-msgstr "Sguassà"
+msgstr "&Viutà"
msgid "Clear the comment"
-msgstr "Sguassà u cummentariu"
-
-msgid "Find..."
-msgstr "Circà.."
-
-msgid "String to find:"
-msgstr "Frasa à circà :"
-
-msgid "Case sensitive"
-msgstr "Sfarenzià Maiuscule è minuscule"
-
-msgid "Start from the first item"
-msgstr "Principià da u primu elementu"
-
-msgid "Whole words only"
-msgstr "Solu parolle sane"
-
-msgid "Find in original strings"
-msgstr "Circà in e frase d'urigine"
-
-msgid "Find in translations"
-msgstr "Circà in e traduzzioni"
-
-msgid "Find in comments"
-msgstr "Circà in cummentarii"
-
-msgid "Find in automatic comments"
-msgstr "Circà in cummentarii autumatichi"
-
-msgid "Close"
-msgstr "Chjode"
-
-msgid "< &Previous"
-msgstr "< &Precedente"
-
-msgid "&Next >"
-msgstr "&Seguente >"
+msgstr "Viutà u cummentu"
msgid "Create new translations project"
-msgstr "Creà novu prughjettu di traduzzioni"
+msgstr "Creà un novu prughjettu di traduzzioni"
msgid "Edit the project"
msgstr "Mudificà u prughjettu"
msgid "Delete the project"
-msgstr "Sguassà u prughjettu"
+msgstr "Caccià u prughjettu"
msgid "Update all"
msgstr "Mudificà tuttu"
msgid "Update all catalogs in the project"
-msgstr "Mudificà tutti i cataloghi in stu prughjettu"
+msgstr "Mudificà tutti i cataloghi di stu prughjettu"
msgid "Edit project"
-msgstr "Mudificà prughjettu"
+msgstr "Mudificà u prughjettu"
msgid "Project name:"
-msgstr "Nome di u prughjettu :"
+msgstr "Nome di prughjettu :"
msgid "Browse"
msgstr "Sfuglià"
@@ -1187,7 +1373,7 @@ msgid "&Close"
msgstr "&Chjode"
msgid "E&xit"
-msgstr "E&sce"
+msgstr "&Esce"
msgid "Quit"
msgstr "Esce"
@@ -1196,10 +1382,10 @@ msgid "&New..."
msgstr "&Novu..."
msgid "New from &POT/PO file..."
-msgstr "Novu da unu schedariu P&OT/PO..."
+msgstr "Novu da un schedariu P&OT/PO..."
msgid "New From &POT/PO File..."
-msgstr "Novu da unu Schedariu P&OT/PO..."
+msgstr "Novu da un Schedariu P&OT/PO..."
msgid "&Open..."
msgstr "&Apre..."
@@ -1207,6 +1393,12 @@ msgstr "&Apre..."
msgid "Open Recent"
msgstr "Apre Recente"
+msgid "Open from Crowdin..."
+msgstr "Apre cù Crowdin..."
+
+msgid "Open From Crowdin..."
+msgstr "Apre Cù Crowdin..."
+
msgid "&Save"
msgstr "A&rregistrà"
@@ -1217,7 +1409,7 @@ msgid "Save &As..."
msgstr "Arregistrà &cù u Nome..."
msgid "Compile to MO..."
-msgstr "Trasfurmà ver di MO..."
+msgstr "Trasfurmà in un schedariu MO..."
msgid "E&xport as HTML..."
msgstr "Espurtà cum'è &HTML..."
@@ -1226,43 +1418,46 @@ msgid "Check for updates..."
msgstr "Circà i rinno&vi..."
msgid "Catalogs &manager"
-msgstr "A&mministrazione di i cataloghi"
+msgstr "A&mministratore di cataloghi"
msgid "Catalogs &Manager"
-msgstr "A&mministrazione di i Cataloghi"
+msgstr "A&mministratore di Cataloghi"
msgid "Translation is &fuzzy"
-msgstr "A traduzzione hè &fosca"
+msgstr "A traduzzione hè du&bbitosa"
msgid "Translation Is &Fuzzy"
-msgstr "A Traduzzione Hè &Fosca"
+msgstr "A Traduzzione Hè Du&bbitosa"
msgid "Edit &comment"
-msgstr "&Mudificà u cummentariu"
+msgstr "&Mudificà u cummentu"
msgid "Edit &Comment"
-msgstr "&Mudificà Cummentariu"
+msgstr "&Mudificà u Cummentu"
msgid "Suggestions"
msgstr "Suggestioni"
msgid "&Show references"
-msgstr "Fà vede e &referenze"
+msgstr "&Affissà e referenze"
msgid "&Show References"
-msgstr "Fà vede e &Referenze"
+msgstr "&Affissà e Referenze"
msgid "&Find..."
msgstr "&Circà..."
+msgid "Replace..."
+msgstr "Rimpiazzà..."
+
msgid "Find next"
msgstr "Circà seguente"
msgid "Find previous"
msgstr "Circà precedente"
-msgid "Find"
-msgstr "Circà"
+msgid "Find and Replace..."
+msgstr "Circà è Rimpiazzà..."
msgid "Find Next"
msgstr "Circà Seguente"
@@ -1280,16 +1475,16 @@ msgid "Display Entry &IDs"
msgstr "Affissà l'&ID di l'Entrate"
msgid "Sort by &file order"
-msgstr "Classificà da l'&urdine di u schedariu"
+msgstr "Classificà da l'&ordine di schedariu"
msgid "Sort by &File Order"
-msgstr "Classificà da l'&Urdine di u Schedariu"
+msgstr "Classificà da l'&Ordine di Schedariu"
msgid "Sort by &source"
-msgstr "Classificà da a &surghjente"
+msgstr "Classificà da u testu d'&urigine"
msgid "Sort by &Source"
-msgstr "Classificà da a &Surghjente"
+msgstr "Classificà da u Testu d'&Urigine"
msgid "Sort by &translation"
msgstr "Classificà da a &traduzzione"
@@ -1303,6 +1498,12 @@ msgstr "&Gruppu da contestu"
msgid "&Group By Context"
msgstr "&Gruppu da Contestu"
+msgid "Entries with errors first"
+msgstr "Elementi cù &sbaglii in primu"
+
+msgid "Entries with Errors First"
+msgstr "Elementi cù Sbaglii in Primu"
+
msgid "&Untranslated entries first"
msgstr "&Elementi micca tradutti in primu"
@@ -1310,34 +1511,40 @@ msgid "&Untranslated Entries First"
msgstr "&Elementi Micca Tradutti in Primu"
msgid "Show sidebar"
-msgstr "Affissà a barra di latu"
+msgstr "Affissà a barra laterale"
+
+msgid "Show status bar"
+msgstr "Affissà a barra di statu"
msgid "C&atalog"
msgstr "&Catalogu"
msgid "&Update from sources"
-msgstr "&Mudificà da i surghjenti"
+msgstr "&Mudificà da i testi d'urigine"
msgid "&Update from Sources"
-msgstr "&Mudificà da i Surghjenti"
+msgstr "&Mudificà da i Testi d'Urigine"
msgid "Update from &POT file..."
-msgstr "Novu catalogu da unu schedariu P&OT..."
+msgstr "Mudificà da un schedariu P&OT..."
msgid "Update from &POT File..."
-msgstr "Novu Catalogu da unu Schedariu P&OT..."
+msgstr "Mudificà da un Schedariu P&OT..."
+
+msgid "Sync with Crowdin"
+msgstr "Sincrunizà cù Crowdin"
msgid "Fill missing translations from &TM..."
-msgstr "Riempie e traduzzioni viote da a &MT..."
+msgstr "Riempie e traduzzioni viote à partesi di a Md&T..."
msgid "Fill Missing Translations from &TM..."
-msgstr "Riempie e Traduzzioni Viote da a &MT..."
+msgstr "Riempie e Traduzzioni Viote à partesi di a Md&T..."
msgid "&Purge deleted translations"
-msgstr "Toglie e traduzzione sguassate"
+msgstr "Spur&gulà e traduzzioni cacciate"
msgid "&Purge Deleted Translations"
-msgstr "Toglie e Traduzzione Sguassate"
+msgstr "Spur&gulà e Traduzzioni Cacciate"
msgid "&Validate translations"
msgstr "&Validazione di e traduzzione"
@@ -1361,34 +1568,34 @@ msgid "&Previous Translation"
msgstr "Traduzzione &Precedente"
msgid "&Next translation"
-msgstr "Traduzzione segue&nte"
+msgstr "Traduzzione &seguente"
msgid "&Next Translation"
-msgstr "Traduzzione Segue&nte"
+msgstr "Traduzzione &Seguente"
msgid "P&revious unfinished"
-msgstr "P&recedente incumpletu"
+msgstr "Incumpletu p&recedente"
msgid "P&revious Unfinished"
-msgstr "P&recedente Incumpletu"
+msgstr "Incumpletu P&recedente"
msgid "Ne&xt unfinished"
-msgstr "S&eguente incumpletu"
+msgstr "Incumpletu s&eguente"
msgid "Ne&xt Unfinished"
-msgstr "S&eguente Incumpletu"
+msgstr "Incumpletu S&eguente"
msgid "&Online help"
-msgstr "Aiutu in &linea"
+msgstr "Aiutu &inlinea"
msgid "&Online Help"
-msgstr "Aiutu in &Linea"
+msgstr "Aiutu &Inlinea"
msgid "&GNU gettext manual"
-msgstr "Ducumentazione &GNU gettext"
+msgstr "&Ducumentazione GNU gettext"
msgid "&GNU gettext Manual"
-msgstr "Ducumentazione &GNU gettext"
+msgstr "&Ducumentazione GNU gettext"
msgid "&About Poedit"
msgstr "&Apprupositu di Poedit"
@@ -1397,10 +1604,10 @@ msgid "&About"
msgstr "&Apprupositu"
msgid "Extractor setup"
-msgstr "Installazione di l'attrezzi d'estrazzione"
+msgstr "Installazione di l'attrezzu d'estrazzione"
msgid "List of extensions separated by semicolons (e.g. *.cpp;*.h):"
-msgstr "Lista di i stinzioni separati cù punti-virgule (i.e. *.cpp;*.h) :"
+msgstr "Lista di i stinzioni separati da punti-virgule (i.e. *.cpp;*.h) :"
msgid "Invocation:"
msgstr "Invucazione :"
@@ -1414,46 +1621,49 @@ msgid ""
"of keywords, %F to list of input files,\n"
"%C to charset flag (see below)."
msgstr ""
-"Ghjè a cummanda impiegata per dimarrà l'estrazzione.\n"
+"Ghjè a cummanda impiegata per lancià l'attrezzu d'estrazzione.\n"
"%o hè u nome di schedariu in esciuta, %K per a lista\n"
"di e parolle chjave, %F per a lista di schedarii in entrata,\n"
"%C per l'ozzione di u mazzu di caratteri (fighjate inghjò)."
msgid "An item in keywords list:"
-msgstr "Unu elementu in a lista di e parolle chjave :"
+msgstr "Un elementu in a lista di e parolle chjave :"
msgid ""
"This will be attached to the command line once\n"
"for each keyword. %k expands to the keyword."
msgstr ""
-"Quessu serà ligatu à a linea di cummanda unu\n"
-"per ogni parolla chjava. %k aghjunghje stu valore."
+"Quessu serà ligatu à a linea di cummanda una volta\n"
+"per ogni parolla chjave. %k estende à a parolla chjave."
msgid "An item in input files list:"
-msgstr "Unu elementu in a lista di i schedarii in entrata :"
+msgstr "Un elementu in a lista di schedarii d'entrata :"
#, c-format
msgid ""
"This will be attached to the command line once\n"
"for each input file. %f expands to the filename."
msgstr ""
-"Quessu serà ligatu à a linea di cummanda unu\n"
-"per ogni schedariu in entrata. %f aghjunghje stu valore."
+"Quessu serà ligatu à a linea di cummanda una volta per ogni\n"
+"schedariu in entrata. %f estende à u nome di schedariu."
msgid "Source code charset:"
-msgstr "Mazzu di caratteri di u codice surghjente :"
+msgstr "Mazzu di caratteri di u testu d'urigine :"
#, c-format
msgid ""
"This will be attached to the command line\n"
"only if source codecharset was given. %c expands to charset value."
msgstr ""
-"Quessu serà ligatu à a linea di cummanda\n"
-"solu s'è ci hè unu mazzu di caratteri. %c aghjunghje stu valore."
+"Quessu serà ligatu à a linea di cummanda solu s'è ci hè un\n"
+"mazzu di caratteri di u testu d'urigine. %c estende à stu valore."
msgid "Catalog properties"
msgstr "Pruprietà di u catalogu"
+msgid "Project name and version:"
+msgstr "Nome è versione di prughjettu :"
+
msgid "Plural Forms:"
msgstr "Forme Plurale :"
@@ -1466,17 +1676,26 @@ msgstr "Impiegà un espressione predefinita"
msgid "Learn about plural forms"
msgstr "Per amparà nantu à e forme plurale"
+msgid "Charset:"
+msgstr "Mazzu di caratteri :"
+
+msgid "Team:"
+msgstr "Squadra :"
+
+msgid "Team's email address:"
+msgstr "Indirizzu elettronicu di a squadra :"
+
msgid "Translation properties"
msgstr "Pruprietà di a traduzzione"
msgid "Extract text from source files in the following directories:"
-msgstr "Estrae testu da i schedarii surghjente in sti cartulari :"
+msgstr "Estrae testu da i schedarii d'urigine in sti cartulari :"
msgid "Base path:"
-msgstr "Caminu di urigine :"
+msgstr "Passeghju di basa :"
msgid "Sources paths"
-msgstr "Camini di surghjenti"
+msgstr "Passeghji d'urigine"
msgid ""
"Use these keywords (function names) to recognize translatable strings\n"
@@ -1489,10 +1708,10 @@ msgid "Learn about gettext keywords"
msgstr "Per sapene più nantu à e parolle chjave gettext"
msgid "Sources keywords"
-msgstr "Parolle chjave di i surghjenti"
+msgstr "Parolle chjave di testi d'urigine"
msgid "Update summary"
-msgstr "Riassuntu di a mudificazione"
+msgstr "Riassuntu di e mudificazioni"
msgid ""
"These strings were found in the sources but were not in the catalog.\n"
@@ -1515,7 +1734,7 @@ msgid "Obsolete strings"
msgstr "Frase anziane"
msgid "(0 new, 0 obsolete)"
-msgstr "(0 novu, 0 anzianu)"
+msgstr "(0 nova, 0 anziana)"
msgid "Open"
msgstr "Apre"
@@ -1533,39 +1752,44 @@ msgid "Update"
msgstr "Mudificà"
msgid "Update catalog - synchronize it with sources"
-msgstr "Mudificà u catalogu - Sincrunizalu cù i surghjenti"
+msgstr "Mudificà u catalogu - Sincrunizallu cù i testi d'urigine"
msgid "Toggled if selected string has fuzzy translation"
-msgstr "Pone s'è a frasa selezziunata hà una traduzzione fosca"
+msgstr "Attivata s'è a frasa selezziunata hà una traduzzione dubbitosa"
-msgid "Show or hide the sidebar."
-msgstr "Affissà o piantà a barra di latu."
+msgid "Show or hide the sidebar"
+msgstr "Affissà o piantà a barra laterale"
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
msgid "Previous source text:"
-msgstr ""
+msgstr "U precedente testu d'urigine :"
msgid ""
"The old source text (before it changed during an update) that the fuzzy "
"translation corresponds to."
msgstr ""
+"U vechju testu d'urigine (nanzu ch'ellu sia cambiatu) chì curresponde à a "
+"traduzzione dubbitosa."
+
+msgid "Notes for translators:"
+msgstr "Annutazioni per i traduttori :"
msgid "Add comment"
-msgstr "Aghjunghje un cummentariu"
+msgstr "Aghjunghje un cummentu"
msgid "Add Comment"
-msgstr "Aghjunghje un Cummentariu"
+msgstr "Aghjunghje un Cummentu"
msgid "Translation suggestions:"
-msgstr "Pruposte di traduzzione :"
+msgstr "Suggestioni di traduzzione :"
#. TRANSLATORS: This is shown when no translation suggestions can be found in the TM (Windows).
msgid "No matches found"
-msgstr ""
+msgstr "Alcuna occurrenza trova"
#. TRANSLATORS: This is shown when no translation suggestions can be found in the TM (OS X, Linux).
msgid "No Matches Found"
-msgstr ""
+msgstr "Alcuna Occurrenza Trova"
msgid "This string was found in Poedit’s translation memory."
msgstr "Sta frasa hè statu trova in a memoria di traduzzione di Poedit."
@@ -1629,18 +1853,27 @@ msgid "Edit a translation"
msgstr "Mudificà una traduzzione"
msgid "Open an existing PO file and edit the translation."
-msgstr "Apre unu schedariu PO chì esiste è mudificà a traduzzione."
-
-msgid "Create new translation"
-msgstr "Creà una nova traduzzione"
+msgstr "Apre un schedariu PO chì esiste è mudificà a traduzzione."
msgid ""
"Take an existing PO file or POT template and create a new translation from "
"it."
msgstr ""
-"Parte da unu schedariu PO o unu mudellu POTchì esiste per creà una nova "
+"Parte da un schedariu PO o un mudellu POT chì esiste per creà una nova "
"traduzzione."
+msgid "Collaborate on a translation with Crowdin"
+msgstr "Cullaburà à una traduzzione cù Crowdin"
+
+msgid ""
+"Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+"Telecaricà un schedariu à partesi di un prughjettu Crowdin, traducellu è "
+"sincrunizà e vostre mudificazioni dopu."
+
+msgid "What is Crowdin?"
+msgstr "Cosa hè Crowdin ?"
+
msgid "There are no translations. That’s unusual."
msgstr "Ùn ci hè mancuna traduzzione. Quessa pare stranu."
@@ -1651,24 +1884,24 @@ msgid ""
"Translators typically use PO template files (POTs) prepared for them by the "
"developer."
msgstr ""
-"L'elementi traducevule ùn sò micca aghjunti à a manu in u sistemu Gettext, "
+"L'elementi traducevule ùn sò micca aghjunti à a manu in u sistema Gettext, "
"ma sò autumaticamente estratti\n"
"da u testu d'urigine. Cusì, sò sempre attualizati è esatti.\n"
-"Da bona regula, i traduttori impieganu i schedarii di mudellu PO (POT) "
-"preparati da u prugrammatore."
+"Di bona regula, i traduttori impieganu i schedarii di mudellu PO (POT) "
+"appruntati da u prugrammatore."
msgid "(Learn more about GNU gettext)"
msgstr "(Sapene di più nantu à GNU gettext)"
msgid "The simplest way to fill this catalog is to update it from a POT:"
msgstr ""
-"A manera a più simplice di riempie stu catalogu hè di rinnuvallu da unu POT :"
+"A manera a più simplice di riempie stu catalogu hè di rinnuvallu da un POT :"
msgid "Update from POT"
-msgstr "Mudificà da unu POT"
+msgstr "Mudificà da un POT"
msgid "Take translatable strings from an existing POT template."
-msgstr "Piglià e frase traducevule da unu mudellu POT chì esiste."
+msgstr "Piglià e frase traducevule da un mudellu POT chì esiste."
msgid ""
"You can also extract translatable strings directly from the source code:"
@@ -1680,3 +1913,9 @@ msgstr "Estrae da i schedarii d'urigine"
msgid "Configure source code extraction in Properties."
msgstr ""
"Sceglie l'ozzioni di l'estrazzione da i schedarii d'urigine in Pruprietà."
+
+msgid "Sync"
+msgstr "Sincrunizà"
+
+msgid "Synchronize the translation with Crowdin"
+msgstr "Sincrunizà a traduzzione cù Crowdin"
diff --git a/locales/cs.mo b/locales/cs.mo
index 62cd3ee..e8dcb82 100644
Binary files a/locales/cs.mo and b/locales/cs.mo differ
diff --git a/locales/cs.po b/locales/cs.po
index 871ba8d..dd4c260 100644
--- a/locales/cs.po
+++ b/locales/cs.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:33-0400\n"
+"POT-Creation-Date: 2015-05-13 18:47+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Czech\n"
"Language: cs_CZ\n"
@@ -34,11 +34,11 @@ msgstr[2] "%i řádků souboru ‚%s‘ nebylo načteno správně."
#, c-format
msgid "Line %d of file '%s' is corrupted (not valid %s data)."
-msgstr "Řádek %d souboru '%s' je poškozený (neplatná data v %s)."
+msgstr "Řádek %d souboru ‚%s‘ je poškozený (neplatná data v %s)."
#, c-format
msgid "Malformed header: '%s'"
-msgstr "Poškozená hlavička: '%s'"
+msgstr "Poškozená hlavička: ‚%s‘"
msgid ""
"Broken catalog file: singular form msgstr used together with msgid_plural"
@@ -63,7 +63,7 @@ msgid ""
"File '%s' is read-only and cannot be saved.\n"
"Please save it under different name."
msgstr ""
-"Soubor '%s' je jen pro čtení a není možné jej přepsat.\n"
+"Soubor ‚%s‘ je jen pro čtení a není možné jej přepsat.\n"
"Uložte katalog pod jiným názvem."
#, c-format
@@ -81,7 +81,7 @@ msgid ""
"\n"
"It was saved in UTF-8 instead and the setting was modified accordingly."
msgstr ""
-"Katalog nemohl být uložen ve znakové sadě '%s' zadané ve vlastnostech "
+"Katalog nemohl být uložen ve znakové sadě ‚%s‘ zadané ve vlastnostech "
"katalogu.\n"
"\n"
"Místo toho byl uložen v UTF-8 a nastavení bylo příslušně změněno."
@@ -89,12 +89,21 @@ msgstr ""
msgid "Error saving catalog"
msgstr "Při ukládání katalogu došlo k chybě"
+msgid "PO Translation Files"
+msgstr "Soubory překladů PO"
+
+msgid "POT Translation Templates"
+msgstr "Šablony překladů POT"
+
+msgid "All Translation Files"
+msgstr "Všechny překladové soubory"
+
msgid "Merging differences..."
msgstr "Slučování rozdílů..."
#, c-format
msgid "'%s' is not a valid POT file."
-msgstr "POT soubor '%s' je poškozený."
+msgstr "POT soubor ‚%s‘ je poškozený."
msgid "(Use default language)"
msgstr "(výchozí jazyk)"
@@ -108,6 +117,89 @@ msgstr "Výběr jazyka"
msgid "You must restart Poedit for this change to take effect."
msgstr "Tato změna se projeví až po opětovném spuštění Poeditu."
+msgid "Downloading translations is disabled in this project."
+msgstr "Stahování překladů je pro tento projekt zakázáno."
+
+msgid "Not authorized, please sign in again."
+msgstr "Nedostatečná oprávnění, zkuste se znovu přihlásit."
+
+msgid "Sign in to Crowdin"
+msgstr "Přihlásit se do Crowdin"
+
+msgid ""
+"Crowdin is an online localization management platform and collaborative "
+"translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+"Crowdin je online platforma pro správu lokalizací a nástroj pro spolupráci "
+"na překladu. Poedit umožňuje jednoduchou synchronizaci PO souborů "
+"spravovaných prostřednictvím Crowdin."
+
+msgid "Sign In"
+msgstr "Přihlásit se"
+
+msgid "Sign in"
+msgstr "Přihlásit se"
+
+msgid "Sign Out"
+msgstr "Odhlásit se"
+
+msgid "Sign out"
+msgstr "Odhlásit se"
+
+msgid "Waiting for authentication…"
+msgstr "Čekání na ověření…"
+
+msgid "Updating user information…"
+msgstr "Aktualizace informací o uživateli…"
+
+msgid "Signed in as:"
+msgstr "Přihlášen jako:"
+
+msgid "Learn More About Crowdin"
+msgstr "Další informace o Crowdin"
+
+msgid "Learn more about Crowdin"
+msgstr "Další informace o Crowdin"
+
+msgid "Open Crowdin translation"
+msgstr "Otevřít Crowdin překlad"
+
+msgid "Project:"
+msgstr "Projekt:"
+
+msgid "Language:"
+msgstr "Jazyk:"
+
+msgid "File:"
+msgstr "Soubor:"
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr "Ve vašem Crowdin účtu nemáte nastaveny žádné překladové projekty."
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr ""
+"Projekt neobsahuje žádné soubory, které by bylo možné přeložit "
+"prostřednictvím programu Poedit."
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr ""
+"Tento soubor lze upravit pouze prostřednictvím webového rozhraní Crowdin."
+
+msgid "Downloading latest translations…"
+msgstr "Stahování nejnovějších překladů…"
+
+msgid "Syncing with Crowdin"
+msgstr "Synchronizace s Crowdin"
+
+msgid "Syncing with Crowdin failed."
+msgstr "Synchronizace s Crowdin se nezdařila."
+
+msgid "Crowdin error"
+msgstr "Crowdin chyba"
+
+msgid "Uploading translations…"
+msgstr "Odesílání překladů…"
+
msgid "&Copy"
msgstr "&Kopírovat"
@@ -154,6 +246,9 @@ msgstr ""
msgid "don't delete temporary files (for debugging)"
msgstr "nemazat dočasné soubory (kvůli ladění)"
+msgid "handle a poedit:// URI"
+msgstr "zpracovat poedit:// URI"
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr "Došlo k neošetřené výjimce: %s"
@@ -164,15 +259,9 @@ msgstr "Došlo k neošetřené výjimce."
msgid "Open catalog"
msgstr "Otevřít katalog"
-msgid "All Files"
-msgstr "Všechny soubory"
-
-msgid "PO Translation Files"
-msgstr "Soubory překladů PO"
-
#, c-format
msgid "File '%s' doesn't exist."
-msgstr "Soubor '%s' neexistuje."
+msgstr "Soubor ‚%s‘ neexistuje."
#. TRANSLATORS: This is titlebar of about dialog, "%s" is application name
#. ("Poedit" here, but please use "%s")
@@ -274,7 +363,7 @@ msgid "&View"
msgstr "&Zobrazení"
msgid "Enter Full Screen"
-msgstr "Spustit režim celé obrazovky"
+msgstr "Zobrazit na celou obrazovku"
msgid "Window"
msgstr "Okno"
@@ -374,7 +463,7 @@ msgstr "Na okno Poeditu nelze přetáhnou více než jeden soubor."
#, c-format
msgid "File '%s' is not a message catalog."
-msgstr "Soubor '%s' není překladový katalog."
+msgstr "Soubor ‚%s‘ není překladový katalog."
msgid "Poedit"
msgstr "Poedit"
@@ -397,6 +486,19 @@ msgstr "Plurál:"
msgid "Translation:"
msgstr "Překlad:"
+msgid ""
+"POT files are only templates and don’t contain any translations themselves.\n"
+"To make a translation, create a new PO file based on the template."
+msgstr ""
+"Soubory POT jsou jen šablony a sami o sobě neobsahují žádné překlady.\n"
+"Pro vytvoření překladu vytvořte na základě šablony nový PO soubor."
+
+msgid "Create New Translation"
+msgstr "Vytvořit nový překlad"
+
+msgid "Create new translation"
+msgstr "Vytvořit nový překlad"
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
@@ -446,9 +548,6 @@ msgstr "Soubory HTML"
msgid "Open catalog template"
msgstr "Otevřít šablonu katalogu"
-msgid "POT Translation Templates"
-msgstr "Šablony překladů POT"
-
msgid "Updating catalog"
msgstr "Probíhá aktualizace katalogu"
@@ -535,18 +634,24 @@ msgstr[2] ""
msgid "The translation is ready for use."
msgstr "Překlad je připraven k použití."
-msgid "No references to this string found."
-msgstr "Nebyly nalezeny žádné odkazy na tento řetězec."
-
-msgid "Please choose the reference you want to show:"
-msgstr "Vyberte odkaz, který chcete zobrazit:"
-
-msgid "References"
-msgstr "Odkazy"
-
msgid "Context:"
msgstr "Kontext:"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr "Poedit automaticky opravil chybný obsah souboru „%s“."
+
+msgid ""
+"The file contained duplicate items, which is not allowed in PO files and "
+"would prevent the file from being used. Poedit fixed the issue, but you "
+"should review translations of any items marked as fuzzy and correct them if "
+"necessary."
+msgstr ""
+"Soubor obsahoval duplicitní položky, což není v PO souborech povoleno a "
+"zabránilo by to jejich použití. Poedit tento problém opravil, ale měli byste "
+"zkontrolovat všechny překlady označené jako přibližné a v případě potřeby je "
+"opravit."
+
msgid "Language of the translation isn't set."
msgstr "Jazyk překladu není nastaven."
@@ -556,6 +661,23 @@ msgstr "Nastavit jazyk"
msgid "Set language"
msgstr "Nastavit jazyk"
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid ""
+"Suggestions are not available if the translation language is not set "
+"correctly. Other features, such as plural forms, may be affected as well."
+msgstr ""
+"Pokud není správně nastaven jazyk překladu, nejsou k dispozici návrhy. "
+"Ovlivněny mohou být i další funkce, jako například formy plurálu."
+
+msgid "Language of the translation is the same as source language."
+msgstr "Jazyk překladu je shodný s jazykem zdroje."
+
+msgid "Fix Language"
+msgstr "Opravit jazyk"
+
+msgid "Fix language"
+msgstr "Opravit jazyk"
+
msgid ""
"This catalog has entries with plural forms, but doesn't have Plural-Forms "
"header configured."
@@ -574,7 +696,7 @@ msgstr "V hlavičce chybí povinná položka Plural-Forms."
#, c-format
msgid "Syntax error in Plural-Forms header (\"%s\")."
-msgstr "Syntaktická chyba v hlavičce Plural-Forms (\"%s\")."
+msgstr "Syntaktická chyba v hlavičce Plural-Forms („%s“)."
msgid "Fix the Header"
msgstr "Opravit hlavičku"
@@ -589,12 +711,13 @@ msgstr "Opravit hlavičku"
msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr "Výraz pro formy plurálu používá pro jazyk %s nezvyklý formát."
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr "Zkontrolovat"
#, c-format
msgid "Error loading message catalog file '%s'."
-msgstr "Při načítání katalogu '%s' došlo k chybě."
+msgstr "Při načítání katalogu ‚%s‘ došlo k chybě."
#, c-format
msgid "Translated: %d of %d (%d %%)"
@@ -611,6 +734,13 @@ msgstr[0] "%d chyba"
msgstr[1] "%d chyby"
msgstr[2] "%d chyb"
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] "%d položka"
+msgstr[1] "%d položky"
+msgstr[2] "%d položek"
+
msgid " (unsaved)"
msgstr " (neuloženo)"
@@ -708,7 +838,7 @@ msgstr "Vyplňování překladů z překladové paměti..."
#, c-format
msgid "Translated %u string"
msgid_plural "Translated %u strings"
-msgstr[0] "Přeložen %u řetězec"
+msgstr[0] "Přeložen jeden řetězec"
msgstr[1] "Přeloženy %u řetězce"
msgstr[2] "Přeloženo %u řetězců"
@@ -740,6 +870,9 @@ msgstr "Vše"
msgid "Form %i"
msgstr "Forma %i"
+msgid "Singular"
+msgstr "Singulár"
+
msgid "Zero"
msgstr "Nula"
@@ -749,6 +882,9 @@ msgstr "Jeden"
msgid "Two"
msgstr "Dva"
+msgid "Plural"
+msgstr "Plurál"
+
msgid "Other"
msgstr "Ostatní"
@@ -777,6 +913,12 @@ msgstr "Skrýt postranní panel"
msgid "Show Sidebar"
msgstr "Zobrazit postranní panel"
+msgid "Hide Status Bar"
+msgstr "Skrýt stavový řádek"
+
+msgid "Show Status Bar"
+msgstr "Zobrazit stavový řádek"
+
msgid "Source text"
msgstr "Originál"
@@ -786,6 +928,10 @@ msgstr "Překlad"
msgid "ID"
msgstr "ID"
+#, c-format
+msgid "Source text — %s"
+msgstr "Zdrojový text — %s"
+
msgid "unknown language"
msgstr "neznámý jazyk"
@@ -796,57 +942,73 @@ msgstr "Překlad — %s"
msgid "Error:"
msgstr "Chyba:"
-msgid "Project info"
-msgstr "Informace o projektu"
+msgid "Source file"
+msgstr "Zdrojový soubor"
-msgid "Project name and version:"
-msgstr "Název a verze projektu:"
+msgid "Source file occurrence:"
+msgstr "Výskyt ve zdrojovém kódu:"
-msgid "Language:"
-msgstr "Jazyk:"
+msgid "Open in Editor"
+msgstr "Otevřít v editoru"
-msgid "Team:"
-msgstr "Tým:"
+msgid "Open in editor"
+msgstr "Otevřít v editoru"
-msgid "Team's email address:"
-msgstr "Emailová adresa týmu:"
+msgid "No references for the selected item."
+msgstr "Žádné výskyty vybrané položky."
-msgid "Charset:"
-msgstr "Znaková sada:"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "Při otevírání souboru %s došlo k chybě!"
-msgid "Source"
-msgstr "Originál"
+msgid "Find"
+msgstr "Najít"
-msgid "Notes"
-msgstr "Poznámky"
+msgid "Replace"
+msgstr "Nahradit"
-msgid "Automatic translation"
-msgstr "Automatický překlad"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr "Možnosti"
-msgid "Fuzzy translation"
-msgstr "Přibližný překlad"
+msgid "Ignore case"
+msgstr "Ignorovat velikost písmen"
-msgid "Notes for translators:"
-msgstr "Poznámky pro překladatele:"
+msgid "Wrap around"
+msgstr "Po dosažení konce hledat od začátku"
-msgid "Comment:"
-msgstr "Komentář:"
+msgid "Whole words only"
+msgstr "Jen celá slova"
-msgid "Source file"
-msgstr "Zdrojový soubor"
+msgid "Find in source texts"
+msgstr "Hledat ve zdrojových textech"
-msgid "Source file occurrence:"
-msgstr "Výskyt ve zdrojovém kódu:"
+msgid "Find in translations"
+msgstr "Hledat v překladech"
-msgid "Open in Editor"
-msgstr "Otevřít v editoru"
+msgid "Find in comments"
+msgstr "Hledat v komentářích"
-msgid "Open in editor"
-msgstr "Otevřít v editoru"
+msgid "Close"
+msgstr "Zavřít"
-#, c-format
-msgid "Error opening file %s!"
-msgstr "Při otevírání souboru %s došlo k chybě!"
+msgid "Replace All"
+msgstr "Nahradit vše"
+
+msgid "Replace all"
+msgstr "Nahradit vše"
+
+msgid "< &Previous"
+msgstr "< &Předchozí"
+
+msgid "&Next >"
+msgstr "&Další >"
+
+msgid "String to find"
+msgstr "Hledaný řetězec"
+
+msgid "Replacement string"
+msgstr "Nahradit za"
#, c-format
msgid "Cannot execute program: %s"
@@ -1049,9 +1211,19 @@ msgstr "Nový"
msgid "Edit"
msgstr "Upravit"
+msgid "Delete extractor"
+msgstr "Smazat extraktor"
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr "Opravdu chcete „%s“ extraktor smazat?"
+
msgid "Extractors"
msgstr "Extraktory"
+msgid "Accounts"
+msgstr "Účty"
+
msgid "Automatically check for updates"
msgstr "Automaticky kontrolovat dostupnost aktualizací"
@@ -1094,8 +1266,41 @@ msgstr "Zachovat stávající formátování souboru"
msgid "Advanced"
msgstr "Pokročilé"
-msgid "Additional keywords"
-msgstr "Další klíčová slova"
+msgid ""
+"<big>Drag and Drop Folders Here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+"<big>Sem přetáhněte adresáře</big>\n"
+"\n"
+"nebo použijte tlačítko +"
+
+msgid ""
+"<big>Drag and drop folders here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+"<big>Sem přetáhněte adresáře</big>\n"
+"\n"
+"nebo použijte tlačítko +"
+
+msgid "Add Folders..."
+msgstr "Přidat adresáře..."
+
+msgid "Add folders..."
+msgstr "Přidat adresáře..."
+
+msgid "Add Files..."
+msgstr "Přidat soubory..."
+
+msgid "Add files..."
+msgstr "Přidat soubory..."
+
+msgid "Add Wildcard..."
+msgstr "Přidat zástupný řetězec..."
+
+msgid "Add wildcard..."
+msgstr "Přidat zástupný řetězec..."
msgid "Paths"
msgstr "Cesty"
@@ -1103,6 +1308,9 @@ msgstr "Cesty"
msgid "Excluded paths"
msgstr "Ignorovat cesty"
+msgid "Additional keywords"
+msgstr "Další klíčová slova"
+
msgid "Name of the project the translation is for"
msgstr "Název projektu, pro který je překlad určen"
@@ -1115,6 +1323,9 @@ msgstr "UTF-8 (doporučeno)"
msgid "Please save the file first. This section cannot be edited until then."
msgstr "Nejdříve soubor uložte, jinak nebude možné tuto sekci editovat."
+msgid "Comment:"
+msgstr "Komentář:"
+
msgid "OK"
msgstr "OK"
@@ -1124,42 +1335,6 @@ msgstr "&Smazat"
msgid "Clear the comment"
msgstr "Odstranit komentář"
-msgid "Find..."
-msgstr "Najít..."
-
-msgid "String to find:"
-msgstr "Hledaný řetězec:"
-
-msgid "Case sensitive"
-msgstr "Rozlišovat velikost písmen"
-
-msgid "Start from the first item"
-msgstr "Hledat od začátku katalogu"
-
-msgid "Whole words only"
-msgstr "Jen celá slova"
-
-msgid "Find in original strings"
-msgstr "Hledat v původních řetězcích"
-
-msgid "Find in translations"
-msgstr "Hledat v překladech"
-
-msgid "Find in comments"
-msgstr "Hledat v komentářích"
-
-msgid "Find in automatic comments"
-msgstr "Hledat v automatických komentářích"
-
-msgid "Close"
-msgstr "Zavřít"
-
-msgid "< &Previous"
-msgstr "< &Předchozí"
-
-msgid "&Next >"
-msgstr "&Další >"
-
msgid "Create new translations project"
msgstr "Vytvořit nový překladový projekt"
@@ -1214,6 +1389,12 @@ msgstr "&Otevřít..."
msgid "Open Recent"
msgstr "Otevřít poslední položku"
+msgid "Open from Crowdin..."
+msgstr "Otevřít z Crowdin..."
+
+msgid "Open From Crowdin..."
+msgstr "Otevřít z Crowdin..."
+
msgid "&Save"
msgstr "&Uložit"
@@ -1262,14 +1443,17 @@ msgstr "&Zobrazit odkazy"
msgid "&Find..."
msgstr "&Najít..."
+msgid "Replace..."
+msgstr "Nahradit..."
+
msgid "Find next"
msgstr "Najít další"
msgid "Find previous"
msgstr "Najít předchozí"
-msgid "Find"
-msgstr "Najít"
+msgid "Find and Replace..."
+msgstr "Najít a nahradit..."
msgid "Find Next"
msgstr "Najít další"
@@ -1310,6 +1494,12 @@ msgstr "S&eskupit podle kontextu"
msgid "&Group By Context"
msgstr "S&eskupit podle kontextu"
+msgid "Entries with errors first"
+msgstr "Položky s chybami jako první"
+
+msgid "Entries with Errors First"
+msgstr "Položky s chybami jako první"
+
msgid "&Untranslated entries first"
msgstr "&Nepřeložené položky jako první"
@@ -1319,6 +1509,9 @@ msgstr "&Nepřeložené položky jako první"
msgid "Show sidebar"
msgstr "Zobrazit postranní panel"
+msgid "Show status bar"
+msgstr "Zobrazit stavový řádek"
+
msgid "C&atalog"
msgstr "&Katalog"
@@ -1334,6 +1527,9 @@ msgstr "Aktualizovat z &POT souboru..."
msgid "Update from &POT File..."
msgstr "Aktualizovat z &POT souboru..."
+msgid "Sync with Crowdin"
+msgstr "Synchronizovat s Crowdin"
+
msgid "Fill missing translations from &TM..."
msgstr "&Doplnit chybějící překlady z překladové paměti..."
@@ -1461,6 +1657,9 @@ msgstr ""
msgid "Catalog properties"
msgstr "Vlastnosti katalogu"
+msgid "Project name and version:"
+msgstr "Název a verze projektu:"
+
msgid "Plural Forms:"
msgstr "Formy plurálu:"
@@ -1473,6 +1672,15 @@ msgstr "Použít vlastní výraz"
msgid "Learn about plural forms"
msgstr "Podrobnosti o formách plurálu"
+msgid "Charset:"
+msgstr "Znaková sada:"
+
+msgid "Team:"
+msgstr "Tým:"
+
+msgid "Team's email address:"
+msgstr "Emailová adresa týmu:"
+
msgid "Translation properties"
msgstr "Vlastnosti překladu"
@@ -1545,8 +1753,8 @@ msgstr "Aktualizovat katalog - synchronizovat jej se zdrojovými kódy"
msgid "Toggled if selected string has fuzzy translation"
msgstr "Aktivní pokud se u vybrané položky jedná o přibližný překlad"
-msgid "Show or hide the sidebar."
-msgstr "Zobrazit nebo skrýt postranní panel."
+msgid "Show or hide the sidebar"
+msgstr "Zobrazit nebo skrýt postranní panel"
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
msgid "Previous source text:"
@@ -1559,6 +1767,9 @@ msgstr ""
"Původní zdrojový text (než byl při aktualizaci změněn), kterému odpovídá "
"použitý přibližný překlad."
+msgid "Notes for translators:"
+msgstr "Poznámky pro překladatele:"
+
msgid "Add comment"
msgstr "Přidat komentář"
@@ -1638,9 +1849,6 @@ msgstr "Upravit překlad"
msgid "Open an existing PO file and edit the translation."
msgstr "Otevře existující PO katalog a umožní jeho úpravu."
-msgid "Create new translation"
-msgstr "Vytvořit nový překlad"
-
msgid ""
"Take an existing PO file or POT template and create a new translation from "
"it."
@@ -1648,6 +1856,18 @@ msgstr ""
"Použije existující soubor PO nebo POT jako šablonu pro vytvoření nového "
"překladu."
+msgid "Collaborate on a translation with Crowdin"
+msgstr "Spolupracovat na překladu prostřednictvím Crowdin"
+
+msgid ""
+"Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+"Stáhne soubor z Crowdin projektu a po jeho překladu synchronizuje provedené "
+"změny zpět."
+
+msgid "What is Crowdin?"
+msgstr "Co je Crowdin?"
+
msgid "There are no translations. That’s unusual."
msgstr "V souboru nejsou žádné překlady. To je neobvyklé."
@@ -1687,3 +1907,9 @@ msgstr "Extrahovat ze zdrojových souborů"
msgid "Configure source code extraction in Properties."
msgstr ""
"Parametry pro extrakci ze zdrojového kódu nastavte ve Vlastnostech katalogu."
+
+msgid "Sync"
+msgstr "Synchronizovat"
+
+msgid "Synchronize the translation with Crowdin"
+msgstr "Synchronizovat překlad s Crowdin"
diff --git a/locales/da.mo b/locales/da.mo
index 99581ea..5776043 100644
Binary files a/locales/da.mo and b/locales/da.mo differ
diff --git a/locales/da.po b/locales/da.po
index aa01770..32158ad 100644
--- a/locales/da.po
+++ b/locales/da.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:33-0400\n"
+"POT-Creation-Date: 2015-05-13 18:47+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Danish\n"
"Language: da_DK\n"
@@ -88,6 +88,15 @@ msgstr ""
msgid "Error saving catalog"
msgstr "Fejl ved gemning af katalog"
+msgid "PO Translation Files"
+msgstr "PO oversættelsesfiler"
+
+msgid "POT Translation Templates"
+msgstr "POT oversættelses skabeloner"
+
+msgid "All Translation Files"
+msgstr "Alle oversættelsesfiler"
+
msgid "Merging differences..."
msgstr "Samler forskelle..."
@@ -107,6 +116,86 @@ msgstr "Sprogvalg"
msgid "You must restart Poedit for this change to take effect."
msgstr "Du skal genstarte Poedit før denne ændring træder i kraft."
+msgid "Downloading translations is disabled in this project."
+msgstr "Download af oversættelser er deaktiveret i dette projekt."
+
+msgid "Not authorized, please sign in again."
+msgstr "Ikke autoriseret, log venligst ind igen."
+
+msgid "Sign in to Crowdin"
+msgstr "Log ind på Crowdin"
+
+msgid ""
+"Crowdin is an online localization management platform and collaborative "
+"translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+"Crowdin er en online lokaliseringhåndterings platform og et kollaborativt "
+"oversættelsesværktøj. Poedit kan uden problemer synkronisere PO filer der "
+"bliver håndteret på Crowdin."
+
+msgid "Sign In"
+msgstr "Log ind"
+
+msgid "Sign in"
+msgstr "Log ind"
+
+msgid "Sign Out"
+msgstr "Log ud"
+
+msgid "Sign out"
+msgstr "Log ud"
+
+msgid "Waiting for authentication…"
+msgstr "Venter på godkendelse…"
+
+msgid "Updating user information…"
+msgstr "Opdaterer brugeroplysninger…"
+
+msgid "Signed in as:"
+msgstr "Logget ind som:"
+
+msgid "Learn More About Crowdin"
+msgstr "Lær mere om Crowdin"
+
+msgid "Learn more about Crowdin"
+msgstr "Lær mere om Crowdin"
+
+msgid "Open Crowdin translation"
+msgstr "Åben Crowdin oversættelse"
+
+msgid "Project:"
+msgstr "Projekt:"
+
+msgid "Language:"
+msgstr "Sprog:"
+
+msgid "File:"
+msgstr "Fil:"
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr "Ingen oversættelsesprojekter i din Crowdin konto."
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr "Dette projekt har ikke nogen filer der kan oversættes i Poedit."
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr "Denne fil kan kun redigeres i Crowdin’s webbrugerflade."
+
+msgid "Downloading latest translations…"
+msgstr "Downloader de nyeste oversættelser…"
+
+msgid "Syncing with Crowdin"
+msgstr "Synkroniserer med Crowdin"
+
+msgid "Syncing with Crowdin failed."
+msgstr "Synkronisering med Crowdin mislykkedes."
+
+msgid "Crowdin error"
+msgstr "Crowdin fejl"
+
+msgid "Uploading translations…"
+msgstr "Uploader oversættelser…"
+
msgid "&Copy"
msgstr "&Kopier"
@@ -153,6 +242,9 @@ msgstr ""
msgid "don't delete temporary files (for debugging)"
msgstr "slet ikke midlertidige filer (til fejlretning)"
+msgid "handle a poedit:// URI"
+msgstr "Håndter en poedit:// URI"
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr "Uhåndteret undtagelse opstod: %s"
@@ -163,12 +255,6 @@ msgstr "Uhåndteret undtagelse opstod."
msgid "Open catalog"
msgstr "Åbn katalog"
-msgid "All Files"
-msgstr "Alle filer"
-
-msgid "PO Translation Files"
-msgstr "PO oversættelsesfiler"
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "Filen \"%s\" findes ikke."
@@ -201,7 +287,7 @@ msgid "Undo"
msgstr "Fortryd"
msgid "Redo"
-msgstr "Omgør"
+msgstr "Gentag"
msgid "Paste and Match Style"
msgstr "Indsæt og tilpas stil"
@@ -222,7 +308,7 @@ msgid "Check Spelling While Typing"
msgstr "Tjek stavning mens du skriver"
msgid "Check Grammar With Spelling"
-msgstr "Tjek gramatik med stavning"
+msgstr "Kontroller grammatik med stavning"
msgid "Correct Spelling Automatically"
msgstr "Kontroller automatisk stavning"
@@ -304,7 +390,7 @@ msgid "&Undo"
msgstr "&Fortryd"
msgid "&Redo"
-msgstr "&Omgør"
+msgstr "&Gentag"
msgid "Cu&t"
msgstr "Kli&p"
@@ -396,6 +482,19 @@ msgstr "Flertal:"
msgid "Translation:"
msgstr "Oversættelse:"
+msgid ""
+"POT files are only templates and don’t contain any translations themselves.\n"
+"To make a translation, create a new PO file based on the template."
+msgstr ""
+"POT-filer er kun skabeloner som ikke indeholder nogen oversættelser.\n"
+"For at oprette en oversættelse skal du oprette en ny PO-fil fra skabelonen."
+
+msgid "Create New Translation"
+msgstr "Opret ny skabelon"
+
+msgid "Create new translation"
+msgstr "Opret ny oversættelse"
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
@@ -443,9 +542,6 @@ msgstr "HTML filer"
msgid "Open catalog template"
msgstr "Åbn katalogskabelon"
-msgid "POT Translation Templates"
-msgstr "POT oversættelses skabeloner"
-
msgid "Updating catalog"
msgstr "Opdaterer katalog"
@@ -525,26 +621,49 @@ msgstr[1] "Oversættelsen er klar til brug, men %d emner er ikke oversat endnu."
msgid "The translation is ready for use."
msgstr "Oversættelsen er klar til brug."
-msgid "No references to this string found."
-msgstr "Ingen referencer til denne tekst blev fundet."
-
-msgid "Please choose the reference you want to show:"
-msgstr "Vælg venligst den reference du vil have fremvist:"
-
-msgid "References"
-msgstr "Referencer"
-
msgid "Context:"
msgstr "Kontekst:"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr "Poedit rettede automatisk ugyldigt indhold i filen \"%s\"."
+
+msgid ""
+"The file contained duplicate items, which is not allowed in PO files and "
+"would prevent the file from being used. Poedit fixed the issue, but you "
+"should review translations of any items marked as fuzzy and correct them if "
+"necessary."
+msgstr ""
+"Filen indeholdt duplikerede emner som ikke er tilladt i PO filer, og som "
+"kunne forhindre filen i at blive brugt. Poedit rettede fejlen, men du bør "
+"gennemgå oversættelser af alle emner der er markeret som uafklaret og rette "
+"dem om nødvendigt."
+
msgid "Language of the translation isn't set."
-msgstr "Sprog for oversættelsen er ikke valgt."
+msgstr "Sprog for oversættelsen er ikke angivet."
msgid "Set Language"
msgstr "Indstil sprog"
msgid "Set language"
-msgstr "Indstil sprog"
+msgstr "Angiv sprog"
+
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid ""
+"Suggestions are not available if the translation language is not set "
+"correctly. Other features, such as plural forms, may be affected as well."
+msgstr ""
+"Forslag er ikke tilgængelige hvis oversættelsessproget ikke er angivet "
+"korrekt. Andre ting, såsom flertalsformer kan også blive påvirket."
+
+msgid "Language of the translation is the same as source language."
+msgstr "Oversættelsessproget er det samme som kildesproget."
+
+msgid "Fix Language"
+msgstr "Ret sprog"
+
+msgid "Fix language"
+msgstr "Ret sprog"
msgid ""
"This catalog has entries with plural forms, but doesn't have Plural-Forms "
@@ -581,6 +700,7 @@ msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr ""
"Flertals formular udtrykket der bruges af kataloget er usædvanligt for %s."
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr "Korrektur"
@@ -602,6 +722,12 @@ msgid_plural "%d errors"
msgstr[0] "%d fejl"
msgstr[1] "%d fejl"
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] "%d post"
+msgstr[1] "%d poster"
+
msgid " (unsaved)"
msgstr " (ej gemt)"
@@ -692,7 +818,7 @@ msgid "Translating"
msgstr "Oversætter"
msgid "Filling missing translations from TM..."
-msgstr "Udfylder manglende oversættelser fra &TM"
+msgstr "Udfylder manglende oversættelser fra TM..."
#, c-format
msgid "Translated %u string"
@@ -728,6 +854,9 @@ msgstr "Alt"
msgid "Form %i"
msgstr "Form %i"
+msgid "Singular"
+msgstr "Ental"
+
msgid "Zero"
msgstr "Nul"
@@ -737,6 +866,9 @@ msgstr "En"
msgid "Two"
msgstr "To"
+msgid "Plural"
+msgstr "Flertal"
+
msgid "Other"
msgstr "Andet"
@@ -765,6 +897,12 @@ msgstr "Skjul sidebjælke"
msgid "Show Sidebar"
msgstr "Vis sidebjælke"
+msgid "Hide Status Bar"
+msgstr "Skjul statuslinje"
+
+msgid "Show Status Bar"
+msgstr "Vis statuslinje"
+
msgid "Source text"
msgstr "Oprindelig tekst"
@@ -774,6 +912,10 @@ msgstr "Oversættelse"
msgid "ID"
msgstr "ID"
+#, c-format
+msgid "Source text — %s"
+msgstr "Kildetekst — %s"
+
msgid "unknown language"
msgstr "ukendt sprog"
@@ -784,57 +926,73 @@ msgstr "Oversættelse — %s"
msgid "Error:"
msgstr "Fejl:"
-msgid "Project info"
-msgstr "Projektinformation"
+msgid "Source file"
+msgstr "Kildefil"
-msgid "Project name and version:"
-msgstr "Projektnavn og version:"
+msgid "Source file occurrence:"
+msgstr "Kildefilsforekomst:"
-msgid "Language:"
-msgstr "Sprog:"
+msgid "Open in Editor"
+msgstr "Åben i editor"
-msgid "Team:"
-msgstr "Hold:"
+msgid "Open in editor"
+msgstr "Åben i editor"
-msgid "Team's email address:"
-msgstr "E-mail-adressen for holdet:"
+msgid "No references for the selected item."
+msgstr "Ingen referencer for at det valgte emne."
-msgid "Charset:"
-msgstr "Tegnsæt:"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "Fejl ved åbning af filen %s!"
-msgid "Source"
-msgstr "Oprindelig tekst"
+msgid "Find"
+msgstr "Find"
-msgid "Notes"
-msgstr "Noter"
+msgid "Replace"
+msgstr "Erstat"
-msgid "Automatic translation"
-msgstr "Automatisk oversættelse"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr "Indstillinger"
-msgid "Fuzzy translation"
-msgstr "Uafklaret oversættelse"
+msgid "Ignore case"
+msgstr "Ignorer forskelle på store og små bogstaver"
-msgid "Notes for translators:"
-msgstr "Noter til oversættere:"
+msgid "Wrap around"
+msgstr "Ombrydning"
-msgid "Comment:"
-msgstr "Kommentar:"
+msgid "Whole words only"
+msgstr "Kun hele ord"
-msgid "Source file"
-msgstr "Kildefil"
+msgid "Find in source texts"
+msgstr "Find i kildetekster"
-msgid "Source file occurrence:"
-msgstr "Kildefilsforekomst:"
+msgid "Find in translations"
+msgstr "Find i oversættelser"
-msgid "Open in Editor"
-msgstr "Åben i editor"
+msgid "Find in comments"
+msgstr "Find i kommentarer"
-msgid "Open in editor"
-msgstr "Åben i editor"
+msgid "Close"
+msgstr "Luk"
-#, c-format
-msgid "Error opening file %s!"
-msgstr "Fejl ved åbning af filen %s!"
+msgid "Replace All"
+msgstr "Erstat alle"
+
+msgid "Replace all"
+msgstr "Erstat alle"
+
+msgid "< &Previous"
+msgstr "< &Forrige"
+
+msgid "&Next >"
+msgstr "&Næste >"
+
+msgid "String to find"
+msgstr "Streng som skal findes"
+
+msgid "Replacement string"
+msgstr "Erstatningsstreng"
#, c-format
msgid "Cannot execute program: %s"
@@ -859,7 +1017,7 @@ msgid "Total"
msgstr "I alt"
msgid "Untrans"
-msgstr "Untrans"
+msgstr "Ej-oversat"
msgid "Fuzzy"
msgstr "Uafklaret"
@@ -880,7 +1038,7 @@ msgid "<unnamed>"
msgstr "<unavngivet>"
msgid "Do you want to delete the project?"
-msgstr "Vil du virkelig slette projektet?"
+msgstr "Vil du slette projektet?"
msgid "Confirmation"
msgstr "Bekræftelse"
@@ -924,7 +1082,7 @@ msgid "Show summary after catalog update"
msgstr "Vis resume efter katalogopdatering"
msgid "Check spelling"
-msgstr "Tjek stavning"
+msgstr "Stavekontrol"
msgid "Always change focus to text input field"
msgstr "Skift altid fokus til indtastningsfeltet for tekst"
@@ -1038,14 +1196,24 @@ msgstr "Ny"
msgid "Edit"
msgstr "Redigér"
+msgid "Delete extractor"
+msgstr "Slet udtækker"
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr "Er du sikker på du vil slette \"%s\"-udtrækkeren?"
+
msgid "Extractors"
msgstr "Udtrækkere"
+msgid "Accounts"
+msgstr "Konti"
+
msgid "Automatically check for updates"
msgstr "Søg automatisk efter opdateringer"
msgid "Include beta versions"
-msgstr "Inkludér betaversioner"
+msgstr "Medtag betaversioner"
msgid ""
"Beta versions contain the latest new features and improvements, but may be a "
@@ -1083,17 +1251,53 @@ msgstr "Bevar formatering af eksisterende filer"
msgid "Advanced"
msgstr "Avanceret"
-msgid "Additional keywords"
-msgstr "Yderligere nøgleord"
+msgid ""
+"<big>Drag and Drop Folders Here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+"<big>Træk og slip mapper her</big>\n"
+"\n"
+"eller brug + knappen"
+
+msgid ""
+"<big>Drag and drop folders here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+"<big>Træk og slip mapper her</big>\n"
+"\n"
+"eller brug + knappen"
+
+msgid "Add Folders..."
+msgstr "Tilføj mapper..."
+
+msgid "Add folders..."
+msgstr "Tilføj mapper..."
+
+msgid "Add Files..."
+msgstr "Tilføj filer..."
+
+msgid "Add files..."
+msgstr "Tilføj filer..."
+
+msgid "Add Wildcard..."
+msgstr "Tilføj wildcard..."
+
+msgid "Add wildcard..."
+msgstr "Tilføj wildcard..."
msgid "Paths"
msgstr "Stier"
msgid "Excluded paths"
-msgstr "Ekskluderede stier"
+msgstr "Udelukkede stier"
+
+msgid "Additional keywords"
+msgstr "Yderligere nøgleord"
msgid "Name of the project the translation is for"
-msgstr "Navn på projektet som oversættelsen er for"
+msgstr "Navn på projektet som oversættelsen er til"
msgid "e.g. nplurals=2; plural=(n > 1);"
msgstr "f.eks. nplurals=2; plural=(n > 1);"
@@ -1106,51 +1310,18 @@ msgstr ""
"Gem venligst filen først. Denne kan sektion kan ikke redigere før det er "
"sket."
+msgid "Comment:"
+msgstr "Kommentar:"
+
msgid "OK"
-msgstr "O.k."
+msgstr "OK"
msgid "C&lear"
-msgstr "Ryd"
+msgstr "&Ryd"
msgid "Clear the comment"
msgstr "Ryd kommentaren"
-msgid "Find..."
-msgstr "Find..."
-
-msgid "String to find:"
-msgstr "Find tekst:"
-
-msgid "Case sensitive"
-msgstr "Store/små bogstaver forskellige"
-
-msgid "Start from the first item"
-msgstr "Begynd fra det første element"
-
-msgid "Whole words only"
-msgstr "Kun hele ord"
-
-msgid "Find in original strings"
-msgstr "Find i originaltekster"
-
-msgid "Find in translations"
-msgstr "Find i oversættelser"
-
-msgid "Find in comments"
-msgstr "Find i kommentarer"
-
-msgid "Find in automatic comments"
-msgstr "Søg i automatiske kommentarer"
-
-msgid "Close"
-msgstr "Luk"
-
-msgid "< &Previous"
-msgstr "< &Forrige"
-
-msgid "&Next >"
-msgstr "&Næste >"
-
msgid "Create new translations project"
msgstr "Opret nyt oversættelsesprojekt"
@@ -1205,6 +1376,12 @@ msgstr "&Åbn..."
msgid "Open Recent"
msgstr "Åbn nylige"
+msgid "Open from Crowdin..."
+msgstr "Åbn fra Crowdin..."
+
+msgid "Open From Crowdin..."
+msgstr "Åbn fra Crowdin..."
+
msgid "&Save"
msgstr "&Gem"
@@ -1253,14 +1430,17 @@ msgstr "&Vis referencer"
msgid "&Find..."
msgstr "&Find..."
+msgid "Replace..."
+msgstr "Erstat..."
+
msgid "Find next"
msgstr "Find næste"
msgid "Find previous"
msgstr "Find forrige"
-msgid "Find"
-msgstr "Find"
+msgid "Find and Replace..."
+msgstr "Find og erstat..."
msgid "Find Next"
msgstr "Find næste"
@@ -1301,6 +1481,12 @@ msgstr "&Grupper efter kontekst"
msgid "&Group By Context"
msgstr "&Grupper efter kontekst"
+msgid "Entries with errors first"
+msgstr "Emner med fejl først"
+
+msgid "Entries with Errors First"
+msgstr "Emner med fejl først"
+
msgid "&Untranslated entries first"
msgstr "&Ikke oversatte tekster først"
@@ -1310,6 +1496,9 @@ msgstr "&Ikke oversatte tekster først"
msgid "Show sidebar"
msgstr "Vis sidebjælke"
+msgid "Show status bar"
+msgstr "Vis statuslinje"
+
msgid "C&atalog"
msgstr "K&atalog"
@@ -1325,6 +1514,9 @@ msgstr "Opdatér fra &POT-fil..."
msgid "Update from &POT File..."
msgstr "Opdatér fra &POT-fil..."
+msgid "Sync with Crowdin"
+msgstr "Synkroniser med Crowdin"
+
msgid "Fill missing translations from &TM..."
msgstr "Udfyld manglende oversættelser fra &TM..."
@@ -1452,6 +1644,9 @@ msgstr ""
msgid "Catalog properties"
msgstr "Egenskaber for katalog"
+msgid "Project name and version:"
+msgstr "Projektnavn og version:"
+
msgid "Plural Forms:"
msgstr "Flertalsformer:"
@@ -1464,6 +1659,15 @@ msgstr "Brug tilpasset udtryk"
msgid "Learn about plural forms"
msgstr "Lær mere om flertalsformer"
+msgid "Charset:"
+msgstr "Tegnsæt:"
+
+msgid "Team:"
+msgstr "Hold:"
+
+msgid "Team's email address:"
+msgstr "E-mail-adressen for holdet:"
+
msgid "Translation properties"
msgstr "Oversættelsesegenskaber"
@@ -1536,8 +1740,8 @@ msgstr "Opdatér katalog - synkronisér med kilder"
msgid "Toggled if selected string has fuzzy translation"
msgstr "Skifter om den valgte oversættelse er uafklaret"
-msgid "Show or hide the sidebar."
-msgstr "Vis eller skjul sidebjælken."
+msgid "Show or hide the sidebar"
+msgstr "Vis eller skjul sidepanelet"
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
msgid "Previous source text:"
@@ -1550,6 +1754,9 @@ msgstr ""
"Den gamle kildetekst (før den blev ændret ved en opdatering) som uafklaret "
"oversættelse svarer til."
+msgid "Notes for translators:"
+msgstr "Noter til oversættere:"
+
msgid "Add comment"
msgstr "Tilføj kommentar"
@@ -1628,9 +1835,6 @@ msgstr "Redigér en oversættelse"
msgid "Open an existing PO file and edit the translation."
msgstr "Åben en eksisterende PO fil og rediger oversættelsen."
-msgid "Create new translation"
-msgstr "Opret ny oversættelse"
-
msgid ""
"Take an existing PO file or POT template and create a new translation from "
"it."
@@ -1638,6 +1842,18 @@ msgstr ""
"Tag en eksisterende PO fil eller POT skabelon og opret en ny oversættelse "
"fra den."
+msgid "Collaborate on a translation with Crowdin"
+msgstr "Samarbejd om en oversættelse med Crowdin"
+
+msgid ""
+"Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+"Download en fil fra et Crowdin projekt, oversæt og synkroniser dine "
+"ændringer tilbage."
+
+msgid "What is Crowdin?"
+msgstr "Hvad er Crowdin?"
+
msgid "There are no translations. That’s unusual."
msgstr "Der er ikke nogen oversættelser. Det er usædvanligt."
@@ -1676,3 +1892,9 @@ msgstr "Udtræk fra kilder"
msgid "Configure source code extraction in Properties."
msgstr "Konfigurer kildekode udtrækning i Egenskaber."
+
+msgid "Sync"
+msgstr "Synk"
+
+msgid "Synchronize the translation with Crowdin"
+msgstr "Synkroniser oversættelsen med Crowdin"
diff --git a/locales/de.mo b/locales/de.mo
index 20a004f..f6896bf 100644
Binary files a/locales/de.mo and b/locales/de.mo differ
diff --git a/locales/de.po b/locales/de.po
index 37da3a5..ea648e9 100644
--- a/locales/de.po
+++ b/locales/de.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:33-0400\n"
+"POT-Creation-Date: 2015-05-13 18:47+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: German\n"
"Language: de_DE\n"
@@ -95,6 +95,15 @@ msgstr ""
msgid "Error saving catalog"
msgstr "Fehler beim Speichern der Katalogdatei"
+msgid "PO Translation Files"
+msgstr "PO-Übersetzungsdateien"
+
+msgid "POT Translation Templates"
+msgstr "POT-Übersetzungsvorlagen"
+
+msgid "All Translation Files"
+msgstr "Alle Übersetzungsdateien"
+
msgid "Merging differences..."
msgstr "Änderungen werden zusammengefügt …"
@@ -114,6 +123,89 @@ msgstr "Sprachauswahl"
msgid "You must restart Poedit for this change to take effect."
msgstr "Sie müssen Poedit neu starten, damit diese Änderung wirksam wird."
+msgid "Downloading translations is disabled in this project."
+msgstr "Herunterladen von Übersetzungen ist in diesem Projekt deaktiviert."
+
+msgid "Not authorized, please sign in again."
+msgstr "Nicht autorisiert, bitte melden Sie sich erneut an."
+
+msgid "Sign in to Crowdin"
+msgstr "Bei Crowdin anmelden"
+
+msgid ""
+"Crowdin is an online localization management platform and collaborative "
+"translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+"Crowdin ist eine Onlineplattform zur Lokalisierung und ein Werkzeug zum "
+"gemeinsamen Übersetzen. Poedit kann PO-Dateien, die mittels Crowdin "
+"verwaltet werden, problemlos synchronisieren."
+
+msgid "Sign In"
+msgstr "Anmelden"
+
+msgid "Sign in"
+msgstr "Anmelden"
+
+msgid "Sign Out"
+msgstr "Abmelden"
+
+msgid "Sign out"
+msgstr "Abmelden"
+
+msgid "Waiting for authentication…"
+msgstr "Auf Authentifizierung warten …"
+
+msgid "Updating user information…"
+msgstr "Benutzerinformationen werden aktualisiert …"
+
+msgid "Signed in as:"
+msgstr "Angemeldet als:"
+
+msgid "Learn More About Crowdin"
+msgstr "Erfahren Sie mehr über Crowdin"
+
+msgid "Learn more about Crowdin"
+msgstr "Erfahren Sie mehr über Crowdin"
+
+msgid "Open Crowdin translation"
+msgstr "Crowdin-Übersetzung öffnen"
+
+msgid "Project:"
+msgstr "Projekt:"
+
+msgid "Language:"
+msgstr "Sprache:"
+
+msgid "File:"
+msgstr "Datei:"
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr "Es sind keine Übersetzungsprojekte in Ihrem Crowdin-Konto gelistet."
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr ""
+"In diesem Projekt befinden sich keine Dateien, die mit Poedit übersetzt "
+"werden können."
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr ""
+"Diese Datei kann nur in der Weboberfläche von Crowdin bearbeitet werden."
+
+msgid "Downloading latest translations…"
+msgstr "Neueste Übersetzungen werden heruntergeladen …"
+
+msgid "Syncing with Crowdin"
+msgstr "Synchronisierung mit Crowdin"
+
+msgid "Syncing with Crowdin failed."
+msgstr "Fehler bei der Synchronisierung mit Crowdin."
+
+msgid "Crowdin error"
+msgstr "Crowdin Fehler"
+
+msgid "Uploading translations…"
+msgstr "Übersetzungen werden hochgeladen …"
+
msgid "&Copy"
msgstr "&Kopieren"
@@ -160,6 +252,9 @@ msgstr ""
msgid "don't delete temporary files (for debugging)"
msgstr "Temporäre Dateien nicht entfernen (für Fehlersuche)"
+msgid "handle a poedit:// URI"
+msgstr "poedit:// Adresse verwenden"
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr "Ein unerwarteter Fehler ist aufgetreten: %s"
@@ -170,12 +265,6 @@ msgstr "Ein unerwarteter Fehler ist aufgetreten."
msgid "Open catalog"
msgstr "Katalog öffnen"
-msgid "All Files"
-msgstr "Alle Dateien"
-
-msgid "PO Translation Files"
-msgstr "PO-Übersetzungsdateien"
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "Die Datei »%s« existiert nicht."
@@ -208,10 +297,10 @@ msgid "Undo"
msgstr "Rückgängig"
msgid "Redo"
-msgstr "Wiederholen"
+msgstr "Wiederherstellen"
msgid "Paste and Match Style"
-msgstr "Einsetzen und Formatierung"
+msgstr "Einsetzen und Stil anpassen"
msgid "Delete"
msgstr "Löschen"
@@ -405,6 +494,20 @@ msgstr "Plural:"
msgid "Translation:"
msgstr "Übersetzung:"
+msgid ""
+"POT files are only templates and don’t contain any translations themselves.\n"
+"To make a translation, create a new PO file based on the template."
+msgstr ""
+"POT-Dateien sind nur Vorlagen, sie enthalten selbst keine Übersetzungen.\n"
+"Um eine Übersetzung zu starten, legen Sie eine neue PO-Datei an, die auf der "
+"Vorlage basiert."
+
+msgid "Create New Translation"
+msgstr "Neue Übersetzung anlegen"
+
+msgid "Create new translation"
+msgstr "Neue Übersetzung erstellen"
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
@@ -454,9 +557,6 @@ msgstr "HTML-Dateien"
msgid "Open catalog template"
msgstr "Katalogvorlage öffnen"
-msgid "POT Translation Templates"
-msgstr "POT-Übersetzungsvorlagen"
-
msgid "Updating catalog"
msgstr "Katalog wird aktualisiert"
@@ -488,7 +588,7 @@ msgstr[0] "Es wurde %d Problem mit der Übersetzung gefunden"
msgstr[1] "Es wurden %d Probleme mit der Übersetzung gefunden"
msgid "Validation results"
-msgstr "Prüfungsergebnisse"
+msgstr "Überprüfungsergebnisse"
msgid ""
"Entries with errors were marked in red in the list. Details of the error "
@@ -504,7 +604,7 @@ msgid ""
"The file was saved safely and compiled into the MO format, but it will "
"probably not work correctly."
msgstr ""
-"Die Datei wurde sicher gespeichert und in das MO Format konvertiert, aber "
+"Die Datei wurde sicher gespeichert und in das MO-Format konvertiert, aber "
"möglicherweise funktioniert es nicht korrekt."
msgid ""
@@ -541,18 +641,25 @@ msgstr[1] ""
msgid "The translation is ready for use."
msgstr "Die Übersetzung kann verwendet werden."
-msgid "No references to this string found."
-msgstr "Keine Verweise auf diese Zeichenkette gefunden."
-
-msgid "Please choose the reference you want to show:"
-msgstr "Bitte wählen Sie einen Verweis zum Anzeigen aus:"
-
-msgid "References"
-msgstr "Verweise"
-
msgid "Context:"
msgstr "Zusammenhang:"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr ""
+"Ungültige Inhalte der Datei »%s« wurden von Poedit automatisch korrigiert."
+
+msgid ""
+"The file contained duplicate items, which is not allowed in PO files and "
+"would prevent the file from being used. Poedit fixed the issue, but you "
+"should review translations of any items marked as fuzzy and correct them if "
+"necessary."
+msgstr ""
+"Die Datei enthält doppelte Einträge, was in PO-Dateien nicht zulässig ist "
+"und dazu führen würde, dass die Datei nicht verwendet wird. Dieses Problem "
+"wurde von Poedit behoben. Sie sollten allerdings Übersetzungen, die als "
+"unklar markiert sind, prüfen und diese falls erforderlich korrigieren."
+
msgid "Language of the translation isn't set."
msgstr "Sprache der Übersetzung ist nicht festgelegt."
@@ -562,6 +669,24 @@ msgstr "Sprache festlegen"
msgid "Set language"
msgstr "Sprache festlegen"
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid ""
+"Suggestions are not available if the translation language is not set "
+"correctly. Other features, such as plural forms, may be affected as well."
+msgstr ""
+"Vorschläge sind nicht verfügbar, wenn die Übersetzungssprache nicht richtig "
+"eingestellt ist. Andere Funktionen wie z.B. Pluralformen, können ebenfalls "
+"betroffen sein."
+
+msgid "Language of the translation is the same as source language."
+msgstr "Sprache der Übersetzung ist dieselbe wie die Ausgangssprache."
+
+msgid "Fix Language"
+msgstr "Sprache korrekt festlegen"
+
+msgid "Fix language"
+msgstr "Sprache korrekt festlegen"
+
msgid ""
"This catalog has entries with plural forms, but doesn't have Plural-Forms "
"header configured."
@@ -581,7 +706,7 @@ msgstr "Im Kopfbereich der Datei fehlt die Angabe »Plural-Forms«."
#, c-format
msgid "Syntax error in Plural-Forms header (\"%s\")."
-msgstr "Syntaxfehler im Dateikopf »Plural-Forms« (\"%s\")."
+msgstr "Syntaxfehler im Dateikopf bei »Plural-Forms« (»%s«)."
msgid "Fix the Header"
msgstr "Kopfbereich reparieren"
@@ -596,8 +721,9 @@ msgstr "Kopfbereich reparieren"
msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr "Verwendete Plural-Form des Kataloges ist unüblich für %s."
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
-msgstr "Überprüfung"
+msgstr "Überprüfen"
#, c-format
msgid "Error loading message catalog file '%s'."
@@ -617,6 +743,12 @@ msgid_plural "%d errors"
msgstr[0] "%d Fehler"
msgstr[1] "%d Fehler"
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] "%d Eintrag"
+msgstr[1] "%d Einträge"
+
msgid " (unsaved)"
msgstr " (ungespeichert)"
@@ -745,17 +877,23 @@ msgstr "Alles"
msgid "Form %i"
msgstr "Form %i"
+msgid "Singular"
+msgstr "Singular"
+
msgid "Zero"
msgstr "Null"
msgid "One"
-msgstr "Eins"
+msgstr "Singular"
msgid "Two"
msgstr "Zwei"
+msgid "Plural"
+msgstr "Plural"
+
msgid "Other"
-msgstr "Andere"
+msgstr "Plural"
msgid "&Bookmarks"
msgstr "&Lesezeichen"
@@ -782,6 +920,12 @@ msgstr "Seitenleiste ausblenden"
msgid "Show Sidebar"
msgstr "Seitenleiste anzeigen"
+msgid "Hide Status Bar"
+msgstr "Statusleiste ausblenden"
+
+msgid "Show Status Bar"
+msgstr "Statusleiste anzeigen"
+
msgid "Source text"
msgstr "Quelltext"
@@ -791,6 +935,10 @@ msgstr "Übersetzung"
msgid "ID"
msgstr "ID"
+#, c-format
+msgid "Source text — %s"
+msgstr "Quelltext — %s"
+
msgid "unknown language"
msgstr "unbekannte Sprache"
@@ -801,57 +949,73 @@ msgstr "Übersetzung – %s"
msgid "Error:"
msgstr "Fehler:"
-msgid "Project info"
-msgstr "Projektinfo"
+msgid "Source file"
+msgstr "Quelldatei"
-msgid "Project name and version:"
-msgstr "Projektname und -version:"
+msgid "Source file occurrence:"
+msgstr "Vorkommen in Quelldatei:"
-msgid "Language:"
-msgstr "Sprache:"
+msgid "Open in Editor"
+msgstr "In Editor öffnen"
-msgid "Team:"
-msgstr "Übersetzerteam:"
+msgid "Open in editor"
+msgstr "In Editor öffnen"
-msgid "Team's email address:"
-msgstr "E-Mail-Adresse des Übersetzerteams:"
+msgid "No references for the selected item."
+msgstr "Keine Verweise für das ausgewählte Element."
-msgid "Charset:"
-msgstr "Zeichensatz:"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "Fehler beim Öffnen der Datei »%s«."
-msgid "Source"
-msgstr "Quelle"
+msgid "Find"
+msgstr "Suchen"
-msgid "Notes"
-msgstr "Anmerkungen"
+msgid "Replace"
+msgstr "Ersetzen"
-msgid "Automatic translation"
-msgstr "Automatische Übersetzung"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr "Optionen"
-msgid "Fuzzy translation"
-msgstr "Unklare Übersetzung"
+msgid "Ignore case"
+msgstr "Groß-/Kleinschreibung ignorieren"
-msgid "Notes for translators:"
-msgstr "Anmerkungen für Übersetzer:"
+msgid "Wrap around"
+msgstr "Am Ende von vorne beginnen"
-msgid "Comment:"
-msgstr "Kommentar:"
+msgid "Whole words only"
+msgstr "Nur ganze Wörter"
-msgid "Source file"
-msgstr "Quelldatei"
+msgid "Find in source texts"
+msgstr "In Quelltexten suchen"
-msgid "Source file occurrence:"
-msgstr "Vorkommen in Quelldatei:"
+msgid "Find in translations"
+msgstr "In Übersetzungen suchen"
-msgid "Open in Editor"
-msgstr "In Editor öffnen"
+msgid "Find in comments"
+msgstr "In Kommentaren suchen"
-msgid "Open in editor"
-msgstr "In Editor öffnen"
+msgid "Close"
+msgstr "Schließen"
-#, c-format
-msgid "Error opening file %s!"
-msgstr "Fehler beim Öffnen der Datei »%s«."
+msgid "Replace All"
+msgstr "Alle ersetzen"
+
+msgid "Replace all"
+msgstr "Alle ersetzen"
+
+msgid "< &Previous"
+msgstr "< &Zurück"
+
+msgid "&Next >"
+msgstr "&Weiter >"
+
+msgid "String to find"
+msgstr "Zu suchende Zeichenkette"
+
+msgid "Replacement string"
+msgstr "Ersatzzeichenkette"
#, c-format
msgid "Cannot execute program: %s"
@@ -938,7 +1102,7 @@ msgid "Automatically compile MO file when saving"
msgstr "MO-Datei beim Speichern automatisch erstellen"
msgid "Show summary after catalog update"
-msgstr "Nach Katalogaktualisierung Bericht anzeigen"
+msgstr "Bericht nach Katalogaktualisierung anzeigen"
msgid "Check spelling"
msgstr "Rechtschreibung prüfen"
@@ -1058,9 +1222,19 @@ msgstr "Neu"
msgid "Edit"
msgstr "Bearbeiten"
+msgid "Delete extractor"
+msgstr "Extraktor entfernen"
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr "Sind Sie sicher, dass der Extraktor »%s« entfernt werden soll?"
+
msgid "Extractors"
msgstr "Extraktoren"
+msgid "Accounts"
+msgstr "Konten"
+
msgid "Automatically check for updates"
msgstr "Automatisch nach Aktualisierungen suchen"
@@ -1104,8 +1278,41 @@ msgstr "Formatierung vorhandener Dateien beibehalten"
msgid "Advanced"
msgstr "Erweitert"
-msgid "Additional keywords"
-msgstr "Zusätzliche Schlüsselwörter"
+msgid ""
+"<big>Drag and Drop Folders Here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+"<big>Ziehen und legen Sie Ordner hier ab</big>\n"
+"\n"
+"oder verwenden Sie den + Knopf"
+
+msgid ""
+"<big>Drag and drop folders here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+"<big>Ziehen und legen Sie Ordner hier ab</big>\n"
+"\n"
+"oder verwenden Sie den + Knopf"
+
+msgid "Add Folders..."
+msgstr "Ordner hinzufügen …"
+
+msgid "Add folders..."
+msgstr "Ordner hinzufügen …"
+
+msgid "Add Files..."
+msgstr "Dateien hinzufügen …"
+
+msgid "Add files..."
+msgstr "Dateien hinzufügen …"
+
+msgid "Add Wildcard..."
+msgstr "Platzhalter hinzufügen …"
+
+msgid "Add wildcard..."
+msgstr "Platzhalter hinzufügen …"
msgid "Paths"
msgstr "Pfade"
@@ -1113,6 +1320,9 @@ msgstr "Pfade"
msgid "Excluded paths"
msgstr "Ausgeschlossene Pfade"
+msgid "Additional keywords"
+msgstr "Zusätzliche Schlüsselwörter"
+
msgid "Name of the project the translation is for"
msgstr "Name des Projektes der Übersetzung"
@@ -1127,6 +1337,9 @@ msgstr ""
"Bitte speichern Sie die Datei vorher. Dieser Abschnitt kann bis dahin nicht "
"bearbeitet werden."
+msgid "Comment:"
+msgstr "Kommentar:"
+
msgid "OK"
msgstr "OK"
@@ -1136,42 +1349,6 @@ msgstr "&Löschen"
msgid "Clear the comment"
msgstr "Kommentar löschen"
-msgid "Find..."
-msgstr "Suchen …"
-
-msgid "String to find:"
-msgstr "Gesuchte Zeichenkette:"
-
-msgid "Case sensitive"
-msgstr "Groß-/Kleinschreibung beachten"
-
-msgid "Start from the first item"
-msgstr "Mit dem ersten Eintrag anfangen"
-
-msgid "Whole words only"
-msgstr "Nur ganze Wörter"
-
-msgid "Find in original strings"
-msgstr "In Quelltexten suchen"
-
-msgid "Find in translations"
-msgstr "In Übersetzungen suchen"
-
-msgid "Find in comments"
-msgstr "In Kommentaren suchen"
-
-msgid "Find in automatic comments"
-msgstr "In automatischen Kommentaren suchen"
-
-msgid "Close"
-msgstr "Schließen"
-
-msgid "< &Previous"
-msgstr "< &Zurück"
-
-msgid "&Next >"
-msgstr "&Weiter >"
-
msgid "Create new translations project"
msgstr "Neues Übersetzungsprojekt erstellen"
@@ -1226,6 +1403,12 @@ msgstr "Ö&ffnen …"
msgid "Open Recent"
msgstr "Zuletzt geöffnete Dateien"
+msgid "Open from Crowdin..."
+msgstr "Von Crowdin öffnen …"
+
+msgid "Open From Crowdin..."
+msgstr "Von Crowdin öffnen …"
+
msgid "&Save"
msgstr "&Speichern"
@@ -1274,14 +1457,17 @@ msgstr "&Verweise anzeigen"
msgid "&Find..."
msgstr "&Suchen …"
+msgid "Replace..."
+msgstr "Ersetzen …"
+
msgid "Find next"
msgstr "Nächstes Vorkommen suchen"
msgid "Find previous"
msgstr "Vorheriges Vorkommen suchen"
-msgid "Find"
-msgstr "Suchen"
+msgid "Find and Replace..."
+msgstr "Suchen und ersetzen …"
msgid "Find Next"
msgstr "Nächstes Vorkommen suchen"
@@ -1322,6 +1508,12 @@ msgstr "Nach Zusammenhang &gruppieren"
msgid "&Group By Context"
msgstr "Nach Zusammenhang &gruppieren"
+msgid "Entries with errors first"
+msgstr "Einträge mit Fehlern zuerst"
+
+msgid "Entries with Errors First"
+msgstr "Einträge mit Fehlern zuerst"
+
msgid "&Untranslated entries first"
msgstr "&Nicht übersetzte Einträge zuerst"
@@ -1331,6 +1523,9 @@ msgstr "&Nicht übersetzte Einträge zuerst"
msgid "Show sidebar"
msgstr "Seitenleiste anzeigen"
+msgid "Show status bar"
+msgstr "Statusleiste anzeigen"
+
msgid "C&atalog"
msgstr "&Katalog"
@@ -1346,6 +1541,9 @@ msgstr "Aus &POT-Datei aktualisieren …"
msgid "Update from &POT File..."
msgstr "Aus &POT-Datei aktualisieren …"
+msgid "Sync with Crowdin"
+msgstr "Mit Crowdin synchronisieren"
+
msgid "Fill missing translations from &TM..."
msgstr "Fehlende Übersetzungen aus dem Übersetzungsspeicher &füllen …"
@@ -1368,10 +1566,10 @@ msgid "&Properties..."
msgstr "&Eigenschaften …"
msgid "&Done and next"
-msgstr "&Erledigt und Nächster"
+msgstr "&Erledigt und weiter"
msgid "&Done and Next"
-msgstr "&Erledigt und Nächster"
+msgstr "&Erledigt und weiter"
msgid "&Previous translation"
msgstr "&Vorherige Übersetzung"
@@ -1475,6 +1673,9 @@ msgstr ""
msgid "Catalog properties"
msgstr "Katalog-Eigenschaften"
+msgid "Project name and version:"
+msgstr "Projektname und -version:"
+
msgid "Plural Forms:"
msgstr "Pluralformen:"
@@ -1487,6 +1688,15 @@ msgstr "Benutzerdefinierten Ausdruck verwenden"
msgid "Learn about plural forms"
msgstr "Weitere Informationen zu Pluralformen"
+msgid "Charset:"
+msgstr "Zeichensatz:"
+
+msgid "Team:"
+msgstr "Übersetzerteam:"
+
+msgid "Team's email address:"
+msgstr "E-Mail-Adresse des Übersetzerteams:"
+
msgid "Translation properties"
msgstr "Übersetzungseinstellungen"
@@ -1513,7 +1723,7 @@ msgid "Sources keywords"
msgstr "Schlüsselwörter aus Quelltexten"
msgid "Update summary"
-msgstr "Übersicht aktualisieren"
+msgstr "Zusammenfassung der Aktualisierung"
msgid ""
"These strings were found in the sources but were not in the catalog.\n"
@@ -1561,8 +1771,8 @@ msgid "Toggled if selected string has fuzzy translation"
msgstr ""
"Gesetzt, wenn die ausgewählte Zeichenkette eine unklare Übersetzung enthält"
-msgid "Show or hide the sidebar."
-msgstr "Seitenleiste anzeigen oder verbergen."
+msgid "Show or hide the sidebar"
+msgstr "Seitenleiste anzeigen oder verbergen"
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
msgid "Previous source text:"
@@ -1575,6 +1785,9 @@ msgstr ""
"Früherer Quelltext (vor der Änderung durch eine Aktualisierung), zu der die "
"unklare Übersetzung gehört."
+msgid "Notes for translators:"
+msgstr "Anmerkungen für Übersetzer:"
+
msgid "Add comment"
msgstr "Kommentar hinzufügen"
@@ -1611,7 +1824,7 @@ msgstr "Migration wird vorbereitet …"
#, c-format
msgid "Migration exit status: %d"
-msgstr "Migration Exit Status: %d"
+msgstr "Rückgabestatus der Migration: %d"
msgid "Poedit needs to convert your translation memory to a new format."
msgstr "Poedit muss den Übersetzungsspeicher in ein neues Format umwandeln."
@@ -1655,9 +1868,6 @@ msgstr "Übersetzung bearbeiten"
msgid "Open an existing PO file and edit the translation."
msgstr "Existierende PO-Datei öffnen und Übersetzung bearbeiten."
-msgid "Create new translation"
-msgstr "Neue Übersetzung erstellen"
-
msgid ""
"Take an existing PO file or POT template and create a new translation from "
"it."
@@ -1665,6 +1875,18 @@ msgstr ""
"Eine existierende PO-Datei oder POT-Vorlage verwenden und eine neue "
"Übersetzung daraus erstellen."
+msgid "Collaborate on a translation with Crowdin"
+msgstr "Arbeiten Sie an einer Übersetzung mit Crowdin"
+
+msgid ""
+"Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+"Herunterladen einer Datei aus einem Crowdin Projekt, übersetzen und "
+"zurücksynchronisieren Ihrer Änderungen."
+
+msgid "What is Crowdin?"
+msgstr "Was ist Crowdin?"
+
msgid "There are no translations. That’s unusual."
msgstr "Es gibt keine Übersetzungen. Das ist ungewöhnlich."
@@ -1676,10 +1898,10 @@ msgid ""
"developer."
msgstr ""
"Übersetzbare Einträge werden nicht manuell in das Gettext-System "
-"hinzugefügt, aber automatisch vom\n"
-"Quellcode extrahiert. So bleibt alles immer aktuell und genau.\n"
-"Übersetzen verwenden typischerweise PO-Vorlagen (POTs), welche vom "
-"Programmierer vorbereitet werden."
+"hinzugefügt, sondern automatisch aus dem \n"
+"Quellcode extrahiert. So bleibt immer alles aktuell und genau.\n"
+"Übersetzer verwenden üblicherweise PO-Vorlagen (POTs), welche von "
+"Programmierern vorbereitet werden."
msgid "(Learn more about GNU gettext)"
msgstr "(Mehr über GNU gettext erfahren)"
@@ -1705,3 +1927,9 @@ msgstr "Aus Quellcode extrahieren"
msgid "Configure source code extraction in Properties."
msgstr "Quellcode-Extrahierung in den Einstellungen konfigurieren."
+
+msgid "Sync"
+msgstr "Sync"
+
+msgid "Synchronize the translation with Crowdin"
+msgstr "Synchronisieren der Übersetzung mit Crowdin"
diff --git a/locales/el.mo b/locales/el.mo
index 075ffdc..cfa2e6a 100644
Binary files a/locales/el.mo and b/locales/el.mo differ
diff --git a/locales/el.po b/locales/el.po
index 3ae93b0..dc4cdab 100644
--- a/locales/el.po
+++ b/locales/el.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:33-0400\n"
+"POT-Creation-Date: 2015-05-13 18:47+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Greek\n"
"Language: el_GR\n"
@@ -95,6 +95,15 @@ msgstr ""
msgid "Error saving catalog"
msgstr "Σφάλμα αποθήκευσης καταλόγου"
+msgid "PO Translation Files"
+msgstr ""
+
+msgid "POT Translation Templates"
+msgstr ""
+
+msgid "All Translation Files"
+msgstr ""
+
msgid "Merging differences..."
msgstr "Συνένωση διαφορών..."
@@ -115,6 +124,83 @@ msgid "You must restart Poedit for this change to take effect."
msgstr ""
"Πρέπει να γίνει επανεκκίνηση του Poedit, ώστε αυτή η αλλαγή να έχει επίδραση."
+msgid "Downloading translations is disabled in this project."
+msgstr ""
+
+msgid "Not authorized, please sign in again."
+msgstr ""
+
+msgid "Sign in to Crowdin"
+msgstr ""
+
+msgid ""
+"Crowdin is an online localization management platform and collaborative "
+"translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+
+msgid "Sign In"
+msgstr ""
+
+msgid "Sign in"
+msgstr ""
+
+msgid "Sign Out"
+msgstr ""
+
+msgid "Sign out"
+msgstr ""
+
+msgid "Waiting for authentication…"
+msgstr ""
+
+msgid "Updating user information…"
+msgstr ""
+
+msgid "Signed in as:"
+msgstr ""
+
+msgid "Learn More About Crowdin"
+msgstr ""
+
+msgid "Learn more about Crowdin"
+msgstr ""
+
+msgid "Open Crowdin translation"
+msgstr ""
+
+msgid "Project:"
+msgstr ""
+
+msgid "Language:"
+msgstr "Γλώσσα:"
+
+msgid "File:"
+msgstr ""
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr ""
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr ""
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr ""
+
+msgid "Downloading latest translations…"
+msgstr ""
+
+msgid "Syncing with Crowdin"
+msgstr ""
+
+msgid "Syncing with Crowdin failed."
+msgstr ""
+
+msgid "Crowdin error"
+msgstr ""
+
+msgid "Uploading translations…"
+msgstr ""
+
msgid "&Copy"
msgstr ""
@@ -159,6 +245,9 @@ msgstr ""
msgid "don't delete temporary files (for debugging)"
msgstr "χωρίς διαγραφή των προσωρινών αρχείων (για αποσφαλμάτωση)"
+msgid "handle a poedit:// URI"
+msgstr ""
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr ""
@@ -169,12 +258,6 @@ msgstr ""
msgid "Open catalog"
msgstr "Άνοιγμα καταλόγου"
-msgid "All Files"
-msgstr ""
-
-msgid "PO Translation Files"
-msgstr ""
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "Το αρχείο '%s' δεν υπάρχει."
@@ -405,6 +488,17 @@ msgstr "Πληθυντικός:"
msgid "Translation:"
msgstr "Μετάφραση:"
+msgid ""
+"POT files are only templates and don’t contain any translations themselves.\n"
+"To make a translation, create a new PO file based on the template."
+msgstr ""
+
+msgid "Create New Translation"
+msgstr ""
+
+msgid "Create new translation"
+msgstr "Δημιουργία νέας μετάφρασης"
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
@@ -452,9 +546,6 @@ msgstr ""
msgid "Open catalog template"
msgstr "Άνοιγμα προτύπου καταλόγου"
-msgid "POT Translation Templates"
-msgstr ""
-
msgid "Updating catalog"
msgstr "Ενημερώνεται ο κατάλογος"
@@ -530,18 +621,20 @@ msgstr[1] ""
msgid "The translation is ready for use."
msgstr "Η μετάφραση είναι έτοιμη προς χρήση."
-msgid "No references to this string found."
-msgstr "Καμία αναφορά στο στίχο που βρέθηκε."
-
-msgid "Please choose the reference you want to show:"
-msgstr "Παρακαλώ επιλέξτε την αναφορά που θέλετε να εμφανίσετε:"
-
-msgid "References"
-msgstr "Αναφορές"
-
msgid "Context:"
msgstr "Περιεχόμενα:"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr ""
+
+msgid ""
+"The file contained duplicate items, which is not allowed in PO files and "
+"would prevent the file from being used. Poedit fixed the issue, but you "
+"should review translations of any items marked as fuzzy and correct them if "
+"necessary."
+msgstr ""
+
msgid "Language of the translation isn't set."
msgstr "δεν έχει οριστεί η γλώσσα της μετάφρασης."
@@ -551,6 +644,21 @@ msgstr ""
msgid "Set language"
msgstr "Ορισμός γλώσσας"
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid ""
+"Suggestions are not available if the translation language is not set "
+"correctly. Other features, such as plural forms, may be affected as well."
+msgstr ""
+
+msgid "Language of the translation is the same as source language."
+msgstr ""
+
+msgid "Fix Language"
+msgstr ""
+
+msgid "Fix language"
+msgstr ""
+
msgid ""
"This catalog has entries with plural forms, but doesn't have Plural-Forms "
"header configured."
@@ -587,6 +695,7 @@ msgstr ""
"Οι μορφές πληθυντικού, οι οποίες χρησιμοποιούνται για τον κατάλογο, είναι "
"ασυνήθιστες για το %s."
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr "Επισκόπηση"
@@ -608,6 +717,12 @@ msgid_plural "%d errors"
msgstr[0] ""
msgstr[1] ""
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] ""
+msgstr[1] ""
+
msgid " (unsaved)"
msgstr " (μη αποθηκευμένο)"
@@ -727,6 +842,9 @@ msgstr "Τα πάντα"
msgid "Form %i"
msgstr "Μορφή %i"
+msgid "Singular"
+msgstr ""
+
msgid "Zero"
msgstr "Μηδέν"
@@ -736,6 +854,9 @@ msgstr "Ένα"
msgid "Two"
msgstr "Δύο"
+msgid "Plural"
+msgstr ""
+
msgid "Other"
msgstr "Άλλο"
@@ -764,6 +885,12 @@ msgstr ""
msgid "Show Sidebar"
msgstr ""
+msgid "Hide Status Bar"
+msgstr ""
+
+msgid "Show Status Bar"
+msgstr ""
+
msgid "Source text"
msgstr "Πηγαίο κείμενο"
@@ -773,6 +900,10 @@ msgstr "Μετάφραση"
msgid "ID"
msgstr "Ταυτότητα"
+#, c-format
+msgid "Source text — %s"
+msgstr ""
+
msgid "unknown language"
msgstr "άγνωστη γλώσσα"
@@ -783,57 +914,73 @@ msgstr "Μετάφραση — %s"
msgid "Error:"
msgstr "Σφάλμα:"
-msgid "Project info"
-msgstr "Πληροφορίες εργασίας"
+msgid "Source file"
+msgstr "Αρχείο πηγαίου κώδικα"
-msgid "Project name and version:"
-msgstr "Όνομα εργασίας και έκδοση:"
+msgid "Source file occurrence:"
+msgstr "Συνύπαρξη πηγαίου αρχείου:"
-msgid "Language:"
-msgstr "Γλώσσα:"
+msgid "Open in Editor"
+msgstr ""
-msgid "Team:"
-msgstr "Ομάδα:"
+msgid "Open in editor"
+msgstr ""
-msgid "Team's email address:"
-msgstr "Ηλεκτρονική διεύθυνση ομάδας:"
+msgid "No references for the selected item."
+msgstr ""
-msgid "Charset:"
-msgstr "Σύνολο Χαρακτήρων:"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "Σφάλμα ανοίγματος αρχείου %s!"
+
+msgid "Find"
+msgstr "Εύρεση"
+
+msgid "Replace"
+msgstr ""
-msgid "Source"
-msgstr "Πηγή"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr ""
-msgid "Notes"
-msgstr "Σημειώσεις"
+msgid "Ignore case"
+msgstr ""
-msgid "Automatic translation"
-msgstr "Αυτόματη μετάφραση"
+msgid "Wrap around"
+msgstr ""
-msgid "Fuzzy translation"
-msgstr "Ασαφής μετάφραση"
+msgid "Whole words only"
+msgstr "Πλήρης λέξεις μόνο"
-msgid "Notes for translators:"
-msgstr "Σημειώσεις για τους Μεταφραστές:"
+msgid "Find in source texts"
+msgstr ""
-msgid "Comment:"
-msgstr "Σχόλιο:"
+msgid "Find in translations"
+msgstr ""
-msgid "Source file"
-msgstr "Αρχείο πηγαίου κώδικα"
+msgid "Find in comments"
+msgstr "Ανεύρεση στα σχόλια"
-msgid "Source file occurrence:"
-msgstr "Συνύπαρξη πηγαίου αρχείου:"
+msgid "Close"
+msgstr "Κλείσιμο"
-msgid "Open in Editor"
+msgid "Replace All"
msgstr ""
-msgid "Open in editor"
+msgid "Replace all"
msgstr ""
-#, c-format
-msgid "Error opening file %s!"
-msgstr "Σφάλμα ανοίγματος αρχείου %s!"
+msgid "< &Previous"
+msgstr "< &Προηγούμενο"
+
+msgid "&Next >"
+msgstr "&Επόμενο >"
+
+msgid "String to find"
+msgstr ""
+
+msgid "Replacement string"
+msgstr ""
#, c-format
msgid "Cannot execute program: %s"
@@ -1027,9 +1174,19 @@ msgstr "Νέο"
msgid "Edit"
msgstr "Επεξεργασία"
+msgid "Delete extractor"
+msgstr ""
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr ""
+
msgid "Extractors"
msgstr ""
+msgid "Accounts"
+msgstr ""
+
msgid "Automatically check for updates"
msgstr ""
@@ -1068,8 +1225,35 @@ msgstr ""
msgid "Advanced"
msgstr ""
-msgid "Additional keywords"
-msgstr "Επιπρόσθετες λέξεις-κλειδιά"
+msgid ""
+"<big>Drag and Drop Folders Here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid ""
+"<big>Drag and drop folders here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid "Add Folders..."
+msgstr ""
+
+msgid "Add folders..."
+msgstr ""
+
+msgid "Add Files..."
+msgstr ""
+
+msgid "Add files..."
+msgstr ""
+
+msgid "Add Wildcard..."
+msgstr ""
+
+msgid "Add wildcard..."
+msgstr ""
msgid "Paths"
msgstr "Διαδρομές"
@@ -1077,6 +1261,9 @@ msgstr "Διαδρομές"
msgid "Excluded paths"
msgstr ""
+msgid "Additional keywords"
+msgstr "Επιπρόσθετες λέξεις-κλειδιά"
+
msgid "Name of the project the translation is for"
msgstr "Το όνομα της εργασίας για την οποία είναι η μετάφραση"
@@ -1091,6 +1278,9 @@ msgstr ""
"Παρακαλώ αποθήκευσε αυτό το αρχείο, πρώτα, ώστε να μπορεί να γίνει, μετά, "
"επεξεργασία αυτού του τμήματος."
+msgid "Comment:"
+msgstr "Σχόλιο:"
+
msgid "OK"
msgstr "Εντάξει"
@@ -1100,42 +1290,6 @@ msgstr "&Καθαρισμός"
msgid "Clear the comment"
msgstr "Καθαρισμός σχολίου"
-msgid "Find..."
-msgstr "Εύρεση..."
-
-msgid "String to find:"
-msgstr "Στίχοι προς εύρεση:"
-
-msgid "Case sensitive"
-msgstr "Ταίριασμα πεζών-κεφαλαίων"
-
-msgid "Start from the first item"
-msgstr "Ξεκίνημα από το πρώτο αντικείμενο"
-
-msgid "Whole words only"
-msgstr "Πλήρης λέξεις μόνο"
-
-msgid "Find in original strings"
-msgstr "Εύρεση στους αρχικούς στίχους"
-
-msgid "Find in translations"
-msgstr ""
-
-msgid "Find in comments"
-msgstr "Ανεύρεση στα σχόλια"
-
-msgid "Find in automatic comments"
-msgstr "Ανεύρεση στα αυτόματα σχόλια"
-
-msgid "Close"
-msgstr "Κλείσιμο"
-
-msgid "< &Previous"
-msgstr "< &Προηγούμενο"
-
-msgid "&Next >"
-msgstr "&Επόμενο >"
-
msgid "Create new translations project"
msgstr "Δημιουργία νέας εργασίας μετάφρασης"
@@ -1190,6 +1344,12 @@ msgstr "&Άνοιγμα..."
msgid "Open Recent"
msgstr ""
+msgid "Open from Crowdin..."
+msgstr ""
+
+msgid "Open From Crowdin..."
+msgstr ""
+
msgid "&Save"
msgstr "&Αποθήκευση"
@@ -1238,14 +1398,17 @@ msgstr "&Εμφάνιση των Αναφορών"
msgid "&Find..."
msgstr "&Εύρεση..."
+msgid "Replace..."
+msgstr ""
+
msgid "Find next"
msgstr "Εύρεση επόμενου"
msgid "Find previous"
msgstr "Εύρεση προηγούμενου"
-msgid "Find"
-msgstr "Εύρεση"
+msgid "Find and Replace..."
+msgstr ""
msgid "Find Next"
msgstr "Εύρεση Επόμενου"
@@ -1286,6 +1449,12 @@ msgstr ""
msgid "&Group By Context"
msgstr ""
+msgid "Entries with errors first"
+msgstr ""
+
+msgid "Entries with Errors First"
+msgstr ""
+
msgid "&Untranslated entries first"
msgstr "Πρώτα οι &αμετάφραστες καταχωρήσεις"
@@ -1295,6 +1464,9 @@ msgstr "Πρώτα οι &Αμετάφραστες Καταχωρήσεις"
msgid "Show sidebar"
msgstr ""
+msgid "Show status bar"
+msgstr ""
+
msgid "C&atalog"
msgstr "Κ&ατάλογος"
@@ -1310,6 +1482,9 @@ msgstr "Ενημέρωση από το αρχείο &POT..."
msgid "Update from &POT File..."
msgstr "Ενημέρωση από το Αρχείο &POT..."
+msgid "Sync with Crowdin"
+msgstr ""
+
msgid "Fill missing translations from &TM..."
msgstr ""
@@ -1434,6 +1609,9 @@ msgstr ""
msgid "Catalog properties"
msgstr "Ιδιότητες καταλόγου"
+msgid "Project name and version:"
+msgstr "Όνομα εργασίας και έκδοση:"
+
msgid "Plural Forms:"
msgstr "Μορφές Πληθυντικού:"
@@ -1446,6 +1624,15 @@ msgstr "Χρήση προσαρμοσμένων εκφράσεων"
msgid "Learn about plural forms"
msgstr "Πληροφορίες για τις Μορφές Πληθυντικού"
+msgid "Charset:"
+msgstr "Σύνολο Χαρακτήρων:"
+
+msgid "Team:"
+msgstr "Ομάδα:"
+
+msgid "Team's email address:"
+msgstr "Ηλεκτρονική διεύθυνση ομάδας:"
+
msgid "Translation properties"
msgstr ""
@@ -1519,7 +1706,7 @@ msgstr "Ενημέρωση καταλόγου - συγχρονισμός με τ
msgid "Toggled if selected string has fuzzy translation"
msgstr "Ενεργοποιημένο αν ο επιλεγμένος στίχος έχει ασαφή μετάφραση"
-msgid "Show or hide the sidebar."
+msgid "Show or hide the sidebar"
msgstr ""
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
@@ -1531,6 +1718,9 @@ msgid ""
"translation corresponds to."
msgstr ""
+msgid "Notes for translators:"
+msgstr "Σημειώσεις για τους Μεταφραστές:"
+
msgid "Add comment"
msgstr ""
@@ -1608,9 +1798,6 @@ msgstr "Επεξεργασία μιας μετάφρασης"
msgid "Open an existing PO file and edit the translation."
msgstr "Άνοιγμα ενός υπάρχοντος αρχείου .PO, και επεξεργασία της μετάφρασης. "
-msgid "Create new translation"
-msgstr "Δημιουργία νέας μετάφρασης"
-
msgid ""
"Take an existing PO file or POT template and create a new translation from "
"it."
@@ -1618,6 +1805,16 @@ msgstr ""
"Χρησιμοποίησε ένα υπάρχον αρχείο .PO, ή ένα πρότυπο .POT, και δημιούργησε "
"μία νέα μετάφραση."
+msgid "Collaborate on a translation with Crowdin"
+msgstr ""
+
+msgid ""
+"Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+
+msgid "What is Crowdin?"
+msgstr ""
+
msgid "There are no translations. That’s unusual."
msgstr "Δεν υπάρχουν μεταφράσεις. Αυτό είναι ασυνήθιστο."
@@ -1659,3 +1856,9 @@ msgstr "Εξαγωγή από τις πηγές"
msgid "Configure source code extraction in Properties."
msgstr "Ρύθμισε την εξαγωγή του πηγαίου κώδικα στις Ιδιότητες."
+
+msgid "Sync"
+msgstr ""
+
+msgid "Synchronize the translation with Crowdin"
+msgstr ""
diff --git a/locales/en_GB.mo b/locales/en_GB.mo
index 4eea74a..74f73b4 100644
Binary files a/locales/en_GB.mo and b/locales/en_GB.mo differ
diff --git a/locales/en_GB.po b/locales/en_GB.po
index 1d585c4..6078090 100644
--- a/locales/en_GB.po
+++ b/locales/en_GB.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:33-0400\n"
+"POT-Creation-Date: 2015-05-13 18:47+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: English, United Kingdom\n"
"Language: en_GB\n"
@@ -90,6 +90,15 @@ msgstr ""
msgid "Error saving catalog"
msgstr "Error saving catalogue"
+msgid "PO Translation Files"
+msgstr "PO Translation Files"
+
+msgid "POT Translation Templates"
+msgstr "POT Translation Templates"
+
+msgid "All Translation Files"
+msgstr "All Translation Files"
+
msgid "Merging differences..."
msgstr "Merging differences..."
@@ -109,6 +118,85 @@ msgstr "Language selection"
msgid "You must restart Poedit for this change to take effect."
msgstr "You must restart Poedit for this change to take effect."
+msgid "Downloading translations is disabled in this project."
+msgstr "Downloading translations is disabled in this project."
+
+msgid "Not authorized, please sign in again."
+msgstr "Not authorised, please sign in again."
+
+msgid "Sign in to Crowdin"
+msgstr "Sign in to Crowdin"
+
+msgid ""
+"Crowdin is an online localization management platform and collaborative "
+"translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+"Crowdin is an online localisation management platform and collaborative "
+"translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+
+msgid "Sign In"
+msgstr "Sign In"
+
+msgid "Sign in"
+msgstr "Sign in"
+
+msgid "Sign Out"
+msgstr "Sign Out"
+
+msgid "Sign out"
+msgstr "Sign out"
+
+msgid "Waiting for authentication…"
+msgstr "Waiting for authentication…"
+
+msgid "Updating user information…"
+msgstr "Updating user information…"
+
+msgid "Signed in as:"
+msgstr "Signed in as:"
+
+msgid "Learn More About Crowdin"
+msgstr "Learn More About Crowdin"
+
+msgid "Learn more about Crowdin"
+msgstr "Learn more about Crowdin"
+
+msgid "Open Crowdin translation"
+msgstr "Open Crowdin translation"
+
+msgid "Project:"
+msgstr "Project:"
+
+msgid "Language:"
+msgstr "Language:"
+
+msgid "File:"
+msgstr "File:"
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr "No translation projects listed in your Crowdin account."
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr "This project has no files that can be translated in Poedit."
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr "This file can only be edited in Crowdin’s web interface."
+
+msgid "Downloading latest translations…"
+msgstr "Downloading latest translations…"
+
+msgid "Syncing with Crowdin"
+msgstr "Syncing with Crowdin"
+
+msgid "Syncing with Crowdin failed."
+msgstr "Syncing with Crowdin failed."
+
+msgid "Crowdin error"
+msgstr "Crowdin error"
+
+msgid "Uploading translations…"
+msgstr "Uploading translations…"
+
msgid "&Copy"
msgstr "&Copy"
@@ -155,6 +243,9 @@ msgstr ""
msgid "don't delete temporary files (for debugging)"
msgstr "don't delete temporary files (for debugging)"
+msgid "handle a poedit:// URI"
+msgstr "handle a poedit:// URI"
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr "Unhandled exception occurred: %s"
@@ -165,12 +256,6 @@ msgstr "Unhandled exception occurred."
msgid "Open catalog"
msgstr "Open catalogue"
-msgid "All Files"
-msgstr "All Files"
-
-msgid "PO Translation Files"
-msgstr "PO Translation Files"
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "File '%s' doesn't exist."
@@ -399,6 +484,19 @@ msgstr "Plural:"
msgid "Translation:"
msgstr "Translation:"
+msgid ""
+"POT files are only templates and don’t contain any translations themselves.\n"
+"To make a translation, create a new PO file based on the template."
+msgstr ""
+"POT files are only templates and don’t contain any translations themselves.\n"
+"To make a translation, create a new PO file based on the template."
+
+msgid "Create New Translation"
+msgstr "Create New Translation"
+
+msgid "Create new translation"
+msgstr "Create new translation"
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
@@ -447,9 +545,6 @@ msgstr "HTML Files"
msgid "Open catalog template"
msgstr "Open catalogue template"
-msgid "POT Translation Templates"
-msgstr "POT Translation Templates"
-
msgid "Updating catalog"
msgstr "Updating catalogue"
@@ -530,18 +625,20 @@ msgstr[1] ""
msgid "The translation is ready for use."
msgstr "The translation is ready for use."
-msgid "No references to this string found."
-msgstr "No references to this string found."
-
-msgid "Please choose the reference you want to show:"
-msgstr "Please choose the reference you want to show:"
-
-msgid "References"
-msgstr "References"
-
msgid "Context:"
msgstr "Context:"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr ""
+
+msgid ""
+"The file contained duplicate items, which is not allowed in PO files and "
+"would prevent the file from being used. Poedit fixed the issue, but you "
+"should review translations of any items marked as fuzzy and correct them if "
+"necessary."
+msgstr ""
+
msgid "Language of the translation isn't set."
msgstr "Language of the translation isn't set."
@@ -551,6 +648,23 @@ msgstr "Set Language"
msgid "Set language"
msgstr "Set language"
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid ""
+"Suggestions are not available if the translation language is not set "
+"correctly. Other features, such as plural forms, may be affected as well."
+msgstr ""
+"Suggestions are not available if the translation language is not set "
+"correctly. Other features, such as plural forms, may be affected as well."
+
+msgid "Language of the translation is the same as source language."
+msgstr "Language of the translation is the same as source language."
+
+msgid "Fix Language"
+msgstr "Fix Language"
+
+msgid "Fix language"
+msgstr "Fix language"
+
msgid ""
"This catalog has entries with plural forms, but doesn't have Plural-Forms "
"header configured."
@@ -585,6 +699,7 @@ msgstr "Fix the header"
msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr "Plural forms expression used by the catalogue is unusual for %s."
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr "Review"
@@ -606,6 +721,12 @@ msgid_plural "%d errors"
msgstr[0] "%d error"
msgstr[1] "%d errors"
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] ""
+msgstr[1] ""
+
msgid " (unsaved)"
msgstr " (unsaved)"
@@ -731,6 +852,9 @@ msgstr "Everything"
msgid "Form %i"
msgstr "Form %i"
+msgid "Singular"
+msgstr "Singular"
+
msgid "Zero"
msgstr "Zero"
@@ -740,6 +864,9 @@ msgstr "One"
msgid "Two"
msgstr "Two"
+msgid "Plural"
+msgstr "Plural"
+
msgid "Other"
msgstr "Other"
@@ -768,6 +895,12 @@ msgstr "Hide Sidebar"
msgid "Show Sidebar"
msgstr "Show Sidebar"
+msgid "Hide Status Bar"
+msgstr ""
+
+msgid "Show Status Bar"
+msgstr ""
+
msgid "Source text"
msgstr "Source text"
@@ -777,6 +910,10 @@ msgstr "Translation"
msgid "ID"
msgstr "ID"
+#, c-format
+msgid "Source text — %s"
+msgstr "Source text — %s"
+
msgid "unknown language"
msgstr "unknown language"
@@ -787,57 +924,73 @@ msgstr "Translation — %s"
msgid "Error:"
msgstr "Error:"
-msgid "Project info"
-msgstr "Project info"
+msgid "Source file"
+msgstr "Source file"
-msgid "Project name and version:"
-msgstr "Project name and version:"
+msgid "Source file occurrence:"
+msgstr "Source file occurrence:"
-msgid "Language:"
-msgstr "Language:"
+msgid "Open in Editor"
+msgstr "Open in Editor"
-msgid "Team:"
-msgstr "Team:"
+msgid "Open in editor"
+msgstr "Open in editor"
-msgid "Team's email address:"
-msgstr "Team's e-mail address:"
+msgid "No references for the selected item."
+msgstr "No references for the selected item."
-msgid "Charset:"
-msgstr "Charset:"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "Error opening file %s!"
-msgid "Source"
-msgstr "Source"
+msgid "Find"
+msgstr "Find"
-msgid "Notes"
-msgstr "Notes"
+msgid "Replace"
+msgstr "Replace"
-msgid "Automatic translation"
-msgstr "Automatic translation"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr "Options"
-msgid "Fuzzy translation"
-msgstr "Fuzzy translation"
+msgid "Ignore case"
+msgstr "Ignore case"
-msgid "Notes for translators:"
-msgstr "Notes for translators:"
+msgid "Wrap around"
+msgstr "Wrap around"
-msgid "Comment:"
-msgstr "Comment:"
+msgid "Whole words only"
+msgstr "Whole words only"
-msgid "Source file"
-msgstr "Source file"
+msgid "Find in source texts"
+msgstr "Find in source texts"
-msgid "Source file occurrence:"
-msgstr "Source file occurrence:"
+msgid "Find in translations"
+msgstr "Find in translations"
-msgid "Open in Editor"
-msgstr "Open in Editor"
+msgid "Find in comments"
+msgstr "Find in comments"
-msgid "Open in editor"
-msgstr "Open in editor"
+msgid "Close"
+msgstr "Close"
-#, c-format
-msgid "Error opening file %s!"
-msgstr "Error opening file %s!"
+msgid "Replace All"
+msgstr "Replace All"
+
+msgid "Replace all"
+msgstr "Replace all"
+
+msgid "< &Previous"
+msgstr "< &Previous"
+
+msgid "&Next >"
+msgstr "&Next >"
+
+msgid "String to find"
+msgstr "String to find"
+
+msgid "Replacement string"
+msgstr "Replacement string"
#, c-format
msgid "Cannot execute program: %s"
@@ -1040,9 +1193,19 @@ msgstr "New"
msgid "Edit"
msgstr "Edit"
+msgid "Delete extractor"
+msgstr "Delete extractor"
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr "Are you sure you want to delete the “%s” extractor?"
+
msgid "Extractors"
msgstr "Extractors"
+msgid "Accounts"
+msgstr "Accounts"
+
msgid "Automatically check for updates"
msgstr "Automatically check for updates"
@@ -1085,8 +1248,35 @@ msgstr "Preserve formatting of existing files"
msgid "Advanced"
msgstr "Advanced"
-msgid "Additional keywords"
-msgstr "Additional keywords"
+msgid ""
+"<big>Drag and Drop Folders Here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid ""
+"<big>Drag and drop folders here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid "Add Folders..."
+msgstr ""
+
+msgid "Add folders..."
+msgstr ""
+
+msgid "Add Files..."
+msgstr ""
+
+msgid "Add files..."
+msgstr ""
+
+msgid "Add Wildcard..."
+msgstr ""
+
+msgid "Add wildcard..."
+msgstr ""
msgid "Paths"
msgstr "Paths"
@@ -1094,6 +1284,9 @@ msgstr "Paths"
msgid "Excluded paths"
msgstr "Excluded paths"
+msgid "Additional keywords"
+msgstr "Additional keywords"
+
msgid "Name of the project the translation is for"
msgstr "Name of the project the translation is for"
@@ -1106,6 +1299,9 @@ msgstr "UTF-8 (recommended)"
msgid "Please save the file first. This section cannot be edited until then."
msgstr "Please save the file first. This section cannot be edited until then."
+msgid "Comment:"
+msgstr "Comment:"
+
msgid "OK"
msgstr "OK"
@@ -1115,42 +1311,6 @@ msgstr "C&lear"
msgid "Clear the comment"
msgstr "Clear the comment"
-msgid "Find..."
-msgstr "Find..."
-
-msgid "String to find:"
-msgstr "String to find:"
-
-msgid "Case sensitive"
-msgstr "Case sensitive"
-
-msgid "Start from the first item"
-msgstr "Start from the first item"
-
-msgid "Whole words only"
-msgstr "Whole words only"
-
-msgid "Find in original strings"
-msgstr "Find in original strings"
-
-msgid "Find in translations"
-msgstr "Find in translations"
-
-msgid "Find in comments"
-msgstr "Find in comments"
-
-msgid "Find in automatic comments"
-msgstr "Find in automatic comments"
-
-msgid "Close"
-msgstr "Close"
-
-msgid "< &Previous"
-msgstr "< &Previous"
-
-msgid "&Next >"
-msgstr "&Next >"
-
msgid "Create new translations project"
msgstr "Create new translations project"
@@ -1205,6 +1365,12 @@ msgstr "&Open..."
msgid "Open Recent"
msgstr "Open Recent"
+msgid "Open from Crowdin..."
+msgstr "Open from Crowdin..."
+
+msgid "Open From Crowdin..."
+msgstr "Open From Crowdin..."
+
msgid "&Save"
msgstr "&Save"
@@ -1253,14 +1419,17 @@ msgstr "&Show References"
msgid "&Find..."
msgstr "&Find..."
+msgid "Replace..."
+msgstr "Replace..."
+
msgid "Find next"
msgstr "Find next"
msgid "Find previous"
msgstr "Find previous"
-msgid "Find"
-msgstr "Find"
+msgid "Find and Replace..."
+msgstr "Find and Replace..."
msgid "Find Next"
msgstr "Find Next"
@@ -1301,6 +1470,12 @@ msgstr "&Group by context"
msgid "&Group By Context"
msgstr "&Group By Context"
+msgid "Entries with errors first"
+msgstr "Entries with errors first"
+
+msgid "Entries with Errors First"
+msgstr "Entries with Errors First"
+
msgid "&Untranslated entries first"
msgstr "&Untranslated entries first"
@@ -1310,6 +1485,9 @@ msgstr "&Untranslated Entries First"
msgid "Show sidebar"
msgstr "Show sidebar"
+msgid "Show status bar"
+msgstr ""
+
msgid "C&atalog"
msgstr "C&atalogue"
@@ -1325,6 +1503,9 @@ msgstr "Update from &POT file..."
msgid "Update from &POT File..."
msgstr "Update from &POT File..."
+msgid "Sync with Crowdin"
+msgstr "Sync with Crowdin"
+
msgid "Fill missing translations from &TM..."
msgstr "Fill missing translations from &TM..."
@@ -1452,6 +1633,9 @@ msgstr ""
msgid "Catalog properties"
msgstr "Catalogue properties"
+msgid "Project name and version:"
+msgstr "Project name and version:"
+
msgid "Plural Forms:"
msgstr "Plural Forms:"
@@ -1464,6 +1648,15 @@ msgstr "Use custom expression"
msgid "Learn about plural forms"
msgstr "Learn about plural forms"
+msgid "Charset:"
+msgstr "Charset:"
+
+msgid "Team:"
+msgstr "Team:"
+
+msgid "Team's email address:"
+msgstr "Team's e-mail address:"
+
msgid "Translation properties"
msgstr "Translation properties"
@@ -1536,8 +1729,8 @@ msgstr "Update catalogue - synchronise it with sources"
msgid "Toggled if selected string has fuzzy translation"
msgstr "Toggled if selected string has fuzzy translation"
-msgid "Show or hide the sidebar."
-msgstr "Show or hide the sidebar."
+msgid "Show or hide the sidebar"
+msgstr "Show or hide the sidebar"
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
msgid "Previous source text:"
@@ -1550,6 +1743,9 @@ msgstr ""
"The old source text (before it changed during an update) that the fuzzy "
"translation corresponds to."
+msgid "Notes for translators:"
+msgstr "Notes for translators:"
+
msgid "Add comment"
msgstr "Add comment"
@@ -1628,9 +1824,6 @@ msgstr "Edit a translation"
msgid "Open an existing PO file and edit the translation."
msgstr "Open an existing PO file and edit the translation."
-msgid "Create new translation"
-msgstr "Create new translation"
-
msgid ""
"Take an existing PO file or POT template and create a new translation from "
"it."
@@ -1638,6 +1831,17 @@ msgstr ""
"Take an existing PO file or POT template and create a new translation from "
"it."
+msgid "Collaborate on a translation with Crowdin"
+msgstr "Collaborate on a translation with Crowdin"
+
+msgid ""
+"Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+"Download a file from Crowdin project, translate and sync your changes back."
+
+msgid "What is Crowdin?"
+msgstr "What is Crowdin?"
+
msgid "There are no translations. That’s unusual."
msgstr "There are no translations. That’s unusual."
@@ -1676,3 +1880,9 @@ msgstr "Extract from sources"
msgid "Configure source code extraction in Properties."
msgstr "Configure source code extraction in Properties."
+
+msgid "Sync"
+msgstr "Sync"
+
+msgid "Synchronize the translation with Crowdin"
+msgstr "Synchronise the translation with Crowdin"
diff --git a/locales/eo.mo b/locales/eo.mo
index cb7519b..fd07906 100644
Binary files a/locales/eo.mo and b/locales/eo.mo differ
diff --git a/locales/eo.po b/locales/eo.po
index d8a0649..f948611 100644
--- a/locales/eo.po
+++ b/locales/eo.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:33-0400\n"
+"POT-Creation-Date: 2015-05-13 18:47+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Esperanto\n"
"Language: eo_UY\n"
@@ -85,6 +85,15 @@ msgstr ""
msgid "Error saving catalog"
msgstr "Eraro dum konservado de katalogo"
+msgid "PO Translation Files"
+msgstr ""
+
+msgid "POT Translation Templates"
+msgstr ""
+
+msgid "All Translation Files"
+msgstr ""
+
msgid "Merging differences..."
msgstr "Daŭras kunfandado de malsamaĵoj..."
@@ -104,6 +113,83 @@ msgstr "Lingvoelekto"
msgid "You must restart Poedit for this change to take effect."
msgstr "Vi devas relanĉi Poedit-on por efektivigi tiun ŝanĝon."
+msgid "Downloading translations is disabled in this project."
+msgstr ""
+
+msgid "Not authorized, please sign in again."
+msgstr ""
+
+msgid "Sign in to Crowdin"
+msgstr ""
+
+msgid ""
+"Crowdin is an online localization management platform and collaborative "
+"translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+
+msgid "Sign In"
+msgstr ""
+
+msgid "Sign in"
+msgstr ""
+
+msgid "Sign Out"
+msgstr ""
+
+msgid "Sign out"
+msgstr ""
+
+msgid "Waiting for authentication…"
+msgstr ""
+
+msgid "Updating user information…"
+msgstr ""
+
+msgid "Signed in as:"
+msgstr ""
+
+msgid "Learn More About Crowdin"
+msgstr ""
+
+msgid "Learn more about Crowdin"
+msgstr ""
+
+msgid "Open Crowdin translation"
+msgstr ""
+
+msgid "Project:"
+msgstr ""
+
+msgid "Language:"
+msgstr "Lingvo:"
+
+msgid "File:"
+msgstr ""
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr ""
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr ""
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr ""
+
+msgid "Downloading latest translations…"
+msgstr ""
+
+msgid "Syncing with Crowdin"
+msgstr ""
+
+msgid "Syncing with Crowdin failed."
+msgstr ""
+
+msgid "Crowdin error"
+msgstr ""
+
+msgid "Uploading translations…"
+msgstr ""
+
msgid "&Copy"
msgstr ""
@@ -148,6 +234,9 @@ msgstr ""
msgid "don't delete temporary files (for debugging)"
msgstr ""
+msgid "handle a poedit:// URI"
+msgstr ""
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr ""
@@ -158,12 +247,6 @@ msgstr ""
msgid "Open catalog"
msgstr "Malfermi katalogon"
-msgid "All Files"
-msgstr ""
-
-msgid "PO Translation Files"
-msgstr ""
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "Dosiero '%s' ne ekzistas."
@@ -391,6 +474,17 @@ msgstr "Pluralo:"
msgid "Translation:"
msgstr "Traduko:"
+msgid ""
+"POT files are only templates and don’t contain any translations themselves.\n"
+"To make a translation, create a new PO file based on the template."
+msgstr ""
+
+msgid "Create New Translation"
+msgstr ""
+
+msgid "Create new translation"
+msgstr ""
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
@@ -438,9 +532,6 @@ msgstr ""
msgid "Open catalog template"
msgstr "Malfermi katalogan ŝablonon"
-msgid "POT Translation Templates"
-msgstr ""
-
msgid "Updating catalog"
msgstr ""
@@ -509,18 +600,20 @@ msgstr[1] ""
msgid "The translation is ready for use."
msgstr ""
-msgid "No references to this string found."
-msgstr "Neniuj referencoj al tiu ĉeno trovitaj."
-
-msgid "Please choose the reference you want to show:"
-msgstr "Bv elekti la referencon, kiun vi volas vidigi:"
-
-msgid "References"
-msgstr "Referencoj"
-
msgid "Context:"
msgstr "Kunteksto:"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr ""
+
+msgid ""
+"The file contained duplicate items, which is not allowed in PO files and "
+"would prevent the file from being used. Poedit fixed the issue, but you "
+"should review translations of any items marked as fuzzy and correct them if "
+"necessary."
+msgstr ""
+
msgid "Language of the translation isn't set."
msgstr ""
@@ -530,6 +623,21 @@ msgstr ""
msgid "Set language"
msgstr ""
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid ""
+"Suggestions are not available if the translation language is not set "
+"correctly. Other features, such as plural forms, may be affected as well."
+msgstr ""
+
+msgid "Language of the translation is the same as source language."
+msgstr ""
+
+msgid "Fix Language"
+msgstr ""
+
+msgid "Fix language"
+msgstr ""
+
msgid ""
"This catalog has entries with plural forms, but doesn't have Plural-Forms "
"header configured."
@@ -560,6 +668,7 @@ msgstr ""
msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr ""
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr ""
@@ -581,6 +690,12 @@ msgid_plural "%d errors"
msgstr[0] ""
msgstr[1] ""
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] ""
+msgstr[1] ""
+
msgid " (unsaved)"
msgstr ""
@@ -694,6 +809,9 @@ msgstr "Ĉio"
msgid "Form %i"
msgstr "Formo %i"
+msgid "Singular"
+msgstr ""
+
msgid "Zero"
msgstr "Nulo"
@@ -703,6 +821,9 @@ msgstr "Unu"
msgid "Two"
msgstr "Du"
+msgid "Plural"
+msgstr ""
+
msgid "Other"
msgstr "Alia"
@@ -731,6 +852,12 @@ msgstr ""
msgid "Show Sidebar"
msgstr ""
+msgid "Hide Status Bar"
+msgstr ""
+
+msgid "Show Status Bar"
+msgstr ""
+
msgid "Source text"
msgstr ""
@@ -740,6 +867,10 @@ msgstr "Traduko"
msgid "ID"
msgstr ""
+#, c-format
+msgid "Source text — %s"
+msgstr ""
+
msgid "unknown language"
msgstr ""
@@ -750,57 +881,73 @@ msgstr "Traduko: %s"
msgid "Error:"
msgstr ""
-msgid "Project info"
-msgstr "Projektaj informoj"
+msgid "Source file"
+msgstr "Fonta dosiero"
-msgid "Project name and version:"
-msgstr "Projektaj nomo kaj versio:"
+msgid "Source file occurrence:"
+msgstr ""
-msgid "Language:"
-msgstr "Lingvo:"
+msgid "Open in Editor"
+msgstr ""
-msgid "Team:"
-msgstr "Skipo:"
+msgid "Open in editor"
+msgstr ""
-msgid "Team's email address:"
-msgstr "Skipa retadreso:"
+msgid "No references for the selected item."
+msgstr ""
-msgid "Charset:"
-msgstr "Signaro:"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "Eraro dum malfermo de dosiero %s!"
-msgid "Source"
+msgid "Find"
msgstr ""
-msgid "Notes"
-msgstr "Notoj"
+msgid "Replace"
+msgstr ""
-msgid "Automatic translation"
-msgstr "Aŭtomata traduko"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr ""
-msgid "Fuzzy translation"
-msgstr "Necerta traduko"
+msgid "Ignore case"
+msgstr ""
-msgid "Notes for translators:"
+msgid "Wrap around"
msgstr ""
-msgid "Comment:"
-msgstr "Komento:"
+msgid "Whole words only"
+msgstr "Nur tutaj vortoj"
-msgid "Source file"
-msgstr "Fonta dosiero"
+msgid "Find in source texts"
+msgstr ""
-msgid "Source file occurrence:"
+msgid "Find in translations"
msgstr ""
-msgid "Open in Editor"
+msgid "Find in comments"
+msgstr "Serĉi en komentoj"
+
+msgid "Close"
+msgstr "Fermi"
+
+msgid "Replace All"
msgstr ""
-msgid "Open in editor"
+msgid "Replace all"
msgstr ""
-#, c-format
-msgid "Error opening file %s!"
-msgstr "Eraro dum malfermo de dosiero %s!"
+msgid "< &Previous"
+msgstr ""
+
+msgid "&Next >"
+msgstr ""
+
+msgid "String to find"
+msgstr ""
+
+msgid "Replacement string"
+msgstr ""
#, c-format
msgid "Cannot execute program: %s"
@@ -993,9 +1140,19 @@ msgstr "Nova"
msgid "Edit"
msgstr "Redakti"
+msgid "Delete extractor"
+msgstr ""
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr ""
+
msgid "Extractors"
msgstr ""
+msgid "Accounts"
+msgstr ""
+
msgid "Automatically check for updates"
msgstr ""
@@ -1034,7 +1191,34 @@ msgstr ""
msgid "Advanced"
msgstr ""
-msgid "Additional keywords"
+msgid ""
+"<big>Drag and Drop Folders Here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid ""
+"<big>Drag and drop folders here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid "Add Folders..."
+msgstr ""
+
+msgid "Add folders..."
+msgstr ""
+
+msgid "Add Files..."
+msgstr ""
+
+msgid "Add files..."
+msgstr ""
+
+msgid "Add Wildcard..."
+msgstr ""
+
+msgid "Add wildcard..."
msgstr ""
msgid "Paths"
@@ -1043,6 +1227,9 @@ msgstr "Vojprefiksoj"
msgid "Excluded paths"
msgstr ""
+msgid "Additional keywords"
+msgstr ""
+
msgid "Name of the project the translation is for"
msgstr ""
@@ -1055,6 +1242,9 @@ msgstr ""
msgid "Please save the file first. This section cannot be edited until then."
msgstr ""
+msgid "Comment:"
+msgstr "Komento:"
+
msgid "OK"
msgstr "Konfirmi"
@@ -1064,42 +1254,6 @@ msgstr ""
msgid "Clear the comment"
msgstr "Forviŝi la komenton"
-msgid "Find..."
-msgstr "Serĉi..."
-
-msgid "String to find:"
-msgstr "Serĉota ĉeno:"
-
-msgid "Case sensitive"
-msgstr "Usklecodistinga"
-
-msgid "Start from the first item"
-msgstr "Komenci je la unua ero"
-
-msgid "Whole words only"
-msgstr "Nur tutaj vortoj"
-
-msgid "Find in original strings"
-msgstr "Serĉi en fontaj ĉenoj"
-
-msgid "Find in translations"
-msgstr ""
-
-msgid "Find in comments"
-msgstr "Serĉi en komentoj"
-
-msgid "Find in automatic comments"
-msgstr "&Serĉi en aŭtomataj komentoj"
-
-msgid "Close"
-msgstr "Fermi"
-
-msgid "< &Previous"
-msgstr ""
-
-msgid "&Next >"
-msgstr ""
-
msgid "Create new translations project"
msgstr "Krei novan tradukprojekton"
@@ -1154,6 +1308,12 @@ msgstr "&Malfermi..."
msgid "Open Recent"
msgstr ""
+msgid "Open from Crowdin..."
+msgstr ""
+
+msgid "Open From Crowdin..."
+msgstr ""
+
msgid "&Save"
msgstr "&Konservi"
@@ -1202,13 +1362,16 @@ msgstr ""
msgid "&Find..."
msgstr "&Serĉi..."
+msgid "Replace..."
+msgstr ""
+
msgid "Find next"
msgstr ""
msgid "Find previous"
msgstr ""
-msgid "Find"
+msgid "Find and Replace..."
msgstr ""
msgid "Find Next"
@@ -1250,6 +1413,12 @@ msgstr ""
msgid "&Group By Context"
msgstr ""
+msgid "Entries with errors first"
+msgstr ""
+
+msgid "Entries with Errors First"
+msgstr ""
+
msgid "&Untranslated entries first"
msgstr ""
@@ -1259,6 +1428,9 @@ msgstr ""
msgid "Show sidebar"
msgstr ""
+msgid "Show status bar"
+msgstr ""
+
msgid "C&atalog"
msgstr "K&atalogo"
@@ -1274,6 +1446,9 @@ msgstr "Ĝisdatigi el &POT-dosiero..."
msgid "Update from &POT File..."
msgstr ""
+msgid "Sync with Crowdin"
+msgstr ""
+
msgid "Fill missing translations from &TM..."
msgstr ""
@@ -1398,6 +1573,9 @@ msgstr ""
msgid "Catalog properties"
msgstr ""
+msgid "Project name and version:"
+msgstr "Projektaj nomo kaj versio:"
+
msgid "Plural Forms:"
msgstr "Pluralaj Formoj:"
@@ -1410,6 +1588,15 @@ msgstr ""
msgid "Learn about plural forms"
msgstr ""
+msgid "Charset:"
+msgstr "Signaro:"
+
+msgid "Team:"
+msgstr "Skipo:"
+
+msgid "Team's email address:"
+msgstr "Skipa retadreso:"
+
msgid "Translation properties"
msgstr ""
@@ -1480,7 +1667,7 @@ msgstr "Ĝisdatigi katalogon - sinkronigi ĝin kun fontkodo"
msgid "Toggled if selected string has fuzzy translation"
msgstr "Baskuligata se elektita ĉeno havas necertan tradukon"
-msgid "Show or hide the sidebar."
+msgid "Show or hide the sidebar"
msgstr ""
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
@@ -1492,6 +1679,9 @@ msgid ""
"translation corresponds to."
msgstr ""
+msgid "Notes for translators:"
+msgstr ""
+
msgid "Add comment"
msgstr ""
@@ -1564,14 +1754,21 @@ msgstr ""
msgid "Open an existing PO file and edit the translation."
msgstr ""
-msgid "Create new translation"
-msgstr ""
-
msgid ""
"Take an existing PO file or POT template and create a new translation from "
"it."
msgstr ""
+msgid "Collaborate on a translation with Crowdin"
+msgstr ""
+
+msgid ""
+"Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+
+msgid "What is Crowdin?"
+msgstr ""
+
msgid "There are no translations. That’s unusual."
msgstr ""
@@ -1604,3 +1801,9 @@ msgstr ""
msgid "Configure source code extraction in Properties."
msgstr ""
+
+msgid "Sync"
+msgstr ""
+
+msgid "Synchronize the translation with Crowdin"
+msgstr ""
diff --git a/locales/es.mo b/locales/es.mo
index b9d6321..92c75fe 100644
Binary files a/locales/es.mo and b/locales/es.mo differ
diff --git a/locales/es.po b/locales/es.po
index f3e6878..40ae7c6 100644
--- a/locales/es.po
+++ b/locales/es.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:34-0400\n"
+"POT-Creation-Date: 2015-05-13 18:47+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Spanish\n"
"Language: es_ES\n"
@@ -37,7 +37,7 @@ msgstr "La línea %d del archivo «%s» está dañada (datos %s no válidos)."
#, c-format
msgid "Malformed header: '%s'"
-msgstr "La cabecera tiene un formato incorrecto: «%s»"
+msgstr "Cabecera con formato incorrecto: «%s»"
msgid ""
"Broken catalog file: singular form msgstr used together with msgid_plural"
@@ -74,7 +74,7 @@ msgstr "No se pudo guardar el archivo %s."
msgid ""
"There was a problem formatting the file nicely (but it was saved all right)."
msgstr ""
-"Ocurrió un problema al dar formato al archivo (pero se ha guardado bien)."
+"Ocurrió un problema al dar formato al archivo (pero se guardó correctamente)."
#, c-format
msgid ""
@@ -91,6 +91,15 @@ msgstr ""
msgid "Error saving catalog"
msgstr "Error al guardar el catálogo"
+msgid "PO Translation Files"
+msgstr "Archivos de traducción PO"
+
+msgid "POT Translation Templates"
+msgstr "Plantillas de traducción POT"
+
+msgid "All Translation Files"
+msgstr "Todos los archivos de traducción"
+
msgid "Merging differences..."
msgstr "Combinando las diferencias…"
@@ -110,6 +119,86 @@ msgstr "Selección de idioma"
msgid "You must restart Poedit for this change to take effect."
msgstr "Debe reiniciar Poedit para que los cambios surtan efecto."
+msgid "Downloading translations is disabled in this project."
+msgstr "La descarga de traducciones está desactivada en este proyecto."
+
+msgid "Not authorized, please sign in again."
+msgstr "Acción no autorizada. Acceda a la cuenta de nuevo."
+
+msgid "Sign in to Crowdin"
+msgstr "Acceder a Crowdin"
+
+msgid ""
+"Crowdin is an online localization management platform and collaborative "
+"translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+"Crowdin es una plataforma de gestión de regionalización y traducción "
+"colaborativa en línea. Poedit puede sincronizar archivos PO gestionados con "
+"Crowdin."
+
+msgid "Sign In"
+msgstr "Acceder"
+
+msgid "Sign in"
+msgstr "Acceder"
+
+msgid "Sign Out"
+msgstr "Salir"
+
+msgid "Sign out"
+msgstr "Salir"
+
+msgid "Waiting for authentication…"
+msgstr "Esperando la autenticación…"
+
+msgid "Updating user information…"
+msgstr "Actualizando la información del usuario…"
+
+msgid "Signed in as:"
+msgstr "Se identificó como:"
+
+msgid "Learn More About Crowdin"
+msgstr "Más información sobre Crowdin"
+
+msgid "Learn more about Crowdin"
+msgstr "Más información sobre Crowdin"
+
+msgid "Open Crowdin translation"
+msgstr "Abrir traducción de Crowdin"
+
+msgid "Project:"
+msgstr "Proyecto:"
+
+msgid "Language:"
+msgstr "Idioma:"
+
+msgid "File:"
+msgstr "Archivo:"
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr "No hay proyectos de traducción en su cuenta de Crowdin."
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr "Este proyecto no contiene archivos traducibles en Poedit."
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr "Este archivo solo puede editarse en la interfaz web de Crowdin."
+
+msgid "Downloading latest translations…"
+msgstr "Descargando las traducciones más recientes…"
+
+msgid "Syncing with Crowdin"
+msgstr "Sincronizando con Crowdin"
+
+msgid "Syncing with Crowdin failed."
+msgstr "Falló la sincronización con Crowdin."
+
+msgid "Crowdin error"
+msgstr "Error de Crowdin"
+
+msgid "Uploading translations…"
+msgstr "Cargando las traducciones…"
+
msgid "&Copy"
msgstr "&Copiar"
@@ -124,7 +213,7 @@ msgid "Failed command: %s"
msgstr "Orden errónea: %s"
msgid "Failed to merge gettext catalogs."
-msgstr "Error al fusionar los catálogos de gettext."
+msgstr "Error al combinar los catálogos de Gettext."
msgid "Scanning files..."
msgstr "Analizando los archivos…"
@@ -135,7 +224,7 @@ msgid "Parsing %s files..."
msgstr "Analizando %s archivos…"
msgid "Failed to load extracted catalog."
-msgstr "Error al cargar el catálogo extraído."
+msgstr "Falló la carga del catálogo extraído."
msgid "&Help"
msgstr "Ay&uda"
@@ -156,6 +245,9 @@ msgstr ""
msgid "don't delete temporary files (for debugging)"
msgstr "no eliminar archivos temporales (para depuración)"
+msgid "handle a poedit:// URI"
+msgstr "manejar un URI poedit://"
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr "Se produjo una excepción no controlada: %s"
@@ -166,12 +258,6 @@ msgstr "Se produjo una excepción no controlada."
msgid "Open catalog"
msgstr "Abrir catálogo"
-msgid "All Files"
-msgstr "Todos los archivos"
-
-msgid "PO Translation Files"
-msgstr "Archivos de traducción PO"
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "El archivo «%s» no existe."
@@ -189,7 +275,7 @@ msgid "Version %s"
msgstr "Versión %s"
msgid "Poedit is an easy to use translations editor."
-msgstr "Poedit es un editor de traducciones de fácil uso."
+msgstr "Poedit es un editor de traducciones fácil de usar."
msgid "Catalogs Manager"
msgstr "Gestor de catálogos"
@@ -207,7 +293,7 @@ msgid "Redo"
msgstr "Rehacer"
msgid "Paste and Match Style"
-msgstr "Pegar y coincidir estilo"
+msgstr "Pegar con el mismo estilo"
msgid "Delete"
msgstr "Eliminar"
@@ -225,7 +311,7 @@ msgid "Check Spelling While Typing"
msgstr "Revisar ortografía al escribir"
msgid "Check Grammar With Spelling"
-msgstr "Revisar gramática y ortografía"
+msgstr "Comprobar gramática con la ortografía"
msgid "Correct Spelling Automatically"
msgstr "Corregir ortografía automáticamente"
@@ -237,13 +323,13 @@ msgid "Show Substitutions"
msgstr "Mostrar sustituciones"
msgid "Smart Copy/Paste"
-msgstr "Copiar/pegar inteligente"
+msgstr "Copipegado inteligente"
msgid "Smart Quotes"
msgstr "Comillas tipográficas"
msgid "Smart Dashes"
-msgstr "Rayas inteligentes"
+msgstr "Guiones inteligentes"
msgid "Smart Links"
msgstr "Enlaces inteligentes"
@@ -399,6 +485,20 @@ msgstr "Plural:"
msgid "Translation:"
msgstr "Traducción:"
+msgid ""
+"POT files are only templates and don’t contain any translations themselves.\n"
+"To make a translation, create a new PO file based on the template."
+msgstr ""
+"Los archivos POT son plantillas; no contienen traducciones.\n"
+"Para realizar una traducción, cree un archivo PO nuevo basado en la "
+"plantilla."
+
+msgid "Create New Translation"
+msgstr "Crear traducción nueva"
+
+msgid "Create new translation"
+msgstr "Crear traducción nueva"
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
@@ -447,9 +547,6 @@ msgstr "Archivos HTML"
msgid "Open catalog template"
msgstr "Abrir plantilla de catálogo"
-msgid "POT Translation Templates"
-msgstr "Plantillas de traducción POT"
-
msgid "Updating catalog"
msgstr "Actualizando el catálogo"
@@ -534,18 +631,25 @@ msgstr[1] ""
msgid "The translation is ready for use."
msgstr "La traducción está lista para su uso."
-msgid "No references to this string found."
-msgstr "No se encontraron referencias a esta cadena."
-
-msgid "Please choose the reference you want to show:"
-msgstr "Elija la referencia que quiera mostrar:"
-
-msgid "References"
-msgstr "Referencias"
-
msgid "Context:"
msgstr "Contexto:"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr ""
+"Poedit corrigió automáticamente el contenido no válido del archivo «%s»."
+
+msgid ""
+"The file contained duplicate items, which is not allowed in PO files and "
+"would prevent the file from being used. Poedit fixed the issue, but you "
+"should review translations of any items marked as fuzzy and correct them if "
+"necessary."
+msgstr ""
+"El archivo contenía elementos duplicados, lo que impediría su "
+"funcionamiento. Poedit ha corregido el problema, pero debe revisar las "
+"traducciones de cualesquier elementos marcados como provisionales y "
+"corregirlas si es necesario."
+
msgid "Language of the translation isn't set."
msgstr "No se ha establecido el idioma de la traducción."
@@ -555,6 +659,23 @@ msgstr "Establecer idioma"
msgid "Set language"
msgstr "Establecer el idioma"
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid ""
+"Suggestions are not available if the translation language is not set "
+"correctly. Other features, such as plural forms, may be affected as well."
+msgstr ""
+"Si el idioma de traducción no se configura correctamente, se afectarán "
+"funcionalidades como las sugerencias y la gestión de formas plurales."
+
+msgid "Language of the translation is the same as source language."
+msgstr "El idioma de la traducción es igual que el del texto original."
+
+msgid "Fix Language"
+msgstr "Corregir idioma"
+
+msgid "Fix language"
+msgstr "Corregir idioma"
+
msgid ""
"This catalog has entries with plural forms, but doesn't have Plural-Forms "
"header configured."
@@ -590,12 +711,13 @@ msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr ""
"La expresión de formas plurales usada en el catálogo es inusual en el %s."
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr "Revisar"
#, c-format
msgid "Error loading message catalog file '%s'."
-msgstr "Error al cargar archivo de catálogo de mensajes «%s»."
+msgstr "Ocurrió un error al cargar el catálogo de mensajes «%s»."
#, c-format
msgid "Translated: %d of %d (%d %%)"
@@ -611,6 +733,12 @@ msgid_plural "%d errors"
msgstr[0] "%d error"
msgstr[1] "%d errores"
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] "%d entrada"
+msgstr[1] "%d entradas"
+
msgid " (unsaved)"
msgstr "(sin guardar)"
@@ -635,12 +763,12 @@ msgid ""
"permanently removed. You will have to translate them again if they are added "
"back in the future."
msgstr ""
-"Si continúa con el purgado, se eliminarán permanentemente las traducciones "
-"no utilizadas. Si estas cadenas se añaden de nuevo en el futuro, tendrá que "
-"traducirlas de nuevo."
+"Si continúa con el purgado se eliminarán permanentemente todas las "
+"traducciones no utilizadas. Si las cadenas correspondientes se vuelven a "
+"añadir, deberá traducirlas de nuevo."
msgid "Keep"
-msgstr "Mantener"
+msgstr "Conservar"
msgid "Purge"
msgstr "Purgar"
@@ -738,6 +866,9 @@ msgstr "Todo"
msgid "Form %i"
msgstr "Formulario %i"
+msgid "Singular"
+msgstr "Singular"
+
msgid "Zero"
msgstr "Cero"
@@ -747,6 +878,9 @@ msgstr "Uno"
msgid "Two"
msgstr "Dos"
+msgid "Plural"
+msgstr "Plural"
+
msgid "Other"
msgstr "Otro"
@@ -775,6 +909,12 @@ msgstr "Ocultar barra lateral"
msgid "Show Sidebar"
msgstr "Mostrar barra lateral"
+msgid "Hide Status Bar"
+msgstr "Ocultar barra de estado"
+
+msgid "Show Status Bar"
+msgstr "Mostrar barra de estado"
+
msgid "Source text"
msgstr "Texto de origen"
@@ -784,6 +924,10 @@ msgstr "Traducción"
msgid "ID"
msgstr "Id."
+#, c-format
+msgid "Source text — %s"
+msgstr "Texto de origen: %s"
+
msgid "unknown language"
msgstr "idioma desconocido"
@@ -794,57 +938,73 @@ msgstr "Traducción: %s"
msgid "Error:"
msgstr "Error:"
-msgid "Project info"
-msgstr "Información del proyecto"
+msgid "Source file"
+msgstr "Archivo de origen"
-msgid "Project name and version:"
-msgstr "Nombre del proyecto y versión:"
+msgid "Source file occurrence:"
+msgstr "Ocurrencia en archivo de fuente:"
-msgid "Language:"
-msgstr "Idioma:"
+msgid "Open in Editor"
+msgstr "Abrir en el editor"
-msgid "Team:"
-msgstr "Equipo:"
+msgid "Open in editor"
+msgstr "Abrir en el editor"
-msgid "Team's email address:"
-msgstr "Dirección de correo del equipo:"
+msgid "No references for the selected item."
+msgstr "No hay referencias para el elemento seleccionado."
-msgid "Charset:"
-msgstr "Conjunto de caracteres:"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "Ocurrió un error al abrir el archivo %s."
-msgid "Source"
-msgstr "Origen"
+msgid "Find"
+msgstr "Buscar"
-msgid "Notes"
-msgstr "Notas"
+msgid "Replace"
+msgstr "Reemplazar"
-msgid "Automatic translation"
-msgstr "Traducción automática"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr "Opciones"
-msgid "Fuzzy translation"
-msgstr "Traducción provisional"
+msgid "Ignore case"
+msgstr "Ignorar mayúsculas y minúsculas"
-msgid "Notes for translators:"
-msgstr "Notas para traductores:"
+msgid "Wrap around"
+msgstr "Envolver"
-msgid "Comment:"
-msgstr "Comentario:"
+msgid "Whole words only"
+msgstr "Solo palabras completas"
-msgid "Source file"
-msgstr "Archivo de origen"
+msgid "Find in source texts"
+msgstr "Encontrar en textos originales"
-msgid "Source file occurrence:"
-msgstr "Ocurrencia en archivo de fuente:"
+msgid "Find in translations"
+msgstr "Buscar en traducciones"
-msgid "Open in Editor"
-msgstr "Abrir en el editor"
+msgid "Find in comments"
+msgstr "Buscar en los comentarios"
-msgid "Open in editor"
-msgstr "Abrir en el editor"
+msgid "Close"
+msgstr "Cerrar"
-#, c-format
-msgid "Error opening file %s!"
-msgstr "Ocurrió un error al abrir el archivo %s."
+msgid "Replace All"
+msgstr "Reemplazar todo"
+
+msgid "Replace all"
+msgstr "Reemplazar todo"
+
+msgid "< &Previous"
+msgstr "< &Anterior"
+
+msgid "&Next >"
+msgstr "&Siguiente >"
+
+msgid "String to find"
+msgstr "Texto que encontrar"
+
+msgid "Replacement string"
+msgstr "Texto de reemplazo"
#, c-format
msgid "Cannot execute program: %s"
@@ -959,7 +1119,7 @@ msgid "Use custom text fields font:"
msgstr "Usar tipo de letra personalizado en campos de texto:"
msgid "Change UI language"
-msgstr "Cambiar idioma de la interfaz de usuario"
+msgstr "Cambiar idioma de la interfaz"
#. TRANSLATORS: This is a note appended to "Check spelling" when running on older Windows versions
msgid "(requires Windows 8 or newer)"
@@ -982,7 +1142,7 @@ msgid "Reset"
msgstr "Restablecer"
msgid "Consult TM when updating from sources"
-msgstr "Consultar MT al actualizar desde orígenes"
+msgstr "Consultar MT al actualizar desde fuentes"
msgid ""
"If enabled, Poedit will try to fill in new entries using your previous\n"
@@ -1049,9 +1209,19 @@ msgstr "Nuevo"
msgid "Edit"
msgstr "Editar"
+msgid "Delete extractor"
+msgstr "Eliminar extractor"
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr "¿Realmente quiere eliminar el extractor «%s»?"
+
msgid "Extractors"
msgstr "Extractores"
+msgid "Accounts"
+msgstr "Cuentas"
+
msgid "Automatically check for updates"
msgstr "Buscar actualizaciones automáticamente"
@@ -1095,8 +1265,35 @@ msgstr "Conservar el formato de los archivos existentes"
msgid "Advanced"
msgstr "Avanzadas"
-msgid "Additional keywords"
-msgstr "Palabras clave adicionales"
+msgid ""
+"<big>Drag and Drop Folders Here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid ""
+"<big>Drag and drop folders here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid "Add Folders..."
+msgstr ""
+
+msgid "Add folders..."
+msgstr ""
+
+msgid "Add Files..."
+msgstr ""
+
+msgid "Add files..."
+msgstr ""
+
+msgid "Add Wildcard..."
+msgstr ""
+
+msgid "Add wildcard..."
+msgstr ""
msgid "Paths"
msgstr "Rutas"
@@ -1104,6 +1301,9 @@ msgstr "Rutas"
msgid "Excluded paths"
msgstr "Rutas excluidas"
+msgid "Additional keywords"
+msgstr "Palabras clave adicionales"
+
msgid "Name of the project the translation is for"
msgstr "El nombre del proyecto al que se destina esta traducción"
@@ -1117,6 +1317,9 @@ msgid "Please save the file first. This section cannot be edited until then."
msgstr ""
"Guarde el archivo primero. No se podrá editar esta sección hasta que lo haga."
+msgid "Comment:"
+msgstr "Comentario:"
+
msgid "OK"
msgstr "Aceptar"
@@ -1126,42 +1329,6 @@ msgstr "&Vaciar"
msgid "Clear the comment"
msgstr "Borrar el comentario"
-msgid "Find..."
-msgstr "Buscar…"
-
-msgid "String to find:"
-msgstr "Texto que buscar:"
-
-msgid "Case sensitive"
-msgstr "Distinguir mayúsculas y minúsculas"
-
-msgid "Start from the first item"
-msgstr "Comenzar desde el primer elemento"
-
-msgid "Whole words only"
-msgstr "Solo palabras completas"
-
-msgid "Find in original strings"
-msgstr "Buscar en los mensajes originales"
-
-msgid "Find in translations"
-msgstr "Buscar en traducciones"
-
-msgid "Find in comments"
-msgstr "Buscar en los comentarios"
-
-msgid "Find in automatic comments"
-msgstr "Buscar en los comentarios automáticos"
-
-msgid "Close"
-msgstr "Cerrar"
-
-msgid "< &Previous"
-msgstr "< &Anterior"
-
-msgid "&Next >"
-msgstr "&Siguiente >"
-
msgid "Create new translations project"
msgstr "Crear proyecto de traducción nuevo"
@@ -1216,6 +1383,12 @@ msgstr "&Abrir…"
msgid "Open Recent"
msgstr "Abrir recientes"
+msgid "Open from Crowdin..."
+msgstr "Abrir desde Crowdin…"
+
+msgid "Open From Crowdin..."
+msgstr "Abrir desde Crowdin..."
+
msgid "&Save"
msgstr "&Guardar"
@@ -1264,14 +1437,17 @@ msgstr "&Mostrar referencias"
msgid "&Find..."
msgstr "&Buscar…"
+msgid "Replace..."
+msgstr "Reemplazar..."
+
msgid "Find next"
msgstr "Buscar siguiente"
msgid "Find previous"
msgstr "Buscar anterior"
-msgid "Find"
-msgstr "Buscar"
+msgid "Find and Replace..."
+msgstr "Buscar y reemplazar..."
msgid "Find Next"
msgstr "Buscar siguiente"
@@ -1312,6 +1488,12 @@ msgstr "A&grupar por contexto"
msgid "&Group By Context"
msgstr "A&grupar por contexto"
+msgid "Entries with errors first"
+msgstr "Primero las entradas con errores"
+
+msgid "Entries with Errors First"
+msgstr "Primero las entradas con errores"
+
msgid "&Untranslated entries first"
msgstr "&Entradas sin traducir primero"
@@ -1321,11 +1503,14 @@ msgstr "&Entradas sin traducir primero"
msgid "Show sidebar"
msgstr "Mostrar barra lateral"
+msgid "Show status bar"
+msgstr ""
+
msgid "C&atalog"
msgstr "&Catálogo"
msgid "&Update from sources"
-msgstr "&Actualizar desde fuentes"
+msgstr "Act&ualizar desde fuentes"
msgid "&Update from Sources"
msgstr "&Actualizar desde fuentes"
@@ -1336,6 +1521,9 @@ msgstr "Actualizar desde archivo &POT…"
msgid "Update from &POT File..."
msgstr "Actualizar desde archivo &POT…"
+msgid "Sync with Crowdin"
+msgstr "Sincronizar con Crowdin"
+
msgid "Fill missing translations from &TM..."
msgstr "Cubrir traducciones faltantes a partir de M&T…"
@@ -1358,7 +1546,7 @@ msgid "&Properties..."
msgstr "&Propiedades…"
msgid "&Done and next"
-msgstr "Hecho, &siguiente"
+msgstr "Hecho, e ir a siguiente"
msgid "&Done and Next"
msgstr "Hecho, &siguiente"
@@ -1394,7 +1582,7 @@ msgid "&Online Help"
msgstr "&Ayuda en línea"
msgid "&GNU gettext manual"
-msgstr "Manual de &GNU gettext"
+msgstr "Manual de &Gettext"
msgid "&GNU gettext Manual"
msgstr "Manual de &GNU gettext"
@@ -1429,7 +1617,7 @@ msgstr ""
"%C define el conjunto de caracteres (vea abajo)."
msgid "An item in keywords list:"
-msgstr "Elemento de la lista de palabras clave:"
+msgstr "Un elemento de la lista de palabras clave:"
msgid ""
"This will be attached to the command line once\n"
@@ -1439,7 +1627,7 @@ msgstr ""
"cada palabra clave. %k contiene la palabra clave."
msgid "An item in input files list:"
-msgstr "Elemento de la lista de archivos de entrada:"
+msgstr "Un elemento de la lista de archivos de entrada:"
#, c-format
msgid ""
@@ -1463,6 +1651,9 @@ msgstr ""
msgid "Catalog properties"
msgstr "Propiedades del catálogo"
+msgid "Project name and version:"
+msgstr "Nombre del proyecto y versión:"
+
msgid "Plural Forms:"
msgstr "Formas plurales:"
@@ -1475,6 +1666,15 @@ msgstr "Usar expresión personalizada"
msgid "Learn about plural forms"
msgstr "Más información sobre formas plurales"
+msgid "Charset:"
+msgstr "Conjunto de caracteres:"
+
+msgid "Team:"
+msgstr "Equipo:"
+
+msgid "Team's email address:"
+msgstr "Dirección de correo e. del equipo:"
+
msgid "Translation properties"
msgstr "Propiedades de traducción"
@@ -1548,8 +1748,8 @@ msgstr "Actualizar catálogo, sincronizarlo con los orígenes"
msgid "Toggled if selected string has fuzzy translation"
msgstr "Activado si el texto seleccionado está traducido provisionalmente"
-msgid "Show or hide the sidebar."
-msgstr "Mostrar u ocultar la barra lateral."
+msgid "Show or hide the sidebar"
+msgstr "Mostrar u ocultar la barra lateral"
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
msgid "Previous source text:"
@@ -1562,6 +1762,9 @@ msgstr ""
"El antiguo texto fuente (antes de que cambiara durante la actualización) al "
"que corresponde la traducción aproximada (fuzzy)."
+msgid "Notes for translators:"
+msgstr "Notas para traductores:"
+
msgid "Add comment"
msgstr "Añadir comentario"
@@ -1641,15 +1844,24 @@ msgstr "Editar una traducción"
msgid "Open an existing PO file and edit the translation."
msgstr "Abrir un archivo PO existente y editar la traducción."
-msgid "Create new translation"
-msgstr "Crear traducción nueva"
-
msgid ""
"Take an existing PO file or POT template and create a new translation from "
"it."
msgstr ""
"Tomar un archivo PO o POT existente y crear una traducción a partir de este."
+msgid "Collaborate on a translation with Crowdin"
+msgstr "Colaborar en la traducción con Crowdin"
+
+msgid ""
+"Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+"Descargue un archivo de un proyecto de Crowdin, tradúzcalo y sincronice sus "
+"cambios."
+
+msgid "What is Crowdin?"
+msgstr "¿Qué es Crowdin?"
+
msgid "There are no translations. That’s unusual."
msgstr "No hay traducciones. Eso es inusual."
@@ -1689,3 +1901,9 @@ msgstr "Extraer desde código fuente"
msgid "Configure source code extraction in Properties."
msgstr "Configure la extracción de código fuente en Propiedades."
+
+msgid "Sync"
+msgstr "Sincronización"
+
+msgid "Synchronize the translation with Crowdin"
+msgstr "Sincronizar la traducción con Crowdin"
diff --git a/locales/et.mo b/locales/et.mo
index 66ef8c1..62d4276 100644
Binary files a/locales/et.mo and b/locales/et.mo differ
diff --git a/locales/et.po b/locales/et.po
index 010fc6e..aeb2d70 100644
--- a/locales/et.po
+++ b/locales/et.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:33-0400\n"
+"POT-Creation-Date: 2015-05-13 18:47+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Estonian\n"
"Language: et_EE\n"
@@ -84,6 +84,15 @@ msgstr ""
msgid "Error saving catalog"
msgstr "Tõrge kataloogi salvestamisel"
+msgid "PO Translation Files"
+msgstr ""
+
+msgid "POT Translation Templates"
+msgstr ""
+
+msgid "All Translation Files"
+msgstr ""
+
msgid "Merging differences..."
msgstr "Ühendan erinevused..."
@@ -103,6 +112,83 @@ msgstr "Keelevalik"
msgid "You must restart Poedit for this change to take effect."
msgstr "Selle muudatuse jõustumiseks peab Poedit-i taaskäivitama."
+msgid "Downloading translations is disabled in this project."
+msgstr ""
+
+msgid "Not authorized, please sign in again."
+msgstr ""
+
+msgid "Sign in to Crowdin"
+msgstr ""
+
+msgid ""
+"Crowdin is an online localization management platform and collaborative "
+"translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+
+msgid "Sign In"
+msgstr ""
+
+msgid "Sign in"
+msgstr ""
+
+msgid "Sign Out"
+msgstr ""
+
+msgid "Sign out"
+msgstr ""
+
+msgid "Waiting for authentication…"
+msgstr ""
+
+msgid "Updating user information…"
+msgstr ""
+
+msgid "Signed in as:"
+msgstr ""
+
+msgid "Learn More About Crowdin"
+msgstr ""
+
+msgid "Learn more about Crowdin"
+msgstr ""
+
+msgid "Open Crowdin translation"
+msgstr ""
+
+msgid "Project:"
+msgstr ""
+
+msgid "Language:"
+msgstr "Keel:"
+
+msgid "File:"
+msgstr ""
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr ""
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr ""
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr ""
+
+msgid "Downloading latest translations…"
+msgstr ""
+
+msgid "Syncing with Crowdin"
+msgstr ""
+
+msgid "Syncing with Crowdin failed."
+msgstr ""
+
+msgid "Crowdin error"
+msgstr ""
+
+msgid "Uploading translations…"
+msgstr ""
+
msgid "&Copy"
msgstr ""
@@ -147,6 +233,9 @@ msgstr ""
msgid "don't delete temporary files (for debugging)"
msgstr "ajutisi faile ei kustutata (silumiseks)"
+msgid "handle a poedit:// URI"
+msgstr ""
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr ""
@@ -157,12 +246,6 @@ msgstr ""
msgid "Open catalog"
msgstr "Kataloogi avamine"
-msgid "All Files"
-msgstr ""
-
-msgid "PO Translation Files"
-msgstr ""
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "Pole faili '%s'."
@@ -390,6 +473,17 @@ msgstr "Mitmus:"
msgid "Translation:"
msgstr "Tõlge:"
+msgid ""
+"POT files are only templates and don’t contain any translations themselves.\n"
+"To make a translation, create a new PO file based on the template."
+msgstr ""
+
+msgid "Create New Translation"
+msgstr ""
+
+msgid "Create new translation"
+msgstr ""
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
@@ -437,9 +531,6 @@ msgstr ""
msgid "Open catalog template"
msgstr "Kataloogimalli avamine"
-msgid "POT Translation Templates"
-msgstr ""
-
msgid "Updating catalog"
msgstr "Kataloogi uuendamine"
@@ -514,18 +605,20 @@ msgstr[1] ""
msgid "The translation is ready for use."
msgstr "Tõlge on kasutamiseks valmis."
-msgid "No references to this string found."
-msgstr "Viiteid sellele tekstile ei leitud."
-
-msgid "Please choose the reference you want to show:"
-msgstr "Vali viide, mida soovid näidata:"
-
-msgid "References"
-msgstr "Viited"
-
msgid "Context:"
msgstr "Kontekst:"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr ""
+
+msgid ""
+"The file contained duplicate items, which is not allowed in PO files and "
+"would prevent the file from being used. Poedit fixed the issue, but you "
+"should review translations of any items marked as fuzzy and correct them if "
+"necessary."
+msgstr ""
+
msgid "Language of the translation isn't set."
msgstr ""
@@ -535,6 +628,21 @@ msgstr ""
msgid "Set language"
msgstr ""
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid ""
+"Suggestions are not available if the translation language is not set "
+"correctly. Other features, such as plural forms, may be affected as well."
+msgstr ""
+
+msgid "Language of the translation is the same as source language."
+msgstr ""
+
+msgid "Fix Language"
+msgstr ""
+
+msgid "Fix language"
+msgstr ""
+
msgid ""
"This catalog has entries with plural forms, but doesn't have Plural-Forms "
"header configured."
@@ -569,6 +677,7 @@ msgstr "Paranda päis"
msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr ""
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr ""
@@ -590,6 +699,12 @@ msgid_plural "%d errors"
msgstr[0] ""
msgstr[1] ""
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] ""
+msgstr[1] ""
+
msgid " (unsaved)"
msgstr ""
@@ -705,6 +820,9 @@ msgstr ""
msgid "Form %i"
msgstr "%i vorm"
+msgid "Singular"
+msgstr ""
+
msgid "Zero"
msgstr ""
@@ -714,6 +832,9 @@ msgstr ""
msgid "Two"
msgstr ""
+msgid "Plural"
+msgstr ""
+
msgid "Other"
msgstr ""
@@ -742,6 +863,12 @@ msgstr ""
msgid "Show Sidebar"
msgstr ""
+msgid "Hide Status Bar"
+msgstr ""
+
+msgid "Show Status Bar"
+msgstr ""
+
msgid "Source text"
msgstr "Originaaltekst"
@@ -751,6 +878,10 @@ msgstr "Tõlge"
msgid "ID"
msgstr ""
+#, c-format
+msgid "Source text — %s"
+msgstr ""
+
msgid "unknown language"
msgstr ""
@@ -761,57 +892,73 @@ msgstr ""
msgid "Error:"
msgstr "Viga:"
-msgid "Project info"
-msgstr "Projekti info"
+msgid "Source file"
+msgstr "Lähtefail"
-msgid "Project name and version:"
-msgstr "Projekti nimi ja versioon:"
+msgid "Source file occurrence:"
+msgstr "Lähtefaili esinemine:"
-msgid "Language:"
-msgstr "Keel:"
+msgid "Open in Editor"
+msgstr ""
-msgid "Team:"
-msgstr "Meeskond:"
+msgid "Open in editor"
+msgstr ""
-msgid "Team's email address:"
-msgstr "Meeskonna e-postiaadress:"
+msgid "No references for the selected item."
+msgstr ""
-msgid "Charset:"
-msgstr "Märgistik:"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "Tõrge faili %s avamisel!"
+
+msgid "Find"
+msgstr ""
-msgid "Source"
-msgstr "Lähtekood"
+msgid "Replace"
+msgstr ""
-msgid "Notes"
-msgstr "Märkused"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr ""
-msgid "Automatic translation"
-msgstr "Automaatne tõlkimine"
+msgid "Ignore case"
+msgstr ""
-msgid "Fuzzy translation"
-msgstr "Segane tõlge"
+msgid "Wrap around"
+msgstr ""
-msgid "Notes for translators:"
-msgstr "Märkused tõlkijate jaoks:"
+msgid "Whole words only"
+msgstr "Ainult terved sõnad"
-msgid "Comment:"
-msgstr "Kommentaar:"
+msgid "Find in source texts"
+msgstr ""
-msgid "Source file"
-msgstr "Lähtefail"
+msgid "Find in translations"
+msgstr ""
-msgid "Source file occurrence:"
-msgstr "Lähtefaili esinemine:"
+msgid "Find in comments"
+msgstr "Otsitakse kommentaaridest"
-msgid "Open in Editor"
+msgid "Close"
+msgstr "Sulge"
+
+msgid "Replace All"
msgstr ""
-msgid "Open in editor"
+msgid "Replace all"
msgstr ""
-#, c-format
-msgid "Error opening file %s!"
-msgstr "Tõrge faili %s avamisel!"
+msgid "< &Previous"
+msgstr ""
+
+msgid "&Next >"
+msgstr ""
+
+msgid "String to find"
+msgstr ""
+
+msgid "Replacement string"
+msgstr ""
#, c-format
msgid "Cannot execute program: %s"
@@ -1004,9 +1151,19 @@ msgstr "Uus"
msgid "Edit"
msgstr "Muuda"
+msgid "Delete extractor"
+msgstr ""
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr ""
+
msgid "Extractors"
msgstr ""
+msgid "Accounts"
+msgstr ""
+
msgid "Automatically check for updates"
msgstr ""
@@ -1045,7 +1202,34 @@ msgstr ""
msgid "Advanced"
msgstr ""
-msgid "Additional keywords"
+msgid ""
+"<big>Drag and Drop Folders Here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid ""
+"<big>Drag and drop folders here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid "Add Folders..."
+msgstr ""
+
+msgid "Add folders..."
+msgstr ""
+
+msgid "Add Files..."
+msgstr ""
+
+msgid "Add files..."
+msgstr ""
+
+msgid "Add Wildcard..."
+msgstr ""
+
+msgid "Add wildcard..."
msgstr ""
msgid "Paths"
@@ -1054,6 +1238,9 @@ msgstr "Rajad"
msgid "Excluded paths"
msgstr ""
+msgid "Additional keywords"
+msgstr ""
+
msgid "Name of the project the translation is for"
msgstr ""
@@ -1066,6 +1253,9 @@ msgstr "UTF-8 (soovituslik)"
msgid "Please save the file first. This section cannot be edited until then."
msgstr ""
+msgid "Comment:"
+msgstr "Kommentaar:"
+
msgid "OK"
msgstr "OK"
@@ -1075,42 +1265,6 @@ msgstr "&Tühjenda"
msgid "Clear the comment"
msgstr "Tühjenda kommentaar"
-msgid "Find..."
-msgstr "Otsing..."
-
-msgid "String to find:"
-msgstr "Otsisõne:"
-
-msgid "Case sensitive"
-msgstr "Tõstutundlik"
-
-msgid "Start from the first item"
-msgstr "&Alustatakse algusest"
-
-msgid "Whole words only"
-msgstr "Ainult terved sõnad"
-
-msgid "Find in original strings"
-msgstr "Otsitakse originaaltekstidest"
-
-msgid "Find in translations"
-msgstr ""
-
-msgid "Find in comments"
-msgstr "Otsitakse kommentaaridest"
-
-msgid "Find in automatic comments"
-msgstr "Otsitakse automaatsetest kommentaaridest"
-
-msgid "Close"
-msgstr "Sulge"
-
-msgid "< &Previous"
-msgstr ""
-
-msgid "&Next >"
-msgstr ""
-
msgid "Create new translations project"
msgstr "Loo uus tõlkeprojekt"
@@ -1165,6 +1319,12 @@ msgstr "&Avamine..."
msgid "Open Recent"
msgstr ""
+msgid "Open from Crowdin..."
+msgstr ""
+
+msgid "Open From Crowdin..."
+msgstr ""
+
msgid "&Save"
msgstr "&Salvesta"
@@ -1213,13 +1373,16 @@ msgstr "&Näita viiteid"
msgid "&Find..."
msgstr "&Otsi..."
+msgid "Replace..."
+msgstr ""
+
msgid "Find next"
msgstr ""
msgid "Find previous"
msgstr ""
-msgid "Find"
+msgid "Find and Replace..."
msgstr ""
msgid "Find Next"
@@ -1261,6 +1424,12 @@ msgstr ""
msgid "&Group By Context"
msgstr ""
+msgid "Entries with errors first"
+msgstr ""
+
+msgid "Entries with Errors First"
+msgstr ""
+
msgid "&Untranslated entries first"
msgstr "&Tõlkimata tekstid eespool"
@@ -1270,6 +1439,9 @@ msgstr "Tõlkimata tekstid &eespool"
msgid "Show sidebar"
msgstr ""
+msgid "Show status bar"
+msgstr ""
+
msgid "C&atalog"
msgstr "&Kataloog"
@@ -1285,6 +1457,9 @@ msgstr "Uuendus &POT failist..."
msgid "Update from &POT File..."
msgstr "Uuendus &POT failist..."
+msgid "Sync with Crowdin"
+msgstr ""
+
msgid "Fill missing translations from &TM..."
msgstr ""
@@ -1408,6 +1583,9 @@ msgstr ""
msgid "Catalog properties"
msgstr "Kataloogi omadused"
+msgid "Project name and version:"
+msgstr "Projekti nimi ja versioon:"
+
msgid "Plural Forms:"
msgstr "Mitmuse vormid:"
@@ -1420,6 +1598,15 @@ msgstr ""
msgid "Learn about plural forms"
msgstr "Mitmuse vormide kohta lähemalt uurimine"
+msgid "Charset:"
+msgstr "Märgistik:"
+
+msgid "Team:"
+msgstr "Meeskond:"
+
+msgid "Team's email address:"
+msgstr "Meeskonna e-postiaadress:"
+
msgid "Translation properties"
msgstr ""
@@ -1492,7 +1679,7 @@ msgstr "Uuenda kataloog - sünkroniseeri lähtekoodiga"
msgid "Toggled if selected string has fuzzy translation"
msgstr "Märgitud, kui valitud tekst sisaldab kahtlast tõlget"
-msgid "Show or hide the sidebar."
+msgid "Show or hide the sidebar"
msgstr ""
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
@@ -1504,6 +1691,9 @@ msgid ""
"translation corresponds to."
msgstr ""
+msgid "Notes for translators:"
+msgstr "Märkused tõlkijate jaoks:"
+
msgid "Add comment"
msgstr ""
@@ -1576,14 +1766,21 @@ msgstr ""
msgid "Open an existing PO file and edit the translation."
msgstr ""
-msgid "Create new translation"
-msgstr ""
-
msgid ""
"Take an existing PO file or POT template and create a new translation from "
"it."
msgstr ""
+msgid "Collaborate on a translation with Crowdin"
+msgstr ""
+
+msgid ""
+"Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+
+msgid "What is Crowdin?"
+msgstr ""
+
msgid "There are no translations. That’s unusual."
msgstr ""
@@ -1616,3 +1813,9 @@ msgstr ""
msgid "Configure source code extraction in Properties."
msgstr ""
+
+msgid "Sync"
+msgstr ""
+
+msgid "Synchronize the translation with Crowdin"
+msgstr ""
diff --git a/locales/eu.mo b/locales/eu.mo
index 87fd9ae..bc20187 100644
Binary files a/locales/eu.mo and b/locales/eu.mo differ
diff --git a/locales/eu.po b/locales/eu.po
index e9d69ed..00639a2 100644
--- a/locales/eu.po
+++ b/locales/eu.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:33-0400\n"
+"POT-Creation-Date: 2015-05-13 18:47+0200\n"
+"PO-Revision-Date: 2015-05-19 10:48-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Basque\n"
"Language: eu_ES\n"
@@ -91,6 +91,15 @@ msgstr ""
msgid "Error saving catalog"
msgstr "Akatsa katalogoa gordetzerakoan"
+msgid "PO Translation Files"
+msgstr "PO Itzulpen Agiriak"
+
+msgid "POT Translation Templates"
+msgstr "POT Itzulpen Ereduak"
+
+msgid "All Translation Files"
+msgstr "Itzulpen Agiri Guztiak"
+
msgid "Merging differences..."
msgstr "Ezberdintasunak batzen..."
@@ -110,6 +119,86 @@ msgstr "Hizkuntza hautapena"
msgid "You must restart Poedit for this change to take effect."
msgstr "Poedit berrabiarazi behar duzu aldaketa honek eragina izateko."
+msgid "Downloading translations is disabled in this project."
+msgstr "Itzulpenak jeistea ezgaituta dago egitasmo honetan."
+
+msgid "Not authorized, please sign in again."
+msgstr "Baimen gabe, mesedez hasi saioa berriro."
+
+msgid "Sign in to Crowdin"
+msgstr "Hasi saio Crowdin-en"
+
+msgid ""
+"Crowdin is an online localization management platform and collaborative "
+"translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+"Crowdin onlineko lokalizazio kudeaketa plataforma bat eta elkarlaguntza "
+"itzulpen tresna bat da. Poedit-ek arazo gabe aldiberetu ditzake Crowdinen "
+"kudeatutako PO agiriak."
+
+msgid "Sign In"
+msgstr "Hasi saioa"
+
+msgid "Sign in"
+msgstr "Hasi saioa"
+
+msgid "Sign Out"
+msgstr "Amaitu Saioa"
+
+msgid "Sign out"
+msgstr "Amaitu saioa"
+
+msgid "Waiting for authentication…"
+msgstr "Egiaztapenaren zain..."
+
+msgid "Updating user information…"
+msgstr "Erabiltzaile argibideak eguneratzen..."
+
+msgid "Signed in as:"
+msgstr "Saio hasita honela:"
+
+msgid "Learn More About Crowdin"
+msgstr "Jakin Gehiago Crowdin Buruz"
+
+msgid "Learn more about Crowdin"
+msgstr "Jakin gehiago Crowdin buruz"
+
+msgid "Open Crowdin translation"
+msgstr "Ireki Crowdin itzulpena"
+
+msgid "Project:"
+msgstr "Egitasmoa:"
+
+msgid "Language:"
+msgstr "Hizkuntza:"
+
+msgid "File:"
+msgstr "Agiria:"
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr "Ez dago itzulpen egitasmorik zerrendatuta zure Crowdin kontuan."
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr "Egitasmo ez du Poedit-en itzuli daitekeen agiririk."
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr "Agiri hau Crowdin-en web interfazean besterik ezin da editatu."
+
+msgid "Downloading latest translations…"
+msgstr "Azken itzulpenak jeisten..."
+
+msgid "Syncing with Crowdin"
+msgstr "Crowdin-ekin aldiberetzen"
+
+msgid "Syncing with Crowdin failed."
+msgstr "Hutsegitea Crowdin-ekin aldiberetzean."
+
+msgid "Crowdin error"
+msgstr "Crowdin akatsa"
+
+msgid "Uploading translations…"
+msgstr "Itzulpenak igotzen..."
+
msgid "&Copy"
msgstr "&Kopiatu"
@@ -156,6 +245,9 @@ msgstr ""
msgid "don't delete temporary files (for debugging)"
msgstr "ez ezabatu aldibaterako agiriak (garbiketarako)"
+msgid "handle a poedit:// URI"
+msgstr "kudeatu poedit:// URI bat"
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr "Kudeatu ezinezko salbuespen bat gertatu da: %s"
@@ -166,12 +258,6 @@ msgstr "Kudeatu ezinezko salbuespen bat gertatu da."
msgid "Open catalog"
msgstr "Ireki"
-msgid "All Files"
-msgstr "Agiri Guztiak"
-
-msgid "PO Translation Files"
-msgstr "PO Itzulpen Agiriak"
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "'%s' agiria ez dago."
@@ -240,13 +326,13 @@ msgid "Smart Copy/Paste"
msgstr "Itsatsi/Kopiatu Adimentsua"
msgid "Smart Quotes"
-msgstr "Adartxoak Adimentsuak"
+msgstr "Adartxo Adimentsuak"
msgid "Smart Dashes"
msgstr "Elkarmarra Adimentsuak"
msgid "Smart Links"
-msgstr "Loturak Adimentsuak"
+msgstr "Lotura Adimentsuak"
msgid "Text Replacement"
msgstr "Idazki Ordezpena"
@@ -401,6 +487,19 @@ msgstr "Anitza:"
msgid "Translation:"
msgstr "Itzulpena:"
+msgid ""
+"POT files are only templates and don’t contain any translations themselves.\n"
+"To make a translation, create a new PO file based on the template."
+msgstr ""
+"POT agiriak ereduak besterik ez dira eta ez dute inolako itzulpenik berez.\n"
+"Itzulpena egiteko, sortu PO agiri berri bat ereduan ohinarrituz."
+
+msgid "Create New Translation"
+msgstr "Sortu Itzulpen Berria"
+
+msgid "Create new translation"
+msgstr "Sortu itzulpen berria"
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
@@ -448,9 +547,6 @@ msgstr "HTML Agiriak"
msgid "Open catalog template"
msgstr "Ireki katalogo eredua"
-msgid "POT Translation Templates"
-msgstr "POT Itzulpen Ereduak"
-
msgid "Updating catalog"
msgstr "Katalogoa eguneratzen"
@@ -532,18 +628,25 @@ msgstr[1] ""
msgid "The translation is ready for use."
msgstr "Itzulpena erabiltzeko gertu dago."
-msgid "No references to this string found."
-msgstr "Ez da kate honentzako xehetasunik aurkitu."
-
-msgid "Please choose the reference you want to show:"
-msgstr "Mesedez hautatu ager dadin nahi duzun xehetasuna:"
-
-msgid "References"
-msgstr "Xehetasunak"
-
msgid "Context:"
msgstr "Hitzingurua:"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr ""
+"Poedit-ek berezgaitasunez zuzendu ditu \"%s\" agiriko eduki baliogabeak."
+
+msgid ""
+"The file contained duplicate items, which is not allowed in PO files and "
+"would prevent the file from being used. Poedit fixed the issue, but you "
+"should review translations of any items marked as fuzzy and correct them if "
+"necessary."
+msgstr ""
+"Agiriak gai bikoiztuak ditu, zeina ez dago ahalbidetuta PO agirietan eta "
+"agiria erabiltzea saihestuko da. Poedit-ek arazo hau zuzendu du, baina "
+"zalantzazkoa bezala markaturiko gaien itzulpenak berrikusi behar dituzu eta "
+"zuzendu beharrezkoa bada."
+
msgid "Language of the translation isn't set."
msgstr "Itzulpenaren hizkuntza ez dago ezarrita."
@@ -553,6 +656,24 @@ msgstr "Ezarri Hizkuntza"
msgid "Set language"
msgstr "Ezarri hizkuntza "
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid ""
+"Suggestions are not available if the translation language is not set "
+"correctly. Other features, such as plural forms, may be affected as well."
+msgstr ""
+"Iradokizunak ez daude eskuragarri itzulpen hizkuntza ez badago zuzen "
+"ezarrita. Beste ezaugarri batzuk, forma anitzak bezalakoak, badaiteke "
+"eragina izatea ere."
+
+msgid "Language of the translation is the same as source language."
+msgstr "Itzulpen hizkuntza iturburu hizkuntzaren berdina da."
+
+msgid "Fix Language"
+msgstr "Zuzendu Hizkuntza"
+
+msgid "Fix language"
+msgstr "Zuzendu hizkuntza"
+
msgid ""
"This catalog has entries with plural forms, but doesn't have Plural-Forms "
"header configured."
@@ -587,6 +708,7 @@ msgstr "Zuzendu idazburua"
msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr "Katalogoak erabiltzen dituen anitz formak ezohikoak dira %s-rako."
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr "Berrikusi"
@@ -608,6 +730,12 @@ msgid_plural "%d errors"
msgstr[0] ""
msgstr[1] "%d akats"
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] "%d sarrera"
+msgstr[1] "%d sarrera"
+
msgid " (unsaved)"
msgstr " (gordegabe)"
@@ -734,6 +862,9 @@ msgstr "Dena"
msgid "Form %i"
msgstr "Forma %i"
+msgid "Singular"
+msgstr "Bakuna"
+
msgid "Zero"
msgstr "Zero"
@@ -743,6 +874,9 @@ msgstr "Bat"
msgid "Two"
msgstr "Bi"
+msgid "Plural"
+msgstr "Anitza"
+
msgid "Other"
msgstr "Beste"
@@ -771,6 +905,12 @@ msgstr "Ezkutatu Albobarra"
msgid "Show Sidebar"
msgstr "Erakutsi Albobarra"
+msgid "Hide Status Bar"
+msgstr "Ezkutatu Egoera Barra"
+
+msgid "Show Status Bar"
+msgstr "Erakutsi Egoera Barra"
+
msgid "Source text"
msgstr "Iturburu idazkia"
@@ -780,6 +920,10 @@ msgstr "Itzulpena"
msgid "ID"
msgstr "ID-a"
+#, c-format
+msgid "Source text — %s"
+msgstr "Iturburu idazkia — %s"
+
msgid "unknown language"
msgstr "hizkuntza ezezaguna"
@@ -790,57 +934,73 @@ msgstr "Itzulpena — %s"
msgid "Error:"
msgstr "Akatsa:"
-msgid "Project info"
-msgstr "Egitasmo argibideak"
+msgid "Source file"
+msgstr "Iturburu agiria"
-msgid "Project name and version:"
-msgstr "Egitasmoaren izena eta bertsioa:"
+msgid "Source file occurrence:"
+msgstr "Iturburu agiri gertaera:"
-msgid "Language:"
-msgstr "Hizkuntza:"
+msgid "Open in Editor"
+msgstr "Ireki Editatzailean"
-msgid "Team:"
-msgstr "Taldea:"
+msgid "Open in editor"
+msgstr "Ireki editatzailean"
-msgid "Team's email address:"
-msgstr "Taldearen post@ helbidea:"
+msgid "No references for the selected item."
+msgstr "Ez da xehetasunik aurkitu hautaturiko gaiarentzat."
-msgid "Charset:"
-msgstr "Hizkikodea:"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "Akatsa %s agiria irekitzerakoan!"
-msgid "Source"
-msgstr "Iturburua "
+msgid "Find"
+msgstr "Bilatu"
-msgid "Notes"
-msgstr "Oharrak"
+msgid "Replace"
+msgstr "Ordeztu"
-msgid "Automatic translation"
-msgstr "Berezgaitasunezko itzulpena"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr "Aukerak"
-msgid "Fuzzy translation"
-msgstr "Zalantzazko itzulpena"
+msgid "Ignore case"
+msgstr "ezikusi larri-xeheak"
-msgid "Notes for translators:"
-msgstr "Itzultzaileentzako oharrak:"
+msgid "Wrap around"
+msgstr "Inguratu"
-msgid "Comment:"
-msgstr "Aipamena:"
+msgid "Whole words only"
+msgstr "Hitz osoak bakarrik"
-msgid "Source file"
-msgstr "Iturburu agiria"
+msgid "Find in source texts"
+msgstr "Bilatu iturburu idazkietan"
-msgid "Source file occurrence:"
-msgstr "Iturburu agiri gertaera:"
+msgid "Find in translations"
+msgstr "Bilatu itzulpenetan"
-msgid "Open in Editor"
-msgstr "Ireki Editatzailean"
+msgid "Find in comments"
+msgstr "Bilatu aipamenetan"
-msgid "Open in editor"
-msgstr "Ireki editatzailean"
+msgid "Close"
+msgstr "Itxi"
-#, c-format
-msgid "Error opening file %s!"
-msgstr "Akatsa %s agiria irekitzerakoan!"
+msgid "Replace All"
+msgstr "Ordeztu Denak"
+
+msgid "Replace all"
+msgstr "Ordeztu denak"
+
+msgid "< &Previous"
+msgstr "< &Aurrekoa"
+
+msgid "&Next >"
+msgstr "&Hurrengoa >"
+
+msgid "String to find"
+msgstr "Bilatzeko katea"
+
+msgid "Replacement string"
+msgstr "Ordezte katea"
#, c-format
msgid "Cannot execute program: %s"
@@ -1043,9 +1203,19 @@ msgstr "Berria"
msgid "Edit"
msgstr "Editatu"
+msgid "Delete extractor"
+msgstr "Ezabatu ateratzailea"
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr "Zihur zaude \"%s\" ateratzailea ezabatzea nahi duzula?"
+
msgid "Extractors"
msgstr "Ateratzaileak"
+msgid "Accounts"
+msgstr "Kontuak"
+
msgid "Automatically check for updates"
msgstr "Berezgaitasunez egiaztatu eguneraketak"
@@ -1088,8 +1258,41 @@ msgstr "Heutsi dauden agirien heuskarriari"
msgid "Advanced"
msgstr "Aurreratua"
-msgid "Additional keywords"
-msgstr "Giltza-hitz gehigarriak:"
+msgid ""
+"<big>Drag and Drop Folders Here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+"<big>Arrastatu eta Askatu Agiritegiak Hona</big>\n"
+"\n"
+"edo erabili + botoia"
+
+msgid ""
+"<big>Drag and drop folders here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+"<big>Arrastatu eta askatu agiritegiak hona</big>\n"
+"\n"
+"edo erabili + botoia"
+
+msgid "Add Folders..."
+msgstr "Gehitu Agiritegiak..."
+
+msgid "Add folders..."
+msgstr "Gehitu agiritegiak..."
+
+msgid "Add Files..."
+msgstr "Gehitu Agiriak..."
+
+msgid "Add files..."
+msgstr "Gehitu agiriak..."
+
+msgid "Add Wildcard..."
+msgstr "Gehitu Ordez-hizkia..."
+
+msgid "Add wildcard..."
+msgstr "Gehitu ordez-hizkia..."
msgid "Paths"
msgstr "Helburuak"
@@ -1097,6 +1300,9 @@ msgstr "Helburuak"
msgid "Excluded paths"
msgstr "Baztertutako helburuak"
+msgid "Additional keywords"
+msgstr "Giltza-hitz gehigarriak:"
+
msgid "Name of the project the translation is for"
msgstr "Itzulpen egitasmo honetarako izena"
@@ -1109,6 +1315,9 @@ msgstr "UTF-8 (gomendatua)"
msgid "Please save the file first. This section cannot be edited until then."
msgstr "Mesedez gorde agiria lehenik. Atal hau ezin ordura arte editatu."
+msgid "Comment:"
+msgstr "Aipamena:"
+
msgid "OK"
msgstr "Ongi"
@@ -1118,42 +1327,6 @@ msgstr "&Garbitu"
msgid "Clear the comment"
msgstr "Garbitu aipamena "
-msgid "Find..."
-msgstr "Bilatu..."
-
-msgid "String to find:"
-msgstr "Bilatu beharreko katea:"
-
-msgid "Case sensitive"
-msgstr "Bereizi hizki larri-xeheak"
-
-msgid "Start from the first item"
-msgstr "Hasi lehen gaitik"
-
-msgid "Whole words only"
-msgstr "Hitz osoak bakarrik"
-
-msgid "Find in original strings"
-msgstr "Bilatu jatorrizko kateetan"
-
-msgid "Find in translations"
-msgstr "Bilatu itzulpenetan"
-
-msgid "Find in comments"
-msgstr "Bilatu aipamenetan"
-
-msgid "Find in automatic comments"
-msgstr "Bilatu berezgaitasunezko aipamenetan"
-
-msgid "Close"
-msgstr "Itxi"
-
-msgid "< &Previous"
-msgstr "< &Aurrekoa"
-
-msgid "&Next >"
-msgstr "&Hurrengoa >"
-
msgid "Create new translations project"
msgstr "Sortu itzulpen egitasmo berria"
@@ -1208,6 +1381,12 @@ msgstr "&Ireki..."
msgid "Open Recent"
msgstr "Ireki Berrikia"
+msgid "Open from Crowdin..."
+msgstr "Ireki Crowdin-etik..."
+
+msgid "Open From Crowdin..."
+msgstr "Ireki Crowdin-etik..."
+
msgid "&Save"
msgstr "&Gorde"
@@ -1256,14 +1435,17 @@ msgstr "Erakutsi Xehetasunak"
msgid "&Find..."
msgstr "Bilatu..."
+msgid "Replace..."
+msgstr "Ordeztu..."
+
msgid "Find next"
msgstr "Bilatu &hurrengoa"
msgid "Find previous"
msgstr "Bilatu a&urrekoa"
-msgid "Find"
-msgstr "Bilatu"
+msgid "Find and Replace..."
+msgstr "Bilatu eta Ordeztu..."
msgid "Find Next"
msgstr "Bilatu Hurrengoa"
@@ -1304,6 +1486,12 @@ msgstr "&Multzokatu hitzinguruz"
msgid "&Group By Context"
msgstr "&Multzokatu Hitzinguruz"
+msgid "Entries with errors first"
+msgstr "Akatsak dituzten sarrerak lehenik"
+
+msgid "Entries with Errors First"
+msgstr "Akatsak dituzten Sarrerak Lehenik"
+
msgid "&Untranslated entries first"
msgstr "Itzuligabeko &Sarrerak Lehenik"
@@ -1313,6 +1501,9 @@ msgstr "Itzuligabeko &Sarrerak Lehenik"
msgid "Show sidebar"
msgstr "Erakutsi albobarra"
+msgid "Show status bar"
+msgstr "Erakutsi egoera barra"
+
msgid "C&atalog"
msgstr "&Katalogoa"
@@ -1328,6 +1519,9 @@ msgstr "Eguneratu &POT agiritik"
msgid "Update from &POT File..."
msgstr "Eguneratu &POT Agiritik..."
+msgid "Sync with Crowdin"
+msgstr "Aldiberetu Crowdin-ekin"
+
msgid "Fill missing translations from &TM..."
msgstr "Bete ez dauden itzulpenak &IO-tik..."
@@ -1455,6 +1649,9 @@ msgstr ""
msgid "Catalog properties"
msgstr "Katalogoaren ezaugarriak"
+msgid "Project name and version:"
+msgstr "Egitasmoaren izena eta bertsioa:"
+
msgid "Plural Forms:"
msgstr "Anitz Formak:"
@@ -1467,6 +1664,15 @@ msgstr "Erabili norbere adierazpena"
msgid "Learn about plural forms"
msgstr "Jakin gehiago anitz formetaz"
+msgid "Charset:"
+msgstr "Hizkikodea:"
+
+msgid "Team:"
+msgstr "Taldea:"
+
+msgid "Team's email address:"
+msgstr "Taldearen post@ helbidea:"
+
msgid "Translation properties"
msgstr "Itzulpenaren ezaugarriak"
@@ -1539,8 +1745,8 @@ msgstr "Eguneratu katalogoa - aldiberetu iturburuekin "
msgid "Toggled if selected string has fuzzy translation"
msgstr "Sakatuta hautaturiko katea zalantzazko itzulpena bada"
-msgid "Show or hide the sidebar."
-msgstr "Erakutsi edo ezkutatu albobarra."
+msgid "Show or hide the sidebar"
+msgstr "Erakutsi edo ezkutatu albobarra"
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
msgid "Previous source text:"
@@ -1553,6 +1759,9 @@ msgstr ""
"Zalantzazko itzulpena dagokion iturburu idazki zaharra (eguneraketa batean "
"aldatu aurrekoa)."
+msgid "Notes for translators:"
+msgstr "Itzultzaileentzako oharrak:"
+
msgid "Add comment"
msgstr "Gehitu aipamena"
@@ -1633,9 +1842,6 @@ msgstr "Editatu itzulpen bat"
msgid "Open an existing PO file and edit the translation."
msgstr "Ireki badagoen PO agiri bat eta editatu itzulpena."
-msgid "Create new translation"
-msgstr "Sortu itzulpen berria"
-
msgid ""
"Take an existing PO file or POT template and create a new translation from "
"it."
@@ -1643,6 +1849,18 @@ msgstr ""
"Hartu badagoen PO agiri bat edo POT eredu bat eta sortu itzulpen berri bat "
"bertatik."
+msgid "Collaborate on a translation with Crowdin"
+msgstr "Lagundu itzulpen batean Crowdin-ekin"
+
+msgid ""
+"Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+"Jeitsi agiri bat Crowdin egitasmotik, itzuli eta aldiberetu zure aldaketak "
+"berriro."
+
+msgid "What is Crowdin?"
+msgstr "Zer da Crowdin?"
+
msgid "There are no translations. That’s unusual."
msgstr "Ez dago itzulpenik. Hori ezohikoa da."
@@ -1680,3 +1898,9 @@ msgstr "&Atera iturburuetatik"
msgid "Configure source code extraction in Properties."
msgstr "Itxuratu iturburu kode aterapena Ezaugarriak-en"
+
+msgid "Sync"
+msgstr "Aldiberetu"
+
+msgid "Synchronize the translation with Crowdin"
+msgstr "Aldiberetu itzulpena Crowdin-ekin"
diff --git a/locales/fa.mo b/locales/fa.mo
index 0d916ec..644cc5e 100644
Binary files a/locales/fa.mo and b/locales/fa.mo differ
diff --git a/locales/fa.po b/locales/fa.po
index 057f4ac..2a77ffc 100644
--- a/locales/fa.po
+++ b/locales/fa.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:33-0400\n"
+"POT-Creation-Date: 2015-05-13 18:47+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Persian\n"
"Language: fa_IR\n"
@@ -82,6 +82,15 @@ msgstr ""
msgid "Error saving catalog"
msgstr "خطا در ذخیره کردن پوشه"
+msgid "PO Translation Files"
+msgstr "فایل های ترجمه Po"
+
+msgid "POT Translation Templates"
+msgstr "قالب ترجمه POT"
+
+msgid "All Translation Files"
+msgstr ""
+
msgid "Merging differences..."
msgstr "پیوست تفاوتها..."
@@ -93,7 +102,7 @@ msgid "(Use default language)"
msgstr "(استفاده از زبان پیشفرض)"
msgid "Select your preferred language"
-msgstr ""
+msgstr "زبانی که ترجیحی را انتخاب کنید"
msgid "Language selection"
msgstr "گزینش زبان"
@@ -102,6 +111,85 @@ msgid "You must restart Poedit for this change to take effect."
msgstr ""
"شما باید Poedit را برای تأثیر کردن این تغییرات دوباره راهاندازی نمایید."
+msgid "Downloading translations is disabled in this project."
+msgstr "دانلود ترجمه برای این پروژه مسدود است."
+
+msgid "Not authorized, please sign in again."
+msgstr "ورودی غیر مجاز,لطفا مجددا وارد شوید."
+
+msgid "Sign in to Crowdin"
+msgstr "ورود به Crowdin"
+
+msgid ""
+"Crowdin is an online localization management platform and collaborative "
+"translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+"Crowdin یک برنامه ی آنلاین محلی سازی زبان و ابزار ترجمه گروهی و مشترکانه "
+"است. Poedit به صورت پیشفرض توانایی همگام سازی فایل های PO در Crowdin دارد."
+
+msgid "Sign In"
+msgstr "ورود"
+
+msgid "Sign in"
+msgstr "ورود"
+
+msgid "Sign Out"
+msgstr "خروج"
+
+msgid "Sign out"
+msgstr ""
+
+msgid "Waiting for authentication…"
+msgstr ""
+
+msgid "Updating user information…"
+msgstr ""
+
+msgid "Signed in as:"
+msgstr ""
+
+msgid "Learn More About Crowdin"
+msgstr ""
+
+msgid "Learn more about Crowdin"
+msgstr ""
+
+msgid "Open Crowdin translation"
+msgstr ""
+
+msgid "Project:"
+msgstr ""
+
+msgid "Language:"
+msgstr "زبان:"
+
+msgid "File:"
+msgstr ""
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr ""
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr ""
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr ""
+
+msgid "Downloading latest translations…"
+msgstr ""
+
+msgid "Syncing with Crowdin"
+msgstr ""
+
+msgid "Syncing with Crowdin failed."
+msgstr ""
+
+msgid "Crowdin error"
+msgstr ""
+
+msgid "Uploading translations…"
+msgstr ""
+
msgid "&Copy"
msgstr "& کپی"
@@ -146,6 +234,9 @@ msgstr ""
msgid "don't delete temporary files (for debugging)"
msgstr ""
+msgid "handle a poedit:// URI"
+msgstr ""
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr ""
@@ -156,12 +247,6 @@ msgstr ""
msgid "Open catalog"
msgstr "باز کردن پوشه"
-msgid "All Files"
-msgstr "همه پرونده ها"
-
-msgid "PO Translation Files"
-msgstr "فایل های ترجمه Po"
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "پرونده '%s' وجود ندارد.."
@@ -389,6 +474,17 @@ msgstr "جمع:"
msgid "Translation:"
msgstr "ترجمه:"
+msgid ""
+"POT files are only templates and don’t contain any translations themselves.\n"
+"To make a translation, create a new PO file based on the template."
+msgstr ""
+
+msgid "Create New Translation"
+msgstr ""
+
+msgid "Create new translation"
+msgstr "ایجاد ترجمه جدید"
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
@@ -436,9 +532,6 @@ msgstr "پرونده HTML"
msgid "Open catalog template"
msgstr "باز کردن الگوی پوشه"
-msgid "POT Translation Templates"
-msgstr "قالب ترجمه POT"
-
msgid "Updating catalog"
msgstr "به روزرسانی لیست"
@@ -505,18 +598,20 @@ msgstr[0] "ترجمه آماده برای استفاده است، اما نوش
msgid "The translation is ready for use."
msgstr "ترجمه آماده برای استفاده است."
-msgid "No references to this string found."
-msgstr "هیچ مرجعی برای این رشته یافت نشد."
-
-msgid "Please choose the reference you want to show:"
-msgstr "لطفاً مرجعی را که میخواهید نشان داده شود را انتخاب نمایید:"
-
-msgid "References"
-msgstr "مرجعها"
-
msgid "Context:"
msgstr "چهار چوب:"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr ""
+
+msgid ""
+"The file contained duplicate items, which is not allowed in PO files and "
+"would prevent the file from being used. Poedit fixed the issue, but you "
+"should review translations of any items marked as fuzzy and correct them if "
+"necessary."
+msgstr ""
+
msgid "Language of the translation isn't set."
msgstr "زبان ترجمه مشخص نگردیده است."
@@ -526,6 +621,21 @@ msgstr "انتخاب زبان"
msgid "Set language"
msgstr "انتخاب زبان"
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid ""
+"Suggestions are not available if the translation language is not set "
+"correctly. Other features, such as plural forms, may be affected as well."
+msgstr ""
+
+msgid "Language of the translation is the same as source language."
+msgstr ""
+
+msgid "Fix Language"
+msgstr ""
+
+msgid "Fix language"
+msgstr ""
+
msgid ""
"This catalog has entries with plural forms, but doesn't have Plural-Forms "
"header configured."
@@ -556,6 +666,7 @@ msgstr "تعمیر سرنویس"
msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr ""
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr "بررسی"
@@ -576,6 +687,11 @@ msgid "%d error"
msgid_plural "%d errors"
msgstr[0] "%d خطا"
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] ""
+
msgid " (unsaved)"
msgstr " (ذخیره نشده)"
@@ -687,6 +803,9 @@ msgstr "همه چیز"
msgid "Form %i"
msgstr "از %i"
+msgid "Singular"
+msgstr ""
+
msgid "Zero"
msgstr "صفر"
@@ -696,6 +815,9 @@ msgstr "یک"
msgid "Two"
msgstr "دو"
+msgid "Plural"
+msgstr ""
+
msgid "Other"
msgstr "سایر موارد"
@@ -724,6 +846,12 @@ msgstr "پنهان کردن نوار جانبی"
msgid "Show Sidebar"
msgstr "نمایش نوار جانبی"
+msgid "Hide Status Bar"
+msgstr ""
+
+msgid "Show Status Bar"
+msgstr ""
+
msgid "Source text"
msgstr "منبع متن"
@@ -733,6 +861,10 @@ msgstr "ترجمه"
msgid "ID"
msgstr "شناسه"
+#, c-format
+msgid "Source text — %s"
+msgstr ""
+
msgid "unknown language"
msgstr "زبان ناشناخته"
@@ -743,57 +875,73 @@ msgstr "ترجمه — %s"
msgid "Error:"
msgstr "خطا:"
-msgid "Project info"
-msgstr "اطلاعات پروژه"
+msgid "Source file"
+msgstr "پرونده منبع"
-msgid "Project name and version:"
-msgstr "نسخه و نام پروژه:"
+msgid "Source file occurrence:"
+msgstr ""
-msgid "Language:"
-msgstr "زبان:"
+msgid "Open in Editor"
+msgstr "باز کردن در ویرایشگر"
-msgid "Team:"
-msgstr "گروه:"
+msgid "Open in editor"
+msgstr "باز کردن در ویرایشگر"
-msgid "Team's email address:"
-msgstr "نشانی پست الکترونیکی گروه:"
+msgid "No references for the selected item."
+msgstr ""
-msgid "Charset:"
-msgstr "مجموعهنویسه:"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "خطا در باز کردن پرونده %s!"
-msgid "Source"
-msgstr "منبع"
+msgid "Find"
+msgstr "یافتن"
-msgid "Notes"
-msgstr "یادداشتها"
+msgid "Replace"
+msgstr ""
-msgid "Automatic translation"
-msgstr "ترجمه خودکار"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr ""
-msgid "Fuzzy translation"
-msgstr "ترجمه فازی"
+msgid "Ignore case"
+msgstr ""
-msgid "Notes for translators:"
-msgstr "یادداشت ها برای مترجمان:"
+msgid "Wrap around"
+msgstr ""
-msgid "Comment:"
-msgstr "توضیح:"
+msgid "Whole words only"
+msgstr "فقط کلمه کامل"
-msgid "Source file"
-msgstr "پرونده منبع"
+msgid "Find in source texts"
+msgstr ""
-msgid "Source file occurrence:"
+msgid "Find in translations"
msgstr ""
-msgid "Open in Editor"
-msgstr "باز کردن در ویرایشگر"
+msgid "Find in comments"
+msgstr "یافتن در توضیحات"
-msgid "Open in editor"
-msgstr "باز کردن در ویرایشگر"
+msgid "Close"
+msgstr "ببند"
-#, c-format
-msgid "Error opening file %s!"
-msgstr "خطا در باز کردن پرونده %s!"
+msgid "Replace All"
+msgstr ""
+
+msgid "Replace all"
+msgstr ""
+
+msgid "< &Previous"
+msgstr "قبلی >"
+
+msgid "&Next >"
+msgstr "& بعدی >"
+
+msgid "String to find"
+msgstr ""
+
+msgid "Replacement string"
+msgstr ""
#, c-format
msgid "Cannot execute program: %s"
@@ -986,9 +1134,19 @@ msgstr "جدید"
msgid "Edit"
msgstr "ویرایش"
+msgid "Delete extractor"
+msgstr ""
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr ""
+
msgid "Extractors"
msgstr "استخراج کننده"
+msgid "Accounts"
+msgstr ""
+
msgid "Automatically check for updates"
msgstr ""
@@ -1027,8 +1185,35 @@ msgstr ""
msgid "Advanced"
msgstr "پیشرفته"
-msgid "Additional keywords"
-msgstr "واژه های كليدی اضافی"
+msgid ""
+"<big>Drag and Drop Folders Here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid ""
+"<big>Drag and drop folders here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid "Add Folders..."
+msgstr ""
+
+msgid "Add folders..."
+msgstr ""
+
+msgid "Add Files..."
+msgstr ""
+
+msgid "Add files..."
+msgstr ""
+
+msgid "Add Wildcard..."
+msgstr ""
+
+msgid "Add wildcard..."
+msgstr ""
msgid "Paths"
msgstr "مسیرها"
@@ -1036,6 +1221,9 @@ msgstr "مسیرها"
msgid "Excluded paths"
msgstr "مسیر های جدا شده"
+msgid "Additional keywords"
+msgstr "واژه های كليدی اضافی"
+
msgid "Name of the project the translation is for"
msgstr ""
@@ -1048,6 +1236,9 @@ msgstr ""
msgid "Please save the file first. This section cannot be edited until then."
msgstr ""
+msgid "Comment:"
+msgstr "توضیح:"
+
msgid "OK"
msgstr "تایید"
@@ -1057,42 +1248,6 @@ msgstr ""
msgid "Clear the comment"
msgstr "پاک کردن توضیح"
-msgid "Find..."
-msgstr "یافتن..."
-
-msgid "String to find:"
-msgstr "رشتهای برای یافتن: "
-
-msgid "Case sensitive"
-msgstr "کازه"
-
-msgid "Start from the first item"
-msgstr "شروع از اولین مورد"
-
-msgid "Whole words only"
-msgstr "فقط کلمه کامل"
-
-msgid "Find in original strings"
-msgstr "یافتن در رشتههای اصلی "
-
-msgid "Find in translations"
-msgstr ""
-
-msgid "Find in comments"
-msgstr "یافتن در توضیحات"
-
-msgid "Find in automatic comments"
-msgstr "یافتن در ترجمهها"
-
-msgid "Close"
-msgstr "ببند"
-
-msgid "< &Previous"
-msgstr "قبلی >"
-
-msgid "&Next >"
-msgstr "& بعدی >"
-
msgid "Create new translations project"
msgstr "ایجاد یک پروژهی ترجمه جدید"
@@ -1147,6 +1302,12 @@ msgstr "&باز کردن..."
msgid "Open Recent"
msgstr ""
+msgid "Open from Crowdin..."
+msgstr ""
+
+msgid "Open From Crowdin..."
+msgstr ""
+
msgid "&Save"
msgstr "&ذخیره"
@@ -1195,14 +1356,17 @@ msgstr ""
msgid "&Find..."
msgstr "&یافتن..."
+msgid "Replace..."
+msgstr ""
+
msgid "Find next"
msgstr "یافتن بعدی"
msgid "Find previous"
msgstr "یافتن قبلی"
-msgid "Find"
-msgstr "یافتن"
+msgid "Find and Replace..."
+msgstr ""
msgid "Find Next"
msgstr "یافتن بعدی"
@@ -1243,6 +1407,12 @@ msgstr "& گروه بندی بر اساس زمینه"
msgid "&Group By Context"
msgstr "& گروه بندی بر اساس زمینه"
+msgid "Entries with errors first"
+msgstr ""
+
+msgid "Entries with Errors First"
+msgstr ""
+
msgid "&Untranslated entries first"
msgstr "اول ورود ترجمه نشده ها"
@@ -1252,6 +1422,9 @@ msgstr "اول ورود ترجمه نشده ها"
msgid "Show sidebar"
msgstr "نمایش نوار جانبی"
+msgid "Show status bar"
+msgstr ""
+
msgid "C&atalog"
msgstr "پوشه"
@@ -1267,6 +1440,9 @@ msgstr "بروزسازی از پرونده &POT..."
msgid "Update from &POT File..."
msgstr "بروزسازی از پرونده POT..."
+msgid "Sync with Crowdin"
+msgstr ""
+
msgid "Fill missing translations from &TM..."
msgstr ""
@@ -1388,6 +1564,9 @@ msgstr ""
msgid "Catalog properties"
msgstr ""
+msgid "Project name and version:"
+msgstr "نسخه و نام پروژه:"
+
msgid "Plural Forms:"
msgstr "حالتهای جمع:"
@@ -1400,6 +1579,15 @@ msgstr ""
msgid "Learn about plural forms"
msgstr ""
+msgid "Charset:"
+msgstr "مجموعهنویسه:"
+
+msgid "Team:"
+msgstr "گروه:"
+
+msgid "Team's email address:"
+msgstr "نشانی پست الکترونیکی گروه:"
+
msgid "Translation properties"
msgstr ""
@@ -1470,8 +1658,8 @@ msgstr "پوشه بروزسازی - همزمان سازی آن با منابع"
msgid "Toggled if selected string has fuzzy translation"
msgstr "تعویض اگر رشته انتخاب شده ترجمه نامعلوم دارد"
-msgid "Show or hide the sidebar."
-msgstr "نمایش یا عدم نمایش نوار."
+msgid "Show or hide the sidebar"
+msgstr "نمایش یا عدم نمایش نوار"
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
msgid "Previous source text:"
@@ -1482,6 +1670,9 @@ msgid ""
"translation corresponds to."
msgstr ""
+msgid "Notes for translators:"
+msgstr "یادداشت ها برای مترجمان:"
+
msgid "Add comment"
msgstr "اضافه کردن نظر"
@@ -1554,14 +1745,21 @@ msgstr "ویرایش ترجمه"
msgid "Open an existing PO file and edit the translation."
msgstr ""
-msgid "Create new translation"
-msgstr "ایجاد ترجمه جدید"
-
msgid ""
"Take an existing PO file or POT template and create a new translation from "
"it."
msgstr ""
+msgid "Collaborate on a translation with Crowdin"
+msgstr ""
+
+msgid ""
+"Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+
+msgid "What is Crowdin?"
+msgstr ""
+
msgid "There are no translations. That’s unusual."
msgstr ""
@@ -1594,3 +1792,9 @@ msgstr ""
msgid "Configure source code extraction in Properties."
msgstr ""
+
+msgid "Sync"
+msgstr ""
+
+msgid "Synchronize the translation with Crowdin"
+msgstr ""
diff --git a/locales/fi.mo b/locales/fi.mo
index ee44a43..852e6e2 100644
Binary files a/locales/fi.mo and b/locales/fi.mo differ
diff --git a/locales/fi.po b/locales/fi.po
index 904f5f2..0b7a7e9 100644
--- a/locales/fi.po
+++ b/locales/fi.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:33-0400\n"
+"POT-Creation-Date: 2015-05-13 18:47+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Finnish\n"
"Language: fi_FI\n"
@@ -28,12 +28,12 @@ msgstr "Älä näytä enää"
#, c-format
msgid "%i line of file '%s' was not loaded correctly."
msgid_plural "%i lines of file '%s' were not loaded correctly."
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "%i rivi tiedostosta ”%s” ei latautunut oikein."
+msgstr[1] "%i riviä tiedostosta ”%s” ei latautunut oikein."
#, c-format
msgid "Line %d of file '%s' is corrupted (not valid %s data)."
-msgstr ""
+msgstr "Rivi %d tiedostossa ”%s” on korruptoitunut (ei kelvollista %s-dataa)."
#, c-format
msgid "Malformed header: '%s'"
@@ -93,6 +93,15 @@ msgstr ""
msgid "Error saving catalog"
msgstr "Virhe katalogia tallennettaessa"
+msgid "PO Translation Files"
+msgstr "PO-käännöstiedostot"
+
+msgid "POT Translation Templates"
+msgstr "POT-käännöspohjat"
+
+msgid "All Translation Files"
+msgstr "Kaikki käännöstiedostot"
+
msgid "Merging differences..."
msgstr "Yhdistetään eroavaisuuksia..."
@@ -112,8 +121,88 @@ msgstr "Kielen valinta"
msgid "You must restart Poedit for this change to take effect."
msgstr "Poedit täytyy käynnistää uudestaan muutoksien käyttöön ottamiseksi."
-msgid "&Copy"
+msgid "Downloading translations is disabled in this project."
+msgstr "Käännösten lataus on poistettu käytöstä tässä projektissa."
+
+msgid "Not authorized, please sign in again."
+msgstr "Ei valtuutusta; kirjaudu uudelleen."
+
+msgid "Sign in to Crowdin"
+msgstr "Kirjaudu Crowdiniin"
+
+msgid ""
+"Crowdin is an online localization management platform and collaborative "
+"translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
msgstr ""
+"Crowdin on verkossa toimiva lokalisoinninhallinta-alusta ja yhteistyökalu "
+"kääntämiseen. Poedit osaa saumattomasti synkronoida Crowdinissa hallittuja "
+"PO-tiedostoja."
+
+msgid "Sign In"
+msgstr "Kirjaudu"
+
+msgid "Sign in"
+msgstr "Kirjaudu"
+
+msgid "Sign Out"
+msgstr "Kirjaudu ulos"
+
+msgid "Sign out"
+msgstr "Kirjaudu ulos"
+
+msgid "Waiting for authentication…"
+msgstr "Odotetaan todennusta..."
+
+msgid "Updating user information…"
+msgstr "Päivitetään käyttäjätietoja..."
+
+msgid "Signed in as:"
+msgstr "Kirjautuneena käyttäjänä:"
+
+msgid "Learn More About Crowdin"
+msgstr "Lisätietoja Crowdinista"
+
+msgid "Learn more about Crowdin"
+msgstr "Lisätietoja Crowdinista"
+
+msgid "Open Crowdin translation"
+msgstr "Avaa Crowdin-käännös"
+
+msgid "Project:"
+msgstr "Projekti:"
+
+msgid "Language:"
+msgstr "Kieli:"
+
+msgid "File:"
+msgstr "Tiedosto:"
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr "Crowdin-tiliisi ei liity käännösprojekteja."
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr "Tässä projektissa ei ole Poeditillä käännettäviä tiedostoja."
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr "Tätä tiedostoa voi muokata vain Crowdinin web-käyttöliittymässä."
+
+msgid "Downloading latest translations…"
+msgstr "Ladataan uusimmat käännökset..."
+
+msgid "Syncing with Crowdin"
+msgstr "Synkronoidaan Crowdiniin"
+
+msgid "Syncing with Crowdin failed."
+msgstr "Synkronointi Crowdiniin epäonnistui."
+
+msgid "Crowdin error"
+msgstr "Crowdin-virhe"
+
+msgid "Uploading translations…"
+msgstr "Lähetetään käännöksiä..."
+
+msgid "&Copy"
+msgstr "&Kopioi"
msgid "Learn more"
msgstr "Lisätietoja"
@@ -137,41 +226,40 @@ msgid "Parsing %s files..."
msgstr "Jäsennetään %s tiedostoa..."
msgid "Failed to load extracted catalog."
-msgstr "Puretun katalogin lataaminen epäonnistui."
+msgstr "Poimitun katalogin lataaminen epäonnistui."
msgid "&Help"
msgstr "&Ohje"
msgid "MO files can’t be directly edited in Poedit."
-msgstr ""
+msgstr "MO-tiedostoja ei voi suoraan muokata Poeditillä."
msgid "Error opening file"
-msgstr ""
+msgstr "Virhe tiedoston avaamisessa"
msgid ""
"Please open and edit the corresponding PO file instead. When you save it, "
"the MO file will be updated as well."
msgstr ""
+"Avaa ja muokkaa sen sijaan vastaavaa PO-tiedostoa. Kun se tallennetaan, MO-"
+"tiedosto päivittyy samalla."
msgid "don't delete temporary files (for debugging)"
msgstr "älä poista tilapäistiedostoja (vianjäljitystä varten)"
+msgid "handle a poedit:// URI"
+msgstr "käsittele poedit://-osoite"
+
#, c-format
msgid "Unhandled exception occurred: %s"
-msgstr ""
+msgstr "Tapahtui käsittelemätön poikkeus: %s"
msgid "Unhandled exception occurred."
-msgstr ""
+msgstr "Tapahtui käsittelemätön poikkeus."
msgid "Open catalog"
msgstr "Avaa katalogi"
-msgid "All Files"
-msgstr "Kaikki tiedostot"
-
-msgid "PO Translation Files"
-msgstr "PO-käännöstiedostot"
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "Tiedostoa ”%s” ei ole olemassa."
@@ -180,7 +268,7 @@ msgstr "Tiedostoa ”%s” ei ole olemassa."
#. ("Poedit" here, but please use "%s")
#, c-format
msgid "About %s"
-msgstr "Tietoja %s-ohjelmasta"
+msgstr "Tietoja: %s"
#. TRANSLATORS: This is version information in about dialog, "%s" will be
#. version number when used
@@ -276,19 +364,19 @@ msgid "&View"
msgstr "&Näytä"
msgid "Enter Full Screen"
-msgstr ""
+msgstr "Siirry koko näytön tilaan"
msgid "Window"
msgstr "Ikkuna"
msgid "Minimize"
-msgstr ""
+msgstr "Pienennä"
msgid "Zoom"
-msgstr ""
+msgstr "Zoomaa"
msgid "Bring All to Front"
-msgstr ""
+msgstr "Tuo kaikki eteen"
msgid "PO Translation"
msgstr "PO-käännös"
@@ -304,34 +392,34 @@ msgid ""
msgstr "Tiedosto voi olla joko vioittunut tai muodossa, jota Poedit ei tunne."
msgid "&Undo"
-msgstr ""
+msgstr "K&umoa"
msgid "&Redo"
-msgstr ""
+msgstr "&Tee uudelleen"
msgid "Cu&t"
-msgstr ""
+msgstr "&Leikkaa"
msgid "Cut"
-msgstr ""
+msgstr "Leikkaa"
msgid "Copy"
-msgstr ""
+msgstr "Kopioi"
msgid "&Paste"
-msgstr ""
+msgstr "L&iitä"
msgid "Paste"
-msgstr ""
+msgstr "Sijoita"
msgid "&Delete"
-msgstr ""
+msgstr "&Poista"
msgid "Select &All"
-msgstr ""
+msgstr "Valitse k&aikki"
msgid "Select All"
-msgstr ""
+msgstr "Valitse kaikki"
#. TRANSLATORS: Keyboard shortcut for display in Windows menus
#. TRANSLATORS: This is the key shortcut used in menus on Windows, some languages call them differently
@@ -385,7 +473,7 @@ msgid "&File"
msgstr "&Tiedosto"
msgid "&Go"
-msgstr "&Mene"
+msgstr "&Siirry"
msgid "Source text:"
msgstr "Lähdeteksti:"
@@ -399,6 +487,19 @@ msgstr "Monikko:"
msgid "Translation:"
msgstr "Käännös:"
+msgid ""
+"POT files are only templates and don’t contain any translations themselves.\n"
+"To make a translation, create a new PO file based on the template."
+msgstr ""
+"POT-tiedostot ovat pelkkiä käännöspohjia, eivätkä itse sisällä käännöksiä.\n"
+"Tee käännös luomalla uusi PO-tiedosto käännöspohjan perusteella."
+
+msgid "Create New Translation"
+msgstr "Luo uusi käännös"
+
+msgid "Create new translation"
+msgstr "Luo uusi käännös"
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
@@ -406,9 +507,11 @@ msgstr "Käännös:"
msgid ""
"Spellchecking is disabled, because the dictionary for %s isn’t installed."
msgstr ""
+"Oikeinkirjoituksen tarkistus on poissa käytöstä, koska kielelle %s ei ole "
+"asennettu sanakirjaa."
msgid "Install"
-msgstr ""
+msgstr "Asenna"
msgid "Catalog modified. Do you want to save changes?"
msgstr "Katalogia muokattu. Haluatko tallentaa muutokset?"
@@ -432,10 +535,10 @@ msgid "Save as..."
msgstr "Tallenna nimellä..."
msgid "Compile to..."
-msgstr ""
+msgstr "Muunna..."
msgid "Compiled Translation Files"
-msgstr ""
+msgstr "Muunnetut käännöstiedostot"
msgid "Export as..."
msgstr "Vie tiedosto..."
@@ -446,22 +549,21 @@ msgstr "HTML-tiedostot"
msgid "Open catalog template"
msgstr "Avaa katalogimallipohja"
-msgid "POT Translation Templates"
-msgstr ""
-
msgid "Updating catalog"
msgstr "Päivitetään katalogia"
msgid "Source code not available."
-msgstr ""
+msgstr "Lähdekoodi ei ole käytettävissä."
msgid "Updating failed"
-msgstr ""
+msgstr "Päivitys epäonnistui"
msgid ""
"Translations couldn’t be updated from the source code, because no code was "
"found in the location specified in the catalog’s Properties."
msgstr ""
+"Käännösten päivittäminen lähdekoodista ei onnistunut, koska katalogin "
+"ominaisuuksissa annetusta sijainnista ei löytynyt koodia."
msgid "Entries in the catalog are probably incorrect."
msgstr "Katalogin merkinnät ovat todennäköisesti virheelliset."
@@ -507,9 +609,10 @@ msgid ""
"The file was compiled into the MO format, but it will probably not work "
"correctly."
msgstr ""
+"Tiedosto muunnettiin MO-muotoon, mutta se ei todennäköisesti toimi oikein."
msgid "The file cannot be compiled into the MO format and used."
-msgstr ""
+msgstr "Tiedostoa ei voi muuntaa MO-muotoon eikä sitä voi käyttää."
msgid "No problems with the translation found."
msgstr "Käännöksestä ei löytynyt ongelmia."
@@ -524,27 +627,50 @@ msgstr[1] "Käännös on käyttövalmis, mutta %d viestiä on vielä kääntäm
msgid "The translation is ready for use."
msgstr "Käännös on käyttövalmis."
-msgid "No references to this string found."
-msgstr "Viittauksia tähän merkkijonoon ei löytynyt."
-
-msgid "Please choose the reference you want to show:"
-msgstr "Näytä viite, jonka haluat näyttää:"
-
-msgid "References"
-msgstr "Viitteet"
-
msgid "Context:"
msgstr "Asiayhteys:"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr "Poedit korjasi automaattisesti tiedoston ”%s” virheellisen sisällön."
+
+msgid ""
+"The file contained duplicate items, which is not allowed in PO files and "
+"would prevent the file from being used. Poedit fixed the issue, but you "
+"should review translations of any items marked as fuzzy and correct them if "
+"necessary."
+msgstr ""
+"Tiedosto sisälsi kahdenkertaisia kohtia, mikä ei ole sallittua PO-"
+"tiedostoissa ja estäisi tiedoston käytön. Poedit korjasi ongelman, mutta "
+"käännöksestä on syytä käydä läpi kaikki vajaiksi merkityt viestit ja "
+"tarvittaessa korjata ne."
+
msgid "Language of the translation isn't set."
msgstr "Käännöksen kieltä ei ole vielä asetettu."
msgid "Set Language"
-msgstr ""
+msgstr "Aseta kieli"
msgid "Set language"
msgstr "Aseta kieli"
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid ""
+"Suggestions are not available if the translation language is not set "
+"correctly. Other features, such as plural forms, may be affected as well."
+msgstr ""
+"Ehdotukset eivät ole käytettävissä, jos käännöksen kieltä ei ole asetettu "
+"oikein. Muut ominaisuudet, kuten monikkomuodot, voivat myös toimia väärin."
+
+msgid "Language of the translation is the same as source language."
+msgstr "Käännöksen kieli on sama kuin lähdekieli."
+
+msgid "Fix Language"
+msgstr "Korjaa kieli"
+
+msgid "Fix language"
+msgstr "Korjaa kieli"
+
msgid ""
"This catalog has entries with plural forms, but doesn't have Plural-Forms "
"header configured."
@@ -567,7 +693,7 @@ msgid "Syntax error in Plural-Forms header (\"%s\")."
msgstr "Kielioppivirhe Plural-Forms -otsakkeessa (”%s”)."
msgid "Fix the Header"
-msgstr ""
+msgstr "Korjaa otsake"
msgid "Fix the header"
msgstr "Korjaa otsake"
@@ -580,6 +706,7 @@ msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr ""
"Katalogissa käytetty Plural-Forms-lauseke on epätavallinen kielelle %s."
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr "Katselmointi"
@@ -593,13 +720,19 @@ msgstr "Käännetty: %d/%d (%d %%)"
#, c-format
msgid "Remaining: %d"
-msgstr ""
+msgstr "Jäljellä: %d"
#, c-format
msgid "%d error"
msgid_plural "%d errors"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "%d virhe"
+msgstr[1] "%d virhettä"
+
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] "%d viesti"
+msgstr[1] "%d viestiä"
msgid " (unsaved)"
msgstr " (tallentamaton)"
@@ -608,7 +741,7 @@ msgid " (modified)"
msgstr " (muokattu)"
msgid "Go"
-msgstr ""
+msgstr "Siirry"
#, c-format
msgid "Failed to update translation memory: %s"
@@ -636,26 +769,31 @@ msgid "Purge"
msgstr "Puhdista"
msgid "Fill missing translations from TM"
-msgstr ""
+msgstr "Täytä puuttuvat käännökset käännösmuistista"
msgid "Only fill in exact matches"
-msgstr ""
+msgstr "Täytä vain tarkat täsmäävyydet"
msgid ""
"By default, inaccurate results are filled in as well and marked as fuzzy. "
"Check this option to only include accurate matches."
msgstr ""
+"Oletuksena käännökset täytetään myös epätäsmällisten tulosten perustella ja "
+"merkitään vajaiksi. Valitse tämä vaihtoehto, jos haluat käyttää vain "
+"tarkasti täsmääviä."
msgid "Don’t mark exact matches as fuzzy"
-msgstr ""
+msgstr "Älä merkitse tarkkoja täsmäävyyksiä vajaiksi"
msgid ""
"Only enable if you trust the quality of your TM. By default, all matches "
"from the TM are marked as fuzzy and should be reviewed."
msgstr ""
+"Ota käyttöön vain, jos luotat käännösmuistin laatuun. Muussa tapauksessa "
+"kaikki täsmäävyydet merkitään vajaiksi ja ne on syytä tarkistaa."
msgid "Fill"
-msgstr ""
+msgstr "Täytä"
#, c-format
msgid "%d entry was filled from the translation memory."
@@ -667,7 +805,7 @@ msgid ""
"The translations were marked as fuzzy, because they may be inaccurate. You "
"should review them for correctness."
msgstr ""
-"Käännökset merkittiin epätarkoiksi. Ne on syytä käydä läpi oikeellisuuden "
+"Käännökset merkittiin vajaiksi. Ne on syytä käydä läpi oikeellisuuden "
"varmistamiseksi."
msgid "No entries could be filled from the translation memory."
@@ -692,8 +830,8 @@ msgstr "Täydennetään puuttuvat käännökset käännösmuistista..."
#, c-format
msgid "Translated %u string"
msgid_plural "Translated %u strings"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Käännetty %u merkkijono"
+msgstr[1] "Käännetty %u merkkijonoa"
msgid "Copy from source text"
msgstr "Kopioi lähdetekstistä"
@@ -723,6 +861,9 @@ msgstr "Kaikki"
msgid "Form %i"
msgstr "Muoto %i"
+msgid "Singular"
+msgstr "Yksikkö"
+
msgid "Zero"
msgstr "Nolla"
@@ -732,6 +873,9 @@ msgstr "Yksi"
msgid "Two"
msgstr "Kaksi"
+msgid "Plural"
+msgstr "Monikko"
+
msgid "Other"
msgstr "Muut"
@@ -760,6 +904,12 @@ msgstr "Piilota sivupalkki"
msgid "Show Sidebar"
msgstr "Näytä sivupalkki"
+msgid "Hide Status Bar"
+msgstr "Piilota tilarivi"
+
+msgid "Show Status Bar"
+msgstr "Näytä tilarivi"
+
msgid "Source text"
msgstr "Lähdeteksti"
@@ -769,6 +919,10 @@ msgstr "Käännös"
msgid "ID"
msgstr "ID"
+#, c-format
+msgid "Source text — %s"
+msgstr "Lähdeteksti — %s"
+
msgid "unknown language"
msgstr "tuntematon kieli"
@@ -779,57 +933,73 @@ msgstr "Käännös — %s"
msgid "Error:"
msgstr "Virhe:"
-msgid "Project info"
-msgstr "Projektin tiedot"
+msgid "Source file"
+msgstr "Lähdetiedosto"
-msgid "Project name and version:"
-msgstr "Projektin nimi ja versio:"
+msgid "Source file occurrence:"
+msgstr "Lähdetiedoston esiintymä:"
-msgid "Language:"
-msgstr "Kieli:"
+msgid "Open in Editor"
+msgstr "Avaa editorissa"
-msgid "Team:"
-msgstr "Tiimi:"
+msgid "Open in editor"
+msgstr "Avaa editorissa"
-msgid "Team's email address:"
-msgstr "Tiimin sähköpostiosoite:"
+msgid "No references for the selected item."
+msgstr "Ei viittauksia valittuun kohteeseen."
-msgid "Charset:"
-msgstr "Merkistö:"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "Virhe tiedostoa %s avattaessa!"
-msgid "Source"
-msgstr "Lähde"
+msgid "Find"
+msgstr "Etsi"
-msgid "Notes"
-msgstr "Muistiinpanot"
+msgid "Replace"
+msgstr "Korvaa"
-msgid "Automatic translation"
-msgstr "Automaattinen käännös"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr "Valinnat"
-msgid "Fuzzy translation"
-msgstr "Epätarkka käännös"
+msgid "Ignore case"
+msgstr "Älä huomioi kirjainkokoa"
-msgid "Notes for translators:"
-msgstr "Huomautukset kääntäjille:"
+msgid "Wrap around"
+msgstr "Jatka alusta"
-msgid "Comment:"
-msgstr "Kommentti:"
+msgid "Whole words only"
+msgstr "Vain kokonaiset sanat"
-msgid "Source file"
-msgstr "Lähdetiedosto"
+msgid "Find in source texts"
+msgstr "Etsi lähdeteksteistä"
-msgid "Source file occurrence:"
-msgstr "Lähdetiedoston esiintymä:"
+msgid "Find in translations"
+msgstr "Etsi käännöksistä"
-msgid "Open in Editor"
-msgstr ""
+msgid "Find in comments"
+msgstr "Hae kommenteista"
-msgid "Open in editor"
-msgstr ""
+msgid "Close"
+msgstr "Sulje"
-#, c-format
-msgid "Error opening file %s!"
-msgstr "Virhe tiedostoa %s avattaessa!"
+msgid "Replace All"
+msgstr "Korvaa kaikki"
+
+msgid "Replace all"
+msgstr "Korvaa kaikki"
+
+msgid "< &Previous"
+msgstr "< &Edellinen"
+
+msgid "&Next >"
+msgstr "&Seuraava >"
+
+msgid "String to find"
+msgstr "Etsittävä teksti"
+
+msgid "Replacement string"
+msgstr "Korvaava teksti"
#, c-format
msgid "Cannot execute program: %s"
@@ -857,7 +1027,7 @@ msgid "Untrans"
msgstr "Ei käänn"
msgid "Fuzzy"
-msgstr "Epätarkka"
+msgstr "Vajaa"
msgid "Bad Tokens"
msgstr "Virheelliset merkit"
@@ -888,7 +1058,7 @@ msgstr ""
"tämän projektin kaikki katalogit?"
msgid "Information about the translator"
-msgstr ""
+msgstr "Tietoja kääntäjästä"
msgid "Name:"
msgstr "Nimi:"
@@ -906,12 +1076,14 @@ msgid ""
"Your name and email address are only used to set the Last-Translator header "
"of GNU gettext files."
msgstr ""
+"Nimeäsi ja sähköpostiosoitettasi käytetään ainoastaan GNU-gettext-"
+"tiedostojen Last-Translator-otsakkeessa."
msgid "Editing"
-msgstr ""
+msgstr "Muokkaus"
msgid "Automatically compile MO file when saving"
-msgstr ""
+msgstr "Muunna automaattisesti MO-tiedostoksi tallennettaessa"
msgid "Show summary after catalog update"
msgstr "Näytä yhteenveto katalogin päivityksen jälkeen"
@@ -936,20 +1108,20 @@ msgid "Appearance"
msgstr "Ulkoasu"
msgid "Use custom list font:"
-msgstr ""
+msgstr "Listan fontti:"
msgid "Use custom text fields font:"
-msgstr ""
+msgstr "Tekstikenttien fontti:"
msgid "Change UI language"
msgstr "Vaihda käyttöliittymän kieli"
#. TRANSLATORS: This is a note appended to "Check spelling" when running on older Windows versions
msgid "(requires Windows 8 or newer)"
-msgstr ""
+msgstr "(vaatii Windows 8:n tai uudemman)"
msgid "General"
-msgstr ""
+msgstr "Yleiset"
msgid "Use translation memory"
msgstr "Käytä käännösmuistia"
@@ -958,11 +1130,11 @@ msgid "Learn From Files..."
msgstr "Opi tiedostoista..."
msgid "Learn from files..."
-msgstr ""
+msgstr "Opi tiedostoista..."
#. TRANSLATORS: This is a button that deletes everything in the translation memory (i.e. clears/resets it).
msgid "Reset"
-msgstr ""
+msgstr "Tyhjennä"
msgid "Consult TM when updating from sources"
msgstr "Hyödynnä käännösmuistia päivitettäessä lähteistä"
@@ -997,15 +1169,17 @@ msgid "Finalizing..."
msgstr "Viimeistellään..."
msgid "Reset translation memory"
-msgstr ""
+msgstr "Tyhjennä käännösmuisti"
msgid "Are you sure you want to reset the translation memory?"
-msgstr ""
+msgstr "Haluatko varmasti tyhjentää käännösmuistin?"
msgid ""
"Resetting the translation memory will irrevocably delete all stored "
"translations from it. You can’t undo this operation."
msgstr ""
+"Käännösmuistin tyhjentäminen tuhoaa kaikki sen sisältämät käännökset "
+"peruuttamattomasti. Tätä toimenpidettä ei voi perua."
msgid "Cancel"
msgstr "Peruuta"
@@ -1014,12 +1188,15 @@ msgstr "Peruuta"
#. Long text looks weird there, too short (like TM) too, but less so. "General" is about ideal
#. length there.
msgid "TM"
-msgstr ""
+msgstr "Muisti"
msgid ""
"Source code extractors are used to find translatable strings in the source "
"code files and extract them so that they can be translated."
msgstr ""
+"Lähdekoodipoimimia käytetään käännettävien tekstien etsimiseen "
+"lähdekooditiedostoista sekä näiden tekstien poimimiseen käännöksen tekemistä "
+"varten."
msgid "New"
msgstr "Uusi"
@@ -1027,11 +1204,21 @@ msgstr "Uusi"
msgid "Edit"
msgstr "Muokkaa"
+msgid "Delete extractor"
+msgstr "Poista poimin"
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr "Haluatko varmasti poistaa “%s“-poimimen?"
+
msgid "Extractors"
-msgstr ""
+msgstr "Poimimet"
+
+msgid "Accounts"
+msgstr "Tilit"
msgid "Automatically check for updates"
-msgstr ""
+msgstr "Tarkasta päivitykset automaattisesti"
msgid "Include beta versions"
msgstr "Tarkasta myös beta-versiot"
@@ -1040,17 +1227,21 @@ msgid ""
"Beta versions contain the latest new features and improvements, but may be a "
"bit less stable."
msgstr ""
+"Beta-versiot sisältävät uusimmat ominaisuudet ja parannukset, mutta "
+"saattavat olla hieman epävakaampia."
msgid "Updates"
-msgstr ""
+msgstr "Päivitykset"
msgid ""
"These settings affect internal formatting of PO files. Adjust them if you "
"have specific requirements e.g. because of version control."
msgstr ""
+"Nämä asetukset vaikuttavat PO-tiedostojen sisäiseen muotoiluun. Niitä voi "
+"tarvittaessa muuttaa esim. versionhallinnasta johtuvien vaatimusten vuoksi."
msgid "Line endings:"
-msgstr ""
+msgstr "Rivinvaihdot:"
msgid "Unix (recommended)"
msgstr "Unix (suositeltu)"
@@ -1060,22 +1251,58 @@ msgstr "Windows"
#. TRANSLATORS: Followed by text control for entering number; wraps text at given width
msgid "Wrap at:"
-msgstr ""
+msgstr "Rivitys:"
msgid "Preserve formatting of existing files"
-msgstr ""
+msgstr "Säilytä olemassa olevien tiedostojen muotoilu"
msgid "Advanced"
msgstr "Lisäasetukset"
-msgid "Additional keywords"
-msgstr "Lisäavainsanat"
+msgid ""
+"<big>Drag and Drop Folders Here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+"<big>Vedä ja pudota kansioita tähän</big>\n"
+"\n"
+"tai käytä +-painiketta"
+
+msgid ""
+"<big>Drag and drop folders here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+"<big>Vedä ja pudota kansioita tähän</big>\n"
+"\n"
+"tai käytä +-painiketta"
+
+msgid "Add Folders..."
+msgstr "Lisää kansioita..."
+
+msgid "Add folders..."
+msgstr "Lisää kansioita..."
+
+msgid "Add Files..."
+msgstr "Lisää tiedostoja..."
+
+msgid "Add files..."
+msgstr "Lisää tiedostoja"
+
+msgid "Add Wildcard..."
+msgstr "Lisää korvausmerkki..."
+
+msgid "Add wildcard..."
+msgstr "Lisää korvausmerkki..."
msgid "Paths"
msgstr "Polut"
msgid "Excluded paths"
-msgstr ""
+msgstr "Ohitettavat polut"
+
+msgid "Additional keywords"
+msgstr "Lisäavainsanat"
msgid "Name of the project the translation is for"
msgstr "Projektin nimi, jolle tämä käännös on tarkoitettu"
@@ -1089,6 +1316,9 @@ msgstr "UTF-8 (suositeltu)"
msgid "Please save the file first. This section cannot be edited until then."
msgstr "Tallenna tiedosto ensin. Tätä osaa ei voi muokata sitä ennen."
+msgid "Comment:"
+msgstr "Kommentti:"
+
msgid "OK"
msgstr "OK"
@@ -1098,42 +1328,6 @@ msgstr "T&yhjennä"
msgid "Clear the comment"
msgstr "Tyhjennä kommentti"
-msgid "Find..."
-msgstr "Etsi..."
-
-msgid "String to find:"
-msgstr "Haettava merkkijono:"
-
-msgid "Case sensitive"
-msgstr "Kirjasinkoko vaikuttaa"
-
-msgid "Start from the first item"
-msgstr "Aloita ensimmäisestä kohteesta"
-
-msgid "Whole words only"
-msgstr "Vain kokonaiset sanat"
-
-msgid "Find in original strings"
-msgstr "Hae alkuperäisistä merkkijonoista"
-
-msgid "Find in translations"
-msgstr "Etsi käännöksistä"
-
-msgid "Find in comments"
-msgstr "Hae kommenteista"
-
-msgid "Find in automatic comments"
-msgstr "Hae automaattisista kommenteista"
-
-msgid "Close"
-msgstr "Sulje"
-
-msgid "< &Previous"
-msgstr "< &Edellinen"
-
-msgid "&Next >"
-msgstr "&Seuraava >"
-
msgid "Create new translations project"
msgstr "Luo uusi käännösprojekti"
@@ -1186,7 +1380,13 @@ msgid "&Open..."
msgstr "&Avaa..."
msgid "Open Recent"
-msgstr ""
+msgstr "Avaa äskettäinen"
+
+msgid "Open from Crowdin..."
+msgstr "Avaa Crowdinista..."
+
+msgid "Open From Crowdin..."
+msgstr "Avaa Crowdinista..."
msgid "&Save"
msgstr "Ta&llenna"
@@ -1198,7 +1398,7 @@ msgid "Save &As..."
msgstr "Tallenna &nimellä..."
msgid "Compile to MO..."
-msgstr ""
+msgstr "Muunna MO-muotoon..."
msgid "E&xport as HTML..."
msgstr "&Vie HTML-muodossa..."
@@ -1213,10 +1413,10 @@ msgid "Catalogs &Manager"
msgstr "Katalo&gien hallinta"
msgid "Translation is &fuzzy"
-msgstr "Käännös on &epätarkka"
+msgstr "Käännös on &vajaa"
msgid "Translation Is &Fuzzy"
-msgstr "Käännös on &epätarkka"
+msgstr "Käännös on &vajaa"
msgid "Edit &comment"
msgstr "Muokkaa &kommenttia"
@@ -1236,14 +1436,17 @@ msgstr "&Näytä viittaukset"
msgid "&Find..."
msgstr "E&tsi..."
+msgid "Replace..."
+msgstr "Korvaa..."
+
msgid "Find next"
msgstr "Etsi seuraava"
msgid "Find previous"
msgstr "Etsi edellinen"
-msgid "Find"
-msgstr "Etsi"
+msgid "Find and Replace..."
+msgstr "Etsi ja korvaa..."
msgid "Find Next"
msgstr "Etsi seuraava"
@@ -1279,10 +1482,16 @@ msgid "Sort by &Translation"
msgstr "Järjestä &käännöksen mukaan"
msgid "&Group by context"
-msgstr ""
+msgstr "&Ryhmittele konteksteittain"
msgid "&Group By Context"
-msgstr ""
+msgstr "&Ryhmittele konteksteittain"
+
+msgid "Entries with errors first"
+msgstr "Virheitä sisältävät ensin"
+
+msgid "Entries with Errors First"
+msgstr "Virheitä sisältävät ensin"
msgid "&Untranslated entries first"
msgstr "Kääntämättö&mät ensin"
@@ -1293,6 +1502,9 @@ msgstr "Kääntämättö&mät ensin"
msgid "Show sidebar"
msgstr "Näytä sivupalkki"
+msgid "Show status bar"
+msgstr "Näytä tilarivi"
+
msgid "C&atalog"
msgstr "K&atalogi"
@@ -1308,11 +1520,14 @@ msgstr "Päivitä &POT-tiedostosta..."
msgid "Update from &POT File..."
msgstr "Päivitä &POT-tiedostosta..."
+msgid "Sync with Crowdin"
+msgstr "Synkronoi Crowdiniin"
+
msgid "Fill missing translations from &TM..."
-msgstr ""
+msgstr "Täytä puuttuvat käännökset käännös&muistista..."
msgid "Fill Missing Translations from &TM..."
-msgstr ""
+msgstr "Täytä puuttuvat käännökset käännös&muistista..."
msgid "&Purge deleted translations"
msgstr "P&uhdista poistetut käännökset"
@@ -1378,7 +1593,7 @@ msgid "&About"
msgstr "&Tietoja"
msgid "Extractor setup"
-msgstr ""
+msgstr "Poimimen asetukset"
msgid "List of extensions separated by semicolons (e.g. *.cpp;*.h):"
msgstr "Lista tiedostopäätteistä eroteltuna puolipisteillä (esim. *.cpp;*.h):"
@@ -1387,7 +1602,7 @@ msgid "Invocation:"
msgstr "Suoritus:"
msgid "Command to extract translations:"
-msgstr ""
+msgstr "Komento käännettävien tekstien poimimiseen:"
msgid ""
"This is the command used to launch the extractor.\n"
@@ -1395,6 +1610,10 @@ msgid ""
"of keywords, %F to list of input files,\n"
"%C to charset flag (see below)."
msgstr ""
+"Tätä komentoa käytetään poimimen suorittamiseen.\n"
+"%o laajennetaan tulostiedoston nimeksi, %K avainsana-\n"
+"listaksi, %F syötetiedostojen listaksi,\n"
+"%C merkistölipuksi (ks. alempaa)."
msgid "An item in keywords list:"
msgstr "Kohde avainsanalistassa:"
@@ -1431,6 +1650,9 @@ msgstr ""
msgid "Catalog properties"
msgstr "Katalogin ominaisuudet"
+msgid "Project name and version:"
+msgstr "Projektin nimi ja versio:"
+
msgid "Plural Forms:"
msgstr "Monikkomuodot:"
@@ -1443,6 +1665,15 @@ msgstr "Käytä omaa lauseketta"
msgid "Learn about plural forms"
msgstr "Lisätietoja monikkomuodoista"
+msgid "Charset:"
+msgstr "Merkistö:"
+
+msgid "Team:"
+msgstr "Tiimi:"
+
+msgid "Team's email address:"
+msgstr "Tiimin sähköpostiosoite:"
+
msgid "Translation properties"
msgstr "Käännöksen ominaisuudet"
@@ -1513,19 +1744,24 @@ msgid "Update catalog - synchronize it with sources"
msgstr "Päivityskatalogi - synkronoi se lähteen kanssa"
msgid "Toggled if selected string has fuzzy translation"
-msgstr "Päällä, jos valitussa merkkijonossa on epätarkkoja käännöksiä"
+msgstr "Päällä, jos valitulla tekstillä on vajaa käännös"
-msgid "Show or hide the sidebar."
-msgstr ""
+msgid "Show or hide the sidebar"
+msgstr "Näytä tai piilota sivupalkki"
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
msgid "Previous source text:"
-msgstr ""
+msgstr "Aiempi lähdeteksti:"
msgid ""
"The old source text (before it changed during an update) that the fuzzy "
"translation corresponds to."
msgstr ""
+"Vanha lähdeteksti (ennen sen muuttumista päivityksen aikana), jota vajaa "
+"käännös vastaa."
+
+msgid "Notes for translators:"
+msgstr "Huomautukset kääntäjille:"
msgid "Add comment"
msgstr "Lisää kommentti"
@@ -1538,18 +1774,18 @@ msgstr "Käännösehdotukset:"
#. TRANSLATORS: This is shown when no translation suggestions can be found in the TM (Windows).
msgid "No matches found"
-msgstr ""
+msgstr "Vastaavuuksia ei löydy"
#. TRANSLATORS: This is shown when no translation suggestions can be found in the TM (OS X, Linux).
msgid "No Matches Found"
-msgstr ""
+msgstr "Vastaavuuksia ei löydy"
msgid "This string was found in Poedit’s translation memory."
-msgstr ""
+msgstr "Tämä merkkijono löytyi Poeditin käännösmuistista."
#, c-format
msgid "(New: %i, obsolete: %i)"
-msgstr ""
+msgstr "(Uusi: %i, vanhentunut: %i)"
#, c-format
msgid "Importing translations: %d"
@@ -1607,15 +1843,23 @@ msgstr "Muokkaa käännöstä"
msgid "Open an existing PO file and edit the translation."
msgstr "Avaa olemassa oleva PO-tiedosto ja muokkaa käännöstä."
-msgid "Create new translation"
-msgstr "Luo uusi käännös"
-
msgid ""
"Take an existing PO file or POT template and create a new translation from "
"it."
msgstr ""
"Luo uusi käännös olemassa olevasta PO-tiedostosta tai POT-mallipohjasta."
+msgid "Collaborate on a translation with Crowdin"
+msgstr "Tee käännöstä yhteistyönä Crowdinissa"
+
+msgid ""
+"Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+"Lataa tiedosto Crowdin-projektista, käännä ja synkronoi muutoksesi takaisin."
+
+msgid "What is Crowdin?"
+msgstr "Mikä on Crowdin?"
+
msgid "There are no translations. That’s unusual."
msgstr "Käännöksiä ei ole. Sepä erikoista."
@@ -1655,3 +1899,9 @@ msgstr "Poimi lähdekoodista"
msgid "Configure source code extraction in Properties."
msgstr "Konfiguroi lähdekoodista poimiminen asetuksissa."
+
+msgid "Sync"
+msgstr "Synkronoi"
+
+msgid "Synchronize the translation with Crowdin"
+msgstr "Synkronoi Crowdin-käännökseen"
diff --git a/locales/fr.mo b/locales/fr.mo
index 762198d..d759265 100644
Binary files a/locales/fr.mo and b/locales/fr.mo differ
diff --git a/locales/fr.po b/locales/fr.po
index 319d5cf..88566cf 100644
--- a/locales/fr.po
+++ b/locales/fr.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:33-0400\n"
+"POT-Creation-Date: 2015-05-13 18:47+0200\n"
+"PO-Revision-Date: 2015-05-19 10:48-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: French\n"
"Language: fr_FR\n"
@@ -53,11 +53,11 @@ msgid ""
"corrupted as the result."
msgstr ""
"Il y a eu des erreurs lors du chargement du catalogue. Il se pourrait que "
-"des données manquent ou soient corrompues."
+"des données soient manquantes ou corrompues."
#, c-format
msgid "Couldn't load file %s, it is probably corrupted."
-msgstr "Échec au chargement du fichier %s : il est probablement corrompu."
+msgstr "Échec du chargement du fichier %s : il est probablement corrompu."
#, c-format
msgid ""
@@ -92,6 +92,15 @@ msgstr ""
msgid "Error saving catalog"
msgstr "Erreur d'enregistrement du catalogue"
+msgid "PO Translation Files"
+msgstr "Fichiers de traduction PO"
+
+msgid "POT Translation Templates"
+msgstr "Modèles de traduction POT"
+
+msgid "All Translation Files"
+msgstr "Tous les fichiers de traduction"
+
msgid "Merging differences..."
msgstr "Intégration des changements..."
@@ -111,6 +120,87 @@ msgstr "Sélection de langue"
msgid "You must restart Poedit for this change to take effect."
msgstr "Vous devez redémarrer Poedit pour que ce changement prenne effet."
+msgid "Downloading translations is disabled in this project."
+msgstr "Le téléchargement des traductions est désactivé dans ce projet."
+
+msgid "Not authorized, please sign in again."
+msgstr "Non autorisé, veuillez vous connecter à nouveau."
+
+msgid "Sign in to Crowdin"
+msgstr "Connectez-vous sur Crowdin"
+
+msgid ""
+"Crowdin is an online localization management platform and collaborative "
+"translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+"Crowdin est une plateforme de gestion de localisation en ligne et un outil "
+"de traduction collaborative. Poedit peut parfaitement synchroniser les "
+"fichiers PO avec Crowdin."
+
+msgid "Sign In"
+msgstr "S'identifier"
+
+msgid "Sign in"
+msgstr "S'identifier"
+
+msgid "Sign Out"
+msgstr "Se déconnecter"
+
+msgid "Sign out"
+msgstr "Se déconnecter"
+
+msgid "Waiting for authentication…"
+msgstr "En attente d'authentification..."
+
+msgid "Updating user information…"
+msgstr "Mise à jour des informations de l'utilisateur..."
+
+msgid "Signed in as:"
+msgstr "Connecté en tant que :"
+
+msgid "Learn More About Crowdin"
+msgstr "En savoir plus sur Crowdin"
+
+msgid "Learn more about Crowdin"
+msgstr "En savoir plus sur Crowdin"
+
+msgid "Open Crowdin translation"
+msgstr "Ouvrir la traduction Crowdin"
+
+msgid "Project:"
+msgstr "Projet :"
+
+msgid "Language:"
+msgstr "Langue :"
+
+msgid "File:"
+msgstr "Fichier :"
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr "Aucun projet de traduction listé dans votre compte Crowdin."
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr "Ce projet n'a aucun fichier qui puisse être traduit avec Poedit."
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr ""
+"Ce fichier ne peut être modifié qu'à partir de l'interface web de Crowdin."
+
+msgid "Downloading latest translations…"
+msgstr "Téléchargement des dernières traductions..."
+
+msgid "Syncing with Crowdin"
+msgstr "Synchronisation avec Crowdin"
+
+msgid "Syncing with Crowdin failed."
+msgstr "La synchronisation avec Crowdin a échoué."
+
+msgid "Crowdin error"
+msgstr "Erreur Crowdin"
+
+msgid "Uploading translations…"
+msgstr "Téléchargement des traductions..."
+
msgid "&Copy"
msgstr "&Copier"
@@ -122,7 +212,7 @@ msgstr "En savoir plus"
#, c-format
msgid "Failed command: %s"
-msgstr "Commande en échec : %s"
+msgstr "La commande a échoué : %s"
msgid "Failed to merge gettext catalogs."
msgstr "Échec de la fusion des catalogues gettext."
@@ -133,13 +223,13 @@ msgstr "Analyse des fichiers..."
#. TRANSLATORS: '%s' is replaced with the kind of the files (e.g. C++, PHP, ...)
#, c-format
msgid "Parsing %s files..."
-msgstr "Analyse fichiers %s..."
+msgstr "Analyse de %s fichiers..."
msgid "Failed to load extracted catalog."
-msgstr "Échec du chargement du catalogue extrait."
+msgstr "Échec de chargement du catalogue extrait."
msgid "&Help"
-msgstr "&?"
+msgstr "&Aide"
msgid "MO files can’t be directly edited in Poedit."
msgstr "Les fichiers MO ne peuvent pas être directement modifiés dans Poedit."
@@ -157,6 +247,9 @@ msgstr ""
msgid "don't delete temporary files (for debugging)"
msgstr "ne pas supprimer les fichiers temporaires (à des fins de débogage)"
+msgid "handle a poedit:// URI"
+msgstr "gère une URI de Poedit : // URI"
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr "Une exception non gérée s'est produite : %s"
@@ -167,12 +260,6 @@ msgstr "Une exception non gérée s'est produite."
msgid "Open catalog"
msgstr "Ouvrir un catalogue"
-msgid "All Files"
-msgstr "Tous les fichiers"
-
-msgid "PO Translation Files"
-msgstr "Fichiers de traduction PO"
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "Le fichier « %s » n'existe pas."
@@ -190,13 +277,13 @@ msgid "Version %s"
msgstr "Version %s"
msgid "Poedit is an easy to use translations editor."
-msgstr "Poedit est un éditeur de traductions simple à utiliser."
+msgstr "Poedit est un logiciel de traduction simple à utiliser."
msgid "Catalogs Manager"
msgstr "Gestionnaire de catalogues"
msgid "Check for Updates..."
-msgstr "Vérifier les mises à jour..."
+msgstr "Recherche des mises à jour..."
msgid "&Edit"
msgstr "&Modifier"
@@ -208,7 +295,7 @@ msgid "Redo"
msgstr "Refaire"
msgid "Paste and Match Style"
-msgstr "Coller et respecter le style"
+msgstr "Coller en conservant la mise en forme"
msgid "Delete"
msgstr "Supprimer"
@@ -217,13 +304,13 @@ msgid "Spelling and Grammar"
msgstr "Orthographe et Grammaire"
msgid "Show Spelling and Grammar"
-msgstr "Afficher Orthographe et Grammaire"
+msgstr "Afficher l'orthographe et la grammaire"
msgid "Check Document Now"
msgstr "Vérifier le document maintenant"
msgid "Check Spelling While Typing"
-msgstr "Vérifier l’orthographe en tapant"
+msgstr "Vérifier l'orthographe lors de la frappe"
msgid "Check Grammar With Spelling"
msgstr "Vérifier la grammaire avec l’orthographe"
@@ -235,13 +322,13 @@ msgid "Substitutions"
msgstr "Substitutions"
msgid "Show Substitutions"
-msgstr "Afficher Substitutions"
+msgstr "Afficher les substitutions"
msgid "Smart Copy/Paste"
msgstr "Copier/coller intelligent "
msgid "Smart Quotes"
-msgstr "Guillements intelligents"
+msgstr "Guillemets intelligents"
msgid "Smart Dashes"
msgstr "Tirets intelligents"
@@ -262,16 +349,16 @@ msgid "Make Lower Case"
msgstr "Mettre en minuscules"
msgid "Capitalize"
-msgstr "Majuscule"
+msgstr "Mettre en majuscule"
msgid "Speech"
-msgstr "Parler"
+msgstr "Dicter"
msgid "Start Speaking"
-msgstr "Commencer à Parler"
+msgstr "Commencer à parler"
msgid "Stop Speaking"
-msgstr "Arrêter de Parler"
+msgstr "Arrêter de parler"
msgid "&View"
msgstr "&Affichage"
@@ -303,8 +390,7 @@ msgstr "Fichier invalide"
msgid ""
"The file may be either corrupted or in a format not recognized by Poedit."
msgstr ""
-"Le fichier peut être soit corrompu soit dans un format non reconnu par "
-"Poedit."
+"Le fichier est peut-être corrompu ou dans un format non reconnu par Poedit."
msgid "&Undo"
msgstr "Ann&uler"
@@ -381,7 +467,7 @@ msgstr ""
#, c-format
msgid "File '%s' is not a message catalog."
-msgstr "Le fichier « %s » n'est pas un catalogue."
+msgstr "Le fichier « %s » n'est pas un catalogue de messages."
msgid "Poedit"
msgstr "Poedit"
@@ -393,7 +479,7 @@ msgid "&Go"
msgstr "&Démarrer"
msgid "Source text:"
-msgstr "Texte original :"
+msgstr "Texte source :"
msgid "Singular:"
msgstr "Singulier :"
@@ -404,6 +490,20 @@ msgstr "Pluriel :"
msgid "Translation:"
msgstr "Traduction :"
+msgid ""
+"POT files are only templates and don’t contain any translations themselves.\n"
+"To make a translation, create a new PO file based on the template."
+msgstr ""
+"Les fichiers POT ne sont que des modèles et ne contiennent pas de "
+"traductions. \n"
+"Pour faire une traduction, créez un nouveau fichier PO à partir du modèle."
+
+msgid "Create New Translation"
+msgstr "Créer une nouvelle traduction"
+
+msgid "Create new translation"
+msgstr "Créer une nouvelle traduction"
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
@@ -418,13 +518,14 @@ msgid "Install"
msgstr "Installer"
msgid "Catalog modified. Do you want to save changes?"
-msgstr "Le catalogue a été modifié. Voulez-vous enregistrer les changements ?"
+msgstr ""
+"Le catalogue a été modifié. Voulez-vous enregistrer les modifications ?"
msgid "Save changes"
-msgstr "Enregistrer les changements"
+msgstr "Enregistrer les modifications"
msgid "Your changes will be lost if you don't save them."
-msgstr "Vos changements seront perdus si vous ne les enregistrez pas"
+msgstr "Vos modifications seront perdues si vous ne les enregistrez pas."
msgid "Save"
msgstr "Enregistrer"
@@ -445,7 +546,7 @@ msgid "Compiled Translation Files"
msgstr "Fichiers de traduction compilés"
msgid "Export as..."
-msgstr "Exporter en tant que..."
+msgstr "Exporter..."
msgid "HTML Files"
msgstr "Fichiers HTML"
@@ -453,9 +554,6 @@ msgstr "Fichiers HTML"
msgid "Open catalog template"
msgstr "Ouvrir un modèle de catalogue"
-msgid "POT Translation Templates"
-msgstr "Modèles de traduction POT"
-
msgid "Updating catalog"
msgstr "Mise à jour du catalogue"
@@ -484,8 +582,8 @@ msgstr ""
#, c-format
msgid "%d issue with the translation found."
msgid_plural "%d issues with the translation found."
-msgstr[0] "%d problème trouvé dans la traduction"
-msgstr[1] "%d problèmes trouvés dans la traduction"
+msgstr[0] "%d problème dans la traduction."
+msgstr[1] "%d problèmes dans la traduction."
msgid "Validation results"
msgstr "Résultats de la validation"
@@ -495,8 +593,8 @@ msgid ""
"will be shown when you select such an entry."
msgstr ""
"Les entrées avec des erreurs ont été marquées en rouge dans la liste. Les "
-"détails de l'erreur seront affichés lorsque vous sélectionnez une telle "
-"entrée."
+"détails de l'erreur s'afficheront lorsque vous sélectionnerez ce type "
+"d'entrée."
msgid "The file was saved safely."
msgstr "Le fichier a été enregistré en toute sécurité."
@@ -505,15 +603,15 @@ msgid ""
"The file was saved safely and compiled into the MO format, but it will "
"probably not work correctly."
msgstr ""
-"Le fichier a été enregistré en toute sécurité et compilé dans le format MO, "
-"mais il ne fonctionnera sans doute pas parfaitement."
+"Le fichier a été enregistré en toute sécurité et compilé au format MO, mais "
+"il ne fonctionnera probablement pas correctement."
msgid ""
"The file was saved safely, but it cannot be compiled into the MO format and "
"used."
msgstr ""
"Le fichier a été enregistré en toute sécurité, mais il ne peut pas être "
-"compilé dans le format MO et utilisé."
+"compilé au format MO ni être utilisé."
msgid ""
"The file was compiled into the MO format, but it will probably not work "
@@ -542,17 +640,24 @@ msgstr[1] ""
msgid "The translation is ready for use."
msgstr "La traduction est prête à être utilisée."
-msgid "No references to this string found."
-msgstr "Aucune référence trouvée pour cette chaîne."
-
-msgid "Please choose the reference you want to show:"
-msgstr "Veuillez choisir la référence que vous voulez voir :"
+msgid "Context:"
+msgstr "Contexte :"
-msgid "References"
-msgstr "Références"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr ""
+"Poedit a automatiquement corrigé le contenu non valide du fichier \"%s\"."
-msgid "Context:"
-msgstr "Texte original :"
+msgid ""
+"The file contained duplicate items, which is not allowed in PO files and "
+"would prevent the file from being used. Poedit fixed the issue, but you "
+"should review translations of any items marked as fuzzy and correct them if "
+"necessary."
+msgstr ""
+"Le fichier contenait des éléments en double, ce qui n'est pas permis dans "
+"les fichiers PO et empêcherait son utilisation. Poedit a réglé ce problème, "
+"mais vous devriez réviser les traductions de tous les éléments marqués comme "
+"approximatifs et les corriger si nécessaire."
msgid "Language of the translation isn't set."
msgstr "La langue de traduction n’est pas définie."
@@ -563,26 +668,44 @@ msgstr "Définir la langue"
msgid "Set language"
msgstr "Définir la langue"
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid ""
+"Suggestions are not available if the translation language is not set "
+"correctly. Other features, such as plural forms, may be affected as well."
+msgstr ""
+"Les suggestions ne sont pas disponibles si la langue de traduction n'est pas "
+"définie. Les autres fonctionnalités, comme les pluriels, peuvent être "
+"également affectées."
+
+msgid "Language of the translation is the same as source language."
+msgstr "La langue de traduction est identique à la langue source."
+
+msgid "Fix Language"
+msgstr "Corriger la langue"
+
+msgid "Fix language"
+msgstr "Corriger la langue"
+
msgid ""
"This catalog has entries with plural forms, but doesn't have Plural-Forms "
"header configured."
msgstr ""
-"Ce catalogue a des éléments avec une forme plurielle, mais son en-tête "
-"Plural-Forms n'est pas configurée."
+"Ce catalogue a des entrées au pluriel, mais l'en-tête Pluriel n'est pas "
+"configurée."
msgid ""
"Entries in this catalog have different plural forms count from what "
"catalog's Plural-Forms header says"
msgstr ""
"Les entrées dans ce catalogue ont un nombre de formes plurielles différent "
-"de celui indiqué dans l'en-tête Plural-Forms"
+"de celui indiqué dans l'en-tête Pluriel"
msgid "Required header Plural-Forms is missing."
-msgstr "L'en-tête nécessaire des formes plurielles est absente."
+msgstr "L'en-tête Pluriel requise est absente."
#, c-format
msgid "Syntax error in Plural-Forms header (\"%s\")."
-msgstr "Erreur de syntaxe dans l'en-tête des formes plurielles (\"%s\")."
+msgstr "Erreur de syntaxe dans l'en-tête Pluriel (\"%s\")."
msgid "Fix the Header"
msgstr "Corriger l'en-tête"
@@ -596,11 +719,11 @@ msgstr "Corriger l'en-tête"
#, c-format
msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr ""
-"L'expression des formes plurielles utilisée par le catalogue est "
-"inhabituelle pour le %s."
+"Les formes plurielles utilisées par le catalogue sont inhabituelles pour %s."
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
-msgstr "Modifier"
+msgstr "Réviser"
#, c-format
msgid "Error loading message catalog file '%s'."
@@ -620,6 +743,12 @@ msgid_plural "%d errors"
msgstr[0] "%d erreur"
msgstr[1] "%d erreurs"
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] "%d entrée"
+msgstr[1] "%d entrées"
+
msgid " (unsaved)"
msgstr " (non sauvegardé)"
@@ -634,7 +763,7 @@ msgid "Failed to update translation memory: %s"
msgstr "Echec de la mise à jour de la mémoire de traduction : %s"
msgid "Purge deleted translations"
-msgstr "Purger les traductions supprimées"
+msgstr "Effacer les traductions supprimées"
msgid "Do you want to remove all translations that are no longer used?"
msgstr ""
@@ -645,15 +774,15 @@ msgid ""
"permanently removed. You will have to translate them again if they are added "
"back in the future."
msgstr ""
-"Si vous continuez à purger, toutes les traductions marquées comme supprimées "
-"seront définitivement supprimées. Vous allez avoir à les re-traduire si "
-"elles sont rétablies dans le futur."
+"En continuant le nettoyage, toutes les traductions marquées comme supprimées "
+"seront définitivement effacées. Il faudra recommencer la traduction si elles "
+"sont de nouveau ajoutées."
msgid "Keep"
msgstr "Conserver"
msgid "Purge"
-msgstr "Purger"
+msgstr "Effacer"
msgid "Fill missing translations from TM"
msgstr "Remplir les traductions manquantes avec la MT"
@@ -676,7 +805,7 @@ msgid ""
"Only enable if you trust the quality of your TM. By default, all matches "
"from the TM are marked as fuzzy and should be reviewed."
msgstr ""
-"Activer uniquement si vous faites confiance à la qualité de votre Mémoire de "
+"Activer uniquement si vous êtes certain de la qualité de votre Mémoire de "
"Traduction. Par défaut, tous les résultats sont marqués comme approximatifs "
"et sont à revoir."
@@ -686,18 +815,19 @@ msgstr "Remplir"
#, c-format
msgid "%d entry was filled from the translation memory."
msgid_plural "%d entries were filled from the translation memory."
-msgstr[0] "%d entrée à été remplie par la mémoire de traduction."
-msgstr[1] "%d entrées ont été remplies par la mémoire de traduction."
+msgstr[0] "%d entrée à été complétée par la mémoire de traduction."
+msgstr[1] "%d entrées ont été complétées par la mémoire de traduction."
msgid ""
"The translations were marked as fuzzy, because they may be inaccurate. You "
"should review them for correctness."
msgstr ""
-"Les traductions sont marquées comme approximative. Vous devriez les passez "
-"en revue pour vérifier leur exactitude."
+"Les traductions sont marquées comme approximatives car elles risquent d'être "
+"incorrectes. Vous devriez vérifier leur pertinence."
msgid "No entries could be filled from the translation memory."
-msgstr "Aucune entrée n'a pu être remplie par la mémoire de traduction."
+msgstr ""
+"Aucune entrée n'a pu être complétée à partir de la mémoire de traduction."
msgid ""
"The TM doesn’t contain any strings similar to the content of this file. It "
@@ -709,10 +839,10 @@ msgstr ""
"ait appris suffisamment de fichiers traduits manuellement."
msgid "Translating"
-msgstr "Traduction"
+msgstr "Traduction en cours"
msgid "Filling missing translations from TM..."
-msgstr "Remplissage des traductions manquantes avec la &MT..."
+msgstr "Remplissage des traductions manquantes avec la MT..."
#, c-format
msgid "Translated %u string"
@@ -721,16 +851,16 @@ msgstr[0] "%u chaîne traduite"
msgstr[1] "%u chaînes traduites"
msgid "Copy from source text"
-msgstr "Copier depuis l'original"
+msgstr "Copier depuis le texte source"
msgid "Copy from Source Text"
-msgstr "Copier à partir de l'original"
+msgstr "Copier à partir du texte source"
msgid "Clear translation"
-msgstr "Vider la traduction"
+msgstr "Effacer la traduction"
msgid "Clear Translation"
-msgstr "Vider la traduction"
+msgstr "Effacer la traduction"
msgid "Edit comment"
msgstr "Modifier le commentaire"
@@ -748,6 +878,9 @@ msgstr "Tout"
msgid "Form %i"
msgstr "Forme %i"
+msgid "Singular"
+msgstr "Singulier"
+
msgid "Zero"
msgstr "Zéro"
@@ -757,6 +890,9 @@ msgstr "Un"
msgid "Two"
msgstr "Deux"
+msgid "Plural"
+msgstr "Pluriel"
+
msgid "Other"
msgstr "Autre"
@@ -785,8 +921,14 @@ msgstr "Masquer le panneau latéral"
msgid "Show Sidebar"
msgstr "Afficher le panneau latéral"
+msgid "Hide Status Bar"
+msgstr "Masquer la barre d'état"
+
+msgid "Show Status Bar"
+msgstr "Afficher la barre d'état"
+
msgid "Source text"
-msgstr "Texte original"
+msgstr "Texte source"
msgid "Translation"
msgstr "Traduction"
@@ -794,6 +936,10 @@ msgstr "Traduction"
msgid "ID"
msgstr "ID"
+#, c-format
+msgid "Source text — %s"
+msgstr "Texte source — %s"
+
msgid "unknown language"
msgstr "langue inconnue"
@@ -804,64 +950,80 @@ msgstr "Traduction — %s"
msgid "Error:"
msgstr "Erreur :"
-msgid "Project info"
-msgstr "Informations"
+msgid "Source file"
+msgstr "Fichier source"
-msgid "Project name and version:"
-msgstr "Nom et version du projet :"
+msgid "Source file occurrence:"
+msgstr "Présence du fichier source:"
-msgid "Language:"
-msgstr "Langue :"
+msgid "Open in Editor"
+msgstr "Ouvrir dans l’Éditeur"
-msgid "Team:"
-msgstr "Équipe de traduction :"
+msgid "Open in editor"
+msgstr "Ouvrir dans l'éditeur"
-msgid "Team's email address:"
-msgstr "Adresse électronique de l'équipe :"
+msgid "No references for the selected item."
+msgstr "Aucune référence pour l'élément sélectionné."
-msgid "Charset:"
-msgstr "Jeu de caractères :"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "Erreur à l'ouverture du fichier %s !"
-msgid "Source"
-msgstr "Source"
+msgid "Find"
+msgstr "Trouver"
-msgid "Notes"
-msgstr "Notes"
+msgid "Replace"
+msgstr "Remplacer"
-msgid "Automatic translation"
-msgstr "Traduction automatique"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr "Options"
-msgid "Fuzzy translation"
-msgstr "Traduction approximative"
+msgid "Ignore case"
+msgstr "Ignorer la casse"
-msgid "Notes for translators:"
-msgstr "Notes pour les traducteurs :"
+msgid "Wrap around"
+msgstr "Boucler"
-msgid "Comment:"
-msgstr "Commentaire :"
+msgid "Whole words only"
+msgstr "Mots entiers uniquement"
-msgid "Source file"
-msgstr "Fichier source"
+msgid "Find in source texts"
+msgstr "Trouver dans les textes sources"
-msgid "Source file occurrence:"
-msgstr "Fichier source :"
+msgid "Find in translations"
+msgstr "Trouver dans les traductions"
-msgid "Open in Editor"
-msgstr "Ouvrir dans l’Éditeur"
+msgid "Find in comments"
+msgstr "Chercher dans les commentaires"
-msgid "Open in editor"
-msgstr "Ouvrir dans l'éditeur"
+msgid "Close"
+msgstr "Fermer"
-#, c-format
-msgid "Error opening file %s!"
-msgstr "Erreur à l'ouverture du fichier %s !"
+msgid "Replace All"
+msgstr "Remplacer tout"
+
+msgid "Replace all"
+msgstr "Remplacer tout"
+
+msgid "< &Previous"
+msgstr "< &Précédente"
+
+msgid "&Next >"
+msgstr "&Suivant >"
+
+msgid "String to find"
+msgstr "Chaîne à rechercher "
+
+msgid "Replacement string"
+msgstr "Chaîne de remplacement"
#, c-format
msgid "Cannot execute program: %s"
msgstr "Impossible d'exécuter le programme : %s"
msgid "Language Code or Name (e.g. en_GB)"
-msgstr "Code ou nom de la langue (p.ex. fr_FR)"
+msgstr "Code ou nom de la langue (ex. fr_FR)"
msgid "Translation Language"
msgstr "Langue de traduction"
@@ -870,7 +1032,7 @@ msgid "Language of the translation:"
msgstr "Langue de la traduction :"
msgid "Poedit - Catalogs manager"
-msgstr "Poedit - Gestionnaire de catalogues"
+msgstr "Poedit - Gestionnaire des catalogues"
msgid "Catalog"
msgstr "Catalogue"
@@ -879,7 +1041,7 @@ msgid "Total"
msgstr "Total"
msgid "Untrans"
-msgstr "Non traduite"
+msgstr "Non traduit"
msgid "Fuzzy"
msgstr "Approximative"
@@ -941,7 +1103,7 @@ msgid "Automatically compile MO file when saving"
msgstr "Compiler automatiquement le fichier MO lors de l'enregistrement"
msgid "Show summary after catalog update"
-msgstr "Afficher un résumé après la mise à jour du catalogue"
+msgstr "Afficher le résumé après la mise à jour du catalogue"
msgid "Check spelling"
msgstr "Vérifier l’orthographe"
@@ -954,10 +1116,10 @@ msgid ""
"arrows for keyboard navigation but you can also type text immediately, "
"without having to press Tab to change focus."
msgstr ""
-"Ne pas laisser la main à la liste des chaînes. Si activée, vous pourrez "
-"utiliser les touches Ctrl + Haut/Bas pour la navigation dans liste des "
-"chaînes sans avoir à utiliser la touche de tabulation pour activer la zone "
-"de traduction."
+"Ne jamais laisser la main à la liste des chaînes. Lorsqu'elle est activée, "
+"il faut utiliser les touches Ctrl + Haut/Bas de navigation, mais vous pouvez "
+"aussi taper le texte directement sans avoir à utiliser la touche de "
+"tabulation pour activer la zone de traduction."
msgid "Appearance"
msgstr "Apparence"
@@ -969,7 +1131,7 @@ msgid "Use custom text fields font:"
msgstr "Utiliser une police personnalisée pour les champs texte :"
msgid "Change UI language"
-msgstr "Langue d'a&ffichage..."
+msgstr "Changer la langue de l'interface"
#. TRANSLATORS: This is a note appended to "Check spelling" when running on older Windows versions
msgid "(requires Windows 8 or newer)"
@@ -982,7 +1144,7 @@ msgid "Use translation memory"
msgstr "Utiliser la mémoire de traduction"
msgid "Learn From Files..."
-msgstr "Apprendre à partir de fichiers..."
+msgstr "Apprendre à partir des fichiers..."
msgid "Learn from files..."
msgstr "Apprendre à partir de fichiers..."
@@ -1058,11 +1220,21 @@ msgid "New"
msgstr "Nouveau"
msgid "Edit"
-msgstr "Modifier..."
+msgstr "Modifier"
+
+msgid "Delete extractor"
+msgstr "Supprimer l'extracteur"
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr "Êtes-vous sûr de vouloir supprimer l'extracteur «%s » ?"
msgid "Extractors"
msgstr "Extracteurs"
+msgid "Accounts"
+msgstr "Comptes"
+
msgid "Automatically check for updates"
msgstr "Rechercher automatiquement les mises à jour"
@@ -1098,7 +1270,7 @@ msgstr "Windows"
#. TRANSLATORS: Followed by text control for entering number; wraps text at given width
msgid "Wrap at:"
-msgstr "Passage à la ligne à :"
+msgstr "Passer à la ligne à :"
msgid "Preserve formatting of existing files"
msgstr "Préserver le formatage des fichiers existants"
@@ -1106,8 +1278,41 @@ msgstr "Préserver le formatage des fichiers existants"
msgid "Advanced"
msgstr "Avancés"
-msgid "Additional keywords"
-msgstr "Mots clés supplémentaires"
+msgid ""
+"<big>Drag and Drop Folders Here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+"<big>Glissez-déposez les dossiers ici</big>\n"
+"\n"
+"ou utilisez le bouton +"
+
+msgid ""
+"<big>Drag and drop folders here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+"<big>Glissez-déposez les dossiers ici</big>\n"
+"\n"
+"ou utilisez le bouton +"
+
+msgid "Add Folders..."
+msgstr "Ajouter des dossiers..."
+
+msgid "Add folders..."
+msgstr "Ajouter des dossiers..."
+
+msgid "Add Files..."
+msgstr "Ajouter des fichiers..."
+
+msgid "Add files..."
+msgstr "Ajouter des fichiers..."
+
+msgid "Add Wildcard..."
+msgstr "Ajout du caractère générique..."
+
+msgid "Add wildcard..."
+msgstr "Ajout du caractère générique..."
msgid "Paths"
msgstr "Chemins"
@@ -1115,8 +1320,11 @@ msgstr "Chemins"
msgid "Excluded paths"
msgstr "Chemins exclus"
+msgid "Additional keywords"
+msgstr "Mots clés supplémentaires"
+
msgid "Name of the project the translation is for"
-msgstr "Nom du projet pour lequel sont les traductions"
+msgstr "Nom du projet de traduction"
msgid "e.g. nplurals=2; plural=(n > 1);"
msgstr "p. ex. nplurals=2; plural=(n > 1);"
@@ -1126,11 +1334,14 @@ msgstr "UTF-8 (recommandé)"
msgid "Please save the file first. This section cannot be edited until then."
msgstr ""
-"Veuillez sauvegarder le fichier en premier. Cette section ne peut pas être "
-"modifiée avant cela."
+"Veuillez d'abord enregistrer le fichier. Cette section ne peut pas être "
+"modifiée avant."
+
+msgid "Comment:"
+msgstr "Commentaire :"
msgid "OK"
-msgstr "OK"
+msgstr "Ok"
msgid "C&lear"
msgstr "&Effacer"
@@ -1138,42 +1349,6 @@ msgstr "&Effacer"
msgid "Clear the comment"
msgstr "Effacer le commentaire"
-msgid "Find..."
-msgstr "Rechercher..."
-
-msgid "String to find:"
-msgstr "Chaîne à rechercher :"
-
-msgid "Case sensitive"
-msgstr "Respecter la casse"
-
-msgid "Start from the first item"
-msgstr "Partir du premier élément"
-
-msgid "Whole words only"
-msgstr "Mots entiers uniquement"
-
-msgid "Find in original strings"
-msgstr "Rechercher dans les chaînes originales"
-
-msgid "Find in translations"
-msgstr "Trouver dans les traductions"
-
-msgid "Find in comments"
-msgstr "Rechercher dans les commentaires"
-
-msgid "Find in automatic comments"
-msgstr "Rechercher dans les commentaires automatiques"
-
-msgid "Close"
-msgstr "Fermer"
-
-msgid "< &Previous"
-msgstr "< &Précédente"
-
-msgid "&Next >"
-msgstr "&Suivant >"
-
msgid "Create new translations project"
msgstr "Créer un nouveau projet de traduction"
@@ -1205,7 +1380,7 @@ msgid "&Preferences..."
msgstr "&Préférences..."
msgid "&Close"
-msgstr "&Quitter"
+msgstr "&Fermer"
msgid "E&xit"
msgstr "&Quitter"
@@ -1217,10 +1392,10 @@ msgid "&New..."
msgstr "&Nouveau…"
msgid "New from &POT/PO file..."
-msgstr "Nouveau depuis un fichier &POT/PO..."
+msgstr "Nouveau à partir d'un fichier &POT/PO..."
msgid "New From &POT/PO File..."
-msgstr "Nouveau depuis un fichier &POT/PO..."
+msgstr "Nouveau à partir d'un fichier &POT/PO..."
msgid "&Open..."
msgstr "&Ouvrir..."
@@ -1228,23 +1403,29 @@ msgstr "&Ouvrir..."
msgid "Open Recent"
msgstr "Récemment ouverts"
+msgid "Open from Crowdin..."
+msgstr "Ouvrir à partir de Crowdin..."
+
+msgid "Open From Crowdin..."
+msgstr "Ouvrir à partir de Crowdin..."
+
msgid "&Save"
-msgstr "Enregi&strer"
+msgstr "&Enregistrer"
msgid "Save &as..."
-msgstr "Enregistrer sous..."
+msgstr "Enregistrer &sous..."
msgid "Save &As..."
-msgstr "Enregistrer sous..."
+msgstr "Enregistrer &sous..."
msgid "Compile to MO..."
-msgstr "Compiler le Mo..."
+msgstr "Compiler le MO..."
msgid "E&xport as HTML..."
msgstr "Exporter en HTML…"
msgid "Check for updates..."
-msgstr "Vérifier les mises à jour…"
+msgstr "Recherche de mises à jour..."
msgid "Catalogs &manager"
msgstr "Gestion des &catalogues"
@@ -1274,55 +1455,64 @@ msgid "&Show References"
msgstr "&Voir les références"
msgid "&Find..."
-msgstr "Rec&hercher..."
+msgstr "&Rechercher..."
+
+msgid "Replace..."
+msgstr "Remplacer..."
msgid "Find next"
-msgstr "Trouver le suivant"
+msgstr "Chercher le suivant"
msgid "Find previous"
msgstr "Trouver le précédent"
-msgid "Find"
-msgstr "Trouver"
+msgid "Find and Replace..."
+msgstr "Rechercher et remplacer..."
msgid "Find Next"
-msgstr "Trouver le suivant"
+msgstr "Chercher le suivant"
msgid "Find Previous"
-msgstr "Trouver le précédent"
+msgstr "Chercher le précédent"
msgid "&Preferences"
msgstr "&Préférences"
msgid "Display entry &IDs"
-msgstr "Afficher les IDs des entrées"
+msgstr "Afficher les &IDs des entrées"
msgid "Display Entry &IDs"
-msgstr "Afficher les IDs des entrées"
+msgstr "Afficher les &IDs des entrées"
msgid "Sort by &file order"
-msgstr "Trier selon le &fichier"
+msgstr "Trier par &fichier"
msgid "Sort by &File Order"
-msgstr "Trier selon le &fichier"
+msgstr "Trier par &fichier"
msgid "Sort by &source"
-msgstr "Trier selon la &source"
+msgstr "Trier par &source"
msgid "Sort by &Source"
-msgstr "Trier selon la &source"
+msgstr "Trier par &source"
msgid "Sort by &translation"
-msgstr "Trier selon la &traduction"
+msgstr "Trier par &traduction"
msgid "Sort by &Translation"
-msgstr "Trier selon la &traduction"
+msgstr "Trier par &traduction"
msgid "&Group by context"
msgstr "&Grouper par contexte"
msgid "&Group By Context"
-msgstr "&Groupe par contexte"
+msgstr "&Grouper par contexte"
+
+msgid "Entries with errors first"
+msgstr "Entrées avec erreurs en premier"
+
+msgid "Entries with Errors First"
+msgstr "Entrées avec erreurs en premier"
msgid "&Untranslated entries first"
msgstr "Entrées &non traduites en premier"
@@ -1333,14 +1523,17 @@ msgstr "Entrées &non traduites en premier"
msgid "Show sidebar"
msgstr "Afficher le panneau latéral"
+msgid "Show status bar"
+msgstr "Afficher la barre d'état"
+
msgid "C&atalog"
-msgstr "C&atalogue"
+msgstr "&Catalogue"
msgid "&Update from sources"
-msgstr "Mise à jo&ur depuis les sources"
+msgstr "&Mettre à jour depuis les sources"
msgid "&Update from Sources"
-msgstr "Mise à jo&ur depuis les sources"
+msgstr "&Mettre à jour depuis les sources"
msgid "Update from &POT file..."
msgstr "Mettre à jour depuis un fichier &POT..."
@@ -1348,17 +1541,20 @@ msgstr "Mettre à jour depuis un fichier &POT..."
msgid "Update from &POT File..."
msgstr "Mettre à jour depuis un fichier &POT..."
+msgid "Sync with Crowdin"
+msgstr "Synchroniser avec Crowdin"
+
msgid "Fill missing translations from &TM..."
-msgstr "Remplir les traductions manquantes avec l'O&TA..."
+msgstr "Remplir les traductions manquantes avec l'M&T..."
msgid "Fill Missing Translations from &TM..."
-msgstr "Remplir les traductions manquantes avec l'O&TA..."
+msgstr "Remplir les traductions manquantes avec l'M&T..."
msgid "&Purge deleted translations"
-msgstr "&Purger les traductions supprimées"
+msgstr "&Effacer les traductions supprimées"
msgid "&Purge Deleted Translations"
-msgstr "&Purger les traductions supprimées"
+msgstr "&Effacer les traductions supprimées"
msgid "&Validate translations"
msgstr "&Valider les traductions"
@@ -1388,10 +1584,10 @@ msgid "&Next Translation"
msgstr "Traduction suiva&nte"
msgid "P&revious unfinished"
-msgstr "Incomplet p&récédent"
+msgstr "P&récédent incomplet"
msgid "P&revious Unfinished"
-msgstr "Incomplet p&récédent"
+msgstr "P&récédent incomplet"
msgid "Ne&xt unfinished"
msgstr "Incomplet suivan&t"
@@ -1412,16 +1608,17 @@ msgid "&GNU gettext Manual"
msgstr "Manuel de &GNU gettext"
msgid "&About Poedit"
-msgstr "À &propos de Poedit"
+msgstr "&À propos de Poedit"
msgid "&About"
-msgstr "À &propos"
+msgstr "&À propos"
msgid "Extractor setup"
msgstr "Installation de l'extracteur"
msgid "List of extensions separated by semicolons (e.g. *.cpp;*.h):"
-msgstr "Extensions, séparées par des points-virgules (e.g. *.cpp;*.h) :"
+msgstr ""
+"Liste des extensions séparées par des points-virgules (ex. *.cpp;*.h) :"
msgid "Invocation:"
msgstr "Appel :"
@@ -1436,10 +1633,10 @@ msgid ""
"%C to charset flag (see below)."
msgstr ""
"Voici les commandes lançant l'extracteur.\n"
-"%o étendre au nom du fichier de sortie,\n"
-"%K lister les mots clés,\n"
-"%F lister les fichiers d'entrée,\n"
-"%C jeu de caractères (voir ci-dessous)."
+"%o : étendre au nom du fichier de sortie,\n"
+"%K : lister les mots clés,\n"
+"%F : lister les fichiers d'entrée,\n"
+"%C : jeu de caractères (voir ci-dessous)."
msgid "An item in keywords list:"
msgstr "Un élément de la liste des mots clés :"
@@ -1452,7 +1649,7 @@ msgstr ""
"mot clé. %k : le mot clé."
msgid "An item in input files list:"
-msgstr "Un élément de la liste des fichiers d'éléments :"
+msgstr "Un élément de la liste des fichiers d'entrée :"
#, c-format
msgid ""
@@ -1476,6 +1673,9 @@ msgstr ""
msgid "Catalog properties"
msgstr "Propriétés du catalogue"
+msgid "Project name and version:"
+msgstr "Nom et version du projet :"
+
msgid "Plural Forms:"
msgstr "Formes plurielles :"
@@ -1488,11 +1688,20 @@ msgstr "Utiliser une expression personnalisée"
msgid "Learn about plural forms"
msgstr "En savoir plus sur les formes plurielles"
+msgid "Charset:"
+msgstr "Jeu de caractères :"
+
+msgid "Team:"
+msgstr "Équipe de traduction :"
+
+msgid "Team's email address:"
+msgstr "Adresse électronique de l'équipe :"
+
msgid "Translation properties"
msgstr "Propriétés de traduction"
msgid "Extract text from source files in the following directories:"
-msgstr "Extraire le texte des répertoires suivants :"
+msgstr "Extraire le texte des fichiers sources dans les répertoires suivants :"
msgid "Base path:"
msgstr "Chemin de base :"
@@ -1511,7 +1720,7 @@ msgid "Learn about gettext keywords"
msgstr "En savoir plus sur les mots clés gettext"
msgid "Sources keywords"
-msgstr "Mots-clés source"
+msgstr "Mots-clés sources"
msgid "Update summary"
msgstr "Résumé de la mise à jour"
@@ -1522,7 +1731,7 @@ msgid ""
msgstr ""
"Les chaînes suivantes ont été trouvées dans les sources mais n'existent pas "
"dans le catalogue.\n"
-"Poedit va les ajouter au catalogue maintenant."
+"Poedit les ajoute au catalogue."
msgid "New strings"
msgstr "Nouvelles chaînes"
@@ -1531,14 +1740,14 @@ msgid ""
"These strings are no longer in the sources.\n"
"Poedit will remove them from the catalog now."
msgstr ""
-"Les chaînes suivantes ne sont plus présentes dans les sources.\n"
-"Poedit va les retirer du catalogue maintenant."
+"Ces chaînes ne sont plus dans les sources.\n"
+"Poedit les retire du catalogue."
msgid "Obsolete strings"
-msgstr "Chaînes désuètes"
+msgstr "Chaînes obsolètes"
msgid "(0 new, 0 obsolete)"
-msgstr "(0 nouvelle, 0 désuète)"
+msgstr "(0 nouvelle, 0 obsolète)"
msgid "Open"
msgstr "Ouvrir"
@@ -1559,12 +1768,10 @@ msgid "Update catalog - synchronize it with sources"
msgstr "Mettre à jour le catalogue - Synchroniser avec les sources"
msgid "Toggled if selected string has fuzzy translation"
-msgstr ""
-"Basculer la traduction sélectionnée en traduction approximative (et "
-"inversement)"
+msgstr "Activer si la chaîne sélectionnée est traduite approximativement"
-msgid "Show or hide the sidebar."
-msgstr "Afficher ou masquer le panneau latéral."
+msgid "Show or hide the sidebar"
+msgstr "Afficher ou masquer le panneau latéral"
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
msgid "Previous source text:"
@@ -1577,6 +1784,9 @@ msgstr ""
"L'ancien texte source (avant son changement durant une mise à jour) auquel "
"correspond la traduction approximative."
+msgid "Notes for translators:"
+msgstr "Notes pour les traducteurs :"
+
msgid "Add comment"
msgstr "Ajouter un commentaire"
@@ -1603,7 +1813,7 @@ msgstr "(Nouvelle : %i, obsolète : %i)"
#, c-format
msgid "Importing translations: %d"
-msgstr "Importation des traductions : %d"
+msgstr "Import de traductions : %d"
msgid "Poedit Update"
msgstr "Mise à jour de Poedit"
@@ -1617,22 +1827,21 @@ msgstr "État de la migration : %d"
msgid "Poedit needs to convert your translation memory to a new format."
msgstr ""
-"Poedit a besoin de convertir votre mémoire de traduction dans un nouveau "
-"format."
+"Poedit doit convertir votre mémoire de traduction dans un nouveau format."
msgid ""
"This must be done before Poedit can start. It may take a few minutes if you "
"have lots of translations stored, but should normally be much faster."
msgstr ""
-"Cela doit être fait avant que Poedit ne puisse démarrer. Cela peut prendre "
-"quelques minutes si vous avez beaucoup de traductions stockées, mais cela "
-"devrait normalement être très rapide."
+"Il faut le faire avant le démarrage de Poedit. Cela peut prendre quelques "
+"minutes si vous avez beaucoup de traductions stockées, mais ce devrait "
+"normalement être plus rapide."
msgid "Proceed"
-msgstr "Procéder"
+msgstr "Poursuivre"
msgid "Translation memory migration failed."
-msgstr "Echec de la migration de la mémoire de traduction."
+msgstr "Échec de la migration de la mémoire de traduction."
#, c-format
msgid ""
@@ -1645,8 +1854,8 @@ msgstr ""
"\n"
" • %s\n"
"\n"
-"S'il vous plaît envoyez un e-mail à help at poedit.net et nous allons régler ce "
-"problème."
+"Veuillez envoyer un e-mail à help at poedit.net pour que nous puissions régler "
+"le problème."
msgid "Cannot create temporary directory."
msgstr "Impossible de créer le répertoire temporaire."
@@ -1660,15 +1869,24 @@ msgstr "Modifier une traduction"
msgid "Open an existing PO file and edit the translation."
msgstr "Ouvrir un fichier PO existant et modifier la traduction."
-msgid "Create new translation"
-msgstr "Créer une nouvelle traduction"
-
msgid ""
"Take an existing PO file or POT template and create a new translation from "
"it."
msgstr ""
-"À partir d'un fichier PO existant ou d'un modèle POT créer une nouvelle "
-"traduction."
+"Créer une nouvelle traduction partir d'un fichier PO ou d'un modèle POT "
+"existant."
+
+msgid "Collaborate on a translation with Crowdin"
+msgstr "Collaborer à une traduction avec Crowdin"
+
+msgid ""
+"Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+"Télécharger un fichier d'un projet Crowdin, traduire et synchroniser vos "
+"modifications."
+
+msgid "What is Crowdin?"
+msgstr "Qu'est-ce que Crowdin ?"
msgid "There are no translations. That’s unusual."
msgstr "Il n’y a pas de traductions. Ce n’est pas courant."
@@ -1680,11 +1898,11 @@ msgid ""
"Translators typically use PO template files (POTs) prepared for them by the "
"developer."
msgstr ""
-"Les entrées traduisibles ne sont pas ajoutées manuellement dans le système "
+"Les entrées traduisibles ne sont pas ajoutées manuellement au système "
"Gettext, mais sont extraites automatiquement\n"
"à partir du code source. De cette façon, elles restent à jour et exactes.\n"
"Les traducteurs utilisent généralement des fichiers de modèle PO (POTS) "
-"préparés pour eux par le développeur."
+"préparés par le développeur."
msgid "(Learn more about GNU gettext)"
msgstr "(En savoir plus sur GNU gettext)"
@@ -1711,3 +1929,9 @@ msgstr "Extraire depuis les sources"
msgid "Configure source code extraction in Properties."
msgstr "Configurer l’extraction de code source dans les Propriétés."
+
+msgid "Sync"
+msgstr "Synchroniser"
+
+msgid "Synchronize the translation with Crowdin"
+msgstr "Synchroniser la traduction avec Crowdin"
diff --git a/locales/fur.mo b/locales/fur.mo
index 8ec8a14..d0f7322 100644
Binary files a/locales/fur.mo and b/locales/fur.mo differ
diff --git a/locales/fur.po b/locales/fur.po
index b94dd04..96e1663 100644
--- a/locales/fur.po
+++ b/locales/fur.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:33-0400\n"
+"POT-Creation-Date: 2015-05-13 18:47+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Friulian\n"
"Language: fur_IT\n"
@@ -88,6 +88,15 @@ msgstr ""
msgid "Error saving catalog"
msgstr "Erôr salvant il catalic"
+msgid "PO Translation Files"
+msgstr ""
+
+msgid "POT Translation Templates"
+msgstr ""
+
+msgid "All Translation Files"
+msgstr ""
+
msgid "Merging differences..."
msgstr "Zontant lis diferencis..."
@@ -107,6 +116,83 @@ msgstr "Selezion de lenghe"
msgid "You must restart Poedit for this change to take effect."
msgstr "Tu 'nd âs di tornâ a inviâ Poedit par viodi i cambiaments."
+msgid "Downloading translations is disabled in this project."
+msgstr ""
+
+msgid "Not authorized, please sign in again."
+msgstr ""
+
+msgid "Sign in to Crowdin"
+msgstr ""
+
+msgid ""
+"Crowdin is an online localization management platform and collaborative "
+"translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+
+msgid "Sign In"
+msgstr ""
+
+msgid "Sign in"
+msgstr ""
+
+msgid "Sign Out"
+msgstr ""
+
+msgid "Sign out"
+msgstr ""
+
+msgid "Waiting for authentication…"
+msgstr ""
+
+msgid "Updating user information…"
+msgstr ""
+
+msgid "Signed in as:"
+msgstr ""
+
+msgid "Learn More About Crowdin"
+msgstr ""
+
+msgid "Learn more about Crowdin"
+msgstr ""
+
+msgid "Open Crowdin translation"
+msgstr ""
+
+msgid "Project:"
+msgstr ""
+
+msgid "Language:"
+msgstr "Lengaç:"
+
+msgid "File:"
+msgstr ""
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr ""
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr ""
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr ""
+
+msgid "Downloading latest translations…"
+msgstr ""
+
+msgid "Syncing with Crowdin"
+msgstr ""
+
+msgid "Syncing with Crowdin failed."
+msgstr ""
+
+msgid "Crowdin error"
+msgstr ""
+
+msgid "Uploading translations…"
+msgstr ""
+
msgid "&Copy"
msgstr ""
@@ -151,6 +237,9 @@ msgstr ""
msgid "don't delete temporary files (for debugging)"
msgstr ""
+msgid "handle a poedit:// URI"
+msgstr ""
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr ""
@@ -161,12 +250,6 @@ msgstr ""
msgid "Open catalog"
msgstr "Viarç catalic"
-msgid "All Files"
-msgstr ""
-
-msgid "PO Translation Files"
-msgstr ""
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "Il file '%s' nol esist."
@@ -394,6 +477,17 @@ msgstr "Plurâl:"
msgid "Translation:"
msgstr ""
+msgid ""
+"POT files are only templates and don’t contain any translations themselves.\n"
+"To make a translation, create a new PO file based on the template."
+msgstr ""
+
+msgid "Create New Translation"
+msgstr ""
+
+msgid "Create new translation"
+msgstr ""
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
@@ -441,9 +535,6 @@ msgstr ""
msgid "Open catalog template"
msgstr "Viarç model di catalic"
-msgid "POT Translation Templates"
-msgstr ""
-
msgid "Updating catalog"
msgstr ""
@@ -512,16 +603,18 @@ msgstr[1] ""
msgid "The translation is ready for use."
msgstr ""
-msgid "No references to this string found."
-msgstr "Nissun riferiment a cheste stringhe cjatât."
-
-msgid "Please choose the reference you want to show:"
-msgstr "Sielç par plasê i riferiments che tu vuelis mostrâ:"
+msgid "Context:"
+msgstr ""
-msgid "References"
-msgstr "Riferiments"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr ""
-msgid "Context:"
+msgid ""
+"The file contained duplicate items, which is not allowed in PO files and "
+"would prevent the file from being used. Poedit fixed the issue, but you "
+"should review translations of any items marked as fuzzy and correct them if "
+"necessary."
msgstr ""
msgid "Language of the translation isn't set."
@@ -533,6 +626,21 @@ msgstr ""
msgid "Set language"
msgstr ""
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid ""
+"Suggestions are not available if the translation language is not set "
+"correctly. Other features, such as plural forms, may be affected as well."
+msgstr ""
+
+msgid "Language of the translation is the same as source language."
+msgstr ""
+
+msgid "Fix Language"
+msgstr ""
+
+msgid "Fix language"
+msgstr ""
+
msgid ""
"This catalog has entries with plural forms, but doesn't have Plural-Forms "
"header configured."
@@ -563,6 +671,7 @@ msgstr ""
msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr ""
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr ""
@@ -584,6 +693,12 @@ msgid_plural "%d errors"
msgstr[0] ""
msgstr[1] ""
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] ""
+msgstr[1] ""
+
msgid " (unsaved)"
msgstr ""
@@ -697,6 +812,9 @@ msgstr ""
msgid "Form %i"
msgstr ""
+msgid "Singular"
+msgstr ""
+
msgid "Zero"
msgstr ""
@@ -706,6 +824,9 @@ msgstr ""
msgid "Two"
msgstr ""
+msgid "Plural"
+msgstr ""
+
msgid "Other"
msgstr ""
@@ -734,6 +855,12 @@ msgstr ""
msgid "Show Sidebar"
msgstr ""
+msgid "Hide Status Bar"
+msgstr ""
+
+msgid "Show Status Bar"
+msgstr ""
+
msgid "Source text"
msgstr ""
@@ -743,6 +870,10 @@ msgstr "Traduzion"
msgid "ID"
msgstr ""
+#, c-format
+msgid "Source text — %s"
+msgstr ""
+
msgid "unknown language"
msgstr ""
@@ -753,57 +884,73 @@ msgstr ""
msgid "Error:"
msgstr ""
-msgid "Project info"
-msgstr "Info progjet"
+msgid "Source file"
+msgstr "File sorzint"
-msgid "Project name and version:"
-msgstr "Non dal progjet e version:"
+msgid "Source file occurrence:"
+msgstr ""
-msgid "Language:"
-msgstr "Lengaç:"
+msgid "Open in Editor"
+msgstr ""
-msgid "Team:"
-msgstr "Clape:"
+msgid "Open in editor"
+msgstr ""
-msgid "Team's email address:"
-msgstr "Recapit email de clape:"
+msgid "No references for the selected item."
+msgstr ""
-msgid "Charset:"
-msgstr "Set di caratars:"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "Erôr viarzint il file %s!"
-msgid "Source"
+msgid "Find"
msgstr ""
-msgid "Notes"
-msgstr "Notis"
+msgid "Replace"
+msgstr ""
-msgid "Automatic translation"
-msgstr "Traduzion automatiche"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr ""
-msgid "Fuzzy translation"
-msgstr "Traduzion malsigure"
+msgid "Ignore case"
+msgstr ""
-msgid "Notes for translators:"
+msgid "Wrap around"
msgstr ""
-msgid "Comment:"
-msgstr "Coment:"
+msgid "Whole words only"
+msgstr "Dome peraulis intiris"
-msgid "Source file"
-msgstr "File sorzint"
+msgid "Find in source texts"
+msgstr ""
-msgid "Source file occurrence:"
+msgid "Find in translations"
msgstr ""
-msgid "Open in Editor"
+msgid "Find in comments"
+msgstr "Cjate tai coments"
+
+msgid "Close"
msgstr ""
-msgid "Open in editor"
+msgid "Replace All"
msgstr ""
-#, c-format
-msgid "Error opening file %s!"
-msgstr "Erôr viarzint il file %s!"
+msgid "Replace all"
+msgstr ""
+
+msgid "< &Previous"
+msgstr ""
+
+msgid "&Next >"
+msgstr ""
+
+msgid "String to find"
+msgstr ""
+
+msgid "Replacement string"
+msgstr ""
#, c-format
msgid "Cannot execute program: %s"
@@ -996,9 +1143,19 @@ msgstr "Gnûf"
msgid "Edit"
msgstr "Edite"
+msgid "Delete extractor"
+msgstr ""
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr ""
+
msgid "Extractors"
msgstr ""
+msgid "Accounts"
+msgstr ""
+
msgid "Automatically check for updates"
msgstr ""
@@ -1037,7 +1194,34 @@ msgstr ""
msgid "Advanced"
msgstr ""
-msgid "Additional keywords"
+msgid ""
+"<big>Drag and Drop Folders Here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid ""
+"<big>Drag and drop folders here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid "Add Folders..."
+msgstr ""
+
+msgid "Add folders..."
+msgstr ""
+
+msgid "Add Files..."
+msgstr ""
+
+msgid "Add files..."
+msgstr ""
+
+msgid "Add Wildcard..."
+msgstr ""
+
+msgid "Add wildcard..."
msgstr ""
msgid "Paths"
@@ -1046,6 +1230,9 @@ msgstr "Percors"
msgid "Excluded paths"
msgstr ""
+msgid "Additional keywords"
+msgstr ""
+
msgid "Name of the project the translation is for"
msgstr ""
@@ -1058,6 +1245,9 @@ msgstr ""
msgid "Please save the file first. This section cannot be edited until then."
msgstr ""
+msgid "Comment:"
+msgstr "Coment:"
+
msgid "OK"
msgstr "OK"
@@ -1067,42 +1257,6 @@ msgstr ""
msgid "Clear the comment"
msgstr "Nete il coment"
-msgid "Find..."
-msgstr "Cjate..."
-
-msgid "String to find:"
-msgstr "Stringhe di cjatâ:"
-
-msgid "Case sensitive"
-msgstr "Maiuscul/Minuscul"
-
-msgid "Start from the first item"
-msgstr "Scomence de prime vôs"
-
-msgid "Whole words only"
-msgstr "Dome peraulis intiris"
-
-msgid "Find in original strings"
-msgstr "Cjate intes stringhis origjinâls"
-
-msgid "Find in translations"
-msgstr ""
-
-msgid "Find in comments"
-msgstr "Cjate tai coments"
-
-msgid "Find in automatic comments"
-msgstr "Cjate tai coments automatics"
-
-msgid "Close"
-msgstr ""
-
-msgid "< &Previous"
-msgstr ""
-
-msgid "&Next >"
-msgstr ""
-
msgid "Create new translations project"
msgstr "Cree gnûf progjet di traduzions"
@@ -1157,6 +1311,12 @@ msgstr ""
msgid "Open Recent"
msgstr ""
+msgid "Open from Crowdin..."
+msgstr ""
+
+msgid "Open From Crowdin..."
+msgstr ""
+
msgid "&Save"
msgstr "&Salve"
@@ -1205,13 +1365,16 @@ msgstr ""
msgid "&Find..."
msgstr "C&jate..."
+msgid "Replace..."
+msgstr ""
+
msgid "Find next"
msgstr ""
msgid "Find previous"
msgstr ""
-msgid "Find"
+msgid "Find and Replace..."
msgstr ""
msgid "Find Next"
@@ -1253,6 +1416,12 @@ msgstr ""
msgid "&Group By Context"
msgstr ""
+msgid "Entries with errors first"
+msgstr ""
+
+msgid "Entries with Errors First"
+msgstr ""
+
msgid "&Untranslated entries first"
msgstr ""
@@ -1262,6 +1431,9 @@ msgstr ""
msgid "Show sidebar"
msgstr ""
+msgid "Show status bar"
+msgstr ""
+
msgid "C&atalog"
msgstr "&Catalic"
@@ -1277,6 +1449,9 @@ msgstr "Atualize di un file &POT"
msgid "Update from &POT File..."
msgstr ""
+msgid "Sync with Crowdin"
+msgstr ""
+
msgid "Fill missing translations from &TM..."
msgstr ""
@@ -1400,6 +1575,9 @@ msgstr ""
msgid "Catalog properties"
msgstr ""
+msgid "Project name and version:"
+msgstr "Non dal progjet e version:"
+
msgid "Plural Forms:"
msgstr "Formis plurâls:"
@@ -1412,6 +1590,15 @@ msgstr ""
msgid "Learn about plural forms"
msgstr ""
+msgid "Charset:"
+msgstr "Set di caratars:"
+
+msgid "Team:"
+msgstr "Clape:"
+
+msgid "Team's email address:"
+msgstr "Recapit email de clape:"
+
msgid "Translation properties"
msgstr ""
@@ -1482,7 +1669,7 @@ msgstr "Atualize catalic - sincronizilu cui sorzints"
msgid "Toggled if selected string has fuzzy translation"
msgstr "Impueste se la traduzion de stringhe selezionade e je malsigure"
-msgid "Show or hide the sidebar."
+msgid "Show or hide the sidebar"
msgstr ""
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
@@ -1494,6 +1681,9 @@ msgid ""
"translation corresponds to."
msgstr ""
+msgid "Notes for translators:"
+msgstr ""
+
msgid "Add comment"
msgstr ""
@@ -1566,14 +1756,21 @@ msgstr ""
msgid "Open an existing PO file and edit the translation."
msgstr ""
-msgid "Create new translation"
-msgstr ""
-
msgid ""
"Take an existing PO file or POT template and create a new translation from "
"it."
msgstr ""
+msgid "Collaborate on a translation with Crowdin"
+msgstr ""
+
+msgid ""
+"Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+
+msgid "What is Crowdin?"
+msgstr ""
+
msgid "There are no translations. That’s unusual."
msgstr ""
@@ -1606,3 +1803,9 @@ msgstr ""
msgid "Configure source code extraction in Properties."
msgstr ""
+
+msgid "Sync"
+msgstr ""
+
+msgid "Synchronize the translation with Crowdin"
+msgstr ""
diff --git a/locales/fy_NL.mo b/locales/fy_NL.mo
new file mode 100644
index 0000000..e2469ee
Binary files /dev/null and b/locales/fy_NL.mo differ
diff --git a/locales/af.po b/locales/fy_NL.po
similarity index 75%
copy from locales/af.po
copy to locales/fy_NL.po
index 50af566..3dc8a37 100644
--- a/locales/af.po
+++ b/locales/fy_NL.po
@@ -2,28 +2,28 @@ msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:33-0400\n"
+"POT-Creation-Date: 2015-05-13 18:47+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
-"Language-Team: Afrikaans\n"
-"Language: af_ZA\n"
+"Language-Team: Frisian\n"
+"Language: fy_NL\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: crowdin.com\n"
"X-Crowdin-Project: poedit\n"
-"X-Crowdin-Language: af\n"
+"X-Crowdin-Language: fy-NL\n"
"X-Crowdin-File: /locales/poedit.pot\n"
msgid "Hide this notification message"
msgstr ""
msgid "Don't Show Again"
-msgstr ""
+msgstr "Net mear werjaan"
msgid "Don't show again"
-msgstr ""
+msgstr "Net mear werjaan"
#, c-format
msgid "%i line of file '%s' was not loaded correctly."
@@ -37,35 +37,29 @@ msgstr ""
#, c-format
msgid "Malformed header: '%s'"
-msgstr "Wangevormde kopstuk: '%s'"
+msgstr ""
msgid ""
"Broken catalog file: singular form msgstr used together with msgid_plural"
msgstr ""
-"Gebroke kataloguslêer: enkelvoudvorm msgstr is gebruik saam met msgid_plural"
msgid "Broken catalog file: plural form msgstr used without msgid_plural"
msgstr ""
-"Gebroke kataloguslêer: meervoudvorm msgstr is gebruik sonder msgid_plural"
msgid ""
"There were errors when loading the catalog. Some data may be missing or "
"corrupted as the result."
msgstr ""
-"Daar het foute voorgekom tydens die laai van die katalogus. As gevolg "
-"daarvan kan sommige data ontbreek of korrup wees."
#, c-format
msgid "Couldn't load file %s, it is probably corrupted."
-msgstr "Kon nie lêer %s laai nie. Dit is waarskynlik korrup."
+msgstr ""
#, c-format
msgid ""
"File '%s' is read-only and cannot be saved.\n"
"Please save it under different name."
msgstr ""
-"Lêer '%s' is lees-alleen en kan nie gestoor word nie.\n"
-"Stoor dit asb met 'n ander lêernaam."
#, c-format
msgid "Couldn't save file %s."
@@ -84,36 +78,122 @@ msgid ""
msgstr ""
msgid "Error saving catalog"
-msgstr "Fout met stoor van katalogus"
+msgstr ""
+
+msgid "PO Translation Files"
+msgstr ""
+
+msgid "POT Translation Templates"
+msgstr ""
+
+msgid "All Translation Files"
+msgstr ""
msgid "Merging differences..."
-msgstr "Verskille word bygewerk..."
+msgstr ""
#, c-format
msgid "'%s' is not a valid POT file."
-msgstr "'%s' is nie 'n geldige POT-lêer nie."
+msgstr ""
msgid "(Use default language)"
-msgstr "(Gebruik verstektaal)"
+msgstr "(Standerttaal brûke)"
msgid "Select your preferred language"
-msgstr "Asseblief kies jou voorkeurtaal"
+msgstr "Kies jo foarkartaal"
msgid "Language selection"
-msgstr "Taalkeuse"
+msgstr "Taalseleksje"
msgid "You must restart Poedit for this change to take effect."
-msgstr "Herbegin Poedit vir hierdie verandering om 'n effek te hê."
+msgstr ""
-msgid "&Copy"
+msgid "Downloading translations is disabled in this project."
msgstr ""
-msgid "Learn more"
+msgid "Not authorized, please sign in again."
msgstr ""
-msgid "Learn More"
+msgid "Sign in to Crowdin"
+msgstr "Ynlogge by Crowdin"
+
+msgid ""
+"Crowdin is an online localization management platform and collaborative "
+"translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+
+msgid "Sign In"
+msgstr "Ynlogge"
+
+msgid "Sign in"
+msgstr "Ynlogge"
+
+msgid "Sign Out"
+msgstr "Utlogge"
+
+msgid "Sign out"
+msgstr "Utlogge"
+
+msgid "Waiting for authentication…"
+msgstr ""
+
+msgid "Updating user information…"
+msgstr ""
+
+msgid "Signed in as:"
+msgstr ""
+
+msgid "Learn More About Crowdin"
+msgstr ""
+
+msgid "Learn more about Crowdin"
+msgstr ""
+
+msgid "Open Crowdin translation"
+msgstr ""
+
+msgid "Project:"
+msgstr "Projekt:"
+
+msgid "Language:"
+msgstr "Taal:"
+
+msgid "File:"
+msgstr ""
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr ""
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr ""
+
+msgid "This file can only be edited in Crowdin’s web interface."
msgstr ""
+msgid "Downloading latest translations…"
+msgstr ""
+
+msgid "Syncing with Crowdin"
+msgstr ""
+
+msgid "Syncing with Crowdin failed."
+msgstr ""
+
+msgid "Crowdin error"
+msgstr ""
+
+msgid "Uploading translations…"
+msgstr ""
+
+msgid "&Copy"
+msgstr "&Kopiearje"
+
+msgid "Learn more"
+msgstr "Lês mear"
+
+msgid "Learn More"
+msgstr "Lês mear"
+
#, c-format
msgid "Failed command: %s"
msgstr ""
@@ -122,7 +202,7 @@ msgid "Failed to merge gettext catalogs."
msgstr ""
msgid "Scanning files..."
-msgstr "Lêers word verwerk..."
+msgstr ""
#. TRANSLATORS: '%s' is replaced with the kind of the files (e.g. C++, PHP, ...)
#, c-format
@@ -133,7 +213,7 @@ msgid "Failed to load extracted catalog."
msgstr ""
msgid "&Help"
-msgstr "&Hulp"
+msgstr "&Help"
msgid "MO files can’t be directly edited in Poedit."
msgstr ""
@@ -149,6 +229,9 @@ msgstr ""
msgid "don't delete temporary files (for debugging)"
msgstr ""
+msgid "handle a poedit:// URI"
+msgstr ""
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr ""
@@ -157,53 +240,47 @@ msgid "Unhandled exception occurred."
msgstr ""
msgid "Open catalog"
-msgstr "Maak katalogus oop"
-
-msgid "All Files"
-msgstr ""
-
-msgid "PO Translation Files"
-msgstr ""
+msgstr "Katalogus iepenje"
#, c-format
msgid "File '%s' doesn't exist."
-msgstr "Lêer '%s' bestaan nie."
+msgstr ""
#. TRANSLATORS: This is titlebar of about dialog, "%s" is application name
#. ("Poedit" here, but please use "%s")
#, c-format
msgid "About %s"
-msgstr ""
+msgstr "Oer %s"
#. TRANSLATORS: This is version information in about dialog, "%s" will be
#. version number when used
#, c-format
msgid "Version %s"
-msgstr ""
+msgstr "Ferzje %s"
msgid "Poedit is an easy to use translations editor."
msgstr ""
msgid "Catalogs Manager"
-msgstr ""
+msgstr "Katalogusbehearder"
msgid "Check for Updates..."
msgstr ""
msgid "&Edit"
-msgstr "R&edigeer"
+msgstr "B&ewurkje"
msgid "Undo"
-msgstr "Herroep"
+msgstr "Ungedien meitsje"
msgid "Redo"
-msgstr ""
+msgstr "Opnij"
msgid "Paste and Match Style"
msgstr ""
msgid "Delete"
-msgstr "Wis uit"
+msgstr "Fuortsmite"
msgid "Spelling and Grammar"
msgstr ""
@@ -224,25 +301,25 @@ msgid "Correct Spelling Automatically"
msgstr ""
msgid "Substitutions"
-msgstr ""
+msgstr "Ferfangings"
msgid "Show Substitutions"
-msgstr ""
+msgstr "Ferfangings werjaan"
msgid "Smart Copy/Paste"
-msgstr ""
+msgstr "Snoad kopiearje/plakke"
msgid "Smart Quotes"
-msgstr ""
+msgstr "Snoade oanhellingstekens"
msgid "Smart Dashes"
-msgstr ""
+msgstr "Snoade strypkes"
msgid "Smart Links"
-msgstr ""
+msgstr "Snoade keppelings"
msgid "Text Replacement"
-msgstr ""
+msgstr "Tekstferfanging"
msgid "Transformations"
msgstr ""
@@ -257,7 +334,7 @@ msgid "Capitalize"
msgstr ""
msgid "Speech"
-msgstr ""
+msgstr "Spraak"
msgid "Start Speaking"
msgstr ""
@@ -266,25 +343,25 @@ msgid "Stop Speaking"
msgstr ""
msgid "&View"
-msgstr "&Besigtig"
+msgstr "&Besjen"
msgid "Enter Full Screen"
msgstr ""
msgid "Window"
-msgstr ""
+msgstr "Finster"
msgid "Minimize"
-msgstr ""
+msgstr "Minimalisearje"
msgid "Zoom"
-msgstr ""
+msgstr "Ynzoome"
msgid "Bring All to Front"
msgstr ""
msgid "PO Translation"
-msgstr ""
+msgstr "PO-oersetting"
msgid "The file cannot be opened."
msgstr ""
@@ -297,101 +374,112 @@ msgid ""
msgstr ""
msgid "&Undo"
-msgstr ""
+msgstr "&Ungedien meitsje"
msgid "&Redo"
-msgstr ""
+msgstr "&Opnij"
msgid "Cu&t"
-msgstr ""
+msgstr "Kni&ppe"
msgid "Cut"
-msgstr ""
+msgstr "Knippe"
msgid "Copy"
-msgstr ""
+msgstr "Kopiearje"
msgid "&Paste"
-msgstr ""
+msgstr "&Plakke"
msgid "Paste"
-msgstr ""
+msgstr "Plakke"
msgid "&Delete"
-msgstr ""
+msgstr "&Fuortsmite"
msgid "Select &All"
-msgstr ""
+msgstr "&Alles selektearje"
msgid "Select All"
-msgstr ""
+msgstr "Alles selektearje"
#. TRANSLATORS: Keyboard shortcut for display in Windows menus
#. TRANSLATORS: This is the key shortcut used in menus on Windows, some languages call them differently
msgid "Ctrl+"
-msgstr ""
+msgstr "Ctrl+"
#. TRANSLATORS: Keyboard shortcut for display in Windows menus
#. TRANSLATORS: This is the key shortcut used in menus on Windows, some languages call them differently
msgid "Alt+"
-msgstr ""
+msgstr "Alt+"
#. TRANSLATORS: Keyboard shortcut for display in Windows menus
msgid "Shift+"
-msgstr ""
+msgstr "Shift+"
#. TRANSLATORS: Keyboard shortcut for display in Windows menus
msgid "Enter"
-msgstr ""
+msgstr "Enter"
#. TRANSLATORS: Keyboard shortcut for display in Windows menus
msgid "Up"
-msgstr ""
+msgstr "Omheech"
#. TRANSLATORS: Keyboard shortcut for display in Windows menus
msgid "Down"
-msgstr ""
+msgstr "Omleech"
#. TRANSLATORS: Keyboard shortcut, must correspond to translation of "Ctrl+"
msgid "ctrl"
-msgstr ""
+msgstr "ctrl"
#. TRANSLATORS: Keyboard shortcut, must correspond to translation of "Alt+"
msgid "alt"
-msgstr ""
+msgstr "alt"
#. TRANSLATORS: Keyboard shortcut, must correspond to translation of "Shift+"
msgid "shift"
-msgstr ""
+msgstr "shift"
msgid "You can't drop more than one file on Poedit window."
-msgstr "Slegs een lêer kan na die Poedit-venster gesleep word."
+msgstr ""
#, c-format
msgid "File '%s' is not a message catalog."
msgstr ""
msgid "Poedit"
-msgstr "Poedit "
+msgstr "Poedit"
msgid "&File"
-msgstr "&Lêer"
+msgstr ""
msgid "&Go"
-msgstr ""
+msgstr "&Navigearje"
msgid "Source text:"
msgstr ""
msgid "Singular:"
-msgstr "Enkelvoud"
+msgstr "Iental:"
msgid "Plural:"
-msgstr "Meervoud:"
+msgstr "Meartal:"
msgid "Translation:"
+msgstr "Oersetting:"
+
+msgid ""
+"POT files are only templates and don’t contain any translations themselves.\n"
+"To make a translation, create a new PO file based on the template."
msgstr ""
+msgid "Create New Translation"
+msgstr ""
+
+msgid "Create new translation"
+msgstr "Nije oersetting meitsje"
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
@@ -401,45 +489,42 @@ msgid ""
msgstr ""
msgid "Install"
-msgstr ""
+msgstr "Ynstallearje"
msgid "Catalog modified. Do you want to save changes?"
-msgstr "Die katalogus het verander. Wil jy die veranderinge stoor?"
+msgstr ""
msgid "Save changes"
-msgstr "Stoor veranderinge?"
+msgstr ""
msgid "Your changes will be lost if you don't save them."
msgstr ""
msgid "Save"
-msgstr ""
+msgstr "Bewarje"
msgid "Don't save"
-msgstr ""
+msgstr "Net bewarje"
msgid "Don't Save"
-msgstr ""
+msgstr "Net bewarje"
msgid "Save as..."
-msgstr "Stoor as..."
+msgstr "Bewarje as..."
msgid "Compile to..."
-msgstr ""
+msgstr "Kompilearre nei..."
msgid "Compiled Translation Files"
msgstr ""
msgid "Export as..."
-msgstr "Skryf uit as ..."
+msgstr "Eksportearje as..."
msgid "HTML Files"
msgstr ""
msgid "Open catalog template"
-msgstr "Maak sjabloon oop"
-
-msgid "POT Translation Templates"
msgstr ""
msgid "Updating catalog"
@@ -457,7 +542,7 @@ msgid ""
msgstr ""
msgid "Entries in the catalog are probably incorrect."
-msgstr "Inskrywings in die katalogus is waarskynlik verkeerd."
+msgstr ""
msgid "Updating the catalog failed. Click on 'Details >>' for details."
msgstr ""
@@ -510,27 +595,44 @@ msgstr[1] ""
msgid "The translation is ready for use."
msgstr ""
-msgid "No references to this string found."
-msgstr "Geen verwysings na hierdie string gevind nie."
-
-msgid "Please choose the reference you want to show:"
-msgstr "Kies asb. die verwysing wat gewys moet word:"
+msgid "Context:"
+msgstr "Kontekst:"
-msgid "References"
-msgstr "Verwysings "
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr ""
-msgid "Context:"
+msgid ""
+"The file contained duplicate items, which is not allowed in PO files and "
+"would prevent the file from being used. Poedit fixed the issue, but you "
+"should review translations of any items marked as fuzzy and correct them if "
+"necessary."
msgstr ""
msgid "Language of the translation isn't set."
msgstr ""
msgid "Set Language"
-msgstr ""
+msgstr "Taal ynstelle"
msgid "Set language"
+msgstr "Taal ynstelle"
+
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid ""
+"Suggestions are not available if the translation language is not set "
+"correctly. Other features, such as plural forms, may be affected as well."
msgstr ""
+msgid "Language of the translation is the same as source language."
+msgstr ""
+
+msgid "Fix Language"
+msgstr "Taal reparearje"
+
+msgid "Fix language"
+msgstr "Taal reparearje"
+
msgid ""
"This catalog has entries with plural forms, but doesn't have Plural-Forms "
"header configured."
@@ -561,8 +663,9 @@ msgstr ""
msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr ""
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
-msgstr ""
+msgstr "Neisjen"
#, c-format
msgid "Error loading message catalog file '%s'."
@@ -574,22 +677,28 @@ msgstr ""
#, c-format
msgid "Remaining: %d"
-msgstr ""
+msgstr "Oerbliuwend: %d"
#, c-format
msgid "%d error"
msgid_plural "%d errors"
+msgstr[0] "%d flater"
+msgstr[1] "%d flaters"
+
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
msgstr[0] ""
msgstr[1] ""
msgid " (unsaved)"
-msgstr ""
+msgstr " (net-bewarre)"
msgid " (modified)"
-msgstr " (gewysig) "
+msgstr " (feroare)"
msgid "Go"
-msgstr ""
+msgstr "Navigearje"
#, c-format
msgid "Failed to update translation memory: %s"
@@ -608,7 +717,7 @@ msgid ""
msgstr ""
msgid "Keep"
-msgstr ""
+msgstr "Behâlde"
msgid "Purge"
msgstr ""
@@ -633,7 +742,7 @@ msgid ""
msgstr ""
msgid "Fill"
-msgstr ""
+msgstr "Ynfolje"
#, c-format
msgid "%d entry was filled from the translation memory."
@@ -656,7 +765,7 @@ msgid ""
msgstr ""
msgid "Translating"
-msgstr ""
+msgstr "Oan it oersette"
msgid "Filling missing translations from TM..."
msgstr ""
@@ -674,41 +783,47 @@ msgid "Copy from Source Text"
msgstr ""
msgid "Clear translation"
-msgstr ""
+msgstr "Oersetting wiskje"
msgid "Clear Translation"
-msgstr ""
+msgstr "Oersetting wiskje"
msgid "Edit comment"
-msgstr "Redigeer kommentaar"
+msgstr "Opmerking bewurkje"
msgid "Edit Comment"
-msgstr ""
+msgstr "Opmerking bewurkje"
msgid "References:"
-msgstr "Verwysings: "
+msgstr "Ferwizings:"
msgid "Everything"
-msgstr ""
+msgstr "Alles"
#, c-format
msgid "Form %i"
+msgstr "Formulier %i"
+
+msgid "Singular"
msgstr ""
msgid "Zero"
-msgstr ""
+msgstr "Nul"
msgid "One"
-msgstr ""
+msgstr "Ien"
msgid "Two"
+msgstr "Twa"
+
+msgid "Plural"
msgstr ""
msgid "Other"
-msgstr ""
+msgstr "Oare"
msgid "&Bookmarks"
-msgstr "&Boekmerke"
+msgstr "&Blêdwizers"
#, c-format
msgid "Set bookmark %i"
@@ -730,94 +845,120 @@ msgid "Hide Sidebar"
msgstr ""
msgid "Show Sidebar"
+msgstr "Sydbalke toane"
+
+msgid "Hide Status Bar"
+msgstr ""
+
+msgid "Show Status Bar"
msgstr ""
msgid "Source text"
msgstr ""
msgid "Translation"
-msgstr "Vertaling"
+msgstr "Oersetting"
msgid "ID"
+msgstr "ID"
+
+#, c-format
+msgid "Source text — %s"
msgstr ""
msgid "unknown language"
-msgstr ""
+msgstr "ûnbekende taal"
#, c-format
msgid "Translation — %s"
-msgstr ""
+msgstr "Oersetting — %s"
msgid "Error:"
+msgstr "Flater:"
+
+msgid "Source file"
msgstr ""
-msgid "Project info"
-msgstr "Projekinligting"
+msgid "Source file occurrence:"
+msgstr ""
-msgid "Project name and version:"
-msgstr "Projeknaam en weergawe:"
+msgid "Open in Editor"
+msgstr ""
-msgid "Language:"
-msgstr "Taal: "
+msgid "Open in editor"
+msgstr ""
-msgid "Team:"
-msgstr "Span:"
+msgid "No references for the selected item."
+msgstr ""
-msgid "Team's email address:"
-msgstr "Span se e-pos adres:"
+#, c-format
+msgid "Error opening file %s!"
+msgstr ""
-msgid "Charset:"
-msgstr "Karakterstel:"
+msgid "Find"
+msgstr "Sykje"
-msgid "Source"
+msgid "Replace"
msgstr ""
-msgid "Notes"
-msgstr "Notas"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr "Opsjes"
-msgid "Automatic translation"
-msgstr "Outomatiese vertaling"
+msgid "Ignore case"
+msgstr ""
-msgid "Fuzzy translation"
-msgstr "Wasige vertaling"
+msgid "Wrap around"
+msgstr ""
-msgid "Notes for translators:"
+msgid "Whole words only"
msgstr ""
-msgid "Comment:"
-msgstr "Kommentaar:"
+msgid "Find in source texts"
+msgstr ""
-msgid "Source file"
-msgstr "Bronlêer"
+msgid "Find in translations"
+msgstr ""
-msgid "Source file occurrence:"
+msgid "Find in comments"
msgstr ""
-msgid "Open in Editor"
+msgid "Close"
+msgstr "Slute"
+
+msgid "Replace All"
msgstr ""
-msgid "Open in editor"
+msgid "Replace all"
msgstr ""
-#, c-format
-msgid "Error opening file %s!"
-msgstr "Fout met oopmaak van lêer %s!"
+msgid "< &Previous"
+msgstr "< &Foarige"
+
+msgid "&Next >"
+msgstr "&Folgjende >"
+
+msgid "String to find"
+msgstr ""
+
+msgid "Replacement string"
+msgstr ""
#, c-format
msgid "Cannot execute program: %s"
msgstr ""
msgid "Language Code or Name (e.g. en_GB)"
-msgstr ""
+msgstr "Taalkoade of -namme (bgl. fy_NL)"
msgid "Translation Language"
-msgstr ""
+msgstr "Oersettingstaal"
msgid "Language of the translation:"
msgstr ""
msgid "Poedit - Catalogs manager"
-msgstr "Poedit - Katalogusbestuurder "
+msgstr ""
msgid "Catalog"
msgstr "Katalogus"
@@ -826,53 +967,51 @@ msgid "Total"
msgstr "Totaal"
msgid "Untrans"
-msgstr "Onvertaal"
+msgstr "Unoerset"
msgid "Fuzzy"
-msgstr "Wasig"
+msgstr ""
msgid "Bad Tokens"
-msgstr "Onaanvaarbare tokens"
+msgstr ""
msgid "Last modified"
-msgstr "Laas verander"
+msgstr ""
msgid "Select directory"
-msgstr "Kies gids "
+msgstr ""
msgid "Directories:"
-msgstr "Gidse:"
+msgstr "Mappen:"
msgid "<unnamed>"
-msgstr "<onbenoemd>"
+msgstr "<nammeleas>"
msgid "Do you want to delete the project?"
-msgstr "Wil jy die projek uitvee?"
+msgstr ""
msgid "Confirmation"
-msgstr "Bevestiging"
+msgstr "Befêstiging"
msgid ""
"Do you really want to do mass update of\n"
"all catalogs in this project?"
msgstr ""
-"Wil jy regtig 'n massa-opdatering doen van\n"
-"alle katalogusse in hierdie projek?"
msgid "Information about the translator"
msgstr ""
msgid "Name:"
-msgstr ""
+msgstr "Namme:"
msgid "Your Name"
-msgstr ""
+msgstr "Jo namme"
msgid "Email:"
-msgstr ""
+msgstr "E-mailadres:"
msgid "your_email at example.com"
-msgstr ""
+msgstr "jo_e-mail at example.com"
msgid ""
"Your name and email address are only used to set the Last-Translator header "
@@ -880,32 +1019,28 @@ msgid ""
msgstr ""
msgid "Editing"
-msgstr ""
+msgstr "Bewurkje"
msgid "Automatically compile MO file when saving"
msgstr ""
msgid "Show summary after catalog update"
-msgstr "Wys opsomming na katalogus opdatering"
+msgstr ""
msgid "Check spelling"
msgstr ""
msgid "Always change focus to text input field"
-msgstr "Verander altyd die fokus na die teks-insleutelveld"
+msgstr ""
msgid ""
"Never let the list of strings take focus. If enabled, you must use Ctrl-"
"arrows for keyboard navigation but you can also type text immediately, "
"without having to press Tab to change focus."
msgstr ""
-"Laat die lys van stringe nooit fokus kry nie. As hierdie opsie aangeskakel "
-"is moet Ctrl saam met pyltjies gebruik word vir sleutelbordnavigasie, maar "
-"sodoende kan vertaalteks dadelik getik word sonder om eers Tab te druk om "
-"fokus te verkry."
msgid "Appearance"
-msgstr ""
+msgstr "Werjefte"
msgid "Use custom list font:"
msgstr ""
@@ -914,14 +1049,14 @@ msgid "Use custom text fields font:"
msgstr ""
msgid "Change UI language"
-msgstr "Verander koppelvlaktaal"
+msgstr ""
#. TRANSLATORS: This is a note appended to "Check spelling" when running on older Windows versions
msgid "(requires Windows 8 or newer)"
msgstr ""
msgid "General"
-msgstr ""
+msgstr "Algemien"
msgid "Use translation memory"
msgstr ""
@@ -934,7 +1069,7 @@ msgstr ""
#. TRANSLATORS: This is a button that deletes everything in the translation memory (i.e. clears/resets it).
msgid "Reset"
-msgstr ""
+msgstr "Ferfarskje"
msgid "Consult TM when updating from sources"
msgstr ""
@@ -956,13 +1091,13 @@ msgid "Select translation files to import"
msgstr ""
msgid "Translation Memory"
-msgstr "Vertaalgeheue"
+msgstr ""
msgid "Importing translations..."
msgstr ""
msgid "Finalizing..."
-msgstr ""
+msgstr "Ofwurkje..."
msgid "Reset translation memory"
msgstr ""
@@ -976,13 +1111,13 @@ msgid ""
msgstr ""
msgid "Cancel"
-msgstr "Kanseleer"
+msgstr "Annulearje"
#. TRANSLATORS: This is abbreviation of "Translation Memory" used in Preferences on OS X.
#. Long text looks weird there, too short (like TM) too, but less so. "General" is about ideal
#. length there.
msgid "TM"
-msgstr ""
+msgstr "TM"
msgid ""
"Source code extractors are used to find translatable strings in the source "
@@ -990,14 +1125,24 @@ msgid ""
msgstr ""
msgid "New"
-msgstr "Nuwe "
+msgstr "Nij"
msgid "Edit"
-msgstr "Redigeer"
+msgstr "Bewurkje"
+
+msgid "Delete extractor"
+msgstr ""
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr ""
msgid "Extractors"
msgstr ""
+msgid "Accounts"
+msgstr ""
+
msgid "Automatically check for updates"
msgstr ""
@@ -1010,7 +1155,7 @@ msgid ""
msgstr ""
msgid "Updates"
-msgstr ""
+msgstr "Updates"
msgid ""
"These settings affect internal formatting of PO files. Adjust them if you "
@@ -1018,10 +1163,10 @@ msgid ""
msgstr ""
msgid "Line endings:"
-msgstr ""
+msgstr "Rigeleinen:"
msgid "Unix (recommended)"
-msgstr ""
+msgstr "Unix (oanbefelle)"
msgid "Windows"
msgstr "Windows"
@@ -1034,115 +1179,112 @@ msgid "Preserve formatting of existing files"
msgstr ""
msgid "Advanced"
-msgstr ""
+msgstr "Avansearre"
-msgid "Additional keywords"
+msgid ""
+"<big>Drag and Drop Folders Here</big>\n"
+"\n"
+"or use the + button"
msgstr ""
-msgid "Paths"
-msgstr "Paaie"
-
-msgid "Excluded paths"
+msgid ""
+"<big>Drag and drop folders here</big>\n"
+"\n"
+"or use the + button"
msgstr ""
-msgid "Name of the project the translation is for"
+msgid "Add Folders..."
msgstr ""
-msgid "e.g. nplurals=2; plural=(n > 1);"
+msgid "Add folders..."
msgstr ""
-msgid "UTF-8 (recommended)"
+msgid "Add Files..."
msgstr ""
-msgid "Please save the file first. This section cannot be edited until then."
+msgid "Add files..."
msgstr ""
-msgid "OK"
-msgstr "OK "
-
-msgid "C&lear"
+msgid "Add Wildcard..."
msgstr ""
-msgid "Clear the comment"
-msgstr "Verwyder kommentaar"
+msgid "Add wildcard..."
+msgstr ""
-msgid "Find..."
-msgstr "Soek..."
+msgid "Paths"
+msgstr "Paden"
-msgid "String to find:"
-msgstr "String om te vind:"
+msgid "Excluded paths"
+msgstr ""
-msgid "Case sensitive"
-msgstr "Kas sensitief"
+msgid "Additional keywords"
+msgstr ""
-msgid "Start from the first item"
-msgstr "Begin vanaf die eerste item"
+msgid "Name of the project the translation is for"
+msgstr ""
-msgid "Whole words only"
-msgstr "Slegs heel woorde"
+msgid "e.g. nplurals=2; plural=(n > 1);"
+msgstr "bgl. nplurals=2; plural=(n != 1);"
-msgid "Find in original strings"
-msgstr "Soek in oorspronklike stringe"
+msgid "UTF-8 (recommended)"
+msgstr "UTF-8 (oanbefelle)"
-msgid "Find in translations"
+msgid "Please save the file first. This section cannot be edited until then."
msgstr ""
-msgid "Find in comments"
-msgstr "Vind in kommentaar"
-
-msgid "Find in automatic comments"
-msgstr "Vind in outomatiese kommentaar"
+msgid "Comment:"
+msgstr "Opmerking:"
-msgid "Close"
-msgstr ""
+msgid "OK"
+msgstr "OK"
-msgid "< &Previous"
-msgstr ""
+msgid "C&lear"
+msgstr "&Wiskje"
-msgid "&Next >"
+msgid "Clear the comment"
msgstr ""
msgid "Create new translations project"
-msgstr "Skep nuwe vertaalprojek"
+msgstr ""
msgid "Edit the project"
-msgstr "Redigeer die projek"
+msgstr ""
msgid "Delete the project"
-msgstr "Vee die projek uit"
+msgstr ""
msgid "Update all"
msgstr ""
msgid "Update all catalogs in the project"
-msgstr "Bring alle katalogusse in die projek op datum"
+msgstr ""
msgid "Edit project"
-msgstr "Redigeer projek"
+msgstr "Projekt bewurkje"
msgid "Project name:"
-msgstr "Projeknaam:"
+msgstr ""
msgid "Browse"
-msgstr "Blaai"
+msgstr "Blêdzje"
msgid "Add directory to the list"
-msgstr "Voeg gids by die lys"
+msgstr ""
msgid "&Preferences..."
-msgstr "&Voorkeure..."
+msgstr "&Foarkarren..."
msgid "&Close"
-msgstr "Maak &toe "
+msgstr "&Slute"
msgid "E&xit"
-msgstr ""
+msgstr "&Ofslute"
msgid "Quit"
-msgstr ""
+msgstr "Ofslute"
msgid "&New..."
-msgstr ""
+msgstr "&Nij..."
msgid "New from &POT/PO file..."
msgstr ""
@@ -1151,19 +1293,25 @@ msgid "New From &POT/PO File..."
msgstr ""
msgid "&Open..."
-msgstr ""
+msgstr "&Iepenje..."
msgid "Open Recent"
msgstr ""
+msgid "Open from Crowdin..."
+msgstr ""
+
+msgid "Open From Crowdin..."
+msgstr ""
+
msgid "&Save"
-msgstr "&Stoor"
+msgstr "&Bewarje"
msgid "Save &as..."
-msgstr "Stoor &as..."
+msgstr "Bewarje &as..."
msgid "Save &As..."
-msgstr ""
+msgstr "Bewarje &as..."
msgid "Compile to MO..."
msgstr ""
@@ -1175,52 +1323,55 @@ msgid "Check for updates..."
msgstr ""
msgid "Catalogs &manager"
-msgstr "Katalogus&bestuurder"
+msgstr "&Katalogusbehearder"
msgid "Catalogs &Manager"
-msgstr ""
+msgstr "&Katalogusbehearder"
msgid "Translation is &fuzzy"
-msgstr "&Vertaling is wasig"
+msgstr ""
msgid "Translation Is &Fuzzy"
msgstr ""
msgid "Edit &comment"
-msgstr "&Redigeer kommentaar"
+msgstr "&Opmerking bewurkje"
msgid "Edit &Comment"
-msgstr ""
+msgstr "&Opmerking bewurkje"
msgid "Suggestions"
-msgstr ""
+msgstr "Suggestjes"
msgid "&Show references"
-msgstr "&Wys verwysings"
+msgstr "&Ferwizing werjaan"
msgid "&Show References"
-msgstr ""
+msgstr "&Ferwizing werjaan"
msgid "&Find..."
-msgstr "&Soek..."
+msgstr "&Sykje..."
-msgid "Find next"
+msgid "Replace..."
msgstr ""
+msgid "Find next"
+msgstr "Folgjende sykje"
+
msgid "Find previous"
-msgstr ""
+msgstr "Foarige sykje"
-msgid "Find"
+msgid "Find and Replace..."
msgstr ""
msgid "Find Next"
-msgstr ""
+msgstr "Folgjende sykje"
msgid "Find Previous"
-msgstr ""
+msgstr "Foarige sykje"
msgid "&Preferences"
-msgstr ""
+msgstr "&Foarkarren"
msgid "Display entry &IDs"
msgstr ""
@@ -1235,21 +1386,27 @@ msgid "Sort by &File Order"
msgstr ""
msgid "Sort by &source"
-msgstr ""
+msgstr "Sortearje op &boarne"
msgid "Sort by &Source"
-msgstr ""
+msgstr "Sortearje op &boarne"
msgid "Sort by &translation"
-msgstr ""
+msgstr "Sortearje op oerse&tting"
msgid "Sort by &Translation"
-msgstr ""
+msgstr "Sortearje op oerse&tting"
msgid "&Group by context"
-msgstr ""
+msgstr "&Groepearje nei kontekst"
msgid "&Group By Context"
+msgstr "&Groepearje nei kontekst"
+
+msgid "Entries with errors first"
+msgstr ""
+
+msgid "Entries with Errors First"
msgstr ""
msgid "&Untranslated entries first"
@@ -1259,23 +1416,29 @@ msgid "&Untranslated Entries First"
msgstr ""
msgid "Show sidebar"
+msgstr "Sydbalke toane"
+
+msgid "Show status bar"
msgstr ""
msgid "C&atalog"
msgstr "K&atalogus"
msgid "&Update from sources"
-msgstr "Werk by vanuit &bronlêers"
+msgstr ""
msgid "&Update from Sources"
msgstr ""
msgid "Update from &POT file..."
-msgstr "Werk by vanuit &POT-lêer..."
+msgstr ""
msgid "Update from &POT File..."
msgstr ""
+msgid "Sync with Crowdin"
+msgstr ""
+
msgid "Fill missing translations from &TM..."
msgstr ""
@@ -1283,7 +1446,7 @@ msgid "Fill Missing Translations from &TM..."
msgstr ""
msgid "&Purge deleted translations"
-msgstr "&Verwyder vertalings wat vir uitvee gemerk is"
+msgstr ""
msgid "&Purge Deleted Translations"
msgstr ""
@@ -1295,25 +1458,25 @@ msgid "&Validate Translations"
msgstr ""
msgid "&Properties..."
-msgstr ""
+msgstr "&Eigenskippen..."
msgid "&Done and next"
-msgstr ""
+msgstr "&Klear en folgjende"
msgid "&Done and Next"
-msgstr ""
+msgstr "&Klear en folgjende"
msgid "&Previous translation"
-msgstr ""
+msgstr "&Foarige oersetting"
msgid "&Previous Translation"
-msgstr ""
+msgstr "&Foarige oersetting"
msgid "&Next translation"
-msgstr ""
+msgstr "&Folgjende oersetting"
msgid "&Next Translation"
-msgstr ""
+msgstr "&Folgjende oersetting"
msgid "P&revious unfinished"
msgstr ""
@@ -1340,19 +1503,19 @@ msgid "&GNU gettext Manual"
msgstr ""
msgid "&About Poedit"
-msgstr ""
+msgstr "&Oer Poedit"
msgid "&About"
-msgstr ""
+msgstr "&Oer"
msgid "Extractor setup"
msgstr ""
msgid "List of extensions separated by semicolons (e.g. *.cpp;*.h):"
-msgstr "Lys van uitgange geskei deur kommapunte (bv. *.cpp;*.h):"
+msgstr ""
msgid "Invocation:"
-msgstr "Aktivering:"
+msgstr "Oanrop:"
msgid "Command to extract translations:"
msgstr ""
@@ -1365,43 +1528,39 @@ msgid ""
msgstr ""
msgid "An item in keywords list:"
-msgstr "'n Item in die lys van sleutelwoorde:"
+msgstr ""
msgid ""
"This will be attached to the command line once\n"
"for each keyword. %k expands to the keyword."
msgstr ""
-"Dit sal vir elke sleutelwoord eenmaal bygevoeg word\n"
-"by die bevellyn. %k brei uit na die sleutelwoord."
msgid "An item in input files list:"
-msgstr "'n Item in die lys van toevoerlêers:"
+msgstr ""
#, c-format
msgid ""
"This will be attached to the command line once\n"
"for each input file. %f expands to the filename."
msgstr ""
-"Dit sal vir elke toevoerlêer eenmaal bygevoeg word\n"
-"by die bevellyn. %f brei uit na die lêernaam."
msgid "Source code charset:"
-msgstr "Bronkode karakterstel:"
+msgstr ""
#, c-format
msgid ""
"This will be attached to the command line\n"
"only if source codecharset was given. %c expands to charset value."
msgstr ""
-"Dit sal vir elke toevoerlêer slegs bygevoeg word\n"
-"by die bevellyn as die bronkodekarakterstel gegee is. %c brei uit na die "
-"karakterstel waarde."
msgid "Catalog properties"
-msgstr ""
+msgstr "Kataloguseigenskippen"
+
+msgid "Project name and version:"
+msgstr "Projektnamme en -ferzje:"
msgid "Plural Forms:"
-msgstr "Meervoudvorme:"
+msgstr ""
msgid "Use default rules for this language"
msgstr ""
@@ -1412,6 +1571,15 @@ msgstr ""
msgid "Learn about plural forms"
msgstr ""
+msgid "Charset:"
+msgstr "Tekenset:"
+
+msgid "Team:"
+msgstr "Team:"
+
+msgid "Team's email address:"
+msgstr "E-mailadres fan it team:"
+
msgid "Translation properties"
msgstr ""
@@ -1419,10 +1587,10 @@ msgid "Extract text from source files in the following directories:"
msgstr ""
msgid "Base path:"
-msgstr "Basispad:"
+msgstr "Basispaad:"
msgid "Sources paths"
-msgstr ""
+msgstr "Boarnepaden"
msgid ""
"Use these keywords (function names) to recognize translatable strings\n"
@@ -1436,36 +1604,32 @@ msgid "Sources keywords"
msgstr ""
msgid "Update summary"
-msgstr "Dateer opsomming op"
+msgstr ""
msgid ""
"These strings were found in the sources but were not in the catalog.\n"
"Poedit will add them to the catalog now."
msgstr ""
-"Hierdie string is gevind in die bronkkode, maar nie in die katalogus nie.\n"
-"Poedit gaan hulle nou byvoeg by die katalogus."
msgid "New strings"
-msgstr "Nuwe stringe"
+msgstr "Nije strings"
msgid ""
"These strings are no longer in the sources.\n"
"Poedit will remove them from the catalog now."
msgstr ""
-"Hierdie string is nie meer in die bronkode nie.\n"
-"Poedit gaan hulle nou verwyder."
msgid "Obsolete strings"
-msgstr "Verouderde stringe"
+msgstr ""
msgid "(0 new, 0 obsolete)"
-msgstr "(0 nuut, 0 verouderd)"
+msgstr ""
msgid "Open"
-msgstr ""
+msgstr "Iepenje"
msgid "Save catalog"
-msgstr "Stoor katalogus"
+msgstr "Katalogus bewarje"
msgid "Validate"
msgstr ""
@@ -1474,15 +1638,15 @@ msgid "Check for errors in the translation"
msgstr ""
msgid "Update"
-msgstr ""
+msgstr "Bywurkje"
msgid "Update catalog - synchronize it with sources"
-msgstr "Werk katalogus by - sinkroniseer met bronne"
+msgstr ""
msgid "Toggled if selected string has fuzzy translation"
-msgstr "Dui aan of die gekose string 'n wasige vertaling het"
+msgstr ""
-msgid "Show or hide the sidebar."
+msgid "Show or hide the sidebar"
msgstr ""
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
@@ -1494,11 +1658,14 @@ msgid ""
"translation corresponds to."
msgstr ""
-msgid "Add comment"
+msgid "Notes for translators:"
msgstr ""
+msgid "Add comment"
+msgstr "Opmerking tafoegje"
+
msgid "Add Comment"
-msgstr ""
+msgstr "Opmerking tafoegje"
msgid "Translation suggestions:"
msgstr ""
@@ -1516,14 +1683,14 @@ msgstr ""
#, c-format
msgid "(New: %i, obsolete: %i)"
-msgstr ""
+msgstr "(Nij: %i, ferâldere: %i)"
#, c-format
msgid "Importing translations: %d"
-msgstr ""
+msgstr "Oersettings ymportearje: %d"
msgid "Poedit Update"
-msgstr ""
+msgstr "Poedit-update"
msgid "Preparing migration..."
msgstr ""
@@ -1541,7 +1708,7 @@ msgid ""
msgstr ""
msgid "Proceed"
-msgstr "Gaan voort "
+msgstr "Trochgean"
msgid "Translation memory migration failed."
msgstr ""
@@ -1558,7 +1725,7 @@ msgid "Cannot create temporary directory."
msgstr ""
msgid "Welcome to Poedit"
-msgstr ""
+msgstr "Wolkom by Poedit"
msgid "Edit a translation"
msgstr ""
@@ -1566,14 +1733,21 @@ msgstr ""
msgid "Open an existing PO file and edit the translation."
msgstr ""
-msgid "Create new translation"
-msgstr ""
-
msgid ""
"Take an existing PO file or POT template and create a new translation from "
"it."
msgstr ""
+msgid "Collaborate on a translation with Crowdin"
+msgstr ""
+
+msgid ""
+"Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+
+msgid "What is Crowdin?"
+msgstr ""
+
msgid "There are no translations. That’s unusual."
msgstr ""
@@ -1586,7 +1760,7 @@ msgid ""
msgstr ""
msgid "(Learn more about GNU gettext)"
-msgstr ""
+msgstr "(Lês mear oer GNU-gettext)"
msgid "The simplest way to fill this catalog is to update it from a POT:"
msgstr ""
@@ -1606,3 +1780,9 @@ msgstr ""
msgid "Configure source code extraction in Properties."
msgstr ""
+
+msgid "Sync"
+msgstr ""
+
+msgid "Synchronize the translation with Crowdin"
+msgstr ""
diff --git a/locales/ga.mo b/locales/ga.mo
index 85c1fd7..fd66f56 100644
Binary files a/locales/ga.mo and b/locales/ga.mo differ
diff --git a/locales/ga.po b/locales/ga.po
index 2444f1f..4d645e3 100644
--- a/locales/ga.po
+++ b/locales/ga.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:33-0400\n"
+"POT-Creation-Date: 2015-05-13 18:47+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Irish\n"
"Language: ga_IE\n"
@@ -91,6 +91,15 @@ msgstr ""
msgid "Error saving catalog"
msgstr "Tharla botún ag chuir an clár i dtaisce"
+msgid "PO Translation Files"
+msgstr ""
+
+msgid "POT Translation Templates"
+msgstr ""
+
+msgid "All Translation Files"
+msgstr ""
+
msgid "Merging differences..."
msgstr "Ag cumascú éagsúlachtaí..."
@@ -110,6 +119,83 @@ msgstr "Rogha béarla"
msgid "You must restart Poedit for this change to take effect."
msgstr "Caithfear Poedit a atosú chun an athrú a chur i bhfeidhm."
+msgid "Downloading translations is disabled in this project."
+msgstr ""
+
+msgid "Not authorized, please sign in again."
+msgstr ""
+
+msgid "Sign in to Crowdin"
+msgstr ""
+
+msgid ""
+"Crowdin is an online localization management platform and collaborative "
+"translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+
+msgid "Sign In"
+msgstr ""
+
+msgid "Sign in"
+msgstr ""
+
+msgid "Sign Out"
+msgstr ""
+
+msgid "Sign out"
+msgstr ""
+
+msgid "Waiting for authentication…"
+msgstr ""
+
+msgid "Updating user information…"
+msgstr ""
+
+msgid "Signed in as:"
+msgstr ""
+
+msgid "Learn More About Crowdin"
+msgstr ""
+
+msgid "Learn more about Crowdin"
+msgstr ""
+
+msgid "Open Crowdin translation"
+msgstr ""
+
+msgid "Project:"
+msgstr ""
+
+msgid "Language:"
+msgstr "Béarla:"
+
+msgid "File:"
+msgstr ""
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr ""
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr ""
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr ""
+
+msgid "Downloading latest translations…"
+msgstr ""
+
+msgid "Syncing with Crowdin"
+msgstr ""
+
+msgid "Syncing with Crowdin failed."
+msgstr ""
+
+msgid "Crowdin error"
+msgstr ""
+
+msgid "Uploading translations…"
+msgstr ""
+
msgid "&Copy"
msgstr ""
@@ -154,6 +240,9 @@ msgstr ""
msgid "don't delete temporary files (for debugging)"
msgstr ""
+msgid "handle a poedit:// URI"
+msgstr ""
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr ""
@@ -164,12 +253,6 @@ msgstr ""
msgid "Open catalog"
msgstr "Oscail clár"
-msgid "All Files"
-msgstr ""
-
-msgid "PO Translation Files"
-msgstr ""
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "Níl an comhad '%s' ann."
@@ -398,6 +481,17 @@ msgstr "Iolra:"
msgid "Translation:"
msgstr ""
+msgid ""
+"POT files are only templates and don’t contain any translations themselves.\n"
+"To make a translation, create a new PO file based on the template."
+msgstr ""
+
+msgid "Create New Translation"
+msgstr ""
+
+msgid "Create new translation"
+msgstr ""
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
@@ -445,9 +539,6 @@ msgstr ""
msgid "Open catalog template"
msgstr "Oscail fíoraí an chláir"
-msgid "POT Translation Templates"
-msgstr ""
-
msgid "Updating catalog"
msgstr ""
@@ -522,16 +613,18 @@ msgstr[4] ""
msgid "The translation is ready for use."
msgstr ""
-msgid "No references to this string found."
-msgstr "Níor aimsíodh tagairtí don teaghrán seo."
-
-msgid "Please choose the reference you want to show:"
-msgstr "Roghnaigh an tagairt a dteastaíonn uait taispeáint:"
+msgid "Context:"
+msgstr ""
-msgid "References"
-msgstr "Tagairtí"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr ""
-msgid "Context:"
+msgid ""
+"The file contained duplicate items, which is not allowed in PO files and "
+"would prevent the file from being used. Poedit fixed the issue, but you "
+"should review translations of any items marked as fuzzy and correct them if "
+"necessary."
msgstr ""
msgid "Language of the translation isn't set."
@@ -543,6 +636,21 @@ msgstr ""
msgid "Set language"
msgstr ""
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid ""
+"Suggestions are not available if the translation language is not set "
+"correctly. Other features, such as plural forms, may be affected as well."
+msgstr ""
+
+msgid "Language of the translation is the same as source language."
+msgstr ""
+
+msgid "Fix Language"
+msgstr ""
+
+msgid "Fix language"
+msgstr ""
+
msgid ""
"This catalog has entries with plural forms, but doesn't have Plural-Forms "
"header configured."
@@ -573,6 +681,7 @@ msgstr ""
msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr ""
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr ""
@@ -597,6 +706,15 @@ msgstr[2] ""
msgstr[3] ""
msgstr[4] ""
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+msgstr[4] ""
+
msgid " (unsaved)"
msgstr ""
@@ -716,6 +834,9 @@ msgstr ""
msgid "Form %i"
msgstr "Leagan %i"
+msgid "Singular"
+msgstr ""
+
msgid "Zero"
msgstr ""
@@ -725,6 +846,9 @@ msgstr ""
msgid "Two"
msgstr ""
+msgid "Plural"
+msgstr ""
+
msgid "Other"
msgstr ""
@@ -753,6 +877,12 @@ msgstr ""
msgid "Show Sidebar"
msgstr ""
+msgid "Hide Status Bar"
+msgstr ""
+
+msgid "Show Status Bar"
+msgstr ""
+
msgid "Source text"
msgstr ""
@@ -762,6 +892,10 @@ msgstr "Aistriúchán"
msgid "ID"
msgstr ""
+#, c-format
+msgid "Source text — %s"
+msgstr ""
+
msgid "unknown language"
msgstr ""
@@ -772,57 +906,73 @@ msgstr ""
msgid "Error:"
msgstr ""
-msgid "Project info"
-msgstr "Faisnéis an togra"
+msgid "Source file"
+msgstr "Comhad foinse"
-msgid "Project name and version:"
-msgstr "Ainm agus leagan an togra:"
+msgid "Source file occurrence:"
+msgstr ""
-msgid "Language:"
-msgstr "Béarla:"
+msgid "Open in Editor"
+msgstr ""
-msgid "Team:"
-msgstr "Foireann:"
+msgid "Open in editor"
+msgstr ""
-msgid "Team's email address:"
-msgstr "Seoladh ríomhphoist na foirne:"
+msgid "No references for the selected item."
+msgstr ""
-msgid "Charset:"
-msgstr "Foireann litreacha:"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "Tharla botún ag oscailt comhad %s!"
-msgid "Source"
+msgid "Find"
msgstr ""
-msgid "Notes"
-msgstr "Nótaí"
+msgid "Replace"
+msgstr ""
-msgid "Automatic translation"
-msgstr "Aistriúchán uathoibríoch"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr ""
-msgid "Fuzzy translation"
-msgstr "Aistriúchán doiléir"
+msgid "Ignore case"
+msgstr ""
-msgid "Notes for translators:"
+msgid "Wrap around"
msgstr ""
-msgid "Comment:"
-msgstr "Nóta tráchta:"
+msgid "Whole words only"
+msgstr "Focail iomlán amháin"
-msgid "Source file"
-msgstr "Comhad foinse"
+msgid "Find in source texts"
+msgstr ""
-msgid "Source file occurrence:"
+msgid "Find in translations"
msgstr ""
-msgid "Open in Editor"
+msgid "Find in comments"
+msgstr "Aimsigh sna nótaí tráchta"
+
+msgid "Close"
msgstr ""
-msgid "Open in editor"
+msgid "Replace All"
msgstr ""
-#, c-format
-msgid "Error opening file %s!"
-msgstr "Tharla botún ag oscailt comhad %s!"
+msgid "Replace all"
+msgstr ""
+
+msgid "< &Previous"
+msgstr ""
+
+msgid "&Next >"
+msgstr ""
+
+msgid "String to find"
+msgstr ""
+
+msgid "Replacement string"
+msgstr ""
#, c-format
msgid "Cannot execute program: %s"
@@ -1016,9 +1166,19 @@ msgstr "Nua"
msgid "Edit"
msgstr "Déan eagar"
+msgid "Delete extractor"
+msgstr ""
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr ""
+
msgid "Extractors"
msgstr ""
+msgid "Accounts"
+msgstr ""
+
msgid "Automatically check for updates"
msgstr ""
@@ -1057,7 +1217,34 @@ msgstr ""
msgid "Advanced"
msgstr ""
-msgid "Additional keywords"
+msgid ""
+"<big>Drag and Drop Folders Here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid ""
+"<big>Drag and drop folders here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid "Add Folders..."
+msgstr ""
+
+msgid "Add folders..."
+msgstr ""
+
+msgid "Add Files..."
+msgstr ""
+
+msgid "Add files..."
+msgstr ""
+
+msgid "Add Wildcard..."
+msgstr ""
+
+msgid "Add wildcard..."
msgstr ""
msgid "Paths"
@@ -1066,6 +1253,9 @@ msgstr "Cosáin:"
msgid "Excluded paths"
msgstr ""
+msgid "Additional keywords"
+msgstr ""
+
msgid "Name of the project the translation is for"
msgstr ""
@@ -1078,6 +1268,9 @@ msgstr ""
msgid "Please save the file first. This section cannot be edited until then."
msgstr ""
+msgid "Comment:"
+msgstr "Nóta tráchta:"
+
msgid "OK"
msgstr "Tá go maith"
@@ -1087,42 +1280,6 @@ msgstr ""
msgid "Clear the comment"
msgstr "Glan an nóta tráchta"
-msgid "Find..."
-msgstr "Aimsigh..."
-
-msgid "String to find:"
-msgstr "Teaghrán le haimsiú:"
-
-msgid "Case sensitive"
-msgstr "Cásíogair"
-
-msgid "Start from the first item"
-msgstr "Tosaigh ón chéad mhír"
-
-msgid "Whole words only"
-msgstr "Focail iomlán amháin"
-
-msgid "Find in original strings"
-msgstr "Aimsigh sna teaghráin bunaidh"
-
-msgid "Find in translations"
-msgstr ""
-
-msgid "Find in comments"
-msgstr "Aimsigh sna nótaí tráchta"
-
-msgid "Find in automatic comments"
-msgstr "Aimsigh i nótaí tráchta uathoibríoch"
-
-msgid "Close"
-msgstr ""
-
-msgid "< &Previous"
-msgstr ""
-
-msgid "&Next >"
-msgstr ""
-
msgid "Create new translations project"
msgstr "Cruthaigh togra aistriúcháin nua"
@@ -1177,6 +1334,12 @@ msgstr "&Oscail..."
msgid "Open Recent"
msgstr ""
+msgid "Open from Crowdin..."
+msgstr ""
+
+msgid "Open From Crowdin..."
+msgstr ""
+
msgid "&Save"
msgstr "&Cuir i dtaisce"
@@ -1225,13 +1388,16 @@ msgstr ""
msgid "&Find..."
msgstr "&Aimsigh..."
+msgid "Replace..."
+msgstr ""
+
msgid "Find next"
msgstr ""
msgid "Find previous"
msgstr ""
-msgid "Find"
+msgid "Find and Replace..."
msgstr ""
msgid "Find Next"
@@ -1273,6 +1439,12 @@ msgstr ""
msgid "&Group By Context"
msgstr ""
+msgid "Entries with errors first"
+msgstr ""
+
+msgid "Entries with Errors First"
+msgstr ""
+
msgid "&Untranslated entries first"
msgstr ""
@@ -1282,6 +1454,9 @@ msgstr ""
msgid "Show sidebar"
msgstr ""
+msgid "Show status bar"
+msgstr ""
+
msgid "C&atalog"
msgstr "C&omhad"
@@ -1297,6 +1472,9 @@ msgstr "Nuashonraigh ó chomhad &POT..."
msgid "Update from &POT File..."
msgstr ""
+msgid "Sync with Crowdin"
+msgstr ""
+
msgid "Fill missing translations from &TM..."
msgstr ""
@@ -1421,6 +1599,9 @@ msgstr ""
msgid "Catalog properties"
msgstr ""
+msgid "Project name and version:"
+msgstr "Ainm agus leagan an togra:"
+
msgid "Plural Forms:"
msgstr "Leaganacha Iolra:"
@@ -1433,6 +1614,15 @@ msgstr ""
msgid "Learn about plural forms"
msgstr ""
+msgid "Charset:"
+msgstr "Foireann litreacha:"
+
+msgid "Team:"
+msgstr "Foireann:"
+
+msgid "Team's email address:"
+msgstr "Seoladh ríomhphoist na foirne:"
+
msgid "Translation properties"
msgstr ""
@@ -1503,7 +1693,7 @@ msgstr "Nuashonraigh an clár - comhaimsearaigh é le foinsí"
msgid "Toggled if selected string has fuzzy translation"
msgstr "Scagtha má tá aistriúchán doiléir ag an teaghrán roghnaithe"
-msgid "Show or hide the sidebar."
+msgid "Show or hide the sidebar"
msgstr ""
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
@@ -1515,6 +1705,9 @@ msgid ""
"translation corresponds to."
msgstr ""
+msgid "Notes for translators:"
+msgstr ""
+
msgid "Add comment"
msgstr ""
@@ -1587,14 +1780,21 @@ msgstr ""
msgid "Open an existing PO file and edit the translation."
msgstr ""
-msgid "Create new translation"
-msgstr ""
-
msgid ""
"Take an existing PO file or POT template and create a new translation from "
"it."
msgstr ""
+msgid "Collaborate on a translation with Crowdin"
+msgstr ""
+
+msgid ""
+"Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+
+msgid "What is Crowdin?"
+msgstr ""
+
msgid "There are no translations. That’s unusual."
msgstr ""
@@ -1627,3 +1827,9 @@ msgstr ""
msgid "Configure source code extraction in Properties."
msgstr ""
+
+msgid "Sync"
+msgstr ""
+
+msgid "Synchronize the translation with Crowdin"
+msgstr ""
diff --git a/locales/gl.mo b/locales/gl.mo
index 25dab80..b10163a 100644
Binary files a/locales/gl.mo and b/locales/gl.mo differ
diff --git a/locales/gl.po b/locales/gl.po
index a5460f7..2e30f83 100644
--- a/locales/gl.po
+++ b/locales/gl.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:33-0400\n"
+"POT-Creation-Date: 2015-05-13 18:47+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Galician\n"
"Language: gl_ES\n"
@@ -76,8 +76,7 @@ msgstr "Non foi posíbel gardar o ficheiro %s."
msgid ""
"There was a problem formatting the file nicely (but it was saved all right)."
msgstr ""
-"Produciuse un problema ao formatar o ficheiro de forma agradábel (pero "
-"gardouse correctamente)."
+"Produciuse un problema ao formatar o ficheiro (pero gardouse correctamente)."
#, c-format
msgid ""
@@ -94,6 +93,15 @@ msgstr ""
msgid "Error saving catalog"
msgstr "Produciuse un erro ao gardar o catálogo"
+msgid "PO Translation Files"
+msgstr "Ficheiros de tradución PO"
+
+msgid "POT Translation Templates"
+msgstr "Modelos de tradución POT"
+
+msgid "All Translation Files"
+msgstr "Todos os ficheiros de tradución"
+
msgid "Merging differences..."
msgstr "Fusionando as diferencias..."
@@ -113,6 +121,86 @@ msgstr "Selección de idioma"
msgid "You must restart Poedit for this change to take effect."
msgstr "Debe reiniciar Poedit para que este cambio teña efecto."
+msgid "Downloading translations is disabled in this project."
+msgstr "A descarga de traducións está deshabilitada neste proxecto."
+
+msgid "Not authorized, please sign in again."
+msgstr "Acción non autorizada; accede de novo."
+
+msgid "Sign in to Crowdin"
+msgstr "Acceder a Crowdin"
+
+msgid ""
+"Crowdin is an online localization management platform and collaborative "
+"translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+"Crowdin é unha plataforma de xestión de localización e tradución "
+"colaborativas en liña. Poedit pode sincronizar ficheiros PO xestionados con "
+"Crowdin."
+
+msgid "Sign In"
+msgstr "Acceder"
+
+msgid "Sign in"
+msgstr "Acceder"
+
+msgid "Sign Out"
+msgstr "Saír"
+
+msgid "Sign out"
+msgstr "Saír"
+
+msgid "Waiting for authentication…"
+msgstr "Agardando a autenticación…"
+
+msgid "Updating user information…"
+msgstr "Actualizando a información do usuario…"
+
+msgid "Signed in as:"
+msgstr "Sesión iniciada como:"
+
+msgid "Learn More About Crowdin"
+msgstr "Máis información sobre Crowdin"
+
+msgid "Learn more about Crowdin"
+msgstr "Máis información sobre Crowdin"
+
+msgid "Open Crowdin translation"
+msgstr "Abrir tradución de Crowdin"
+
+msgid "Project:"
+msgstr "Proxecto:"
+
+msgid "Language:"
+msgstr "Idioma:"
+
+msgid "File:"
+msgstr "Ficheiro:"
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr "Ningún proxecto de tradución listado na súa conta de Crowdin."
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr "Este proxecto non ten ficheiros para traducir en Poedit."
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr "Este ficheiro só se pode editar desde a interface web de Crowdin."
+
+msgid "Downloading latest translations…"
+msgstr "Descargando as traducións máis recentes…"
+
+msgid "Syncing with Crowdin"
+msgstr "Sincronizando con Crowdin"
+
+msgid "Syncing with Crowdin failed."
+msgstr "Erro ao sincronizar con Crowdin."
+
+msgid "Crowdin error"
+msgstr "Erro de Crowdin"
+
+msgid "Uploading translations…"
+msgstr "Cargando as traducións…"
+
msgid "&Copy"
msgstr "&Copiar"
@@ -159,6 +247,9 @@ msgstr ""
msgid "don't delete temporary files (for debugging)"
msgstr "non eliminar os ficheiros temporais (para depuración)"
+msgid "handle a poedit:// URI"
+msgstr "identificador dun URI poedit://"
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr "Produciuse unha excepción non controlada: %s"
@@ -169,12 +260,6 @@ msgstr "Produciuse unha excepción non controlada."
msgid "Open catalog"
msgstr "Abrir catálogo"
-msgid "All Files"
-msgstr "Todos os ficheiros"
-
-msgid "PO Translation Files"
-msgstr "Ficheiros de tradución PO"
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "O ficheiro '%s' non existe."
@@ -403,6 +488,19 @@ msgstr "Plural:"
msgid "Translation:"
msgstr "Tradución:"
+msgid ""
+"POT files are only templates and don’t contain any translations themselves.\n"
+"To make a translation, create a new PO file based on the template."
+msgstr ""
+"Os ficheiros POT son unicamente modelos e non conteñen traducións.\n"
+"Para traducir, cre un novo ficheiro PO con base no modelo."
+
+msgid "Create New Translation"
+msgstr "Crear unha nova tradución"
+
+msgid "Create new translation"
+msgstr "Crear unha nova tradución"
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
@@ -452,9 +550,6 @@ msgstr "Ficheiros HTML"
msgid "Open catalog template"
msgstr "Abrir patrón de catálogo"
-msgid "POT Translation Templates"
-msgstr "Modelos de tradución POT"
-
msgid "Updating catalog"
msgstr "Actualizando o catálogo"
@@ -539,18 +634,24 @@ msgstr[1] ""
msgid "The translation is ready for use."
msgstr "A tradución está lista para utilizar."
-msgid "No references to this string found."
-msgstr "Non se atoparon referencias a esta cadea."
-
-msgid "Please choose the reference you want to show:"
-msgstr "Escolla a referencia que desexa mostrar:"
-
-msgid "References"
-msgstr "Referencias"
-
msgid "Context:"
msgstr "Contexto:"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr ""
+"Poedit corrixiu automaticamente o contido non válido do ficheiro \"%s\"."
+
+msgid ""
+"The file contained duplicate items, which is not allowed in PO files and "
+"would prevent the file from being used. Poedit fixed the issue, but you "
+"should review translations of any items marked as fuzzy and correct them if "
+"necessary."
+msgstr ""
+"O ficheiro contiña elementos duplicados, non permitidos nos ficheiros PO, o "
+"cal evitaría que fose usado. Poedit solucionou o problema, mais debe revisar "
+"as traducións marcadas como dubidosas e corrixilas en caso de ser preciso."
+
msgid "Language of the translation isn't set."
msgstr "O idioma da tradución está sen definir."
@@ -560,6 +661,24 @@ msgstr "Definir idioma"
msgid "Set language"
msgstr "Definir o idioma"
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid ""
+"Suggestions are not available if the translation language is not set "
+"correctly. Other features, such as plural forms, may be affected as well."
+msgstr ""
+"As suxestións non están dispoñibles se o idioma de tradución non está "
+"definido correctamente. Outras funcionalidades, tales como as formas "
+"plurais, tamén poden verse afectadas."
+
+msgid "Language of the translation is the same as source language."
+msgstr "O idioma da tradución é o mesmo que o de orixe."
+
+msgid "Fix Language"
+msgstr "Solucionar idioma"
+
+msgid "Fix language"
+msgstr "Solucionar idioma"
+
msgid ""
"This catalog has entries with plural forms, but doesn't have Plural-Forms "
"header configured."
@@ -594,6 +713,7 @@ msgstr "Arranxar a cabeceira"
msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr "A expresión de formas plurais usada no catálogo non é habitual no %s."
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr "Revisar"
@@ -615,6 +735,12 @@ msgid_plural "%d errors"
msgstr[0] "%d erro"
msgstr[1] "%d erros"
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] "%d entrada"
+msgstr[1] "%d entrada"
+
msgid " (unsaved)"
msgstr " (sen gardar)"
@@ -740,6 +866,9 @@ msgstr "Todo"
msgid "Form %i"
msgstr "Forma %i"
+msgid "Singular"
+msgstr "Singular"
+
msgid "Zero"
msgstr "Cero"
@@ -749,6 +878,9 @@ msgstr "Un"
msgid "Two"
msgstr "Dous"
+msgid "Plural"
+msgstr "Plural"
+
msgid "Other"
msgstr "Outro"
@@ -777,6 +909,12 @@ msgstr "Agochar barra lateral"
msgid "Show Sidebar"
msgstr "Mostrar barra lateral"
+msgid "Hide Status Bar"
+msgstr "Agochar a barra de estado"
+
+msgid "Show Status Bar"
+msgstr "Mostrar a barra de estado"
+
msgid "Source text"
msgstr "Texto orixe"
@@ -786,6 +924,10 @@ msgstr "Tradución"
msgid "ID"
msgstr "ID"
+#, c-format
+msgid "Source text — %s"
+msgstr "Texto fonte — %s"
+
msgid "unknown language"
msgstr "idioma descoñecido"
@@ -796,57 +938,73 @@ msgstr "Tradución — %s"
msgid "Error:"
msgstr "Erro:"
-msgid "Project info"
-msgstr "Información do proxecto"
+msgid "Source file"
+msgstr "Ficheiro fonte"
-msgid "Project name and version:"
-msgstr "Nome e versión do proxecto:"
+msgid "Source file occurrence:"
+msgstr "Aparición en ficheiro de código fonte:"
-msgid "Language:"
-msgstr "Idioma:"
+msgid "Open in Editor"
+msgstr "Abrir no editor"
-msgid "Team:"
-msgstr "Equipo:"
+msgid "Open in editor"
+msgstr "Abrir no editor"
-msgid "Team's email address:"
-msgstr "Enderezo de correo-e (e-mail) do equipo:"
+msgid "No references for the selected item."
+msgstr "Non hai referencias para o elemento seleccionado."
-msgid "Charset:"
-msgstr "Xogo de caracteres:"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "Produciuse un erro ao abrir o ficheiro %s!"
-msgid "Source"
-msgstr "Fonte"
+msgid "Find"
+msgstr "Buscar"
-msgid "Notes"
-msgstr "Notas"
+msgid "Replace"
+msgstr "Substituír"
-msgid "Automatic translation"
-msgstr "Tradución automática"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr "Opcións"
-msgid "Fuzzy translation"
-msgstr "Tradución dubidosa"
+msgid "Ignore case"
+msgstr "Ignorar maiúsculas e minúsculas"
-msgid "Notes for translators:"
-msgstr "Notas para os tradutores:"
+msgid "Wrap around"
+msgstr "Busca circular"
-msgid "Comment:"
-msgstr "Comentario:"
+msgid "Whole words only"
+msgstr "Só palabras completas"
-msgid "Source file"
-msgstr "Ficheiro fonte"
+msgid "Find in source texts"
+msgstr "Atopar nos textos fonte"
-msgid "Source file occurrence:"
-msgstr "Aparición en ficheiro de código fonte:"
+msgid "Find in translations"
+msgstr "Buscar nas traducións"
-msgid "Open in Editor"
-msgstr "Abrir no editor"
+msgid "Find in comments"
+msgstr "Buscar nos comentarios"
-msgid "Open in editor"
-msgstr "Abrir no editor"
+msgid "Close"
+msgstr "Pechar"
-#, c-format
-msgid "Error opening file %s!"
-msgstr "Produciuse un erro ao abrir o ficheiro %s!"
+msgid "Replace All"
+msgstr "Substituír todo"
+
+msgid "Replace all"
+msgstr "Substituír todo"
+
+msgid "< &Previous"
+msgstr "< &Anterior"
+
+msgid "&Next >"
+msgstr "&Seguinte >"
+
+msgid "String to find"
+msgstr "Texto que atopar"
+
+msgid "Replacement string"
+msgstr "Texto de substitución"
#, c-format
msgid "Cannot execute program: %s"
@@ -1051,9 +1209,19 @@ msgstr "Novo"
msgid "Edit"
msgstr "Editar"
+msgid "Delete extractor"
+msgstr "Eliminar extractor"
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr "Ten a certeza de querer eliminar o extractor \"%s\"?"
+
msgid "Extractors"
msgstr "Extractores"
+msgid "Accounts"
+msgstr "Contas"
+
msgid "Automatically check for updates"
msgstr "Mirar de actualizacións automaticamente"
@@ -1096,8 +1264,41 @@ msgstr "Conservar o formato dos ficheiros existentes"
msgid "Advanced"
msgstr "Avanzadas"
-msgid "Additional keywords"
-msgstr "Palabras chave adicionais"
+msgid ""
+"<big>Drag and Drop Folders Here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+"<big>Arrastre e solte cartafoles aquí</big>\n"
+"\n"
+"ou utilice o botón +"
+
+msgid ""
+"<big>Drag and drop folders here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+"<big>Arrastre e solte cartafoles aquí</big>\n"
+"\n"
+"ou utilice o botón +"
+
+msgid "Add Folders..."
+msgstr "Engadir cartafoles..."
+
+msgid "Add folders..."
+msgstr "Engadir cartafoles..."
+
+msgid "Add Files..."
+msgstr "Engadir ficheiros..."
+
+msgid "Add files..."
+msgstr "Engadir ficheiros..."
+
+msgid "Add Wildcard..."
+msgstr "Engadir comodín..."
+
+msgid "Add wildcard..."
+msgstr "Engadir comodín..."
msgid "Paths"
msgstr "Rutas"
@@ -1105,6 +1306,9 @@ msgstr "Rutas"
msgid "Excluded paths"
msgstr "Camiños excluídos"
+msgid "Additional keywords"
+msgstr "Palabras chave adicionais"
+
msgid "Name of the project the translation is for"
msgstr "O nome do proxecto ao que pertence esta tradución"
@@ -1119,6 +1323,9 @@ msgstr ""
"Por favor, garde o ficheiro primeiro. Esta sección non pode ser editar ata "
"que o faga."
+msgid "Comment:"
+msgstr "Comentario:"
+
msgid "OK"
msgstr "Aceptar"
@@ -1128,42 +1335,6 @@ msgstr "&Borrar"
msgid "Clear the comment"
msgstr "Borrar o comentario"
-msgid "Find..."
-msgstr "Buscar..."
-
-msgid "String to find:"
-msgstr "Cadea a buscar:"
-
-msgid "Case sensitive"
-msgstr "Distinguir entre maiúsculas e minúsculas"
-
-msgid "Start from the first item"
-msgstr "Comezar desde o primeiro elemento"
-
-msgid "Whole words only"
-msgstr "Só palabras completas"
-
-msgid "Find in original strings"
-msgstr "Buscar nas cadeas orixinais"
-
-msgid "Find in translations"
-msgstr "Buscar nas traducións"
-
-msgid "Find in comments"
-msgstr "Buscar nos comentarios"
-
-msgid "Find in automatic comments"
-msgstr "Buscar nos comentarios automáticos"
-
-msgid "Close"
-msgstr "Pechar"
-
-msgid "< &Previous"
-msgstr "< &Anterior"
-
-msgid "&Next >"
-msgstr "&Seguinte >"
-
msgid "Create new translations project"
msgstr "Crear novo proxecto de tradución"
@@ -1218,6 +1389,12 @@ msgstr "&Abrir..."
msgid "Open Recent"
msgstr "Abrir recentes"
+msgid "Open from Crowdin..."
+msgstr "Abrir desde Crowdin..."
+
+msgid "Open From Crowdin..."
+msgstr "Abrir desde Crowdin..."
+
msgid "&Save"
msgstr "&Gardar"
@@ -1266,14 +1443,17 @@ msgstr "Mo&strar as referencias"
msgid "&Find..."
msgstr "&Buscar..."
+msgid "Replace..."
+msgstr "Substituír..."
+
msgid "Find next"
msgstr "Buscar seguinte"
msgid "Find previous"
msgstr "Buscar anterior"
-msgid "Find"
-msgstr "Buscar"
+msgid "Find and Replace..."
+msgstr "Atopar e substituír..."
msgid "Find Next"
msgstr "Buscar seguinte"
@@ -1314,6 +1494,12 @@ msgstr "A&grupar por contexto"
msgid "&Group By Context"
msgstr "A&grupar por contexto"
+msgid "Entries with errors first"
+msgstr "Primeiro as entradas con erros"
+
+msgid "Entries with Errors First"
+msgstr "Primeiro as entradas con erros"
+
msgid "&Untranslated entries first"
msgstr "Entradas &sen traducir primeiro"
@@ -1323,6 +1509,9 @@ msgstr "Entradas &sen traducir primeiro"
msgid "Show sidebar"
msgstr "Mostrar barra lateral"
+msgid "Show status bar"
+msgstr "Mostrar a barra de estado"
+
msgid "C&atalog"
msgstr "C&atálogo"
@@ -1338,6 +1527,9 @@ msgstr "Actualizar desde un ficheiro &POT..."
msgid "Update from &POT File..."
msgstr "Actualizar desde un ficheiro &POT..."
+msgid "Sync with Crowdin"
+msgstr "Sincronizar con Crowdin"
+
msgid "Fill missing translations from &TM..."
msgstr "Cubrir as traducións pendentes a partir da MT..."
@@ -1469,6 +1661,9 @@ msgstr ""
msgid "Catalog properties"
msgstr "Propiedades do catálogo"
+msgid "Project name and version:"
+msgstr "Nome e versión do proxecto:"
+
msgid "Plural Forms:"
msgstr "Formas de plural:"
@@ -1481,6 +1676,15 @@ msgstr "Utilizar expresión personalizada"
msgid "Learn about plural forms"
msgstr "Aprenda sobre as formas plurais"
+msgid "Charset:"
+msgstr "Xogo de caracteres:"
+
+msgid "Team:"
+msgstr "Equipo:"
+
+msgid "Team's email address:"
+msgstr "Enderezo de correo-e (e-mail) do equipo:"
+
msgid "Translation properties"
msgstr "Propiedades da tradución"
@@ -1555,8 +1759,8 @@ msgstr "Actualizar catálogo - sincronizalo coas súas fontes"
msgid "Toggled if selected string has fuzzy translation"
msgstr "Marcado se a cadea seleccionada ten unha tradución dubidosa"
-msgid "Show or hide the sidebar."
-msgstr "Mostrar ou agochar a barra lateral."
+msgid "Show or hide the sidebar"
+msgstr "Mostrar ou agochar a barra lateral"
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
msgid "Previous source text:"
@@ -1569,6 +1773,9 @@ msgstr ""
"O texto fonte antigo (antes de mudar pla actualización) ao que corresponde a "
"tradución aproximada."
+msgid "Notes for translators:"
+msgstr "Notas para os tradutores:"
+
msgid "Add comment"
msgstr "Engadir comentario"
@@ -1648,15 +1855,22 @@ msgstr "Editar unha tradución"
msgid "Open an existing PO file and edit the translation."
msgstr "Abrir un ficheiro PO existente e editar a tradución."
-msgid "Create new translation"
-msgstr "Crear unha nova tradución"
-
msgid ""
"Take an existing PO file or POT template and create a new translation from "
"it."
msgstr ""
"Tomar un ficheiro PO ou POT existente e crear unha traducción a partir deste."
+msgid "Collaborate on a translation with Crowdin"
+msgstr "Colabora na tradución con Crowdin"
+
+msgid ""
+"Download a file from Crowdin project, translate and sync your changes back."
+msgstr "Descargue un ficheiro desde Crowdin, traduza e sincronice os cambios."
+
+msgid "What is Crowdin?"
+msgstr "Que é Crowdin?"
+
msgid "There are no translations. That’s unusual."
msgstr "Non hai traducións. Isto non é o habitual."
@@ -1695,3 +1909,9 @@ msgstr "Extraer desde as fontes"
msgid "Configure source code extraction in Properties."
msgstr "Configure a extracción de código fonte en Propiedades."
+
+msgid "Sync"
+msgstr "Sincronizar"
+
+msgid "Synchronize the translation with Crowdin"
+msgstr "Sincronizar a tradución con Crowdin"
diff --git a/locales/he.mo b/locales/he.mo
index b6fe8bc..fb1e008 100644
Binary files a/locales/he.mo and b/locales/he.mo differ
diff --git a/locales/he.po b/locales/he.po
index 2b9cf47..5238c1f 100644
--- a/locales/he.po
+++ b/locales/he.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:33-0400\n"
+"POT-Creation-Date: 2015-05-13 18:47+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Hebrew\n"
"Language: he_IL\n"
@@ -83,6 +83,15 @@ msgstr ""
msgid "Error saving catalog"
msgstr "שגיאה בשמירת קובץ הקטלוג"
+msgid "PO Translation Files"
+msgstr ""
+
+msgid "POT Translation Templates"
+msgstr ""
+
+msgid "All Translation Files"
+msgstr ""
+
msgid "Merging differences..."
msgstr "מתבצע שילוב בין ההבדלים..."
@@ -102,6 +111,83 @@ msgstr "בחירת שפה"
msgid "You must restart Poedit for this change to take effect."
msgstr "עליך להפעיל מחדש את Poedit כדי שהשינויים ייכנסו לתוקף."
+msgid "Downloading translations is disabled in this project."
+msgstr ""
+
+msgid "Not authorized, please sign in again."
+msgstr ""
+
+msgid "Sign in to Crowdin"
+msgstr ""
+
+msgid ""
+"Crowdin is an online localization management platform and collaborative "
+"translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+
+msgid "Sign In"
+msgstr ""
+
+msgid "Sign in"
+msgstr ""
+
+msgid "Sign Out"
+msgstr ""
+
+msgid "Sign out"
+msgstr ""
+
+msgid "Waiting for authentication…"
+msgstr ""
+
+msgid "Updating user information…"
+msgstr ""
+
+msgid "Signed in as:"
+msgstr ""
+
+msgid "Learn More About Crowdin"
+msgstr ""
+
+msgid "Learn more about Crowdin"
+msgstr ""
+
+msgid "Open Crowdin translation"
+msgstr ""
+
+msgid "Project:"
+msgstr ""
+
+msgid "Language:"
+msgstr "שפה:"
+
+msgid "File:"
+msgstr ""
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr ""
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr ""
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr ""
+
+msgid "Downloading latest translations…"
+msgstr ""
+
+msgid "Syncing with Crowdin"
+msgstr ""
+
+msgid "Syncing with Crowdin failed."
+msgstr ""
+
+msgid "Crowdin error"
+msgstr ""
+
+msgid "Uploading translations…"
+msgstr ""
+
msgid "&Copy"
msgstr ""
@@ -146,6 +232,9 @@ msgstr ""
msgid "don't delete temporary files (for debugging)"
msgstr "לא למחוק קבצים זמניים (לצורכי ניפוי שגיאות)"
+msgid "handle a poedit:// URI"
+msgstr ""
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr ""
@@ -156,12 +245,6 @@ msgstr ""
msgid "Open catalog"
msgstr "פתיחת קטלוג"
-msgid "All Files"
-msgstr ""
-
-msgid "PO Translation Files"
-msgstr ""
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "הקובץ '%s' לא קיים."
@@ -389,6 +472,17 @@ msgstr "רבים:"
msgid "Translation:"
msgstr "תרגום:"
+msgid ""
+"POT files are only templates and don’t contain any translations themselves.\n"
+"To make a translation, create a new PO file based on the template."
+msgstr ""
+
+msgid "Create New Translation"
+msgstr ""
+
+msgid "Create new translation"
+msgstr "יצירת תרגום חדש"
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
@@ -436,9 +530,6 @@ msgstr ""
msgid "Open catalog template"
msgstr "פתיחת תבנית קטלוג"
-msgid "POT Translation Templates"
-msgstr ""
-
msgid "Updating catalog"
msgstr "הקטלוג מעודכן"
@@ -509,18 +600,20 @@ msgstr[1] ""
msgid "The translation is ready for use."
msgstr "התרגום מוכן לשימוש."
-msgid "No references to this string found."
-msgstr "לא נמצאו הפניות למחרוזת זו."
-
-msgid "Please choose the reference you want to show:"
-msgstr "נא לבחור את ההפניה שברצונך להציג:"
-
-msgid "References"
-msgstr "הפניות"
-
msgid "Context:"
msgstr "הקשר:"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr ""
+
+msgid ""
+"The file contained duplicate items, which is not allowed in PO files and "
+"would prevent the file from being used. Poedit fixed the issue, but you "
+"should review translations of any items marked as fuzzy and correct them if "
+"necessary."
+msgstr ""
+
msgid "Language of the translation isn't set."
msgstr "שפת התרגום לא מוגדרת."
@@ -530,6 +623,21 @@ msgstr ""
msgid "Set language"
msgstr "הגדרת שפה"
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid ""
+"Suggestions are not available if the translation language is not set "
+"correctly. Other features, such as plural forms, may be affected as well."
+msgstr ""
+
+msgid "Language of the translation is the same as source language."
+msgstr ""
+
+msgid "Fix Language"
+msgstr ""
+
+msgid "Fix language"
+msgstr ""
+
msgid ""
"This catalog has entries with plural forms, but doesn't have Plural-Forms "
"header configured."
@@ -560,6 +668,7 @@ msgstr "תיקון הכותרת"
msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr ""
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr "סקירה"
@@ -581,6 +690,12 @@ msgid_plural "%d errors"
msgstr[0] ""
msgstr[1] ""
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] ""
+msgstr[1] ""
+
msgid " (unsaved)"
msgstr " (לא נשמר)"
@@ -696,6 +811,9 @@ msgstr "הכול"
msgid "Form %i"
msgstr "צורה %i"
+msgid "Singular"
+msgstr ""
+
msgid "Zero"
msgstr "אפס"
@@ -705,6 +823,9 @@ msgstr "אחד"
msgid "Two"
msgstr "שתיים"
+msgid "Plural"
+msgstr ""
+
msgid "Other"
msgstr "אחר"
@@ -733,6 +854,12 @@ msgstr ""
msgid "Show Sidebar"
msgstr ""
+msgid "Hide Status Bar"
+msgstr ""
+
+msgid "Show Status Bar"
+msgstr ""
+
msgid "Source text"
msgstr "טקסט המקור"
@@ -742,6 +869,10 @@ msgstr "תרגום"
msgid "ID"
msgstr "מזהה"
+#, c-format
+msgid "Source text — %s"
+msgstr ""
+
msgid "unknown language"
msgstr "שפה לא ידועה"
@@ -752,57 +883,73 @@ msgstr "תרגום — %s"
msgid "Error:"
msgstr "שגיאה:"
-msgid "Project info"
-msgstr "מידע על המיזם"
+msgid "Source file"
+msgstr "קובץ מקור"
-msgid "Project name and version:"
-msgstr "שם וגרסת המיזם:"
+msgid "Source file occurrence:"
+msgstr "מופע בקובץ המקור:"
-msgid "Language:"
-msgstr "שפה:"
+msgid "Open in Editor"
+msgstr ""
-msgid "Team:"
-msgstr "צוות:"
+msgid "Open in editor"
+msgstr ""
-msgid "Team's email address:"
-msgstr "כתובת הדוא״ל של הקבוצה:"
+msgid "No references for the selected item."
+msgstr ""
-msgid "Charset:"
-msgstr "קידוד:"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "שגיאה בפתיחת הקובץ %s!"
+
+msgid "Find"
+msgstr "חיפוש"
+
+msgid "Replace"
+msgstr ""
-msgid "Source"
-msgstr "מקור"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr ""
-msgid "Notes"
-msgstr "הערות"
+msgid "Ignore case"
+msgstr ""
-msgid "Automatic translation"
-msgstr "תרגום אוטומטי"
+msgid "Wrap around"
+msgstr ""
-msgid "Fuzzy translation"
-msgstr "תרגום מעורפל"
+msgid "Whole words only"
+msgstr "מילים שלמות בלבד"
-msgid "Notes for translators:"
-msgstr "הערות למתרגמים:"
+msgid "Find in source texts"
+msgstr ""
-msgid "Comment:"
-msgstr "הערה:"
+msgid "Find in translations"
+msgstr ""
-msgid "Source file"
-msgstr "קובץ מקור"
+msgid "Find in comments"
+msgstr "חיפוש בהערות"
-msgid "Source file occurrence:"
-msgstr "מופע בקובץ המקור:"
+msgid "Close"
+msgstr "סגירה"
-msgid "Open in Editor"
+msgid "Replace All"
msgstr ""
-msgid "Open in editor"
+msgid "Replace all"
msgstr ""
-#, c-format
-msgid "Error opening file %s!"
-msgstr "שגיאה בפתיחת הקובץ %s!"
+msgid "< &Previous"
+msgstr "< ה&קודם"
+
+msgid "&Next >"
+msgstr "ה&בא >"
+
+msgid "String to find"
+msgstr ""
+
+msgid "Replacement string"
+msgstr ""
#, c-format
msgid "Cannot execute program: %s"
@@ -995,9 +1142,19 @@ msgstr "חדש"
msgid "Edit"
msgstr "עריכה"
+msgid "Delete extractor"
+msgstr ""
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr ""
+
msgid "Extractors"
msgstr ""
+msgid "Accounts"
+msgstr ""
+
msgid "Automatically check for updates"
msgstr ""
@@ -1036,8 +1193,35 @@ msgstr ""
msgid "Advanced"
msgstr ""
-msgid "Additional keywords"
-msgstr "מילות מפתח נוספות"
+msgid ""
+"<big>Drag and Drop Folders Here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid ""
+"<big>Drag and drop folders here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid "Add Folders..."
+msgstr ""
+
+msgid "Add folders..."
+msgstr ""
+
+msgid "Add Files..."
+msgstr ""
+
+msgid "Add files..."
+msgstr ""
+
+msgid "Add Wildcard..."
+msgstr ""
+
+msgid "Add wildcard..."
+msgstr ""
msgid "Paths"
msgstr "נתיבים"
@@ -1045,6 +1229,9 @@ msgstr "נתיבים"
msgid "Excluded paths"
msgstr ""
+msgid "Additional keywords"
+msgstr "מילות מפתח נוספות"
+
msgid "Name of the project the translation is for"
msgstr "שם המיזם עבורו מיועד התרגום"
@@ -1057,6 +1244,9 @@ msgstr "UTF-8 (מומלץ)"
msgid "Please save the file first. This section cannot be edited until then."
msgstr ""
+msgid "Comment:"
+msgstr "הערה:"
+
msgid "OK"
msgstr "אישור"
@@ -1066,42 +1256,6 @@ msgstr "&פינוי"
msgid "Clear the comment"
msgstr "נקה את ההערה"
-msgid "Find..."
-msgstr "חיפוש..."
-
-msgid "String to find:"
-msgstr "מחרוזת לחיפוש:"
-
-msgid "Case sensitive"
-msgstr "מבדיל בין אותיות גדולות לקטנות"
-
-msgid "Start from the first item"
-msgstr "התחלה מהפריט הראשון"
-
-msgid "Whole words only"
-msgstr "מילים שלמות בלבד"
-
-msgid "Find in original strings"
-msgstr "חיפוש במחרוזות המקוריות"
-
-msgid "Find in translations"
-msgstr ""
-
-msgid "Find in comments"
-msgstr "חיפוש בהערות"
-
-msgid "Find in automatic comments"
-msgstr "חיפוש בהערות האוטומטיות"
-
-msgid "Close"
-msgstr "סגירה"
-
-msgid "< &Previous"
-msgstr "< ה&קודם"
-
-msgid "&Next >"
-msgstr "ה&בא >"
-
msgid "Create new translations project"
msgstr "יצירת מיזם תרגומים חדש"
@@ -1156,6 +1310,12 @@ msgstr "&פתיחה..."
msgid "Open Recent"
msgstr ""
+msgid "Open from Crowdin..."
+msgstr ""
+
+msgid "Open From Crowdin..."
+msgstr ""
+
msgid "&Save"
msgstr "ש&מירה"
@@ -1204,14 +1364,17 @@ msgstr "ה&צגת ההפניות"
msgid "&Find..."
msgstr "&חיפוש..."
+msgid "Replace..."
+msgstr ""
+
msgid "Find next"
msgstr "חיפוש הבא"
msgid "Find previous"
msgstr "חיפוש הקודם"
-msgid "Find"
-msgstr "חיפוש"
+msgid "Find and Replace..."
+msgstr ""
msgid "Find Next"
msgstr "חיפוש הבא"
@@ -1252,6 +1415,12 @@ msgstr ""
msgid "&Group By Context"
msgstr ""
+msgid "Entries with errors first"
+msgstr ""
+
+msgid "Entries with Errors First"
+msgstr ""
+
msgid "&Untranslated entries first"
msgstr "רשומות &בלתי מתורגמות תחילה"
@@ -1261,6 +1430,9 @@ msgstr "רשומות &בלתי מתורגמות תחילה"
msgid "Show sidebar"
msgstr ""
+msgid "Show status bar"
+msgstr ""
+
msgid "C&atalog"
msgstr "&קטלוג"
@@ -1276,6 +1448,9 @@ msgstr "עד&כון מקובץ POT..."
msgid "Update from &POT File..."
msgstr "עד&כון מקובץ POT..."
+msgid "Sync with Crowdin"
+msgstr ""
+
msgid "Fill missing translations from &TM..."
msgstr ""
@@ -1399,6 +1574,9 @@ msgstr ""
msgid "Catalog properties"
msgstr "מאפייני הקטלוג"
+msgid "Project name and version:"
+msgstr "שם וגרסת המיזם:"
+
msgid "Plural Forms:"
msgstr "צורות רבים:"
@@ -1411,6 +1589,15 @@ msgstr "שימוש בביטוי מותאם אישית"
msgid "Learn about plural forms"
msgstr "מידע על צורות רבים"
+msgid "Charset:"
+msgstr "קידוד:"
+
+msgid "Team:"
+msgstr "צוות:"
+
+msgid "Team's email address:"
+msgstr "כתובת הדוא״ל של הקבוצה:"
+
msgid "Translation properties"
msgstr ""
@@ -1484,7 +1671,7 @@ msgstr "עדכון קטלוג - סנכרון עם קוד המקור"
msgid "Toggled if selected string has fuzzy translation"
msgstr "מסומן אם למחרוזת שנבחרה התרגום מעורפל"
-msgid "Show or hide the sidebar."
+msgid "Show or hide the sidebar"
msgstr ""
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
@@ -1496,6 +1683,9 @@ msgid ""
"translation corresponds to."
msgstr ""
+msgid "Notes for translators:"
+msgstr "הערות למתרגמים:"
+
msgid "Add comment"
msgstr ""
@@ -1568,14 +1758,21 @@ msgstr "עריכת תרגום"
msgid "Open an existing PO file and edit the translation."
msgstr "פתיחת קובץ PO קיים ועריכת התרגום."
-msgid "Create new translation"
-msgstr "יצירת תרגום חדש"
-
msgid ""
"Take an existing PO file or POT template and create a new translation from "
"it."
msgstr ""
+msgid "Collaborate on a translation with Crowdin"
+msgstr ""
+
+msgid ""
+"Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+
+msgid "What is Crowdin?"
+msgstr ""
+
msgid "There are no translations. That’s unusual."
msgstr "אין תרגומים. זה מצב חריג."
@@ -1608,3 +1805,9 @@ msgstr ""
msgid "Configure source code extraction in Properties."
msgstr "ניתן להגדיר את חילוץ קוד המקור ב־Properties."
+
+msgid "Sync"
+msgstr ""
+
+msgid "Synchronize the translation with Crowdin"
+msgstr ""
diff --git a/locales/hi.mo b/locales/hi.mo
index 01214d2..1c56e9a 100644
Binary files a/locales/hi.mo and b/locales/hi.mo differ
diff --git a/locales/hi.po b/locales/hi.po
index c86e435..85de779 100644
--- a/locales/hi.po
+++ b/locales/hi.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:33-0400\n"
+"POT-Creation-Date: 2015-05-13 18:47+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Hindi\n"
"Language: hi_IN\n"
@@ -84,6 +84,15 @@ msgstr ""
msgid "Error saving catalog"
msgstr "सूचीपत्र को सुरक्षित करने में त्रुटि"
+msgid "PO Translation Files"
+msgstr ""
+
+msgid "POT Translation Templates"
+msgstr ""
+
+msgid "All Translation Files"
+msgstr ""
+
msgid "Merging differences..."
msgstr "अंतरों को विलय किया जा रहा है..."
@@ -103,6 +112,83 @@ msgstr "भाषा चयन"
msgid "You must restart Poedit for this change to take effect."
msgstr "इन परिवर्तनों को प्रभाव में लाने के लिए आपको Poedit को पुनःआरम्भ करना होगा।"
+msgid "Downloading translations is disabled in this project."
+msgstr ""
+
+msgid "Not authorized, please sign in again."
+msgstr ""
+
+msgid "Sign in to Crowdin"
+msgstr ""
+
+msgid ""
+"Crowdin is an online localization management platform and collaborative "
+"translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+
+msgid "Sign In"
+msgstr ""
+
+msgid "Sign in"
+msgstr ""
+
+msgid "Sign Out"
+msgstr ""
+
+msgid "Sign out"
+msgstr ""
+
+msgid "Waiting for authentication…"
+msgstr ""
+
+msgid "Updating user information…"
+msgstr ""
+
+msgid "Signed in as:"
+msgstr ""
+
+msgid "Learn More About Crowdin"
+msgstr ""
+
+msgid "Learn more about Crowdin"
+msgstr ""
+
+msgid "Open Crowdin translation"
+msgstr ""
+
+msgid "Project:"
+msgstr ""
+
+msgid "Language:"
+msgstr "भाषा:"
+
+msgid "File:"
+msgstr ""
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr ""
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr ""
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr ""
+
+msgid "Downloading latest translations…"
+msgstr ""
+
+msgid "Syncing with Crowdin"
+msgstr ""
+
+msgid "Syncing with Crowdin failed."
+msgstr ""
+
+msgid "Crowdin error"
+msgstr ""
+
+msgid "Uploading translations…"
+msgstr ""
+
msgid "&Copy"
msgstr ""
@@ -147,6 +233,9 @@ msgstr ""
msgid "don't delete temporary files (for debugging)"
msgstr ""
+msgid "handle a poedit:// URI"
+msgstr ""
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr ""
@@ -157,12 +246,6 @@ msgstr ""
msgid "Open catalog"
msgstr "सूचीपत्र को खोलें"
-msgid "All Files"
-msgstr ""
-
-msgid "PO Translation Files"
-msgstr ""
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "'%s' विद्यमान नहीं है।"
@@ -390,6 +473,17 @@ msgstr "बहुवचन:"
msgid "Translation:"
msgstr ""
+msgid ""
+"POT files are only templates and don’t contain any translations themselves.\n"
+"To make a translation, create a new PO file based on the template."
+msgstr ""
+
+msgid "Create New Translation"
+msgstr ""
+
+msgid "Create new translation"
+msgstr ""
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
@@ -437,9 +531,6 @@ msgstr ""
msgid "Open catalog template"
msgstr "सूचीपत्र मानकपत्र को खोलें"
-msgid "POT Translation Templates"
-msgstr ""
-
msgid "Updating catalog"
msgstr ""
@@ -508,16 +599,18 @@ msgstr[1] ""
msgid "The translation is ready for use."
msgstr ""
-msgid "No references to this string found."
-msgstr "इस श्रेणी के लिए कोई संदर्भ नहीं मिला।"
-
-msgid "Please choose the reference you want to show:"
-msgstr "कॄपया उस संदर्भ का चयन करें जिसे आप दर्शाना चाहते है:"
+msgid "Context:"
+msgstr ""
-msgid "References"
-msgstr "संदर्भ"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr ""
-msgid "Context:"
+msgid ""
+"The file contained duplicate items, which is not allowed in PO files and "
+"would prevent the file from being used. Poedit fixed the issue, but you "
+"should review translations of any items marked as fuzzy and correct them if "
+"necessary."
msgstr ""
msgid "Language of the translation isn't set."
@@ -529,6 +622,21 @@ msgstr ""
msgid "Set language"
msgstr ""
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid ""
+"Suggestions are not available if the translation language is not set "
+"correctly. Other features, such as plural forms, may be affected as well."
+msgstr ""
+
+msgid "Language of the translation is the same as source language."
+msgstr ""
+
+msgid "Fix Language"
+msgstr ""
+
+msgid "Fix language"
+msgstr ""
+
msgid ""
"This catalog has entries with plural forms, but doesn't have Plural-Forms "
"header configured."
@@ -559,6 +667,7 @@ msgstr ""
msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr ""
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr ""
@@ -580,6 +689,12 @@ msgid_plural "%d errors"
msgstr[0] ""
msgstr[1] ""
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] ""
+msgstr[1] ""
+
msgid " (unsaved)"
msgstr ""
@@ -693,6 +808,9 @@ msgstr ""
msgid "Form %i"
msgstr "रूप %i"
+msgid "Singular"
+msgstr ""
+
msgid "Zero"
msgstr ""
@@ -702,6 +820,9 @@ msgstr ""
msgid "Two"
msgstr ""
+msgid "Plural"
+msgstr ""
+
msgid "Other"
msgstr ""
@@ -730,6 +851,12 @@ msgstr ""
msgid "Show Sidebar"
msgstr ""
+msgid "Hide Status Bar"
+msgstr ""
+
+msgid "Show Status Bar"
+msgstr ""
+
msgid "Source text"
msgstr ""
@@ -739,6 +866,10 @@ msgstr "अनुवाद"
msgid "ID"
msgstr ""
+#, c-format
+msgid "Source text — %s"
+msgstr ""
+
msgid "unknown language"
msgstr ""
@@ -749,57 +880,73 @@ msgstr ""
msgid "Error:"
msgstr ""
-msgid "Project info"
-msgstr "परियोजना सूचना"
+msgid "Source file"
+msgstr "स्रोत फ़ाइल"
-msgid "Project name and version:"
-msgstr "परियोजना नाम और संस्मरण:"
+msgid "Source file occurrence:"
+msgstr ""
-msgid "Language:"
-msgstr "भाषा:"
+msgid "Open in Editor"
+msgstr ""
-msgid "Team:"
-msgstr "दल:"
+msgid "Open in editor"
+msgstr ""
-msgid "Team's email address:"
-msgstr "दल का विपत्र पता:"
+msgid "No references for the selected item."
+msgstr ""
-msgid "Charset:"
-msgstr "शब्दसमुच्चय:"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "%s फ़ाइल को खोलने में त्रुटि!"
-msgid "Source"
+msgid "Find"
msgstr ""
-msgid "Notes"
-msgstr "जानकारियां"
+msgid "Replace"
+msgstr ""
-msgid "Automatic translation"
-msgstr "स्वचलित अनुवाद"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr ""
-msgid "Fuzzy translation"
-msgstr "अस्पष्ट अनुवाद"
+msgid "Ignore case"
+msgstr ""
-msgid "Notes for translators:"
+msgid "Wrap around"
msgstr ""
-msgid "Comment:"
-msgstr "टिप्पणी:"
+msgid "Whole words only"
+msgstr "सिर्फ पूर्ण शब्द"
-msgid "Source file"
-msgstr "स्रोत फ़ाइल"
+msgid "Find in source texts"
+msgstr ""
-msgid "Source file occurrence:"
+msgid "Find in translations"
msgstr ""
-msgid "Open in Editor"
+msgid "Find in comments"
+msgstr "टिप्पणी मे खोजे"
+
+msgid "Close"
msgstr ""
-msgid "Open in editor"
+msgid "Replace All"
msgstr ""
-#, c-format
-msgid "Error opening file %s!"
-msgstr "%s फ़ाइल को खोलने में त्रुटि!"
+msgid "Replace all"
+msgstr ""
+
+msgid "< &Previous"
+msgstr ""
+
+msgid "&Next >"
+msgstr ""
+
+msgid "String to find"
+msgstr ""
+
+msgid "Replacement string"
+msgstr ""
#, c-format
msgid "Cannot execute program: %s"
@@ -992,9 +1139,19 @@ msgstr "नया"
msgid "Edit"
msgstr "संपादन"
+msgid "Delete extractor"
+msgstr ""
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr ""
+
msgid "Extractors"
msgstr ""
+msgid "Accounts"
+msgstr ""
+
msgid "Automatically check for updates"
msgstr ""
@@ -1033,7 +1190,34 @@ msgstr ""
msgid "Advanced"
msgstr ""
-msgid "Additional keywords"
+msgid ""
+"<big>Drag and Drop Folders Here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid ""
+"<big>Drag and drop folders here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid "Add Folders..."
+msgstr ""
+
+msgid "Add folders..."
+msgstr ""
+
+msgid "Add Files..."
+msgstr ""
+
+msgid "Add files..."
+msgstr ""
+
+msgid "Add Wildcard..."
+msgstr ""
+
+msgid "Add wildcard..."
msgstr ""
msgid "Paths"
@@ -1042,6 +1226,9 @@ msgstr "पथ"
msgid "Excluded paths"
msgstr ""
+msgid "Additional keywords"
+msgstr ""
+
msgid "Name of the project the translation is for"
msgstr ""
@@ -1054,6 +1241,9 @@ msgstr ""
msgid "Please save the file first. This section cannot be edited until then."
msgstr ""
+msgid "Comment:"
+msgstr "टिप्पणी:"
+
msgid "OK"
msgstr "ठीक"
@@ -1063,42 +1253,6 @@ msgstr ""
msgid "Clear the comment"
msgstr "इस टिप्पणी को साफ़ करें"
-msgid "Find..."
-msgstr "खोजें..."
-
-msgid "String to find:"
-msgstr "श्रेणी जिसे खोजना है:"
-
-msgid "Case sensitive"
-msgstr "छोटा-बड़ा संवेदी"
-
-msgid "Start from the first item"
-msgstr "पहले अंश से शुरू करे"
-
-msgid "Whole words only"
-msgstr "सिर्फ पूर्ण शब्द"
-
-msgid "Find in original strings"
-msgstr "मूल श्रेणियों में खोजें"
-
-msgid "Find in translations"
-msgstr ""
-
-msgid "Find in comments"
-msgstr "टिप्पणी मे खोजे"
-
-msgid "Find in automatic comments"
-msgstr "स्वचलित टिप्पणी खिड़की मे खोजे"
-
-msgid "Close"
-msgstr ""
-
-msgid "< &Previous"
-msgstr ""
-
-msgid "&Next >"
-msgstr ""
-
msgid "Create new translations project"
msgstr "नये अनुवाद परियोजना का निर्माण करें"
@@ -1153,6 +1307,12 @@ msgstr "खोलें (&O)..."
msgid "Open Recent"
msgstr ""
+msgid "Open from Crowdin..."
+msgstr ""
+
+msgid "Open From Crowdin..."
+msgstr ""
+
msgid "&Save"
msgstr "सुरक्षित करें (&S)"
@@ -1201,13 +1361,16 @@ msgstr ""
msgid "&Find..."
msgstr "खोज (&F)..."
+msgid "Replace..."
+msgstr ""
+
msgid "Find next"
msgstr ""
msgid "Find previous"
msgstr ""
-msgid "Find"
+msgid "Find and Replace..."
msgstr ""
msgid "Find Next"
@@ -1249,6 +1412,12 @@ msgstr ""
msgid "&Group By Context"
msgstr ""
+msgid "Entries with errors first"
+msgstr ""
+
+msgid "Entries with Errors First"
+msgstr ""
+
msgid "&Untranslated entries first"
msgstr ""
@@ -1258,6 +1427,9 @@ msgstr ""
msgid "Show sidebar"
msgstr ""
+msgid "Show status bar"
+msgstr ""
+
msgid "C&atalog"
msgstr "सूचीपत्र (&a)"
@@ -1273,6 +1445,9 @@ msgstr "पॉट (POT) फ़ाइल से अपडेट करें..."
msgid "Update from &POT File..."
msgstr ""
+msgid "Sync with Crowdin"
+msgstr ""
+
msgid "Fill missing translations from &TM..."
msgstr ""
@@ -1396,6 +1571,9 @@ msgstr ""
msgid "Catalog properties"
msgstr ""
+msgid "Project name and version:"
+msgstr "परियोजना नाम और संस्मरण:"
+
msgid "Plural Forms:"
msgstr "बहुवचन रूप:"
@@ -1408,6 +1586,15 @@ msgstr ""
msgid "Learn about plural forms"
msgstr ""
+msgid "Charset:"
+msgstr "शब्दसमुच्चय:"
+
+msgid "Team:"
+msgstr "दल:"
+
+msgid "Team's email address:"
+msgstr "दल का विपत्र पता:"
+
msgid "Translation properties"
msgstr ""
@@ -1478,7 +1665,7 @@ msgstr "सूचीपत्र अपडेट - स्रोतों के
msgid "Toggled if selected string has fuzzy translation"
msgstr "टॉगल्ड यदि चयनित श्रेणी अस्पष्ट अनुवाद हो चुका है"
-msgid "Show or hide the sidebar."
+msgid "Show or hide the sidebar"
msgstr ""
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
@@ -1490,6 +1677,9 @@ msgid ""
"translation corresponds to."
msgstr ""
+msgid "Notes for translators:"
+msgstr ""
+
msgid "Add comment"
msgstr ""
@@ -1562,14 +1752,21 @@ msgstr ""
msgid "Open an existing PO file and edit the translation."
msgstr ""
-msgid "Create new translation"
-msgstr ""
-
msgid ""
"Take an existing PO file or POT template and create a new translation from "
"it."
msgstr ""
+msgid "Collaborate on a translation with Crowdin"
+msgstr ""
+
+msgid ""
+"Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+
+msgid "What is Crowdin?"
+msgstr ""
+
msgid "There are no translations. That’s unusual."
msgstr ""
@@ -1602,3 +1799,9 @@ msgstr ""
msgid "Configure source code extraction in Properties."
msgstr ""
+
+msgid "Sync"
+msgstr ""
+
+msgid "Synchronize the translation with Crowdin"
+msgstr ""
diff --git a/locales/hr.mo b/locales/hr.mo
index 08e37d7..1b5e345 100644
Binary files a/locales/hr.mo and b/locales/hr.mo differ
diff --git a/locales/hr.po b/locales/hr.po
index 368d2c9..21da4e3 100644
--- a/locales/hr.po
+++ b/locales/hr.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:33-0400\n"
+"POT-Creation-Date: 2015-05-13 18:47+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Croatian\n"
"Language: hr_HR\n"
@@ -95,6 +95,15 @@ msgstr ""
msgid "Error saving catalog"
msgstr "Greška pri spremanju kataloga"
+msgid "PO Translation Files"
+msgstr "PO prevoditeljske datoteke"
+
+msgid "POT Translation Templates"
+msgstr "POT predlošci prijevoda"
+
+msgid "All Translation Files"
+msgstr ""
+
msgid "Merging differences..."
msgstr "Spajanje razlika"
@@ -114,6 +123,83 @@ msgstr "Odabir jezika"
msgid "You must restart Poedit for this change to take effect."
msgstr "Ponovo pokrenite Poedit kako bi promjena imala učinak"
+msgid "Downloading translations is disabled in this project."
+msgstr ""
+
+msgid "Not authorized, please sign in again."
+msgstr ""
+
+msgid "Sign in to Crowdin"
+msgstr ""
+
+msgid ""
+"Crowdin is an online localization management platform and collaborative "
+"translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+
+msgid "Sign In"
+msgstr ""
+
+msgid "Sign in"
+msgstr ""
+
+msgid "Sign Out"
+msgstr ""
+
+msgid "Sign out"
+msgstr ""
+
+msgid "Waiting for authentication…"
+msgstr ""
+
+msgid "Updating user information…"
+msgstr ""
+
+msgid "Signed in as:"
+msgstr ""
+
+msgid "Learn More About Crowdin"
+msgstr ""
+
+msgid "Learn more about Crowdin"
+msgstr ""
+
+msgid "Open Crowdin translation"
+msgstr ""
+
+msgid "Project:"
+msgstr ""
+
+msgid "Language:"
+msgstr "Jezik:"
+
+msgid "File:"
+msgstr ""
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr ""
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr ""
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr ""
+
+msgid "Downloading latest translations…"
+msgstr ""
+
+msgid "Syncing with Crowdin"
+msgstr ""
+
+msgid "Syncing with Crowdin failed."
+msgstr ""
+
+msgid "Crowdin error"
+msgstr ""
+
+msgid "Uploading translations…"
+msgstr ""
+
msgid "&Copy"
msgstr "&Kopiraj"
@@ -160,6 +246,9 @@ msgstr ""
msgid "don't delete temporary files (for debugging)"
msgstr "Nemoj brisati privremene datoteke za ispravljanje grešaka."
+msgid "handle a poedit:// URI"
+msgstr ""
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr "Dogodila se neočekivana iznimka %s"
@@ -170,12 +259,6 @@ msgstr "Dogodila se neočekivana iznimka"
msgid "Open catalog"
msgstr "Otvori katalog"
-msgid "All Files"
-msgstr "Sve datoteke"
-
-msgid "PO Translation Files"
-msgstr "PO prevoditeljske datoteke"
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "Datoteka '%s' ne postoji."
@@ -403,6 +486,17 @@ msgstr "Množina:"
msgid "Translation:"
msgstr "Prijevod"
+msgid ""
+"POT files are only templates and don’t contain any translations themselves.\n"
+"To make a translation, create a new PO file based on the template."
+msgstr ""
+
+msgid "Create New Translation"
+msgstr ""
+
+msgid "Create new translation"
+msgstr "Izradi novi prijevod"
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
@@ -450,9 +544,6 @@ msgstr "HTML datoteke"
msgid "Open catalog template"
msgstr "otvori predložak kataloga"
-msgid "POT Translation Templates"
-msgstr "POT predlošci prijevoda"
-
msgid "Updating catalog"
msgstr "Ažuriranje kataloga..."
@@ -529,18 +620,20 @@ msgstr[2] "Prijevodje spreman za upotrebu ali %d unosa još nije prevedeno."
msgid "The translation is ready for use."
msgstr "Prijevod je spreman za upotrebu."
-msgid "No references to this string found."
-msgstr "Za ovaj string nema pronađenih referenci."
-
-msgid "Please choose the reference you want to show:"
-msgstr "Odaberite referencu koju želite prikazati."
-
-msgid "References"
-msgstr "Reference"
-
msgid "Context:"
msgstr "Kontekst"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr ""
+
+msgid ""
+"The file contained duplicate items, which is not allowed in PO files and "
+"would prevent the file from being used. Poedit fixed the issue, but you "
+"should review translations of any items marked as fuzzy and correct them if "
+"necessary."
+msgstr ""
+
msgid "Language of the translation isn't set."
msgstr "Nije određen jezik za prijevod"
@@ -550,6 +643,21 @@ msgstr ""
msgid "Set language"
msgstr "Postavi jezik"
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid ""
+"Suggestions are not available if the translation language is not set "
+"correctly. Other features, such as plural forms, may be affected as well."
+msgstr ""
+
+msgid "Language of the translation is the same as source language."
+msgstr ""
+
+msgid "Fix Language"
+msgstr ""
+
+msgid "Fix language"
+msgstr ""
+
msgid ""
"This catalog has entries with plural forms, but doesn't have Plural-Forms "
"header configured."
@@ -584,6 +692,7 @@ msgstr "Ispravi zaglavlje"
msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr "Izraz oblika množine korištenu katalogu nije uobičajen za %s."
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr "Razmotri"
@@ -606,6 +715,13 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
msgid " (unsaved)"
msgstr " (nespremljeno)"
@@ -729,6 +845,9 @@ msgstr "Sve"
msgid "Form %i"
msgstr "Oblik %i"
+msgid "Singular"
+msgstr ""
+
msgid "Zero"
msgstr "Nula"
@@ -738,6 +857,9 @@ msgstr "Jedan"
msgid "Two"
msgstr "Dva"
+msgid "Plural"
+msgstr ""
+
msgid "Other"
msgstr "Drugo"
@@ -766,6 +888,12 @@ msgstr ""
msgid "Show Sidebar"
msgstr ""
+msgid "Hide Status Bar"
+msgstr ""
+
+msgid "Show Status Bar"
+msgstr ""
+
msgid "Source text"
msgstr "Izvorni tekst"
@@ -775,6 +903,10 @@ msgstr "Prijevod"
msgid "ID"
msgstr "ID"
+#, c-format
+msgid "Source text — %s"
+msgstr ""
+
msgid "unknown language"
msgstr "Nepoznati jezik"
@@ -785,57 +917,73 @@ msgstr "Prijevod %s"
msgid "Error:"
msgstr "Greška"
-msgid "Project info"
-msgstr "Podaci o projektu"
+msgid "Source file"
+msgstr "Izvorna datoteka"
-msgid "Project name and version:"
-msgstr "Ime i inačica projekta"
+msgid "Source file occurrence:"
+msgstr "Podudaranje s izvornom datotekom"
-msgid "Language:"
-msgstr "Jezik:"
+msgid "Open in Editor"
+msgstr ""
-msgid "Team:"
-msgstr "Tim:"
+msgid "Open in editor"
+msgstr ""
-msgid "Team's email address:"
-msgstr "Adresa e-pošte tima:"
+msgid "No references for the selected item."
+msgstr ""
-msgid "Charset:"
-msgstr "Kodna stranica:"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "Greška pri otvaranju datoteke %s!"
-msgid "Source"
-msgstr "Izvor"
+msgid "Find"
+msgstr "Pronađi"
-msgid "Notes"
-msgstr "Napomene"
+msgid "Replace"
+msgstr ""
-msgid "Automatic translation"
-msgstr "Automatsko prevođenje"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr ""
-msgid "Fuzzy translation"
-msgstr "Nejasan prijevod"
+msgid "Ignore case"
+msgstr ""
-msgid "Notes for translators:"
-msgstr "Napomene prevoditeljima"
+msgid "Wrap around"
+msgstr ""
-msgid "Comment:"
-msgstr "Komentar"
+msgid "Whole words only"
+msgstr "Samo cijele riječi"
-msgid "Source file"
-msgstr "Izvorna datoteka"
+msgid "Find in source texts"
+msgstr ""
-msgid "Source file occurrence:"
-msgstr "Podudaranje s izvornom datotekom"
+msgid "Find in translations"
+msgstr "Pronađi u prijevodima"
-msgid "Open in Editor"
+msgid "Find in comments"
+msgstr "Pronađi u komentarima"
+
+msgid "Close"
+msgstr "&Zatvori"
+
+msgid "Replace All"
msgstr ""
-msgid "Open in editor"
+msgid "Replace all"
msgstr ""
-#, c-format
-msgid "Error opening file %s!"
-msgstr "Greška pri otvaranju datoteke %s!"
+msgid "< &Previous"
+msgstr "< &Prethodno"
+
+msgid "&Next >"
+msgstr "&Sljedeće"
+
+msgid "String to find"
+msgstr ""
+
+msgid "Replacement string"
+msgstr ""
#, c-format
msgid "Cannot execute program: %s"
@@ -1038,9 +1186,19 @@ msgstr "Novo"
msgid "Edit"
msgstr "Uredi"
+msgid "Delete extractor"
+msgstr ""
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr ""
+
msgid "Extractors"
msgstr "Izdvajači"
+msgid "Accounts"
+msgstr ""
+
msgid "Automatically check for updates"
msgstr "Automatska provjera ažuriranja"
@@ -1081,8 +1239,35 @@ msgstr ""
msgid "Advanced"
msgstr ""
-msgid "Additional keywords"
-msgstr "Dodatne ključne riječi"
+msgid ""
+"<big>Drag and Drop Folders Here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid ""
+"<big>Drag and drop folders here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid "Add Folders..."
+msgstr ""
+
+msgid "Add folders..."
+msgstr ""
+
+msgid "Add Files..."
+msgstr ""
+
+msgid "Add files..."
+msgstr ""
+
+msgid "Add Wildcard..."
+msgstr ""
+
+msgid "Add wildcard..."
+msgstr ""
msgid "Paths"
msgstr "Putanje"
@@ -1090,6 +1275,9 @@ msgstr "Putanje"
msgid "Excluded paths"
msgstr "Isključene putanje"
+msgid "Additional keywords"
+msgstr "Dodatne ključne riječi"
+
msgid "Name of the project the translation is for"
msgstr "Ime projekta za koji je prijevod"
@@ -1102,6 +1290,9 @@ msgstr "UTF-8 (preporučeno)"
msgid "Please save the file first. This section cannot be edited until then."
msgstr "Prvo spremite datoteku. Ovaj dio se ne može uređivati prije spremanja."
+msgid "Comment:"
+msgstr "Komentar"
+
msgid "OK"
msgstr "U redu"
@@ -1111,42 +1302,6 @@ msgstr "O&čisti"
msgid "Clear the comment"
msgstr "Očisti napomenu"
-msgid "Find..."
-msgstr "Pronađi..."
-
-msgid "String to find:"
-msgstr "Pronađi string"
-
-msgid "Case sensitive"
-msgstr "osjetljivo na velika i mala slova"
-
-msgid "Start from the first item"
-msgstr "Počni od prve stavke"
-
-msgid "Whole words only"
-msgstr "Samo cijele riječi"
-
-msgid "Find in original strings"
-msgstr "Pronađi u izvornim stringovima"
-
-msgid "Find in translations"
-msgstr "Pronađi u prijevodima"
-
-msgid "Find in comments"
-msgstr "Pronađi u komentarima"
-
-msgid "Find in automatic comments"
-msgstr "Pronađi u automatskim komentarima"
-
-msgid "Close"
-msgstr "&Zatvori"
-
-msgid "< &Previous"
-msgstr "< &Prethodno"
-
-msgid "&Next >"
-msgstr "&Sljedeće"
-
msgid "Create new translations project"
msgstr "Izradi novi projekt prevođenja"
@@ -1201,6 +1356,12 @@ msgstr "&Otvori..."
msgid "Open Recent"
msgstr "Otvori nedavno"
+msgid "Open from Crowdin..."
+msgstr ""
+
+msgid "Open From Crowdin..."
+msgstr ""
+
msgid "&Save"
msgstr "&Spremi"
@@ -1249,14 +1410,17 @@ msgstr "&Prikaži reference"
msgid "&Find..."
msgstr "&pronađi..."
+msgid "Replace..."
+msgstr ""
+
msgid "Find next"
msgstr "Pronađi sljedeće"
msgid "Find previous"
msgstr "Pronađi prethodno"
-msgid "Find"
-msgstr "Pronađi"
+msgid "Find and Replace..."
+msgstr ""
msgid "Find Next"
msgstr "pronađi sljedeće"
@@ -1297,6 +1461,12 @@ msgstr "&Grupiraj po kontekstu"
msgid "&Group By Context"
msgstr "&Grupiraj po kontekstu"
+msgid "Entries with errors first"
+msgstr ""
+
+msgid "Entries with Errors First"
+msgstr ""
+
msgid "&Untranslated entries first"
msgstr "&Prvo neprevedeni unosi"
@@ -1306,6 +1476,9 @@ msgstr "&Prvo neprevedeni unosi"
msgid "Show sidebar"
msgstr ""
+msgid "Show status bar"
+msgstr ""
+
msgid "C&atalog"
msgstr "K&atalog"
@@ -1321,6 +1494,9 @@ msgstr "Ažuriraj iz &POT datoteke..."
msgid "Update from &POT File..."
msgstr "Ažuriraj iz &POT datoteke..."
+msgid "Sync with Crowdin"
+msgstr ""
+
msgid "Fill missing translations from &TM..."
msgstr ""
@@ -1448,6 +1624,9 @@ msgstr ""
msgid "Catalog properties"
msgstr "Svojstva kataloga"
+msgid "Project name and version:"
+msgstr "Ime i inačica projekta"
+
msgid "Plural Forms:"
msgstr "Oblici množine"
@@ -1460,6 +1639,15 @@ msgstr "Koristi prilagođene izraze"
msgid "Learn about plural forms"
msgstr "Nauči više o oblicima množine"
+msgid "Charset:"
+msgstr "Kodna stranica:"
+
+msgid "Team:"
+msgstr "Tim:"
+
+msgid "Team's email address:"
+msgstr "Adresa e-pošte tima:"
+
msgid "Translation properties"
msgstr "Svojstva prijevoda"
@@ -1533,7 +1721,7 @@ msgstr "Ažuriraj katalog, uskladi ga s izvorima"
msgid "Toggled if selected string has fuzzy translation"
msgstr "promijenjeno ako odabrani string ima nejasan prijevod"
-msgid "Show or hide the sidebar."
+msgid "Show or hide the sidebar"
msgstr ""
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
@@ -1545,6 +1733,9 @@ msgid ""
"translation corresponds to."
msgstr ""
+msgid "Notes for translators:"
+msgstr "Napomene prevoditeljima"
+
msgid "Add comment"
msgstr ""
@@ -1624,15 +1815,22 @@ msgstr "Uredi prijevod"
msgid "Open an existing PO file and edit the translation."
msgstr "otvori postojeću PO datoteku i uredi prijevod"
-msgid "Create new translation"
-msgstr "Izradi novi prijevod"
-
msgid ""
"Take an existing PO file or POT template and create a new translation from "
"it."
msgstr ""
"otvori postojeću PO datoteku ili POT predložak i od njih izradi novi prijevod"
+msgid "Collaborate on a translation with Crowdin"
+msgstr ""
+
+msgid ""
+"Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+
+msgid "What is Crowdin?"
+msgstr ""
+
msgid "There are no translations. That’s unusual."
msgstr "Nema prijevoda, to je neobično"
@@ -1672,3 +1870,9 @@ msgstr "Izdvoji iz izvora"
msgid "Configure source code extraction in Properties."
msgstr "Konfiguriraj izdvajanje iz izvornog koda u svojstvima"
+
+msgid "Sync"
+msgstr ""
+
+msgid "Synchronize the translation with Crowdin"
+msgstr ""
diff --git a/locales/hu.mo b/locales/hu.mo
index d613d84..bfe0d01 100644
Binary files a/locales/hu.mo and b/locales/hu.mo differ
diff --git a/locales/hu.po b/locales/hu.po
index e390e31..5c7577d 100644
--- a/locales/hu.po
+++ b/locales/hu.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:33-0400\n"
+"POT-Creation-Date: 2015-05-13 18:47+0200\n"
+"PO-Revision-Date: 2015-05-19 10:48-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Hungarian\n"
"Language: hu_HU\n"
@@ -91,6 +91,15 @@ msgstr ""
msgid "Error saving catalog"
msgstr "Hiba a katalógus mentésekor"
+msgid "PO Translation Files"
+msgstr "PO fordítási fájlok"
+
+msgid "POT Translation Templates"
+msgstr "POT fordítási sablonok"
+
+msgid "All Translation Files"
+msgstr "Minden fordítási fájl"
+
msgid "Merging differences..."
msgstr "Eltérések összefésülése…"
@@ -110,6 +119,88 @@ msgstr "Nyelv választás"
msgid "You must restart Poedit for this change to take effect."
msgstr "Újra kell indítania a Poeditet a módosítás életbe léptetéséhez."
+msgid "Downloading translations is disabled in this project."
+msgstr "A fordítások letöltése ebben a projektben le van tiltva."
+
+msgid "Not authorized, please sign in again."
+msgstr "Nem engedélyezett, kérjük jelentkezzen be újra."
+
+msgid "Sign in to Crowdin"
+msgstr "Bejelentkezés a Crowdin-ra"
+
+msgid ""
+"Crowdin is an online localization management platform and collaborative "
+"translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+"A Crowdin egy online honosításkezelő platform és együttműködésen alapuló "
+"fordítási eszköz. A Poedit gond nélkül képes szinkronizálni a Crowdin-on "
+"kezelt PO fájlokat."
+
+msgid "Sign In"
+msgstr "Bejelentkezés"
+
+msgid "Sign in"
+msgstr "Bejelentkezés"
+
+msgid "Sign Out"
+msgstr "Kijelentkezés"
+
+msgid "Sign out"
+msgstr "Kijelentkezés"
+
+msgid "Waiting for authentication…"
+msgstr "Várakozás a hitelesítésre…"
+
+msgid "Updating user information…"
+msgstr "Felhasználói adatok frissítése…"
+
+msgid "Signed in as:"
+msgstr "Bejelentkezve mint:"
+
+msgid "Learn More About Crowdin"
+msgstr "Tudjon meg többet a Crowdin-ről"
+
+msgid "Learn more about Crowdin"
+msgstr "Tudjon meg többet a Crowdin-ről"
+
+msgid "Open Crowdin translation"
+msgstr "Crowdin fordítás megnyitása"
+
+msgid "Project:"
+msgstr "Projekt:"
+
+msgid "Language:"
+msgstr "Nyelv:"
+
+msgid "File:"
+msgstr "Fájl:"
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr "Nem szerepel fordítási projekt az Ön Crowdin fiókjában."
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr ""
+"Ebben a fordítási projektben nincs olyan fájl, amit a Poedit-tel fordítani "
+"lehetne."
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr "Ez a fájl csak a Crowdin webes felületén szerkeszthető."
+
+msgid "Downloading latest translations…"
+msgstr "A legújabb fordítások letöltése…"
+
+msgid "Syncing with Crowdin"
+msgstr "Szinkronizálás a Crowdin-nel"
+
+msgid "Syncing with Crowdin failed."
+msgstr "Nem sikerült szinkronizálni a Crowdin-nel."
+
+msgid "Crowdin error"
+msgstr "Crowdin hiba"
+
+msgid "Uploading translations…"
+msgstr "Fordítások feltöltése…"
+
msgid "&Copy"
msgstr "&Másolás"
@@ -156,6 +247,9 @@ msgstr ""
msgid "don't delete temporary files (for debugging)"
msgstr "ne törölje az ideiglenes fájlokat (hibakereséshez)"
+msgid "handle a poedit:// URI"
+msgstr "kezel egy poedit:// URI"
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr "Nem kezelt kivétel történt: %s"
@@ -166,12 +260,6 @@ msgstr "Nem kezelt kivétel történt"
msgid "Open catalog"
msgstr "Katalógus megnyitása"
-msgid "All Files"
-msgstr "Minden fájl"
-
-msgid "PO Translation Files"
-msgstr "PO fordítási fájlok"
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "Nem található a(z) „%s” fájl."
@@ -400,6 +488,19 @@ msgstr "Többes szám:"
msgid "Translation:"
msgstr "Fordítás:"
+msgid ""
+"POT files are only templates and don’t contain any translations themselves.\n"
+"To make a translation, create a new PO file based on the template."
+msgstr ""
+"A POT fájl csak egy sablon és nem tartalmaz fordításokat.\n"
+"Fordítás készítéséhez hozzon létre egy új PO fájlt a sablon alapján."
+
+msgid "Create New Translation"
+msgstr "Új fordítás létrehozása"
+
+msgid "Create new translation"
+msgstr "Új fordítási projekt létrehozása"
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
@@ -448,9 +549,6 @@ msgstr "HTML fájlok"
msgid "Open catalog template"
msgstr "Katalógus sablon megnyitása"
-msgid "POT Translation Templates"
-msgstr "POT fordítási sablonok"
-
msgid "Updating catalog"
msgstr "Katalógus frissítése"
@@ -530,18 +628,26 @@ msgstr[1] "A fordítás használatra kész, de %d bejegyzés még nincs lefordí
msgid "The translation is ready for use."
msgstr "A fordítás használatra kész."
-msgid "No references to this string found."
-msgstr "Nem találhatóak hivatkozások erre a szövegre."
-
-msgid "Please choose the reference you want to show:"
-msgstr "Válassza ki a megtekinteni kívánt hivatkozást:"
-
-msgid "References"
-msgstr "Hivatkozások"
-
msgid "Context:"
msgstr "Kontextus:"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr ""
+"A Poedit a(z) “%s” fájlban automatikusan kijavította a nem megfelelő "
+"tartalmat."
+
+msgid ""
+"The file contained duplicate items, which is not allowed in PO files and "
+"would prevent the file from being used. Poedit fixed the issue, but you "
+"should review translations of any items marked as fuzzy and correct them if "
+"necessary."
+msgstr ""
+"A fájl PO fájlokban nem engedélyezett és a fájl használatát megakadályozó "
+"ismétlődő elemeket tartalmaz. A Poedit kijavította ezt a problémát, de "
+"minden bizonytalannak jelölt fordítási bejegyzés felülvizsgálata és estleges "
+"javítása szükséges."
+
msgid "Language of the translation isn't set."
msgstr "A fordítás nyelve nincs beállítva."
@@ -551,6 +657,23 @@ msgstr "Nyelv kiválasztása"
msgid "Set language"
msgstr "Válassza ki a nyelvet"
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid ""
+"Suggestions are not available if the translation language is not set "
+"correctly. Other features, such as plural forms, may be affected as well."
+msgstr ""
+"A javaslatok nem érthetők el, ha a fordítás nyelve nincs pontosan beállítva. "
+"Ez más funkciókra, mint pl.: a többes számú alakokra is hatással lehet."
+
+msgid "Language of the translation is the same as source language."
+msgstr "A fordítás nyelve megegyezik a forrásnyelvvel."
+
+msgid "Fix Language"
+msgstr "Beállítás kijavítása"
+
+msgid "Fix language"
+msgstr "Beállítás kijavítása"
+
msgid ""
"This catalog has entries with plural forms, but doesn't have Plural-Forms "
"header configured."
@@ -587,6 +710,7 @@ msgstr ""
"A katalógus által használt többes szám kifejezés a %s nyelvhez nem "
"használatos."
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr "Felülvizsgálat"
@@ -608,6 +732,12 @@ msgid_plural "%d errors"
msgstr[0] "%d hiba"
msgstr[1] "%d hiba"
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] "%d bejegyzés"
+msgstr[1] "%d bejegyzés"
+
msgid " (unsaved)"
msgstr " (nincs mentve)"
@@ -699,7 +829,7 @@ msgid "Translating"
msgstr "Fordítás"
msgid "Filling missing translations from TM..."
-msgstr "Hiányzó fordítás lefordítása TM-ből..."
+msgstr "Hiányzó fordítás lefordítása FM-ből..."
#, c-format
msgid "Translated %u string"
@@ -735,6 +865,9 @@ msgstr "Minden"
msgid "Form %i"
msgstr "%i. alak"
+msgid "Singular"
+msgstr "Egyes szám"
+
msgid "Zero"
msgstr "Nulla"
@@ -744,6 +877,9 @@ msgstr "Egy"
msgid "Two"
msgstr "Kettő"
+msgid "Plural"
+msgstr "Többes szám"
+
msgid "Other"
msgstr "Egyéb"
@@ -772,6 +908,12 @@ msgstr "Oldalsáv elrejtése"
msgid "Show Sidebar"
msgstr "Oldalsáv megjelenítése"
+msgid "Hide Status Bar"
+msgstr "Állapotsor elrejtése"
+
+msgid "Show Status Bar"
+msgstr "Állapotsor megjelenítése"
+
msgid "Source text"
msgstr "Forrásszöveg"
@@ -781,6 +923,10 @@ msgstr "Fordítás"
msgid "ID"
msgstr "Azonosító"
+#, c-format
+msgid "Source text — %s"
+msgstr "Forrásszöveg — %s"
+
msgid "unknown language"
msgstr "ismeretlen nyelv"
@@ -791,57 +937,73 @@ msgstr "Fordítás — %s"
msgid "Error:"
msgstr "Hiba:"
-msgid "Project info"
-msgstr "Projekt információk"
+msgid "Source file"
+msgstr "Forrásfájl"
-msgid "Project name and version:"
-msgstr "Projekt neve és verziószáma:"
+msgid "Source file occurrence:"
+msgstr "Forrásfájli előfordulás:"
-msgid "Language:"
-msgstr "Nyelv:"
+msgid "Open in Editor"
+msgstr "Megnyitás a szerkesztőben"
-msgid "Team:"
-msgstr "Csapat:"
+msgid "Open in editor"
+msgstr "Megnyitás a szerkesztőben"
-msgid "Team's email address:"
-msgstr "Csapat e-mail címe:"
+msgid "No references for the selected item."
+msgstr "A kiválasztott elemhez nincs referencia."
-msgid "Charset:"
-msgstr "Karakterkódolás:"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "Hiba a(z) %s fájl megnyitásakor!"
-msgid "Source"
-msgstr "Forrás"
+msgid "Find"
+msgstr "Keresés…"
-msgid "Notes"
-msgstr "Jegyzetek"
+msgid "Replace"
+msgstr "Csere"
-msgid "Automatic translation"
-msgstr "Automatikus fordítás"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr "Beállítások"
-msgid "Fuzzy translation"
-msgstr "Bizonytalan fordítás"
+msgid "Ignore case"
+msgstr "Kis- és nagybetűk egyezőek"
-msgid "Notes for translators:"
-msgstr "Megjegyzések a fordítóknak:"
+msgid "Wrap around"
+msgstr "Körkörös keresés"
-msgid "Comment:"
-msgstr "Megjegyzés:"
+msgid "Whole words only"
+msgstr "Csak teljes szóra"
-msgid "Source file"
-msgstr "Forrásfájl"
+msgid "Find in source texts"
+msgstr "Keresés a forrásszövegben"
-msgid "Source file occurrence:"
-msgstr "Forrásfájli előfordulás:"
+msgid "Find in translations"
+msgstr "Keresés a fordításban"
-msgid "Open in Editor"
-msgstr "Megnyitás a szerkesztőben"
+msgid "Find in comments"
+msgstr "Keresés a megjegyzésekben"
-msgid "Open in editor"
-msgstr "Megnyitás a szerkesztőben"
+msgid "Close"
+msgstr "Bezárás"
-#, c-format
-msgid "Error opening file %s!"
-msgstr "Hiba a(z) %s fájl megnyitásakor!"
+msgid "Replace All"
+msgstr "Összes cseréje"
+
+msgid "Replace all"
+msgstr "Összes cseréje"
+
+msgid "< &Previous"
+msgstr "< Előző"
+
+msgid "&Next >"
+msgstr "Következő >"
+
+msgid "String to find"
+msgstr "Keresendő karakterlánc"
+
+msgid "Replacement string"
+msgstr "Behelyettesítendő karakterlánc"
#, c-format
msgid "Cannot execute program: %s"
@@ -1046,9 +1208,19 @@ msgstr "Új"
msgid "Edit"
msgstr "Szerkesztés"
+msgid "Delete extractor"
+msgstr "Kivonatoló törlése"
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr "Biztosan törölni szeretné a \"%s\" kivonatolót?"
+
msgid "Extractors"
msgstr "Kivonatolók"
+msgid "Accounts"
+msgstr "Fiókok"
+
msgid "Automatically check for updates"
msgstr "Frissítések automatikus keresése"
@@ -1091,8 +1263,41 @@ msgstr "A meglévő fájlok formázásának megőrzése"
msgid "Advanced"
msgstr "Haladó"
-msgid "Additional keywords"
-msgstr "Kiegészítő kulcsszavak"
+msgid ""
+"<big>Drag and Drop Folders Here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+"<big>Húzza ide a mappákat</big>\n"
+"\n"
+"vagy használja a + gombot"
+
+msgid ""
+"<big>Drag and drop folders here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+"<big>Húzza ide a mappákat</big>\n"
+"\n"
+"vagy használja a + gombot"
+
+msgid "Add Folders..."
+msgstr "Mappák hozzáadása..."
+
+msgid "Add folders..."
+msgstr "Mappák hozzáadása..."
+
+msgid "Add Files..."
+msgstr "Fájlok hozzáadása..."
+
+msgid "Add files..."
+msgstr "Fájlok hozzáadása..."
+
+msgid "Add Wildcard..."
+msgstr "Joker karakter hozzáadása..."
+
+msgid "Add wildcard..."
+msgstr "Helyettesítő karakter hozzáadása..."
msgid "Paths"
msgstr "Útvonalak"
@@ -1100,6 +1305,9 @@ msgstr "Útvonalak"
msgid "Excluded paths"
msgstr "Kizárt elérési utak"
+msgid "Additional keywords"
+msgstr "Kiegészítő kulcsszavak"
+
msgid "Name of the project the translation is for"
msgstr "A projekt megnevezése, és aminek a fordítása:"
@@ -1113,6 +1321,9 @@ msgid "Please save the file first. This section cannot be edited until then."
msgstr ""
"Kérjük először mentse el fájlt. Ez a szakasz mindaddig nem lesz szerkeszthető"
+msgid "Comment:"
+msgstr "Megjegyzés:"
+
msgid "OK"
msgstr "OK"
@@ -1122,42 +1333,6 @@ msgstr "Tör&lés"
msgid "Clear the comment"
msgstr "Megjegyzés törlése"
-msgid "Find..."
-msgstr "Keresés…"
-
-msgid "String to find:"
-msgstr "Keresett szöveg:"
-
-msgid "Case sensitive"
-msgstr "Kis- és nagybetűk megkülönböztetése"
-
-msgid "Start from the first item"
-msgstr "Az első elemtől kezdve"
-
-msgid "Whole words only"
-msgstr "Csak teljes szóra"
-
-msgid "Find in original strings"
-msgstr "Keresés az eredeti szövegekben"
-
-msgid "Find in translations"
-msgstr "Keresés a fordításban"
-
-msgid "Find in comments"
-msgstr "Keresés a megjegyzésekben"
-
-msgid "Find in automatic comments"
-msgstr "Keresés az automatikus megjegyzésekben"
-
-msgid "Close"
-msgstr "Bezárás"
-
-msgid "< &Previous"
-msgstr "< Előző"
-
-msgid "&Next >"
-msgstr "Következő >"
-
msgid "Create new translations project"
msgstr "Új fordítási projekt létrehozása"
@@ -1212,6 +1387,12 @@ msgstr "&Megnyitás…"
msgid "Open Recent"
msgstr "Legutóbbi megnyitása"
+msgid "Open from Crowdin..."
+msgstr "Megnyitás a Crowdin-ról..."
+
+msgid "Open From Crowdin..."
+msgstr "Megnyitás a Crowdin-ról..."
+
msgid "&Save"
msgstr "Menté&s"
@@ -1260,14 +1441,17 @@ msgstr "&Hivatkozások megjelenítése"
msgid "&Find..."
msgstr "&Keresés…"
+msgid "Replace..."
+msgstr "Csere..."
+
msgid "Find next"
msgstr "Következő keresése"
msgid "Find previous"
msgstr "Előző keresése"
-msgid "Find"
-msgstr "Keresés…"
+msgid "Find and Replace..."
+msgstr "Keresés és csere..."
msgid "Find Next"
msgstr "Következő keresése"
@@ -1308,6 +1492,12 @@ msgstr "Szövegkörnyezeti &csoportosítás"
msgid "&Group By Context"
msgstr "Szövegkörnyezeti &csoportosítás"
+msgid "Entries with errors first"
+msgstr "Hibás bejegyzések elöl"
+
+msgid "Entries with Errors First"
+msgstr "Hibás bejegyzések elöl"
+
msgid "&Untranslated entries first"
msgstr "&Lefordítatlan bejegyzések előre"
@@ -1317,6 +1507,9 @@ msgstr "&Lefordítatlan bejegyzések előre"
msgid "Show sidebar"
msgstr "Oldalsáv megjelenítése"
+msgid "Show status bar"
+msgstr "Állapotsor megjelenítése"
+
msgid "C&atalog"
msgstr "&Katalógus"
@@ -1332,6 +1525,9 @@ msgstr "Frissítés &POT fájlból…"
msgid "Update from &POT File..."
msgstr "Frissítés &POT fájlból…"
+msgid "Sync with Crowdin"
+msgstr "Szinkronizáció a Crowdin-nel"
+
msgid "Fill missing translations from &TM..."
msgstr "Hiányzó fordítás kitöltése &FM-ből..."
@@ -1459,6 +1655,9 @@ msgstr ""
msgid "Catalog properties"
msgstr "Katalógus tulajdonságok"
+msgid "Project name and version:"
+msgstr "Projekt neve és verziószáma:"
+
msgid "Plural Forms:"
msgstr "Többes számú alakok:"
@@ -1471,6 +1670,15 @@ msgstr "Egyéni kifejezés használata"
msgid "Learn about plural forms"
msgstr "Tudjon meg többet a többes számú alakokról"
+msgid "Charset:"
+msgstr "Karakterkódolás:"
+
+msgid "Team:"
+msgstr "Csapat:"
+
+msgid "Team's email address:"
+msgstr "Csapat e-mail címe:"
+
msgid "Translation properties"
msgstr "Fordítás tulajdonságai"
@@ -1543,8 +1751,8 @@ msgstr "Katalógus frissítése - szinkronizálás a forrásokhoz"
msgid "Toggled if selected string has fuzzy translation"
msgstr "Bekapcsolva, ha a kijelölt szöveg fordítása még bizonytalan"
-msgid "Show or hide the sidebar."
-msgstr "Oldalsáv megjelenítése/elrejtése."
+msgid "Show or hide the sidebar"
+msgstr "Oldalsáv megjelenítése/elrejtése"
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
msgid "Previous source text:"
@@ -1557,6 +1765,9 @@ msgstr ""
"A régi forrásszöveg (a frissítést megelőző állapotú), ami bizonytalan "
"fordításnak tekinthető."
+msgid "Notes for translators:"
+msgstr "Megjegyzések a fordítóknak:"
+
msgid "Add comment"
msgstr "Hozzászólás"
@@ -1636,9 +1847,6 @@ msgstr "Fordítás szerkesztése"
msgid "Open an existing PO file and edit the translation."
msgstr "Egy létező PO fájl megnyitása, és a fordítás szerkesztése"
-msgid "Create new translation"
-msgstr "Új fordítási projekt létrehozása"
-
msgid ""
"Take an existing PO file or POT template and create a new translation from "
"it."
@@ -1646,6 +1854,18 @@ msgstr ""
"Egy már meglévő PO fájl vagy POT sablon kiválasztása és új fordítás "
"készítése belőle."
+msgid "Collaborate on a translation with Crowdin"
+msgstr "Együttműködés a Crowdin-nel egy fordításban"
+
+msgid ""
+"Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+"Töltsön le egy fájlt egy Crowdin projektből, fordítsa le, majd "
+"szinkronizálja Crowdin-en lévőkkel."
+
+msgid "What is Crowdin?"
+msgstr "Mi az a Crowdin?"
+
msgid "There are no translations. That’s unusual."
msgstr "Nem léteznek fordítások. Ez szokatlan."
@@ -1685,3 +1905,9 @@ msgstr "Kinyerés forrás fájlból"
msgid "Configure source code extraction in Properties."
msgstr "Forráskód extrakció konfigurálása a Tulajdonságok panelen"
+
+msgid "Sync"
+msgstr "Szinkronizáció"
+
+msgid "Synchronize the translation with Crowdin"
+msgstr "Fordítások szinkronizálása a Crowdin-nel"
diff --git a/locales/id.mo b/locales/id.mo
index 0887b66..6ac80bb 100644
Binary files a/locales/id.mo and b/locales/id.mo differ
diff --git a/locales/id.po b/locales/id.po
index 27bbb8b..2906a21 100644
--- a/locales/id.po
+++ b/locales/id.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:33-0400\n"
+"POT-Creation-Date: 2015-05-13 18:47+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Indonesian\n"
"Language: id_ID\n"
@@ -56,7 +56,7 @@ msgstr ""
#, c-format
msgid "Couldn't load file %s, it is probably corrupted."
-msgstr "Tak bisa memuat berkas %s. mungkin cacat."
+msgstr "Tak bisa memuat berkas %s, mungkin cacat."
#, c-format
msgid ""
@@ -91,6 +91,15 @@ msgstr ""
msgid "Error saving catalog"
msgstr "Gagal menyimpan katalog"
+msgid "PO Translation Files"
+msgstr "Berkas Terjemahan PO"
+
+msgid "POT Translation Templates"
+msgstr "Templat Terjemahan POT"
+
+msgid "All Translation Files"
+msgstr "Semua Berkas Terjemahan"
+
msgid "Merging differences..."
msgstr "Menyatukan perbedaan..."
@@ -110,6 +119,87 @@ msgstr "Pilihan bahasa"
msgid "You must restart Poedit for this change to take effect."
msgstr "Jalankan ulang Poedit agar efek perubahan terlihat."
+msgid "Downloading translations is disabled in this project."
+msgstr "Mengunduh terjemahan dinonaktifkan dalam proyek ini."
+
+msgid "Not authorized, please sign in again."
+msgstr "Tidak berwenang, silakan masuk lagi."
+
+msgid "Sign in to Crowdin"
+msgstr "Masuk ke Crowdin"
+
+msgid ""
+"Crowdin is an online localization management platform and collaborative "
+"translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+"Crowdin adalah sebuah platform manajemen lokalisasi daring dan alat "
+"penerjemahan kolaboratif. Poedit dapat menyelaraskan berkas PO yang dikelola "
+"pada Crowdin secara mulus."
+
+msgid "Sign In"
+msgstr "Masuk"
+
+msgid "Sign in"
+msgstr "Masuk"
+
+msgid "Sign Out"
+msgstr "Keluar"
+
+msgid "Sign out"
+msgstr "Keluar"
+
+msgid "Waiting for authentication…"
+msgstr "Menunggu otentikasi…"
+
+msgid "Updating user information…"
+msgstr "Memutakhirkan informasi pengguna…"
+
+msgid "Signed in as:"
+msgstr "Masuk sebagai:"
+
+msgid "Learn More About Crowdin"
+msgstr "Pelajari Lebih Lanjut Tentang Crowdin"
+
+msgid "Learn more about Crowdin"
+msgstr "Pelajari lebih lanjut tentang Crowdin"
+
+msgid "Open Crowdin translation"
+msgstr "Buka terjemahan Crowdin"
+
+msgid "Project:"
+msgstr "Proyek:"
+
+msgid "Language:"
+msgstr "Bahasa:"
+
+msgid "File:"
+msgstr "Berkas:"
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr "Tidak ada proyek terjemahan yang tercantum dalam akun Crowdin Anda."
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr ""
+"Proyek ini tidak memiliki berkas yang dapat diterjemahkan dalam Poedit."
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr "Berkas ini hanya dapat disunting dalam antar muka web Crowdin."
+
+msgid "Downloading latest translations…"
+msgstr "Unduh terjemahan terbaru…"
+
+msgid "Syncing with Crowdin"
+msgstr "Menyelaraskan dengan Crowdin"
+
+msgid "Syncing with Crowdin failed."
+msgstr "Penyelarasan dengan Crowdin gagal."
+
+msgid "Crowdin error"
+msgstr "Kesalahan Crowdin"
+
+msgid "Uploading translations…"
+msgstr "Mengunggah terjemahan…"
+
msgid "&Copy"
msgstr "&Salin"
@@ -156,6 +246,9 @@ msgstr ""
msgid "don't delete temporary files (for debugging)"
msgstr "jangan hapus berkas sementara (untuk pengawakutuan)"
+msgid "handle a poedit:// URI"
+msgstr "menangani URI poedit://"
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr "Eksepsi tidak tertangani terjadi: %s"
@@ -166,12 +259,6 @@ msgstr "Eksepsi tidak tertangani terjadi."
msgid "Open catalog"
msgstr "Buka katalog"
-msgid "All Files"
-msgstr "Semua Berkas"
-
-msgid "PO Translation Files"
-msgstr "Berkas Terjemahan PO"
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "Berkas '%s' tidak ada."
@@ -400,6 +487,20 @@ msgstr "Jamak:"
msgid "Translation:"
msgstr "Terjemahan:"
+msgid ""
+"POT files are only templates and don’t contain any translations themselves.\n"
+"To make a translation, create a new PO file based on the template."
+msgstr ""
+"Berkas POT hanya templat dan tidak memuat terjemahan apapun.\n"
+"Untuk membuat suatu terjemahan, buatlah sebuah berkas PO baru berbasis "
+"templat itu."
+
+msgid "Create New Translation"
+msgstr "Buat Terjemahan Baru"
+
+msgid "Create new translation"
+msgstr "Buat terjemahan baru"
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
@@ -447,9 +548,6 @@ msgstr "Berkas HTML"
msgid "Open catalog template"
msgstr "Buka templat katalog"
-msgid "POT Translation Templates"
-msgstr "Templat Terjemahan POT"
-
msgid "Updating catalog"
msgstr "Memperbarui katalog"
@@ -527,18 +625,25 @@ msgstr[0] ""
msgid "The translation is ready for use."
msgstr "Terjemahan siap digunakan."
-msgid "No references to this string found."
-msgstr "Tak ditemukan referensi ke kalimat ini."
-
-msgid "Please choose the reference you want to show:"
-msgstr "Silahkan pilih referensi yg ingin ditampilkan"
-
-msgid "References"
-msgstr "Referensi"
-
msgid "Context:"
msgstr "Konteks:"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr ""
+"Poedit secara otomatis memperbaiki isi yang tak valid dalam berkas \"%s\"."
+
+msgid ""
+"The file contained duplicate items, which is not allowed in PO files and "
+"would prevent the file from being used. Poedit fixed the issue, but you "
+"should review translations of any items marked as fuzzy and correct them if "
+"necessary."
+msgstr ""
+"Berkas memuat butir-butir duplikat, yang tak diizinkan dalam berkas PO dan "
+"akan mencegah berkas dipakai. Poedit memperbaiki masalah ini, tapi Anda "
+"mesti meninjau sebarang terjemahan yang ditandai sebagai ragu dan "
+"memperbaiki mereka bila perlu."
+
msgid "Language of the translation isn't set."
msgstr "Bahasa terjemahan belum dipilih."
@@ -548,6 +653,23 @@ msgstr "Atur bahasa"
msgid "Set language"
msgstr "Atur bahasa"
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid ""
+"Suggestions are not available if the translation language is not set "
+"correctly. Other features, such as plural forms, may be affected as well."
+msgstr ""
+"Saran tidak tersedia jika bahasa terjemahan tidak diatur dengan benar. Fitur "
+"lainnya, seperti bentuk jamak, mungkin akan terpengaruh juga."
+
+msgid "Language of the translation is the same as source language."
+msgstr "Bahasa terjemahan sama dengan bahasa sumber."
+
+msgid "Fix Language"
+msgstr "Perbaiki Bahasa"
+
+msgid "Fix language"
+msgstr "Perbaiki bahasa"
+
msgid ""
"This catalog has entries with plural forms, but doesn't have Plural-Forms "
"header configured."
@@ -582,6 +704,7 @@ msgstr "Perbaiki header"
msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr "Ekspresi bentuk jamak yang dipakai oleh katalog tak umum bagi %s."
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr "Tinjau"
@@ -602,6 +725,11 @@ msgid "%d error"
msgid_plural "%d errors"
msgstr[0] "%d kesalahan"
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] "%d entri"
+
msgid " (unsaved)"
msgstr " (belum disimpan)"
@@ -725,6 +853,9 @@ msgstr "Segalanya"
msgid "Form %i"
msgstr "Formulir %i"
+msgid "Singular"
+msgstr "Tunggal"
+
msgid "Zero"
msgstr "Nol"
@@ -734,6 +865,9 @@ msgstr "Satu"
msgid "Two"
msgstr "Dua"
+msgid "Plural"
+msgstr "Jamak"
+
msgid "Other"
msgstr "Lainnya"
@@ -762,6 +896,12 @@ msgstr "Sembunyikan Bilah Sisi"
msgid "Show Sidebar"
msgstr "Tampilkan Bilah Sisi"
+msgid "Hide Status Bar"
+msgstr "Sembunyikan Bilah Status"
+
+msgid "Show Status Bar"
+msgstr "Tampilkan Bilah Status"
+
msgid "Source text"
msgstr "Teks sumber"
@@ -771,6 +911,10 @@ msgstr "Terjemahan"
msgid "ID"
msgstr "ID"
+#, c-format
+msgid "Source text — %s"
+msgstr "Teks sumber — %s"
+
msgid "unknown language"
msgstr "bahasa tak dikenal"
@@ -781,57 +925,73 @@ msgstr "Terjemahan — %s"
msgid "Error:"
msgstr "Galat:"
-msgid "Project info"
-msgstr "Info projek"
+msgid "Source file"
+msgstr "Berkas sumber"
-msgid "Project name and version:"
-msgstr "Nama dan versi projek:"
+msgid "Source file occurrence:"
+msgstr "Kemunculan berkas sumber:"
-msgid "Language:"
-msgstr "Bahasa:"
+msgid "Open in Editor"
+msgstr "Buka Dalam Penyunting"
-msgid "Team:"
-msgstr "Tim:"
+msgid "Open in editor"
+msgstr "Buka dalam penyunting"
-msgid "Team's email address:"
-msgstr "Alamat surel Tim:"
+msgid "No references for the selected item."
+msgstr "Tidak ada acuan untuk butir yang dipilih."
-msgid "Charset:"
-msgstr "Set karakter:"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "Gagal membuka berkas %s!"
-msgid "Source"
-msgstr "Sumber"
+msgid "Find"
+msgstr "Cari"
-msgid "Notes"
-msgstr "Catatan"
+msgid "Replace"
+msgstr "Ganti"
-msgid "Automatic translation"
-msgstr "Penerjemahan otomatis"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr "Opsi"
-msgid "Fuzzy translation"
-msgstr "Terjemahan ragu"
+msgid "Ignore case"
+msgstr "Abaikan besar kecil huruf"
-msgid "Notes for translators:"
-msgstr "Catatan bagi para penerjemah:"
+msgid "Wrap around"
+msgstr "Ulang dari awal"
-msgid "Comment:"
-msgstr "Komentar:"
+msgid "Whole words only"
+msgstr "Hanya kata lengkap"
-msgid "Source file"
-msgstr "Berkas sumber"
+msgid "Find in source texts"
+msgstr "Cari dalam teks sumber"
-msgid "Source file occurrence:"
-msgstr "Kemunculan berkas sumber:"
+msgid "Find in translations"
+msgstr "Cari dalam terjemahan"
-msgid "Open in Editor"
-msgstr "Buka Dalam Penyunting"
+msgid "Find in comments"
+msgstr "Cari dalam komentar"
-msgid "Open in editor"
-msgstr "Buka dalam penyunting"
+msgid "Close"
+msgstr "Tutup"
-#, c-format
-msgid "Error opening file %s!"
-msgstr "Gagal membuka berkas %s!"
+msgid "Replace All"
+msgstr "Ganti Semua"
+
+msgid "Replace all"
+msgstr "Ganti semua"
+
+msgid "< &Previous"
+msgstr "< Se&belumnya"
+
+msgid "&Next >"
+msgstr "Berikut&nya >"
+
+msgid "String to find"
+msgstr "Kalimat yang dicari"
+
+msgid "Replacement string"
+msgstr "Kalimat pengganti"
#, c-format
msgid "Cannot execute program: %s"
@@ -1036,9 +1196,19 @@ msgstr "Baru"
msgid "Edit"
msgstr "Sunting"
+msgid "Delete extractor"
+msgstr "Hapus ekstraktor"
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr "Anda yakin Anda ingin menghapus ekstraktor \"%s\"?"
+
msgid "Extractors"
msgstr "Pengekstrak"
+msgid "Accounts"
+msgstr "Akun"
+
msgid "Automatically check for updates"
msgstr "Secara otomatis memeriksa pembaruan"
@@ -1069,7 +1239,7 @@ msgid "Unix (recommended)"
msgstr "Unix (disarankan)"
msgid "Windows"
-msgstr "Jendela"
+msgstr "Windows"
#. TRANSLATORS: Followed by text control for entering number; wraps text at given width
msgid "Wrap at:"
@@ -1081,8 +1251,41 @@ msgstr "Pertahankan format berkas yang sudah ada"
msgid "Advanced"
msgstr "Tingkat lanjut"
-msgid "Additional keywords"
-msgstr "Kata kunci tambahan"
+msgid ""
+"<big>Drag and Drop Folders Here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+"<big>Seret dan Jatuhkan Folder Di Sini</big>\n"
+"\n"
+"atau gunakan tombol +"
+
+msgid ""
+"<big>Drag and drop folders here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+"<big>Folder Seret dan jatuhkan folder di sini</big>\n"
+"\n"
+"atau gunakan tombol +"
+
+msgid "Add Folders..."
+msgstr "Tambah Folder..."
+
+msgid "Add folders..."
+msgstr "Tambah folder..."
+
+msgid "Add Files..."
+msgstr "Tambah Berkas..."
+
+msgid "Add files..."
+msgstr "Tambah berkas..."
+
+msgid "Add Wildcard..."
+msgstr "Tambah Wildcard..."
+
+msgid "Add wildcard..."
+msgstr "Tambah wildcard..."
msgid "Paths"
msgstr "Path"
@@ -1090,6 +1293,9 @@ msgstr "Path"
msgid "Excluded paths"
msgstr "Path yang dikecualikan"
+msgid "Additional keywords"
+msgstr "Kata kunci tambahan"
+
msgid "Name of the project the translation is for"
msgstr "Terjemahan ini untuk projek bernama tersebut"
@@ -1102,6 +1308,9 @@ msgstr "UTF-8 (disarankan)"
msgid "Please save the file first. This section cannot be edited until then."
msgstr "Harap simpan dulu. Seksi ini tak bisa disunting sebelum itu."
+msgid "Comment:"
+msgstr "Komentar:"
+
msgid "OK"
msgstr "OK"
@@ -1111,42 +1320,6 @@ msgstr "&Bersihkan"
msgid "Clear the comment"
msgstr "Hapus komentar"
-msgid "Find..."
-msgstr "Cari..."
-
-msgid "String to find:"
-msgstr "Kalimat yang dicari:"
-
-msgid "Case sensitive"
-msgstr "Peka besar kecil huruf"
-
-msgid "Start from the first item"
-msgstr "Mulai dari item pertama"
-
-msgid "Whole words only"
-msgstr "Hanya kata lengkap"
-
-msgid "Find in original strings"
-msgstr "Cari di kalimat asli"
-
-msgid "Find in translations"
-msgstr "Cari dalam terjemahan"
-
-msgid "Find in comments"
-msgstr "Cari dalam komentar"
-
-msgid "Find in automatic comments"
-msgstr "Cari di komentar otomatis"
-
-msgid "Close"
-msgstr "Tutup"
-
-msgid "< &Previous"
-msgstr "< Se&belumnya"
-
-msgid "&Next >"
-msgstr "Berikut&nya >"
-
msgid "Create new translations project"
msgstr "Buat projek terjemahan baru"
@@ -1201,6 +1374,12 @@ msgstr "&Buka..."
msgid "Open Recent"
msgstr "Buka Yang Baru-baru Ini"
+msgid "Open from Crowdin..."
+msgstr "Buka dari Crowdin..."
+
+msgid "Open From Crowdin..."
+msgstr "Buka Dari Crowdin..."
+
msgid "&Save"
msgstr "&Simpan"
@@ -1249,14 +1428,17 @@ msgstr "Perlihatkan Referen&si"
msgid "&Find..."
msgstr "&Cari..."
+msgid "Replace..."
+msgstr "Ganti..."
+
msgid "Find next"
msgstr "Cari berikutnya"
msgid "Find previous"
msgstr "Cari sebelumnya"
-msgid "Find"
-msgstr "Cari"
+msgid "Find and Replace..."
+msgstr "Cari dan Ganti..."
msgid "Find Next"
msgstr "Cari Berikutnya"
@@ -1297,6 +1479,12 @@ msgstr "&Kelompokkan menurut konteks"
msgid "&Group By Context"
msgstr "&Kelompokkan Menurut Konteks"
+msgid "Entries with errors first"
+msgstr "Entri dengan kesalahan di awal"
+
+msgid "Entries with Errors First"
+msgstr "Entri dengan Kesalahan Dulu"
+
msgid "&Untranslated entries first"
msgstr "Entri bel&um diterjemahkan di awal"
@@ -1306,6 +1494,9 @@ msgstr "Entri Bel&um Diterjemahkan Di Awal"
msgid "Show sidebar"
msgstr "Tampilkan bilah sisi"
+msgid "Show status bar"
+msgstr "Tampilkan bilah status"
+
msgid "C&atalog"
msgstr "K&atalog"
@@ -1321,6 +1512,9 @@ msgstr "Perbarui dari berkas &POT..."
msgid "Update from &POT File..."
msgstr "Perbarui dari Berkas &POT..."
+msgid "Sync with Crowdin"
+msgstr "Selaraskan dengan Crowdin"
+
msgid "Fill missing translations from &TM..."
msgstr "Isi terjemahan yang kosong dari &TM..."
@@ -1449,6 +1643,9 @@ msgstr ""
msgid "Catalog properties"
msgstr "Properti katalog"
+msgid "Project name and version:"
+msgstr "Nama dan versi projek:"
+
msgid "Plural Forms:"
msgstr "Bentuk jamak:"
@@ -1461,6 +1658,15 @@ msgstr "Gunakan ekspresi pilihan sendiri"
msgid "Learn about plural forms"
msgstr "Belajar tentang bentuk jamak"
+msgid "Charset:"
+msgstr "Set karakter:"
+
+msgid "Team:"
+msgstr "Tim:"
+
+msgid "Team's email address:"
+msgstr "Alamat surel Tim:"
+
msgid "Translation properties"
msgstr "Properti terjemahan"
@@ -1533,8 +1739,8 @@ msgstr "Perbarui katalog - mensinkronkan dengan sumber"
msgid "Toggled if selected string has fuzzy translation"
msgstr "Dijungkitkan jika kalimat yang dipilih memiliki terjemahan ragu"
-msgid "Show or hide the sidebar."
-msgstr "Tampilkan atau sembunyikan bilah sisi."
+msgid "Show or hide the sidebar"
+msgstr "Tampilkan atau sembunyikan bilah sisi"
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
msgid "Previous source text:"
@@ -1547,6 +1753,9 @@ msgstr ""
"Teks sumber lama (sebelum berubah selama pemutakhiran) yang berkaitan dengan "
"terjemahan ragu."
+msgid "Notes for translators:"
+msgstr "Catatan bagi para penerjemah:"
+
msgid "Add comment"
msgstr "Tambah komentar"
@@ -1626,15 +1835,24 @@ msgstr "Sunting suatu terjemahan"
msgid "Open an existing PO file and edit the translation."
msgstr "Buka berkas PO yang ada dan sunting terjemahan tersebut."
-msgid "Create new translation"
-msgstr "Buat terjemahan baru"
-
msgid ""
"Take an existing PO file or POT template and create a new translation from "
"it."
msgstr ""
"Ambil berkas PO atau templat POT yang ada dan buat terjemahan baru darinya."
+msgid "Collaborate on a translation with Crowdin"
+msgstr "Kolaborasi penerjemahan dengan Crowdin"
+
+msgid ""
+"Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+"Unduh suatu berkas dari proyek Crowdin, terjemahkan, dan selaraskan balik "
+"perubahan Anda."
+
+msgid "What is Crowdin?"
+msgstr "Apa itu Crowdin?"
+
msgid "There are no translations. That’s unusual."
msgstr "Tidak ada terjemahan. Itu tidak biasa."
@@ -1657,8 +1875,8 @@ msgstr "(Belajar lebih banyak tentang gettext GNU)"
msgid "The simplest way to fill this catalog is to update it from a POT:"
msgstr ""
-"Cara termudah untuk memenuhi katalog inin adalah dengan memutakhirkannya "
-"dari suatu POT:"
+"Cara termudah untuk memenuhi katalog ini adalah dengan memutakhirkannya dari "
+"suatu POT:"
msgid "Update from POT"
msgstr "Perbarui dari POT"
@@ -1678,3 +1896,9 @@ msgstr "Ekstrak dari sumber"
msgid "Configure source code extraction in Properties."
msgstr "Atur konfigurasi ekstraksi kode sumber dalam Properti."
+
+msgid "Sync"
+msgstr "Selaraskan"
+
+msgid "Synchronize the translation with Crowdin"
+msgstr "Selaraskan terjemahan dengan Crowdin"
diff --git a/locales/is.mo b/locales/is.mo
index 2960b40..eda4ffb 100644
Binary files a/locales/is.mo and b/locales/is.mo differ
diff --git a/locales/is.po b/locales/is.po
index 3d74888..412b890 100644
--- a/locales/is.po
+++ b/locales/is.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:33-0400\n"
+"POT-Creation-Date: 2015-05-13 18:47+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Icelandic\n"
"Language: is_IS\n"
@@ -23,13 +23,13 @@ msgid "Don't Show Again"
msgstr "Ekki birta þetta aftur"
msgid "Don't show again"
-msgstr "Ekki sýna aftur"
+msgstr "Ekki birta aftur"
#, c-format
msgid "%i line of file '%s' was not loaded correctly."
msgid_plural "%i lines of file '%s' were not loaded correctly."
-msgstr[0] "%i lína úr skránni '%s' hlóðst ekki rétt inn."
-msgstr[1] "%i línur úr skránni '%s' hlóðust ekki rétt inn."
+msgstr[0] "%i lína úr skránni '%s' var ekki lesin rétt inn."
+msgstr[1] "%i línur úr skránni '%s' voru ekki lesnar rétt inn."
#, c-format
msgid "Line %d of file '%s' is corrupted (not valid %s data)."
@@ -55,15 +55,15 @@ msgstr ""
#, c-format
msgid "Couldn't load file %s, it is probably corrupted."
-msgstr "Gat ekki hlaðið inn skránni %s, hún er líklega skemmd."
+msgstr "Gat ekki lesið skrána %s, hún er líklega skemmd."
#, c-format
msgid ""
"File '%s' is read-only and cannot be saved.\n"
"Please save it under different name."
msgstr ""
-"Skráin '%s' er aðeins lesanleg og er ekki hægt að vista.\n"
-"Vistaðu hana með öðru heiti."
+"Aðeins er hægt að lesa skrá %s en ekki hægt að vista.\n"
+"Vistaðu hana undir öðru heiti."
#, c-format
msgid "Couldn't save file %s."
@@ -89,6 +89,15 @@ msgstr ""
msgid "Error saving catalog"
msgstr "Villa við vistun á þýðingaskrá"
+msgid "PO Translation Files"
+msgstr "PO þýðingaskrár"
+
+msgid "POT Translation Templates"
+msgstr "POT þýðingasniðmát"
+
+msgid "All Translation Files"
+msgstr "Allar þýðingaskrár"
+
msgid "Merging differences..."
msgstr "Samþætti mismun..."
@@ -100,7 +109,7 @@ msgid "(Use default language)"
msgstr "(Nota sjálfgefið tungumál)"
msgid "Select your preferred language"
-msgstr "Veldu aðaltungumál þitt"
+msgstr "Veldu aðaltungumálið þitt"
msgid "Language selection"
msgstr "Velja tungumál"
@@ -108,6 +117,85 @@ msgstr "Velja tungumál"
msgid "You must restart Poedit for this change to take effect."
msgstr "Þú þarft að endurræsa Poedit til að þessi breyting taki gildi."
+msgid "Downloading translations is disabled in this project."
+msgstr "Ekki er hægt að sækja þýðingar í þessu verki."
+
+msgid "Not authorized, please sign in again."
+msgstr "Ekki leyfilegt, skráðu þig aftur inn."
+
+msgid "Sign in to Crowdin"
+msgstr "Skrá inn í Crowdin"
+
+msgid ""
+"Crowdin is an online localization management platform and collaborative "
+"translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+"Crowdin is an online localization management platform and collaborative "
+"translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+
+msgid "Sign In"
+msgstr "Skrá inn"
+
+msgid "Sign in"
+msgstr "Skrá inn"
+
+msgid "Sign Out"
+msgstr "Skrá út"
+
+msgid "Sign out"
+msgstr "Skrá út"
+
+msgid "Waiting for authentication…"
+msgstr "Bíð eftir auðkenningu…"
+
+msgid "Updating user information…"
+msgstr "Uppfæri upplýsingar um notanda…"
+
+msgid "Signed in as:"
+msgstr "Skráður inn sem:"
+
+msgid "Learn More About Crowdin"
+msgstr "Læra meira um Crowdin"
+
+msgid "Learn more about Crowdin"
+msgstr "Læra meira um Crowdin"
+
+msgid "Open Crowdin translation"
+msgstr "Opna Crowdin þýðingu"
+
+msgid "Project:"
+msgstr "Verkefni:"
+
+msgid "Language:"
+msgstr "Tungumál:"
+
+msgid "File:"
+msgstr "File:"
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr "Engin þýðingarverkefni eru skráð á þínu Crowdin svæði."
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr "Þetta verkefni er ekki með neinar skrár sem hægt er að þýða í Poedit."
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr "Þessari skrá er aðeins hægt að breyta á vefsvæði Crowdin."
+
+msgid "Downloading latest translations…"
+msgstr "Næ í nýjustu þýðingar…"
+
+msgid "Syncing with Crowdin"
+msgstr "Samstilli við Crowdin"
+
+msgid "Syncing with Crowdin failed."
+msgstr "Samstilling við Crowdin mistókst."
+
+msgid "Crowdin error"
+msgstr "Crowdin villa"
+
+msgid "Uploading translations…"
+msgstr "Sendi inn þýðingar…"
+
msgid "&Copy"
msgstr "&Afrita"
@@ -154,6 +242,9 @@ msgstr ""
msgid "don't delete temporary files (for debugging)"
msgstr "ekki eyða bráðabirgðaskrám (fyrir aflúsun)"
+msgid "handle a poedit:// URI"
+msgstr "handle a poedit:// URI"
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr "Ómeðhöndlað frávik kom upp: %s"
@@ -164,12 +255,6 @@ msgstr "Ómeðhöndlað frávik kom upp."
msgid "Open catalog"
msgstr "Opna þýðingaskrá"
-msgid "All Files"
-msgstr "Allar skrár"
-
-msgid "PO Translation Files"
-msgstr "PO þýðingaskrár"
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "Skráin '%s' fannst ekki."
@@ -397,6 +482,19 @@ msgstr "Fleirtala:"
msgid "Translation:"
msgstr "Þýðing:"
+msgid ""
+"POT files are only templates and don’t contain any translations themselves.\n"
+"To make a translation, create a new PO file based on the template."
+msgstr ""
+"POT skrár eru aðeins þýðingasniðmát og innihalda engar þýðingar.\n"
+"Til að þýða verður að búa til nýja PO skrá byggða á sniðmátinu."
+
+msgid "Create New Translation"
+msgstr "Búa til nýja þýðingu"
+
+msgid "Create new translation"
+msgstr "Búa til nýja þýðingu"
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
@@ -446,9 +544,6 @@ msgstr "HTML skrár"
msgid "Open catalog template"
msgstr "Opna þýðingaskráarsniðmát"
-msgid "POT Translation Templates"
-msgstr "POT þýðingasniðmát"
-
msgid "Updating catalog"
msgstr "Uppfæri þýðingaskrá"
@@ -495,8 +590,8 @@ msgid ""
"The file was saved safely and compiled into the MO format, but it will "
"probably not work correctly."
msgstr ""
-"The file was saved safely and compiled into the MO format, but it will "
-"probably not work correctly."
+"Skráin var sannlega vistuð og vistþýdd yfir á MO-form , en mun líklega ekki "
+"virka rétt."
msgid ""
"The file was saved safely, but it cannot be compiled into the MO format and "
@@ -509,11 +604,10 @@ msgid ""
"The file was compiled into the MO format, but it will probably not work "
"correctly."
msgstr ""
-"The file was compiled into the MO format, but it will probably not work "
-"correctly."
+"Skráin var sannlega vistþýdd yfir á MO-form , en mun líklega ekki virka rétt."
msgid "The file cannot be compiled into the MO format and used."
-msgstr "The file cannot be compiled into the MO format and used."
+msgstr "Ekki er hægt að vistþýða skrána yfir á MO-form til notkunar."
msgid "No problems with the translation found."
msgstr "Engin vandamál fundust í þýðingunni."
@@ -528,18 +622,20 @@ msgstr[1] "Þýðingin er tilbúin til notkunar, en %d færslur er samt óþýdd
msgid "The translation is ready for use."
msgstr "Þýðingaminnið er tilbúið til notkunar."
-msgid "No references to this string found."
-msgstr "Engar tilvísanir í þennan streng fundust."
-
-msgid "Please choose the reference you want to show:"
-msgstr "Veldu þá tilvísun sem þú vilt sýna:"
-
-msgid "References"
-msgstr "Tilvísanir"
-
msgid "Context:"
msgstr "Samhengi:"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr ""
+
+msgid ""
+"The file contained duplicate items, which is not allowed in PO files and "
+"would prevent the file from being used. Poedit fixed the issue, but you "
+"should review translations of any items marked as fuzzy and correct them if "
+"necessary."
+msgstr ""
+
msgid "Language of the translation isn't set."
msgstr "Tungumál þýðingar er ekki stillt."
@@ -549,6 +645,23 @@ msgstr "Settu inn tungumál"
msgid "Set language"
msgstr "Veldu tungumál"
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid ""
+"Suggestions are not available if the translation language is not set "
+"correctly. Other features, such as plural forms, may be affected as well."
+msgstr ""
+"Suggestions are not available if the translation language is not set "
+"correctly. Other features, such as plural forms, may be affected as well."
+
+msgid "Language of the translation is the same as source language."
+msgstr "Tungumál þýðingar er það sama og upprunatungumálið."
+
+msgid "Fix Language"
+msgstr "Laga tungumál"
+
+msgid "Fix language"
+msgstr "Laga tungumál"
+
msgid ""
"This catalog has entries with plural forms, but doesn't have Plural-Forms "
"header configured."
@@ -583,6 +696,7 @@ msgstr "Laga hausinn"
msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr "Fleirtöluformssniðið sem notað er í þýðingaskránni er óvenjulegt í %s."
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr "Yfirfara"
@@ -604,6 +718,12 @@ msgid_plural "%d errors"
msgstr[0] "%d villa"
msgstr[1] "%d villur"
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] ""
+msgstr[1] ""
+
msgid " (unsaved)"
msgstr " (óvistað)"
@@ -667,8 +787,8 @@ msgstr "Fylla inn"
#, c-format
msgid "%d entry was filled from the translation memory."
msgid_plural "%d entries were filled from the translation memory."
-msgstr[0] "%d entry was filled from the translation memory."
-msgstr[1] "%d entries were filled from the translation memory."
+msgstr[0] "%d færsla var fyllt með samsvörun úr þýðingaminni."
+msgstr[1] "%d færslur voru fylltar með samsvörunum úr þýðingaminni."
msgid ""
"The translations were marked as fuzzy, because they may be inaccurate. You "
@@ -729,6 +849,9 @@ msgstr "Allt"
msgid "Form %i"
msgstr "Form %i"
+msgid "Singular"
+msgstr "Eintala"
+
msgid "Zero"
msgstr "Núll"
@@ -738,6 +861,9 @@ msgstr "Einn"
msgid "Two"
msgstr "Tveir"
+msgid "Plural"
+msgstr "Fleirtala"
+
msgid "Other"
msgstr "Annað"
@@ -766,6 +892,12 @@ msgstr "Fela hliðarspjald"
msgid "Show Sidebar"
msgstr "Birta hliðarspjald"
+msgid "Hide Status Bar"
+msgstr ""
+
+msgid "Show Status Bar"
+msgstr ""
+
msgid "Source text"
msgstr "Frumtexti"
@@ -775,6 +907,10 @@ msgstr "Þýðing"
msgid "ID"
msgstr "Auðkenni (ID)"
+#, c-format
+msgid "Source text — %s"
+msgstr "Frumtexti — %s"
+
msgid "unknown language"
msgstr "óþekkt tungumál"
@@ -785,57 +921,73 @@ msgstr "Þýðing — %s"
msgid "Error:"
msgstr "Villa:"
-msgid "Project info"
-msgstr "Upplýsingar um þýðingaverkefni"
+msgid "Source file"
+msgstr "Upprunaskrá"
-msgid "Project name and version:"
-msgstr "Nafn þýðingaverkefnis og útgáfunúmer:"
+msgid "Source file occurrence:"
+msgstr "Tilvik í upprunaskrá:"
-msgid "Language:"
-msgstr "Tungumál:"
+msgid "Open in Editor"
+msgstr "Opna í ritli"
-msgid "Team:"
-msgstr "Teymi:"
+msgid "Open in editor"
+msgstr "Opna í ritli"
-msgid "Team's email address:"
-msgstr "Netfang þýðingateymis:"
+msgid "No references for the selected item."
+msgstr "Engar tilvísanir í valið atriði."
-msgid "Charset:"
-msgstr "Stafasett:"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "Villa við opnun á skránni %s!"
-msgid "Source"
-msgstr "Uppruni"
+msgid "Find"
+msgstr "Finna"
-msgid "Notes"
-msgstr "Minnispunktar"
+msgid "Replace"
+msgstr "Skipta út"
-msgid "Automatic translation"
-msgstr "Sjálfvirk þýðing"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr "Valkostir"
-msgid "Fuzzy translation"
-msgstr "Óskýr þýðing"
+msgid "Ignore case"
+msgstr "Hunsa há/lágstafi"
-msgid "Notes for translators:"
-msgstr "Minnispunktar fyrir þýðendur:"
+msgid "Wrap around"
+msgstr "Umbrjóta texta"
-msgid "Comment:"
-msgstr "Athugasemd:"
+msgid "Whole words only"
+msgstr "Aðeins stök orð"
-msgid "Source file"
-msgstr "Upprunaskrá"
+msgid "Find in source texts"
+msgstr "Find in source texts"
-msgid "Source file occurrence:"
-msgstr "Tilvik í upprunaskrá:"
+msgid "Find in translations"
+msgstr "Finna í þýðingum"
-msgid "Open in Editor"
-msgstr "Opna í ritli"
+msgid "Find in comments"
+msgstr "Finna í athugasemdum"
-msgid "Open in editor"
-msgstr "Opna í ritli"
+msgid "Close"
+msgstr "Loka"
-#, c-format
-msgid "Error opening file %s!"
-msgstr "Villa við opnun á skránni %s!"
+msgid "Replace All"
+msgstr "Skipta út öllu"
+
+msgid "Replace all"
+msgstr "Skipta út öllu"
+
+msgid "< &Previous"
+msgstr "< &Fyrra"
+
+msgid "&Next >"
+msgstr "&Næsta >"
+
+msgid "String to find"
+msgstr "Finna streng"
+
+msgid "Replacement string"
+msgstr "Útskiptistrengur"
#, c-format
msgid "Cannot execute program: %s"
@@ -922,7 +1074,7 @@ msgid "Automatically compile MO file when saving"
msgstr "Vistþýða sjálfkrafa MO-skrár við vistun"
msgid "Show summary after catalog update"
-msgstr "Birta samantekt eftur uppfærslu þýðingaskráa"
+msgstr "Birta samantekt eftir uppfærslu þýðingaskráa"
msgid "Check spelling"
msgstr "Athuga stafsetningu"
@@ -973,7 +1125,7 @@ msgid "Reset"
msgstr "Endurstilla"
msgid "Consult TM when updating from sources"
-msgstr "Fletta upp í þýpingaminni við uppfærslu ú frumskrám"
+msgstr "Fletta upp í þýðingaminni við uppfærslu úr frumskrám"
msgid ""
"If enabled, Poedit will try to fill in new entries using your previous\n"
@@ -1030,8 +1182,9 @@ msgid ""
"Source code extractors are used to find translatable strings in the source "
"code files and extract them so that they can be translated."
msgstr ""
-"Source code extractors are used to find translatable strings in the source "
-"code files and extract them so that they can be translated."
+"Frumkóðaþáttarar (source code extractors) eru notaðir til að finna þýðanlega "
+"strengi inni í frumkóðaskrám og setja í nýjar skrár svo hægt sé að þýða "
+"strengina."
msgid "New"
msgstr "Nýtt"
@@ -1039,9 +1192,19 @@ msgstr "Nýtt"
msgid "Edit"
msgstr "Breyta"
+msgid "Delete extractor"
+msgstr "Eyða þáttara"
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr "Ertu viss um að þú viljir eyða “%s” þáttaranum?"
+
msgid "Extractors"
msgstr "Þáttarar"
+msgid "Accounts"
+msgstr "Aðgangar"
+
msgid "Automatically check for updates"
msgstr "Athuga sjálfvirkt með uppfærslur"
@@ -1052,8 +1215,8 @@ msgid ""
"Beta versions contain the latest new features and improvements, but may be a "
"bit less stable."
msgstr ""
-"Beta versions contain the latest new features and improvements, but may be a "
-"bit less stable."
+"Beta-útgáfur innihalda nýjustu eiginleika og bætingu á þeim sem fyrir voru, "
+"en gætu verið óstöðugri."
msgid "Updates"
msgstr "Uppfærslur"
@@ -1062,8 +1225,8 @@ msgid ""
"These settings affect internal formatting of PO files. Adjust them if you "
"have specific requirements e.g. because of version control."
msgstr ""
-"These settings affect internal formatting of PO files. Adjust them if you "
-"have specific requirements e.g. because of version control."
+"Þessar stillingar hafa áhrif á innra snið PO-skráa. Breyttu þeim ef þú hefur "
+"sértækar þarfir eins og t.d. vegna útgáfustýringar."
msgid "Line endings:"
msgstr "Línuendingar:"
@@ -1084,8 +1247,35 @@ msgstr "Vernda snið fyrirliggjandi skráa"
msgid "Advanced"
msgstr "Ítarlegt"
-msgid "Additional keywords"
-msgstr "Aukaleg stikkorð:"
+msgid ""
+"<big>Drag and Drop Folders Here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid ""
+"<big>Drag and drop folders here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid "Add Folders..."
+msgstr ""
+
+msgid "Add folders..."
+msgstr ""
+
+msgid "Add Files..."
+msgstr ""
+
+msgid "Add files..."
+msgstr ""
+
+msgid "Add Wildcard..."
+msgstr ""
+
+msgid "Add wildcard..."
+msgstr ""
msgid "Paths"
msgstr "Slóðir"
@@ -1093,6 +1283,9 @@ msgstr "Slóðir"
msgid "Excluded paths"
msgstr "Slóðir sem á að sleppa"
+msgid "Additional keywords"
+msgstr "Aukaleg stikkorð:"
+
msgid "Name of the project the translation is for"
msgstr "Heiti þýðingaverkefnis sem þýðingin er ætluð"
@@ -1107,8 +1300,11 @@ msgstr ""
"Endilega vistaðu skrána fyrst. Ekki er hægt að sýsla með þennan hluta fyrr "
"en það hefur verið gert."
+msgid "Comment:"
+msgstr "Athugasemd:"
+
msgid "OK"
-msgstr "OK"
+msgstr "Í lagi"
msgid "C&lear"
msgstr "&Hreinsa"
@@ -1116,42 +1312,6 @@ msgstr "&Hreinsa"
msgid "Clear the comment"
msgstr "Hreinsa athugasemd"
-msgid "Find..."
-msgstr "Finna..."
-
-msgid "String to find:"
-msgstr "Finna streng:"
-
-msgid "Case sensitive"
-msgstr "Næmt fyrir há og lágstöfum"
-
-msgid "Start from the first item"
-msgstr "Byrja á fyrsta atriðinu"
-
-msgid "Whole words only"
-msgstr "Aðeins stök orð"
-
-msgid "Find in original strings"
-msgstr "Finna í upprunalegum strengjum"
-
-msgid "Find in translations"
-msgstr "Finna í þýðingum"
-
-msgid "Find in comments"
-msgstr "Finna í athugasemdum"
-
-msgid "Find in automatic comments"
-msgstr "Finna í sjálfvirkum athugasemdum"
-
-msgid "Close"
-msgstr "Loka"
-
-msgid "< &Previous"
-msgstr "< &Fyrra"
-
-msgid "&Next >"
-msgstr "&Næsta >"
-
msgid "Create new translations project"
msgstr "Búa til nýtt þýðingarverkefni"
@@ -1206,6 +1366,12 @@ msgstr "&Opna..."
msgid "Open Recent"
msgstr "Opna nýlegt"
+msgid "Open from Crowdin..."
+msgstr "Opna frá Crowdin..."
+
+msgid "Open From Crowdin..."
+msgstr "Opna frá Crowdin..."
+
msgid "&Save"
msgstr "Vi&sta"
@@ -1254,14 +1420,17 @@ msgstr "&Sýna tilvísanir"
msgid "&Find..."
msgstr "&Leita..."
+msgid "Replace..."
+msgstr "Skipta út..."
+
msgid "Find next"
msgstr "Finna næsta"
msgid "Find previous"
msgstr "Finna fyrra"
-msgid "Find"
-msgstr "Finna"
+msgid "Find and Replace..."
+msgstr "Finna og skipta út..."
msgid "Find Next"
msgstr "Finna næsta"
@@ -1302,6 +1471,12 @@ msgstr "&Hópa eftir samhengi"
msgid "&Group By Context"
msgstr "&Hópa eftir samhengi"
+msgid "Entries with errors first"
+msgstr "Færslur með villum fyrst"
+
+msgid "Entries with Errors First"
+msgstr "Færslur með villum fyrst"
+
msgid "&Untranslated entries first"
msgstr "Óþýddar &færslur fyrst"
@@ -1311,6 +1486,9 @@ msgstr "Óþýddar &færslur fyrst"
msgid "Show sidebar"
msgstr "Birta hliðarspjald"
+msgid "Show status bar"
+msgstr ""
+
msgid "C&atalog"
msgstr "Þýðing&askrá"
@@ -1326,6 +1504,9 @@ msgstr "Uppfæra frá &POT skrá..."
msgid "Update from &POT File..."
msgstr "Uppfæra frá &POT skrá..."
+msgid "Sync with Crowdin"
+msgstr "Samstilla við Crowdin"
+
msgid "Fill missing translations from &TM..."
msgstr "F&ylla inn þýðingar sem vantar úr ÞM..."
@@ -1405,7 +1586,7 @@ msgid "Invocation:"
msgstr "Ræsing:"
msgid "Command to extract translations:"
-msgstr "Command to extract translations:"
+msgstr "Skipun til að ná í þýðingar:"
msgid ""
"This is the command used to launch the extractor.\n"
@@ -1440,7 +1621,7 @@ msgstr ""
"fyrir hverja inntaksskrá. %f kemur í stað skráarheitisins."
msgid "Source code charset:"
-msgstr "Stafasett frumkóða:"
+msgstr "Stafatafla frumkóða:"
#, c-format
msgid ""
@@ -1448,12 +1629,15 @@ msgid ""
"only if source codecharset was given. %c expands to charset value."
msgstr ""
"Þetta mun verða viðhengt á skipanalínu, einungis\n"
-"ef upprunastafasett hefur verið gefið upp. %c kemur í stað gildis "
-"stafasettsins."
+"ef upprunaleg stafatafla hefur verið gefið upp. %c kemur í stað gildis "
+"stafatöflunnar."
msgid "Catalog properties"
msgstr "Eiginleikar þýðingaskrár"
+msgid "Project name and version:"
+msgstr "Nafn þýðingaverkefnis og útgáfunúmer:"
+
msgid "Plural Forms:"
msgstr "Fleirtöluform:"
@@ -1466,6 +1650,15 @@ msgstr "Nota sérsniðna segð"
msgid "Learn about plural forms"
msgstr "Vita meira um fleirtöluform"
+msgid "Charset:"
+msgstr "Stafatafla:"
+
+msgid "Team:"
+msgstr "Teymi:"
+
+msgid "Team's email address:"
+msgstr "Netfang þýðingateymis:"
+
msgid "Translation properties"
msgstr "Eiginleikar þýðingar"
@@ -1538,8 +1731,8 @@ msgstr "Uppfæra þýðingaskrár - samræma við upprunaskrár"
msgid "Toggled if selected string has fuzzy translation"
msgstr "Víxlað ef valin strengur inniheldur óljósa þýðingu"
-msgid "Show or hide the sidebar."
-msgstr "Birta eða fela hliðarspjald."
+msgid "Show or hide the sidebar"
+msgstr "Birta eða fela hliðarspjald"
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
msgid "Previous source text:"
@@ -1549,8 +1742,11 @@ msgid ""
"The old source text (before it changed during an update) that the fuzzy "
"translation corresponds to."
msgstr ""
-"The old source text (before it changed during an update) that the fuzzy "
-"translation corresponds to."
+"Eldri upprunatexti (áður en hann breyttist við uppfærslu) sem óskýra "
+"þýðingin á við."
+
+msgid "Notes for translators:"
+msgstr "Minnispunktar fyrir þýðendur:"
msgid "Add comment"
msgstr "Bæta við athugasemd"
@@ -1630,9 +1826,6 @@ msgstr "Breyta þýðingu"
msgid "Open an existing PO file and edit the translation."
msgstr "Opna PO-skrá sem er til staðar og sýsla með þýðingar."
-msgid "Create new translation"
-msgstr "Búa til nýja þýðingu"
-
msgid ""
"Take an existing PO file or POT template and create a new translation from "
"it."
@@ -1640,6 +1833,17 @@ msgstr ""
"Taka PO-skrá eða POT-sniðmát sem er til staðar og búa til nýjar þýðingar út "
"frá því."
+msgid "Collaborate on a translation with Crowdin"
+msgstr "Collaborate on a translation with Crowdin"
+
+msgid ""
+"Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+"Download a file from Crowdin project, translate and sync your changes back."
+
+msgid "What is Crowdin?"
+msgstr "Hvað er Crowdin?"
+
msgid "There are no translations. That’s unusual."
msgstr "Það eru engar þýðingar. Mjög óvenjulegt."
@@ -1678,3 +1882,9 @@ msgstr "Ná í úr frumkóða"
msgid "Configure source code extraction in Properties."
msgstr "Stilla útdrátt upprunakóða í kjörstillingum."
+
+msgid "Sync"
+msgstr "Samstilla"
+
+msgid "Synchronize the translation with Crowdin"
+msgstr "Samræma þýðinguna með Crowdin"
diff --git a/locales/it.mo b/locales/it.mo
index d8cc01a..72cd2ff 100644
Binary files a/locales/it.mo and b/locales/it.mo differ
diff --git a/locales/it.po b/locales/it.po
index 01f09bd..ec150ac 100644
--- a/locales/it.po
+++ b/locales/it.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:33-0400\n"
+"POT-Creation-Date: 2015-05-13 18:47+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Italian\n"
"Language: it_IT\n"
@@ -93,6 +93,15 @@ msgstr ""
msgid "Error saving catalog"
msgstr "Errore durante il salvataggio del catalogo"
+msgid "PO Translation Files"
+msgstr "File di traduzione PO"
+
+msgid "POT Translation Templates"
+msgstr "Modelli di traduzione POT"
+
+msgid "All Translation Files"
+msgstr "Tutti i file di traduzione"
+
msgid "Merging differences..."
msgstr "Unione delle differenze..."
@@ -112,6 +121,87 @@ msgstr "Selezione della lingua"
msgid "You must restart Poedit for this change to take effect."
msgstr "Riavvia Poedit affinché questo cambiamento abbia effetto."
+msgid "Downloading translations is disabled in this project."
+msgstr "In questo progetto il download della traduzione è diabilitato."
+
+msgid "Not authorized, please sign in again."
+msgstr "Non autorizzato. Riprova."
+
+msgid "Sign in to Crowdin"
+msgstr "Accedi a Crowdin"
+
+msgid ""
+"Crowdin is an online localization management platform and collaborative "
+"translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+"Crowdin è un sistema online di gestione traduzioni di tipo collaborativo. "
+"Poedit può sincronizzare i file PO gestiti da Crowdin."
+
+msgid "Sign In"
+msgstr "Accedi"
+
+msgid "Sign in"
+msgstr "Accedi"
+
+msgid "Sign Out"
+msgstr "Disconnetti"
+
+msgid "Sign out"
+msgstr "Disconnetti"
+
+msgid "Waiting for authentication…"
+msgstr "Attesa autentificazione…"
+
+msgid "Updating user information…"
+msgstr "Aggiornamento info utente…"
+
+msgid "Signed in as:"
+msgstr "Accedi come:"
+
+msgid "Learn More About Crowdin"
+msgstr "Altre info su Crowdin"
+
+msgid "Learn more about Crowdin"
+msgstr "Altre info su Crowdin"
+
+msgid "Open Crowdin translation"
+msgstr "Apri traduzione Crowdin"
+
+msgid "Project:"
+msgstr "Progetto:"
+
+msgid "Language:"
+msgstr "Lingua:"
+
+msgid "File:"
+msgstr "File:"
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr "Nessun progetto traduzione nel tuo account Crowdin."
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr "Questo progetto non ha file che possono essere tradotti con Poedit."
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr ""
+"Questo file può essere modificato solamente tramite l'interfaccia web di "
+"Crowdin."
+
+msgid "Downloading latest translations…"
+msgstr "Download traduzione aggiornata…"
+
+msgid "Syncing with Crowdin"
+msgstr "Sincronizza con Crowdin"
+
+msgid "Syncing with Crowdin failed."
+msgstr "Sincronizzazione con Crowdin fallita."
+
+msgid "Crowdin error"
+msgstr "Errore di Crowdin"
+
+msgid "Uploading translations…"
+msgstr "Aggiorno traduzioni..."
+
msgid "&Copy"
msgstr "&Copia"
@@ -158,6 +248,9 @@ msgstr ""
msgid "don't delete temporary files (for debugging)"
msgstr "non eliminare i file temporanei (per il debug)"
+msgid "handle a poedit:// URI"
+msgstr "gestire un poedit:// URI"
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr "Si è verificata un'eccezione non gestita: %s"
@@ -168,12 +261,6 @@ msgstr "Si è verificata un'eccezione non gestita."
msgid "Open catalog"
msgstr "Apri catalogo"
-msgid "All Files"
-msgstr "Tutti i file"
-
-msgid "PO Translation Files"
-msgstr "File di traduzione PO"
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "Il file '%s' non esiste."
@@ -403,6 +490,19 @@ msgstr "Plurale:"
msgid "Translation:"
msgstr "Traduzione:"
+msgid ""
+"POT files are only templates and don’t contain any translations themselves.\n"
+"To make a translation, create a new PO file based on the template."
+msgstr ""
+"I file POT sono solo modelli e non contengono traduzioni.\n"
+"Per fare una traduzione, crea un nuovo file PO utilizzando un modello."
+
+msgid "Create New Translation"
+msgstr "Crea nuova traduzione"
+
+msgid "Create new translation"
+msgstr "Crea nuova traduzione"
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
@@ -452,9 +552,6 @@ msgstr "File HTML"
msgid "Open catalog template"
msgstr "Apri modello di catalogo"
-msgid "POT Translation Templates"
-msgstr "Modelli di traduzione POT"
-
msgid "Updating catalog"
msgstr "Aggiornamento del catalogo in corso"
@@ -540,18 +637,25 @@ msgstr[1] ""
msgid "The translation is ready for use."
msgstr "La traduzione è pronta per l'uso."
-msgid "No references to this string found."
-msgstr "Nessun riferimento trovato per la stringa."
-
-msgid "Please choose the reference you want to show:"
-msgstr "Scegli i riferimenti da visualizzare:"
-
-msgid "References"
-msgstr "Riferimenti"
-
msgid "Context:"
msgstr "Contesto:"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr ""
+"Poedit correggerà automaticamente il contenuto non valido nel file \"%s\"."
+
+msgid ""
+"The file contained duplicate items, which is not allowed in PO files and "
+"would prevent the file from being used. Poedit fixed the issue, but you "
+"should review translations of any items marked as fuzzy and correct them if "
+"necessary."
+msgstr ""
+"Il file contiene elementi duplicati, che non sono permessi nei file PO e "
+"devono essere rimossi per prevenirne l'uso. Poedit correggerà questo "
+"problema, ma dovrai rivedere le traduzioni di ogni elemento segnato come "
+"\"Da verificare\" e corregerle se necessario."
+
msgid "Language of the translation isn't set."
msgstr "Lingua traduzione non impostata"
@@ -561,6 +665,24 @@ msgstr "Imposta lingua"
msgid "Set language"
msgstr "Imposta lingua"
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid ""
+"Suggestions are not available if the translation language is not set "
+"correctly. Other features, such as plural forms, may be affected as well."
+msgstr ""
+"I suggerimenti non sono disponibili se la lingua di traduzione non è "
+"impostata correttamente. Anche altre caratteristiche, come le forme plurali, "
+"possono essere interessate."
+
+msgid "Language of the translation is the same as source language."
+msgstr "La lingua della traduzione è la stessa della lingua sorgente."
+
+msgid "Fix Language"
+msgstr "Correggi la lingua"
+
+msgid "Fix language"
+msgstr "Correggi la lingua"
+
msgid ""
"This catalog has entries with plural forms, but doesn't have Plural-Forms "
"header configured."
@@ -595,6 +717,7 @@ msgstr "Correggi l'intestazione"
msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr "Le espressione forme plurali usate dal catalogo sono inusuali per %s"
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr "Revisiona"
@@ -616,6 +739,12 @@ msgid_plural "%d errors"
msgstr[0] "%d errore"
msgstr[1] "%d errori"
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] "%d voce"
+msgstr[1] "%d voci"
+
msgid " (unsaved)"
msgstr " (non salvato)"
@@ -743,6 +872,9 @@ msgstr "Qualsiasi"
msgid "Form %i"
msgstr "Modulo %i"
+msgid "Singular"
+msgstr "Singolare"
+
msgid "Zero"
msgstr "Zero"
@@ -752,6 +884,9 @@ msgstr "Singolare"
msgid "Two"
msgstr "Due"
+msgid "Plural"
+msgstr "Plurale"
+
msgid "Other"
msgstr "Plurale"
@@ -780,6 +915,12 @@ msgstr "Nascondi barra laterale"
msgid "Show Sidebar"
msgstr "Mostra barra laterale"
+msgid "Hide Status Bar"
+msgstr "Nascondi barra di stato"
+
+msgid "Show Status Bar"
+msgstr "Visualizza barra di stato"
+
msgid "Source text"
msgstr "Testo sorgente"
@@ -789,6 +930,10 @@ msgstr "Traduzione"
msgid "ID"
msgstr "ID"
+#, c-format
+msgid "Source text — %s"
+msgstr "Testo sorgente — %s"
+
msgid "unknown language"
msgstr "lingua sconosciuta"
@@ -799,57 +944,73 @@ msgstr "Traduzione — %s"
msgid "Error:"
msgstr "Errore:"
-msgid "Project info"
-msgstr "Informazioni del progetto"
+msgid "Source file"
+msgstr "File sorgente"
-msgid "Project name and version:"
-msgstr "Nome e versione del progetto:"
+msgid "Source file occurrence:"
+msgstr "Occorrenze file sorgente:"
-msgid "Language:"
-msgstr "Lingua:"
+msgid "Open in Editor"
+msgstr "Apri nell'editor"
-msgid "Team:"
-msgstr "Squadra:"
+msgid "Open in editor"
+msgstr "Apri nell'editor"
-msgid "Team's email address:"
-msgstr "Indirizzo email della squadra:"
+msgid "No references for the selected item."
+msgstr "Non ci sono riferimenti per l'elemento selezionato."
-msgid "Charset:"
-msgstr "Set di caratteri:"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "Errore durante l'apertura del file %s!"
-msgid "Source"
-msgstr "Sorgente"
+msgid "Find"
+msgstr "Trova"
-msgid "Notes"
-msgstr "Note"
+msgid "Replace"
+msgstr "Sostituisci"
-msgid "Automatic translation"
-msgstr "Traduzione automatica"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr "Opzioni"
-msgid "Fuzzy translation"
-msgstr "Traduzione non verificata"
+msgid "Ignore case"
+msgstr "Non distinguere le maiuscole"
-msgid "Notes for translators:"
-msgstr "Note per i traduttori:"
+msgid "Wrap around"
+msgstr "Torna su se raggiungi la fine"
-msgid "Comment:"
-msgstr "Commento:"
+msgid "Whole words only"
+msgstr "Solo parole intere"
-msgid "Source file"
-msgstr "File sorgente"
+msgid "Find in source texts"
+msgstr "Trova nel testo sorgente"
-msgid "Source file occurrence:"
-msgstr "Occorrenze file sorgente:"
+msgid "Find in translations"
+msgstr "Trova nella traduzione"
-msgid "Open in Editor"
-msgstr "Apri nell'editor"
+msgid "Find in comments"
+msgstr "Trova nei commenti"
-msgid "Open in editor"
-msgstr "Apri nell'editor"
+msgid "Close"
+msgstr "Chiudi"
-#, c-format
-msgid "Error opening file %s!"
-msgstr "Errore durante l'apertura del file %s!"
+msgid "Replace All"
+msgstr "Sostituisci tutto"
+
+msgid "Replace all"
+msgstr "Sostituisci tutto"
+
+msgid "< &Previous"
+msgstr "< &Indietro"
+
+msgid "&Next >"
+msgstr "Ava&nti >"
+
+msgid "String to find"
+msgstr "Stringa da trovare"
+
+msgid "Replacement string"
+msgstr "Stringa di sostituzione"
#, c-format
msgid "Cannot execute program: %s"
@@ -965,7 +1126,7 @@ msgid "Use custom text fields font:"
msgstr "Usa un carattere personalizzato per i campi di testo:"
msgid "Change UI language"
-msgstr "Cambia la lingua dell'interfaccia"
+msgstr "Cambia lingua dell'interfaccia"
#. TRANSLATORS: This is a note appended to "Check spelling" when running on older Windows versions
msgid "(requires Windows 8 or newer)"
@@ -1055,9 +1216,19 @@ msgstr "Nuovo"
msgid "Edit"
msgstr "Modifica"
+msgid "Delete extractor"
+msgstr "Elimina estrattore"
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr "Sei sicuro di voler eliminare l'estrattore \"%s\"?"
+
msgid "Extractors"
msgstr "Estrattori"
+msgid "Accounts"
+msgstr "Account"
+
msgid "Automatically check for updates"
msgstr "Controlla automaticamente gli aggiornamenti"
@@ -1100,8 +1271,41 @@ msgstr "Preserva la formattazione dei file esistenti"
msgid "Advanced"
msgstr "Avanzate"
-msgid "Additional keywords"
-msgstr "Parole chiave aggiuntive"
+msgid ""
+"<big>Drag and Drop Folders Here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+"<big>Trascina qui le cartelle</big>\n"
+"\n"
+"o usa il pulsante +"
+
+msgid ""
+"<big>Drag and drop folders here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+"<big>Trascina qui le cartelle</big>\n"
+"\n"
+"o usa il pulsante +"
+
+msgid "Add Folders..."
+msgstr "Aggiungi cartelle..."
+
+msgid "Add folders..."
+msgstr "Aggiungi cartelle..."
+
+msgid "Add Files..."
+msgstr "Aggiungi file..."
+
+msgid "Add files..."
+msgstr "Aggiungi file..."
+
+msgid "Add Wildcard..."
+msgstr "Aggiungi caratteri jolly..."
+
+msgid "Add wildcard..."
+msgstr "Aggiungi caratteri jolly..."
msgid "Paths"
msgstr "Percorsi"
@@ -1109,6 +1313,9 @@ msgstr "Percorsi"
msgid "Excluded paths"
msgstr "Percorsi esclusi"
+msgid "Additional keywords"
+msgstr "Parole chiave aggiuntive"
+
msgid "Name of the project the translation is for"
msgstr "Nome del progetto per la traduzione"
@@ -1122,6 +1329,9 @@ msgid "Please save the file first. This section cannot be edited until then."
msgstr ""
"Salva prima il file. Questa sezione non può essere modificata fino ad allora."
+msgid "Comment:"
+msgstr "Commento:"
+
msgid "OK"
msgstr "OK"
@@ -1131,42 +1341,6 @@ msgstr "Cance&lla"
msgid "Clear the comment"
msgstr "Cancella il commento"
-msgid "Find..."
-msgstr "Trova..."
-
-msgid "String to find:"
-msgstr "Stringa da cercare:"
-
-msgid "Case sensitive"
-msgstr "Distingui MAIUSCOLE/minuscole"
-
-msgid "Start from the first item"
-msgstr "Inizia dalla prima voce"
-
-msgid "Whole words only"
-msgstr "Solo parole intere"
-
-msgid "Find in original strings"
-msgstr "Trova nelle stringhe originali"
-
-msgid "Find in translations"
-msgstr "Trova nella traduzione"
-
-msgid "Find in comments"
-msgstr "Trova nei commenti"
-
-msgid "Find in automatic comments"
-msgstr "Trova nei commenti automatici"
-
-msgid "Close"
-msgstr "Chiudi"
-
-msgid "< &Previous"
-msgstr "< &Indietro"
-
-msgid "&Next >"
-msgstr "Ava&nti >"
-
msgid "Create new translations project"
msgstr "Crea nuovo progetto di traduzione"
@@ -1221,6 +1395,12 @@ msgstr "&Apri..."
msgid "Open Recent"
msgstr "Apri recente"
+msgid "Open from Crowdin..."
+msgstr "Apri da Crowdin..."
+
+msgid "Open From Crowdin..."
+msgstr "Apri da Crowdin..."
+
msgid "&Save"
msgstr "&Salva"
@@ -1269,14 +1449,17 @@ msgstr "Mo&stra riferimenti"
msgid "&Find..."
msgstr "&Trova..."
+msgid "Replace..."
+msgstr "Sostituisci..."
+
msgid "Find next"
msgstr "Trova successivo"
msgid "Find previous"
msgstr "Trova precedente"
-msgid "Find"
-msgstr "Trova"
+msgid "Find and Replace..."
+msgstr "Trova e sostituisci..."
msgid "Find Next"
msgstr "Trova successivo"
@@ -1317,6 +1500,12 @@ msgstr "&Raggruppa per contesto"
msgid "&Group By Context"
msgstr "&Raggruppa per contesto"
+msgid "Entries with errors first"
+msgstr "Prima le voci con errori"
+
+msgid "Entries with Errors First"
+msgstr "Prima le voci con errori"
+
msgid "&Untranslated entries first"
msgstr "&Prima le voci non tradotte"
@@ -1326,6 +1515,9 @@ msgstr "&Prima voci non tradotte"
msgid "Show sidebar"
msgstr "Mostra barra laterale"
+msgid "Show status bar"
+msgstr "Visualizza barra di stato"
+
msgid "C&atalog"
msgstr "C&atalogo"
@@ -1341,6 +1533,9 @@ msgstr "Aggiorna da file &POT..."
msgid "Update from &POT File..."
msgstr "Aggiorna da file &POT..."
+msgid "Sync with Crowdin"
+msgstr "Sincronizza con Crowdin"
+
msgid "Fill missing translations from &TM..."
msgstr "Riempi traduzioni mancanti prendendole dalla M&T..."
@@ -1469,6 +1664,9 @@ msgstr ""
msgid "Catalog properties"
msgstr "Proprietà del catalogo"
+msgid "Project name and version:"
+msgstr "Nome e versione del progetto:"
+
msgid "Plural Forms:"
msgstr "Forme plurali:"
@@ -1481,6 +1679,15 @@ msgstr "Usa espressione personale"
msgid "Learn about plural forms"
msgstr "Informazioni sulle forme plurali"
+msgid "Charset:"
+msgstr "Set di caratteri:"
+
+msgid "Team:"
+msgstr "Squadra:"
+
+msgid "Team's email address:"
+msgstr "Indirizzo email della squadra:"
+
msgid "Translation properties"
msgstr "Proprietà traduzione"
@@ -1555,8 +1762,8 @@ msgid "Toggled if selected string has fuzzy translation"
msgstr ""
"Attiva/disattiva se la stringa selezionata ha una traduzione non pronta"
-msgid "Show or hide the sidebar."
-msgstr "Visualizza/nascondi la barra laterale."
+msgid "Show or hide the sidebar"
+msgstr "Visualizza/nascondi la barra laterale"
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
msgid "Previous source text:"
@@ -1569,6 +1776,9 @@ msgstr ""
"Il vecchio testo sorgente (prima di modificarlo durante un aggiornamento) "
"che corrisponde alla traduzione non verificata."
+msgid "Notes for translators:"
+msgstr "Note per i traduttori:"
+
msgid "Add comment"
msgstr "Aggiungi commento"
@@ -1647,9 +1857,6 @@ msgstr "Modifica una traduzione"
msgid "Open an existing PO file and edit the translation."
msgstr "Apri un file PO esistente e modifica la traduzione."
-msgid "Create new translation"
-msgstr "Crea nuova traduzione"
-
msgid ""
"Take an existing PO file or POT template and create a new translation from "
"it."
@@ -1657,6 +1864,18 @@ msgstr ""
"Apri un file PO o un modello POT e crea una nuova traduzione a partire da "
"esso."
+msgid "Collaborate on a translation with Crowdin"
+msgstr "Collabora a una traduzione con Crowdin"
+
+msgid ""
+"Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+"Scarica un file da un progetto Crowdin, traduci e lo sincronizza con le tue "
+"modifiche."
+
+msgid "What is Crowdin?"
+msgstr "Che cos'è Crowdin?"
+
msgid "There are no translations. That’s unusual."
msgstr "Non ci sono traduzioni, Questo è inusuale."
@@ -1698,3 +1917,9 @@ msgstr "Estrai dai sorgenti"
msgid "Configure source code extraction in Properties."
msgstr "Configura estrazione codice sorgente in Proprietà."
+
+msgid "Sync"
+msgstr "Sincronizza"
+
+msgid "Synchronize the translation with Crowdin"
+msgstr "Sincronizza la traduzione con Crowdin"
diff --git a/locales/ja.mo b/locales/ja.mo
index f6b5eed..3b40ba9 100644
Binary files a/locales/ja.mo and b/locales/ja.mo differ
diff --git a/locales/ja.po b/locales/ja.po
index fac47a1..9b42dbf 100644
--- a/locales/ja.po
+++ b/locales/ja.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:33-0400\n"
+"POT-Creation-Date: 2015-05-13 18:47+0200\n"
+"PO-Revision-Date: 2015-05-13 12:47-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Japanese\n"
"Language: ja_JP\n"
@@ -28,7 +28,7 @@ msgstr "今後表示しない"
#, c-format
msgid "%i line of file '%s' was not loaded correctly."
msgid_plural "%i lines of file '%s' were not loaded correctly."
-msgstr[0] "%i行目 (ファイル '%s') が正しく読み込めませんでした。"
+msgstr[0] "ファイル ‘%2$s' の%1$i行目が正しく読み込めませんでした。"
#, c-format
msgid "Line %d of file '%s' is corrupted (not valid %s data)."
@@ -90,6 +90,15 @@ msgstr ""
msgid "Error saving catalog"
msgstr "カタログ保存エラー"
+msgid "PO Translation Files"
+msgstr "PO 翻訳ファイル"
+
+msgid "POT Translation Templates"
+msgstr "POT 翻訳テンプレート"
+
+msgid "All Translation Files"
+msgstr "すべての翻訳ファイル"
+
msgid "Merging differences..."
msgstr "差分を統合しています…"
@@ -109,6 +118,86 @@ msgstr "言語選択"
msgid "You must restart Poedit for this change to take effect."
msgstr "変更を有効にするには Poedit を再起動してください。"
+msgid "Downloading translations is disabled in this project."
+msgstr "このプロジェクトでは、翻訳のダウンロードが無効になっています。"
+
+msgid "Not authorized, please sign in again."
+msgstr "未認証です。もう一度ログインしてください。"
+
+msgid "Sign in to Crowdin"
+msgstr "Crowdin にログイン"
+
+msgid ""
+"Crowdin is an online localization management platform and collaborative "
+"translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+"Crowdin は、オンラインのローカリゼーション管理プラットフォームであり、共同翻"
+"訳ツールです。Poedit は Crowdin で管理されている PO ファイルをシームレスに同"
+"期することができます。"
+
+msgid "Sign In"
+msgstr "ログイン"
+
+msgid "Sign in"
+msgstr "ログイン"
+
+msgid "Sign Out"
+msgstr "ログアウト"
+
+msgid "Sign out"
+msgstr "ログアウト"
+
+msgid "Waiting for authentication…"
+msgstr "認証を待機中…"
+
+msgid "Updating user information…"
+msgstr "ユーザー情報を更新しています…"
+
+msgid "Signed in as:"
+msgstr "ログイン中:"
+
+msgid "Learn More About Crowdin"
+msgstr "Crowdin について"
+
+msgid "Learn more about Crowdin"
+msgstr "Crowdin について"
+
+msgid "Open Crowdin translation"
+msgstr "Crowdin 翻訳を開く"
+
+msgid "Project:"
+msgstr "プロジェクト:"
+
+msgid "Language:"
+msgstr "言語:"
+
+msgid "File:"
+msgstr "ファイル:"
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr "あなたの Crowdin アカウントには翻訳プロジェクトが何もありません。"
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr "このプロジェクトには Poedit で翻訳できるファイルがありません。"
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr "このファイルは Crowdin の Web インターフェイスでのみ編集できます。"
+
+msgid "Downloading latest translations…"
+msgstr "最新の翻訳をダウンロード中…"
+
+msgid "Syncing with Crowdin"
+msgstr "Crowdin と同期中"
+
+msgid "Syncing with Crowdin failed."
+msgstr "Crowdin との同期に失敗しました。"
+
+msgid "Crowdin error"
+msgstr "Crowdin エラー"
+
+msgid "Uploading translations…"
+msgstr "翻訳をアップロード中…"
+
msgid "&Copy"
msgstr "コピー (&C)"
@@ -155,6 +244,9 @@ msgstr ""
msgid "don't delete temporary files (for debugging)"
msgstr "一時ファイルを削除しない (デバッグ向け)"
+msgid "handle a poedit:// URI"
+msgstr "poedit:// URI を処理"
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr "未処理例外が発生しました: %s"
@@ -165,12 +257,6 @@ msgstr "未処理例外が発生しました。"
msgid "Open catalog"
msgstr "カタログを開く"
-msgid "All Files"
-msgstr "すべてのファイル"
-
-msgid "PO Translation Files"
-msgstr "PO 翻訳ファイル"
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "ファイル ‘%s’ が見つかりません。"
@@ -398,6 +484,20 @@ msgstr "複数形:"
msgid "Translation:"
msgstr "翻訳:"
+msgid ""
+"POT files are only templates and don’t contain any translations themselves.\n"
+"To make a translation, create a new PO file based on the template."
+msgstr ""
+"POT ファイルはテンプレートのみで、それ自体に翻訳は含まれていません。 \n"
+"翻訳を行うには、このテンプレートをベースにして新しい PO ファイルを作成しま"
+"す。"
+
+msgid "Create New Translation"
+msgstr "新しい翻訳を作成"
+
+msgid "Create new translation"
+msgstr "翻訳プロジェクトを新規作成する"
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
@@ -446,9 +546,6 @@ msgstr "HTML ファイル"
msgid "Open catalog template"
msgstr "カタログの雛形を開く"
-msgid "POT Translation Templates"
-msgstr "POT 翻訳テンプレート"
-
msgid "Updating catalog"
msgstr "カタログを更新中"
@@ -526,18 +623,23 @@ msgstr[0] "この翻訳を利用できますが、%d件の項目がまだ翻訳
msgid "The translation is ready for use."
msgstr "この翻訳は使用できます。"
-msgid "No references to this string found."
-msgstr "この文字列への参照は見つかりませんでした。"
-
-msgid "Please choose the reference you want to show:"
-msgstr "表示したい参照を選択してください:"
-
-msgid "References"
-msgstr "参照"
-
msgid "Context:"
msgstr "コンテキスト:"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr "Poedit は、ファイル「%s」内の無効なコンテンツを自動的に修正しました。"
+
+msgid ""
+"The file contained duplicate items, which is not allowed in PO files and "
+"would prevent the file from being used. Poedit fixed the issue, but you "
+"should review translations of any items marked as fuzzy and correct them if "
+"necessary."
+msgstr ""
+"ファイルに重複する項目が含まれています。重複項目は PO ファイルでは許可されて"
+"おらず、ファイルの利用を妨げます。Poedit はこの問題を修正しましたが、未確定と"
+"してマークされている項目を確認し必要に応じて修正する必要があります。"
+
msgid "Language of the translation isn't set."
msgstr "翻訳の言語が設定されていません。"
@@ -547,6 +649,23 @@ msgstr "言語を設定"
msgid "Set language"
msgstr "言語を設定"
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid ""
+"Suggestions are not available if the translation language is not set "
+"correctly. Other features, such as plural forms, may be affected as well."
+msgstr ""
+"翻訳言語が正しく設定されていない場合、提案は利用できません。また、複数形など"
+"の他の機能にも影響する可能性があります。"
+
+msgid "Language of the translation is the same as source language."
+msgstr "翻訳言語がソース言語と同一です。"
+
+msgid "Fix Language"
+msgstr "言語を修正"
+
+msgid "Fix language"
+msgstr "言語を修正"
+
msgid ""
"This catalog has entries with plural forms, but doesn't have Plural-Forms "
"header configured."
@@ -582,6 +701,7 @@ msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr ""
"このカタログで使われている複数形表現は、%sの一般的なものではありません。"
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr "レビュー"
@@ -602,6 +722,11 @@ msgid "%d error"
msgid_plural "%d errors"
msgstr[0] "%d件のエラー"
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] "%d項目"
+
msgid " (unsaved)"
msgstr " (未保存)"
@@ -723,6 +848,9 @@ msgstr "すべて"
msgid "Form %i"
msgstr "形式 %i"
+msgid "Singular"
+msgstr "単数形"
+
msgid "Zero"
msgstr "0"
@@ -732,6 +860,9 @@ msgstr "1"
msgid "Two"
msgstr "2"
+msgid "Plural"
+msgstr "複数形"
+
msgid "Other"
msgstr "その他"
@@ -760,6 +891,12 @@ msgstr "サイドバーを隠す"
msgid "Show Sidebar"
msgstr "サイドバーを表示"
+msgid "Hide Status Bar"
+msgstr "ステータスバーを非表示"
+
+msgid "Show Status Bar"
+msgstr "ステータスバーを表示"
+
msgid "Source text"
msgstr "ソーステキスト"
@@ -769,6 +906,10 @@ msgstr "対訳"
msgid "ID"
msgstr "ID"
+#, c-format
+msgid "Source text — %s"
+msgstr "ソース テキスト — %s"
+
msgid "unknown language"
msgstr "不明な言語"
@@ -779,57 +920,73 @@ msgstr "翻訳 — %s"
msgid "Error:"
msgstr "エラー:"
-msgid "Project info"
-msgstr "情報"
+msgid "Source file"
+msgstr "ソースファイル"
-msgid "Project name and version:"
-msgstr "プロジェクト名とバージョン:"
+msgid "Source file occurrence:"
+msgstr "ソースファイルでの出現:"
-msgid "Language:"
-msgstr "言語:"
+msgid "Open in Editor"
+msgstr "エディターで開く"
-msgid "Team:"
-msgstr "翻訳チーム:"
+msgid "Open in editor"
+msgstr "エディターで開く"
-msgid "Team's email address:"
-msgstr "翻訳チームのメールアドレス:"
+msgid "No references for the selected item."
+msgstr "選択項目の参照情報はありません。"
-msgid "Charset:"
-msgstr "文字符号化法:"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "ファイル %s を開く際にエラーが発生しました。"
-msgid "Source"
-msgstr "ソース"
+msgid "Find"
+msgstr "検索"
-msgid "Notes"
-msgstr "注記"
+msgid "Replace"
+msgstr "置き換え"
-msgid "Automatic translation"
-msgstr "自動翻訳"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr "設定"
-msgid "Fuzzy translation"
-msgstr "未確定翻訳"
+msgid "Ignore case"
+msgstr "大文字小文字を無視"
-msgid "Notes for translators:"
-msgstr "翻訳者への注記:"
+msgid "Wrap around"
+msgstr "回り込み"
-msgid "Comment:"
-msgstr "コメント:"
+msgid "Whole words only"
+msgstr "空白等で区切られた単語だけを探す"
-msgid "Source file"
-msgstr "ソースファイル"
+msgid "Find in source texts"
+msgstr "ソース テキストを検索"
-msgid "Source file occurrence:"
-msgstr "ソースファイルでの出現:"
+msgid "Find in translations"
+msgstr "翻訳された文字列を検索対象に含める"
-msgid "Open in Editor"
-msgstr "エディターで開く"
+msgid "Find in comments"
+msgstr "コメントを検索対象に含める"
-msgid "Open in editor"
-msgstr "エディターで開く"
+msgid "Close"
+msgstr "閉じる"
-#, c-format
-msgid "Error opening file %s!"
-msgstr "ファイル %s を開く際にエラーが発生しました。"
+msgid "Replace All"
+msgstr "すべて置換"
+
+msgid "Replace all"
+msgstr "すべて置換"
+
+msgid "< &Previous"
+msgstr "< 前へ (&P)"
+
+msgid "&Next >"
+msgstr "次へ > (&N)"
+
+msgid "String to find"
+msgstr "検索する文字列"
+
+msgid "Replacement string"
+msgstr "置換文字列"
#, c-format
msgid "Cannot execute program: %s"
@@ -1031,9 +1188,19 @@ msgstr "新規"
msgid "Edit"
msgstr "編集"
+msgid "Delete extractor"
+msgstr "抽出ツールを削除"
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr "本当に「%s」抽出ツールを削除してもよいですか ?"
+
msgid "Extractors"
msgstr "抽出ツール"
+msgid "Accounts"
+msgstr "アカウント"
+
msgid "Automatically check for updates"
msgstr "自動的に更新を確認"
@@ -1076,8 +1243,41 @@ msgstr "既存ファイルのフォーマットを保護する"
msgid "Advanced"
msgstr "上級者モード"
-msgid "Additional keywords"
-msgstr "追加キーワード"
+msgid ""
+"<big>Drag and Drop Folders Here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+"<big>フォルダーをここにドラッグアンドドロップ</big>\n"
+"\n"
+"または [+] ボタンを使ってください。"
+
+msgid ""
+"<big>Drag and drop folders here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+"<big>フォルダーをここにドラッグアンドドロップ</big>\n"
+"\n"
+"または [+] ボタンを使ってください。"
+
+msgid "Add Folders..."
+msgstr "フォルダーを追加…"
+
+msgid "Add folders..."
+msgstr "フォルダーを追加…"
+
+msgid "Add Files..."
+msgstr "ファイルを追加…"
+
+msgid "Add files..."
+msgstr "ファイルを追加…"
+
+msgid "Add Wildcard..."
+msgstr "ワイルドカードを追加…"
+
+msgid "Add wildcard..."
+msgstr "ワイルドカードを追加…"
msgid "Paths"
msgstr "パス"
@@ -1085,6 +1285,9 @@ msgstr "パス"
msgid "Excluded paths"
msgstr "除外するパス"
+msgid "Additional keywords"
+msgstr "追加キーワード"
+
msgid "Name of the project the translation is for"
msgstr "翻訳するプロジェクトの名称"
@@ -1098,6 +1301,9 @@ msgid "Please save the file first. This section cannot be edited until then."
msgstr ""
"まずファイルを保存してください。保存するまでこのセクションは編集できません。"
+msgid "Comment:"
+msgstr "コメント:"
+
msgid "OK"
msgstr "OK"
@@ -1107,42 +1313,6 @@ msgstr "クリア(&L)"
msgid "Clear the comment"
msgstr "コメントのクリア"
-msgid "Find..."
-msgstr "検索…"
-
-msgid "String to find:"
-msgstr "検索する文字列:"
-
-msgid "Case sensitive"
-msgstr "大小文字を区別する"
-
-msgid "Start from the first item"
-msgstr "最初の項目から順に検索する"
-
-msgid "Whole words only"
-msgstr "空白等で区切られた単語だけを探す"
-
-msgid "Find in original strings"
-msgstr "原文を検索対象に含める"
-
-msgid "Find in translations"
-msgstr "翻訳された文字列を検索対象に含める"
-
-msgid "Find in comments"
-msgstr "コメントを検索対象に含める"
-
-msgid "Find in automatic comments"
-msgstr "自動コメントを検索対象に含める"
-
-msgid "Close"
-msgstr "閉じる"
-
-msgid "< &Previous"
-msgstr "< 前へ (&P)"
-
-msgid "&Next >"
-msgstr "次へ > (&N)"
-
msgid "Create new translations project"
msgstr "翻訳プロジェクトを作成する"
@@ -1197,6 +1367,12 @@ msgstr "開く… (&O)"
msgid "Open Recent"
msgstr "最近のファイルを開く"
+msgid "Open from Crowdin..."
+msgstr "Crowdin から開く…"
+
+msgid "Open From Crowdin..."
+msgstr "Crowdin から開く…"
+
msgid "&Save"
msgstr "保存 (&S)"
@@ -1245,14 +1421,17 @@ msgstr "参照画面の表示 (&S)"
msgid "&Find..."
msgstr "検索… (&F)"
+msgid "Replace..."
+msgstr "置換…"
+
msgid "Find next"
msgstr "次を検索"
msgid "Find previous"
msgstr "前を検索"
-msgid "Find"
-msgstr "検索"
+msgid "Find and Replace..."
+msgstr "検索・置換"
msgid "Find Next"
msgstr "次を検索"
@@ -1293,6 +1472,12 @@ msgstr "コンテクストでグループ化 (&G)"
msgid "&Group By Context"
msgstr "コンテクストでグループ化 (&G)"
+msgid "Entries with errors first"
+msgstr "エラーのある項目を先頭に表示"
+
+msgid "Entries with Errors First"
+msgstr "エラーのある項目を先頭に表示"
+
msgid "&Untranslated entries first"
msgstr "未訳の項目を先頭に (&U)"
@@ -1302,6 +1487,9 @@ msgstr "未訳の項目を先頭に (&U)"
msgid "Show sidebar"
msgstr "サイドバーを表示"
+msgid "Show status bar"
+msgstr "ステータスバーを表示"
+
msgid "C&atalog"
msgstr "カタログ(&A)"
@@ -1317,6 +1505,9 @@ msgstr "POT ファイルから更新… (&P)"
msgid "Update from &POT File..."
msgstr "POT ファイルから更新… (&P)"
+msgid "Sync with Crowdin"
+msgstr "Crowdin と同期"
+
msgid "Fill missing translations from &TM..."
msgstr "翻訳メモリを使って未翻訳項目を埋める… (&T)"
@@ -1444,6 +1635,9 @@ msgstr ""
msgid "Catalog properties"
msgstr "カタログの設定"
+msgid "Project name and version:"
+msgstr "プロジェクト名とバージョン:"
+
msgid "Plural Forms:"
msgstr "複数形:"
@@ -1456,6 +1650,15 @@ msgstr "カスタム表現を使用"
msgid "Learn about plural forms"
msgstr "複数形とは"
+msgid "Charset:"
+msgstr "文字符号化法:"
+
+msgid "Team:"
+msgstr "翻訳チーム:"
+
+msgid "Team's email address:"
+msgstr "翻訳チームのメールアドレス:"
+
msgid "Translation properties"
msgstr "翻訳の設定"
@@ -1529,7 +1732,7 @@ msgstr "カタログの更新 - ソースと同期させる"
msgid "Toggled if selected string has fuzzy translation"
msgstr "選択した文字列に未確定翻訳がある場合は切り替えられます"
-msgid "Show or hide the sidebar."
+msgid "Show or hide the sidebar"
msgstr "サイドバーを表示・非表示にする。"
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
@@ -1541,6 +1744,9 @@ msgid ""
"translation corresponds to."
msgstr "未確定翻訳が対応する、更新で変更される前の旧ソーステキスト。"
+msgid "Notes for translators:"
+msgstr "翻訳者への注記:"
+
msgid "Add comment"
msgstr "コメントを追加"
@@ -1619,15 +1825,24 @@ msgstr "翻訳を編集"
msgid "Open an existing PO file and edit the translation."
msgstr "既存の PO ファイルを開いて翻訳を編集する。"
-msgid "Create new translation"
-msgstr "翻訳プロジェクトを新規作成する"
-
msgid ""
"Take an existing PO file or POT template and create a new translation from "
"it."
msgstr ""
"既存の PO または POT テンプレートから新しい翻訳プロジェクトを作成する。"
+msgid "Collaborate on a translation with Crowdin"
+msgstr "Crowdin で翻訳の共同作業をする"
+
+msgid ""
+"Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+"Crowdin プロジェクトからファイルをダウンロードし、翻訳した後に変更内容を同期"
+"します。"
+
+msgid "What is Crowdin?"
+msgstr "Crowdin とは ?"
+
msgid "There are no translations. That’s unusual."
msgstr "翻訳が存在しません。何かがおかしいようです。"
@@ -1665,3 +1880,9 @@ msgstr "ソースから抽出"
msgid "Configure source code extraction in Properties."
msgstr "設定画面でソースコード抽出を設定できます。"
+
+msgid "Sync"
+msgstr "同期"
+
+msgid "Synchronize the translation with Crowdin"
+msgstr "Crowdin と翻訳を同期する"
diff --git a/locales/ka.mo b/locales/ka.mo
index 39ede40..bd4c925 100644
Binary files a/locales/ka.mo and b/locales/ka.mo differ
diff --git a/locales/ka.po b/locales/ka.po
index 0a3ba34..aa7bc22 100644
--- a/locales/ka.po
+++ b/locales/ka.po
@@ -2,15 +2,15 @@ msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:33-0400\n"
+"POT-Creation-Date: 2015-05-13 18:47+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Georgian\n"
"Language: ka_GE\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=1; plural=0;\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: crowdin.com\n"
"X-Crowdin-Project: poedit\n"
"X-Crowdin-Language: ka\n"
@@ -29,6 +29,7 @@ msgstr "ეს შეტყობინება მეტი აღარ მ
msgid "%i line of file '%s' was not loaded correctly."
msgid_plural "%i lines of file '%s' were not loaded correctly."
msgstr[0] ""
+msgstr[1] ""
#, c-format
msgid "Line %d of file '%s' is corrupted (not valid %s data)."
@@ -89,6 +90,15 @@ msgstr ""
msgid "Error saving catalog"
msgstr "შეცდომა კატალოგის დამახსოვრებისას"
+msgid "PO Translation Files"
+msgstr ""
+
+msgid "POT Translation Templates"
+msgstr ""
+
+msgid "All Translation Files"
+msgstr ""
+
msgid "Merging differences..."
msgstr "მიმდინარეობს ცვლილებების შეთავსება..."
@@ -108,6 +118,83 @@ msgstr "ენების ამორჩევა"
msgid "You must restart Poedit for this change to take effect."
msgstr "ამ ცვლილების გასააქტიურებლად Poedit თავიდან უნდა გამოიძახოთ."
+msgid "Downloading translations is disabled in this project."
+msgstr ""
+
+msgid "Not authorized, please sign in again."
+msgstr ""
+
+msgid "Sign in to Crowdin"
+msgstr ""
+
+msgid ""
+"Crowdin is an online localization management platform and collaborative "
+"translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+
+msgid "Sign In"
+msgstr ""
+
+msgid "Sign in"
+msgstr ""
+
+msgid "Sign Out"
+msgstr ""
+
+msgid "Sign out"
+msgstr ""
+
+msgid "Waiting for authentication…"
+msgstr ""
+
+msgid "Updating user information…"
+msgstr ""
+
+msgid "Signed in as:"
+msgstr ""
+
+msgid "Learn More About Crowdin"
+msgstr ""
+
+msgid "Learn more about Crowdin"
+msgstr ""
+
+msgid "Open Crowdin translation"
+msgstr ""
+
+msgid "Project:"
+msgstr ""
+
+msgid "Language:"
+msgstr "ენა:"
+
+msgid "File:"
+msgstr ""
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr ""
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr ""
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr ""
+
+msgid "Downloading latest translations…"
+msgstr ""
+
+msgid "Syncing with Crowdin"
+msgstr ""
+
+msgid "Syncing with Crowdin failed."
+msgstr ""
+
+msgid "Crowdin error"
+msgstr ""
+
+msgid "Uploading translations…"
+msgstr ""
+
msgid "&Copy"
msgstr ""
@@ -152,6 +239,9 @@ msgstr ""
msgid "don't delete temporary files (for debugging)"
msgstr "დროებითი ფაილების შენარჩუნება (დიაგნოსტიკის მიზნი)"
+msgid "handle a poedit:// URI"
+msgstr ""
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr ""
@@ -162,12 +252,6 @@ msgstr ""
msgid "Open catalog"
msgstr "კატალოგის გახსნა"
-msgid "All Files"
-msgstr ""
-
-msgid "PO Translation Files"
-msgstr ""
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "ფაილი ’%s’ არ არსებობს."
@@ -397,6 +481,17 @@ msgstr "მრავლობითში:"
msgid "Translation:"
msgstr "თარგმანი:"
+msgid ""
+"POT files are only templates and don’t contain any translations themselves.\n"
+"To make a translation, create a new PO file based on the template."
+msgstr ""
+
+msgid "Create New Translation"
+msgstr ""
+
+msgid "Create new translation"
+msgstr ""
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
@@ -444,9 +539,6 @@ msgstr ""
msgid "Open catalog template"
msgstr "კატალოგის შაბლონის გახსნა"
-msgid "POT Translation Templates"
-msgstr ""
-
msgid "Updating catalog"
msgstr "კატალოგის განახლება"
@@ -473,6 +565,7 @@ msgstr ""
msgid "%d issue with the translation found."
msgid_plural "%d issues with the translation found."
msgstr[0] "თარგმანთან დაკავშირებით წარმოიშვა %d შეფერხება."
+msgstr[1] "თარგმანთან დაკავშირებით წარმოიშვა %d შეფერხება."
msgid "Validation results"
msgstr "ვალიდაციის შედეგები"
@@ -515,22 +608,25 @@ msgid "The translation is ready for use, but %d entry is not translated yet."
msgid_plural ""
"The translation is ready for use, but %d entries are not translated yet."
msgstr[0] ""
+msgstr[1] ""
msgid "The translation is ready for use."
msgstr "თარგმანი გამოსაყენებლად მზად არის."
-msgid "No references to this string found."
-msgstr "ამ სტრიქონზე ვერაფერი მოვიძიე."
-
-msgid "Please choose the reference you want to show:"
-msgstr "გთხოვთ ამოირჩიეთ დახმარება, რომლის ნახვაც გნებავთ"
-
-msgid "References"
-msgstr "დახმარებები"
-
msgid "Context:"
msgstr "კონტექსტი:"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr ""
+
+msgid ""
+"The file contained duplicate items, which is not allowed in PO files and "
+"would prevent the file from being used. Poedit fixed the issue, but you "
+"should review translations of any items marked as fuzzy and correct them if "
+"necessary."
+msgstr ""
+
msgid "Language of the translation isn't set."
msgstr ""
@@ -540,6 +636,21 @@ msgstr ""
msgid "Set language"
msgstr ""
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid ""
+"Suggestions are not available if the translation language is not set "
+"correctly. Other features, such as plural forms, may be affected as well."
+msgstr ""
+
+msgid "Language of the translation is the same as source language."
+msgstr ""
+
+msgid "Fix Language"
+msgstr ""
+
+msgid "Fix language"
+msgstr ""
+
msgid ""
"This catalog has entries with plural forms, but doesn't have Plural-Forms "
"header configured."
@@ -576,6 +687,7 @@ msgstr "ჰედერის გამოსწორება"
msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr ""
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr ""
@@ -595,6 +707,13 @@ msgstr ""
msgid "%d error"
msgid_plural "%d errors"
msgstr[0] ""
+msgstr[1] ""
+
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] ""
+msgstr[1] ""
msgid " (unsaved)"
msgstr ""
@@ -656,6 +775,7 @@ msgstr ""
msgid "%d entry was filled from the translation memory."
msgid_plural "%d entries were filled from the translation memory."
msgstr[0] ""
+msgstr[1] ""
msgid ""
"The translations were marked as fuzzy, because they may be inaccurate. You "
@@ -681,6 +801,7 @@ msgstr ""
msgid "Translated %u string"
msgid_plural "Translated %u strings"
msgstr[0] ""
+msgstr[1] ""
msgid "Copy from source text"
msgstr "საწყისი ტექსტიდან კოპირება"
@@ -710,6 +831,9 @@ msgstr ""
msgid "Form %i"
msgstr "%i-დან"
+msgid "Singular"
+msgstr ""
+
msgid "Zero"
msgstr ""
@@ -719,6 +843,9 @@ msgstr ""
msgid "Two"
msgstr ""
+msgid "Plural"
+msgstr ""
+
msgid "Other"
msgstr ""
@@ -747,6 +874,12 @@ msgstr ""
msgid "Show Sidebar"
msgstr ""
+msgid "Hide Status Bar"
+msgstr ""
+
+msgid "Show Status Bar"
+msgstr ""
+
msgid "Source text"
msgstr "წყაროს ტექსტი:"
@@ -756,6 +889,10 @@ msgstr "თარგმანი"
msgid "ID"
msgstr ""
+#, c-format
+msgid "Source text — %s"
+msgstr ""
+
msgid "unknown language"
msgstr ""
@@ -766,57 +903,73 @@ msgstr ""
msgid "Error:"
msgstr "შეცდომა:"
-msgid "Project info"
-msgstr "ინფორმაცია პროექტზე"
+msgid "Source file"
+msgstr "საწყისი ფაილი"
-msgid "Project name and version:"
-msgstr "პროექტის სახელი და ვერსია:"
+msgid "Source file occurrence:"
+msgstr "წყაროს ფაილი:"
-msgid "Language:"
-msgstr "ენა:"
+msgid "Open in Editor"
+msgstr ""
-msgid "Team:"
-msgstr "ჯგუფი:"
+msgid "Open in editor"
+msgstr ""
-msgid "Team's email address:"
-msgstr "ჯგუფის ელფოსტა:"
+msgid "No references for the selected item."
+msgstr ""
-msgid "Charset:"
-msgstr "კოდირება:"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "შეცდომა %s ფაილის გამოძახებისას!"
-msgid "Source"
-msgstr "წყარო"
+msgid "Find"
+msgstr ""
-msgid "Notes"
-msgstr "შენიშვნები"
+msgid "Replace"
+msgstr ""
-msgid "Automatic translation"
-msgstr "ავტომატური თარგმანი:"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr ""
-msgid "Fuzzy translation"
-msgstr "გაუმართავი თარგმანი"
+msgid "Ignore case"
+msgstr ""
-msgid "Notes for translators:"
-msgstr "შენიშვნები მთარგმნელთათვის:"
+msgid "Wrap around"
+msgstr ""
-msgid "Comment:"
-msgstr "შენიშვნები:"
+msgid "Whole words only"
+msgstr "მხოლოდ მთლიანი სიტყვები"
-msgid "Source file"
-msgstr "საწყისი ფაილი"
+msgid "Find in source texts"
+msgstr ""
-msgid "Source file occurrence:"
-msgstr "წყაროს ფაილი:"
+msgid "Find in translations"
+msgstr ""
-msgid "Open in Editor"
+msgid "Find in comments"
+msgstr "შენიშვნებში ძიება"
+
+msgid "Close"
+msgstr "დაკეტვა"
+
+msgid "Replace All"
msgstr ""
-msgid "Open in editor"
+msgid "Replace all"
msgstr ""
-#, c-format
-msgid "Error opening file %s!"
-msgstr "შეცდომა %s ფაილის გამოძახებისას!"
+msgid "< &Previous"
+msgstr ""
+
+msgid "&Next >"
+msgstr ""
+
+msgid "String to find"
+msgstr ""
+
+msgid "Replacement string"
+msgstr ""
#, c-format
msgid "Cannot execute program: %s"
@@ -1010,9 +1163,19 @@ msgstr "ახალი"
msgid "Edit"
msgstr "დამუშავება"
+msgid "Delete extractor"
+msgstr ""
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr ""
+
msgid "Extractors"
msgstr ""
+msgid "Accounts"
+msgstr ""
+
msgid "Automatically check for updates"
msgstr ""
@@ -1051,7 +1214,34 @@ msgstr ""
msgid "Advanced"
msgstr ""
-msgid "Additional keywords"
+msgid ""
+"<big>Drag and Drop Folders Here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid ""
+"<big>Drag and drop folders here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid "Add Folders..."
+msgstr ""
+
+msgid "Add folders..."
+msgstr ""
+
+msgid "Add Files..."
+msgstr ""
+
+msgid "Add files..."
+msgstr ""
+
+msgid "Add Wildcard..."
+msgstr ""
+
+msgid "Add wildcard..."
msgstr ""
msgid "Paths"
@@ -1060,6 +1250,9 @@ msgstr "მდებარეობები"
msgid "Excluded paths"
msgstr ""
+msgid "Additional keywords"
+msgstr ""
+
msgid "Name of the project the translation is for"
msgstr ""
@@ -1072,6 +1265,9 @@ msgstr "UTF-8 (რეკომენდირებულია)"
msgid "Please save the file first. This section cannot be edited until then."
msgstr ""
+msgid "Comment:"
+msgstr "შენიშვნები:"
+
msgid "OK"
msgstr "კარგი"
@@ -1081,42 +1277,6 @@ msgstr "გა&წმენდა"
msgid "Clear the comment"
msgstr "დოკუმენტის გაწმენდა"
-msgid "Find..."
-msgstr "იპოვე..."
-
-msgid "String to find:"
-msgstr "საძიებელი ტექსტი:"
-
-msgid "Case sensitive"
-msgstr "განასხვავე დიდი/პატარა ასოები"
-
-msgid "Start from the first item"
-msgstr "პირველი ელემენტიდან დაწყება"
-
-msgid "Whole words only"
-msgstr "მხოლოდ მთლიანი სიტყვები"
-
-msgid "Find in original strings"
-msgstr "იპოვე საწყის/სათარგმნელ ტექსტებში"
-
-msgid "Find in translations"
-msgstr ""
-
-msgid "Find in comments"
-msgstr "შენიშვნებში ძიება"
-
-msgid "Find in automatic comments"
-msgstr "იპოვე ავტომატურ შენიშვნებში"
-
-msgid "Close"
-msgstr "დაკეტვა"
-
-msgid "< &Previous"
-msgstr ""
-
-msgid "&Next >"
-msgstr ""
-
msgid "Create new translations project"
msgstr "შექმენი ახალი სათარგმი პროექტი"
@@ -1171,6 +1331,12 @@ msgstr "გ&ახსნა..."
msgid "Open Recent"
msgstr ""
+msgid "Open from Crowdin..."
+msgstr ""
+
+msgid "Open From Crowdin..."
+msgstr ""
+
msgid "&Save"
msgstr "შ&ენახვა"
@@ -1219,13 +1385,16 @@ msgstr "&მითითებების ჩვენება"
msgid "&Find..."
msgstr "&იპოვე..."
+msgid "Replace..."
+msgstr ""
+
msgid "Find next"
msgstr ""
msgid "Find previous"
msgstr ""
-msgid "Find"
+msgid "Find and Replace..."
msgstr ""
msgid "Find Next"
@@ -1267,6 +1436,12 @@ msgstr ""
msgid "&Group By Context"
msgstr ""
+msgid "Entries with errors first"
+msgstr ""
+
+msgid "Entries with Errors First"
+msgstr ""
+
msgid "&Untranslated entries first"
msgstr "&ჯერ უთარგმნელი შენატანები"
@@ -1276,6 +1451,9 @@ msgstr "&ჯერ უთარგმნელი შენატანები
msgid "Show sidebar"
msgstr ""
+msgid "Show status bar"
+msgstr ""
+
msgid "C&atalog"
msgstr "კ&ატალოგი"
@@ -1291,6 +1469,9 @@ msgstr "განაახლე &POT ფაილიდან..."
msgid "Update from &POT File..."
msgstr "&POT ფაილიდან განახლება..."
+msgid "Sync with Crowdin"
+msgstr ""
+
msgid "Fill missing translations from &TM..."
msgstr ""
@@ -1415,6 +1596,9 @@ msgstr ""
msgid "Catalog properties"
msgstr "კატალოგის თვისებები"
+msgid "Project name and version:"
+msgstr "პროექტის სახელი და ვერსია:"
+
msgid "Plural Forms:"
msgstr "მრავლობითი ფორმები:"
@@ -1427,6 +1611,15 @@ msgstr ""
msgid "Learn about plural forms"
msgstr "დამატებითი ინფორმაცია მრავლობითის ფორმებთან დაკავშირებით"
+msgid "Charset:"
+msgstr "კოდირება:"
+
+msgid "Team:"
+msgstr "ჯგუფი:"
+
+msgid "Team's email address:"
+msgstr "ჯგუფის ელფოსტა:"
+
msgid "Translation properties"
msgstr ""
@@ -1499,7 +1692,7 @@ msgstr "კატალოგის განახლება - წყარ
msgid "Toggled if selected string has fuzzy translation"
msgstr "შეანაცვლე ამორჩეული თარგმანის ’გაუმართავი’ სტატუსი"
-msgid "Show or hide the sidebar."
+msgid "Show or hide the sidebar"
msgstr ""
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
@@ -1511,6 +1704,9 @@ msgid ""
"translation corresponds to."
msgstr ""
+msgid "Notes for translators:"
+msgstr "შენიშვნები მთარგმნელთათვის:"
+
msgid "Add comment"
msgstr ""
@@ -1583,14 +1779,21 @@ msgstr ""
msgid "Open an existing PO file and edit the translation."
msgstr ""
-msgid "Create new translation"
-msgstr ""
-
msgid ""
"Take an existing PO file or POT template and create a new translation from "
"it."
msgstr ""
+msgid "Collaborate on a translation with Crowdin"
+msgstr ""
+
+msgid ""
+"Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+
+msgid "What is Crowdin?"
+msgstr ""
+
msgid "There are no translations. That’s unusual."
msgstr ""
@@ -1623,3 +1826,9 @@ msgstr ""
msgid "Configure source code extraction in Properties."
msgstr ""
+
+msgid "Sync"
+msgstr ""
+
+msgid "Synchronize the translation with Crowdin"
+msgstr ""
diff --git a/locales/kk.mo b/locales/kk.mo
index fc1a871..bb1488c 100644
Binary files a/locales/kk.mo and b/locales/kk.mo differ
diff --git a/locales/kk.po b/locales/kk.po
index d98759d..f935be6 100644
--- a/locales/kk.po
+++ b/locales/kk.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:33-0400\n"
+"POT-Creation-Date: 2015-05-13 18:47+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Kazakh\n"
"Language: kk_KZ\n"
@@ -87,6 +87,15 @@ msgstr ""
msgid "Error saving catalog"
msgstr "Каталогты сақтау қатесі"
+msgid "PO Translation Files"
+msgstr ""
+
+msgid "POT Translation Templates"
+msgstr ""
+
+msgid "All Translation Files"
+msgstr ""
+
msgid "Merging differences..."
msgstr "Өзгерістерді біріктіру..."
@@ -106,6 +115,83 @@ msgstr "Тілді таңдау"
msgid "You must restart Poedit for this change to take effect."
msgstr "Өзгерістерді іске асыру үшін Poedit-ті қайта іске қосыңыз."
+msgid "Downloading translations is disabled in this project."
+msgstr ""
+
+msgid "Not authorized, please sign in again."
+msgstr ""
+
+msgid "Sign in to Crowdin"
+msgstr ""
+
+msgid ""
+"Crowdin is an online localization management platform and collaborative "
+"translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+
+msgid "Sign In"
+msgstr ""
+
+msgid "Sign in"
+msgstr ""
+
+msgid "Sign Out"
+msgstr ""
+
+msgid "Sign out"
+msgstr ""
+
+msgid "Waiting for authentication…"
+msgstr ""
+
+msgid "Updating user information…"
+msgstr ""
+
+msgid "Signed in as:"
+msgstr ""
+
+msgid "Learn More About Crowdin"
+msgstr ""
+
+msgid "Learn more about Crowdin"
+msgstr ""
+
+msgid "Open Crowdin translation"
+msgstr ""
+
+msgid "Project:"
+msgstr ""
+
+msgid "Language:"
+msgstr "Тіл:"
+
+msgid "File:"
+msgstr ""
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr ""
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr ""
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr ""
+
+msgid "Downloading latest translations…"
+msgstr ""
+
+msgid "Syncing with Crowdin"
+msgstr ""
+
+msgid "Syncing with Crowdin failed."
+msgstr ""
+
+msgid "Crowdin error"
+msgstr ""
+
+msgid "Uploading translations…"
+msgstr ""
+
msgid "&Copy"
msgstr ""
@@ -150,6 +236,9 @@ msgstr ""
msgid "don't delete temporary files (for debugging)"
msgstr "уақытша файлдарды өшірмеу (жөндеу режимі үшін пайдалы)"
+msgid "handle a poedit:// URI"
+msgstr ""
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr ""
@@ -160,12 +249,6 @@ msgstr ""
msgid "Open catalog"
msgstr "Каталогты ашу"
-msgid "All Files"
-msgstr "Барлық файлдар"
-
-msgid "PO Translation Files"
-msgstr ""
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "'%s' файлы жоқ болып тұр."
@@ -393,6 +476,17 @@ msgstr "Көпше түрі:"
msgid "Translation:"
msgstr "Аударма:"
+msgid ""
+"POT files are only templates and don’t contain any translations themselves.\n"
+"To make a translation, create a new PO file based on the template."
+msgstr ""
+
+msgid "Create New Translation"
+msgstr ""
+
+msgid "Create new translation"
+msgstr ""
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
@@ -440,9 +534,6 @@ msgstr ""
msgid "Open catalog template"
msgstr "Каталог шаблонын ашу"
-msgid "POT Translation Templates"
-msgstr ""
-
msgid "Updating catalog"
msgstr "Каталогты жаңарту"
@@ -513,18 +604,20 @@ msgstr[0] ""
msgid "The translation is ready for use."
msgstr "Аударма қолдануға дайын."
-msgid "No references to this string found."
-msgstr "Бұл жолға сілтеулер табылмады."
-
-msgid "Please choose the reference you want to show:"
-msgstr "Көрсету керек байланысты тандаңыз:"
-
-msgid "References"
-msgstr "Сілтеулер"
-
msgid "Context:"
msgstr "Контекст:"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr ""
+
+msgid ""
+"The file contained duplicate items, which is not allowed in PO files and "
+"would prevent the file from being used. Poedit fixed the issue, but you "
+"should review translations of any items marked as fuzzy and correct them if "
+"necessary."
+msgstr ""
+
msgid "Language of the translation isn't set."
msgstr ""
@@ -534,6 +627,21 @@ msgstr ""
msgid "Set language"
msgstr ""
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid ""
+"Suggestions are not available if the translation language is not set "
+"correctly. Other features, such as plural forms, may be affected as well."
+msgstr ""
+
+msgid "Language of the translation is the same as source language."
+msgstr ""
+
+msgid "Fix Language"
+msgstr ""
+
+msgid "Fix language"
+msgstr ""
+
msgid ""
"This catalog has entries with plural forms, but doesn't have Plural-Forms "
"header configured."
@@ -568,6 +676,7 @@ msgstr "Өрісті дұрыстау"
msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr ""
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr ""
@@ -588,6 +697,11 @@ msgid "%d error"
msgid_plural "%d errors"
msgstr[0] ""
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] ""
+
msgid " (unsaved)"
msgstr ""
@@ -701,6 +815,9 @@ msgstr ""
msgid "Form %i"
msgstr "Пішім %i"
+msgid "Singular"
+msgstr ""
+
msgid "Zero"
msgstr ""
@@ -710,6 +827,9 @@ msgstr ""
msgid "Two"
msgstr ""
+msgid "Plural"
+msgstr ""
+
msgid "Other"
msgstr ""
@@ -738,6 +858,12 @@ msgstr ""
msgid "Show Sidebar"
msgstr ""
+msgid "Hide Status Bar"
+msgstr ""
+
+msgid "Show Status Bar"
+msgstr ""
+
msgid "Source text"
msgstr "Бастапқы код мәтіні"
@@ -747,6 +873,10 @@ msgstr "Аударма"
msgid "ID"
msgstr ""
+#, c-format
+msgid "Source text — %s"
+msgstr ""
+
msgid "unknown language"
msgstr ""
@@ -757,57 +887,73 @@ msgstr ""
msgid "Error:"
msgstr "Қате:"
-msgid "Project info"
-msgstr "Жоба ақпараты"
+msgid "Source file"
+msgstr "Бастапқы код файлы"
-msgid "Project name and version:"
-msgstr "Жоба аты мен нұсқасы:"
+msgid "Source file occurrence:"
+msgstr "Бастапқы код файлында кездесу:"
-msgid "Language:"
-msgstr "Тіл:"
+msgid "Open in Editor"
+msgstr ""
-msgid "Team:"
-msgstr "Топ:"
+msgid "Open in editor"
+msgstr ""
-msgid "Team's email address:"
-msgstr "Топтың эл. пошта адресі:"
+msgid "No references for the selected item."
+msgstr ""
-msgid "Charset:"
-msgstr "Кодтауы:"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "%s файлын ашу қатемен аяқталды!"
+
+msgid "Find"
+msgstr ""
+
+msgid "Replace"
+msgstr ""
-msgid "Source"
-msgstr "Қайнар көзі"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr ""
-msgid "Notes"
-msgstr "Белгілер"
+msgid "Ignore case"
+msgstr ""
-msgid "Automatic translation"
-msgstr "Автоаудару"
+msgid "Wrap around"
+msgstr ""
-msgid "Fuzzy translation"
-msgstr "Дәлсіз аударма"
+msgid "Whole words only"
+msgstr "Тек толық сөздер"
-msgid "Notes for translators:"
-msgstr "Аудармашылар үшін ескертулер:"
+msgid "Find in source texts"
+msgstr ""
-msgid "Comment:"
-msgstr "Түсіндірме:"
+msgid "Find in translations"
+msgstr ""
-msgid "Source file"
-msgstr "Бастапқы код файлы"
+msgid "Find in comments"
+msgstr "Түсіндірмелер ішінен іздеу"
-msgid "Source file occurrence:"
-msgstr "Бастапқы код файлында кездесу:"
+msgid "Close"
+msgstr "Жабу"
-msgid "Open in Editor"
+msgid "Replace All"
msgstr ""
-msgid "Open in editor"
+msgid "Replace all"
msgstr ""
-#, c-format
-msgid "Error opening file %s!"
-msgstr "%s файлын ашу қатемен аяқталды!"
+msgid "< &Previous"
+msgstr ""
+
+msgid "&Next >"
+msgstr ""
+
+msgid "String to find"
+msgstr ""
+
+msgid "Replacement string"
+msgstr ""
#, c-format
msgid "Cannot execute program: %s"
@@ -1000,9 +1146,19 @@ msgstr "Жаңа"
msgid "Edit"
msgstr "Түзету"
+msgid "Delete extractor"
+msgstr ""
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr ""
+
msgid "Extractors"
msgstr ""
+msgid "Accounts"
+msgstr ""
+
msgid "Automatically check for updates"
msgstr ""
@@ -1041,7 +1197,34 @@ msgstr ""
msgid "Advanced"
msgstr ""
-msgid "Additional keywords"
+msgid ""
+"<big>Drag and Drop Folders Here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid ""
+"<big>Drag and drop folders here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid "Add Folders..."
+msgstr ""
+
+msgid "Add folders..."
+msgstr ""
+
+msgid "Add Files..."
+msgstr ""
+
+msgid "Add files..."
+msgstr ""
+
+msgid "Add Wildcard..."
+msgstr ""
+
+msgid "Add wildcard..."
msgstr ""
msgid "Paths"
@@ -1050,6 +1233,9 @@ msgstr "Жолдар"
msgid "Excluded paths"
msgstr ""
+msgid "Additional keywords"
+msgstr ""
+
msgid "Name of the project the translation is for"
msgstr ""
@@ -1062,6 +1248,9 @@ msgstr "UTF-8 (ұсынылады)"
msgid "Please save the file first. This section cannot be edited until then."
msgstr ""
+msgid "Comment:"
+msgstr "Түсіндірме:"
+
msgid "OK"
msgstr "ОК"
@@ -1071,42 +1260,6 @@ msgstr "Та&зарту"
msgid "Clear the comment"
msgstr "Түсіндірмені өшіру"
-msgid "Find..."
-msgstr "Іздеу..."
-
-msgid "String to find:"
-msgstr "Ізделінетін жол:"
-
-msgid "Case sensitive"
-msgstr "Регистрге сезімтал"
-
-msgid "Start from the first item"
-msgstr "Бірінші элементтен бастау"
-
-msgid "Whole words only"
-msgstr "Тек толық сөздер"
-
-msgid "Find in original strings"
-msgstr "Бастапқы жолдар ішінен іздеу"
-
-msgid "Find in translations"
-msgstr ""
-
-msgid "Find in comments"
-msgstr "Түсіндірмелер ішінен іздеу"
-
-msgid "Find in automatic comments"
-msgstr "Авто түсіндірмелер ішінен іздеу"
-
-msgid "Close"
-msgstr "Жабу"
-
-msgid "< &Previous"
-msgstr ""
-
-msgid "&Next >"
-msgstr ""
-
msgid "Create new translations project"
msgstr "Жаңа аудармалар жобасын жасау"
@@ -1161,6 +1314,12 @@ msgstr "А&шу..."
msgid "Open Recent"
msgstr ""
+msgid "Open from Crowdin..."
+msgstr ""
+
+msgid "Open From Crowdin..."
+msgstr ""
+
msgid "&Save"
msgstr "&Сақтау"
@@ -1209,13 +1368,16 @@ msgstr "Ба&йланыстарды көрсету"
msgid "&Find..."
msgstr "І&здеу..."
+msgid "Replace..."
+msgstr ""
+
msgid "Find next"
msgstr ""
msgid "Find previous"
msgstr ""
-msgid "Find"
+msgid "Find and Replace..."
msgstr ""
msgid "Find Next"
@@ -1257,6 +1419,12 @@ msgstr ""
msgid "&Group By Context"
msgstr ""
+msgid "Entries with errors first"
+msgstr ""
+
+msgid "Entries with Errors First"
+msgstr ""
+
msgid "&Untranslated entries first"
msgstr "Алд&ымен аударылмаған нәрселер "
@@ -1266,6 +1434,9 @@ msgstr "Алд&ымен аударылмаған нәрселер "
msgid "Show sidebar"
msgstr ""
+msgid "Show status bar"
+msgstr ""
+
msgid "C&atalog"
msgstr "К&аталог"
@@ -1281,6 +1452,9 @@ msgstr "POT &файлынан жаңарту..."
msgid "Update from &POT File..."
msgstr "POT &файлынан жаңарту..."
+msgid "Sync with Crowdin"
+msgstr ""
+
msgid "Fill missing translations from &TM..."
msgstr ""
@@ -1404,6 +1578,9 @@ msgstr ""
msgid "Catalog properties"
msgstr "Каталог қасиеттері"
+msgid "Project name and version:"
+msgstr "Жоба аты мен нұсқасы:"
+
msgid "Plural Forms:"
msgstr "Көпше түрлері:"
@@ -1416,6 +1593,15 @@ msgstr ""
msgid "Learn about plural forms"
msgstr "Көпше түрлері жөнінде білу"
+msgid "Charset:"
+msgstr "Кодтауы:"
+
+msgid "Team:"
+msgstr "Топ:"
+
+msgid "Team's email address:"
+msgstr "Топтың эл. пошта адресі:"
+
msgid "Translation properties"
msgstr ""
@@ -1488,7 +1674,7 @@ msgstr "Каталогты жаңарту - бастапқы кодтармен
msgid "Toggled if selected string has fuzzy translation"
msgstr "Тандалған жол аудармасы дәл/дәлсіздігін көрсетуін ауыстырады."
-msgid "Show or hide the sidebar."
+msgid "Show or hide the sidebar"
msgstr ""
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
@@ -1500,6 +1686,9 @@ msgid ""
"translation corresponds to."
msgstr ""
+msgid "Notes for translators:"
+msgstr "Аудармашылар үшін ескертулер:"
+
msgid "Add comment"
msgstr ""
@@ -1572,14 +1761,21 @@ msgstr ""
msgid "Open an existing PO file and edit the translation."
msgstr ""
-msgid "Create new translation"
-msgstr ""
-
msgid ""
"Take an existing PO file or POT template and create a new translation from "
"it."
msgstr ""
+msgid "Collaborate on a translation with Crowdin"
+msgstr ""
+
+msgid ""
+"Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+
+msgid "What is Crowdin?"
+msgstr ""
+
msgid "There are no translations. That’s unusual."
msgstr ""
@@ -1612,3 +1808,9 @@ msgstr ""
msgid "Configure source code extraction in Properties."
msgstr ""
+
+msgid "Sync"
+msgstr ""
+
+msgid "Synchronize the translation with Crowdin"
+msgstr ""
diff --git a/locales/ko.mo b/locales/ko.mo
index cb59cdf..9a9af25 100644
Binary files a/locales/ko.mo and b/locales/ko.mo differ
diff --git a/locales/ko.po b/locales/ko.po
index 24d9e92..1a7418f 100644
--- a/locales/ko.po
+++ b/locales/ko.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:33-0400\n"
+"POT-Creation-Date: 2015-05-13 18:47+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Korean\n"
"Language: ko_KR\n"
@@ -88,6 +88,15 @@ msgstr ""
msgid "Error saving catalog"
msgstr "카탈로그 저장 오류"
+msgid "PO Translation Files"
+msgstr "PO 번역 파일"
+
+msgid "POT Translation Templates"
+msgstr "POT 번역 양식"
+
+msgid "All Translation Files"
+msgstr "모든 번역 파일"
+
msgid "Merging differences..."
msgstr "차이점 병합..."
@@ -107,6 +116,85 @@ msgstr "언어 선택"
msgid "You must restart Poedit for this change to take effect."
msgstr "바뀐 내용을 반영하려면 Poedit를 다시 시작해야 합니다."
+msgid "Downloading translations is disabled in this project."
+msgstr "이 프로젝트에서는 번역 다운로드를 사용할 수 없습니다."
+
+msgid "Not authorized, please sign in again."
+msgstr "인증하지 않았습니다. 다시 로그인하십시오."
+
+msgid "Sign in to Crowdin"
+msgstr "클라우드인에 접속"
+
+msgid ""
+"Crowdin is an online localization management platform and collaborative "
+"translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+"클라우드인은 온라인 번역 관리 플랫폼이며 협력을 기반으로 한 번역 도구입니다. "
+"PoEdit는 클라우드인에서 po 파일을 감쪽같이 동기화할 수 있습니다."
+
+msgid "Sign In"
+msgstr "접속"
+
+msgid "Sign in"
+msgstr "접속"
+
+msgid "Sign Out"
+msgstr "접속 끊기"
+
+msgid "Sign out"
+msgstr "접속 끊기"
+
+msgid "Waiting for authentication…"
+msgstr "인증 대기 중..."
+
+msgid "Updating user information…"
+msgstr "사용자 정보 업데이트 중..."
+
+msgid "Signed in as:"
+msgstr "다음 이름으로 로그인 함:"
+
+msgid "Learn More About Crowdin"
+msgstr "클라우드인 더 알아보기"
+
+msgid "Learn more about Crowdin"
+msgstr "클라우드인 더 알아보기"
+
+msgid "Open Crowdin translation"
+msgstr "클라우드인 번역 열기"
+
+msgid "Project:"
+msgstr "프로젝트:"
+
+msgid "Language:"
+msgstr "언어:"
+
+msgid "File:"
+msgstr "파일:"
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr "클라우드인 계정에 번역 프로젝트가 없습니다."
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr "이 프로젝트에는 PoEdit로 편집할 수 있는 파일이 없습니다."
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr "이 파일은 클라우드인 웹 인터페이스에서만 편집할 수 있습니다."
+
+msgid "Downloading latest translations…"
+msgstr "최신 번역 다운로드 중..."
+
+msgid "Syncing with Crowdin"
+msgstr "클라우드인과 동기화 중"
+
+msgid "Syncing with Crowdin failed."
+msgstr "클라우드인과 동기화에 실패했습니다."
+
+msgid "Crowdin error"
+msgstr "클라우드인 오류"
+
+msgid "Uploading translations…"
+msgstr "번역 업데이트 중..."
+
msgid "&Copy"
msgstr "복사(&C)"
@@ -153,6 +241,9 @@ msgstr ""
msgid "don't delete temporary files (for debugging)"
msgstr "(디버깅을 위해) 임시 파일을 지우지 않음"
+msgid "handle a poedit:// URI"
+msgstr "poedit:// URI 처리"
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr "처리하지 못한 오류 발생: %s"
@@ -163,12 +254,6 @@ msgstr "처리하지 못한 오류가 발생했습니다."
msgid "Open catalog"
msgstr "카탈로그 열기"
-msgid "All Files"
-msgstr "모든 파일"
-
-msgid "PO Translation Files"
-msgstr "PO 번역 파일"
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "'%s' 파일이 존재하지 않습니다."
@@ -396,6 +481,19 @@ msgstr "복수 문장:"
msgid "Translation:"
msgstr "번역:"
+msgid ""
+"POT files are only templates and don’t contain any translations themselves.\n"
+"To make a translation, create a new PO file based on the template."
+msgstr ""
+"POT 파일은 양식일 뿐이며 어떤 번역 내용도 들어있지 않습니다.\n"
+"번역하려면, 이 양식을 기반으로 새 PO 파일을 만드십시오."
+
+msgid "Create New Translation"
+msgstr "새 번역 만들기"
+
+msgid "Create new translation"
+msgstr "새 번역 만들기"
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
@@ -443,9 +541,6 @@ msgstr "HTML 파일"
msgid "Open catalog template"
msgstr "카탈로그 양식 열기"
-msgid "POT Translation Templates"
-msgstr "POT 번역 양식"
-
msgid "Updating catalog"
msgstr "카탈로그 업데이트 중"
@@ -519,18 +614,20 @@ msgstr[0] "번역을 사용할 준비가 되지만, 아직 항목 %d개를 번
msgid "The translation is ready for use."
msgstr "번역을 사용할 준비가 되었습니다."
-msgid "No references to this string found."
-msgstr "이 문자열의 참조가 없습니다."
-
-msgid "Please choose the reference you want to show:"
-msgstr "보기 원하는 참조를 선택하십시오:"
-
-msgid "References"
-msgstr "참조"
-
msgid "Context:"
msgstr "문맥:"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr ""
+
+msgid ""
+"The file contained duplicate items, which is not allowed in PO files and "
+"would prevent the file from being used. Poedit fixed the issue, but you "
+"should review translations of any items marked as fuzzy and correct them if "
+"necessary."
+msgstr ""
+
msgid "Language of the translation isn't set."
msgstr "번역 언어를 설정하지 않았습니다."
@@ -540,6 +637,23 @@ msgstr "언어 설정"
msgid "Set language"
msgstr "언어 설정"
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid ""
+"Suggestions are not available if the translation language is not set "
+"correctly. Other features, such as plural forms, may be affected as well."
+msgstr ""
+"번역 언어를 올바르게 선택하지 않으면 제안 기능을 사용할 수 없습니다. 서수와 "
+"같은 기능도 마찬가지로 영향을 받을 수 있습니다."
+
+msgid "Language of the translation is the same as source language."
+msgstr "번역 언어가 원본 언어와 같습니다."
+
+msgid "Fix Language"
+msgstr "언어 수정"
+
+msgid "Fix language"
+msgstr "언어 수정"
+
msgid ""
"This catalog has entries with plural forms, but doesn't have Plural-Forms "
"header configured."
@@ -574,6 +688,7 @@ msgstr "헤더 수정"
msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr "카탈로그에서 사용하는 서수 형식 표현식은 %s에 대해 드뭅니다."
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr "검토"
@@ -594,6 +709,11 @@ msgid "%d error"
msgid_plural "%d errors"
msgstr[0] "오류 %d개"
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] ""
+
msgid " (unsaved)"
msgstr " (저장하지 않음)"
@@ -716,6 +836,9 @@ msgstr "모두"
msgid "Form %i"
msgstr "%i번 양식"
+msgid "Singular"
+msgstr "단수"
+
msgid "Zero"
msgstr "영"
@@ -725,6 +848,9 @@ msgstr "하나"
msgid "Two"
msgstr "둘"
+msgid "Plural"
+msgstr "복수"
+
msgid "Other"
msgstr "기타"
@@ -753,6 +879,12 @@ msgstr "가장자리 표시줄 숨김"
msgid "Show Sidebar"
msgstr "가장자리 표시줄 표시"
+msgid "Hide Status Bar"
+msgstr ""
+
+msgid "Show Status Bar"
+msgstr ""
+
msgid "Source text"
msgstr "소스 텍스트"
@@ -762,6 +894,10 @@ msgstr "번역"
msgid "ID"
msgstr "ID"
+#, c-format
+msgid "Source text — %s"
+msgstr "원본 단어 — %s"
+
msgid "unknown language"
msgstr "알 수 없는 언어"
@@ -772,57 +908,73 @@ msgstr "번역 — %s"
msgid "Error:"
msgstr "오류:"
-msgid "Project info"
-msgstr "프로젝트 정보"
+msgid "Source file"
+msgstr "소스 파일"
-msgid "Project name and version:"
-msgstr "프로젝트 이름과 버전:"
+msgid "Source file occurrence:"
+msgstr "소스 파일 발견 횟수:"
-msgid "Language:"
-msgstr "언어:"
+msgid "Open in Editor"
+msgstr "편집기에서 열기"
-msgid "Team:"
-msgstr "팀:"
+msgid "Open in editor"
+msgstr "편집기에서 열기"
-msgid "Team's email address:"
-msgstr "팀 전자메일:"
+msgid "No references for the selected item."
+msgstr "선택한 항목의 참조가 없습니다"
-msgid "Charset:"
-msgstr "문자세트:"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "%s 파일을 여는 중 오류!"
-msgid "Source"
-msgstr "소스"
+msgid "Find"
+msgstr "찾기"
-msgid "Notes"
-msgstr "노트"
+msgid "Replace"
+msgstr "바꾸기"
-msgid "Automatic translation"
-msgstr "자동 번역"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr "옵션"
-msgid "Fuzzy translation"
-msgstr "모호한 번역"
+msgid "Ignore case"
+msgstr "대소문자 무시"
-msgid "Notes for translators:"
-msgstr "번역 참고:"
+msgid "Wrap around"
+msgstr "자동 줄 바꾸기"
-msgid "Comment:"
-msgstr "주석:"
+msgid "Whole words only"
+msgstr "단어 단위로 검색"
-msgid "Source file"
-msgstr "소스 파일"
+msgid "Find in source texts"
+msgstr "원본 문자열에서 찾기"
-msgid "Source file occurrence:"
-msgstr "소스 파일 발견 횟수:"
+msgid "Find in translations"
+msgstr "번역에서 찾기"
-msgid "Open in Editor"
-msgstr "편집기에서 열기"
+msgid "Find in comments"
+msgstr "주석에서 찾기"
-msgid "Open in editor"
-msgstr "편집기에서 열기"
+msgid "Close"
+msgstr "닫기"
-#, c-format
-msgid "Error opening file %s!"
-msgstr "%s 파일을 여는 중 오류!"
+msgid "Replace All"
+msgstr "모두 바꾸기"
+
+msgid "Replace all"
+msgstr "모두 바꾸기"
+
+msgid "< &Previous"
+msgstr "< 이전(&P)"
+
+msgid "&Next >"
+msgstr "다음(&N) >"
+
+msgid "String to find"
+msgstr "찾을 문자열"
+
+msgid "Replacement string"
+msgstr "바꿀 문자열"
#, c-format
msgid "Cannot execute program: %s"
@@ -1024,9 +1176,19 @@ msgstr "새 파일"
msgid "Edit"
msgstr "편집"
+msgid "Delete extractor"
+msgstr "추출 프로그램 삭제"
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr "정말로 “%s” 추출 프로그램을 삭제하시겠습니까?"
+
msgid "Extractors"
msgstr "추출 프로그램"
+msgid "Accounts"
+msgstr "계정"
+
msgid "Automatically check for updates"
msgstr "업데이트 자동 확인"
@@ -1068,8 +1230,35 @@ msgstr "기존 파일 서식 유지"
msgid "Advanced"
msgstr "고급"
-msgid "Additional keywords"
-msgstr "추가 키워드"
+msgid ""
+"<big>Drag and Drop Folders Here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid ""
+"<big>Drag and drop folders here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid "Add Folders..."
+msgstr ""
+
+msgid "Add folders..."
+msgstr ""
+
+msgid "Add Files..."
+msgstr ""
+
+msgid "Add files..."
+msgstr ""
+
+msgid "Add Wildcard..."
+msgstr ""
+
+msgid "Add wildcard..."
+msgstr ""
msgid "Paths"
msgstr "경로"
@@ -1077,6 +1266,9 @@ msgstr "경로"
msgid "Excluded paths"
msgstr "제외 경로"
+msgid "Additional keywords"
+msgstr "추가 키워드"
+
msgid "Name of the project the translation is for"
msgstr "번역에 대한 프로젝트 이름"
@@ -1089,6 +1281,9 @@ msgstr "UTF-8(추천)"
msgid "Please save the file first. This section cannot be edited until then."
msgstr "먼저 파일을 저장하십시오. 그 전까지는 이 섹션을 편집할 수 없습니다."
+msgid "Comment:"
+msgstr "주석:"
+
msgid "OK"
msgstr "확인"
@@ -1098,42 +1293,6 @@ msgstr "지우기(&L)"
msgid "Clear the comment"
msgstr "주석 지우기"
-msgid "Find..."
-msgstr "찾기..."
-
-msgid "String to find:"
-msgstr "찾을 문자열:"
-
-msgid "Case sensitive"
-msgstr "대소문자 구별"
-
-msgid "Start from the first item"
-msgstr "처음부터 찾기"
-
-msgid "Whole words only"
-msgstr "단어 단위로 검색"
-
-msgid "Find in original strings"
-msgstr "원문에서 찾기"
-
-msgid "Find in translations"
-msgstr "번역에서 찾기"
-
-msgid "Find in comments"
-msgstr "주석에서 찾기"
-
-msgid "Find in automatic comments"
-msgstr "자동 주석에서 찾기"
-
-msgid "Close"
-msgstr "닫기"
-
-msgid "< &Previous"
-msgstr "< 이전(&P)"
-
-msgid "&Next >"
-msgstr "다음(&N) >"
-
msgid "Create new translations project"
msgstr "새 번역 프로젝트 만들기"
@@ -1188,6 +1347,12 @@ msgstr "열기(&O)..."
msgid "Open Recent"
msgstr "최근 파일 열기"
+msgid "Open from Crowdin..."
+msgstr "클라우드인에서 열기..."
+
+msgid "Open From Crowdin..."
+msgstr "클라우드인에서 열기..."
+
msgid "&Save"
msgstr "저장(&S)"
@@ -1236,14 +1401,17 @@ msgstr "참조 보기(&S)"
msgid "&Find..."
msgstr "찾기(&F)..."
+msgid "Replace..."
+msgstr "바꾸기..."
+
msgid "Find next"
msgstr "다음 찾기"
msgid "Find previous"
msgstr "이전 찾기"
-msgid "Find"
-msgstr "찾기"
+msgid "Find and Replace..."
+msgstr "찾아 바꾸기"
msgid "Find Next"
msgstr "다음 찾기"
@@ -1284,6 +1452,12 @@ msgstr "상태별 모음(&G)"
msgid "&Group By Context"
msgstr "상태별 모음(&G)"
+msgid "Entries with errors first"
+msgstr "오류 항목을 우선 표시"
+
+msgid "Entries with Errors First"
+msgstr "오류 항목을 우선 표시"
+
msgid "&Untranslated entries first"
msgstr "번역하지 않은 항목 먼저(&U)"
@@ -1293,6 +1467,9 @@ msgstr "번역하지 않은 항목 먼저(&U)"
msgid "Show sidebar"
msgstr "가장자리 표시줄 표시"
+msgid "Show status bar"
+msgstr ""
+
msgid "C&atalog"
msgstr "카탈로그(&A)"
@@ -1308,6 +1485,9 @@ msgstr "POT 파일로 업데이트(&P)..."
msgid "Update from &POT File..."
msgstr "POT 파일로 업데이트(&P)..."
+msgid "Sync with Crowdin"
+msgstr "클라우드인과 동기화"
+
msgid "Fill missing translations from &TM..."
msgstr "번역 기억장소의 내용으로 빠진 번역 채우기(&T)..."
@@ -1435,6 +1615,9 @@ msgstr ""
msgid "Catalog properties"
msgstr "카탈로그 속성"
+msgid "Project name and version:"
+msgstr "프로젝트 이름과 버전:"
+
msgid "Plural Forms:"
msgstr "문장내 복수 표시 형식:"
@@ -1447,6 +1630,15 @@ msgstr "사용자 정의 표현식 사용"
msgid "Learn about plural forms"
msgstr "서수 형식에 대해 알아보기"
+msgid "Charset:"
+msgstr "문자세트:"
+
+msgid "Team:"
+msgstr "팀:"
+
+msgid "Team's email address:"
+msgstr "팀 전자메일:"
+
msgid "Translation properties"
msgstr "번역 속성"
@@ -1519,8 +1711,8 @@ msgstr "카탈로그 업데이트 - 소스와 동기화합니다"
msgid "Toggled if selected string has fuzzy translation"
msgstr "선택한 문자열이 모호한 번역상태면 전환됩니다."
-msgid "Show or hide the sidebar."
-msgstr "가장자리 표시줄을 표시하거나 숨깁니다."
+msgid "Show or hide the sidebar"
+msgstr "가장자리 표시줄을 표시하거나 숨깁니다"
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
msgid "Previous source text:"
@@ -1532,6 +1724,9 @@ msgid ""
msgstr ""
"모호한 번역이 채워진 각각의 오래된 원본 텍스트(업데이트하여 바뀌기 전)입니다."
+msgid "Notes for translators:"
+msgstr "번역 참고:"
+
msgid "Add comment"
msgstr "주석 추가"
@@ -1610,14 +1805,23 @@ msgstr "번역 편집"
msgid "Open an existing PO file and edit the translation."
msgstr "기존 PO 파일을 열고 번역을 편집합니다."
-msgid "Create new translation"
-msgstr "새 번역 만들기"
-
msgid ""
"Take an existing PO file or POT template and create a new translation from "
"it."
msgstr "기존 PO 파일 또는 POT 양식을 취하여 새 번역을 만듭니다."
+msgid "Collaborate on a translation with Crowdin"
+msgstr "클라우드인에서 번역 협업 진행"
+
+msgid ""
+"Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+"클라우드인 프로젝트에서 파일을 다운로드하여 번역하고, 동기화하여 파일을 되돌"
+"려 보냅니다."
+
+msgid "What is Crowdin?"
+msgstr "클라우드인이 무엇인가요?"
+
msgid "There are no translations. That’s unusual."
msgstr "번역이 없습니다. 흔한 일이 아닙니다."
@@ -1654,3 +1858,9 @@ msgstr "소스에서 가져오기"
msgid "Configure source code extraction in Properties."
msgstr "속성에서 소스 코드 추출을 설정합니다."
+
+msgid "Sync"
+msgstr "동기화"
+
+msgid "Synchronize the translation with Crowdin"
+msgstr "클라우드인과 번역 동기화"
diff --git a/locales/ku.mo b/locales/ku.mo
index d916650..7b48d18 100644
Binary files a/locales/ku.mo and b/locales/ku.mo differ
diff --git a/locales/ku.po b/locales/ku.po
index e6ea5ed..160aef8 100644
--- a/locales/ku.po
+++ b/locales/ku.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:33-0400\n"
+"POT-Creation-Date: 2015-05-13 18:47+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Kurdish\n"
"Language: ku_TR\n"
@@ -80,6 +80,15 @@ msgstr ""
msgid "Error saving catalog"
msgstr ""
+msgid "PO Translation Files"
+msgstr ""
+
+msgid "POT Translation Templates"
+msgstr ""
+
+msgid "All Translation Files"
+msgstr ""
+
msgid "Merging differences..."
msgstr ""
@@ -99,6 +108,83 @@ msgstr "Hilbijartina zimanî"
msgid "You must restart Poedit for this change to take effect."
msgstr ""
+msgid "Downloading translations is disabled in this project."
+msgstr ""
+
+msgid "Not authorized, please sign in again."
+msgstr ""
+
+msgid "Sign in to Crowdin"
+msgstr ""
+
+msgid ""
+"Crowdin is an online localization management platform and collaborative "
+"translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+
+msgid "Sign In"
+msgstr ""
+
+msgid "Sign in"
+msgstr ""
+
+msgid "Sign Out"
+msgstr ""
+
+msgid "Sign out"
+msgstr ""
+
+msgid "Waiting for authentication…"
+msgstr ""
+
+msgid "Updating user information…"
+msgstr ""
+
+msgid "Signed in as:"
+msgstr ""
+
+msgid "Learn More About Crowdin"
+msgstr ""
+
+msgid "Learn more about Crowdin"
+msgstr ""
+
+msgid "Open Crowdin translation"
+msgstr ""
+
+msgid "Project:"
+msgstr ""
+
+msgid "Language:"
+msgstr "Ziman:"
+
+msgid "File:"
+msgstr ""
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr ""
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr ""
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr ""
+
+msgid "Downloading latest translations…"
+msgstr ""
+
+msgid "Syncing with Crowdin"
+msgstr ""
+
+msgid "Syncing with Crowdin failed."
+msgstr ""
+
+msgid "Crowdin error"
+msgstr ""
+
+msgid "Uploading translations…"
+msgstr ""
+
msgid "&Copy"
msgstr ""
@@ -143,6 +229,9 @@ msgstr ""
msgid "don't delete temporary files (for debugging)"
msgstr ""
+msgid "handle a poedit:// URI"
+msgstr ""
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr ""
@@ -153,12 +242,6 @@ msgstr ""
msgid "Open catalog"
msgstr "Katalogê veke"
-msgid "All Files"
-msgstr ""
-
-msgid "PO Translation Files"
-msgstr ""
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "Dosyaya '%s' tune."
@@ -386,6 +469,17 @@ msgstr ""
msgid "Translation:"
msgstr ""
+msgid ""
+"POT files are only templates and don’t contain any translations themselves.\n"
+"To make a translation, create a new PO file based on the template."
+msgstr ""
+
+msgid "Create New Translation"
+msgstr ""
+
+msgid "Create new translation"
+msgstr ""
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
@@ -433,9 +527,6 @@ msgstr ""
msgid "Open catalog template"
msgstr "Şablona katalogê veke"
-msgid "POT Translation Templates"
-msgstr ""
-
msgid "Updating catalog"
msgstr ""
@@ -504,16 +595,18 @@ msgstr[1] ""
msgid "The translation is ready for use."
msgstr ""
-msgid "No references to this string found."
+msgid "Context:"
msgstr ""
-msgid "Please choose the reference you want to show:"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
msgstr ""
-msgid "References"
-msgstr "Referans"
-
-msgid "Context:"
+msgid ""
+"The file contained duplicate items, which is not allowed in PO files and "
+"would prevent the file from being used. Poedit fixed the issue, but you "
+"should review translations of any items marked as fuzzy and correct them if "
+"necessary."
msgstr ""
msgid "Language of the translation isn't set."
@@ -525,6 +618,21 @@ msgstr ""
msgid "Set language"
msgstr ""
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid ""
+"Suggestions are not available if the translation language is not set "
+"correctly. Other features, such as plural forms, may be affected as well."
+msgstr ""
+
+msgid "Language of the translation is the same as source language."
+msgstr ""
+
+msgid "Fix Language"
+msgstr ""
+
+msgid "Fix language"
+msgstr ""
+
msgid ""
"This catalog has entries with plural forms, but doesn't have Plural-Forms "
"header configured."
@@ -555,6 +663,7 @@ msgstr ""
msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr ""
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr ""
@@ -576,6 +685,12 @@ msgid_plural "%d errors"
msgstr[0] ""
msgstr[1] ""
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] ""
+msgstr[1] ""
+
msgid " (unsaved)"
msgstr ""
@@ -689,6 +804,9 @@ msgstr ""
msgid "Form %i"
msgstr ""
+msgid "Singular"
+msgstr ""
+
msgid "Zero"
msgstr ""
@@ -698,6 +816,9 @@ msgstr ""
msgid "Two"
msgstr ""
+msgid "Plural"
+msgstr ""
+
msgid "Other"
msgstr ""
@@ -726,6 +847,12 @@ msgstr ""
msgid "Show Sidebar"
msgstr ""
+msgid "Hide Status Bar"
+msgstr ""
+
+msgid "Show Status Bar"
+msgstr ""
+
msgid "Source text"
msgstr ""
@@ -735,6 +862,10 @@ msgstr "Werger"
msgid "ID"
msgstr ""
+#, c-format
+msgid "Source text — %s"
+msgstr ""
+
msgid "unknown language"
msgstr ""
@@ -745,56 +876,72 @@ msgstr ""
msgid "Error:"
msgstr ""
-msgid "Project info"
-msgstr "Agahiyên projeyê"
+msgid "Source file"
+msgstr "Dosiya çavkanî"
-msgid "Project name and version:"
-msgstr "Nav û guhertoya bernamê:"
+msgid "Source file occurrence:"
+msgstr ""
-msgid "Language:"
-msgstr "Ziman:"
+msgid "Open in Editor"
+msgstr ""
-msgid "Team:"
-msgstr "Kom:"
+msgid "Open in editor"
+msgstr ""
-msgid "Team's email address:"
-msgstr "Navnîşana e-peyamê ya komê:"
+msgid "No references for the selected item."
+msgstr ""
-msgid "Charset:"
-msgstr "Koma tîpan (Charset):"
+#, c-format
+msgid "Error opening file %s!"
+msgstr ""
+
+msgid "Find"
+msgstr ""
-msgid "Source"
+msgid "Replace"
msgstr ""
-msgid "Notes"
-msgstr "Têbînî:"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr ""
-msgid "Automatic translation"
-msgstr "Wergerandina jixweber"
+msgid "Ignore case"
+msgstr ""
-msgid "Fuzzy translation"
-msgstr "Wergera fuzî"
+msgid "Wrap around"
+msgstr ""
-msgid "Notes for translators:"
+msgid "Whole words only"
msgstr ""
-msgid "Comment:"
-msgstr "Şîrove:"
+msgid "Find in source texts"
+msgstr ""
-msgid "Source file"
-msgstr "Dosiya çavkanî"
+msgid "Find in translations"
+msgstr ""
-msgid "Source file occurrence:"
+msgid "Find in comments"
+msgstr "Di şîrovan de bibîne"
+
+msgid "Close"
msgstr ""
-msgid "Open in Editor"
+msgid "Replace All"
msgstr ""
-msgid "Open in editor"
+msgid "Replace all"
msgstr ""
-#, c-format
-msgid "Error opening file %s!"
+msgid "< &Previous"
+msgstr ""
+
+msgid "&Next >"
+msgstr ""
+
+msgid "String to find"
+msgstr ""
+
+msgid "Replacement string"
msgstr ""
#, c-format
@@ -983,9 +1130,19 @@ msgstr "Nû"
msgid "Edit"
msgstr "Biguherhîne"
+msgid "Delete extractor"
+msgstr ""
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr ""
+
msgid "Extractors"
msgstr ""
+msgid "Accounts"
+msgstr ""
+
msgid "Automatically check for updates"
msgstr ""
@@ -1024,71 +1181,68 @@ msgstr ""
msgid "Advanced"
msgstr ""
-msgid "Additional keywords"
+msgid ""
+"<big>Drag and Drop Folders Here</big>\n"
+"\n"
+"or use the + button"
msgstr ""
-msgid "Paths"
-msgstr "Rê"
-
-msgid "Excluded paths"
+msgid ""
+"<big>Drag and drop folders here</big>\n"
+"\n"
+"or use the + button"
msgstr ""
-msgid "Name of the project the translation is for"
+msgid "Add Folders..."
msgstr ""
-msgid "e.g. nplurals=2; plural=(n > 1);"
+msgid "Add folders..."
msgstr ""
-msgid "UTF-8 (recommended)"
+msgid "Add Files..."
msgstr ""
-msgid "Please save the file first. This section cannot be edited until then."
+msgid "Add files..."
msgstr ""
-msgid "OK"
-msgstr "Temam"
-
-msgid "C&lear"
+msgid "Add Wildcard..."
msgstr ""
-msgid "Clear the comment"
-msgstr "Şîrovê paqij bike"
-
-msgid "Find..."
-msgstr "Bibîne..."
+msgid "Add wildcard..."
+msgstr ""
-msgid "String to find:"
-msgstr "Hevoka bê dîtin:"
+msgid "Paths"
+msgstr "Rê"
-msgid "Case sensitive"
-msgstr "Ji tîpên biçûk/MEZIN re bihîstyar"
+msgid "Excluded paths"
+msgstr ""
-msgid "Start from the first item"
-msgstr "Dest bi hevoka yekemîn bike"
+msgid "Additional keywords"
+msgstr ""
-msgid "Whole words only"
+msgid "Name of the project the translation is for"
msgstr ""
-msgid "Find in original strings"
+msgid "e.g. nplurals=2; plural=(n > 1);"
msgstr ""
-msgid "Find in translations"
+msgid "UTF-8 (recommended)"
msgstr ""
-msgid "Find in comments"
-msgstr "Di şîrovan de bibîne"
+msgid "Please save the file first. This section cannot be edited until then."
+msgstr ""
-msgid "Find in automatic comments"
-msgstr "Di şîrovên jixweber de bibîne"
+msgid "Comment:"
+msgstr "Şîrove:"
-msgid "Close"
-msgstr ""
+msgid "OK"
+msgstr "Temam"
-msgid "< &Previous"
+msgid "C&lear"
msgstr ""
-msgid "&Next >"
-msgstr ""
+msgid "Clear the comment"
+msgstr "Şîrovê paqij bike"
msgid "Create new translations project"
msgstr ""
@@ -1144,6 +1298,12 @@ msgstr ""
msgid "Open Recent"
msgstr ""
+msgid "Open from Crowdin..."
+msgstr ""
+
+msgid "Open From Crowdin..."
+msgstr ""
+
msgid "&Save"
msgstr "&Tomar bike"
@@ -1192,13 +1352,16 @@ msgstr ""
msgid "&Find..."
msgstr "&Bibîne..."
+msgid "Replace..."
+msgstr ""
+
msgid "Find next"
msgstr ""
msgid "Find previous"
msgstr ""
-msgid "Find"
+msgid "Find and Replace..."
msgstr ""
msgid "Find Next"
@@ -1240,6 +1403,12 @@ msgstr ""
msgid "&Group By Context"
msgstr ""
+msgid "Entries with errors first"
+msgstr ""
+
+msgid "Entries with Errors First"
+msgstr ""
+
msgid "&Untranslated entries first"
msgstr ""
@@ -1249,6 +1418,9 @@ msgstr ""
msgid "Show sidebar"
msgstr ""
+msgid "Show status bar"
+msgstr ""
+
msgid "C&atalog"
msgstr "&Katalog"
@@ -1264,6 +1436,9 @@ msgstr "Ji dosiya &POT rojane bike..."
msgid "Update from &POT File..."
msgstr ""
+msgid "Sync with Crowdin"
+msgstr ""
+
msgid "Fill missing translations from &TM..."
msgstr ""
@@ -1381,6 +1556,9 @@ msgstr ""
msgid "Catalog properties"
msgstr ""
+msgid "Project name and version:"
+msgstr "Nav û guhertoya bernamê:"
+
msgid "Plural Forms:"
msgstr ""
@@ -1393,6 +1571,15 @@ msgstr ""
msgid "Learn about plural forms"
msgstr ""
+msgid "Charset:"
+msgstr "Koma tîpan (Charset):"
+
+msgid "Team:"
+msgstr "Kom:"
+
+msgid "Team's email address:"
+msgstr "Navnîşana e-peyamê ya komê:"
+
msgid "Translation properties"
msgstr ""
@@ -1459,7 +1646,7 @@ msgstr ""
msgid "Toggled if selected string has fuzzy translation"
msgstr ""
-msgid "Show or hide the sidebar."
+msgid "Show or hide the sidebar"
msgstr ""
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
@@ -1471,6 +1658,9 @@ msgid ""
"translation corresponds to."
msgstr ""
+msgid "Notes for translators:"
+msgstr ""
+
msgid "Add comment"
msgstr ""
@@ -1543,14 +1733,21 @@ msgstr ""
msgid "Open an existing PO file and edit the translation."
msgstr ""
-msgid "Create new translation"
-msgstr ""
-
msgid ""
"Take an existing PO file or POT template and create a new translation from "
"it."
msgstr ""
+msgid "Collaborate on a translation with Crowdin"
+msgstr ""
+
+msgid ""
+"Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+
+msgid "What is Crowdin?"
+msgstr ""
+
msgid "There are no translations. That’s unusual."
msgstr ""
@@ -1583,3 +1780,9 @@ msgstr ""
msgid "Configure source code extraction in Properties."
msgstr ""
+
+msgid "Sync"
+msgstr ""
+
+msgid "Synchronize the translation with Crowdin"
+msgstr ""
diff --git a/locales/ky.mo b/locales/ky.mo
index 5064ffd..b3f9e5d 100644
Binary files a/locales/ky.mo and b/locales/ky.mo differ
diff --git a/locales/ky.po b/locales/ky.po
index e082e84..6da3728 100644
--- a/locales/ky.po
+++ b/locales/ky.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:33-0400\n"
+"POT-Creation-Date: 2015-05-13 18:47+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Kyrgyz\n"
"Language: ky_KG\n"
@@ -92,6 +92,15 @@ msgstr ""
msgid "Error saving catalog"
msgstr "Каталогду сактоо учурунда ката чыкты"
+msgid "PO Translation Files"
+msgstr ""
+
+msgid "POT Translation Templates"
+msgstr ""
+
+msgid "All Translation Files"
+msgstr ""
+
msgid "Merging differences..."
msgstr "Айырмалары бириктирилүүдө..."
@@ -112,6 +121,83 @@ msgid "You must restart Poedit for this change to take effect."
msgstr ""
"Ушул өзгөртүү күчүнө кириш үчүн, сиз Poedit'ти кайта жүргүзүшүңүз керек."
+msgid "Downloading translations is disabled in this project."
+msgstr ""
+
+msgid "Not authorized, please sign in again."
+msgstr ""
+
+msgid "Sign in to Crowdin"
+msgstr ""
+
+msgid ""
+"Crowdin is an online localization management platform and collaborative "
+"translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+
+msgid "Sign In"
+msgstr ""
+
+msgid "Sign in"
+msgstr ""
+
+msgid "Sign Out"
+msgstr ""
+
+msgid "Sign out"
+msgstr ""
+
+msgid "Waiting for authentication…"
+msgstr ""
+
+msgid "Updating user information…"
+msgstr ""
+
+msgid "Signed in as:"
+msgstr ""
+
+msgid "Learn More About Crowdin"
+msgstr ""
+
+msgid "Learn more about Crowdin"
+msgstr ""
+
+msgid "Open Crowdin translation"
+msgstr ""
+
+msgid "Project:"
+msgstr ""
+
+msgid "Language:"
+msgstr "Тил:"
+
+msgid "File:"
+msgstr ""
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr ""
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr ""
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr ""
+
+msgid "Downloading latest translations…"
+msgstr ""
+
+msgid "Syncing with Crowdin"
+msgstr ""
+
+msgid "Syncing with Crowdin failed."
+msgstr ""
+
+msgid "Crowdin error"
+msgstr ""
+
+msgid "Uploading translations…"
+msgstr ""
+
msgid "&Copy"
msgstr "&Көчүрүү"
@@ -156,6 +242,9 @@ msgstr ""
msgid "don't delete temporary files (for debugging)"
msgstr "(оңдоо үчүн) убактылуу файлдарды өчүрбөө"
+msgid "handle a poedit:// URI"
+msgstr ""
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr ""
@@ -166,12 +255,6 @@ msgstr ""
msgid "Open catalog"
msgstr "Каталогду ачуу"
-msgid "All Files"
-msgstr "Бардык файлдар"
-
-msgid "PO Translation Files"
-msgstr ""
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "'%s' файлы жок."
@@ -399,6 +482,17 @@ msgstr "Көптүгү:"
msgid "Translation:"
msgstr "Котормо:"
+msgid ""
+"POT files are only templates and don’t contain any translations themselves.\n"
+"To make a translation, create a new PO file based on the template."
+msgstr ""
+
+msgid "Create New Translation"
+msgstr ""
+
+msgid "Create new translation"
+msgstr "Жаңы котормону жаратуу"
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
@@ -446,9 +540,6 @@ msgstr "HTML файлдар"
msgid "Open catalog template"
msgstr "Каталог шаблонун ачуу"
-msgid "POT Translation Templates"
-msgstr ""
-
msgid "Updating catalog"
msgstr "Каталог жаңыланууда"
@@ -521,18 +612,20 @@ msgstr[0] ""
msgid "The translation is ready for use."
msgstr "Котормо колдонууга даяр."
-msgid "No references to this string found."
-msgstr "Ушул сап үчүн байланыштар табылган жок."
-
-msgid "Please choose the reference you want to show:"
-msgstr "Көрсөтүүгө керек болгон байланышты тандаңыз:"
-
-msgid "References"
-msgstr "Байланыштары"
-
msgid "Context:"
msgstr "Контексти:"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr ""
+
+msgid ""
+"The file contained duplicate items, which is not allowed in PO files and "
+"would prevent the file from being used. Poedit fixed the issue, but you "
+"should review translations of any items marked as fuzzy and correct them if "
+"necessary."
+msgstr ""
+
msgid "Language of the translation isn't set."
msgstr "Котормонун тили орнотулган жок."
@@ -542,6 +635,21 @@ msgstr ""
msgid "Set language"
msgstr "Тил орнотуу"
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid ""
+"Suggestions are not available if the translation language is not set "
+"correctly. Other features, such as plural forms, may be affected as well."
+msgstr ""
+
+msgid "Language of the translation is the same as source language."
+msgstr ""
+
+msgid "Fix Language"
+msgstr ""
+
+msgid "Fix language"
+msgstr ""
+
msgid ""
"This catalog has entries with plural forms, but doesn't have Plural-Forms "
"header configured."
@@ -577,6 +685,7 @@ msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr ""
"Каталог менен колдонулган көптүк сан туюнтмасы %s үчүн адаттагыдай эмес."
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr "Сереп"
@@ -597,6 +706,11 @@ msgid "%d error"
msgid_plural "%d errors"
msgstr[0] ""
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] ""
+
msgid " (unsaved)"
msgstr " (сакталган жок)"
@@ -711,6 +825,9 @@ msgstr "Бардыгы"
msgid "Form %i"
msgstr "%i формасы"
+msgid "Singular"
+msgstr ""
+
msgid "Zero"
msgstr "Нөл"
@@ -720,6 +837,9 @@ msgstr "Бир"
msgid "Two"
msgstr "Эки"
+msgid "Plural"
+msgstr ""
+
msgid "Other"
msgstr "Башка"
@@ -748,6 +868,12 @@ msgstr ""
msgid "Show Sidebar"
msgstr ""
+msgid "Hide Status Bar"
+msgstr ""
+
+msgid "Show Status Bar"
+msgstr ""
+
msgid "Source text"
msgstr "Баштапкы тексти"
@@ -757,6 +883,10 @@ msgstr "Котормо"
msgid "ID"
msgstr "ID"
+#, c-format
+msgid "Source text — %s"
+msgstr ""
+
msgid "unknown language"
msgstr "белгисиз тил"
@@ -767,57 +897,73 @@ msgstr "Котормо — %s"
msgid "Error:"
msgstr "Катасы:"
-msgid "Project info"
-msgstr "Долбоор маалыматы"
+msgid "Source file"
+msgstr "Баштапкы файлы"
-msgid "Project name and version:"
-msgstr "Долбоордун аты жана версиясы:"
+msgid "Source file occurrence:"
+msgstr "Баштапкы файлдын кирүүсү:"
-msgid "Language:"
-msgstr "Тил:"
+msgid "Open in Editor"
+msgstr ""
-msgid "Team:"
-msgstr "Команда:"
+msgid "Open in editor"
+msgstr "Редактордон ачуу"
-msgid "Team's email address:"
-msgstr "Команданын e-mail дареги:"
+msgid "No references for the selected item."
+msgstr ""
-msgid "Charset:"
-msgstr "Кодировка:"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "%s файлын ачуу учурунда ката чыкты!"
-msgid "Source"
-msgstr "Баштапкы тексти"
+msgid "Find"
+msgstr "Табуу"
-msgid "Notes"
-msgstr "Эскертүүлөр"
+msgid "Replace"
+msgstr ""
-msgid "Automatic translation"
-msgstr "Автоматтык котормо"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr ""
-msgid "Fuzzy translation"
-msgstr "Так эмес котормо"
+msgid "Ignore case"
+msgstr ""
-msgid "Notes for translators:"
-msgstr "Котормочулар үчүн эскертүүлөр:"
+msgid "Wrap around"
+msgstr ""
-msgid "Comment:"
-msgstr "Комментарий:"
+msgid "Whole words only"
+msgstr "Бүтүн сөздөрдү гана"
-msgid "Source file"
-msgstr "Баштапкы файлы"
+msgid "Find in source texts"
+msgstr ""
-msgid "Source file occurrence:"
-msgstr "Баштапкы файлдын кирүүсү:"
+msgid "Find in translations"
+msgstr ""
-msgid "Open in Editor"
+msgid "Find in comments"
+msgstr "Комментарийлерден издөө"
+
+msgid "Close"
+msgstr "Жабуу"
+
+msgid "Replace All"
msgstr ""
-msgid "Open in editor"
-msgstr "Редактордон ачуу"
+msgid "Replace all"
+msgstr ""
-#, c-format
-msgid "Error opening file %s!"
-msgstr "%s файлын ачуу учурунда ката чыкты!"
+msgid "< &Previous"
+msgstr "< &Артка"
+
+msgid "&Next >"
+msgstr "&Кийинки >"
+
+msgid "String to find"
+msgstr ""
+
+msgid "Replacement string"
+msgstr ""
#, c-format
msgid "Cannot execute program: %s"
@@ -1011,9 +1157,19 @@ msgstr "Жаңы"
msgid "Edit"
msgstr "Оңдоо"
+msgid "Delete extractor"
+msgstr ""
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr ""
+
msgid "Extractors"
msgstr ""
+msgid "Accounts"
+msgstr ""
+
msgid "Automatically check for updates"
msgstr ""
@@ -1052,8 +1208,35 @@ msgstr ""
msgid "Advanced"
msgstr ""
-msgid "Additional keywords"
-msgstr "Кошумча ачкыч сөздөрү"
+msgid ""
+"<big>Drag and Drop Folders Here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid ""
+"<big>Drag and drop folders here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid "Add Folders..."
+msgstr ""
+
+msgid "Add folders..."
+msgstr ""
+
+msgid "Add Files..."
+msgstr ""
+
+msgid "Add files..."
+msgstr ""
+
+msgid "Add Wildcard..."
+msgstr ""
+
+msgid "Add wildcard..."
+msgstr ""
msgid "Paths"
msgstr "Жолдор"
@@ -1061,6 +1244,9 @@ msgstr "Жолдор"
msgid "Excluded paths"
msgstr ""
+msgid "Additional keywords"
+msgstr "Кошумча ачкыч сөздөрү"
+
msgid "Name of the project the translation is for"
msgstr "Котормонун долбоор аты"
@@ -1074,6 +1260,9 @@ msgid "Please save the file first. This section cannot be edited until then."
msgstr ""
"Файлды биринчисинен сактаңыз. Бул бөлүктү ага чейин түзөтүүгө мүмкүн эмес."
+msgid "Comment:"
+msgstr "Комментарий:"
+
msgid "OK"
msgstr "OK"
@@ -1083,42 +1272,6 @@ msgstr "&Тазалоо"
msgid "Clear the comment"
msgstr "Комментарийди тазалоо"
-msgid "Find..."
-msgstr "Табуу..."
-
-msgid "String to find:"
-msgstr "Табыла турган сап:"
-
-msgid "Case sensitive"
-msgstr "Регистрди эсепке алуу"
-
-msgid "Start from the first item"
-msgstr "Биринчи пункттан баштоо"
-
-msgid "Whole words only"
-msgstr "Бүтүн сөздөрдү гана"
-
-msgid "Find in original strings"
-msgstr "Баштапкы саптардан издөө"
-
-msgid "Find in translations"
-msgstr ""
-
-msgid "Find in comments"
-msgstr "Комментарийлерден издөө"
-
-msgid "Find in automatic comments"
-msgstr "Автоматтык комментарийлерден издөө"
-
-msgid "Close"
-msgstr "Жабуу"
-
-msgid "< &Previous"
-msgstr "< &Артка"
-
-msgid "&Next >"
-msgstr "&Кийинки >"
-
msgid "Create new translations project"
msgstr "Жаңы котормолор долбоорун жаратуу"
@@ -1173,6 +1326,12 @@ msgstr "&Ачуу..."
msgid "Open Recent"
msgstr ""
+msgid "Open from Crowdin..."
+msgstr ""
+
+msgid "Open From Crowdin..."
+msgstr ""
+
msgid "&Save"
msgstr "&Сактоо"
@@ -1221,14 +1380,17 @@ msgstr "Байланыштарын &көрсөтүү"
msgid "&Find..."
msgstr "&Табуу..."
+msgid "Replace..."
+msgstr ""
+
msgid "Find next"
msgstr "Кийинкисин табуу"
msgid "Find previous"
msgstr "Мурункусун табуу"
-msgid "Find"
-msgstr "Табуу"
+msgid "Find and Replace..."
+msgstr ""
msgid "Find Next"
msgstr "Кийинкисин табуу"
@@ -1269,6 +1431,12 @@ msgstr ""
msgid "&Group By Context"
msgstr ""
+msgid "Entries with errors first"
+msgstr ""
+
+msgid "Entries with Errors First"
+msgstr ""
+
msgid "&Untranslated entries first"
msgstr "Которулба&ган жазуулар биринчи"
@@ -1278,6 +1446,9 @@ msgstr "Которулба&ган жазуулар биринчи"
msgid "Show sidebar"
msgstr ""
+msgid "Show status bar"
+msgstr ""
+
msgid "C&atalog"
msgstr "&Каталог"
@@ -1293,6 +1464,9 @@ msgstr "POT &файлынан жаңылоо..."
msgid "Update from &POT File..."
msgstr "POT &файлынан жаңылоо..."
+msgid "Sync with Crowdin"
+msgstr ""
+
msgid "Fill missing translations from &TM..."
msgstr ""
@@ -1351,10 +1525,10 @@ msgid "&Online Help"
msgstr "&Онлайн жардам"
msgid "&GNU gettext manual"
-msgstr "&GNU gettext колдонмосу"
+msgstr "&GNU gettext нускоосу"
msgid "&GNU gettext Manual"
-msgstr "&GNU gettext колдонмосу"
+msgstr "&GNU gettext нускоосу"
msgid "&About Poedit"
msgstr "Poedit &жөнүндө"
@@ -1417,6 +1591,9 @@ msgstr ""
msgid "Catalog properties"
msgstr "Каталогдун касиеттери"
+msgid "Project name and version:"
+msgstr "Долбоордун аты жана версиясы:"
+
msgid "Plural Forms:"
msgstr "Көптүк саны:"
@@ -1429,6 +1606,15 @@ msgstr "Башка туюнтманы колдонуу"
msgid "Learn about plural forms"
msgstr "Көптүк сандар жөнүндө окуу"
+msgid "Charset:"
+msgstr "Кодировка:"
+
+msgid "Team:"
+msgstr "Команда:"
+
+msgid "Team's email address:"
+msgstr "Команданын e-mail дареги:"
+
msgid "Translation properties"
msgstr "Котормонун өзгөчөлүктөрү"
@@ -1501,7 +1687,7 @@ msgstr "Каталогду жаңылоо - баштапкы файлдар ме
msgid "Toggled if selected string has fuzzy translation"
msgstr "Тандалган сапта так эмес котормо бар болуп калса басылган болот"
-msgid "Show or hide the sidebar."
+msgid "Show or hide the sidebar"
msgstr ""
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
@@ -1513,6 +1699,9 @@ msgid ""
"translation corresponds to."
msgstr ""
+msgid "Notes for translators:"
+msgstr "Котормочулар үчүн эскертүүлөр:"
+
msgid "Add comment"
msgstr ""
@@ -1587,14 +1776,21 @@ msgstr "Котормону түзөтүү"
msgid "Open an existing PO file and edit the translation."
msgstr "Бар болгон PO файлын ачып котормону түзөтүү."
-msgid "Create new translation"
-msgstr "Жаңы котормону жаратуу"
-
msgid ""
"Take an existing PO file or POT template and create a new translation from "
"it."
msgstr "Бар болгон PO файлын же POT калыбын алып андан жаңы котормону жасаңыз."
+msgid "Collaborate on a translation with Crowdin"
+msgstr ""
+
+msgid ""
+"Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+
+msgid "What is Crowdin?"
+msgstr ""
+
msgid "There are no translations. That’s unusual."
msgstr "Бул жерде котормолор жок. Кызык."
@@ -1633,3 +1829,9 @@ msgstr "Баштапкы коддорунан чыгаруу"
msgid "Configure source code extraction in Properties."
msgstr "Касиеттеринен баштапкы кодунун чыгарылышын ырастоо."
+
+msgid "Sync"
+msgstr ""
+
+msgid "Synchronize the translation with Crowdin"
+msgstr ""
diff --git a/locales/lt.mo b/locales/lt.mo
index 1065e64..e5dfaf5 100644
Binary files a/locales/lt.mo and b/locales/lt.mo differ
diff --git a/locales/lt.po b/locales/lt.po
index a2d43d4..fbb4966 100644
--- a/locales/lt.po
+++ b/locales/lt.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:33-0400\n"
+"POT-Creation-Date: 2015-05-13 18:47+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Lithuanian\n"
"Language: lt_LT\n"
@@ -91,6 +91,15 @@ msgstr ""
msgid "Error saving catalog"
msgstr "Klaida išsaugant katalogą"
+msgid "PO Translation Files"
+msgstr ""
+
+msgid "POT Translation Templates"
+msgstr ""
+
+msgid "All Translation Files"
+msgstr ""
+
msgid "Merging differences..."
msgstr "Suliejami skirtumai..."
@@ -110,14 +119,91 @@ msgstr "Kalbos pasirinkimas"
msgid "You must restart Poedit for this change to take effect."
msgstr "Šis pakeitimas įsigalios paleidus Poedit iš naujo."
-msgid "&Copy"
+msgid "Downloading translations is disabled in this project."
+msgstr ""
+
+msgid "Not authorized, please sign in again."
+msgstr ""
+
+msgid "Sign in to Crowdin"
+msgstr "Prisijungti prie Crowdin"
+
+msgid ""
+"Crowdin is an online localization management platform and collaborative "
+"translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+
+msgid "Sign In"
+msgstr ""
+
+msgid "Sign in"
msgstr ""
+msgid "Sign Out"
+msgstr ""
+
+msgid "Sign out"
+msgstr ""
+
+msgid "Waiting for authentication…"
+msgstr ""
+
+msgid "Updating user information…"
+msgstr ""
+
+msgid "Signed in as:"
+msgstr ""
+
+msgid "Learn More About Crowdin"
+msgstr ""
+
+msgid "Learn more about Crowdin"
+msgstr ""
+
+msgid "Open Crowdin translation"
+msgstr ""
+
+msgid "Project:"
+msgstr "Projektas:"
+
+msgid "Language:"
+msgstr "Kalba:"
+
+msgid "File:"
+msgstr "Failas:"
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr ""
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr ""
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr ""
+
+msgid "Downloading latest translations…"
+msgstr ""
+
+msgid "Syncing with Crowdin"
+msgstr ""
+
+msgid "Syncing with Crowdin failed."
+msgstr ""
+
+msgid "Crowdin error"
+msgstr ""
+
+msgid "Uploading translations…"
+msgstr ""
+
+msgid "&Copy"
+msgstr "&Kopijuoti"
+
msgid "Learn more"
msgstr "Sužinokite daugiau"
msgid "Learn More"
-msgstr ""
+msgstr "Sužinoti daugiau"
#, c-format
msgid "Failed command: %s"
@@ -154,6 +240,9 @@ msgstr ""
msgid "don't delete temporary files (for debugging)"
msgstr "netrinti laikinų failų (derinimui)"
+msgid "handle a poedit:// URI"
+msgstr ""
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr ""
@@ -164,12 +253,6 @@ msgstr ""
msgid "Open catalog"
msgstr "Atverti katalogą"
-msgid "All Files"
-msgstr ""
-
-msgid "PO Translation Files"
-msgstr ""
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "Failo „%s“ nėra."
@@ -277,7 +360,7 @@ msgid "Enter Full Screen"
msgstr ""
msgid "Window"
-msgstr ""
+msgstr "Langas"
msgid "Minimize"
msgstr ""
@@ -289,7 +372,7 @@ msgid "Bring All to Front"
msgstr ""
msgid "PO Translation"
-msgstr ""
+msgstr "PO vertimas"
msgid "The file cannot be opened."
msgstr "Atverti failo nepavyko."
@@ -335,20 +418,20 @@ msgstr ""
#. TRANSLATORS: Keyboard shortcut for display in Windows menus
#. TRANSLATORS: This is the key shortcut used in menus on Windows, some languages call them differently
msgid "Ctrl+"
-msgstr ""
+msgstr "Ctrl+"
#. TRANSLATORS: Keyboard shortcut for display in Windows menus
#. TRANSLATORS: This is the key shortcut used in menus on Windows, some languages call them differently
msgid "Alt+"
-msgstr ""
+msgstr "Alt+"
#. TRANSLATORS: Keyboard shortcut for display in Windows menus
msgid "Shift+"
-msgstr ""
+msgstr "Shift+"
#. TRANSLATORS: Keyboard shortcut for display in Windows menus
msgid "Enter"
-msgstr ""
+msgstr "Enter"
#. TRANSLATORS: Keyboard shortcut for display in Windows menus
msgid "Up"
@@ -360,15 +443,15 @@ msgstr ""
#. TRANSLATORS: Keyboard shortcut, must correspond to translation of "Ctrl+"
msgid "ctrl"
-msgstr ""
+msgstr "ctrl"
#. TRANSLATORS: Keyboard shortcut, must correspond to translation of "Alt+"
msgid "alt"
-msgstr ""
+msgstr "alt"
#. TRANSLATORS: Keyboard shortcut, must correspond to translation of "Shift+"
msgid "shift"
-msgstr ""
+msgstr "shift"
msgid "You can't drop more than one file on Poedit window."
msgstr "Negalite užvilkti daugiau nei vieno failo ant Poedit lango."
@@ -398,6 +481,17 @@ msgstr "Daugiskaita:"
msgid "Translation:"
msgstr "Vertimas:"
+msgid ""
+"POT files are only templates and don’t contain any translations themselves.\n"
+"To make a translation, create a new PO file based on the template."
+msgstr ""
+
+msgid "Create New Translation"
+msgstr ""
+
+msgid "Create new translation"
+msgstr "Sukurti naują vertimą"
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
@@ -440,14 +534,11 @@ msgid "Export as..."
msgstr "Eksportuoti kaip..."
msgid "HTML Files"
-msgstr ""
+msgstr "HTML failai"
msgid "Open catalog template"
msgstr "Atverti katalogo šabloną"
-msgid "POT Translation Templates"
-msgstr ""
-
msgid "Updating catalog"
msgstr "Atnaujinamas katalogas"
@@ -526,27 +617,44 @@ msgstr[2] "Vertimas paruoštas naudoti, bet %d įrašų dar neišversta."
msgid "The translation is ready for use."
msgstr "Vertimas paruoštas naudoti."
-msgid "No references to this string found."
-msgstr "Nėra nuorodų į šias eilutes."
-
-msgid "Please choose the reference you want to show:"
-msgstr "Pasirinkite nuorodas, kurias norite rodyti:"
-
-msgid "References"
-msgstr "Nuorodos"
-
msgid "Context:"
msgstr "Kontekstas:"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr ""
+
+msgid ""
+"The file contained duplicate items, which is not allowed in PO files and "
+"would prevent the file from being used. Poedit fixed the issue, but you "
+"should review translations of any items marked as fuzzy and correct them if "
+"necessary."
+msgstr ""
+
msgid "Language of the translation isn't set."
msgstr "Nenustatyta vertimo kalba."
msgid "Set Language"
-msgstr ""
+msgstr "Nustatyti kalbą"
msgid "Set language"
msgstr "Nurodyti kalbą"
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid ""
+"Suggestions are not available if the translation language is not set "
+"correctly. Other features, such as plural forms, may be affected as well."
+msgstr ""
+
+msgid "Language of the translation is the same as source language."
+msgstr ""
+
+msgid "Fix Language"
+msgstr ""
+
+msgid "Fix language"
+msgstr ""
+
msgid ""
"This catalog has entries with plural forms, but doesn't have Plural-Forms "
"header configured."
@@ -581,6 +689,7 @@ msgstr "Pataisyti antraštę"
msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr "Daugiskaitos forma naudojama kataloge nėra įprasta %s kalbai."
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr "Peržiūrėti"
@@ -599,6 +708,13 @@ msgstr ""
#, c-format
msgid "%d error"
msgid_plural "%d errors"
+msgstr[0] "%d klaida"
+msgstr[1] "%d klaida"
+msgstr[2] "%d klaidos"
+
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
@@ -688,7 +804,7 @@ msgid "Translating"
msgstr "Verčiama"
msgid "Filling missing translations from TM..."
-msgstr "Užpildomi trūkstami vertimai vertimais iš vertimų atminties..."
+msgstr "Vertimais užpildomi trūkstami vertimai iš vertimų atminties..."
#, c-format
msgid "Translated %u string"
@@ -725,6 +841,9 @@ msgstr "Viskas"
msgid "Form %i"
msgstr "Forma %i"
+msgid "Singular"
+msgstr ""
+
msgid "Zero"
msgstr "Nulis"
@@ -734,6 +853,9 @@ msgstr "Vienas"
msgid "Two"
msgstr "Du"
+msgid "Plural"
+msgstr ""
+
msgid "Other"
msgstr "Kita"
@@ -762,6 +884,12 @@ msgstr ""
msgid "Show Sidebar"
msgstr ""
+msgid "Hide Status Bar"
+msgstr ""
+
+msgid "Show Status Bar"
+msgstr ""
+
msgid "Source text"
msgstr "Išeities tekstas"
@@ -771,6 +899,10 @@ msgstr "Vertimas"
msgid "ID"
msgstr "ID"
+#, c-format
+msgid "Source text — %s"
+msgstr "Šaltinio tekstas — %s"
+
msgid "unknown language"
msgstr "nežinoma kalba"
@@ -781,57 +913,73 @@ msgstr "Vertimas - %s"
msgid "Error:"
msgstr "Klaida:"
-msgid "Project info"
-msgstr "Projekto informacija"
+msgid "Source file"
+msgstr "Išeities failas"
-msgid "Project name and version:"
-msgstr "Projekto pavadinimas ir versija:"
+msgid "Source file occurrence:"
+msgstr "Išeities failas pasikartojimai:"
-msgid "Language:"
-msgstr "Kalba:"
+msgid "Open in Editor"
+msgstr ""
-msgid "Team:"
-msgstr "Komanda:"
+msgid "Open in editor"
+msgstr ""
-msgid "Team's email address:"
-msgstr "Komandos el. paštas:"
+msgid "No references for the selected item."
+msgstr ""
-msgid "Charset:"
-msgstr "Koduotė:"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "Klaida atveriant failą %s!"
-msgid "Source"
-msgstr "Išeities failas"
+msgid "Find"
+msgstr "Ieškoti"
-msgid "Notes"
-msgstr "Pastabos"
+msgid "Replace"
+msgstr "Pakeisti"
-msgid "Automatic translation"
-msgstr "Automatinis vertimas"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr ""
-msgid "Fuzzy translation"
-msgstr "Neaiškus vertimas"
+msgid "Ignore case"
+msgstr ""
-msgid "Notes for translators:"
-msgstr "Pastabos vertėjams:"
+msgid "Wrap around"
+msgstr ""
-msgid "Comment:"
-msgstr "Komentaras:"
+msgid "Whole words only"
+msgstr "Tik pilnus žodžius"
-msgid "Source file"
-msgstr "Išeities failas"
+msgid "Find in source texts"
+msgstr ""
-msgid "Source file occurrence:"
-msgstr "Išeities failas pasikartojimai:"
+msgid "Find in translations"
+msgstr "Ieškoti vertime"
-msgid "Open in Editor"
+msgid "Find in comments"
+msgstr "Ieškoti komentaruose"
+
+msgid "Close"
+msgstr "Užverti"
+
+msgid "Replace All"
msgstr ""
-msgid "Open in editor"
+msgid "Replace all"
msgstr ""
-#, c-format
-msgid "Error opening file %s!"
-msgstr "Klaida atveriant failą %s!"
+msgid "< &Previous"
+msgstr "< &Ansktesnis"
+
+msgid "&Next >"
+msgstr "&Sekantis >"
+
+msgid "String to find"
+msgstr ""
+
+msgid "Replacement string"
+msgstr ""
#, c-format
msgid "Cannot execute program: %s"
@@ -893,16 +1041,16 @@ msgid "Information about the translator"
msgstr ""
msgid "Name:"
-msgstr ""
+msgstr "Vardas:"
msgid "Your Name"
msgstr ""
msgid "Email:"
-msgstr ""
+msgstr "El. paštas:"
msgid "your_email at example.com"
-msgstr ""
+msgstr "mano at adresas.lt"
msgid ""
"Your name and email address are only used to set the Last-Translator header "
@@ -1014,7 +1162,7 @@ msgstr "Atsisakyti"
#. Long text looks weird there, too short (like TM) too, but less so. "General" is about ideal
#. length there.
msgid "TM"
-msgstr ""
+msgstr "VA"
msgid ""
"Source code extractors are used to find translatable strings in the source "
@@ -1027,9 +1175,19 @@ msgstr "Naujas"
msgid "Edit"
msgstr "Keisti"
+msgid "Delete extractor"
+msgstr ""
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr ""
+
msgid "Extractors"
msgstr ""
+msgid "Accounts"
+msgstr ""
+
msgid "Automatically check for updates"
msgstr ""
@@ -1042,7 +1200,7 @@ msgid ""
msgstr ""
msgid "Updates"
-msgstr ""
+msgstr "Atnaujinimai"
msgid ""
"These settings affect internal formatting of PO files. Adjust them if you "
@@ -1068,8 +1226,35 @@ msgstr ""
msgid "Advanced"
msgstr ""
-msgid "Additional keywords"
-msgstr "Papildomi raktažodžiai"
+msgid ""
+"<big>Drag and Drop Folders Here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid ""
+"<big>Drag and drop folders here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid "Add Folders..."
+msgstr ""
+
+msgid "Add folders..."
+msgstr ""
+
+msgid "Add Files..."
+msgstr ""
+
+msgid "Add files..."
+msgstr ""
+
+msgid "Add Wildcard..."
+msgstr ""
+
+msgid "Add wildcard..."
+msgstr ""
msgid "Paths"
msgstr "Keliai"
@@ -1077,6 +1262,9 @@ msgstr "Keliai"
msgid "Excluded paths"
msgstr ""
+msgid "Additional keywords"
+msgstr "Papildomi raktažodžiai"
+
msgid "Name of the project the translation is for"
msgstr "Projekto vardas kuriam skirtas vertimas"
@@ -1091,6 +1279,9 @@ msgstr ""
"Prašom pirma išsaugoti failą. Kol neišsaugosite šio skyriaus bus negalima "
"redaguoti."
+msgid "Comment:"
+msgstr "Komentaras:"
+
msgid "OK"
msgstr "Gerai"
@@ -1100,42 +1291,6 @@ msgstr "Iš&valyti"
msgid "Clear the comment"
msgstr "Išvalyti komentarą"
-msgid "Find..."
-msgstr "Ieškoti..."
-
-msgid "String to find:"
-msgstr "Ieškoma eilutė:"
-
-msgid "Case sensitive"
-msgstr "Skirti raidžių dydį"
-
-msgid "Start from the first item"
-msgstr "Pradėti nuo pirmo įrašo"
-
-msgid "Whole words only"
-msgstr "Tik pilnus žodžius"
-
-msgid "Find in original strings"
-msgstr "Ieškoti originalo eilutėse"
-
-msgid "Find in translations"
-msgstr "Ieškoti vertime"
-
-msgid "Find in comments"
-msgstr "Ieškoti komentaruose"
-
-msgid "Find in automatic comments"
-msgstr "Ieškoti automatiniuose komentaruose"
-
-msgid "Close"
-msgstr "Užverti"
-
-msgid "< &Previous"
-msgstr "< &Ansktesnis"
-
-msgid "&Next >"
-msgstr "&Sekantis >"
-
msgid "Create new translations project"
msgstr "Sukurti naują vertimų projektą"
@@ -1190,6 +1345,12 @@ msgstr "&Atverti..."
msgid "Open Recent"
msgstr ""
+msgid "Open from Crowdin..."
+msgstr ""
+
+msgid "Open From Crowdin..."
+msgstr ""
+
msgid "&Save"
msgstr "&Išsaugoti"
@@ -1238,14 +1399,17 @@ msgstr "&Rodyti nuorodas"
msgid "&Find..."
msgstr "&Ieškoti..."
+msgid "Replace..."
+msgstr ""
+
msgid "Find next"
msgstr "Surasti kitą"
msgid "Find previous"
msgstr "Surasti ankstesnį"
-msgid "Find"
-msgstr "Ieškoti"
+msgid "Find and Replace..."
+msgstr ""
msgid "Find Next"
msgstr "Surasti kitą"
@@ -1286,6 +1450,12 @@ msgstr ""
msgid "&Group By Context"
msgstr ""
+msgid "Entries with errors first"
+msgstr ""
+
+msgid "Entries with Errors First"
+msgstr ""
+
msgid "&Untranslated entries first"
msgstr "&Pirmiausia neišversti įrašai"
@@ -1295,6 +1465,9 @@ msgstr "&Pirmiausia neišversti įrašai"
msgid "Show sidebar"
msgstr ""
+msgid "Show status bar"
+msgstr ""
+
msgid "C&atalog"
msgstr "K&atalogas"
@@ -1310,6 +1483,9 @@ msgstr "Atnaujinti iš &POT failo..."
msgid "Update from &POT File..."
msgstr "Atnaujinti iš &POT failo..."
+msgid "Sync with Crowdin"
+msgstr ""
+
msgid "Fill missing translations from &TM..."
msgstr ""
@@ -1433,6 +1609,9 @@ msgstr ""
msgid "Catalog properties"
msgstr "Katalogo savybės"
+msgid "Project name and version:"
+msgstr "Projekto pavadinimas ir versija:"
+
msgid "Plural Forms:"
msgstr "Daugiskaitos formos:"
@@ -1445,6 +1624,15 @@ msgstr "Naudoti pasirinktines išraiškas"
msgid "Learn about plural forms"
msgstr "Sužinkokite apie daugiskaitos formas"
+msgid "Charset:"
+msgstr "Koduotė:"
+
+msgid "Team:"
+msgstr "Komanda:"
+
+msgid "Team's email address:"
+msgstr "Komandos el. paštas:"
+
msgid "Translation properties"
msgstr "Vertimo savybės"
@@ -1517,7 +1705,7 @@ msgstr "Atnaujinti katalogą - sinchronizuoti jį su išeities tekstais"
msgid "Toggled if selected string has fuzzy translation"
msgstr "Įjungtas, jei pasirinktos eilutės vertimas yra neaiškus"
-msgid "Show or hide the sidebar."
+msgid "Show or hide the sidebar"
msgstr ""
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
@@ -1529,11 +1717,14 @@ msgid ""
"translation corresponds to."
msgstr ""
+msgid "Notes for translators:"
+msgstr "Pastabos vertėjams:"
+
msgid "Add comment"
-msgstr ""
+msgstr "Pridėti komentarą"
msgid "Add Comment"
-msgstr ""
+msgstr "Pridėti komentarą"
msgid "Translation suggestions:"
msgstr "Vertimų siūlymai:"
@@ -1607,14 +1798,21 @@ msgstr "Keisti vertimą"
msgid "Open an existing PO file and edit the translation."
msgstr "Atverti egzistuojantį PO failą ir redaguoti vertimą."
-msgid "Create new translation"
-msgstr "Sukurti naują vertimą"
-
msgid ""
"Take an existing PO file or POT template and create a new translation from "
"it."
msgstr "Paimti esamą PO ar POT failą ir sukurti iš jo naują vertimą."
+msgid "Collaborate on a translation with Crowdin"
+msgstr ""
+
+msgid ""
+"Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+
+msgid "What is Crowdin?"
+msgstr "Kas yra Crowdin?"
+
msgid "There are no translations. That’s unusual."
msgstr "Nėra vertimų. Neįprasta."
@@ -1652,3 +1850,9 @@ msgstr "Išskleisti iš šaltinių"
msgid "Configure source code extraction in Properties."
msgstr "Pradinio kodo ištraukimą galite sukonfigūruoti savybėse."
+
+msgid "Sync"
+msgstr ""
+
+msgid "Synchronize the translation with Crowdin"
+msgstr ""
diff --git a/locales/lv.mo b/locales/lv.mo
index 90170cb..5410096 100644
Binary files a/locales/lv.mo and b/locales/lv.mo differ
diff --git a/locales/lv.po b/locales/lv.po
index 9226d2c..c28cb1f 100644
--- a/locales/lv.po
+++ b/locales/lv.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:33-0400\n"
+"POT-Creation-Date: 2015-05-13 18:47+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Latvian\n"
"Language: lv_LV\n"
@@ -87,6 +87,15 @@ msgstr ""
msgid "Error saving catalog"
msgstr "Kļūda saglabājot katalogu"
+msgid "PO Translation Files"
+msgstr ""
+
+msgid "POT Translation Templates"
+msgstr ""
+
+msgid "All Translation Files"
+msgstr ""
+
msgid "Merging differences..."
msgstr "Apvienoju atšķirības..."
@@ -106,6 +115,83 @@ msgstr "Valodas izvēle"
msgid "You must restart Poedit for this change to take effect."
msgstr "Jums ir jāpārstartē Poedit, lai šīs izmaiņas stātos spēkā."
+msgid "Downloading translations is disabled in this project."
+msgstr ""
+
+msgid "Not authorized, please sign in again."
+msgstr ""
+
+msgid "Sign in to Crowdin"
+msgstr ""
+
+msgid ""
+"Crowdin is an online localization management platform and collaborative "
+"translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+
+msgid "Sign In"
+msgstr ""
+
+msgid "Sign in"
+msgstr ""
+
+msgid "Sign Out"
+msgstr ""
+
+msgid "Sign out"
+msgstr ""
+
+msgid "Waiting for authentication…"
+msgstr ""
+
+msgid "Updating user information…"
+msgstr ""
+
+msgid "Signed in as:"
+msgstr ""
+
+msgid "Learn More About Crowdin"
+msgstr ""
+
+msgid "Learn more about Crowdin"
+msgstr ""
+
+msgid "Open Crowdin translation"
+msgstr ""
+
+msgid "Project:"
+msgstr ""
+
+msgid "Language:"
+msgstr "Valoda:"
+
+msgid "File:"
+msgstr ""
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr ""
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr ""
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr ""
+
+msgid "Downloading latest translations…"
+msgstr ""
+
+msgid "Syncing with Crowdin"
+msgstr ""
+
+msgid "Syncing with Crowdin failed."
+msgstr ""
+
+msgid "Crowdin error"
+msgstr ""
+
+msgid "Uploading translations…"
+msgstr ""
+
msgid "&Copy"
msgstr ""
@@ -150,6 +236,9 @@ msgstr ""
msgid "don't delete temporary files (for debugging)"
msgstr "neizdzēst pagaidu failus (atkļūdošanai)"
+msgid "handle a poedit:// URI"
+msgstr ""
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr ""
@@ -160,12 +249,6 @@ msgstr ""
msgid "Open catalog"
msgstr "Atvērt katalogu"
-msgid "All Files"
-msgstr ""
-
-msgid "PO Translation Files"
-msgstr ""
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "Fails '%s' neeksistē."
@@ -393,6 +476,17 @@ msgstr "Daudzskaitlis:"
msgid "Translation:"
msgstr "Tulkojums:"
+msgid ""
+"POT files are only templates and don’t contain any translations themselves.\n"
+"To make a translation, create a new PO file based on the template."
+msgstr ""
+
+msgid "Create New Translation"
+msgstr ""
+
+msgid "Create new translation"
+msgstr ""
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
@@ -440,9 +534,6 @@ msgstr ""
msgid "Open catalog template"
msgstr "Atvērt kataloga paraugu"
-msgid "POT Translation Templates"
-msgstr ""
-
msgid "Updating catalog"
msgstr ""
@@ -515,16 +606,18 @@ msgstr[2] ""
msgid "The translation is ready for use."
msgstr ""
-msgid "No references to this string found."
-msgstr "Šai virknei nav atrastas atsauces."
-
-msgid "Please choose the reference you want to show:"
-msgstr "Lūdzu, izvēlieties atsauci, kuru vēlaties aplūkot:"
+msgid "Context:"
+msgstr ""
-msgid "References"
-msgstr "Atsauces"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr ""
-msgid "Context:"
+msgid ""
+"The file contained duplicate items, which is not allowed in PO files and "
+"would prevent the file from being used. Poedit fixed the issue, but you "
+"should review translations of any items marked as fuzzy and correct them if "
+"necessary."
msgstr ""
msgid "Language of the translation isn't set."
@@ -536,6 +629,21 @@ msgstr ""
msgid "Set language"
msgstr ""
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid ""
+"Suggestions are not available if the translation language is not set "
+"correctly. Other features, such as plural forms, may be affected as well."
+msgstr ""
+
+msgid "Language of the translation is the same as source language."
+msgstr ""
+
+msgid "Fix Language"
+msgstr ""
+
+msgid "Fix language"
+msgstr ""
+
msgid ""
"This catalog has entries with plural forms, but doesn't have Plural-Forms "
"header configured."
@@ -570,6 +678,7 @@ msgstr "Salabot galveni"
msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr ""
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr ""
@@ -592,6 +701,13 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
msgid " (unsaved)"
msgstr ""
@@ -710,6 +826,9 @@ msgstr ""
msgid "Form %i"
msgstr "Forma %i"
+msgid "Singular"
+msgstr ""
+
msgid "Zero"
msgstr ""
@@ -719,6 +838,9 @@ msgstr ""
msgid "Two"
msgstr ""
+msgid "Plural"
+msgstr ""
+
msgid "Other"
msgstr ""
@@ -747,6 +869,12 @@ msgstr ""
msgid "Show Sidebar"
msgstr ""
+msgid "Hide Status Bar"
+msgstr ""
+
+msgid "Show Status Bar"
+msgstr ""
+
msgid "Source text"
msgstr "Avota teksts"
@@ -756,6 +884,10 @@ msgstr "Tulkojums"
msgid "ID"
msgstr ""
+#, c-format
+msgid "Source text — %s"
+msgstr ""
+
msgid "unknown language"
msgstr ""
@@ -766,57 +898,73 @@ msgstr ""
msgid "Error:"
msgstr ""
-msgid "Project info"
-msgstr "Projekta informācija"
+msgid "Source file"
+msgstr "Avota fails"
-msgid "Project name and version:"
-msgstr "Projekta nosaukums un versija:"
+msgid "Source file occurrence:"
+msgstr "Avota faila gadījums:"
-msgid "Language:"
-msgstr "Valoda:"
+msgid "Open in Editor"
+msgstr ""
-msgid "Team:"
-msgstr "Komanda:"
+msgid "Open in editor"
+msgstr ""
-msgid "Team's email address:"
-msgstr "Komandas e-pasta adrese:"
+msgid "No references for the selected item."
+msgstr ""
-msgid "Charset:"
-msgstr "Simbolkopa:"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "Kļūda atverot failu %s!"
-msgid "Source"
-msgstr "Avots"
+msgid "Find"
+msgstr ""
-msgid "Notes"
-msgstr "Piezīmes"
+msgid "Replace"
+msgstr ""
-msgid "Automatic translation"
-msgstr "Automātiskais tulkojums"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr ""
-msgid "Fuzzy translation"
-msgstr "Nepilnīgs tulkojums"
+msgid "Ignore case"
+msgstr ""
-msgid "Notes for translators:"
+msgid "Wrap around"
msgstr ""
-msgid "Comment:"
-msgstr "Komentārs:"
+msgid "Whole words only"
+msgstr "Tikai veselus vārdus"
-msgid "Source file"
-msgstr "Avota fails"
+msgid "Find in source texts"
+msgstr ""
-msgid "Source file occurrence:"
-msgstr "Avota faila gadījums:"
+msgid "Find in translations"
+msgstr ""
-msgid "Open in Editor"
+msgid "Find in comments"
+msgstr "Meklēt komentāros"
+
+msgid "Close"
+msgstr "Aizvērt"
+
+msgid "Replace All"
msgstr ""
-msgid "Open in editor"
+msgid "Replace all"
msgstr ""
-#, c-format
-msgid "Error opening file %s!"
-msgstr "Kļūda atverot failu %s!"
+msgid "< &Previous"
+msgstr ""
+
+msgid "&Next >"
+msgstr ""
+
+msgid "String to find"
+msgstr ""
+
+msgid "Replacement string"
+msgstr ""
#, c-format
msgid "Cannot execute program: %s"
@@ -1009,9 +1157,19 @@ msgstr "Jauns"
msgid "Edit"
msgstr "Rediģēt"
+msgid "Delete extractor"
+msgstr ""
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr ""
+
msgid "Extractors"
msgstr ""
+msgid "Accounts"
+msgstr ""
+
msgid "Automatically check for updates"
msgstr ""
@@ -1050,7 +1208,34 @@ msgstr ""
msgid "Advanced"
msgstr ""
-msgid "Additional keywords"
+msgid ""
+"<big>Drag and Drop Folders Here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid ""
+"<big>Drag and drop folders here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid "Add Folders..."
+msgstr ""
+
+msgid "Add folders..."
+msgstr ""
+
+msgid "Add Files..."
+msgstr ""
+
+msgid "Add files..."
+msgstr ""
+
+msgid "Add Wildcard..."
+msgstr ""
+
+msgid "Add wildcard..."
msgstr ""
msgid "Paths"
@@ -1059,6 +1244,9 @@ msgstr "Ceļi"
msgid "Excluded paths"
msgstr ""
+msgid "Additional keywords"
+msgstr ""
+
msgid "Name of the project the translation is for"
msgstr ""
@@ -1071,6 +1259,9 @@ msgstr "UTF-8 (ieteicamais)"
msgid "Please save the file first. This section cannot be edited until then."
msgstr ""
+msgid "Comment:"
+msgstr "Komentārs:"
+
msgid "OK"
msgstr "Labi"
@@ -1080,42 +1271,6 @@ msgstr ""
msgid "Clear the comment"
msgstr "Notīrīt komentāru"
-msgid "Find..."
-msgstr "Meklēt..."
-
-msgid "String to find:"
-msgstr "Meklējamā virkne:"
-
-msgid "Case sensitive"
-msgstr "Saskaņot reģistru"
-
-msgid "Start from the first item"
-msgstr "Sākt no pirmā vienuma"
-
-msgid "Whole words only"
-msgstr "Tikai veselus vārdus"
-
-msgid "Find in original strings"
-msgstr "Meklēt oriģinālajās virknēs"
-
-msgid "Find in translations"
-msgstr ""
-
-msgid "Find in comments"
-msgstr "Meklēt komentāros"
-
-msgid "Find in automatic comments"
-msgstr "Meklēt automātiskajos komentāros"
-
-msgid "Close"
-msgstr "Aizvērt"
-
-msgid "< &Previous"
-msgstr ""
-
-msgid "&Next >"
-msgstr ""
-
msgid "Create new translations project"
msgstr "Izveidot jaunu tulkošanas projektu"
@@ -1170,6 +1325,12 @@ msgstr "&Atvērt..."
msgid "Open Recent"
msgstr ""
+msgid "Open from Crowdin..."
+msgstr ""
+
+msgid "Open From Crowdin..."
+msgstr ""
+
msgid "&Save"
msgstr "&Saglabāt"
@@ -1218,13 +1379,16 @@ msgstr "&Parādīt atsauces"
msgid "&Find..."
msgstr "&Atrast..."
+msgid "Replace..."
+msgstr ""
+
msgid "Find next"
msgstr ""
msgid "Find previous"
msgstr ""
-msgid "Find"
+msgid "Find and Replace..."
msgstr ""
msgid "Find Next"
@@ -1266,6 +1430,12 @@ msgstr ""
msgid "&Group By Context"
msgstr ""
+msgid "Entries with errors first"
+msgstr ""
+
+msgid "Entries with Errors First"
+msgstr ""
+
msgid "&Untranslated entries first"
msgstr "Vispirms neizt&ulkotos ierakstus"
@@ -1275,6 +1445,9 @@ msgstr "Vispirms neizt&ulkotos ierakstus"
msgid "Show sidebar"
msgstr ""
+msgid "Show status bar"
+msgstr ""
+
msgid "C&atalog"
msgstr "K&atalogs"
@@ -1290,6 +1463,9 @@ msgstr "Atjaunot no &POT faila..."
msgid "Update from &POT File..."
msgstr "Atjaunot no &POT faila..."
+msgid "Sync with Crowdin"
+msgstr ""
+
msgid "Fill missing translations from &TM..."
msgstr ""
@@ -1413,6 +1589,9 @@ msgstr ""
msgid "Catalog properties"
msgstr "Kataloga īpašības"
+msgid "Project name and version:"
+msgstr "Projekta nosaukums un versija:"
+
msgid "Plural Forms:"
msgstr "Daudzskaitļa formas:"
@@ -1425,6 +1604,15 @@ msgstr ""
msgid "Learn about plural forms"
msgstr ""
+msgid "Charset:"
+msgstr "Simbolkopa:"
+
+msgid "Team:"
+msgstr "Komanda:"
+
+msgid "Team's email address:"
+msgstr "Komandas e-pasta adrese:"
+
msgid "Translation properties"
msgstr ""
@@ -1498,7 +1686,7 @@ msgstr "Atjaunot katalogu - sinhronizēt to ar avotiem"
msgid "Toggled if selected string has fuzzy translation"
msgstr "Noslēgt, ja izvēlētā virkne satur nepilnīgu tulkojumu"
-msgid "Show or hide the sidebar."
+msgid "Show or hide the sidebar"
msgstr ""
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
@@ -1510,6 +1698,9 @@ msgid ""
"translation corresponds to."
msgstr ""
+msgid "Notes for translators:"
+msgstr ""
+
msgid "Add comment"
msgstr ""
@@ -1582,14 +1773,21 @@ msgstr ""
msgid "Open an existing PO file and edit the translation."
msgstr ""
-msgid "Create new translation"
-msgstr ""
-
msgid ""
"Take an existing PO file or POT template and create a new translation from "
"it."
msgstr ""
+msgid "Collaborate on a translation with Crowdin"
+msgstr ""
+
+msgid ""
+"Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+
+msgid "What is Crowdin?"
+msgstr ""
+
msgid "There are no translations. That’s unusual."
msgstr ""
@@ -1622,3 +1820,9 @@ msgstr ""
msgid "Configure source code extraction in Properties."
msgstr ""
+
+msgid "Sync"
+msgstr ""
+
+msgid "Synchronize the translation with Crowdin"
+msgstr ""
diff --git a/locales/mk.mo b/locales/mk.mo
index d22c5cb..fc43025 100644
Binary files a/locales/mk.mo and b/locales/mk.mo differ
diff --git a/locales/mk.po b/locales/mk.po
index fac5e50..6c6ae36 100644
--- a/locales/mk.po
+++ b/locales/mk.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:33-0400\n"
+"POT-Creation-Date: 2015-05-13 18:47+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Macedonian (FYROM)\n"
"Language: mk_MK\n"
@@ -91,6 +91,15 @@ msgstr ""
msgid "Error saving catalog"
msgstr "Грешка при зачувување на каталогот"
+msgid "PO Translation Files"
+msgstr ""
+
+msgid "POT Translation Templates"
+msgstr ""
+
+msgid "All Translation Files"
+msgstr ""
+
msgid "Merging differences..."
msgstr "Спојување на разликите..."
@@ -110,6 +119,83 @@ msgstr "Избор на јазик"
msgid "You must restart Poedit for this change to take effect."
msgstr "Мора да го рестартирате Poedit за да има ефект оваа измена."
+msgid "Downloading translations is disabled in this project."
+msgstr ""
+
+msgid "Not authorized, please sign in again."
+msgstr ""
+
+msgid "Sign in to Crowdin"
+msgstr ""
+
+msgid ""
+"Crowdin is an online localization management platform and collaborative "
+"translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+
+msgid "Sign In"
+msgstr ""
+
+msgid "Sign in"
+msgstr ""
+
+msgid "Sign Out"
+msgstr ""
+
+msgid "Sign out"
+msgstr ""
+
+msgid "Waiting for authentication…"
+msgstr ""
+
+msgid "Updating user information…"
+msgstr ""
+
+msgid "Signed in as:"
+msgstr ""
+
+msgid "Learn More About Crowdin"
+msgstr ""
+
+msgid "Learn more about Crowdin"
+msgstr ""
+
+msgid "Open Crowdin translation"
+msgstr ""
+
+msgid "Project:"
+msgstr ""
+
+msgid "Language:"
+msgstr "Јазик:"
+
+msgid "File:"
+msgstr ""
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr ""
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr ""
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr ""
+
+msgid "Downloading latest translations…"
+msgstr ""
+
+msgid "Syncing with Crowdin"
+msgstr ""
+
+msgid "Syncing with Crowdin failed."
+msgstr ""
+
+msgid "Crowdin error"
+msgstr ""
+
+msgid "Uploading translations…"
+msgstr ""
+
msgid "&Copy"
msgstr ""
@@ -154,6 +240,9 @@ msgstr ""
msgid "don't delete temporary files (for debugging)"
msgstr "не ги бришете привремените датотеки (за дебугирање)"
+msgid "handle a poedit:// URI"
+msgstr ""
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr ""
@@ -164,12 +253,6 @@ msgstr ""
msgid "Open catalog"
msgstr "Отвори каталог"
-msgid "All Files"
-msgstr ""
-
-msgid "PO Translation Files"
-msgstr ""
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "Датотеката '%s' не постои."
@@ -397,6 +480,17 @@ msgstr "Множина:"
msgid "Translation:"
msgstr "Превод:"
+msgid ""
+"POT files are only templates and don’t contain any translations themselves.\n"
+"To make a translation, create a new PO file based on the template."
+msgstr ""
+
+msgid "Create New Translation"
+msgstr ""
+
+msgid "Create new translation"
+msgstr ""
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
@@ -444,9 +538,6 @@ msgstr ""
msgid "Open catalog template"
msgstr "Отвори шаблон за каталог"
-msgid "POT Translation Templates"
-msgstr ""
-
msgid "Updating catalog"
msgstr "Ажурирање на каталог"
@@ -519,18 +610,20 @@ msgstr[1] ""
msgid "The translation is ready for use."
msgstr "Преводот е спремен за користење."
-msgid "No references to this string found."
-msgstr "Нема пронајдени референци за овој израз."
-
-msgid "Please choose the reference you want to show:"
-msgstr "Ве молам изберете ја референцата што сакате да ја покажете:"
-
-msgid "References"
-msgstr "Референци"
-
msgid "Context:"
msgstr "Контекст:"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr ""
+
+msgid ""
+"The file contained duplicate items, which is not allowed in PO files and "
+"would prevent the file from being used. Poedit fixed the issue, but you "
+"should review translations of any items marked as fuzzy and correct them if "
+"necessary."
+msgstr ""
+
msgid "Language of the translation isn't set."
msgstr ""
@@ -540,6 +633,21 @@ msgstr ""
msgid "Set language"
msgstr ""
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid ""
+"Suggestions are not available if the translation language is not set "
+"correctly. Other features, such as plural forms, may be affected as well."
+msgstr ""
+
+msgid "Language of the translation is the same as source language."
+msgstr ""
+
+msgid "Fix Language"
+msgstr ""
+
+msgid "Fix language"
+msgstr ""
+
msgid ""
"This catalog has entries with plural forms, but doesn't have Plural-Forms "
"header configured."
@@ -574,6 +682,7 @@ msgstr "Поправи заглавие"
msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr ""
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr ""
@@ -595,6 +704,12 @@ msgid_plural "%d errors"
msgstr[0] ""
msgstr[1] ""
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] ""
+msgstr[1] ""
+
msgid " (unsaved)"
msgstr ""
@@ -711,6 +826,9 @@ msgstr ""
msgid "Form %i"
msgstr "Формулар %i"
+msgid "Singular"
+msgstr ""
+
msgid "Zero"
msgstr ""
@@ -720,6 +838,9 @@ msgstr ""
msgid "Two"
msgstr ""
+msgid "Plural"
+msgstr ""
+
msgid "Other"
msgstr ""
@@ -748,6 +869,12 @@ msgstr ""
msgid "Show Sidebar"
msgstr ""
+msgid "Hide Status Bar"
+msgstr ""
+
+msgid "Show Status Bar"
+msgstr ""
+
msgid "Source text"
msgstr "Изворен текст"
@@ -757,6 +884,10 @@ msgstr "Превод"
msgid "ID"
msgstr ""
+#, c-format
+msgid "Source text — %s"
+msgstr ""
+
msgid "unknown language"
msgstr ""
@@ -767,57 +898,73 @@ msgstr ""
msgid "Error:"
msgstr "Грешка:"
-msgid "Project info"
-msgstr "Информација за проектот"
+msgid "Source file"
+msgstr "Изворна датотека"
-msgid "Project name and version:"
-msgstr "Име и верзија на проектот:"
+msgid "Source file occurrence:"
+msgstr "Појава на изворна датотека:"
-msgid "Language:"
-msgstr "Јазик:"
+msgid "Open in Editor"
+msgstr ""
-msgid "Team:"
-msgstr "Тим:"
+msgid "Open in editor"
+msgstr ""
-msgid "Team's email address:"
-msgstr "Адреса за е-пошта на тимот:"
+msgid "No references for the selected item."
+msgstr ""
-msgid "Charset:"
-msgstr "Кодна табела:"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "Грешка при отворање на датотеката %s!"
-msgid "Source"
-msgstr "Извор"
+msgid "Find"
+msgstr ""
-msgid "Notes"
-msgstr "Забелешки"
+msgid "Replace"
+msgstr ""
-msgid "Automatic translation"
-msgstr "Автоматки превод"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr ""
-msgid "Fuzzy translation"
-msgstr "Нејасен превод"
+msgid "Ignore case"
+msgstr ""
-msgid "Notes for translators:"
-msgstr "Белешка за преведувачите:"
+msgid "Wrap around"
+msgstr ""
-msgid "Comment:"
-msgstr "Коментар:"
+msgid "Whole words only"
+msgstr "Само цели зборови"
-msgid "Source file"
-msgstr "Изворна датотека"
+msgid "Find in source texts"
+msgstr ""
-msgid "Source file occurrence:"
-msgstr "Појава на изворна датотека:"
+msgid "Find in translations"
+msgstr ""
-msgid "Open in Editor"
+msgid "Find in comments"
+msgstr "Барај во коментари"
+
+msgid "Close"
+msgstr "Затвори"
+
+msgid "Replace All"
msgstr ""
-msgid "Open in editor"
+msgid "Replace all"
msgstr ""
-#, c-format
-msgid "Error opening file %s!"
-msgstr "Грешка при отворање на датотеката %s!"
+msgid "< &Previous"
+msgstr ""
+
+msgid "&Next >"
+msgstr ""
+
+msgid "String to find"
+msgstr ""
+
+msgid "Replacement string"
+msgstr ""
#, c-format
msgid "Cannot execute program: %s"
@@ -1010,9 +1157,19 @@ msgstr "Ново"
msgid "Edit"
msgstr "Уреди"
+msgid "Delete extractor"
+msgstr ""
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr ""
+
msgid "Extractors"
msgstr ""
+msgid "Accounts"
+msgstr ""
+
msgid "Automatically check for updates"
msgstr ""
@@ -1051,7 +1208,34 @@ msgstr ""
msgid "Advanced"
msgstr ""
-msgid "Additional keywords"
+msgid ""
+"<big>Drag and Drop Folders Here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid ""
+"<big>Drag and drop folders here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid "Add Folders..."
+msgstr ""
+
+msgid "Add folders..."
+msgstr ""
+
+msgid "Add Files..."
+msgstr ""
+
+msgid "Add files..."
+msgstr ""
+
+msgid "Add Wildcard..."
+msgstr ""
+
+msgid "Add wildcard..."
msgstr ""
msgid "Paths"
@@ -1060,6 +1244,9 @@ msgstr "Патеки"
msgid "Excluded paths"
msgstr ""
+msgid "Additional keywords"
+msgstr ""
+
msgid "Name of the project the translation is for"
msgstr ""
@@ -1072,6 +1259,9 @@ msgstr "UTF-8 (препорачано)"
msgid "Please save the file first. This section cannot be edited until then."
msgstr ""
+msgid "Comment:"
+msgstr "Коментар:"
+
msgid "OK"
msgstr "Во ред"
@@ -1081,42 +1271,6 @@ msgstr "Исчисти"
msgid "Clear the comment"
msgstr "Исчисти го коментарот"
-msgid "Find..."
-msgstr "Барај..."
-
-msgid "String to find:"
-msgstr "Низа за барање:"
-
-msgid "Case sensitive"
-msgstr "Чувствително на големина на букви"
-
-msgid "Start from the first item"
-msgstr "Започни од првиот елемент"
-
-msgid "Whole words only"
-msgstr "Само цели зборови"
-
-msgid "Find in original strings"
-msgstr "Барај во оригинални низи"
-
-msgid "Find in translations"
-msgstr ""
-
-msgid "Find in comments"
-msgstr "Барај во коментари"
-
-msgid "Find in automatic comments"
-msgstr "Барај во автоматски коментари"
-
-msgid "Close"
-msgstr "Затвори"
-
-msgid "< &Previous"
-msgstr ""
-
-msgid "&Next >"
-msgstr ""
-
msgid "Create new translations project"
msgstr "Создај нов преведувачки проект"
@@ -1171,6 +1325,12 @@ msgstr "Отвори..."
msgid "Open Recent"
msgstr ""
+msgid "Open from Crowdin..."
+msgstr ""
+
+msgid "Open From Crowdin..."
+msgstr ""
+
msgid "&Save"
msgstr "Зачувај"
@@ -1219,13 +1379,16 @@ msgstr "Прикажи референци"
msgid "&Find..."
msgstr "Барај..."
+msgid "Replace..."
+msgstr ""
+
msgid "Find next"
msgstr ""
msgid "Find previous"
msgstr ""
-msgid "Find"
+msgid "Find and Replace..."
msgstr ""
msgid "Find Next"
@@ -1267,6 +1430,12 @@ msgstr ""
msgid "&Group By Context"
msgstr ""
+msgid "Entries with errors first"
+msgstr ""
+
+msgid "Entries with Errors First"
+msgstr ""
+
msgid "&Untranslated entries first"
msgstr "Прво непреведните ставки"
@@ -1276,6 +1445,9 @@ msgstr "Прво непреведните ставки"
msgid "Show sidebar"
msgstr ""
+msgid "Show status bar"
+msgstr ""
+
msgid "C&atalog"
msgstr "Каталог"
@@ -1291,6 +1463,9 @@ msgstr "Ажурирај од POT датотека..."
msgid "Update from &POT File..."
msgstr "Ажурирај од РОТ датотека..."
+msgid "Sync with Crowdin"
+msgstr ""
+
msgid "Fill missing translations from &TM..."
msgstr ""
@@ -1415,6 +1590,9 @@ msgstr ""
msgid "Catalog properties"
msgstr "Својства на каталог"
+msgid "Project name and version:"
+msgstr "Име и верзија на проектот:"
+
msgid "Plural Forms:"
msgstr "Множински форми:"
@@ -1427,6 +1605,15 @@ msgstr ""
msgid "Learn about plural forms"
msgstr "Дознај повеќе за форми на множина"
+msgid "Charset:"
+msgstr "Кодна табела:"
+
+msgid "Team:"
+msgstr "Тим:"
+
+msgid "Team's email address:"
+msgstr "Адреса за е-пошта на тимот:"
+
msgid "Translation properties"
msgstr ""
@@ -1500,7 +1687,7 @@ msgstr "Ажурирај каталог - синхронизирај со изв
msgid "Toggled if selected string has fuzzy translation"
msgstr "Се менува ако низа има нејаен превод"
-msgid "Show or hide the sidebar."
+msgid "Show or hide the sidebar"
msgstr ""
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
@@ -1512,6 +1699,9 @@ msgid ""
"translation corresponds to."
msgstr ""
+msgid "Notes for translators:"
+msgstr "Белешка за преведувачите:"
+
msgid "Add comment"
msgstr ""
@@ -1584,14 +1774,21 @@ msgstr ""
msgid "Open an existing PO file and edit the translation."
msgstr ""
-msgid "Create new translation"
-msgstr ""
-
msgid ""
"Take an existing PO file or POT template and create a new translation from "
"it."
msgstr ""
+msgid "Collaborate on a translation with Crowdin"
+msgstr ""
+
+msgid ""
+"Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+
+msgid "What is Crowdin?"
+msgstr ""
+
msgid "There are no translations. That’s unusual."
msgstr ""
@@ -1624,3 +1821,9 @@ msgstr ""
msgid "Configure source code extraction in Properties."
msgstr ""
+
+msgid "Sync"
+msgstr ""
+
+msgid "Synchronize the translation with Crowdin"
+msgstr ""
diff --git a/locales/mn.mo b/locales/mn.mo
index 5adfbc3..5f29b14 100644
Binary files a/locales/mn.mo and b/locales/mn.mo differ
diff --git a/locales/mn.po b/locales/mn.po
index d9eead2..0b8a328 100644
--- a/locales/mn.po
+++ b/locales/mn.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:33-0400\n"
+"POT-Creation-Date: 2015-05-13 18:47+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Mongolian\n"
"Language: mn_MN\n"
@@ -80,6 +80,15 @@ msgstr ""
msgid "Error saving catalog"
msgstr "Каталог хадгалахад алдаатай"
+msgid "PO Translation Files"
+msgstr ""
+
+msgid "POT Translation Templates"
+msgstr ""
+
+msgid "All Translation Files"
+msgstr ""
+
msgid "Merging differences..."
msgstr "Ялгааг нийлүүлж байна..."
@@ -99,6 +108,83 @@ msgstr "Хэл сонголт"
msgid "You must restart Poedit for this change to take effect."
msgstr "Та энэ өөрчлөлтийг идвэхжүүлэхийн тулд Poedit-ийг дахин ачаална уу!"
+msgid "Downloading translations is disabled in this project."
+msgstr ""
+
+msgid "Not authorized, please sign in again."
+msgstr ""
+
+msgid "Sign in to Crowdin"
+msgstr ""
+
+msgid ""
+"Crowdin is an online localization management platform and collaborative "
+"translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+
+msgid "Sign In"
+msgstr ""
+
+msgid "Sign in"
+msgstr ""
+
+msgid "Sign Out"
+msgstr ""
+
+msgid "Sign out"
+msgstr ""
+
+msgid "Waiting for authentication…"
+msgstr ""
+
+msgid "Updating user information…"
+msgstr ""
+
+msgid "Signed in as:"
+msgstr ""
+
+msgid "Learn More About Crowdin"
+msgstr ""
+
+msgid "Learn more about Crowdin"
+msgstr ""
+
+msgid "Open Crowdin translation"
+msgstr ""
+
+msgid "Project:"
+msgstr ""
+
+msgid "Language:"
+msgstr "Хэл:"
+
+msgid "File:"
+msgstr ""
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr ""
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr ""
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr ""
+
+msgid "Downloading latest translations…"
+msgstr ""
+
+msgid "Syncing with Crowdin"
+msgstr ""
+
+msgid "Syncing with Crowdin failed."
+msgstr ""
+
+msgid "Crowdin error"
+msgstr ""
+
+msgid "Uploading translations…"
+msgstr ""
+
msgid "&Copy"
msgstr ""
@@ -143,6 +229,9 @@ msgstr ""
msgid "don't delete temporary files (for debugging)"
msgstr ""
+msgid "handle a poedit:// URI"
+msgstr ""
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr ""
@@ -153,12 +242,6 @@ msgstr ""
msgid "Open catalog"
msgstr "Каталог нээх"
-msgid "All Files"
-msgstr ""
-
-msgid "PO Translation Files"
-msgstr ""
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "Файл '%s' байхгүй байна."
@@ -386,6 +469,17 @@ msgstr ""
msgid "Translation:"
msgstr ""
+msgid ""
+"POT files are only templates and don’t contain any translations themselves.\n"
+"To make a translation, create a new PO file based on the template."
+msgstr ""
+
+msgid "Create New Translation"
+msgstr ""
+
+msgid "Create new translation"
+msgstr ""
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
@@ -433,9 +527,6 @@ msgstr ""
msgid "Open catalog template"
msgstr "Бэлэн каталог загвар нээх"
-msgid "POT Translation Templates"
-msgstr ""
-
msgid "Updating catalog"
msgstr ""
@@ -504,16 +595,18 @@ msgstr[1] ""
msgid "The translation is ready for use."
msgstr ""
-msgid "No references to this string found."
-msgstr "Энэ тэмдэгт мөрд хамаарах лавламж олдмонгүй."
-
-msgid "Please choose the reference you want to show:"
-msgstr "Үзүүлэх лавламжийг сонгоно уу:"
+msgid "Context:"
+msgstr ""
-msgid "References"
-msgstr "Лавламжууд"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr ""
-msgid "Context:"
+msgid ""
+"The file contained duplicate items, which is not allowed in PO files and "
+"would prevent the file from being used. Poedit fixed the issue, but you "
+"should review translations of any items marked as fuzzy and correct them if "
+"necessary."
msgstr ""
msgid "Language of the translation isn't set."
@@ -525,6 +618,21 @@ msgstr ""
msgid "Set language"
msgstr ""
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid ""
+"Suggestions are not available if the translation language is not set "
+"correctly. Other features, such as plural forms, may be affected as well."
+msgstr ""
+
+msgid "Language of the translation is the same as source language."
+msgstr ""
+
+msgid "Fix Language"
+msgstr ""
+
+msgid "Fix language"
+msgstr ""
+
msgid ""
"This catalog has entries with plural forms, but doesn't have Plural-Forms "
"header configured."
@@ -555,6 +663,7 @@ msgstr ""
msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr ""
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr ""
@@ -576,6 +685,12 @@ msgid_plural "%d errors"
msgstr[0] ""
msgstr[1] ""
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] ""
+msgstr[1] ""
+
msgid " (unsaved)"
msgstr ""
@@ -689,6 +804,9 @@ msgstr ""
msgid "Form %i"
msgstr ""
+msgid "Singular"
+msgstr ""
+
msgid "Zero"
msgstr ""
@@ -698,6 +816,9 @@ msgstr ""
msgid "Two"
msgstr ""
+msgid "Plural"
+msgstr ""
+
msgid "Other"
msgstr ""
@@ -726,6 +847,12 @@ msgstr ""
msgid "Show Sidebar"
msgstr ""
+msgid "Hide Status Bar"
+msgstr ""
+
+msgid "Show Status Bar"
+msgstr ""
+
msgid "Source text"
msgstr ""
@@ -735,6 +862,10 @@ msgstr "Орчуулга"
msgid "ID"
msgstr ""
+#, c-format
+msgid "Source text — %s"
+msgstr ""
+
msgid "unknown language"
msgstr ""
@@ -745,57 +876,73 @@ msgstr ""
msgid "Error:"
msgstr ""
-msgid "Project info"
-msgstr "Төслийн мэдээлэл"
+msgid "Source file"
+msgstr "Эх файл"
-msgid "Project name and version:"
-msgstr "Төслийн нэр ба хувилбар:"
+msgid "Source file occurrence:"
+msgstr ""
-msgid "Language:"
-msgstr "Хэл:"
+msgid "Open in Editor"
+msgstr ""
-msgid "Team:"
-msgstr "Баг:"
+msgid "Open in editor"
+msgstr ""
-msgid "Team's email address:"
-msgstr "Багийн э-захианы хаяг:"
+msgid "No references for the selected item."
+msgstr ""
-msgid "Charset:"
-msgstr "Кодчлол:"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "%s файлыг нээхэд алдаатай!"
-msgid "Source"
+msgid "Find"
msgstr ""
-msgid "Notes"
-msgstr "Тэмдэглэлүүд"
+msgid "Replace"
+msgstr ""
-msgid "Automatic translation"
-msgstr "Автомат орчуулга:"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr ""
-msgid "Fuzzy translation"
-msgstr "Бүдэг орчуулга"
+msgid "Ignore case"
+msgstr ""
-msgid "Notes for translators:"
+msgid "Wrap around"
msgstr ""
-msgid "Comment:"
-msgstr "Тайлбар:"
+msgid "Whole words only"
+msgstr ""
-msgid "Source file"
-msgstr "Эх файл"
+msgid "Find in source texts"
+msgstr ""
-msgid "Source file occurrence:"
+msgid "Find in translations"
msgstr ""
-msgid "Open in Editor"
+msgid "Find in comments"
msgstr ""
-msgid "Open in editor"
+msgid "Close"
msgstr ""
-#, c-format
-msgid "Error opening file %s!"
-msgstr "%s файлыг нээхэд алдаатай!"
+msgid "Replace All"
+msgstr ""
+
+msgid "Replace all"
+msgstr ""
+
+msgid "< &Previous"
+msgstr ""
+
+msgid "&Next >"
+msgstr ""
+
+msgid "String to find"
+msgstr ""
+
+msgid "Replacement string"
+msgstr ""
#, c-format
msgid "Cannot execute program: %s"
@@ -987,9 +1134,19 @@ msgstr "Шинэ"
msgid "Edit"
msgstr "Засах"
+msgid "Delete extractor"
+msgstr ""
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr ""
+
msgid "Extractors"
msgstr ""
+msgid "Accounts"
+msgstr ""
+
msgid "Automatically check for updates"
msgstr ""
@@ -1028,72 +1185,69 @@ msgstr ""
msgid "Advanced"
msgstr ""
-msgid "Additional keywords"
+msgid ""
+"<big>Drag and Drop Folders Here</big>\n"
+"\n"
+"or use the + button"
msgstr ""
-msgid "Paths"
-msgstr "Замууд"
-
-msgid "Excluded paths"
+msgid ""
+"<big>Drag and drop folders here</big>\n"
+"\n"
+"or use the + button"
msgstr ""
-msgid "Name of the project the translation is for"
+msgid "Add Folders..."
msgstr ""
-msgid "e.g. nplurals=2; plural=(n > 1);"
+msgid "Add folders..."
msgstr ""
-msgid "UTF-8 (recommended)"
+msgid "Add Files..."
msgstr ""
-msgid "Please save the file first. This section cannot be edited until then."
+msgid "Add files..."
msgstr ""
-msgid "OK"
-msgstr "ОК"
-
-msgid "C&lear"
+msgid "Add Wildcard..."
msgstr ""
-msgid "Clear the comment"
-msgstr "Тайлбарыг арилгах"
-
-msgid "Find..."
-msgstr "Хайх..."
-
-msgid "String to find:"
-msgstr "Хайх тэмдэгт мөр:"
+msgid "Add wildcard..."
+msgstr ""
-msgid "Case sensitive"
-msgstr "Том жижиг үсэг ялгана"
+msgid "Paths"
+msgstr "Замууд"
-msgid "Start from the first item"
+msgid "Excluded paths"
msgstr ""
-msgid "Whole words only"
+msgid "Additional keywords"
msgstr ""
-msgid "Find in original strings"
-msgstr "Эх хувилбарын мөрнөөс хайх"
-
-msgid "Find in translations"
+msgid "Name of the project the translation is for"
msgstr ""
-msgid "Find in comments"
+msgid "e.g. nplurals=2; plural=(n > 1);"
msgstr ""
-msgid "Find in automatic comments"
+msgid "UTF-8 (recommended)"
msgstr ""
-msgid "Close"
+msgid "Please save the file first. This section cannot be edited until then."
msgstr ""
-msgid "< &Previous"
-msgstr ""
+msgid "Comment:"
+msgstr "Тайлбар:"
-msgid "&Next >"
+msgid "OK"
+msgstr "ОК"
+
+msgid "C&lear"
msgstr ""
+msgid "Clear the comment"
+msgstr "Тайлбарыг арилгах"
+
msgid "Create new translations project"
msgstr "Шинэ орчуулгын төсөл үүсгэх"
@@ -1148,6 +1302,12 @@ msgstr ""
msgid "Open Recent"
msgstr ""
+msgid "Open from Crowdin..."
+msgstr ""
+
+msgid "Open From Crowdin..."
+msgstr ""
+
msgid "&Save"
msgstr "&Хадгалах"
@@ -1196,13 +1356,16 @@ msgstr ""
msgid "&Find..."
msgstr "&Хайх"
+msgid "Replace..."
+msgstr ""
+
msgid "Find next"
msgstr ""
msgid "Find previous"
msgstr ""
-msgid "Find"
+msgid "Find and Replace..."
msgstr ""
msgid "Find Next"
@@ -1244,6 +1407,12 @@ msgstr ""
msgid "&Group By Context"
msgstr ""
+msgid "Entries with errors first"
+msgstr ""
+
+msgid "Entries with Errors First"
+msgstr ""
+
msgid "&Untranslated entries first"
msgstr ""
@@ -1253,6 +1422,9 @@ msgstr ""
msgid "Show sidebar"
msgstr ""
+msgid "Show status bar"
+msgstr ""
+
msgid "C&atalog"
msgstr ""
@@ -1268,6 +1440,9 @@ msgstr "&POT файлаас шинэчилж байна..."
msgid "Update from &POT File..."
msgstr ""
+msgid "Sync with Crowdin"
+msgstr ""
+
msgid "Fill missing translations from &TM..."
msgstr ""
@@ -1391,6 +1566,9 @@ msgstr ""
msgid "Catalog properties"
msgstr ""
+msgid "Project name and version:"
+msgstr "Төслийн нэр ба хувилбар:"
+
msgid "Plural Forms:"
msgstr ""
@@ -1403,6 +1581,15 @@ msgstr ""
msgid "Learn about plural forms"
msgstr ""
+msgid "Charset:"
+msgstr "Кодчлол:"
+
+msgid "Team:"
+msgstr "Баг:"
+
+msgid "Team's email address:"
+msgstr "Багийн э-захианы хаяг:"
+
msgid "Translation properties"
msgstr ""
@@ -1473,7 +1660,7 @@ msgstr "Каталог шинэчлэх - эхтэй цуг зэрэгцүүлэ
msgid "Toggled if selected string has fuzzy translation"
msgstr "Хэрэв сонгогдсон тэмдэгт мөр бүдэг орчуулгатай бол солигдоно"
-msgid "Show or hide the sidebar."
+msgid "Show or hide the sidebar"
msgstr ""
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
@@ -1485,6 +1672,9 @@ msgid ""
"translation corresponds to."
msgstr ""
+msgid "Notes for translators:"
+msgstr ""
+
msgid "Add comment"
msgstr ""
@@ -1557,14 +1747,21 @@ msgstr ""
msgid "Open an existing PO file and edit the translation."
msgstr ""
-msgid "Create new translation"
-msgstr ""
-
msgid ""
"Take an existing PO file or POT template and create a new translation from "
"it."
msgstr ""
+msgid "Collaborate on a translation with Crowdin"
+msgstr ""
+
+msgid ""
+"Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+
+msgid "What is Crowdin?"
+msgstr ""
+
msgid "There are no translations. That’s unusual."
msgstr ""
@@ -1597,3 +1794,9 @@ msgstr ""
msgid "Configure source code extraction in Properties."
msgstr ""
+
+msgid "Sync"
+msgstr ""
+
+msgid "Synchronize the translation with Crowdin"
+msgstr ""
diff --git a/locales/mr.mo b/locales/mr.mo
index 2e1f4bd..abb1df4 100644
Binary files a/locales/mr.mo and b/locales/mr.mo differ
diff --git a/locales/mr.po b/locales/mr.po
index e4dc853..3f62ace 100644
--- a/locales/mr.po
+++ b/locales/mr.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:33-0400\n"
+"POT-Creation-Date: 2015-05-13 18:47+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Marathi\n"
"Language: mr_IN\n"
@@ -84,6 +84,15 @@ msgstr ""
msgid "Error saving catalog"
msgstr "संग्रह सेव्ह करण्यात त्रुटी"
+msgid "PO Translation Files"
+msgstr ""
+
+msgid "POT Translation Templates"
+msgstr ""
+
+msgid "All Translation Files"
+msgstr ""
+
msgid "Merging differences..."
msgstr "भिन्न (वाक्ये) एकत्रित करतोय..."
@@ -103,6 +112,83 @@ msgstr "भाषेची निवड"
msgid "You must restart Poedit for this change to take effect."
msgstr "ह्या बदलाचे परिणाम दिसण्यासाठी तुम्हाला Poedit पुन्हा सुरू करावे लागेल."
+msgid "Downloading translations is disabled in this project."
+msgstr ""
+
+msgid "Not authorized, please sign in again."
+msgstr ""
+
+msgid "Sign in to Crowdin"
+msgstr ""
+
+msgid ""
+"Crowdin is an online localization management platform and collaborative "
+"translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+
+msgid "Sign In"
+msgstr ""
+
+msgid "Sign in"
+msgstr ""
+
+msgid "Sign Out"
+msgstr ""
+
+msgid "Sign out"
+msgstr ""
+
+msgid "Waiting for authentication…"
+msgstr ""
+
+msgid "Updating user information…"
+msgstr ""
+
+msgid "Signed in as:"
+msgstr ""
+
+msgid "Learn More About Crowdin"
+msgstr ""
+
+msgid "Learn more about Crowdin"
+msgstr ""
+
+msgid "Open Crowdin translation"
+msgstr ""
+
+msgid "Project:"
+msgstr ""
+
+msgid "Language:"
+msgstr "भाषा:"
+
+msgid "File:"
+msgstr ""
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr ""
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr ""
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr ""
+
+msgid "Downloading latest translations…"
+msgstr ""
+
+msgid "Syncing with Crowdin"
+msgstr ""
+
+msgid "Syncing with Crowdin failed."
+msgstr ""
+
+msgid "Crowdin error"
+msgstr ""
+
+msgid "Uploading translations…"
+msgstr ""
+
msgid "&Copy"
msgstr ""
@@ -147,6 +233,9 @@ msgstr ""
msgid "don't delete temporary files (for debugging)"
msgstr "तात्पुरत्या फाईल्स काढू नकोस (दोष काढण्याकरिता)"
+msgid "handle a poedit:// URI"
+msgstr ""
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr ""
@@ -157,12 +246,6 @@ msgstr ""
msgid "Open catalog"
msgstr "संग्रह उघड"
-msgid "All Files"
-msgstr ""
-
-msgid "PO Translation Files"
-msgstr ""
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "'%s' फाईल अस्तित्वात नाहीये."
@@ -390,6 +473,17 @@ msgstr "अनेकवचनं:"
msgid "Translation:"
msgstr "भाषांतर:"
+msgid ""
+"POT files are only templates and don’t contain any translations themselves.\n"
+"To make a translation, create a new PO file based on the template."
+msgstr ""
+
+msgid "Create New Translation"
+msgstr ""
+
+msgid "Create new translation"
+msgstr ""
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
@@ -437,9 +531,6 @@ msgstr ""
msgid "Open catalog template"
msgstr "संग्रह साचा उघड"
-msgid "POT Translation Templates"
-msgstr ""
-
msgid "Updating catalog"
msgstr ""
@@ -508,16 +599,18 @@ msgstr[1] ""
msgid "The translation is ready for use."
msgstr ""
-msgid "No references to this string found."
-msgstr "ह्या मजकुरासाठी एकही संदर्भ मिळाला नाही."
-
-msgid "Please choose the reference you want to show:"
-msgstr "जो संदर्भ तुम्हाला दाखवायचा आहे तो कृपया निवडा:"
+msgid "Context:"
+msgstr ""
-msgid "References"
-msgstr "संदर्भ"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr ""
-msgid "Context:"
+msgid ""
+"The file contained duplicate items, which is not allowed in PO files and "
+"would prevent the file from being used. Poedit fixed the issue, but you "
+"should review translations of any items marked as fuzzy and correct them if "
+"necessary."
msgstr ""
msgid "Language of the translation isn't set."
@@ -529,6 +622,21 @@ msgstr ""
msgid "Set language"
msgstr ""
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid ""
+"Suggestions are not available if the translation language is not set "
+"correctly. Other features, such as plural forms, may be affected as well."
+msgstr ""
+
+msgid "Language of the translation is the same as source language."
+msgstr ""
+
+msgid "Fix Language"
+msgstr ""
+
+msgid "Fix language"
+msgstr ""
+
msgid ""
"This catalog has entries with plural forms, but doesn't have Plural-Forms "
"header configured."
@@ -561,6 +669,7 @@ msgstr "शीर्षभाग दुरूस्त कर"
msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr ""
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr ""
@@ -582,6 +691,12 @@ msgid_plural "%d errors"
msgstr[0] ""
msgstr[1] ""
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] ""
+msgstr[1] ""
+
msgid " (unsaved)"
msgstr ""
@@ -697,6 +812,9 @@ msgstr ""
msgid "Form %i"
msgstr "फॉर्म %i"
+msgid "Singular"
+msgstr ""
+
msgid "Zero"
msgstr ""
@@ -706,6 +824,9 @@ msgstr ""
msgid "Two"
msgstr ""
+msgid "Plural"
+msgstr ""
+
msgid "Other"
msgstr ""
@@ -734,6 +855,12 @@ msgstr ""
msgid "Show Sidebar"
msgstr ""
+msgid "Hide Status Bar"
+msgstr ""
+
+msgid "Show Status Bar"
+msgstr ""
+
msgid "Source text"
msgstr "स्त्रोत पाठ्य"
@@ -743,6 +870,10 @@ msgstr "भाषांतर"
msgid "ID"
msgstr ""
+#, c-format
+msgid "Source text — %s"
+msgstr ""
+
msgid "unknown language"
msgstr ""
@@ -753,57 +884,73 @@ msgstr ""
msgid "Error:"
msgstr ""
-msgid "Project info"
-msgstr "प्रकल्पाची माहिती"
+msgid "Source file"
+msgstr "स्त्रोत फाईल"
-msgid "Project name and version:"
-msgstr "प्रकल्पाचे नाव आणि आवृत्ती:"
+msgid "Source file occurrence:"
+msgstr "स्त्रोत फाईल घटनाक्रम:"
-msgid "Language:"
-msgstr "भाषा:"
+msgid "Open in Editor"
+msgstr ""
-msgid "Team:"
-msgstr "संघ:"
+msgid "Open in editor"
+msgstr ""
-msgid "Team's email address:"
-msgstr "संघाचा ई-मेल पत्ता:"
+msgid "No references for the selected item."
+msgstr ""
-msgid "Charset:"
-msgstr "अक्षरसंच:"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "फाईल %s उघडण्यात त्रुटी!"
+
+msgid "Find"
+msgstr ""
-msgid "Source"
-msgstr "स्त्रोत"
+msgid "Replace"
+msgstr ""
-msgid "Notes"
-msgstr "टीपा:"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr ""
-msgid "Automatic translation"
-msgstr "स्वयंचलित भाषांतर"
+msgid "Ignore case"
+msgstr ""
-msgid "Fuzzy translation"
-msgstr "अस्पष्ट भाषांतर"
+msgid "Wrap around"
+msgstr ""
-msgid "Notes for translators:"
+msgid "Whole words only"
+msgstr "फक्त संपूर्ण शब्द"
+
+msgid "Find in source texts"
msgstr ""
-msgid "Comment:"
-msgstr "टीप:"
+msgid "Find in translations"
+msgstr ""
-msgid "Source file"
-msgstr "स्त्रोत फाईल"
+msgid "Find in comments"
+msgstr "टीपांमध्ये शोध"
-msgid "Source file occurrence:"
-msgstr "स्त्रोत फाईल घटनाक्रम:"
+msgid "Close"
+msgstr "बंद"
-msgid "Open in Editor"
+msgid "Replace All"
msgstr ""
-msgid "Open in editor"
+msgid "Replace all"
msgstr ""
-#, c-format
-msgid "Error opening file %s!"
-msgstr "फाईल %s उघडण्यात त्रुटी!"
+msgid "< &Previous"
+msgstr ""
+
+msgid "&Next >"
+msgstr ""
+
+msgid "String to find"
+msgstr ""
+
+msgid "Replacement string"
+msgstr ""
#, c-format
msgid "Cannot execute program: %s"
@@ -995,9 +1142,19 @@ msgstr "नवीन"
msgid "Edit"
msgstr "संपादन"
+msgid "Delete extractor"
+msgstr ""
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr ""
+
msgid "Extractors"
msgstr ""
+msgid "Accounts"
+msgstr ""
+
msgid "Automatically check for updates"
msgstr ""
@@ -1036,7 +1193,34 @@ msgstr ""
msgid "Advanced"
msgstr ""
-msgid "Additional keywords"
+msgid ""
+"<big>Drag and Drop Folders Here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid ""
+"<big>Drag and drop folders here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid "Add Folders..."
+msgstr ""
+
+msgid "Add folders..."
+msgstr ""
+
+msgid "Add Files..."
+msgstr ""
+
+msgid "Add files..."
+msgstr ""
+
+msgid "Add Wildcard..."
+msgstr ""
+
+msgid "Add wildcard..."
msgstr ""
msgid "Paths"
@@ -1045,6 +1229,9 @@ msgstr "ठिकाणं"
msgid "Excluded paths"
msgstr ""
+msgid "Additional keywords"
+msgstr ""
+
msgid "Name of the project the translation is for"
msgstr ""
@@ -1057,6 +1244,9 @@ msgstr "UTF-8 (हे योग्य राहील)"
msgid "Please save the file first. This section cannot be edited until then."
msgstr ""
+msgid "Comment:"
+msgstr "टीप:"
+
msgid "OK"
msgstr "ठीक"
@@ -1066,42 +1256,6 @@ msgstr ""
msgid "Clear the comment"
msgstr "टीप स्वच्छ कर"
-msgid "Find..."
-msgstr "शोध..."
-
-msgid "String to find:"
-msgstr "शोधायचा मजकूर:"
-
-msgid "Case sensitive"
-msgstr "Case Sensitive (अक्षरांतील फरक महत्वाचा)"
-
-msgid "Start from the first item"
-msgstr "पहिल्या कलमापासून सुरूवात करा"
-
-msgid "Whole words only"
-msgstr "फक्त संपूर्ण शब्द"
-
-msgid "Find in original strings"
-msgstr "मूळ मजकुरांमध्ये शोध"
-
-msgid "Find in translations"
-msgstr ""
-
-msgid "Find in comments"
-msgstr "टीपांमध्ये शोध"
-
-msgid "Find in automatic comments"
-msgstr "स्वयंचलित टीपांमध्ये शोध"
-
-msgid "Close"
-msgstr "बंद"
-
-msgid "< &Previous"
-msgstr ""
-
-msgid "&Next >"
-msgstr ""
-
msgid "Create new translations project"
msgstr "नवीन भाषांतर प्रकल्प बनव"
@@ -1156,6 +1310,12 @@ msgstr "...उघड (&O)"
msgid "Open Recent"
msgstr ""
+msgid "Open from Crowdin..."
+msgstr ""
+
+msgid "Open From Crowdin..."
+msgstr ""
+
msgid "&Save"
msgstr "सेव्ह कर (&S)"
@@ -1204,13 +1364,16 @@ msgstr "संदर्भं दाखव (&S)"
msgid "&Find..."
msgstr "शोध... (&F)"
+msgid "Replace..."
+msgstr ""
+
msgid "Find next"
msgstr ""
msgid "Find previous"
msgstr ""
-msgid "Find"
+msgid "Find and Replace..."
msgstr ""
msgid "Find Next"
@@ -1252,6 +1415,12 @@ msgstr ""
msgid "&Group By Context"
msgstr ""
+msgid "Entries with errors first"
+msgstr ""
+
+msgid "Entries with Errors First"
+msgstr ""
+
msgid "&Untranslated entries first"
msgstr "भाषांतर न केलेली मजकुरं प्रथम (&U)"
@@ -1261,6 +1430,9 @@ msgstr "भाषांतर न केलेली मजकुरं प्
msgid "Show sidebar"
msgstr ""
+msgid "Show status bar"
+msgstr ""
+
msgid "C&atalog"
msgstr "संग्रह (&a)"
@@ -1276,6 +1448,9 @@ msgstr "POT फाईलपासून अद्ययावत कर... (&P)"
msgid "Update from &POT File..."
msgstr "POT फाईलपासून अद्ययावत कर... (&P)"
+msgid "Sync with Crowdin"
+msgstr ""
+
msgid "Fill missing translations from &TM..."
msgstr ""
@@ -1399,6 +1574,9 @@ msgstr ""
msgid "Catalog properties"
msgstr "संग्रहाचे गुणधर्म"
+msgid "Project name and version:"
+msgstr "प्रकल्पाचे नाव आणि आवृत्ती:"
+
msgid "Plural Forms:"
msgstr "अनेकवचनी रूपं:"
@@ -1411,6 +1589,15 @@ msgstr ""
msgid "Learn about plural forms"
msgstr ""
+msgid "Charset:"
+msgstr "अक्षरसंच:"
+
+msgid "Team:"
+msgstr "संघ:"
+
+msgid "Team's email address:"
+msgstr "संघाचा ई-मेल पत्ता:"
+
msgid "Translation properties"
msgstr ""
@@ -1483,7 +1670,7 @@ msgstr "संग्रह अद्ययावत कर - स्त्रो
msgid "Toggled if selected string has fuzzy translation"
msgstr "निवडलेल्या मजकूराचे भाषांतर अस्पष्ट असल्यास टोलावले जाईल"
-msgid "Show or hide the sidebar."
+msgid "Show or hide the sidebar"
msgstr ""
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
@@ -1495,6 +1682,9 @@ msgid ""
"translation corresponds to."
msgstr ""
+msgid "Notes for translators:"
+msgstr ""
+
msgid "Add comment"
msgstr ""
@@ -1567,14 +1757,21 @@ msgstr ""
msgid "Open an existing PO file and edit the translation."
msgstr ""
-msgid "Create new translation"
-msgstr ""
-
msgid ""
"Take an existing PO file or POT template and create a new translation from "
"it."
msgstr ""
+msgid "Collaborate on a translation with Crowdin"
+msgstr ""
+
+msgid ""
+"Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+
+msgid "What is Crowdin?"
+msgstr ""
+
msgid "There are no translations. That’s unusual."
msgstr ""
@@ -1607,3 +1804,9 @@ msgstr ""
msgid "Configure source code extraction in Properties."
msgstr ""
+
+msgid "Sync"
+msgstr ""
+
+msgid "Synchronize the translation with Crowdin"
+msgstr ""
diff --git a/locales/ms.mo b/locales/ms.mo
index 5167fc0..3fcee88 100644
Binary files a/locales/ms.mo and b/locales/ms.mo differ
diff --git a/locales/ms.po b/locales/ms.po
index b503911..020a0ba 100644
--- a/locales/ms.po
+++ b/locales/ms.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:33-0400\n"
+"POT-Creation-Date: 2015-05-13 18:47+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Malay\n"
"Language: ms_MY\n"
@@ -17,7 +17,7 @@ msgstr ""
"X-Crowdin-File: /locales/poedit.pot\n"
msgid "Hide this notification message"
-msgstr "Sorok mesej notis ini"
+msgstr "Sembunyikan mesej pemberitahuan ini"
msgid "Don't Show Again"
msgstr ""
@@ -36,17 +36,15 @@ msgstr "Baris %d fail '%s' rosak (data %s tidak sah)."
#, c-format
msgid "Malformed header: '%s'"
-msgstr "Header cacat: '%s'"
+msgstr "Pengepala canggaan: '%s'"
msgid ""
"Broken catalog file: singular form msgstr used together with msgid_plural"
msgstr ""
-"Fail katalog rosak: kata tunggal daripada msgstr digunakan bersama "
-"msgid_plural"
+"Fail katalog rosak: kata tunggal msgstr digunakan bersama dengan msgid_plural"
msgid "Broken catalog file: plural form msgstr used without msgid_plural"
-msgstr ""
-"Fail katalog rosak: kata jamak daripada msgstr digunakan tanpa msgid_plural"
+msgstr "Fail katalog rosak: kata jamak msgstr digunakan tanpa msgid_plural"
msgid ""
"There were errors when loading the catalog. Some data may be missing or "
@@ -57,19 +55,19 @@ msgstr ""
#, c-format
msgid "Couldn't load file %s, it is probably corrupted."
-msgstr "Gagal memuat fail '%s', berkemungkinan rosak."
+msgstr "Gagal memuat fail %s, ia berkemungkinan rosak."
#, c-format
msgid ""
"File '%s' is read-only and cannot be saved.\n"
"Please save it under different name."
msgstr ""
-"File '%s' adalah baca-saja dan tidak dapat disimpan.\n"
-"Sila simpan dengan nama lain."
+"File '%s' adalah baca-sahaja dan tidak dapat disimpan.\n"
+"Sila simpannya dengan nama lain."
#, c-format
msgid "Couldn't save file %s."
-msgstr "Tidak dapat simpan fail %s."
+msgstr "Tidak dapat menyimpan fail %s."
msgid ""
"There was a problem formatting the file nicely (but it was saved all right)."
@@ -92,12 +90,21 @@ msgstr ""
msgid "Error saving catalog"
msgstr "Ralat menyimpan katalog"
+msgid "PO Translation Files"
+msgstr "Fail Terjemahan PO"
+
+msgid "POT Translation Templates"
+msgstr "Templat Terjemahan POT"
+
+msgid "All Translation Files"
+msgstr ""
+
msgid "Merging differences..."
-msgstr "Menggabung perbezaan..."
+msgstr "Menggabungkan perbezaan..."
#, c-format
msgid "'%s' is not a valid POT file."
-msgstr "'%s' bukanlah fail POT sah."
+msgstr "'%s' bukan fail POT yang sah."
msgid "(Use default language)"
msgstr "(Guna bahasa lalai)"
@@ -106,23 +113,100 @@ msgid "Select your preferred language"
msgstr "Pilih bahasa keutamaan anda"
msgid "Language selection"
-msgstr "Pilihan Bahasa "
+msgstr "Pilihan bahasa"
msgid "You must restart Poedit for this change to take effect."
-msgstr "Jalankan semula Poedit untuk mengaktifkan perubahan."
+msgstr "Mula semula Poedit untuk mengaktifkan perubahan ini."
+
+msgid "Downloading translations is disabled in this project."
+msgstr ""
+
+msgid "Not authorized, please sign in again."
+msgstr ""
+
+msgid "Sign in to Crowdin"
+msgstr ""
+
+msgid ""
+"Crowdin is an online localization management platform and collaborative "
+"translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+
+msgid "Sign In"
+msgstr ""
+
+msgid "Sign in"
+msgstr ""
+
+msgid "Sign Out"
+msgstr ""
+
+msgid "Sign out"
+msgstr ""
+
+msgid "Waiting for authentication…"
+msgstr ""
+
+msgid "Updating user information…"
+msgstr ""
+
+msgid "Signed in as:"
+msgstr ""
+
+msgid "Learn More About Crowdin"
+msgstr ""
+
+msgid "Learn more about Crowdin"
+msgstr ""
+
+msgid "Open Crowdin translation"
+msgstr ""
+
+msgid "Project:"
+msgstr ""
+
+msgid "Language:"
+msgstr "Bahasa:"
+
+msgid "File:"
+msgstr ""
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr ""
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr ""
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr ""
+
+msgid "Downloading latest translations…"
+msgstr ""
+
+msgid "Syncing with Crowdin"
+msgstr ""
+
+msgid "Syncing with Crowdin failed."
+msgstr ""
+
+msgid "Crowdin error"
+msgstr ""
+
+msgid "Uploading translations…"
+msgstr ""
msgid "&Copy"
msgstr "&Salin"
msgid "Learn more"
-msgstr "Pelajari lagi"
+msgstr "Ketahui lebih lanjut"
msgid "Learn More"
msgstr "Ketahui Lebih Lanjut"
#, c-format
msgid "Failed command: %s"
-msgstr "Araham gagal: %s"
+msgstr "Perintah gagal: %s"
msgid "Failed to merge gettext catalogs."
msgstr "Gagal menggabungkan katalog gettext."
@@ -133,7 +217,7 @@ msgstr "Mengimbas fail..."
#. TRANSLATORS: '%s' is replaced with the kind of the files (e.g. C++, PHP, ...)
#, c-format
msgid "Parsing %s files..."
-msgstr "Menghurai %s fail..."
+msgstr "Menghurai fail %s..."
msgid "Failed to load extracted catalog."
msgstr "Gagal memuat katalog yang diekstrak."
@@ -155,7 +239,10 @@ msgstr ""
"akan dikemaskini juga."
msgid "don't delete temporary files (for debugging)"
-msgstr "jangan padam fail semestara (untuk menyahpepijat)"
+msgstr "jangan padam fail sementara (untuk menyahpepijat)"
+
+msgid "handle a poedit:// URI"
+msgstr ""
#, c-format
msgid "Unhandled exception occurred: %s"
@@ -167,12 +254,6 @@ msgstr "Pengecualian tidak dikendalikan berlaku."
msgid "Open catalog"
msgstr "Buka katalog"
-msgid "All Files"
-msgstr "Semua Fail"
-
-msgid "PO Translation Files"
-msgstr "Fail Terjemahan PO"
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "Fail '%s' tidak wujud."
@@ -181,7 +262,7 @@ msgstr "Fail '%s' tidak wujud."
#. ("Poedit" here, but please use "%s")
#, c-format
msgid "About %s"
-msgstr "Perihal %s"
+msgstr "Mengenai %s"
#. TRANSLATORS: This is version information in about dialog, "%s" will be
#. version number when used
@@ -190,7 +271,7 @@ msgid "Version %s"
msgstr "Versi %s"
msgid "Poedit is an easy to use translations editor."
-msgstr "Podit adalah edit terjemahan yang mudah guna."
+msgstr "Poedit adalah editor terjemahan yang mudah digunakan."
msgid "Catalogs Manager"
msgstr "Pengurus Katalog"
@@ -202,10 +283,10 @@ msgid "&Edit"
msgstr "&Edit"
msgid "Undo"
-msgstr "Batal"
+msgstr "Buat asal"
msgid "Redo"
-msgstr "Ulanglaku"
+msgstr "Buat semula"
msgid "Paste and Match Style"
msgstr "Tampal dan Padankan Gaya"
@@ -220,10 +301,10 @@ msgid "Show Spelling and Grammar"
msgstr "Tunjuk Ejaan dan Tatabahasa"
msgid "Check Document Now"
-msgstr "Periksa Dokumen Sekatang"
+msgstr "Periksa Dokumen Sekarang"
msgid "Check Spelling While Typing"
-msgstr "Periksa Ejaan Tika Menaip"
+msgstr "Periksa Ejaan Ketika Menaip"
msgid "Check Grammar With Spelling"
msgstr "Periksa Tatabahasa Dengan Ejaan"
@@ -232,7 +313,7 @@ msgid "Correct Spelling Automatically"
msgstr "Betulkan Ejaan Secara Automatik"
msgid "Substitutions"
-msgstr "PErtukaran"
+msgstr "Penggantian"
msgid "Show Substitutions"
msgstr "Tunjuk Pertukaran"
@@ -387,7 +468,7 @@ msgid "&File"
msgstr "&Fail"
msgid "&Go"
-msgstr "Per&gi"
+msgstr "&Pergi"
msgid "Source text:"
msgstr "Teks sumber:"
@@ -401,6 +482,17 @@ msgstr "Jamak:"
msgid "Translation:"
msgstr "Terjemahan:"
+msgid ""
+"POT files are only templates and don’t contain any translations themselves.\n"
+"To make a translation, create a new PO file based on the template."
+msgstr ""
+
+msgid "Create New Translation"
+msgstr ""
+
+msgid "Create new translation"
+msgstr "Cipta terjemahan baru"
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
@@ -448,9 +540,6 @@ msgstr "Fail HTML"
msgid "Open catalog template"
msgstr "Buka templat katalog"
-msgid "POT Translation Templates"
-msgstr "Templat Terjemahan POT"
-
msgid "Updating catalog"
msgstr "Mengemaskini katalog"
@@ -524,18 +613,20 @@ msgstr[0] ""
msgid "The translation is ready for use."
msgstr "Terjemahan sedia untuk digunakan."
-msgid "No references to this string found."
-msgstr "Tiada rujukan kepada rentetan ini tidak ditemui."
-
-msgid "Please choose the reference you want to show:"
-msgstr "Sila pilih rujukan yang anda ingin tunjukkan:"
-
-msgid "References"
-msgstr "Rujukan"
-
msgid "Context:"
msgstr "Konteks:"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr ""
+
+msgid ""
+"The file contained duplicate items, which is not allowed in PO files and "
+"would prevent the file from being used. Poedit fixed the issue, but you "
+"should review translations of any items marked as fuzzy and correct them if "
+"necessary."
+msgstr ""
+
msgid "Language of the translation isn't set."
msgstr "Bahasa terjemahan tidak ditetapkan."
@@ -545,6 +636,21 @@ msgstr ""
msgid "Set language"
msgstr "Tetapkan bahasa "
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid ""
+"Suggestions are not available if the translation language is not set "
+"correctly. Other features, such as plural forms, may be affected as well."
+msgstr ""
+
+msgid "Language of the translation is the same as source language."
+msgstr ""
+
+msgid "Fix Language"
+msgstr ""
+
+msgid "Fix language"
+msgstr ""
+
msgid ""
"This catalog has entries with plural forms, but doesn't have Plural-Forms "
"header configured."
@@ -580,6 +686,7 @@ msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr ""
"Bentuk ungkapan kata jamak yang digunakan oleh katalog untuk %s luar biasa. "
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr ""
@@ -600,11 +707,16 @@ msgid "%d error"
msgid_plural "%d errors"
msgstr[0] ""
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] ""
+
msgid " (unsaved)"
-msgstr " (tak tersimpan)"
+msgstr " (tidak disimpan)"
msgid " (modified)"
-msgstr " (berubah)"
+msgstr " (diubah suai)"
msgid "Go"
msgstr ""
@@ -693,10 +805,10 @@ msgid_plural "Translated %u strings"
msgstr[0] "Rentetan %u yang telah diterjemah"
msgid "Copy from source text"
-msgstr "Salin daripada teks sumber"
+msgstr "Salin daripada Sumber Teks"
msgid "Copy from Source Text"
-msgstr "Salin daripada Teks Sumber"
+msgstr "Salin daripada Sumber Teks"
msgid "Clear translation"
msgstr "Lapangkan terjemahan"
@@ -720,6 +832,9 @@ msgstr "Kesemuanya"
msgid "Form %i"
msgstr "Borang %i"
+msgid "Singular"
+msgstr ""
+
msgid "Zero"
msgstr "Sifar"
@@ -729,11 +844,14 @@ msgstr "Satu"
msgid "Two"
msgstr "Dua"
+msgid "Plural"
+msgstr ""
+
msgid "Other"
msgstr "Lain"
msgid "&Bookmarks"
-msgstr "Tanda &Buku"
+msgstr "&Penanda Buku"
#, c-format
msgid "Set bookmark %i"
@@ -757,6 +875,12 @@ msgstr ""
msgid "Show Sidebar"
msgstr ""
+msgid "Hide Status Bar"
+msgstr ""
+
+msgid "Show Status Bar"
+msgstr ""
+
msgid "Source text"
msgstr "Teks sumber"
@@ -766,6 +890,10 @@ msgstr "Terjemahan"
msgid "ID"
msgstr "ID"
+#, c-format
+msgid "Source text — %s"
+msgstr ""
+
msgid "unknown language"
msgstr "bahasa tidak diketahui"
@@ -776,57 +904,73 @@ msgstr "Terjemahan — %s"
msgid "Error:"
msgstr "Ralat:"
-msgid "Project info"
-msgstr "Info projek"
+msgid "Source file"
+msgstr "Fail sumber"
-msgid "Project name and version:"
-msgstr "Nama Projek dan versi :"
+msgid "Source file occurrence:"
+msgstr "Berlakunya fail sumber:"
-msgid "Language:"
-msgstr "Bahasa:"
+msgid "Open in Editor"
+msgstr ""
-msgid "Team:"
-msgstr "Pasukan:"
+msgid "Open in editor"
+msgstr ""
-msgid "Team's email address:"
-msgstr "Alamat email pasukan:"
+msgid "No references for the selected item."
+msgstr ""
-msgid "Charset:"
-msgstr "Set aksara:"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "Ralat membuka fail %s!"
+
+msgid "Find"
+msgstr "Cari"
-msgid "Source"
-msgstr "Sumber"
+msgid "Replace"
+msgstr ""
-msgid "Notes"
-msgstr "Nota"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr ""
-msgid "Automatic translation"
-msgstr "Terjemahan automatik"
+msgid "Ignore case"
+msgstr ""
-msgid "Fuzzy translation"
-msgstr "Terjemahan kabur"
+msgid "Wrap around"
+msgstr ""
-msgid "Notes for translators:"
-msgstr "Nota untuk penterjemah:"
+msgid "Whole words only"
+msgstr "Semua kata sahaja"
-msgid "Comment:"
-msgstr "Komen:"
+msgid "Find in source texts"
+msgstr ""
-msgid "Source file"
-msgstr "Fail sumber"
+msgid "Find in translations"
+msgstr "Cari dalam terjemahan"
-msgid "Source file occurrence:"
-msgstr "Berlakunya fail sumber:"
+msgid "Find in comments"
+msgstr "Cari dalam komen"
-msgid "Open in Editor"
+msgid "Close"
+msgstr "Tutup"
+
+msgid "Replace All"
msgstr ""
-msgid "Open in editor"
+msgid "Replace all"
msgstr ""
-#, c-format
-msgid "Error opening file %s!"
-msgstr "Ralat membuka fail %s!"
+msgid "< &Previous"
+msgstr "< &Sebelumnya"
+
+msgid "&Next >"
+msgstr "&Seterusnya >"
+
+msgid "String to find"
+msgstr ""
+
+msgid "Replacement string"
+msgstr ""
#, c-format
msgid "Cannot execute program: %s"
@@ -857,7 +1001,7 @@ msgid "Fuzzy"
msgstr "Kabur"
msgid "Bad Tokens"
-msgstr "Token rosak"
+msgstr "Token Rosak"
msgid "Last modified"
msgstr "Terakhir diubah"
@@ -919,7 +1063,7 @@ msgid "Check spelling"
msgstr "Periksa ejaan"
msgid "Always change focus to text input field"
-msgstr "Sentiasa ubah fokus ke medam masukan teks"
+msgstr "Sentiasa ubah fokus ke medan input teks"
msgid ""
"Never let the list of strings take focus. If enabled, you must use Ctrl-"
@@ -1028,9 +1172,19 @@ msgstr "Baru"
msgid "Edit"
msgstr "Edit"
+msgid "Delete extractor"
+msgstr ""
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr ""
+
msgid "Extractors"
msgstr "Pengekstrak"
+msgid "Accounts"
+msgstr ""
+
msgid "Automatically check for updates"
msgstr "Periksa kemaskini secara automatik"
@@ -1071,8 +1225,35 @@ msgstr ""
msgid "Advanced"
msgstr ""
-msgid "Additional keywords"
-msgstr "Katakunci tambahan"
+msgid ""
+"<big>Drag and Drop Folders Here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid ""
+"<big>Drag and drop folders here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid "Add Folders..."
+msgstr ""
+
+msgid "Add folders..."
+msgstr ""
+
+msgid "Add Files..."
+msgstr ""
+
+msgid "Add files..."
+msgstr ""
+
+msgid "Add Wildcard..."
+msgstr ""
+
+msgid "Add wildcard..."
+msgstr ""
msgid "Paths"
msgstr "Laluan"
@@ -1080,6 +1261,9 @@ msgstr "Laluan"
msgid "Excluded paths"
msgstr "Laluan Dikecualikan"
+msgid "Additional keywords"
+msgstr "Kata kunci tambahan"
+
msgid "Name of the project the translation is for"
msgstr "Nama projek terjemahan adalah untuk"
@@ -1092,6 +1276,9 @@ msgstr "UTF-8 (disarankan)"
msgid "Please save the file first. This section cannot be edited until then."
msgstr "Sila simpan fail dahulu. Seksyen ini tidak boleh diedit buat masa ini."
+msgid "Comment:"
+msgstr "Komen:"
+
msgid "OK"
msgstr "OK"
@@ -1101,42 +1288,6 @@ msgstr "&Lapang"
msgid "Clear the comment"
msgstr "Lapangkan komen"
-msgid "Find..."
-msgstr "Cari..."
-
-msgid "String to find:"
-msgstr "Rentetan dicari:"
-
-msgid "Case sensitive"
-msgstr "Kes sensitif"
-
-msgid "Start from the first item"
-msgstr "Mulakan dari item pertama"
-
-msgid "Whole words only"
-msgstr "Semua kata sahaja"
-
-msgid "Find in original strings"
-msgstr "Cari dalam rentetan asal"
-
-msgid "Find in translations"
-msgstr "Cari dalam terjemahan"
-
-msgid "Find in comments"
-msgstr "Cari dalam komen"
-
-msgid "Find in automatic comments"
-msgstr "Cari dalam komen automatik"
-
-msgid "Close"
-msgstr "Tutup"
-
-msgid "< &Previous"
-msgstr "< &Terdahulu"
-
-msgid "&Next >"
-msgstr "&Berikut >"
-
msgid "Create new translations project"
msgstr "Cipta projek terjemahan baru"
@@ -1191,6 +1342,12 @@ msgstr "&Buka..."
msgid "Open Recent"
msgstr "Buka Terbaru"
+msgid "Open from Crowdin..."
+msgstr ""
+
+msgid "Open From Crowdin..."
+msgstr ""
+
msgid "&Save"
msgstr "&Simpan"
@@ -1239,14 +1396,17 @@ msgstr "&Tunjuk Rujukan"
msgid "&Find..."
msgstr "&Cari..."
+msgid "Replace..."
+msgstr ""
+
msgid "Find next"
msgstr "Cari berikut"
msgid "Find previous"
msgstr "Cari terdahulu"
-msgid "Find"
-msgstr "Cari"
+msgid "Find and Replace..."
+msgstr ""
msgid "Find Next"
msgstr "Cari Berikut"
@@ -1287,23 +1447,32 @@ msgstr "&Kumpulan melalui konteks"
msgid "&Group By Context"
msgstr "&Kumpulkan Melalui Konteks"
+msgid "Entries with errors first"
+msgstr ""
+
+msgid "Entries with Errors First"
+msgstr ""
+
msgid "&Untranslated entries first"
-msgstr "Masukan bel&um diterjemah pertama"
+msgstr "&Masukan tidak diterjemah terlebih dahulu"
msgid "&Untranslated Entries First"
-msgstr "Masukan Bel&um Diterjemah Pertama"
+msgstr "&Masukan Belum Diterjemah Terlebih Dahulu"
msgid "Show sidebar"
msgstr ""
+msgid "Show status bar"
+msgstr ""
+
msgid "C&atalog"
msgstr "K&atalog"
msgid "&Update from sources"
-msgstr "Kemaskini dari s&umber"
+msgstr "&Kemas kini dari sumber"
msgid "&Update from Sources"
-msgstr "Kemaskini dari S&umber"
+msgstr "&Kemas kini dari Sumber"
msgid "Update from &POT file..."
msgstr "Kemaskini dari fail &POT..."
@@ -1311,6 +1480,9 @@ msgstr "Kemaskini dari fail &POT..."
msgid "Update from &POT File..."
msgstr "Kemaskini dari Fail &POT..."
+msgid "Sync with Crowdin"
+msgstr ""
+
msgid "Fill missing translations from &TM..."
msgstr ""
@@ -1318,10 +1490,10 @@ msgid "Fill Missing Translations from &TM..."
msgstr ""
msgid "&Purge deleted translations"
-msgstr "Usir terjemahan diha&pus"
+msgstr "&Singkirkan terjemahan dihapus"
msgid "&Purge Deleted Translations"
-msgstr "Usir Terjemahan Diha&pus"
+msgstr "&Singkirkan Terjemahan Dihapus"
msgid "&Validate translations"
msgstr "&Sahkan terjemahan"
@@ -1330,13 +1502,13 @@ msgid "&Validate Translations"
msgstr "&Sahkan Terjemahan"
msgid "&Properties..."
-msgstr "&Ciri-ciri..."
+msgstr "&Sifat..."
msgid "&Done and next"
-msgstr "Selesai &dan berikut"
+msgstr "&Selesai dan seterusnya"
msgid "&Done and Next"
-msgstr "Selesai &dan Berikut"
+msgstr "&Selesai dan Seterusnya"
msgid "&Previous translation"
msgstr "&Terjemahan sebelumnya"
@@ -1363,10 +1535,10 @@ msgid "Ne&xt Unfinished"
msgstr "&Selepasnya yang Tidak Selesai"
msgid "&Online help"
-msgstr "Bantuan atas talian"
+msgstr "&Bantuan dalam talian"
msgid "&Online Help"
-msgstr "Bantuan Atas Talian"
+msgstr "&Bantuan dalam talian"
msgid "&GNU gettext manual"
msgstr "Manual &GNU gettext"
@@ -1375,10 +1547,10 @@ msgid "&GNU gettext Manual"
msgstr "Manual &GNU gettext"
msgid "&About Poedit"
-msgstr "Perih&al Poedit"
+msgstr "&Mengenai Poedit"
msgid "&About"
-msgstr "Perih&al"
+msgstr "&Mengenai"
msgid "Extractor setup"
msgstr "Persediaan pengekstrak"
@@ -1400,7 +1572,7 @@ msgid ""
msgstr ""
msgid "An item in keywords list:"
-msgstr "Item dalam fail senarai katakunci:"
+msgstr "Item dalam senarai kata kunci:"
msgid ""
"This will be attached to the command line once\n"
@@ -1435,6 +1607,9 @@ msgstr ""
msgid "Catalog properties"
msgstr "Ciri-ciri katalog"
+msgid "Project name and version:"
+msgstr "Nama Projek dan versi :"
+
msgid "Plural Forms:"
msgstr "Tatacara jamak:"
@@ -1447,6 +1622,15 @@ msgstr "Guna ungkapan langganan"
msgid "Learn about plural forms"
msgstr "Pelajari perihal bentuk kata jamak"
+msgid "Charset:"
+msgstr "Set aksara:"
+
+msgid "Team:"
+msgstr "Pasukan:"
+
+msgid "Team's email address:"
+msgstr "Alamat email pasukan:"
+
msgid "Translation properties"
msgstr "Sifat terjemahan"
@@ -1454,7 +1638,7 @@ msgid "Extract text from source files in the following directories:"
msgstr "Ekstrak teks daripada fail sumber di dalam direktori berikut:"
msgid "Base path:"
-msgstr "Laluan dasar:"
+msgstr "Laluan asas:"
msgid "Sources paths"
msgstr "Laluan sumber"
@@ -1519,7 +1703,7 @@ msgstr "Kemaskini katalog - segerakkannya dengan sumber"
msgid "Toggled if selected string has fuzzy translation"
msgstr "Togol jika rentetan dipilih mempunyai terjemahan kabur"
-msgid "Show or hide the sidebar."
+msgid "Show or hide the sidebar"
msgstr ""
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
@@ -1531,6 +1715,9 @@ msgid ""
"translation corresponds to."
msgstr ""
+msgid "Notes for translators:"
+msgstr "Nota untuk penterjemah:"
+
msgid "Add comment"
msgstr ""
@@ -1610,14 +1797,21 @@ msgstr "Edit terjemahan"
msgid "Open an existing PO file and edit the translation."
msgstr "Buka dan edit fail PO sedia ada."
-msgid "Create new translation"
-msgstr "Cipta terjemahan baru"
-
msgid ""
"Take an existing PO file or POT template and create a new translation from "
"it."
msgstr "Ambil fail PO atau templat POT dan cipta terjemahan baru daripadanya."
+msgid "Collaborate on a translation with Crowdin"
+msgstr ""
+
+msgid ""
+"Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+
+msgid "What is Crowdin?"
+msgstr ""
+
msgid "There are no translations. That’s unusual."
msgstr "Tida terdapat terjemahan. Ini luar biasa."
@@ -1660,3 +1854,9 @@ msgstr "Ekstrak daripada sumber"
msgid "Configure source code extraction in Properties."
msgstr "Konfigur pengekstrakan kod sumber pada Ciri-ciri."
+
+msgid "Sync"
+msgstr ""
+
+msgid "Synchronize the translation with Crowdin"
+msgstr ""
diff --git a/locales/nb.mo b/locales/nb.mo
index dd4f882..7025840 100644
Binary files a/locales/nb.mo and b/locales/nb.mo differ
diff --git a/locales/nb.po b/locales/nb.po
index 6038823..d5861cf 100644
--- a/locales/nb.po
+++ b/locales/nb.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:33-0400\n"
+"POT-Creation-Date: 2015-05-13 18:47+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Norwegian Bokmal\n"
"Language: nb_NO\n"
@@ -89,6 +89,15 @@ msgstr ""
msgid "Error saving catalog"
msgstr "Feil ved lagring av katalog"
+msgid "PO Translation Files"
+msgstr "PO oversettelsesfiler"
+
+msgid "POT Translation Templates"
+msgstr "POT oversettelse maler"
+
+msgid "All Translation Files"
+msgstr ""
+
msgid "Merging differences..."
msgstr "Slår sammen endringer ..."
@@ -108,6 +117,83 @@ msgstr "Språk valg"
msgid "You must restart Poedit for this change to take effect."
msgstr "Du må restarte Poedit for at denne endringene skal bli tatt i bruk."
+msgid "Downloading translations is disabled in this project."
+msgstr ""
+
+msgid "Not authorized, please sign in again."
+msgstr ""
+
+msgid "Sign in to Crowdin"
+msgstr ""
+
+msgid ""
+"Crowdin is an online localization management platform and collaborative "
+"translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+
+msgid "Sign In"
+msgstr ""
+
+msgid "Sign in"
+msgstr ""
+
+msgid "Sign Out"
+msgstr ""
+
+msgid "Sign out"
+msgstr ""
+
+msgid "Waiting for authentication…"
+msgstr ""
+
+msgid "Updating user information…"
+msgstr ""
+
+msgid "Signed in as:"
+msgstr ""
+
+msgid "Learn More About Crowdin"
+msgstr ""
+
+msgid "Learn more about Crowdin"
+msgstr ""
+
+msgid "Open Crowdin translation"
+msgstr ""
+
+msgid "Project:"
+msgstr ""
+
+msgid "Language:"
+msgstr "&Språk:"
+
+msgid "File:"
+msgstr ""
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr ""
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr ""
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr ""
+
+msgid "Downloading latest translations…"
+msgstr ""
+
+msgid "Syncing with Crowdin"
+msgstr ""
+
+msgid "Syncing with Crowdin failed."
+msgstr ""
+
+msgid "Crowdin error"
+msgstr ""
+
+msgid "Uploading translations…"
+msgstr ""
+
msgid "&Copy"
msgstr "Kopier"
@@ -154,6 +240,9 @@ msgstr ""
msgid "don't delete temporary files (for debugging)"
msgstr "ikke Slett midlertidige filer (for feilsøking)"
+msgid "handle a poedit:// URI"
+msgstr ""
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr "Ubehandlet unntak oppstod: %s"
@@ -164,12 +253,6 @@ msgstr "Ubehandlet unntak oppstod."
msgid "Open catalog"
msgstr "Åpne katalog"
-msgid "All Files"
-msgstr "Alle filer"
-
-msgid "PO Translation Files"
-msgstr "PO oversettelsesfiler"
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "Fila «%s» fins ikke."
@@ -398,6 +481,17 @@ msgstr "Flertall:"
msgid "Translation:"
msgstr "Oversettelse:"
+msgid ""
+"POT files are only templates and don’t contain any translations themselves.\n"
+"To make a translation, create a new PO file based on the template."
+msgstr ""
+
+msgid "Create New Translation"
+msgstr ""
+
+msgid "Create new translation"
+msgstr "Lag ny oversettelse"
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
@@ -445,9 +539,6 @@ msgstr "HTML-filer"
msgid "Open catalog template"
msgstr "Åpne katalogmal"
-msgid "POT Translation Templates"
-msgstr "POT oversettelse maler"
-
msgid "Updating catalog"
msgstr "Oppdatere katalog"
@@ -526,18 +617,20 @@ msgstr[1] ""
msgid "The translation is ready for use."
msgstr "Oversettelsen er klar til bruk."
-msgid "No references to this string found."
-msgstr "Fant ingen referanse til teksten."
-
-msgid "Please choose the reference you want to show:"
-msgstr "Velg referansen du vil vise:"
-
-msgid "References"
-msgstr "Referanser"
-
msgid "Context:"
msgstr "Kontekst:"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr ""
+
+msgid ""
+"The file contained duplicate items, which is not allowed in PO files and "
+"would prevent the file from being used. Poedit fixed the issue, but you "
+"should review translations of any items marked as fuzzy and correct them if "
+"necessary."
+msgstr ""
+
msgid "Language of the translation isn't set."
msgstr "Språk oversettelsen er ikke satt."
@@ -547,6 +640,21 @@ msgstr "Angi språk"
msgid "Set language"
msgstr "Angi språk"
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid ""
+"Suggestions are not available if the translation language is not set "
+"correctly. Other features, such as plural forms, may be affected as well."
+msgstr ""
+
+msgid "Language of the translation is the same as source language."
+msgstr ""
+
+msgid "Fix Language"
+msgstr ""
+
+msgid "Fix language"
+msgstr ""
+
msgid ""
"This catalog has entries with plural forms, but doesn't have Plural-Forms "
"header configured."
@@ -581,6 +689,7 @@ msgstr "Reparer hode"
msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr "Flertallsformer uttrykket som brukes av katalogen er uvanlig for %s."
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr "Gjennomgang"
@@ -602,6 +711,12 @@ msgid_plural "%d errors"
msgstr[0] "%d feil"
msgstr[1] "%d feil"
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] ""
+msgstr[1] ""
+
msgid " (unsaved)"
msgstr " (ulagret)"
@@ -727,6 +842,9 @@ msgstr "Alt"
msgid "Form %i"
msgstr "Form %i"
+msgid "Singular"
+msgstr ""
+
msgid "Zero"
msgstr "Null"
@@ -736,6 +854,9 @@ msgstr "En"
msgid "Two"
msgstr "To"
+msgid "Plural"
+msgstr ""
+
msgid "Other"
msgstr "Andre"
@@ -764,6 +885,12 @@ msgstr "Skjul Sidepanel"
msgid "Show Sidebar"
msgstr "Vis Sidepanel"
+msgid "Hide Status Bar"
+msgstr ""
+
+msgid "Show Status Bar"
+msgstr ""
+
msgid "Source text"
msgstr "Kildetekst"
@@ -773,6 +900,10 @@ msgstr "Oversettelse"
msgid "ID"
msgstr "ID"
+#, c-format
+msgid "Source text — %s"
+msgstr ""
+
msgid "unknown language"
msgstr "Ukjent språk"
@@ -783,57 +914,73 @@ msgstr "Oversettelse-%s"
msgid "Error:"
msgstr "Feil:"
-msgid "Project info"
-msgstr "Prosjektinfo"
+msgid "Source file"
+msgstr "Kildefil"
-msgid "Project name and version:"
-msgstr "&Prosjektnavn og -versjon:"
+msgid "Source file occurrence:"
+msgstr "Kilde fil forekomst:"
-msgid "Language:"
-msgstr "&Språk:"
+msgid "Open in Editor"
+msgstr "Åpne i redigeringsprogram"
-msgid "Team:"
-msgstr "&Lag:"
+msgid "Open in editor"
+msgstr "Åpne i redigeringsprogram"
-msgid "Team's email address:"
-msgstr "&E-post-adressen til laget:"
+msgid "No references for the selected item."
+msgstr ""
-msgid "Charset:"
-msgstr "&Tegnkoding:"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "Feil ved åpning av fila «%s»."
-msgid "Source"
-msgstr "Kilde"
+msgid "Find"
+msgstr "Finn"
-msgid "Notes"
-msgstr "Notater"
+msgid "Replace"
+msgstr ""
-msgid "Automatic translation"
-msgstr "Automatisk oversettelse"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr ""
-msgid "Fuzzy translation"
-msgstr "Uklar oversettelse"
+msgid "Ignore case"
+msgstr ""
-msgid "Notes for translators:"
-msgstr "Notater for oversettere:"
+msgid "Wrap around"
+msgstr ""
-msgid "Comment:"
-msgstr "Kommentar:"
+msgid "Whole words only"
+msgstr "Bare hele ord"
-msgid "Source file"
-msgstr "Kildefil"
+msgid "Find in source texts"
+msgstr ""
-msgid "Source file occurrence:"
-msgstr "Kilde fil forekomst:"
+msgid "Find in translations"
+msgstr "Finn i oversettelser"
-msgid "Open in Editor"
-msgstr "Åpne i redigeringsprogram"
+msgid "Find in comments"
+msgstr "Finn i kommentarer"
-msgid "Open in editor"
-msgstr "Åpne i redigeringsprogram"
+msgid "Close"
+msgstr "Lukk"
-#, c-format
-msgid "Error opening file %s!"
-msgstr "Feil ved åpning av fila «%s»."
+msgid "Replace All"
+msgstr ""
+
+msgid "Replace all"
+msgstr ""
+
+msgid "< &Previous"
+msgstr "<Tidligere"
+
+msgid "&Next >"
+msgstr "&Neste >"
+
+msgid "String to find"
+msgstr ""
+
+msgid "Replacement string"
+msgstr ""
#, c-format
msgid "Cannot execute program: %s"
@@ -1036,9 +1183,19 @@ msgstr "&Ny"
msgid "Edit"
msgstr "&Rediger"
+msgid "Delete extractor"
+msgstr ""
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr ""
+
msgid "Extractors"
msgstr "Utpakker"
+msgid "Accounts"
+msgstr ""
+
msgid "Automatically check for updates"
msgstr "Automatisk se etter oppdateringer"
@@ -1081,8 +1238,35 @@ msgstr "Beholde formateringen av eksisterende filer"
msgid "Advanced"
msgstr "Avansert"
-msgid "Additional keywords"
-msgstr "Flere søkeord"
+msgid ""
+"<big>Drag and Drop Folders Here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid ""
+"<big>Drag and drop folders here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid "Add Folders..."
+msgstr ""
+
+msgid "Add folders..."
+msgstr ""
+
+msgid "Add Files..."
+msgstr ""
+
+msgid "Add files..."
+msgstr ""
+
+msgid "Add Wildcard..."
+msgstr ""
+
+msgid "Add wildcard..."
+msgstr ""
msgid "Paths"
msgstr "Stier"
@@ -1090,6 +1274,9 @@ msgstr "Stier"
msgid "Excluded paths"
msgstr "Ekskluderte baner"
+msgid "Additional keywords"
+msgstr "Flere søkeord"
+
msgid "Name of the project the translation is for"
msgstr "Navnet på prosjektet oversettelsen er for"
@@ -1102,6 +1289,9 @@ msgstr "UTF-8 (anbefales)"
msgid "Please save the file first. This section cannot be edited until then."
msgstr "Lagre filen først. Denne delen kan ikke redigeres før da."
+msgid "Comment:"
+msgstr "Kommentar:"
+
msgid "OK"
msgstr "&OK"
@@ -1111,42 +1301,6 @@ msgstr "Tøm"
msgid "Clear the comment"
msgstr "Fjern kommentaren"
-msgid "Find..."
-msgstr "Søk etter ..."
-
-msgid "String to find:"
-msgstr "Sø&k etter:"
-
-msgid "Case sensitive"
-msgstr "Skill mellom store og små &bokstaver"
-
-msgid "Start from the first item"
-msgstr "Begynn med første element"
-
-msgid "Whole words only"
-msgstr "Bare hele ord"
-
-msgid "Find in original strings"
-msgstr "Søk i &originalteksten"
-
-msgid "Find in translations"
-msgstr "Finn i oversettelser"
-
-msgid "Find in comments"
-msgstr "Finn i kommentarer"
-
-msgid "Find in automatic comments"
-msgstr "Finn i automatiske kommentarer"
-
-msgid "Close"
-msgstr "Lukk"
-
-msgid "< &Previous"
-msgstr "<Tidligere"
-
-msgid "&Next >"
-msgstr "&Neste >"
-
msgid "Create new translations project"
msgstr "Lag nytt oversettelsesprosjekt"
@@ -1201,6 +1355,12 @@ msgstr "&Åpne ..."
msgid "Open Recent"
msgstr "Åpne siste"
+msgid "Open from Crowdin..."
+msgstr ""
+
+msgid "Open From Crowdin..."
+msgstr ""
+
msgid "&Save"
msgstr "La&gre"
@@ -1249,14 +1409,17 @@ msgstr "Vi&s referanser"
msgid "&Find..."
msgstr "Søk &etter ..."
+msgid "Replace..."
+msgstr ""
+
msgid "Find next"
msgstr "Finn neste"
msgid "Find previous"
msgstr "Finn forrige"
-msgid "Find"
-msgstr "Finn"
+msgid "Find and Replace..."
+msgstr ""
msgid "Find Next"
msgstr "Finn neste"
@@ -1297,6 +1460,12 @@ msgstr "&Grupper på kontekst"
msgid "&Group By Context"
msgstr "&Grupper på kontekst"
+msgid "Entries with errors first"
+msgstr ""
+
+msgid "Entries with Errors First"
+msgstr ""
+
msgid "&Untranslated entries first"
msgstr "&Uoversatte poster først"
@@ -1306,6 +1475,9 @@ msgstr "&Uoversatte poster først"
msgid "Show sidebar"
msgstr "Vis Sidepanel"
+msgid "Show status bar"
+msgstr ""
+
msgid "C&atalog"
msgstr "K&atalog"
@@ -1321,6 +1493,9 @@ msgstr "Oppdater fra &POT-fil..."
msgid "Update from &POT File..."
msgstr "Oppdater fra &POT-fil..."
+msgid "Sync with Crowdin"
+msgstr ""
+
msgid "Fill missing translations from &TM..."
msgstr "Utfyll oversettelser fra &TM..."
@@ -1448,6 +1623,9 @@ msgstr ""
msgid "Catalog properties"
msgstr "Katalog egenskaper"
+msgid "Project name and version:"
+msgstr "&Prosjektnavn og -versjon:"
+
msgid "Plural Forms:"
msgstr "Flertallsformer:"
@@ -1460,6 +1638,15 @@ msgstr "Bruke egendefinerte uttrykk"
msgid "Learn about plural forms"
msgstr "Lær om flertallsformer"
+msgid "Charset:"
+msgstr "&Tegnkoding:"
+
+msgid "Team:"
+msgstr "&Lag:"
+
+msgid "Team's email address:"
+msgstr "&E-post-adressen til laget:"
+
msgid "Translation properties"
msgstr "Egenskaper for oversettelse"
@@ -1533,8 +1720,8 @@ msgstr "Oppdater katalog"
msgid "Toggled if selected string has fuzzy translation"
msgstr "Uklar oversettelse"
-msgid "Show or hide the sidebar."
-msgstr "Vis eller Skjul sidepanelet."
+msgid "Show or hide the sidebar"
+msgstr "Vis eller Skjul sidepanelet"
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
msgid "Previous source text:"
@@ -1547,6 +1734,9 @@ msgstr ""
"Gammel kilde tekst (før det endres under en oppdatering) som samsvarer med "
"fuzzy oversettelsen."
+msgid "Notes for translators:"
+msgstr "Notater for oversettere:"
+
msgid "Add comment"
msgstr "Legg til kommentar"
@@ -1626,9 +1816,6 @@ msgstr "Redigere en oversettelse"
msgid "Open an existing PO file and edit the translation."
msgstr "Åpne en eksisterende PO-fil og redigere oversettelsen."
-msgid "Create new translation"
-msgstr "Lag ny oversettelse"
-
msgid ""
"Take an existing PO file or POT template and create a new translation from "
"it."
@@ -1636,6 +1823,16 @@ msgstr ""
"Ta en eksisterende PO-fil eller POT mal og opprette en ny oversettelse fra "
"den."
+msgid "Collaborate on a translation with Crowdin"
+msgstr ""
+
+msgid ""
+"Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+
+msgid "What is Crowdin?"
+msgstr ""
+
msgid "There are no translations. That’s unusual."
msgstr "Det finnes ingen oversettelser. Det er uvanlig."
@@ -1673,3 +1870,9 @@ msgstr "Utdrag fra kilder"
msgid "Configure source code extraction in Properties."
msgstr "Konfigurere kilde koden utvinning i egenskaper."
+
+msgid "Sync"
+msgstr ""
+
+msgid "Synchronize the translation with Crowdin"
+msgstr ""
diff --git a/locales/ne.mo b/locales/ne.mo
index d179163..d6d1fd9 100644
Binary files a/locales/ne.mo and b/locales/ne.mo differ
diff --git a/locales/ne.po b/locales/ne.po
index 1515ed5..3573ed4 100644
--- a/locales/ne.po
+++ b/locales/ne.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:33-0400\n"
+"POT-Creation-Date: 2015-05-13 18:47+0200\n"
+"PO-Revision-Date: 2015-05-13 12:42-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Nepali\n"
"Language: ne_NP\n"
@@ -84,6 +84,15 @@ msgstr ""
msgid "Error saving catalog"
msgstr "सूचीपत्रलाई बचत गर्दा त्रुटि"
+msgid "PO Translation Files"
+msgstr ""
+
+msgid "POT Translation Templates"
+msgstr ""
+
+msgid "All Translation Files"
+msgstr ""
+
msgid "Merging differences..."
msgstr "अन्तर गाभिदै छ ।"
@@ -103,6 +112,83 @@ msgstr "भाषाको चयन"
msgid "You must restart Poedit for this change to take effect."
msgstr "परिवर्तनको प्रयोगका लागि Poedit लाई पुनःः आरम्भ गर्नु पर्छ ।"
+msgid "Downloading translations is disabled in this project."
+msgstr ""
+
+msgid "Not authorized, please sign in again."
+msgstr ""
+
+msgid "Sign in to Crowdin"
+msgstr ""
+
+msgid ""
+"Crowdin is an online localization management platform and collaborative "
+"translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+
+msgid "Sign In"
+msgstr ""
+
+msgid "Sign in"
+msgstr ""
+
+msgid "Sign Out"
+msgstr ""
+
+msgid "Sign out"
+msgstr ""
+
+msgid "Waiting for authentication…"
+msgstr ""
+
+msgid "Updating user information…"
+msgstr ""
+
+msgid "Signed in as:"
+msgstr ""
+
+msgid "Learn More About Crowdin"
+msgstr ""
+
+msgid "Learn more about Crowdin"
+msgstr ""
+
+msgid "Open Crowdin translation"
+msgstr ""
+
+msgid "Project:"
+msgstr ""
+
+msgid "Language:"
+msgstr "भाषा:"
+
+msgid "File:"
+msgstr ""
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr ""
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr ""
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr ""
+
+msgid "Downloading latest translations…"
+msgstr ""
+
+msgid "Syncing with Crowdin"
+msgstr ""
+
+msgid "Syncing with Crowdin failed."
+msgstr ""
+
+msgid "Crowdin error"
+msgstr ""
+
+msgid "Uploading translations…"
+msgstr ""
+
msgid "&Copy"
msgstr ""
@@ -147,6 +233,9 @@ msgstr ""
msgid "don't delete temporary files (for debugging)"
msgstr "अस्थाइ फाइलहरू नमेट्नु होला (खानतलासीका लागि)"
+msgid "handle a poedit:// URI"
+msgstr ""
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr ""
@@ -157,12 +246,6 @@ msgstr ""
msgid "Open catalog"
msgstr "सूचीपत्रलाइ उघार"
-msgid "All Files"
-msgstr ""
-
-msgid "PO Translation Files"
-msgstr ""
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "'%s' फाइल विद्यमान छैन ।"
@@ -390,6 +473,17 @@ msgstr "बहुवचन:"
msgid "Translation:"
msgstr "&अनुवाद"
+msgid ""
+"POT files are only templates and don’t contain any translations themselves.\n"
+"To make a translation, create a new PO file based on the template."
+msgstr ""
+
+msgid "Create New Translation"
+msgstr ""
+
+msgid "Create new translation"
+msgstr ""
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
@@ -437,9 +531,6 @@ msgstr ""
msgid "Open catalog template"
msgstr "सूचीपत्रको लेखोट उघार"
-msgid "POT Translation Templates"
-msgstr ""
-
msgid "Updating catalog"
msgstr "सूचीपत्र अद्यावधिक हुदैछ ।"
@@ -512,18 +603,20 @@ msgstr[1] ""
msgid "The translation is ready for use."
msgstr "अनुवाद प्रयोग योग्य छ ।"
-msgid "No references to this string found."
-msgstr "यो पदावलीको लागि कोहि संदर्भ पाइएन ।"
-
-msgid "Please choose the reference you want to show:"
-msgstr "कृपया तपाईले देखाउन चाहेको संदर्भको चयन गर्नु होस् :"
-
-msgid "References"
-msgstr "संदर्भ"
-
msgid "Context:"
msgstr "परिवेस"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr ""
+
+msgid ""
+"The file contained duplicate items, which is not allowed in PO files and "
+"would prevent the file from being used. Poedit fixed the issue, but you "
+"should review translations of any items marked as fuzzy and correct them if "
+"necessary."
+msgstr ""
+
msgid "Language of the translation isn't set."
msgstr ""
@@ -533,6 +626,21 @@ msgstr ""
msgid "Set language"
msgstr ""
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid ""
+"Suggestions are not available if the translation language is not set "
+"correctly. Other features, such as plural forms, may be affected as well."
+msgstr ""
+
+msgid "Language of the translation is the same as source language."
+msgstr ""
+
+msgid "Fix Language"
+msgstr ""
+
+msgid "Fix language"
+msgstr ""
+
msgid ""
"This catalog has entries with plural forms, but doesn't have Plural-Forms "
"header configured."
@@ -565,6 +673,7 @@ msgstr "शिर्षकको किटानी"
msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr ""
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr ""
@@ -586,6 +695,12 @@ msgid_plural "%d errors"
msgstr[0] ""
msgstr[1] ""
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] ""
+msgstr[1] ""
+
msgid " (unsaved)"
msgstr ""
@@ -702,6 +817,9 @@ msgstr ""
msgid "Form %i"
msgstr "रूप %i"
+msgid "Singular"
+msgstr ""
+
msgid "Zero"
msgstr ""
@@ -711,6 +829,9 @@ msgstr ""
msgid "Two"
msgstr ""
+msgid "Plural"
+msgstr ""
+
msgid "Other"
msgstr ""
@@ -739,6 +860,12 @@ msgstr ""
msgid "Show Sidebar"
msgstr ""
+msgid "Hide Status Bar"
+msgstr ""
+
+msgid "Show Status Bar"
+msgstr ""
+
msgid "Source text"
msgstr "मूल पाठ"
@@ -748,6 +875,10 @@ msgstr "अनुवाद"
msgid "ID"
msgstr ""
+#, c-format
+msgid "Source text — %s"
+msgstr ""
+
msgid "unknown language"
msgstr ""
@@ -758,57 +889,73 @@ msgstr ""
msgid "Error:"
msgstr "त्रुटी"
-msgid "Project info"
-msgstr "परियोजना बारे जानकारी"
+msgid "Source file"
+msgstr "स्रोत फ़ाइल"
-msgid "Project name and version:"
-msgstr "परियोजनाको नाम र संस्करण:"
+msgid "Source file occurrence:"
+msgstr "स्रोत फ़ाइलको पटक "
-msgid "Language:"
-msgstr "भाषा:"
+msgid "Open in Editor"
+msgstr ""
-msgid "Team:"
-msgstr "समुह"
+msgid "Open in editor"
+msgstr ""
-msgid "Team's email address:"
-msgstr "समुहको इमेल "
+msgid "No references for the selected item."
+msgstr ""
-msgid "Charset:"
-msgstr "वर्णसेट"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "%s फ़ाइललाई खोल्दा त्रुटि भयो!"
+
+msgid "Find"
+msgstr ""
-msgid "Source"
-msgstr "श्रोत"
+msgid "Replace"
+msgstr ""
-msgid "Notes"
-msgstr "टिप्पणीहरू"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr ""
-msgid "Automatic translation"
-msgstr "स्वचलित अनुवाद"
+msgid "Ignore case"
+msgstr ""
-msgid "Fuzzy translation"
-msgstr "कुरूप अनुवाद"
+msgid "Wrap around"
+msgstr ""
-msgid "Notes for translators:"
-msgstr "अनुवादकलाई टिप्पणी "
+msgid "Whole words only"
+msgstr "सम्पूर्ण शब्द मात्र"
-msgid "Comment:"
-msgstr "टिप्पणी:"
+msgid "Find in source texts"
+msgstr ""
-msgid "Source file"
-msgstr "स्रोत फ़ाइल"
+msgid "Find in translations"
+msgstr ""
-msgid "Source file occurrence:"
-msgstr "स्रोत फ़ाइलको पटक "
+msgid "Find in comments"
+msgstr "टिप्पणीमा फेला पार"
-msgid "Open in Editor"
+msgid "Close"
+msgstr "&बन्द गर"
+
+msgid "Replace All"
msgstr ""
-msgid "Open in editor"
+msgid "Replace all"
msgstr ""
-#, c-format
-msgid "Error opening file %s!"
-msgstr "%s फ़ाइललाई खोल्दा त्रुटि भयो!"
+msgid "< &Previous"
+msgstr ""
+
+msgid "&Next >"
+msgstr ""
+
+msgid "String to find"
+msgstr ""
+
+msgid "Replacement string"
+msgstr ""
#, c-format
msgid "Cannot execute program: %s"
@@ -1001,9 +1148,19 @@ msgstr "नया"
msgid "Edit"
msgstr "संपादन"
+msgid "Delete extractor"
+msgstr ""
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr ""
+
msgid "Extractors"
msgstr ""
+msgid "Accounts"
+msgstr ""
+
msgid "Automatically check for updates"
msgstr ""
@@ -1042,7 +1199,34 @@ msgstr ""
msgid "Advanced"
msgstr ""
-msgid "Additional keywords"
+msgid ""
+"<big>Drag and Drop Folders Here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid ""
+"<big>Drag and drop folders here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid "Add Folders..."
+msgstr ""
+
+msgid "Add folders..."
+msgstr ""
+
+msgid "Add Files..."
+msgstr ""
+
+msgid "Add files..."
+msgstr ""
+
+msgid "Add Wildcard..."
+msgstr ""
+
+msgid "Add wildcard..."
msgstr ""
msgid "Paths"
@@ -1051,6 +1235,9 @@ msgstr "मार्ग"
msgid "Excluded paths"
msgstr ""
+msgid "Additional keywords"
+msgstr ""
+
msgid "Name of the project the translation is for"
msgstr ""
@@ -1063,6 +1250,9 @@ msgstr "UTF-8 (सिफारिस)"
msgid "Please save the file first. This section cannot be edited until then."
msgstr ""
+msgid "Comment:"
+msgstr "टिप्पणी:"
+
msgid "OK"
msgstr "ठीक"
@@ -1072,42 +1262,6 @@ msgstr "&मेटाउ"
msgid "Clear the comment"
msgstr "यो टिप्पणीलाई मेटाइ देउ"
-msgid "Find..."
-msgstr "फेला पार"
-
-msgid "String to find:"
-msgstr "खोज्नु पर्ने पदावली:"
-
-msgid "Case sensitive"
-msgstr "वर्ण संवेदनसिल"
-
-msgid "Start from the first item"
-msgstr "पहिलो सामाग्रीबाट शुरू गर"
-
-msgid "Whole words only"
-msgstr "सम्पूर्ण शब्द मात्र"
-
-msgid "Find in original strings"
-msgstr "मूल पदावलीमा खोज"
-
-msgid "Find in translations"
-msgstr ""
-
-msgid "Find in comments"
-msgstr "टिप्पणीमा फेला पार"
-
-msgid "Find in automatic comments"
-msgstr "स्वचलित टिप्पणी विन्डोजमा खोज"
-
-msgid "Close"
-msgstr "&बन्द गर"
-
-msgid "< &Previous"
-msgstr ""
-
-msgid "&Next >"
-msgstr ""
-
msgid "Create new translations project"
msgstr "नयाँ अनुवाद परियोजनाको सिर्जना गर ।"
@@ -1162,6 +1316,12 @@ msgstr "&उघार ..."
msgid "Open Recent"
msgstr ""
+msgid "Open from Crowdin..."
+msgstr ""
+
+msgid "Open From Crowdin..."
+msgstr ""
+
msgid "&Save"
msgstr "&बचत गर"
@@ -1210,13 +1370,16 @@ msgstr "&सन्दर्भलाई देखाउ"
msgid "&Find..."
msgstr "&फेला पार ..."
+msgid "Replace..."
+msgstr ""
+
msgid "Find next"
msgstr ""
msgid "Find previous"
msgstr ""
-msgid "Find"
+msgid "Find and Replace..."
msgstr ""
msgid "Find Next"
@@ -1258,6 +1421,12 @@ msgstr ""
msgid "&Group By Context"
msgstr ""
+msgid "Entries with errors first"
+msgstr ""
+
+msgid "Entries with Errors First"
+msgstr ""
+
msgid "&Untranslated entries first"
msgstr "&अनुवाद नगरेकालाई सिरानमा राख्ने"
@@ -1267,6 +1436,9 @@ msgstr "&अनुवाद नगरेकालाई सिरानमा
msgid "Show sidebar"
msgstr ""
+msgid "Show status bar"
+msgstr ""
+
msgid "C&atalog"
msgstr "&सूचीपत्र "
@@ -1282,6 +1454,9 @@ msgstr "POT फ़ाइलबाट अद्यावधिक गर..."
msgid "Update from &POT File..."
msgstr "POT फाइलबाट &अद्यावदीक गर्नु होस् ।"
+msgid "Sync with Crowdin"
+msgstr ""
+
msgid "Fill missing translations from &TM..."
msgstr ""
@@ -1405,6 +1580,9 @@ msgstr ""
msgid "Catalog properties"
msgstr "सुचीपत्रका गुणहरू"
+msgid "Project name and version:"
+msgstr "परियोजनाको नाम र संस्करण:"
+
msgid "Plural Forms:"
msgstr "बहुवचन रूप:"
@@ -1417,6 +1595,15 @@ msgstr ""
msgid "Learn about plural forms"
msgstr "बहुवचनको बारेमा जानकारी ।"
+msgid "Charset:"
+msgstr "वर्णसेट"
+
+msgid "Team:"
+msgstr "समुह"
+
+msgid "Team's email address:"
+msgstr "समुहको इमेल "
+
msgid "Translation properties"
msgstr ""
@@ -1489,7 +1676,7 @@ msgstr "अद्यावधिक सूचीपत्रको श्रो
msgid "Toggled if selected string has fuzzy translation"
msgstr "यदि चयन गरेको पदावली कुरूप अनुवाद छ भने उल्टाउ"
-msgid "Show or hide the sidebar."
+msgid "Show or hide the sidebar"
msgstr ""
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
@@ -1501,6 +1688,9 @@ msgid ""
"translation corresponds to."
msgstr ""
+msgid "Notes for translators:"
+msgstr "अनुवादकलाई टिप्पणी "
+
msgid "Add comment"
msgstr ""
@@ -1573,14 +1763,21 @@ msgstr ""
msgid "Open an existing PO file and edit the translation."
msgstr ""
-msgid "Create new translation"
-msgstr ""
-
msgid ""
"Take an existing PO file or POT template and create a new translation from "
"it."
msgstr ""
+msgid "Collaborate on a translation with Crowdin"
+msgstr ""
+
+msgid ""
+"Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+
+msgid "What is Crowdin?"
+msgstr ""
+
msgid "There are no translations. That’s unusual."
msgstr ""
@@ -1613,3 +1810,9 @@ msgstr ""
msgid "Configure source code extraction in Properties."
msgstr ""
+
+msgid "Sync"
+msgstr ""
+
+msgid "Synchronize the translation with Crowdin"
+msgstr ""
diff --git a/locales/nl.mo b/locales/nl.mo
index 8add323..ad4f5ef 100644
Binary files a/locales/nl.mo and b/locales/nl.mo differ
diff --git a/locales/nl.po b/locales/nl.po
index 29f4550..c505593 100644
--- a/locales/nl.po
+++ b/locales/nl.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:33-0400\n"
+"POT-Creation-Date: 2015-05-13 18:47+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Dutch\n"
"Language: nl_NL\n"
@@ -17,10 +17,10 @@ msgstr ""
"X-Crowdin-File: /locales/poedit.pot\n"
msgid "Hide this notification message"
-msgstr "Verberg deze melding"
+msgstr "Deze melding verbergen"
msgid "Don't Show Again"
-msgstr "Dit niet meer tonen"
+msgstr "Niet meer weergeven"
msgid "Don't show again"
msgstr "Niet meer weergeven"
@@ -33,7 +33,7 @@ msgstr[1] "Regels %i van bestand '%s' zijn niet correct geladen."
#, c-format
msgid "Line %d of file '%s' is corrupted (not valid %s data)."
-msgstr "Regel %d van bestand '%s' is corrupt (geen geldige %s-gegevens)."
+msgstr "Regel %d van bestand '%s' is beschadigd (geen geldige %s-gegevens)."
#, c-format
msgid "Malformed header: '%s'"
@@ -59,25 +59,25 @@ msgstr ""
#, c-format
msgid "Couldn't load file %s, it is probably corrupted."
-msgstr "Kon bestand '%s' niet laden, het is waarschijnlijk corrupt."
+msgstr "Bestand '%s' kon niet geladen worden, het is waarschijnlijk corrupt."
#, c-format
msgid ""
"File '%s' is read-only and cannot be saved.\n"
"Please save it under different name."
msgstr ""
-"Bestand '%s' is 'alleen lezen' en kan niet worden\n"
+"Het bestand '%s' is 'alleen-lezen' en kan niet worden\n"
"opgeslagen. Gelieve het op te slaan onder een andere naam."
#, c-format
msgid "Couldn't save file %s."
-msgstr "Kon bestand %s niet opslaan."
+msgstr "Bestand %s kon niet worden opgeslagen."
msgid ""
"There was a problem formatting the file nicely (but it was saved all right)."
msgstr ""
-"Er was een probleem bij het netjes opmaken van het bestand (maar het is wel "
-"opgeslagen)."
+"Er is een probleem opgetreden bij het netjes opmaken van het bestand (maar "
+"het is wel opgeslagen)."
#, c-format
msgid ""
@@ -89,14 +89,23 @@ msgstr ""
"De catalogus kon niet opgeslagen worden met de '%s'-tekenset zoals opgegeven "
"in de catalogus-instellingen..\n"
"\n"
-"Hij werd in plaats daarvan opgeslagen in UTF-8 en de instelling werd in "
-"overeenstemming daarmee aangepast."
+"Hij werd in plaats daarvan opgeslagen in UTF8-formaat en de instelling werd "
+"in overeenstemming daarmee aangepast."
msgid "Error saving catalog"
msgstr "Fout bij het opslaan van de catalogus"
+msgid "PO Translation Files"
+msgstr "PO-vertaalbestanden"
+
+msgid "POT Translation Templates"
+msgstr "POT-vertaalsjablonen"
+
+msgid "All Translation Files"
+msgstr "Alle vertalingsbestanden"
+
msgid "Merging differences..."
-msgstr "Bezig met samenvoegen van verschillen..."
+msgstr "Samenvoegen van verschillen..."
#, c-format
msgid "'%s' is not a valid POT file."
@@ -114,6 +123,85 @@ msgstr "Taalselectie"
msgid "You must restart Poedit for this change to take effect."
msgstr "U moet Poedit herstarten om deze verandering toe te passen."
+msgid "Downloading translations is disabled in this project."
+msgstr "Het downloaden van vertalingen is uitgeschakeld in dit project."
+
+msgid "Not authorized, please sign in again."
+msgstr "Niet geautoriseerd, log a.u.b. opnieuw in."
+
+msgid "Sign in to Crowdin"
+msgstr "Inloggen bij Crowdin"
+
+msgid ""
+"Crowdin is an online localization management platform and collaborative "
+"translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+"Crowdin is een online vertaalbeheerplatform en vertalingssamenwerk-tool. "
+"Poedit kan moeiteloos de op Crowdin beheerde PO-bestanden synchroniseren."
+
+msgid "Sign In"
+msgstr "Inloggen"
+
+msgid "Sign in"
+msgstr "Inloggen"
+
+msgid "Sign Out"
+msgstr "Uitloggen"
+
+msgid "Sign out"
+msgstr "Uitloggen"
+
+msgid "Waiting for authentication…"
+msgstr "Wachten op autorisatie…"
+
+msgid "Updating user information…"
+msgstr "Gebruikersinformatie bijwerken…"
+
+msgid "Signed in as:"
+msgstr "Ingelogd als:"
+
+msgid "Learn More About Crowdin"
+msgstr "Meer te weten komen over Crowdin"
+
+msgid "Learn more about Crowdin"
+msgstr "Meer te weten komen over Crowdin"
+
+msgid "Open Crowdin translation"
+msgstr "Crowdin-vertaling openen"
+
+msgid "Project:"
+msgstr "Project:"
+
+msgid "Language:"
+msgstr "Taal:"
+
+msgid "File:"
+msgstr "Bestand:"
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr "Er worden geen vertaalprojecten weergegeven in uw Crowdin-account."
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr "Dit project bevat geen bestanden die vertaald kunnen worden in Poedit."
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr "Dit bestand kan alleen bewerkt worden in het Crowdin-webinterface."
+
+msgid "Downloading latest translations…"
+msgstr "De meest recente vertalingen downloaden…"
+
+msgid "Syncing with Crowdin"
+msgstr "Synchroniseren met Crowdin"
+
+msgid "Syncing with Crowdin failed."
+msgstr "Synchronisatie met Crowdin mislukt."
+
+msgid "Crowdin error"
+msgstr "Crowdin-fout"
+
+msgid "Uploading translations…"
+msgstr "Vertalingen uploaden…"
+
msgid "&Copy"
msgstr "&Kopiëren"
@@ -139,10 +227,10 @@ msgid "Parsing %s files..."
msgstr "%s bestanden aan het lezen..."
msgid "Failed to load extracted catalog."
-msgstr "Laden van geëxtraheerde catalogus mislukt."
+msgstr "Het laden van de geëxtraheerde catalogus is mislukt."
msgid "&Help"
-msgstr "&Help"
+msgstr "&Hulp"
msgid "MO files can’t be directly edited in Poedit."
msgstr "MO-bestanden kunnen niet direct bewerkt worden in Poedit."
@@ -160,22 +248,19 @@ msgstr ""
msgid "don't delete temporary files (for debugging)"
msgstr "wis geen tijdelijke bestanden (voor foutopsporing)"
+msgid "handle a poedit:// URI"
+msgstr "omgaan met een Poedit://-URI"
+
#, c-format
msgid "Unhandled exception occurred: %s"
-msgstr "Er is een onverwerkte uitzondering opgetreden: %s"
+msgstr "Er is een niet-verwerkte uitzondering opgetreden: %s"
msgid "Unhandled exception occurred."
-msgstr "Er is een onverwerkte uitzondering opgetreden."
+msgstr "Er is een niet-verwerkte uitzondering opgetreden."
msgid "Open catalog"
msgstr "Catalogus openen"
-msgid "All Files"
-msgstr "Alle bestanden"
-
-msgid "PO Translation Files"
-msgstr "PO-vertaalbestanden"
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "Het bestand '%s' bestaat niet."
@@ -193,7 +278,7 @@ msgid "Version %s"
msgstr "Versie %s"
msgid "Poedit is an easy to use translations editor."
-msgstr "Poedit is een eenvoudig te gebruiken vertalingenbewerker."
+msgstr "Poedit is een eenvoudig te gebruiken vertalingsbewerker."
msgid "Catalogs Manager"
msgstr "Catalogusbeheerder"
@@ -208,10 +293,10 @@ msgid "Undo"
msgstr "Ongedaan maken"
msgid "Redo"
-msgstr "Opnieuw doen"
+msgstr "Terugdraaien"
msgid "Paste and Match Style"
-msgstr "Stijl plakken en laten overeenkomen"
+msgstr "Stijl plakken en overeen laten komen"
msgid "Delete"
msgstr "Verwijderen"
@@ -226,7 +311,7 @@ msgid "Check Document Now"
msgstr "Document nu controleren"
msgid "Check Spelling While Typing"
-msgstr "Spelling controleren tijdens typen"
+msgstr "Spelling controleren tijdens het typen"
msgid "Check Grammar With Spelling"
msgstr "Grammatica en spelling controleren"
@@ -247,7 +332,7 @@ msgid "Smart Quotes"
msgstr "Slimme aanhalingstekens"
msgid "Smart Dashes"
-msgstr "Slimme liggende streepjes"
+msgstr "Slimme streepjes"
msgid "Smart Links"
msgstr "Slimme links"
@@ -256,16 +341,16 @@ msgid "Text Replacement"
msgstr "Tekstvervanging"
msgid "Transformations"
-msgstr "Transformaties"
+msgstr "Omzettingen"
msgid "Make Upper Case"
-msgstr "Hoofdletters maken"
+msgstr "Naar hoofdletters omzetten"
msgid "Make Lower Case"
-msgstr "Kleine letters maken"
+msgstr "Naar kleine letters omzetten"
msgid "Capitalize"
-msgstr "Hoofdletters"
+msgstr "Naar hoofdletters omzetten"
msgid "Speech"
msgstr "Spraak"
@@ -277,7 +362,7 @@ msgid "Stop Speaking"
msgstr "Stoppen met spreken"
msgid "&View"
-msgstr "B&eeld"
+msgstr "&Bekijken"
msgid "Enter Full Screen"
msgstr "Ga naar volledig scherm"
@@ -289,10 +374,10 @@ msgid "Minimize"
msgstr "Minimaliseren"
msgid "Zoom"
-msgstr "Zoomen"
+msgstr "Inzoomen"
msgid "Bring All to Front"
-msgstr "Alles naar voor brengen"
+msgstr "Alles naar de voorgrond brengen"
msgid "PO Translation"
msgstr "PO-vertaling"
@@ -313,7 +398,7 @@ msgid "&Undo"
msgstr "&Ongedaan maken"
msgid "&Redo"
-msgstr "Opnie&uw doen"
+msgstr "&Terugdraaien"
msgid "Cu&t"
msgstr "Kni&ppen"
@@ -391,10 +476,10 @@ msgid "&File"
msgstr "&Bestand"
msgid "&Go"
-msgstr "&Gaan"
+msgstr "&Navigeren"
msgid "Source text:"
-msgstr "Brontekst"
+msgstr "Brontekst:"
msgid "Singular:"
msgstr "Enkelvoud:"
@@ -405,6 +490,20 @@ msgstr "Meervoud:"
msgid "Translation:"
msgstr "Vertaling:"
+msgid ""
+"POT files are only templates and don’t contain any translations themselves.\n"
+"To make a translation, create a new PO file based on the template."
+msgstr ""
+"POT-bestanden zijn slechts sjablonen en bevatten zelf geen vertalingen.\n"
+"Maak een nieuw PO-bestand aan op basis van dit sjabloon, om een vertaling te "
+"maken."
+
+msgid "Create New Translation"
+msgstr "Nieuwe vertaling maken"
+
+msgid "Create new translation"
+msgstr "Nieuwe vertaling maken"
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
@@ -425,7 +524,7 @@ msgid "Save changes"
msgstr "Veranderingen opslaan"
msgid "Your changes will be lost if you don't save them."
-msgstr "Uw veranderingen zullen verloren gaan als u ze niet opslaat."
+msgstr "De veranderingen zullen verloren gaan als u ze niet opslaat."
msgid "Save"
msgstr "Opslaan"
@@ -454,9 +553,6 @@ msgstr "HTML-bestanden"
msgid "Open catalog template"
msgstr "Catalogus-sjabloon openen"
-msgid "POT Translation Templates"
-msgstr "POT-vertaalsjablonen"
-
msgid "Updating catalog"
msgstr "Catalogus bijwerken"
@@ -475,7 +571,7 @@ msgstr ""
"de catalogus."
msgid "Entries in the catalog are probably incorrect."
-msgstr "Vermeldingen in de catalogus zijn waarschijnlijk foutief."
+msgstr "Vermeldingen in de catalogus zijn waarschijnlijk onjuist."
msgid "Updating the catalog failed. Click on 'Details >>' for details."
msgstr "Bijwerken van catalogus mislukt. Klik op 'Details >>' voor details."
@@ -487,32 +583,32 @@ msgstr[0] "%d probleem gevonden met de vertaling."
msgstr[1] "%d problemen gevonden met de vertaling."
msgid "Validation results"
-msgstr "Validatieresultaten"
+msgstr "Valideringsresultaten"
msgid ""
"Entries with errors were marked in red in the list. Details of the error "
"will be shown when you select such an entry."
msgstr ""
-"Vermeldingen met fouten werden in het rood gemarkeerd in de lijst. Details "
-"over de fout zullen weergegeven worden wanneer u een van deze vermeldingen "
+"Vermeldingen met fouten zijn rood gemarkeerd in de lijst. Details over de "
+"fout zullen weergegeven worden wanneer u een van deze vermeldingen "
"selecteert."
msgid "The file was saved safely."
-msgstr "Het bestand werd veilig opgeslagen."
+msgstr "Het bestand is veilig opgeslagen."
msgid ""
"The file was saved safely and compiled into the MO format, but it will "
"probably not work correctly."
msgstr ""
-"Het bestand werd veilig opgeslagen en gecompileerd in het .mo-formaat, maar "
-"het zal waarschijnlijk niet correct werken."
+"Het bestand is veilig opgeslagen en gecompileerd naar het mo-formaat, maar "
+"het zal waarschijnlijk niet goed werken."
msgid ""
"The file was saved safely, but it cannot be compiled into the MO format and "
"used."
msgstr ""
-"Het bestand werd veilig opgeslagen, maar het kan niet gecompileerd worden in "
-"het .mo-formaat en gebruikt worden."
+"Het bestand is veilig opgeslagen maar het kan niet gecompileerd worden naar "
+"het mo-formaat, en dus niet gebruikt worden."
msgid ""
"The file was compiled into the MO format, but it will probably not work "
@@ -534,27 +630,35 @@ msgid "The translation is ready for use, but %d entry is not translated yet."
msgid_plural ""
"The translation is ready for use, but %d entries are not translated yet."
msgstr[0] ""
-"De vertaling is klaar voor gebruik, maar %d entry is nog niet vertaald."
+"De vertaling is klaar voor gebruik, maar vermelding %d is nog niet vertaald."
msgstr[1] ""
-"De vertaling is klaar voor gebruik, maar %d entry's zijn nog niet vertaald."
+"De vertaling is klaar voor gebruik, maar vermeldingen %d zijn nog niet "
+"vertaald."
msgid "The translation is ready for use."
msgstr "De vertaling is klaar voor gebruik."
-msgid "No references to this string found."
-msgstr "Geen verwijzingen naar deze string gevonden."
-
-msgid "Please choose the reference you want to show:"
-msgstr "Kies de verwijzing die u wenst te zien:"
-
-msgid "References"
-msgstr "Verwijzingen"
-
msgid "Context:"
msgstr "Context:"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr ""
+"Poedit heeft automatisch ongeldige content gerepareerd in het bestand '%s'."
+
+msgid ""
+"The file contained duplicate items, which is not allowed in PO files and "
+"would prevent the file from being used. Poedit fixed the issue, but you "
+"should review translations of any items marked as fuzzy and correct them if "
+"necessary."
+msgstr ""
+"Het bestand bevatte dubbele items; dat is niet toegestaan in PO-bestanden "
+"omdat het zou voorkomen dat het bestand gebruikt wordt. Poedit heeft de fout "
+"hersteld, maar je moet vertalingen van alle items die als onduidelijk "
+"gemarkeerd zijn, nakijken en ze zo nodig corrigeren."
+
msgid "Language of the translation isn't set."
-msgstr "Taal van de vertaling is niet ingesteld."
+msgstr "De taal is niet ingesteld."
msgid "Set Language"
msgstr "Taal instellen"
@@ -562,32 +666,50 @@ msgstr "Taal instellen"
msgid "Set language"
msgstr "Taal instellen"
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid ""
+"Suggestions are not available if the translation language is not set "
+"correctly. Other features, such as plural forms, may be affected as well."
+msgstr ""
+"Suggesties zijn niet beschikbaar als de taal van de vertaling niet juist is "
+"ingesteld. Andere functies, zoals meervoudsvormen, kunnen ook worden "
+"beïnvloed."
+
+msgid "Language of the translation is the same as source language."
+msgstr "Taal van de vertaling is hetzelfde als de brontaal."
+
+msgid "Fix Language"
+msgstr "Taal repareren"
+
+msgid "Fix language"
+msgstr "Taal repareren"
+
msgid ""
"This catalog has entries with plural forms, but doesn't have Plural-Forms "
"header configured."
msgstr ""
"Deze catalogus bevat vermeldingen met meervoudsvormen, maar er is geen "
-"meervoudsvorm-header voor ingesteld."
+"meervoudsvorm-koptekst voor ingesteld."
msgid ""
"Entries in this catalog have different plural forms count from what "
"catalog's Plural-Forms header says"
msgstr ""
-"Vermeldingen in deze catalogus hebben een andere meervoudsvormtelling dan "
-"wat er staat in de meervoudsvormtelling in de koptekst van de catalogus"
+"Vermeldingen in deze catalogus hebben een andere meervoudsvorm dan wat er "
+"staat in de meervoudsvorm-koptekst van de catalogus"
msgid "Required header Plural-Forms is missing."
-msgstr "Vereiste header Plural-Forms ontbreekt."
+msgstr "Vereiste meervoudsvorm-header ontbreekt."
#, c-format
msgid "Syntax error in Plural-Forms header (\"%s\")."
-msgstr "Syntaxfout in meervoudsvorm-header ('%s')."
+msgstr "Syntaxfout in meervoudsvorm-koptekst ('%s')."
msgid "Fix the Header"
msgstr "De hoofding herstellen"
msgid "Fix the header"
-msgstr "Herstel de koptekst"
+msgstr "De koptekst repareren"
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
@@ -598,6 +720,7 @@ msgstr ""
"De meervoudsvorm-expressie gebruikt door de catalogus is ongebruikelijk voor "
"%s."
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr "Nakijken"
@@ -619,6 +742,12 @@ msgid_plural "%d errors"
msgstr[0] "%d fout"
msgstr[1] "%d fouten"
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] "%d woord"
+msgstr[1] "%d woorden"
+
msgid " (unsaved)"
msgstr "(niet-opgeslagen)"
@@ -626,14 +755,14 @@ msgid " (modified)"
msgstr " (veranderd)"
msgid "Go"
-msgstr "Starten"
+msgstr "Navigeren"
#, c-format
msgid "Failed to update translation memory: %s"
msgstr "Bijwerken van vertaalgeheugen mislukt: %s"
msgid "Purge deleted translations"
-msgstr "Gewiste vertalingen verwijderen"
+msgstr "&Gewiste vertalingen definitief verwijderen"
msgid "Do you want to remove all translations that are no longer used?"
msgstr "Wilt u alle vertalingen verwijderen die niet langer worden gebruikt?"
@@ -643,15 +772,15 @@ msgid ""
"permanently removed. You will have to translate them again if they are added "
"back in the future."
msgstr ""
-"Als u doorgaat met verwijderen, dan zullen alle vertalingen die gemarkeerd "
-"staan als 'gewist', blijvend worden verwijderd. U zult ze dan opnieuw moeten "
+"Als u doorgaat met verwijderen zullen alle vertalingen die gemarkeerd staan "
+"als 'gewist', blijvend worden verwijderd. U zult ze dan opnieuw moeten "
"vertalen als u ze in de toekomst weer toevoegt."
msgid "Keep"
-msgstr "Bewaren"
+msgstr "Behouden"
msgid "Purge"
-msgstr "Verwijderen"
+msgstr "Definitief verwijderen"
msgid "Fill missing translations from TM"
msgstr "Ontbrekende vertalingen invullen vanuit TM"
@@ -684,33 +813,34 @@ msgstr "Invullen"
#, c-format
msgid "%d entry was filled from the translation memory."
msgid_plural "%d entries were filled from the translation memory."
-msgstr[0] "Er werd %d entry opgevuld vanuit het vertaalgeheugen."
-msgstr[1] "Er werden %d entry's opgevuld vanuit het vertaalgeheugen."
+msgstr[0] "Er werd %d vermelding ingevuld vanuit het vertaalgeheugen."
+msgstr[1] "Er werden %d vermeldingen ingevuld vanuit het vertaalgeheugen."
msgid ""
"The translations were marked as fuzzy, because they may be inaccurate. You "
"should review them for correctness."
msgstr ""
-"De vertalingen werden gemarkeerd als fuzzy, omdat ze misschien niet accuraat "
-"zijn. U kijkt ze best na op juistheid."
+"De vertalingen werden gemarkeerd als onduidelijk, omdat ze misschien niet "
+"accuraat zijn. U dient ze na te kijken op juistheid."
msgid "No entries could be filled from the translation memory."
-msgstr "Er konden geen entry's opgevuld worden vanuit het vertaalgeheugen."
+msgstr ""
+"Er konden geen vermeldingen ingevuld worden vanuit het vertaalgeheugen."
msgid ""
"The TM doesn’t contain any strings similar to the content of this file. It "
"is only effective for semi-automatic translations after Poedit learns enough "
"from files that you translated manually."
msgstr ""
-"Het vertaalgeheugen bevat geen strings die gelijkaardig zijn aan de inhoud "
-"van dit bestand. Het is alleen effectief voor semi-automatische vertalingen "
-"nadat Poedit genoeg leert van bestanden die u manueel vertaald heeft."
+"Het vertaalgeheugen bevat geen strings die gelijk zijn aan de inhoud van dit "
+"bestand. Het is alleen effectief voor semi-automatische vertalingen nadat "
+"Poedit genoeg geleerd heeft van bestanden die u handmatig vertaald heeft."
msgid "Translating"
-msgstr "Vertalen"
+msgstr "Aan het vertalen"
msgid "Filling missing translations from TM..."
-msgstr "Ontbrekende vertalingen opvullen vanuit TM..."
+msgstr "Ontbrekende vertalingen invullen vanuit TM..."
#, c-format
msgid "Translated %u string"
@@ -744,7 +874,10 @@ msgstr "Alles"
#, c-format
msgid "Form %i"
-msgstr "Vorm %i"
+msgstr "Formulier %i"
+
+msgid "Singular"
+msgstr "Enkelvoudig"
msgid "Zero"
msgstr "Nul"
@@ -755,6 +888,9 @@ msgstr "Een"
msgid "Two"
msgstr "Twee"
+msgid "Plural"
+msgstr "Meervoud"
+
msgid "Other"
msgstr "Andere"
@@ -783,6 +919,12 @@ msgstr "Zijbalk verbergen"
msgid "Show Sidebar"
msgstr "Zijbalk tonen"
+msgid "Hide Status Bar"
+msgstr "Statusbalk verbergen"
+
+msgid "Show Status Bar"
+msgstr "Statusbalk weergeven"
+
msgid "Source text"
msgstr "Brontekst"
@@ -792,6 +934,10 @@ msgstr "Vertaling"
msgid "ID"
msgstr "ID"
+#, c-format
+msgid "Source text — %s"
+msgstr "Brontekst — %s"
+
msgid "unknown language"
msgstr "onbekende taal"
@@ -802,73 +948,89 @@ msgstr "Vertaling — %s"
msgid "Error:"
msgstr "Fout:"
-msgid "Project info"
-msgstr "Projectinformatie"
+msgid "Source file"
+msgstr "Bronbestand"
-msgid "Project name and version:"
-msgstr "Projectnaam en -versie:"
+msgid "Source file occurrence:"
+msgstr "Vóórkomen van bronbestand:"
-msgid "Language:"
-msgstr "Taal:"
+msgid "Open in Editor"
+msgstr "Openen in editor"
-msgid "Team:"
-msgstr "Team:"
+msgid "Open in editor"
+msgstr "Openen in editor"
-msgid "Team's email address:"
-msgstr "E-mailadres van team:"
+msgid "No references for the selected item."
+msgstr "Geen verwijzingen voor het geselecteerde item."
-msgid "Charset:"
-msgstr "Tekenset:"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "Fout bij het openen van bestand %s."
-msgid "Source"
-msgstr "Bron"
+msgid "Find"
+msgstr "Zoeken"
-msgid "Notes"
-msgstr "Aantekeningen"
+msgid "Replace"
+msgstr "Vervangen"
-msgid "Automatic translation"
-msgstr "Automatische vertaling"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr "Opties"
-msgid "Fuzzy translation"
-msgstr "Fuzzy vertaling"
+msgid "Ignore case"
+msgstr "Hoofd-/kleine letters negeren"
-msgid "Notes for translators:"
-msgstr "Opmerkingen voor vertalers:"
+msgid "Wrap around"
+msgstr "Tekstomloop"
-msgid "Comment:"
-msgstr "Opmerking:"
+msgid "Whole words only"
+msgstr "Alleen hele woorden"
-msgid "Source file"
-msgstr "Bronbestand"
+msgid "Find in source texts"
+msgstr "In bronteksten zoeken"
-msgid "Source file occurrence:"
-msgstr "Vóórkomen van bronbestand:"
+msgid "Find in translations"
+msgstr "In vertalingen zoeken"
-msgid "Open in Editor"
-msgstr "Openen in editor"
+msgid "Find in comments"
+msgstr "In opmerkingen zoeken"
-msgid "Open in editor"
-msgstr "Openen in editor"
+msgid "Close"
+msgstr "Sluiten"
-#, c-format
-msgid "Error opening file %s!"
-msgstr "Fout bij openen van bestand %s."
+msgid "Replace All"
+msgstr "Alles vervangen"
+
+msgid "Replace all"
+msgstr "Alles vervangen"
+
+msgid "< &Previous"
+msgstr "< &Vorige"
+
+msgid "&Next >"
+msgstr "&Volgende >"
+
+msgid "String to find"
+msgstr "Te zoeken term"
+
+msgid "Replacement string"
+msgstr "Vervangende term"
#, c-format
msgid "Cannot execute program: %s"
-msgstr "Kan programma niet uitvoeren: %s"
+msgstr "Kan programma: %s niet uitvoeren"
msgid "Language Code or Name (e.g. en_GB)"
-msgstr "Taalcode of naam (bijvoorbeeld en_GB)"
+msgstr "Taalcode of -naam (bijv. nl_NL)"
msgid "Translation Language"
-msgstr "Taal"
+msgstr "Vertalingstaal"
msgid "Language of the translation:"
-msgstr "Taal van de vertaling:"
+msgstr "Taal:"
msgid "Poedit - Catalogs manager"
-msgstr "Poedit - Catalogusbeheerder"
+msgstr "Poedit-catalogusbeheerder"
msgid "Catalog"
msgstr "Catalogus"
@@ -880,16 +1042,16 @@ msgid "Untrans"
msgstr "Onvertaald "
msgid "Fuzzy"
-msgstr "Fuzzy"
+msgstr "Onduidelijk"
msgid "Bad Tokens"
msgstr "Ongeldige symbolen"
msgid "Last modified"
-msgstr "Laatst veranderd"
+msgstr "Laatst gewijzigd"
msgid "Select directory"
-msgstr "Kies map"
+msgstr "Map kiezen"
msgid "Directories:"
msgstr "Mappen:"
@@ -923,7 +1085,7 @@ msgid "Email:"
msgstr "E-mailadres:"
msgid "your_email at example.com"
-msgstr "uw_email at voorbeeld.nl"
+msgstr "uw_e-mail at example.com"
msgid ""
"Your name and email address are only used to set the Last-Translator header "
@@ -952,9 +1114,10 @@ msgid ""
"arrows for keyboard navigation but you can also type text immediately, "
"without having to press Tab to change focus."
msgstr ""
-"Laat nooit de lijst met strings de focus overnemen. Als deze optie aanstaat, "
-"moet u Ctrl-pijltoetsen gebruiken voor de toetsenbord-navigatie, maar u kunt "
-"ook meteen tekst typen, zonder met Tab de focus te hoeven veranderen."
+"Nooit de lijst met strings als actief venster instellen. Als deze optie "
+"aanstaat, moet u Ctrl-pijltjestoetsen gebruiken voor de toetsenbord-"
+"navigatie, maar u kunt ook meteen tekst typen, zonder met de tabtoets het "
+"actieve venster te hoeven veranderen."
msgid "Appearance"
msgstr "Weergave"
@@ -966,7 +1129,7 @@ msgid "Use custom text fields font:"
msgstr "Aangepaste tekstveldenlettertype gebruiken:"
msgid "Change UI language"
-msgstr "Interface-taal aanpassen"
+msgstr "Interface-taal veranderen"
#. TRANSLATORS: This is a note appended to "Check spelling" when running on older Windows versions
msgid "(requires Windows 8 or newer)"
@@ -979,7 +1142,7 @@ msgid "Use translation memory"
msgstr "Vertaalgeheugen gebruiken"
msgid "Learn From Files..."
-msgstr "Leren van bestanden..."
+msgstr "Uit bestanden halen..."
msgid "Learn from files..."
msgstr "Leer uit bestanden..."
@@ -997,11 +1160,12 @@ msgid ""
"near-empty, it will not be very effective. The more translations\n"
"you edit and the larger the TM grows, the better it gets."
msgstr ""
-"Indien ingeschakeld, zal Poedit proberen om nieuwe entry's in te vullen door "
-"uw vorige vertalingen te gebruiken die opgeslagen zijn in het "
-"vertaalgeheugen. Als het vertaalgeheugen bijna leeg is, zal het niet erg "
-"effectief zijn. Hoe meer vertalingen u bewerkt en hoe meer het "
-"vertaalgeheugen groeit, hoe beter het wordt."
+"Indien ingeschakeld, zal Poedit proberen om nieuwe termen in te vullen door "
+"gebruik te maken van uw vorige \n"
+"vertalingen, die opgeslagen zijn in het vertaalgeheugen. Als het "
+"vertaalgeheugen \n"
+" bijna leeg is, zal dat niet erg effectief zijn. Hoe meer vertalingen \n"
+"u bewerkt des te meer het vertaalgeheugen groeit, dus hoe beter het wordt."
msgid "Stored translations:"
msgstr "Opgeslagen vertalingen:"
@@ -1010,7 +1174,7 @@ msgid "Database size on disk:"
msgstr "Grootte database op schijf:"
msgid "Select translation files to import"
-msgstr "Selecteer te importeren taalbestanden"
+msgstr "Selecteer de te importeren taalbestanden"
msgid "Translation Memory"
msgstr "Vertaalgeheugen"
@@ -1056,9 +1220,19 @@ msgstr "Nieuw"
msgid "Edit"
msgstr "Bewerken"
+msgid "Delete extractor"
+msgstr "Uitpakker verwijderen"
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr "Weet je zeker dat je uitpakker %s wilt verwijderen?"
+
msgid "Extractors"
msgstr "Uitpakkers"
+msgid "Accounts"
+msgstr "Accounts"
+
msgid "Automatically check for updates"
msgstr "Automatisch op updates controleren"
@@ -1102,8 +1276,41 @@ msgstr "De formattering van de bestaande bestanden behouden"
msgid "Advanced"
msgstr "Geavanceerd"
-msgid "Additional keywords"
-msgstr "Aanvullende sleutelwoorden"
+msgid ""
+"<big>Drag and Drop Folders Here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+"<big>Sleep mappen hierheen</big>\n"
+"\n"
+"of gebruik de knop +"
+
+msgid ""
+"<big>Drag and drop folders here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+"<big>Sleep mappen hierheen</big>\n"
+"\n"
+"of gebruik de knop +"
+
+msgid "Add Folders..."
+msgstr "Mappen toevoegen..."
+
+msgid "Add folders..."
+msgstr "Mappen toevoegen..."
+
+msgid "Add Files..."
+msgstr "Bestanden toevoegen..."
+
+msgid "Add files..."
+msgstr "Bestanden toevoegen..."
+
+msgid "Add Wildcard..."
+msgstr "Wildcard toevoegen..."
+
+msgid "Add wildcard..."
+msgstr "Wildcard toevoegen..."
msgid "Paths"
msgstr "Paden"
@@ -1111,11 +1318,14 @@ msgstr "Paden"
msgid "Excluded paths"
msgstr "Uitgesloten paden"
+msgid "Additional keywords"
+msgstr "Aanvullende zoekwoorden"
+
msgid "Name of the project the translation is for"
msgstr "Naam van het project waarvoor de vertaling is."
msgid "e.g. nplurals=2; plural=(n > 1);"
-msgstr "bijvoorbeeld nplurals=2; plural=(n > 1);"
+msgstr "bijv. nplurals=2; plural=(n != 1);"
msgid "UTF-8 (recommended)"
msgstr "UTF-8 (aanbevolen)"
@@ -1125,8 +1335,11 @@ msgstr ""
"Gelieve het bestand eerst op te slaan. Deze sectie kan tot dan niet bewerkt "
"worden."
+msgid "Comment:"
+msgstr "Opmerking:"
+
msgid "OK"
-msgstr "Ok"
+msgstr "OK"
msgid "C&lear"
msgstr "&Wissen"
@@ -1134,42 +1347,6 @@ msgstr "&Wissen"
msgid "Clear the comment"
msgstr "Opmerking wissen"
-msgid "Find..."
-msgstr "Zoeken..."
-
-msgid "String to find:"
-msgstr "Te zoeken string:"
-
-msgid "Case sensitive"
-msgstr "Hoofdlettergevoelig"
-
-msgid "Start from the first item"
-msgstr "Start vanaf het eerste item"
-
-msgid "Whole words only"
-msgstr "Alleen hele woorden"
-
-msgid "Find in original strings"
-msgstr "Zoek in originele strings"
-
-msgid "Find in translations"
-msgstr "Zoek in vertalingen"
-
-msgid "Find in comments"
-msgstr "Zoek in commentaren"
-
-msgid "Find in automatic comments"
-msgstr "Zoek in automatische commentaren"
-
-msgid "Close"
-msgstr "Sluiten"
-
-msgid "< &Previous"
-msgstr "< &Vorige"
-
-msgid "&Next >"
-msgstr "&Volgende >"
-
msgid "Create new translations project"
msgstr "Nieuw vertaalproject maken"
@@ -1177,16 +1354,16 @@ msgid "Edit the project"
msgstr "Het project bewerken"
msgid "Delete the project"
-msgstr "Project verwijderen"
+msgstr "Het project verwijderen"
msgid "Update all"
msgstr "Alles bijwerken"
msgid "Update all catalogs in the project"
-msgstr "Alle catalogi in project bijwerken"
+msgstr "Alle catalogi in het project bijwerken"
msgid "Edit project"
-msgstr "Project bewerken"
+msgstr "Het project bewerken"
msgid "Project name:"
msgstr "Projectnaam:"
@@ -1204,7 +1381,7 @@ msgid "&Close"
msgstr "&Sluiten"
msgid "E&xit"
-msgstr "Af&sluiten"
+msgstr "&Afsluiten"
msgid "Quit"
msgstr "Afsluiten"
@@ -1224,6 +1401,12 @@ msgstr "&Openen..."
msgid "Open Recent"
msgstr "Recent bestand openen"
+msgid "Open from Crowdin..."
+msgstr "Openen vanuit Crowdin..."
+
+msgid "Open From Crowdin..."
+msgstr "Openen vanuit Crowdin..."
+
msgid "&Save"
msgstr "Op&slaan"
@@ -1249,10 +1432,10 @@ msgid "Catalogs &Manager"
msgstr "Catalogus&beheerder"
msgid "Translation is &fuzzy"
-msgstr "Vertaling is &fuzzy"
+msgstr "Vertaling is &onduidelijk"
msgid "Translation Is &Fuzzy"
-msgstr "Vertaling is &fuzzy"
+msgstr "Vertaling is &onduidelijk"
msgid "Edit &comment"
msgstr "&Opmerking bewerken"
@@ -1272,14 +1455,17 @@ msgstr "&Verwijzingen weergeven"
msgid "&Find..."
msgstr "&Zoeken..."
+msgid "Replace..."
+msgstr "Vervangen..."
+
msgid "Find next"
msgstr "Volgende zoeken"
msgid "Find previous"
msgstr "Vorige zoeken"
-msgid "Find"
-msgstr "Zoeken"
+msgid "Find and Replace..."
+msgstr "Zoeken en vervangen..."
msgid "Find Next"
msgstr "Volgende zoeken"
@@ -1291,10 +1477,10 @@ msgid "&Preferences"
msgstr "&Voorkeuren"
msgid "Display entry &IDs"
-msgstr "Entry-&ID's weergeven"
+msgstr "Vermeldings-&ID's weergeven"
msgid "Display Entry &IDs"
-msgstr "Entry-&ID's weergeven"
+msgstr "Vermeldings-&ID's weergeven"
msgid "Sort by &file order"
msgstr "Sorteren op bestands&volgorde"
@@ -1320,6 +1506,12 @@ msgstr "&Groeperen naar context"
msgid "&Group By Context"
msgstr "&Groeperen naar context"
+msgid "Entries with errors first"
+msgstr "Invoer met fouten eerst"
+
+msgid "Entries with Errors First"
+msgstr "Invoer met fouten eerst"
+
msgid "&Untranslated entries first"
msgstr "&Onvertaalde vermeldingen eerst"
@@ -1329,6 +1521,9 @@ msgstr "&Onvertaalde vermeldingen eerst"
msgid "Show sidebar"
msgstr "Zijbalk tonen"
+msgid "Show status bar"
+msgstr "Statusbalk tonen"
+
msgid "C&atalog"
msgstr "C&atalogus"
@@ -1344,6 +1539,9 @@ msgstr "Bijwerken vanuit &POT-bestand..."
msgid "Update from &POT File..."
msgstr "Bijwerken vanuit &POT-bestand..."
+msgid "Sync with Crowdin"
+msgstr "Synchroniseren met Crowdin"
+
msgid "Fill missing translations from &TM..."
msgstr "Ontbrekende vertalingen aanvullen vanuit de &TM..."
@@ -1363,7 +1561,7 @@ msgid "&Validate Translations"
msgstr "Vertalingen &valideren"
msgid "&Properties..."
-msgstr "&Voorkeuren..."
+msgstr "&Eigenschappen..."
msgid "&Done and next"
msgstr "&Klaar en volgende"
@@ -1402,10 +1600,10 @@ msgid "&Online Help"
msgstr "&Hulp op het internet"
msgid "&GNU gettext manual"
-msgstr "&GNU gettext handleiding"
+msgstr "&GNU-gettext-handleiding"
msgid "&GNU gettext Manual"
-msgstr "&GNU gettext handleiding"
+msgstr "&GNU-gettext-handleiding"
msgid "&About Poedit"
msgstr "&Over Poedit"
@@ -1437,14 +1635,14 @@ msgstr ""
"%C naar de karakterset-vlag (zie hieronder)."
msgid "An item in keywords list:"
-msgstr "Een item in de lijst van sleutelwoorden:"
+msgstr "Een item in de lijst met trefwoorden:"
msgid ""
"This will be attached to the command line once\n"
"for each keyword. %k expands to the keyword."
msgstr ""
-"Dit wordt voor elk sleutelwoord aan de opdrachtregel\n"
-"toegevoegd. %k wordt vervangen door het sleutelwoord."
+"Dit wordt voor elk trefwoord aan de opdrachtregel \n"
+" toegevoegd. %k wordt vervangen door het trefwoord."
msgid "An item in input files list:"
msgstr "Een item in de lijst van invoerbestanden:"
@@ -1454,8 +1652,8 @@ msgid ""
"This will be attached to the command line once\n"
"for each input file. %f expands to the filename."
msgstr ""
-"Dit wordt voor elk invoerbestand aan de opdrachtregel\n"
-"toegevoegd. %f wordt vervangen door de bestandnaam."
+"Dit wordt voor elk invoerbestand één keer \n"
+" aan de opdrachtregel toegevoegd. %f wordt vervangen door de bestandsnaam."
msgid "Source code charset:"
msgstr "Broncode-tekenset:"
@@ -1465,17 +1663,20 @@ msgid ""
"This will be attached to the command line\n"
"only if source codecharset was given. %c expands to charset value."
msgstr ""
-"Dit wordt aan de opdrachtregel toegevoegd als alleen de bron-\n"
+"Dit wordt alleen aan de opdrachtregel toegevoegd als de bron-\n"
"tekenset was opgegeven. %c wordt vervangen door de tekensetwaarde."
msgid "Catalog properties"
-msgstr "Eigenschappen van catalogus"
+msgstr "Cataloguseigenschappen"
+
+msgid "Project name and version:"
+msgstr "Projectnaam en -versie:"
msgid "Plural Forms:"
msgstr "Meervoudsvormen:"
msgid "Use default rules for this language"
-msgstr "Standaard regels voor deze taal gebruiken"
+msgstr "Standaardregels voor deze taal gebruiken"
msgid "Use custom expression"
msgstr "Aangepaste expressie gebruiken"
@@ -1483,6 +1684,15 @@ msgstr "Aangepaste expressie gebruiken"
msgid "Learn about plural forms"
msgstr "Meer informatie over meervoudsvormen"
+msgid "Charset:"
+msgstr "Tekenset:"
+
+msgid "Team:"
+msgstr "Team:"
+
+msgid "Team's email address:"
+msgstr "E-mailadres van het team:"
+
msgid "Translation properties"
msgstr "Eigenschappen van vertaling"
@@ -1499,14 +1709,14 @@ msgid ""
"Use these keywords (function names) to recognize translatable strings\n"
"in source files:"
msgstr ""
-"Gebruik deze sleutelwoorden (functienamen) om vertaalbare strings in\n"
+"Gebruik deze trefwoorden (functienamen) om vertaalbare strings in\n"
"bronbestanden te herkennen:"
msgid "Learn about gettext keywords"
-msgstr "Meer informatie over gettext-sleutelwoorden"
+msgstr "Meer informatie over gettext-trefwoorden"
msgid "Sources keywords"
-msgstr "Sleutelwoorden van bronnen"
+msgstr "Trefwoorden van bronnen"
msgid "Update summary"
msgstr "Samenvatting van bijwerken"
@@ -1526,7 +1736,7 @@ msgid ""
"These strings are no longer in the sources.\n"
"Poedit will remove them from the catalog now."
msgstr ""
-"Deze strings bestaan niet langer in de broncode.\n"
+"Deze strings staan niet meer in de broncode.\n"
"Poedit zal ze nu uit de catalogus verwijderen."
msgid "Obsolete strings"
@@ -1551,13 +1761,14 @@ msgid "Update"
msgstr "Bijwerken"
msgid "Update catalog - synchronize it with sources"
-msgstr "Bijwerken catalogus - synchroniseer hem met de bronnen"
+msgstr "Catalogus bijwerken - synchroniseren met de bronnen"
msgid "Toggled if selected string has fuzzy translation"
-msgstr "Ingedrukt als de geselecteerde tekst een fuzzy vertaling heeft"
+msgstr ""
+"Ingedrukken als de geselecteerde tekst een onduidelijke vertaling heeft"
-msgid "Show or hide the sidebar."
-msgstr "De zijbalk tonen of verbergen."
+msgid "Show or hide the sidebar"
+msgstr "De zijbalk tonen of verbergen"
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
msgid "Previous source text:"
@@ -1570,6 +1781,9 @@ msgstr ""
"De oude brontekst (voordat hij veranderd werd tijdens een update) waar de "
"onnauwkeurige vertaling naar verwijst."
+msgid "Notes for translators:"
+msgstr "Opmerkingen voor vertalers:"
+
msgid "Add comment"
msgstr "Commentaar toevoegen"
@@ -1632,7 +1846,7 @@ msgid ""
"%s\n"
"Please email help at poedit.net and we’ll get it fixed."
msgstr ""
-"Uw vertaalgeheugendata kon niet gemigreerd worden. De fout was:\n"
+"Uw vertaalgeheugendata konden niet gemigreerd worden. De fout was:\n"
"\n"
"%s\n"
"Gelieve te mailen naar help at poedit.net en we zullen het oplossen."
@@ -1649,9 +1863,6 @@ msgstr "Een vertaling bewerken"
msgid "Open an existing PO file and edit the translation."
msgstr "Een bestaand PO-bestand openen en de vertaling bewerken."
-msgid "Create new translation"
-msgstr "Nieuwe vertaling maken"
-
msgid ""
"Take an existing PO file or POT template and create a new translation from "
"it."
@@ -1659,6 +1870,18 @@ msgstr ""
"Een bestaand PO-bestand of POT-sjabloon nemen en er een nieuwe vertaling van "
"maken."
+msgid "Collaborate on a translation with Crowdin"
+msgstr "Samenwerken aan een vertaling met Crowdin"
+
+msgid ""
+"Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+"Download een bestand van een Crowdin-project, vertaal en synchroniseer je "
+"wijzigingen terug."
+
+msgid "What is Crowdin?"
+msgstr "Wat is Crowdin?"
+
msgid "There are no translations. That’s unusual."
msgstr "Er zijn geen vertalingen. Dat is ongebruikelijk."
@@ -1669,31 +1892,38 @@ msgid ""
"Translators typically use PO template files (POTs) prepared for them by the "
"developer."
msgstr ""
-"Vertaalbare entries worden niet manueel in het Gettext-systeem toegevoegd, "
-"maar automatisch geëxtraheerd vanuit de broncode. Op die manier blijven ze "
-"up-to-date en accuraat. Vertalers gebruiken meestal PO-sjabloonbestanden "
-"(POT's) die de ontwikkelaar voor hen maakte."
+"Vertaalbare vermeldingen worden niet handmatig in het Gettext-systeem "
+"toegevoegd, maar automatisch geëxtraheerd \n"
+"vanuit de broncode. Op deze manier blijven ze up-to-date en accuraat. \n"
+"Vertalers gebruiken meestal PO-sjabloonbestanden (POT's) die de ontwikkelaar "
+"voor hen gemaakt heeft."
msgid "(Learn more about GNU gettext)"
-msgstr "(Meer te weten komen over GNU gettext)"
+msgstr "(Meer te weten komen over GNU-gettext)"
msgid "The simplest way to fill this catalog is to update it from a POT:"
msgstr ""
-"De meest eenvoudige manier om deze catalogus op te vullen is door hem bij te "
+"De eenvoudigste manier om deze catalogus aan te vullen is door hem bij te "
"werken vanuit een POT:"
msgid "Update from POT"
msgstr "Bijwerken vanuit POT"
msgid "Take translatable strings from an existing POT template."
-msgstr "Vertaalbare strings uit een bestaand POT-sjabloon nemen."
+msgstr "Vertaalbare strings uit een bestaand POT-sjabloon halen."
msgid ""
"You can also extract translatable strings directly from the source code:"
msgstr "U kunt vertaalbare strings ook direct uit de broncode ophalen:"
msgid "Extract from sources"
-msgstr "Extraheren uit bronnen"
+msgstr "Extraheren uit broncode"
msgid "Configure source code extraction in Properties."
msgstr "Configureer broncode-extractie in Eigenschappen."
+
+msgid "Sync"
+msgstr "Synchroniseren"
+
+msgid "Synchronize the translation with Crowdin"
+msgstr "Synchroniseer de vertaling met Crowdin"
diff --git a/locales/nn.mo b/locales/nn.mo
index 9be639a..10b8fb4 100644
Binary files a/locales/nn.mo and b/locales/nn.mo differ
diff --git a/locales/nn.po b/locales/nn.po
index c71d421..b14f577 100644
--- a/locales/nn.po
+++ b/locales/nn.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:33-0400\n"
+"POT-Creation-Date: 2015-05-13 18:47+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Norwegian Nynorsk\n"
"Language: nn_NO\n"
@@ -86,6 +86,15 @@ msgstr ""
msgid "Error saving catalog"
msgstr "Klarte ikkje lagra katalogen"
+msgid "PO Translation Files"
+msgstr ""
+
+msgid "POT Translation Templates"
+msgstr ""
+
+msgid "All Translation Files"
+msgstr ""
+
msgid "Merging differences..."
msgstr "Slår saman endringar …"
@@ -105,6 +114,83 @@ msgstr "Språkval"
msgid "You must restart Poedit for this change to take effect."
msgstr "Du må starta Poedit på nytt for at endringane skal tre i kraft."
+msgid "Downloading translations is disabled in this project."
+msgstr ""
+
+msgid "Not authorized, please sign in again."
+msgstr ""
+
+msgid "Sign in to Crowdin"
+msgstr ""
+
+msgid ""
+"Crowdin is an online localization management platform and collaborative "
+"translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+
+msgid "Sign In"
+msgstr ""
+
+msgid "Sign in"
+msgstr ""
+
+msgid "Sign Out"
+msgstr ""
+
+msgid "Sign out"
+msgstr ""
+
+msgid "Waiting for authentication…"
+msgstr ""
+
+msgid "Updating user information…"
+msgstr ""
+
+msgid "Signed in as:"
+msgstr ""
+
+msgid "Learn More About Crowdin"
+msgstr ""
+
+msgid "Learn more about Crowdin"
+msgstr ""
+
+msgid "Open Crowdin translation"
+msgstr ""
+
+msgid "Project:"
+msgstr ""
+
+msgid "Language:"
+msgstr "Språk:"
+
+msgid "File:"
+msgstr ""
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr ""
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr ""
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr ""
+
+msgid "Downloading latest translations…"
+msgstr ""
+
+msgid "Syncing with Crowdin"
+msgstr ""
+
+msgid "Syncing with Crowdin failed."
+msgstr ""
+
+msgid "Crowdin error"
+msgstr ""
+
+msgid "Uploading translations…"
+msgstr ""
+
msgid "&Copy"
msgstr ""
@@ -149,6 +235,9 @@ msgstr ""
msgid "don't delete temporary files (for debugging)"
msgstr ""
+msgid "handle a poedit:// URI"
+msgstr ""
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr ""
@@ -159,12 +248,6 @@ msgstr ""
msgid "Open catalog"
msgstr "Opna katalog"
-msgid "All Files"
-msgstr ""
-
-msgid "PO Translation Files"
-msgstr ""
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "Fila «%s» finst ikkje."
@@ -392,6 +475,17 @@ msgstr "Fleirtal:"
msgid "Translation:"
msgstr ""
+msgid ""
+"POT files are only templates and don’t contain any translations themselves.\n"
+"To make a translation, create a new PO file based on the template."
+msgstr ""
+
+msgid "Create New Translation"
+msgstr ""
+
+msgid "Create new translation"
+msgstr ""
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
@@ -439,9 +533,6 @@ msgstr ""
msgid "Open catalog template"
msgstr "Opna katalogmal"
-msgid "POT Translation Templates"
-msgstr ""
-
msgid "Updating catalog"
msgstr ""
@@ -510,16 +601,18 @@ msgstr[1] ""
msgid "The translation is ready for use."
msgstr ""
-msgid "No references to this string found."
-msgstr "Fann ingen referanse til teksten."
-
-msgid "Please choose the reference you want to show:"
-msgstr "Vel referansen du vil visa:"
+msgid "Context:"
+msgstr ""
-msgid "References"
-msgstr "Referansar"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr ""
-msgid "Context:"
+msgid ""
+"The file contained duplicate items, which is not allowed in PO files and "
+"would prevent the file from being used. Poedit fixed the issue, but you "
+"should review translations of any items marked as fuzzy and correct them if "
+"necessary."
msgstr ""
msgid "Language of the translation isn't set."
@@ -531,6 +624,21 @@ msgstr ""
msgid "Set language"
msgstr ""
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid ""
+"Suggestions are not available if the translation language is not set "
+"correctly. Other features, such as plural forms, may be affected as well."
+msgstr ""
+
+msgid "Language of the translation is the same as source language."
+msgstr ""
+
+msgid "Fix Language"
+msgstr ""
+
+msgid "Fix language"
+msgstr ""
+
msgid ""
"This catalog has entries with plural forms, but doesn't have Plural-Forms "
"header configured."
@@ -561,6 +669,7 @@ msgstr ""
msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr ""
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr ""
@@ -582,6 +691,12 @@ msgid_plural "%d errors"
msgstr[0] ""
msgstr[1] ""
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] ""
+msgstr[1] ""
+
msgid " (unsaved)"
msgstr ""
@@ -695,6 +810,9 @@ msgstr ""
msgid "Form %i"
msgstr "Form %i"
+msgid "Singular"
+msgstr ""
+
msgid "Zero"
msgstr ""
@@ -704,6 +822,9 @@ msgstr ""
msgid "Two"
msgstr ""
+msgid "Plural"
+msgstr ""
+
msgid "Other"
msgstr ""
@@ -732,6 +853,12 @@ msgstr ""
msgid "Show Sidebar"
msgstr ""
+msgid "Hide Status Bar"
+msgstr ""
+
+msgid "Show Status Bar"
+msgstr ""
+
msgid "Source text"
msgstr ""
@@ -741,6 +868,10 @@ msgstr "Omsetjing"
msgid "ID"
msgstr ""
+#, c-format
+msgid "Source text — %s"
+msgstr ""
+
msgid "unknown language"
msgstr ""
@@ -751,57 +882,73 @@ msgstr ""
msgid "Error:"
msgstr ""
-msgid "Project info"
-msgstr "Prosjektinfo"
+msgid "Source file"
+msgstr "Kjeldefil"
-msgid "Project name and version:"
-msgstr "Prosjektnamn og -versjon:"
+msgid "Source file occurrence:"
+msgstr ""
-msgid "Language:"
-msgstr "Språk:"
+msgid "Open in Editor"
+msgstr ""
-msgid "Team:"
-msgstr "Omsetjargruppe:"
+msgid "Open in editor"
+msgstr ""
-msgid "Team's email address:"
-msgstr "E-post til omsetjargruppa:"
+msgid "No references for the selected item."
+msgstr ""
-msgid "Charset:"
-msgstr "Teiknkoding:"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "Klarte ikkje opna fila «%s»."
-msgid "Source"
+msgid "Find"
msgstr ""
-msgid "Notes"
-msgstr "Merknader"
+msgid "Replace"
+msgstr ""
-msgid "Automatic translation"
-msgstr "Automatisk omsetjing"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr ""
-msgid "Fuzzy translation"
-msgstr "Uklar omsetjing"
+msgid "Ignore case"
+msgstr ""
-msgid "Notes for translators:"
+msgid "Wrap around"
msgstr ""
-msgid "Comment:"
-msgstr "Merknad:"
+msgid "Whole words only"
+msgstr "Berre heile ord"
-msgid "Source file"
-msgstr "Kjeldefil"
+msgid "Find in source texts"
+msgstr ""
-msgid "Source file occurrence:"
+msgid "Find in translations"
msgstr ""
-msgid "Open in Editor"
+msgid "Find in comments"
+msgstr "Søk i omsetjingsmerknader"
+
+msgid "Close"
msgstr ""
-msgid "Open in editor"
+msgid "Replace All"
msgstr ""
-#, c-format
-msgid "Error opening file %s!"
-msgstr "Klarte ikkje opna fila «%s»."
+msgid "Replace all"
+msgstr ""
+
+msgid "< &Previous"
+msgstr ""
+
+msgid "&Next >"
+msgstr ""
+
+msgid "String to find"
+msgstr ""
+
+msgid "Replacement string"
+msgstr ""
#, c-format
msgid "Cannot execute program: %s"
@@ -994,9 +1141,19 @@ msgstr "Ny"
msgid "Edit"
msgstr "&Rediger"
+msgid "Delete extractor"
+msgstr ""
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr ""
+
msgid "Extractors"
msgstr ""
+msgid "Accounts"
+msgstr ""
+
msgid "Automatically check for updates"
msgstr ""
@@ -1035,7 +1192,34 @@ msgstr ""
msgid "Advanced"
msgstr ""
-msgid "Additional keywords"
+msgid ""
+"<big>Drag and Drop Folders Here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid ""
+"<big>Drag and drop folders here</big>\n"
+"\n"
+"or use the + button"
+msgstr ""
+
+msgid "Add Folders..."
+msgstr ""
+
+msgid "Add folders..."
+msgstr ""
+
+msgid "Add Files..."
+msgstr ""
+
+msgid "Add files..."
+msgstr ""
+
+msgid "Add Wildcard..."
+msgstr ""
+
+msgid "Add wildcard..."
msgstr ""
msgid "Paths"
@@ -1044,6 +1228,9 @@ msgstr "Adresser"
msgid "Excluded paths"
msgstr ""
+msgid "Additional keywords"
+msgstr ""
+
msgid "Name of the project the translation is for"
msgstr ""
@@ -1056,6 +1243,9 @@ msgstr ""
msgid "Please save the file first. This section cannot be edited until then."
msgstr ""
+msgid "Comment:"
+msgstr "Merknad:"
+
msgid "OK"
msgstr "OK"
@@ -1065,42 +1255,6 @@ msgstr ""
msgid "Clear the comment"
msgstr "Fjern merknaden"
-msgid "Find..."
-msgstr "Søk etter …"
-
-msgid "String to find:"
-msgstr "Søk etter:"
-
-msgid "Case sensitive"
-msgstr "Skil mellom store og små bokstavar"
-
-msgid "Start from the first item"
-msgstr "Start frå den første meldinga"
-
-msgid "Whole words only"
-msgstr "Berre heile ord"
-
-msgid "Find in original strings"
-msgstr "Søk i originaltekstar"
-
-msgid "Find in translations"
-msgstr ""
-
-msgid "Find in comments"
-msgstr "Søk i omsetjingsmerknader"
-
-msgid "Find in automatic comments"
-msgstr "Søk i utviklarmerknader"
-
-msgid "Close"
-msgstr ""
-
-msgid "< &Previous"
-msgstr ""
-
-msgid "&Next >"
-msgstr ""
-
msgid "Create new translations project"
msgstr "Lag nytt omsetjingprosjekt"
@@ -1155,6 +1309,12 @@ msgstr "&Opna …"
msgid "Open Recent"
msgstr ""
+msgid "Open from Crowdin..."
+msgstr ""
+
+msgid "Open From Crowdin..."
+msgstr ""
+
msgid "&Save"
msgstr "La&gra"
@@ -1203,13 +1363,16 @@ msgstr ""
msgid "&Find..."
msgstr "Søk &etter …"
+msgid "Replace..."
+msgstr ""
+
msgid "Find next"
msgstr ""
msgid "Find previous"
msgstr ""
-msgid "Find"
+msgid "Find and Replace..."
msgstr ""
msgid "Find Next"
@@ -1251,6 +1414,12 @@ msgstr ""
msgid "&Group By Context"
msgstr ""
+msgid "Entries with errors first"
+msgstr ""
+
+msgid "Entries with Errors First"
+msgstr ""
+
msgid "&Untranslated entries first"
msgstr ""
@@ -1260,6 +1429,9 @@ msgstr ""
msgid "Show sidebar"
msgstr ""
+msgid "Show status bar"
+msgstr ""
+
msgid "C&atalog"
msgstr "&Katalog"
@@ -1275,6 +1447,9 @@ msgstr "Oppdater frå &POT-fil …"
msgid "Update from &POT File..."
msgstr ""
+msgid "Sync with Crowdin"
+msgstr ""
+
msgid "Fill missing translations from &TM..."
msgstr ""
@@ -1400,6 +1575,9 @@ msgstr ""
msgid "Catalog properties"
msgstr ""
+msgid "Project name and version:"
+msgstr "Prosjektnamn og -versjon:"
+
msgid "Plural Forms:"
msgstr "Fleirtalsformer:"
@@ -1412,6 +1590,15 @@ msgstr ""
msgid "Learn about plural forms"
msgstr ""
+msgid "Charset:"
+msgstr "Teiknkoding:"
+
+msgid "Team:"
+msgstr "Omsetjargruppe:"
+
+msgid "Team's email address:"
+msgstr "E-post til omsetjargruppa:"
+
msgid "Translation properties"
msgstr ""
@@ -1482,7 +1669,7 @@ msgstr "Oppdater katalog – synkroniser han med kjeldene"
msgid "Toggled if selected string has fuzzy translation"
msgstr "Brukt ved uklar omsetjing"
-msgid "Show or hide the sidebar."
+msgid "Show or hide the sidebar"
msgstr ""
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
@@ -1494,6 +1681,9 @@ msgid ""
"translation corresponds to."
msgstr ""
+msgid "Notes for translators:"
+msgstr ""
+
msgid "Add comment"
msgstr ""
@@ -1566,14 +1756,21 @@ msgstr ""
msgid "Open an existing PO file and edit the translation."
msgstr ""
-msgid "Create new translation"
-msgstr ""
-
msgid ""
"Take an existing PO file or POT template and create a new translation from "
"it."
msgstr ""
+msgid "Collaborate on a translation with Crowdin"
+msgstr ""
+
+msgid ""
+"Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+
+msgid "What is Crowdin?"
+msgstr ""
+
msgid "There are no translations. That’s unusual."
msgstr ""
@@ -1606,3 +1803,9 @@ msgstr ""
msgid "Configure source code extraction in Properties."
msgstr ""
+
+msgid "Sync"
+msgstr ""
+
+msgid "Synchronize the translation with Crowdin"
+msgstr ""
diff --git a/locales/pa.mo b/locales/pa.mo
index 99338f3..e291fbd 100644
Binary files a/locales/pa.mo and b/locales/pa.mo differ
diff --git a/locales/pa.po b/locales/pa.po
index fe3e976..d1b67dd 100644
--- a/locales/pa.po
+++ b/locales/pa.po
@@ -1,9 +1,9 @@
msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
-"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:33-0400\n"
+"Report-Msgid-Bugs-To: poedit at googlegroups.com\n"
+"POT-Creation-Date: 2015-05-11 08:48+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Punjabi\n"
"Language: pa_IN\n"
@@ -16,6 +16,40 @@ msgstr ""
"X-Crowdin-Language: pa-IN\n"
"X-Crowdin-File: /locales/poedit.pot\n"
+#. TRANSLATORS: This is titlebar of about dialog, "%s" is application name
+#. ("Poedit" here, but please use "%s")
+#, c-format
+msgid "About %s"
+msgstr "%s ਬਾਰੇ"
+
+#. TRANSLATORS: This is version information in about dialog, "%s" will be
+#. version number when used
+#, c-format
+msgid "Version %s"
+msgstr "%s ਵਰਜ਼ਨ"
+
+msgid "Based on the open source version →"
+msgstr "ਓਪਨ ਸੋਰਸ ਵਰਜ਼ਨ ਉੱਤੇ ਅਧਾਰਿਤ →"
+
+msgid "Acknowledgements"
+msgstr "ਧੰਨਵਾਦ"
+
+msgid "Rate on the App Store"
+msgstr "ਐਪ ਸਟੋਰ ਉੱਤੇ ਰੇਟ ਦਿਓ"
+
+msgid "License Agreement"
+msgstr "ਲਸੰਸ ਇਕਰਾਰਨਾਮਾ"
+
+#, c-format
+msgid "Licensed to %s"
+msgstr "%s ਨੂੰ ਲਸੰਸ ਦਿੱਤਾ"
+
+msgid "Purchased on the Mac App Store"
+msgstr "ਮੈਕ ਐਪ ਸਟੋਰ ਉੱਤੇ ਖਰੀਦਿਆ"
+
+msgid "Free version (please upgrade!)"
+msgstr "ਮੁਫ਼ਤ ਵਰਜ਼ਨ (ਅੱਪਗਰੇਡ ਕਰੋ ਜੀ!)"
+
msgid "Hide this notification message"
msgstr "ਇਹ ਸੂਚਨਾ ਸੁਨੇਹਾ ਓਹਲੇ ਕਰੋ"
@@ -39,16 +73,13 @@ msgstr ""
msgid "Malformed header: '%s'"
msgstr "ਨਿਕਾਰਾ ਹੈੱਡਰ: '%s'"
-msgid ""
-"Broken catalog file: singular form msgstr used together with msgid_plural"
+msgid "Broken catalog file: singular form msgstr used together with msgid_plural"
msgstr "ਟੁੱਟੀ ਕੈਟਾਲਾਗ ਫਾਇਲ: ਇਕਹੇਰੀ msgstr ਨੂੰ msgid_plural ਨਾਲ ਵਰਤਿਆ ਗਿਆ ਹੈ"
msgid "Broken catalog file: plural form msgstr used without msgid_plural"
msgstr "ਟੁੱਟੀ ਕੈਟਾਲਾਗ ਫਾਇਲ: ਬਹੁ-ਵਚਨ msgstr ਨੂੰ msgid_plural ਬਿਨਾਂ ਵਰਤਿਆ ਗਿਆ ਹੈ"
-msgid ""
-"There were errors when loading the catalog. Some data may be missing or "
-"corrupted as the result."
+msgid "There were errors when loading the catalog. Some data may be missing or corrupted as the result."
msgstr "ਕੈਟਾਲਾਗ ਲੋਡ ਕਰਨ ਦੋਰਾਨ ਗਲਤੀ ਹੈ। ਨਤੀਜੇ ਵਜੋਂ ਕੁਝ ਡਾਟਾ ਗੁੰਮ ਹੈ ਜਾਂ ਨਿਕਾਰਾ ਹੋ ਗਿਆ ਹੈ।"
#, c-format
@@ -56,32 +87,32 @@ msgid "Couldn't load file %s, it is probably corrupted."
msgstr "ਫਾਇਲ %s ਲੋਡ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕੀ, ਇਹ ਸ਼ਾਇਦ ਨਿਕਾਰਾ ਹੈ।"
#, c-format
-msgid ""
-"File '%s' is read-only and cannot be saved.\n"
-"Please save it under different name."
-msgstr ""
-"ਫਾਇਲ '%s' ਸਿਰਫ਼ ਪੜ੍ਹਨ ਲਈ ਹੈ ਅਤੇ ਸੰਭਾਲਿਆ ਨਹੀਂ ਜਾ ਸਕਦਾ ਹੈ।\n"
-"ਇੱਕ ਵੱਖਰੇ ਨਾਂ ਨਾਲ ਸੰਭਾਲੋ ਜੀ।"
+msgid "File '%s' is read-only and cannot be saved.\nPlease save it under different name."
+msgstr "ਫਾਇਲ '%s' ਸਿਰਫ਼ ਪੜ੍ਹਨ ਲਈ ਹੈ ਅਤੇ ਸੰਭਾਲਿਆ ਨਹੀਂ ਜਾ ਸਕਦਾ ਹੈ।\nਇੱਕ ਵੱਖਰੇ ਨਾਂ ਨਾਲ ਸੰਭਾਲੋ ਜੀ।"
#, c-format
msgid "Couldn't save file %s."
msgstr "%s ਫਾਈਲ ਸੰਭਾਲੀ ਨਹੀਂ ਜਾ ਸਕੀ।"
-msgid ""
-"There was a problem formatting the file nicely (but it was saved all right)."
+msgid "There was a problem formatting the file nicely (but it was saved all right)."
msgstr ""
#, c-format
-msgid ""
-"The catalog couldn't be saved in '%s' charset as specified in catalog "
-"settings.\n"
-"\n"
-"It was saved in UTF-8 instead and the setting was modified accordingly."
+msgid "The catalog couldn't be saved in '%s' charset as specified in catalog settings.\n\nIt was saved in UTF-8 instead and the setting was modified accordingly."
msgstr ""
msgid "Error saving catalog"
msgstr "ਕੈਟਾਲਾਗ ਸੰਭਾਲਣ ਦੌਰਾਨ ਗਲਤੀ"
+msgid "PO Translation Files"
+msgstr "PO ਅਨੁਵਾਦ ਫਾਈਲਾਂ"
+
+msgid "POT Translation Templates"
+msgstr ""
+
+msgid "All Translation Files"
+msgstr ""
+
msgid "Merging differences..."
msgstr "ਅੰਤਰ ਵਿਲੀਨ ਕੀਤਾ ਜਾ ਰਹੇ ਹਨ..."
@@ -101,6 +132,81 @@ msgstr "ਭਾਸ਼ਾ ਚੋਣ"
msgid "You must restart Poedit for this change to take effect."
msgstr "ਤੁਹਾਨੂੰ ਤਬਦੀਲੀਆਂ ਲਾਗੂ ਕਰਨ ਲਈ ਪੋਆਡਿਟ ਮੁੜ ਚਾਲੂ ਕਰਨਾ ਪਵੇਗਾ।"
+msgid "Downloading translations is disabled in this project."
+msgstr ""
+
+msgid "Not authorized, please sign in again."
+msgstr ""
+
+msgid "Sign in to Crowdin"
+msgstr ""
+
+msgid "Crowdin is an online localization management platform and collaborative translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+
+msgid "Sign In"
+msgstr ""
+
+msgid "Sign in"
+msgstr ""
+
+msgid "Sign Out"
+msgstr ""
+
+msgid "Sign out"
+msgstr ""
+
+msgid "Waiting for authentication…"
+msgstr ""
+
+msgid "Updating user information…"
+msgstr ""
+
+msgid "Signed in as:"
+msgstr ""
+
+msgid "Learn More About Crowdin"
+msgstr ""
+
+msgid "Learn more about Crowdin"
+msgstr ""
+
+msgid "Open Crowdin translation"
+msgstr ""
+
+msgid "Project:"
+msgstr ""
+
+msgid "Language:"
+msgstr "ਭਾਸ਼ਾ:"
+
+msgid "File:"
+msgstr ""
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr ""
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr ""
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr ""
+
+msgid "Downloading latest translations…"
+msgstr ""
+
+msgid "Syncing with Crowdin"
+msgstr ""
+
+msgid "Syncing with Crowdin failed."
+msgstr ""
+
+msgid "Crowdin error"
+msgstr ""
+
+msgid "Uploading translations…"
+msgstr ""
+
msgid "&Copy"
msgstr "ਕਾਪੀ ਕਰੋ(&C)"
@@ -128,23 +234,43 @@ msgstr "%s ਫਾਇਲਾਂ ਪਾਰਸ ਕੀਤੀਆਂ ਜਾ ਰਹੀ
msgid "Failed to load extracted catalog."
msgstr "ਖੋਲ੍ਹੇ ਗਏ ਕੈਟਾਲਾਗ ਨੂੰ ਲੋਡ ਕਰਨ ਲਈ ਫੇਲ੍ਹ ਹੈ।"
+#, c-format
+msgid "Failed to extract WordPress metadata from file %s."
+msgstr ""
+
msgid "&Help"
msgstr "ਮੱਦਦ(&H)"
+msgid "Beta expired"
+msgstr "ਬੀਟਾ ਦੀ ਮਿਆਦ ਪੁੱਗੀ"
+
+msgid "This beta version of Poedit expired."
+msgstr "ਪੋਐਡਿਟ ਦੇ ਬੀਟਾ ਵਰਜ਼ਨ ਦੀ ਮਿਆਦ ਪੁੱਗੀ।"
+
+msgid "Please download a newer version from the Poedit website at http://poedit.net/download"
+msgstr "ਪੋਐਡਿਟ ਵੈੱਬਸਾਈਟ http://poedit.net/download ਤੋਂ ਨਵਾਂ ਵਰਜ਼ਨ ਡਾਊਨਲੋਡ ਕਰੋ"
+
+msgid "Download"
+msgstr "ਡਾਊਨਲੋਡ ਕਰੋ"
+
+msgid "Quit"
+msgstr "ਬਾਹਰ"
+
msgid "MO files can’t be directly edited in Poedit."
msgstr ""
msgid "Error opening file"
msgstr "ਫਾਈਲ ਖੋਲ੍ਹਣ ਦੌਰਾਨ ਗਲਤੀ"
-msgid ""
-"Please open and edit the corresponding PO file instead. When you save it, "
-"the MO file will be updated as well."
+msgid "Please open and edit the corresponding PO file instead. When you save it, the MO file will be updated as well."
msgstr ""
msgid "don't delete temporary files (for debugging)"
msgstr ""
+msgid "handle a poedit:// URI"
+msgstr ""
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr ""
@@ -155,34 +281,19 @@ msgstr ""
msgid "Open catalog"
msgstr "ਕੈਟਾਲਾਗ ਖੋਲ੍ਹੋ"
-msgid "All Files"
-msgstr "ਸਭ ਫਾਈਲਾਂ"
-
-msgid "PO Translation Files"
-msgstr "PO ਅਨੁਵਾਦ ਫਾਈਲਾਂ"
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "ਫਾਇਲ '%s' ਮੌਜੂਦ ਨਹੀਂ ਹੈ।"
-#. TRANSLATORS: This is titlebar of about dialog, "%s" is application name
-#. ("Poedit" here, but please use "%s")
-#, c-format
-msgid "About %s"
-msgstr "%s ਬਾਰੇ"
-
-#. TRANSLATORS: This is version information in about dialog, "%s" will be
-#. version number when used
-#, c-format
-msgid "Version %s"
-msgstr "%s ਵਰਜ਼ਨ"
-
msgid "Poedit is an easy to use translations editor."
msgstr "ਪੋਆਡਿਟ ਵਰਤਣ ਲਈ ਸੌਖਾ ਅਨੁਵਾਦ ਸੰਪਾਦਕ ਹੈ।"
msgid "Catalogs Manager"
msgstr "ਕੈਟਲਾਗ ਮੈਨੇਜਰ"
+msgid "License..."
+msgstr "ਲਸੰਸ..."
+
msgid "Check for Updates..."
msgstr "ਅੱਪਡੇਟ ਲਈ ਜਾਂਚ ਕਰੋ..."
@@ -264,6 +375,15 @@ msgstr "ਬੋਲਣਾ ਰੋਕੋ"
msgid "&View"
msgstr "ਵੇਖੋ(&V)"
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
+msgid "Show Toolbar"
+msgstr ""
+
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
+msgid "Customize Toolbar…"
+msgstr ""
+
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
msgid "Enter Full Screen"
msgstr "ਪੂਰੀ ਸਕਰੀਨ ਉਤੇ ਜਾਓ"
@@ -279,7 +399,18 @@ msgstr "ਜ਼ੂਮ"
msgid "Bring All to Front"
msgstr "ਸਭ ਤੋਂ ਅੱਗੇ ਲਿਆਓ"
+#. TRANSLATORS:File kind displayed in Finder/Explorer
msgid "PO Translation"
+msgstr "PO ਅਨੁਵਾਦ"
+
+msgid "Invalid license data."
+msgstr "ਗਲਤ ਲਸੰਸ ਡਾਟਾ।"
+
+msgid "Poedit"
+msgstr "ਪੋਆਡਿਟ"
+
+#, c-format
+msgid "The link doesn't contain valid Poedit license. Try entering it manually or contact support at help at poedit.net.\n\n(%s)"
msgstr ""
msgid "The file cannot be opened."
@@ -288,8 +419,7 @@ msgstr "ਫਾਈਲ ਨੂੰ ਖੋਲ੍ਹਿਆ ਨਹੀਂ ਜਾ ਸਕ
msgid "Invalid file"
msgstr "ਗਲਤ ਫਾਈਲ"
-msgid ""
-"The file may be either corrupted or in a format not recognized by Poedit."
+msgid "The file may be either corrupted or in a format not recognized by Poedit."
msgstr ""
msgid "&Undo"
@@ -325,7 +455,7 @@ msgstr "ਸਭ ਚੁਣੋ"
#. TRANSLATORS: Keyboard shortcut for display in Windows menus
#. TRANSLATORS: This is the key shortcut used in menus on Windows, some languages call them differently
msgid "Ctrl+"
-msgstr ""
+msgstr "Ctrl+"
#. TRANSLATORS: Keyboard shortcut for display in Windows menus
#. TRANSLATORS: This is the key shortcut used in menus on Windows, some languages call them differently
@@ -334,31 +464,31 @@ msgstr ""
#. TRANSLATORS: Keyboard shortcut for display in Windows menus
msgid "Shift+"
-msgstr ""
+msgstr "Shift+"
#. TRANSLATORS: Keyboard shortcut for display in Windows menus
msgid "Enter"
-msgstr ""
+msgstr "Enter"
#. TRANSLATORS: Keyboard shortcut for display in Windows menus
msgid "Up"
-msgstr ""
+msgstr "Up"
#. TRANSLATORS: Keyboard shortcut for display in Windows menus
msgid "Down"
-msgstr ""
+msgstr "Down"
#. TRANSLATORS: Keyboard shortcut, must correspond to translation of "Ctrl+"
msgid "ctrl"
-msgstr ""
+msgstr "ctrl"
#. TRANSLATORS: Keyboard shortcut, must correspond to translation of "Alt+"
msgid "alt"
-msgstr ""
+msgstr "alt"
#. TRANSLATORS: Keyboard shortcut, must correspond to translation of "Shift+"
msgid "shift"
-msgstr ""
+msgstr "shift"
msgid "You can't drop more than one file on Poedit window."
msgstr "ਤੁਸੀ ਪੋਆਡਿਟ ਵਿੰਡੋ ਵਿਚ ਇਕ ਤੋਂ ਵੱਧ ਫਾਇਲ ਸੁੱਟ ਨਹੀ ਸਕਦੇ ਹੋ।"
@@ -367,9 +497,6 @@ msgstr "ਤੁਸੀ ਪੋਆਡਿਟ ਵਿੰਡੋ ਵਿਚ ਇਕ ਤੋ
msgid "File '%s' is not a message catalog."
msgstr "ਫਾਈਲ '%s' ਸੁਨੇਹਾ ਕੈਟਾਲਾਗ ਨਹੀਂ ਹੈ।"
-msgid "Poedit"
-msgstr "ਪੋਆਡਿਟ"
-
msgid "&File"
msgstr "ਫਾਇਲ(&F)"
@@ -388,12 +515,20 @@ msgstr "ਬਹੁ-ਵਚਨ:"
msgid "Translation:"
msgstr "ਅਨੁਵਾਦ:"
+msgid "POT files are only templates and don’t contain any translations themselves.\nTo make a translation, create a new PO file based on the template."
+msgstr ""
+
+msgid "Create New Translation"
+msgstr ""
+
+msgid "Create new translation"
+msgstr "ਨਵਾਂ ਅਨੁਵਾਦ ਬਣਾਓ"
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
#, c-format
-msgid ""
-"Spellchecking is disabled, because the dictionary for %s isn’t installed."
+msgid "Spellchecking is disabled, because the dictionary for %s isn’t installed."
msgstr ""
msgid "Install"
@@ -435,7 +570,29 @@ msgstr "HTML ਫਾਈਲਾਂ"
msgid "Open catalog template"
msgstr "ਕੈਟਾਲਾਗ ਟੈਪਲੇਟ ਖੋਲ੍ਹੋ"
-msgid "POT Translation Templates"
+msgid "WordPress"
+msgstr ""
+
+msgid "Analyzing WordPress code..."
+msgstr ""
+
+msgid "Select the folder with the WordPress theme or plugin"
+msgstr ""
+
+#. TRANSLATORS: %s is name of a WordPress theme
+#, c-format
+msgid "The “%s” theme is compatible."
+msgstr ""
+
+#. TRANSLATORS: %s is name of a WordPress plugin
+#, c-format
+msgid "The “%s” plugin is compatible."
+msgstr ""
+
+msgid "The theme is translation-ready and compatible with Poedit’s WordPress support."
+msgstr ""
+
+msgid "The plugin is translation-ready and compatible with Poedit’s WordPress support."
msgstr ""
msgid "Updating catalog"
@@ -447,9 +604,7 @@ msgstr "ਸਰੋਤ ਕੋਡ ਮੌਜੂਦ ਨਹੀਂ ਹੈ।"
msgid "Updating failed"
msgstr "ਅੱਪਡੇਟ ਕਰਨਾ ਫੇਲ੍ਹ ਹੈ।"
-msgid ""
-"Translations couldn’t be updated from the source code, because no code was "
-"found in the location specified in the catalog’s Properties."
+msgid "Translations couldn’t be updated from the source code, because no code was found in the location specified in the catalog’s Properties."
msgstr ""
msgid "Entries in the catalog are probably incorrect."
@@ -467,27 +622,19 @@ msgstr[1] ""
msgid "Validation results"
msgstr ""
-msgid ""
-"Entries with errors were marked in red in the list. Details of the error "
-"will be shown when you select such an entry."
+msgid "Entries with errors were marked in red in the list. Details of the error will be shown when you select such an entry."
msgstr ""
msgid "The file was saved safely."
msgstr "ਫ਼ਾਈਲ ਸੁਰੱਖਿਅਤ ਢੰਗ ਨਾਲ ਸੰਭਾਲੀ ਗਈ।"
-msgid ""
-"The file was saved safely and compiled into the MO format, but it will "
-"probably not work correctly."
+msgid "The file was saved safely and compiled into the MO format, but it will probably not work correctly."
msgstr ""
-msgid ""
-"The file was saved safely, but it cannot be compiled into the MO format and "
-"used."
+msgid "The file was saved safely, but it cannot be compiled into the MO format and used."
msgstr ""
-msgid ""
-"The file was compiled into the MO format, but it will probably not work "
-"correctly."
+msgid "The file was compiled into the MO format, but it will probably not work correctly."
msgstr ""
msgid "The file cannot be compiled into the MO format and used."
@@ -498,26 +645,41 @@ msgstr "ਅਨੁਵਾਦ ਵਿੱਚ ਕੋਈ ਸਮੱਸਿਆ ਨਹੀ
#, c-format
msgid "The translation is ready for use, but %d entry is not translated yet."
-msgid_plural ""
-"The translation is ready for use, but %d entries are not translated yet."
+msgid_plural "The translation is ready for use, but %d entries are not translated yet."
msgstr[0] ""
msgstr[1] ""
msgid "The translation is ready for use."
msgstr ""
-msgid "No references to this string found."
-msgstr "ਇਸ ਸਤਰ ਲਈ ਕੋਈ ਹਵਾਲਾ ਨਹੀਂ ਹੈ।"
+msgid "Contributing translations improves the quality of online suggestions for everybody — the more people do it, the better the suggestions can be. Your translations are submitted anonymously and are available to other translators using Poedit or other CAT tools."
+msgstr ""
+
+msgid "Can Poedit contribute your translations of this file to the online translation memory?"
+msgstr ""
+
+msgid "Apply to all files I edit"
+msgstr ""
+
+msgid "Contribute"
+msgstr ""
-msgid "Please choose the reference you want to show:"
-msgstr "ਜੋ ਹਵਾਲਾ ਤੁਸੀਂ ਵੇਖਣਾ ਚਾਹੁੰਦੇ ਹੋ, ਉਹ ਚੁਣੋ:"
+msgid "Keep Private"
+msgstr "ਪ੍ਰਾਈਵੇਟ ਰੱਖੋ"
-msgid "References"
-msgstr "ਹਵਾਲਾ"
+msgid "Keep private"
+msgstr "ਪ੍ਰਾਈਵੇਟ ਰੱਖੋ"
msgid "Context:"
msgstr ""
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr ""
+
+msgid "The file contained duplicate items, which is not allowed in PO files and would prevent the file from being used. Poedit fixed the issue, but you should review translations of any items marked as fuzzy and correct them if necessary."
+msgstr ""
+
msgid "Language of the translation isn't set."
msgstr "ਅਨੁਵਾਦ ਦੀ ਭਾਸ਼ਾ ਹਾਲੇ ਸੈੱਟ ਨਹੀਂ ਹੈ।"
@@ -527,14 +689,23 @@ msgstr "ਭਾਸ਼ਾ ਦਿਓ"
msgid "Set language"
msgstr "ਭਾਸ਼ਾ ਦਿਓ"
-msgid ""
-"This catalog has entries with plural forms, but doesn't have Plural-Forms "
-"header configured."
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid "Suggestions are not available if the translation language is not set correctly. Other features, such as plural forms, may be affected as well."
msgstr ""
-msgid ""
-"Entries in this catalog have different plural forms count from what "
-"catalog's Plural-Forms header says"
+msgid "Language of the translation is the same as source language."
+msgstr ""
+
+msgid "Fix Language"
+msgstr ""
+
+msgid "Fix language"
+msgstr ""
+
+msgid "This catalog has entries with plural forms, but doesn't have Plural-Forms header configured."
+msgstr ""
+
+msgid "Entries in this catalog have different plural forms count from what catalog's Plural-Forms header says"
msgstr ""
msgid "Required header Plural-Forms is missing."
@@ -557,6 +728,7 @@ msgstr ""
msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr ""
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr "ਪੜਤਾਲ"
@@ -578,12 +750,22 @@ msgid_plural "%d errors"
msgstr[0] "%d ਗਲਤੀ"
msgstr[1] "%d ਗਲਤੀਆਂ"
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] ""
+msgstr[1] ""
+
msgid " (unsaved)"
msgstr " (ਨਾ-ਸੰਭਾਲਿਆ)"
msgid " (modified)"
msgstr " (ਸੋਧੀ)"
+#, c-format
+msgid " (beta version expires %s)"
+msgstr ""
+
msgid "Go"
msgstr "ਜਾਓ"
@@ -597,10 +779,7 @@ msgstr "ਹਟਾਏ ਗਏ ਅਨੁਵਾਦ ਨੂੰ ਕੱਢੋ"
msgid "Do you want to remove all translations that are no longer used?"
msgstr "ਕੀ ਤੁਸੀਂ ਸਭ ਅਨੁਵਾਦਾਂ ਨੂੰ ਹਟਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ, ਜੋ ਕਿ ਹੁਣ ਵਰਤੋਂ ਯੋਗ ਨਹੀਂ ਹਨ?"
-msgid ""
-"If you continue with purging, all translations marked as deleted will be "
-"permanently removed. You will have to translate them again if they are added "
-"back in the future."
+msgid "If you continue with purging, all translations marked as deleted will be permanently removed. You will have to translate them again if they are added back in the future."
msgstr ""
msgid "Keep"
@@ -615,17 +794,22 @@ msgstr "ਗ਼ੈਰ-ਮੌਜੂਦ ਅਨੁਵਾਦ ਨੂੰ TM ਰਾਹ
msgid "Only fill in exact matches"
msgstr ""
-msgid ""
-"By default, inaccurate results are filled in as well and marked as fuzzy. "
-"Check this option to only include accurate matches."
+msgid "By default, inaccurate results are filled in as well and marked as fuzzy. Check this option to only include accurate matches."
msgstr ""
msgid "Don’t mark exact matches as fuzzy"
msgstr ""
-msgid ""
-"Only enable if you trust the quality of your TM. By default, all matches "
-"from the TM are marked as fuzzy and should be reviewed."
+msgid "Only enable if you trust the quality of your TM. By default, all matches from the TM are marked as fuzzy and should be reviewed."
+msgstr ""
+
+msgid "Use online suggestions"
+msgstr ""
+
+msgid "Use online suggestions (experimental)"
+msgstr ""
+
+msgid "Try to fetch translations from the online TM as well. Notice that the translations will not be perfect and will still need to be corrected by a human translator."
msgstr ""
msgid "Fill"
@@ -637,18 +821,13 @@ msgid_plural "%d entries were filled from the translation memory."
msgstr[0] ""
msgstr[1] ""
-msgid ""
-"The translations were marked as fuzzy, because they may be inaccurate. You "
-"should review them for correctness."
+msgid "The translations were marked as fuzzy, because they may be inaccurate. You should review them for correctness."
msgstr ""
msgid "No entries could be filled from the translation memory."
msgstr ""
-msgid ""
-"The TM doesn’t contain any strings similar to the content of this file. It "
-"is only effective for semi-automatic translations after Poedit learns enough "
-"from files that you translated manually."
+msgid "The TM doesn’t contain any strings similar to the content of this file. It is only effective for semi-automatic translations after Poedit learns enough from files that you translated manually."
msgstr ""
msgid "Translating"
@@ -691,6 +870,9 @@ msgstr "ਹਰ ਚੀਜ਼"
msgid "Form %i"
msgstr "ਫਾਰਮ %i"
+msgid "Singular"
+msgstr ""
+
msgid "Zero"
msgstr "ਸਿਫ਼ਰ"
@@ -700,6 +882,9 @@ msgstr "ਇੱਕ"
msgid "Two"
msgstr "ਦੋ"
+msgid "Plural"
+msgstr ""
+
msgid "Other"
msgstr "ਹੋਰ"
@@ -728,6 +913,12 @@ msgstr "ਬਾਹੀ ਓਹਲੇ ਕਰੋ"
msgid "Show Sidebar"
msgstr "ਬਾਹੀ ਵੇਖਾਓ"
+msgid "Hide Status Bar"
+msgstr ""
+
+msgid "Show Status Bar"
+msgstr ""
+
msgid "Source text"
msgstr "ਸਰੋਤ ਪਾਠ"
@@ -737,6 +928,10 @@ msgstr "ਅਨੁਵਾਦ"
msgid "ID"
msgstr "ਆਈਡੀ"
+#, c-format
+msgid "Source text — %s"
+msgstr ""
+
msgid "unknown language"
msgstr "ਅਣਜਾਣ ਭਾਸ਼ਾ"
@@ -747,42 +942,6 @@ msgstr "ਅਨੁਵਾਦ — %s"
msgid "Error:"
msgstr "ਗਲਤੀ:"
-msgid "Project info"
-msgstr "ਪ੍ਰੋਜੈਕਟ ਜਾਣਕਾਰੀ"
-
-msgid "Project name and version:"
-msgstr "ਪ੍ਰੋਜੈਕਟ ਨਾਂ ਅਤੇ ਵਰਜਨ :"
-
-msgid "Language:"
-msgstr "ਭਾਸ਼ਾ:"
-
-msgid "Team:"
-msgstr "ਟੀਮ: "
-
-msgid "Team's email address:"
-msgstr "ਟੀਮ ਦਾ ਈ-ਮੇਲ ਐਡਰੈੱਸ:"
-
-msgid "Charset:"
-msgstr "ਅੱਖਰ-ਸੈਟ :"
-
-msgid "Source"
-msgstr "ਸਰੋਤ"
-
-msgid "Notes"
-msgstr "ਨੋਟਿਸ"
-
-msgid "Automatic translation"
-msgstr "ਆਟੋਮੈਟਿਕ ਅਨੁਵਾਦ"
-
-msgid "Fuzzy translation"
-msgstr "ਅਸਪਸ਼ਟ ਅਨੁਵਾਦ"
-
-msgid "Notes for translators:"
-msgstr "ਅਨੁਵਾਦਕਾਂ ਲਈ ਸੂਚਨਾ:"
-
-msgid "Comment:"
-msgstr "ਟਿੱਪਣੀ:"
-
msgid "Source file"
msgstr "ਸਰੋਤ ਫਾਇਲ"
@@ -795,23 +954,124 @@ msgstr "ਐਡੀਟਰ ਵਿੱਚ ਖੋਲ੍ਹੋ"
msgid "Open in editor"
msgstr "ਐਡੀਟਰ ਵਿੱਚ ਖੋਲ੍ਹੋ"
+msgid "No references for the selected item."
+msgstr ""
+
#, c-format
msgid "Error opening file %s!"
msgstr "ਫਾਇਲ %s ਖੋਲ੍ਹਣ ਦੌਰਾਨ ਗਲਤੀ!"
-#, c-format
-msgid "Cannot execute program: %s"
-msgstr "ਪ੍ਰੋਗਰਾਮ ਚਲਾਇਆ ਨਹੀਂ ਜਾ ਸਕਦਾ: %s"
+msgid "Find"
+msgstr "ਲੱਭੋ"
-msgid "Language Code or Name (e.g. en_GB)"
-msgstr "ਭਾਸ਼ਾ ਕੋਡ ਜਾਂ ਨਾਂ (ਜਿਵੇਂ pa_IN)"
+msgid "Replace"
+msgstr ""
-msgid "Translation Language"
-msgstr "ਅਨੁਵਾਦ ਭਾਸ਼ਾ"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr ""
-msgid "Language of the translation:"
+msgid "Ignore case"
+msgstr ""
+
+msgid "Wrap around"
+msgstr ""
+
+msgid "Whole words only"
+msgstr "ਪੂਰੇ ਸ਼ਬਦ ਹੀ"
+
+msgid "Find in source texts"
+msgstr ""
+
+msgid "Find in translations"
+msgstr "ਅਨੁਵਾਦ ਵਿੱਚ ਲੱਭੋ"
+
+msgid "Find in comments"
+msgstr "ਟਿੱਪਣੀ ਵਿੱਚ ਖੋਜ"
+
+msgid "Close"
+msgstr "ਬੰਦ ਕਰੋ"
+
+msgid "Replace All"
+msgstr ""
+
+msgid "Replace all"
+msgstr ""
+
+msgid "< &Previous"
+msgstr "< ਪਿੱਛੇ(&P)"
+
+msgid "&Next >"
+msgstr "ਅੱਗੇ(&N) >"
+
+msgid "String to find"
+msgstr ""
+
+msgid "Replacement string"
+msgstr ""
+
+#, c-format
+msgid "Cannot execute program: %s"
+msgstr "ਪ੍ਰੋਗਰਾਮ ਚਲਾਇਆ ਨਹੀਂ ਜਾ ਸਕਦਾ: %s"
+
+msgid "Language Code or Name (e.g. en_GB)"
+msgstr "ਭਾਸ਼ਾ ਕੋਡ ਜਾਂ ਨਾਂ (ਜਿਵੇਂ pa_IN)"
+
+msgid "Translation Language"
+msgstr "ਅਨੁਵਾਦ ਭਾਸ਼ਾ"
+
+msgid "Language of the translation:"
msgstr "ਅਨੁਵਾਦ ਦੀ ਭਾਸ਼ਾ:"
+msgid "Poedit Registration"
+msgstr "ਪੋਐਡਿਟ ਰਜਿਸਟਰੇਸ਼ਨ"
+
+msgid "Name"
+msgstr "ਨਾਂ"
+
+msgid "License Key"
+msgstr "ਲਸੰਸ ਕੁੰਜੀ"
+
+msgid "The registration key can be used on multiple computers you use personally or for multiple\naccounts on a single computer."
+msgstr ""
+
+msgid "Buy Online..."
+msgstr "...ਆਨਲਾਈਨ ਖਰੀਦੋ"
+
+msgid "Buy online..."
+msgstr "...ਆਨਲਾਈਨ ਖਰੀਦੋ"
+
+msgid "Cancel"
+msgstr "ਰੱਦ ਕਰੋ"
+
+msgid "Register"
+msgstr "ਰਜਿਸਟਰ ਕਰੋ"
+
+msgid "Your copy is upgraded to Poedit Pro."
+msgstr ""
+
+msgid "You’re awesome! Thank you so much\nfor purchasing Poedit Pro."
+msgstr ""
+
+msgid "View License Key"
+msgstr "ਲਸੰਸ ਕੁੰਜੀ ਵੇਖੋ"
+
+msgid "View license key"
+msgstr "ਲਸੰਸ ਕੁੰਜੀ ਵੇਖੋ"
+
+#, c-format
+msgid "Licensed to: %s"
+msgstr "ਲਸੰਦ ਦਿੱਤਾ: %s"
+
+msgid "Purchasing the full version will unlock more features\nin this and future versions of Poedit, including:\n\n"
+msgstr ""
+
+msgid "Upgrade..."
+msgstr "...ਅੱਪਗਰੇਡ ਕਰੋ"
+
+msgid "No, thanks"
+msgstr "ਨਹੀਂ, ਧੰਨਵਾਦ"
+
msgid "Poedit - Catalogs manager"
msgstr "ਪੋਆਡਿਟ - ਕੈਟਾਲਾਗ ਮੈਨੇਜਰ"
@@ -848,12 +1108,8 @@ msgstr "ਕੀ ਤੁਸੀ ਪ੍ਰੋਜੈਕਟ ਖਤਮ ਕਰਨਾ ਚ
msgid "Confirmation"
msgstr "ਪੁਸ਼ਟੀ"
-msgid ""
-"Do you really want to do mass update of\n"
-"all catalogs in this project?"
-msgstr ""
-"ਕੀ ਤੁਸੀ ਇਸ ਪ੍ਰੋਜੈਕਟ ਦੇ ਸਭ ਕੈਟਾਲਾਗ ਦਾ ਇੱਕ ਵਾਰ\n"
-"ਹੀ ਅੱਪਡੇਟ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?"
+msgid "Do you really want to do mass update of\nall catalogs in this project?"
+msgstr "ਕੀ ਤੁਸੀ ਇਸ ਪ੍ਰੋਜੈਕਟ ਦੇ ਸਭ ਕੈਟਾਲਾਗ ਦਾ ਇੱਕ ਵਾਰ\nਹੀ ਅੱਪਡੇਟ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?"
msgid "Information about the translator"
msgstr "ਅਨੁਵਾਦਕ ਬਾਰੇ ਜਾਣਕਾਰੀ"
@@ -870,9 +1126,7 @@ msgstr "ਈਮੇਲ:"
msgid "your_email at example.com"
msgstr "your_email at example.com"
-msgid ""
-"Your name and email address are only used to set the Last-Translator header "
-"of GNU gettext files."
+msgid "Your name and email address are only used to set the Last-Translator header of GNU gettext files."
msgstr ""
msgid "Editing"
@@ -890,13 +1144,8 @@ msgstr "ਸ਼ਬਦ-ਜੋੜ ਜਾਂਚ ਕਰੋ"
msgid "Always change focus to text input field"
msgstr "ਹਮੇਸ਼ਾ ਪਾਠ ਲਿਖਣ ਖੇਤਰ 'ਤੇ ਹੀ ਕੇਂਦਰਿਤ ਕਰੋ"
-msgid ""
-"Never let the list of strings take focus. If enabled, you must use Ctrl-"
-"arrows for keyboard navigation but you can also type text immediately, "
-"without having to press Tab to change focus."
-msgstr ""
-"ਸਤਰਾਂ ਦੀ ਸੂਚੀ ਕਦੇ ਕੇਂਦਰਿਤ ਨਾ ਹੋਣ ਦਿਉ। ਜੇ ਏਦਾਂ ਹੈ ਤਾਂ ਤੁਸੀਂ ਕੀਬੋਰਡ ਦੇ Ctrl- ਤੀਰ ਬਟਨਾਂ ਨਾਲ ਚੱਲ "
-"ਸਕਦੇ ਹੋ, ਪਰ ਤੁਸੀ Tab ਦਬਾਏ ਬਿਨਾਂ ਵੀ ਤੁਰੰਤ ਲਿਖ ਸਕਦੇ ਹੋ।"
+msgid "Never let the list of strings take focus. If enabled, you must use Ctrl-arrows for keyboard navigation but you can also type text immediately, without having to press Tab to change focus."
+msgstr "ਸਤਰਾਂ ਦੀ ਸੂਚੀ ਕਦੇ ਕੇਂਦਰਿਤ ਨਾ ਹੋਣ ਦਿਉ। ਜੇ ਏਦਾਂ ਹੈ ਤਾਂ ਤੁਸੀਂ ਕੀਬੋਰਡ ਦੇ Ctrl- ਤੀਰ ਬਟਨਾਂ ਨਾਲ ਚੱਲ ਸਕਦੇ ਹੋ, ਪਰ ਤੁਸੀ Tab ਦਬਾਏ ਬਿਨਾਂ ਵੀ ਤੁਰੰਤ ਲਿਖ ਸਕਦੇ ਹੋ।"
msgid "Appearance"
msgstr "ਦਿੱਖ"
@@ -933,13 +1182,31 @@ msgstr "ਮੁੜ-ਸੈੱਟ ਕਰੋ"
msgid "Consult TM when updating from sources"
msgstr ""
-msgid ""
-"If enabled, Poedit will try to fill in new entries using your previous\n"
-"translations stored in the translation memory. If the TM is\n"
-"near-empty, it will not be very effective. The more translations\n"
-"you edit and the larger the TM grows, the better it gets."
+msgid "If enabled, Poedit will try to fill in new entries using your previous\ntranslations stored in the translation memory. If the TM is\nnear-empty, it will not be very effective. The more translations\nyou edit and the larger the TM grows, the better it gets."
msgstr ""
+msgid "Use suggestions from online collaborative TM"
+msgstr ""
+
+msgid "Poedit uses a large online translation memory that includes both contributed human translations and state-of-the-art machine translations."
+msgstr ""
+
+msgid "Contribute my translations to the online TM"
+msgstr ""
+
+msgid "Keep my translations private"
+msgstr "ਮੇਰੇ ਅਨੁਵਾਦ ਨੂੰ ਪ੍ਰਾਈਵੇਟ ਰੱਖੋ"
+
+msgid "Ask me for each file individually"
+msgstr ""
+
+msgid "Terms of Service"
+msgstr "ਸੇਵਾ ਦੀਆਂ ਸ਼ਰਤਾਂ"
+
+#. TRANSLATORS: This is part of footer that says in full "powered by MyMemory", with the MyMemory part being a logo
+msgid "powered by"
+msgstr "ਸਹਿਯੋਗ ਨਾਲ"
+
msgid "Stored translations:"
msgstr ""
@@ -964,23 +1231,16 @@ msgstr ""
msgid "Are you sure you want to reset the translation memory?"
msgstr ""
-msgid ""
-"Resetting the translation memory will irrevocably delete all stored "
-"translations from it. You can’t undo this operation."
+msgid "Resetting the translation memory will irrevocably delete all stored translations from it. You can’t undo this operation."
msgstr ""
-msgid "Cancel"
-msgstr "ਰੱਦ ਕਰੋ"
-
#. TRANSLATORS: This is abbreviation of "Translation Memory" used in Preferences on OS X.
#. Long text looks weird there, too short (like TM) too, but less so. "General" is about ideal
#. length there.
msgid "TM"
msgstr "TM"
-msgid ""
-"Source code extractors are used to find translatable strings in the source "
-"code files and extract them so that they can be translated."
+msgid "Source code extractors are used to find translatable strings in the source code files and extract them so that they can be translated."
msgstr ""
msgid "New"
@@ -989,26 +1249,32 @@ msgstr "ਨਵਾਂ"
msgid "Edit"
msgstr "ਸੋਧ"
+msgid "Delete extractor"
+msgstr ""
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr ""
+
msgid "Extractors"
msgstr ""
+msgid "Accounts"
+msgstr ""
+
msgid "Automatically check for updates"
msgstr "ਆਟੋਮੈਟਿਕ ਅੱਪਡੇਟ ਲਈ ਜਾਂਚ ਕਰੋ"
msgid "Include beta versions"
msgstr "ਬੀਟਾ ਵਰਜਨ ਸਮੇਤ"
-msgid ""
-"Beta versions contain the latest new features and improvements, but may be a "
-"bit less stable."
+msgid "Beta versions contain the latest new features and improvements, but may be a bit less stable."
msgstr ""
msgid "Updates"
msgstr "ਅੱਪਡੇਟ"
-msgid ""
-"These settings affect internal formatting of PO files. Adjust them if you "
-"have specific requirements e.g. because of version control."
+msgid "These settings affect internal formatting of PO files. Adjust them if you have specific requirements e.g. because of version control."
msgstr ""
msgid "Line endings:"
@@ -1030,6 +1296,30 @@ msgstr ""
msgid "Advanced"
msgstr "ਤਕਨੀਕੀ"
+msgid "Add Files..."
+msgstr ""
+
+msgid "Add files..."
+msgstr ""
+
+msgid "Add Folders..."
+msgstr ""
+
+msgid "Add folders..."
+msgstr ""
+
+msgid "Add Wildcard..."
+msgstr ""
+
+msgid "Add wildcard..."
+msgstr ""
+
+msgid "<big>Drag and Drop Folders Here</big>\n\nor use the + button"
+msgstr ""
+
+msgid "<big>Drag and drop folders here</big>\n\nor use the + button"
+msgstr ""
+
msgid "Additional keywords"
msgstr "ਵਾਧੂ ਕੀਵਰਡ"
@@ -1051,6 +1341,9 @@ msgstr "UTF-8 (ਸਿਫਾਰਸ਼ੀ)"
msgid "Please save the file first. This section cannot be edited until then."
msgstr ""
+msgid "Comment:"
+msgstr "ਟਿੱਪਣੀ:"
+
msgid "OK"
msgstr "ਠੀਕ ਹੈ"
@@ -1060,42 +1353,6 @@ msgstr "ਸਾਫ਼ ਕਰੋ(&l)"
msgid "Clear the comment"
msgstr "ਟਿੱਪਣੀ ਸਾਫ਼ ਕਰੋ"
-msgid "Find..."
-msgstr "ਖੋਜ...."
-
-msgid "String to find:"
-msgstr "ਲੱਭਣ ਲਈ ਸਤਰ:"
-
-msgid "Case sensitive"
-msgstr "ਅੱਖਰ ਆਕਾਰ ਨਿਰਭਰ"
-
-msgid "Start from the first item"
-msgstr "ਪਹਿਲੀ ਇਕਾਈ ਤੋਂ ਚਾਲੂ ਕਰੋ"
-
-msgid "Whole words only"
-msgstr "ਪੂਰੇ ਸ਼ਬਦ ਹੀ"
-
-msgid "Find in original strings"
-msgstr "ਅਸਲੀ ਲਾਈਨਾਂ ਵਿਚ ਲੱਭੋ"
-
-msgid "Find in translations"
-msgstr "ਅਨੁਵਾਦ ਵਿੱਚ ਲੱਭੋ"
-
-msgid "Find in comments"
-msgstr "ਟਿੱਪਣੀ ਵਿੱਚ ਖੋਜ"
-
-msgid "Find in automatic comments"
-msgstr "ਆਟੋਮੈਟਿਕ ਟਿੱਪਣੀ ਵਿੱਚ ਲੱਭੋ"
-
-msgid "Close"
-msgstr "ਬੰਦ ਕਰੋ"
-
-msgid "< &Previous"
-msgstr "< ਪਿੱਛੇ(&P)"
-
-msgid "&Next >"
-msgstr "ਅੱਗੇ(&N) >"
-
msgid "Create new translations project"
msgstr "ਨਵਾਂ ਭਾਸ਼ਾ ਅਨੁਵਾਦ ਪ੍ਰੋਜੈਕਟ ਬਣਾਓ"
@@ -1132,9 +1389,6 @@ msgstr "ਬੰਦ ਕਰੋ(&C)"
msgid "E&xit"
msgstr "ਬਾਹਰ(&x)"
-msgid "Quit"
-msgstr "ਬਾਹਰ"
-
msgid "&New..."
msgstr "ਨਵਾਂ(&N)..."
@@ -1144,12 +1398,24 @@ msgstr "...&POT/PO ਫ਼ਾਈਲ ਤੋਂ ਨਵਾਂ"
msgid "New From &POT/PO File..."
msgstr "&POT/PO ਫ਼ਾਈਲ ਤੋਂ ਨਵਾਂ..."
+msgid "New WordPress translation..."
+msgstr ""
+
+msgid "New WordPress Translation..."
+msgstr ""
+
msgid "&Open..."
msgstr "ਖੋਲ੍ਹੋ(&O)..."
msgid "Open Recent"
msgstr "ਤਾਜ਼ਾ ਖੋਲ੍ਹੇ"
+msgid "Open from Crowdin..."
+msgstr ""
+
+msgid "Open From Crowdin..."
+msgstr ""
+
msgid "&Save"
msgstr "ਸੰਭਾਲੋ(&S)"
@@ -1168,6 +1434,9 @@ msgstr "...HTML ਵਜੋਂ ਦਰਾਮਦ ਕਰੋ(&x)"
msgid "Check for updates..."
msgstr "ਅੱਪਡੇਟ ਲਈ ਜਾਂਚ ਕਰੋ..."
+msgid "&License..."
+msgstr "...ਲਸੰਸ(&L)"
+
msgid "Catalogs &manager"
msgstr "ਕੈਟਾਲਾਗ ਮੈਨੇਜਰ(&m)"
@@ -1198,14 +1467,17 @@ msgstr "ਹਵਾਲs ਵੇਖੋ(&S)"
msgid "&Find..."
msgstr "ਖੋਜ(&F)..."
+msgid "Replace..."
+msgstr ""
+
msgid "Find next"
msgstr "ਅੱਗੇ ਲੱਭੋ"
msgid "Find previous"
msgstr "ਪਿੱਛੇ ਲੱਭੋ"
-msgid "Find"
-msgstr "ਲੱਭੋ"
+msgid "Find and Replace..."
+msgstr ""
msgid "Find Next"
msgstr "ਅੱਗੇ ਲੱਭੋ"
@@ -1246,6 +1518,12 @@ msgstr ""
msgid "&Group By Context"
msgstr ""
+msgid "Entries with errors first"
+msgstr ""
+
+msgid "Entries with Errors First"
+msgstr ""
+
msgid "&Untranslated entries first"
msgstr "ਗ਼ੈਰ-ਅਨੁਵਾਦ ਐਂਟਰੀਆਂ ਪਹਿਲਾਂ(&U)"
@@ -1255,6 +1533,9 @@ msgstr "ਗ਼ੈਰ-ਅਨੁਵਾਦ ਐਂਟਰੀਆਂ ਪਹਿਲਾਂ
msgid "Show sidebar"
msgstr "ਬਾਹੀ ਵੇਖਾਓ"
+msgid "Show status bar"
+msgstr ""
+
msgid "C&atalog"
msgstr "ਕੈਟਾਲਾਗ(&a)"
@@ -1270,6 +1551,9 @@ msgstr "&POT ਫਾਇਲ ਤੋਂ ਅੱਪਡੇਟ..."
msgid "Update from &POT File..."
msgstr "&POT ਫਾਇਲ ਤੋਂ ਅੱਪਡੇਟ ਕਰੋ..."
+msgid "Sync with Crowdin"
+msgstr ""
+
msgid "Fill missing translations from &TM..."
msgstr "...ਗ਼ੈਰ-ਮੌਜੂਦ ਅਨੁਵਾਦ ਨੂੰ &TM ਰਾਹੀਂ ਭਰੋ"
@@ -1288,6 +1572,9 @@ msgstr ""
msgid "&Validate Translations"
msgstr ""
+msgid "&Statistics"
+msgstr "ਅੰਕੜੇ(&S)"
+
msgid "&Properties..."
msgstr "ਵਿਸ਼ੇਸ਼ਤਾ(&P)..."
@@ -1333,6 +1620,12 @@ msgstr "&GNU gettext ਦਸਤਾਵੇਜ਼"
msgid "&GNU gettext Manual"
msgstr "&GNU gettext ਦਸਤਾਵੇਜ਼"
+msgid "Email &support..."
+msgstr "...ਈਮੇਲ ਸਹਿਯੋਗ(&s)"
+
+msgid "Email &Support..."
+msgstr "ਈਮੇਲ ਸਹਿਯੋਗ(&s)..."
+
msgid "&About Poedit"
msgstr "ਪੋਐਡਿਟ ਬਾਰੇ(&A)"
@@ -1351,48 +1644,35 @@ msgstr "ਸਹਾਇਤਾ :"
msgid "Command to extract translations:"
msgstr ""
-msgid ""
-"This is the command used to launch the extractor.\n"
-"%o expands to the name of output file, %K to list\n"
-"of keywords, %F to list of input files,\n"
-"%C to charset flag (see below)."
+msgid "This is the command used to launch the extractor.\n%o expands to the name of output file, %K to list\nof keywords, %F to list of input files,\n%C to charset flag (see below)."
msgstr ""
msgid "An item in keywords list:"
msgstr "ਸ਼ਬਦ ਲਿਸਟ 'ਚ ਇੱਕ ਇਕਾਈ:"
-msgid ""
-"This will be attached to the command line once\n"
-"for each keyword. %k expands to the keyword."
-msgstr ""
-"ਇਹ ਇੱਕ ਵਾਰ ਕਮਾਂਡ ਲਾਇਨ ਨਾਲ ਹਰੇਕ ਇੰਪੁੱਟ ਫਾਇਲ ਲ਼ਈ ਜੁਡ਼ ਜਾਵੇਗਾ।\n"
-"%k ਫਾਇਲ ਨਾਂ ਫੈਲਾ ਦੇਵੇਗਾ।"
+msgid "This will be attached to the command line once\nfor each keyword. %k expands to the keyword."
+msgstr "ਇਹ ਇੱਕ ਵਾਰ ਕਮਾਂਡ ਲਾਇਨ ਨਾਲ ਹਰੇਕ ਇੰਪੁੱਟ ਫਾਇਲ ਲ਼ਈ ਜੁਡ਼ ਜਾਵੇਗਾ।\n%k ਫਾਇਲ ਨਾਂ ਫੈਲਾ ਦੇਵੇਗਾ।"
msgid "An item in input files list:"
msgstr "ਇੰਪੁੱਟ ਫਾਇਲ ਲਿਸਟ ਵਿੱਚ ਇਕਾਈ:"
#, c-format
-msgid ""
-"This will be attached to the command line once\n"
-"for each input file. %f expands to the filename."
-msgstr ""
-"ਇਹ ਇੱਕ ਵਾਰ ਕਮਾਂਡ ਲਾਇਨ ਨਾਲ ਹਰੇਕ ਇੰਪੁੱਟ ਫਾਇਲ ਲਈ ਜੁਡ਼ ਜਾਵੇਗਾ।\n"
-"%f ਫਾਇਲ ਨਾਂ ਫੈਲਾ ਦੇਵੇਗਾ।"
+msgid "This will be attached to the command line once\nfor each input file. %f expands to the filename."
+msgstr "ਇਹ ਇੱਕ ਵਾਰ ਕਮਾਂਡ ਲਾਇਨ ਨਾਲ ਹਰੇਕ ਇੰਪੁੱਟ ਫਾਇਲ ਲਈ ਜੁਡ਼ ਜਾਵੇਗਾ।\n%f ਫਾਇਲ ਨਾਂ ਫੈਲਾ ਦੇਵੇਗਾ।"
msgid "Source code charset:"
msgstr "ਸਰੋਤ ਕੋਡ ਅੱਖਰ ਸਮੂਹ:"
#, c-format
-msgid ""
-"This will be attached to the command line\n"
-"only if source codecharset was given. %c expands to charset value."
-msgstr ""
-"ਇਹ ਇੱਕ ਵਾਰ ਕਮਾਂਡ ਲਾਇਨ ਨਾਲ ਹਰੇਕ ਇੰਪੁੱਟ ਫਾਇਲ ਲ਼ਈ ਜੁਡ਼ ਜਾਵੇਗਾ।\n"
-"%c ਫਾਇਲ ਨਾਂ ਫੈਲਾ ਦੇਵੇਗਾ।"
+msgid "This will be attached to the command line\nonly if source codecharset was given. %c expands to charset value."
+msgstr "ਇਹ ਇੱਕ ਵਾਰ ਕਮਾਂਡ ਲਾਇਨ ਨਾਲ ਹਰੇਕ ਇੰਪੁੱਟ ਫਾਇਲ ਲ਼ਈ ਜੁਡ਼ ਜਾਵੇਗਾ।\n%c ਫਾਇਲ ਨਾਂ ਫੈਲਾ ਦੇਵੇਗਾ।"
msgid "Catalog properties"
msgstr "ਕੈਟਾਲਾਗ ਵਿਸ਼ੇਸ਼ਤਾ"
+msgid "Project name and version:"
+msgstr "ਪ੍ਰੋਜੈਕਟ ਨਾਂ ਅਤੇ ਵਰਜਨ :"
+
msgid "Plural Forms:"
msgstr "ਬਹੁ-ਵਚਨ ਫਾਰਮ:"
@@ -1405,6 +1685,15 @@ msgstr ""
msgid "Learn about plural forms"
msgstr ""
+msgid "Charset:"
+msgstr "ਅੱਖਰ-ਸੈਟ :"
+
+msgid "Team:"
+msgstr "ਟੀਮ: "
+
+msgid "Team's email address:"
+msgstr "ਟੀਮ ਦਾ ਈ-ਮੇਲ ਐਡਰੈੱਸ:"
+
msgid "Translation properties"
msgstr "ਅਨੁਵਾਦ ਵਿਸ਼ੇਸ਼ਤਾ"
@@ -1417,9 +1706,7 @@ msgstr "ਮੁੱਖ ਮਾਰਗ:"
msgid "Sources paths"
msgstr ""
-msgid ""
-"Use these keywords (function names) to recognize translatable strings\n"
-"in source files:"
+msgid "Use these keywords (function names) to recognize translatable strings\nin source files:"
msgstr ""
msgid "Learn about gettext keywords"
@@ -1431,22 +1718,14 @@ msgstr "ਸਰੋਤ ਕੀਵਰਡ"
msgid "Update summary"
msgstr "ਅੱਪਡੇਟ ਸੰਖੇਪ"
-msgid ""
-"These strings were found in the sources but were not in the catalog.\n"
-"Poedit will add them to the catalog now."
-msgstr ""
-"ਸਰੋਤ ਵਿਚ ਤਾਂ ਸਤਰਾਂ ਹਨ, ਪਰ ਕੈਟਾਲਾਗ ਵਿੱਚ ਨਹੀਂ ਹੈ।\n"
-"ਪੋਆਡਿਟ ਇਹਨਾਂ ਨੂੰ ਕੈਟਾਲਾਗ ਵਿੱਚ ਜੋੜੇਗਾ।"
+msgid "These strings were found in the sources but were not in the catalog.\nPoedit will add them to the catalog now."
+msgstr "ਸਰੋਤ ਵਿਚ ਤਾਂ ਸਤਰਾਂ ਹਨ, ਪਰ ਕੈਟਾਲਾਗ ਵਿੱਚ ਨਹੀਂ ਹੈ।\nਪੋਆਡਿਟ ਇਹਨਾਂ ਨੂੰ ਕੈਟਾਲਾਗ ਵਿੱਚ ਜੋੜੇਗਾ।"
msgid "New strings"
msgstr "ਨਵੀਂਆਂ ਸਤਰਾਂ"
-msgid ""
-"These strings are no longer in the sources.\n"
-"Poedit will remove them from the catalog now."
-msgstr ""
-"ਸਰੋਤ ਵਿਚ ਇਹ ਸਤਰਾਂ ਮੌਜੂਦ ਨਹੀ ਹਨ।\n"
-"ਪੋਆਡਿਟ ਇਹਨਾਂ ਨੂੰ ਸੂਚੀ ਵਿਚੋਂ ਹਟਾ ਰਿਹਾ ਹੈ।"
+msgid "These strings are no longer in the sources.\nPoedit will remove them from the catalog now."
+msgstr "ਸਰੋਤ ਵਿਚ ਇਹ ਸਤਰਾਂ ਮੌਜੂਦ ਨਹੀ ਹਨ।\nਪੋਆਡਿਟ ਇਹਨਾਂ ਨੂੰ ਸੂਚੀ ਵਿਚੋਂ ਹਟਾ ਰਿਹਾ ਹੈ।"
msgid "Obsolete strings"
msgstr "ਪੁਰਾਣੀਆਂ ਸਤਰਾਂ"
@@ -1466,6 +1745,12 @@ msgstr ""
msgid "Check for errors in the translation"
msgstr ""
+msgid "Statistics"
+msgstr ""
+
+msgid "Show translation statistics"
+msgstr ""
+
msgid "Update"
msgstr "ਅੱਪਡੇਟ"
@@ -1475,24 +1760,40 @@ msgstr "ਕੈਟਾਲਾਗ ਅੱਪਡੇਟ- ਇਸ ਨੂੰ ਸੋਰਤ
msgid "Toggled if selected string has fuzzy translation"
msgstr "ਜੇਕਰ ਚੁਣੀ ਸਤਰ ਅਸਪਸ਼ਟ ਅਨੁਵਾਦ ਹੈ ਤਾਂ ਸਥਿਤੀ ਤਬਦੀਲ ਕਰੋ"
-msgid "Show or hide the sidebar."
+msgid "Sidebar"
+msgstr ""
+
+msgid "Show or hide the sidebar"
msgstr ""
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
msgid "Previous source text:"
msgstr ""
-msgid ""
-"The old source text (before it changed during an update) that the fuzzy "
-"translation corresponds to."
+msgid "The old source text (before it changed during an update) that the fuzzy translation corresponds to."
msgstr ""
+msgid "Notes for translators:"
+msgstr "ਅਨੁਵਾਦਕਾਂ ਲਈ ਸੂਚਨਾ:"
+
msgid "Add comment"
msgstr "ਟਿੱਪਣੀ ਜੋੜੋ"
msgid "Add Comment"
msgstr "ਟਿੱਪਣੀ ਜੋੜੋ"
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(from your TM)"
+msgstr ""
+
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(machine translation)"
+msgstr ""
+
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(human translation)"
+msgstr ""
+
msgid "Translation suggestions:"
msgstr "ਅਨੁਵਾਦ ਸੁਝਾਅ:"
@@ -1507,6 +1808,84 @@ msgstr "ਕੋਈ ਮੇਲ ਨਹੀਂ ਲੱਭੇ"
msgid "This string was found in Poedit’s translation memory."
msgstr "ਇਹ ਲਾਈਨ ਪੋਐਡਿਟ ਦੀ ਅਨੁਵਾਦ ਮੈਮੋਰੀ ਵਿੱਚ ਲੱਭੀ ਸੀ।"
+msgid "This suggestion was contributed by another translator to the online TM."
+msgstr ""
+
+msgid "This suggestion was machine-translated online."
+msgstr ""
+
+#, c-format
+msgid "%d out of %d online suggestion left."
+msgid_plural "%d out of %d online suggestions left."
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Remove this limitation"
+msgstr ""
+
+msgid "Not showing additional online suggestions."
+msgstr ""
+
+msgid "Unlock online suggestions"
+msgstr ""
+
+msgid "Exceeded online TM daily limit."
+msgstr ""
+
+msgid "Connect to the Internet to get additional suggestions."
+msgstr ""
+
+#. TRANSLATORS: Label indicating that translations made in the current file are contributed to the online translation memory. Related to the "Contribute my translations to the online TM" string.
+msgid "Contributing"
+msgstr ""
+
+msgid "Your translations are contributed to the online translation memory as you make them. Thanks for making the suggestions better!"
+msgstr ""
+
+#. TRANSLATORS: Label indicating that the current file
+msgid "Private"
+msgstr ""
+
+msgid "Translations from this file are not shared with the online translation memory."
+msgstr ""
+
+msgid "Privacy settings"
+msgstr ""
+
+#, c-format
+msgid "While editing the file “%s”:"
+msgstr ""
+
+msgid "Items"
+msgstr "ਆਈਟਮਾਂ"
+
+msgid "Words"
+msgstr "ਸ਼ਬਦ"
+
+msgid "Translated"
+msgstr "ਅਨੁਵਾਦ ਹੋਏ"
+
+msgid "Needs review (fuzzy)"
+msgstr "ਪੜਤਾਲ ਦੀ ਲੋੜ (ਅਸਪਸ਼ਟ)("
+
+msgid "Translations with errors"
+msgstr "ਅਨੁਵਾਦ ਵਿੱਚ ਗਲਤੀਆਂ"
+
+msgid "Source Text"
+msgstr "ਸਰੋਤ ਪਾਠ"
+
+msgid "Strings in source language"
+msgstr "ਸਰੋਤ ਭਾਸ਼ਾ ਵਿੱਚ ਲਾਈਨਾਂ"
+
+msgid "Not translated"
+msgstr "ਅਨੁਵਾਦ ਨਹੀਂ"
+
+msgid "Copy to clipboard"
+msgstr "ਕਲਿੱਪਬੋਰਡ ਵਿੱਚ ਕਾਪੀ ਕਰੋ"
+
+msgid "Copy to Clipboard"
+msgstr "ਕਲਿੱਪਬੋਰਡ ਵਿੱਚ ਕਾਪੀ ਕਰੋ"
+
#, c-format
msgid "(New: %i, obsolete: %i)"
msgstr "(ਨਵੇਂ: %i, ਬਰਤਰਫ਼: %i)"
@@ -1528,9 +1907,7 @@ msgstr ""
msgid "Poedit needs to convert your translation memory to a new format."
msgstr ""
-msgid ""
-"This must be done before Poedit can start. It may take a few minutes if you "
-"have lots of translations stored, but should normally be much faster."
+msgid "This must be done before Poedit can start. It may take a few minutes if you have lots of translations stored, but should normally be much faster."
msgstr ""
msgid "Proceed"
@@ -1540,42 +1917,53 @@ msgid "Translation memory migration failed."
msgstr ""
#, c-format
-msgid ""
-"Your translation memory data couldn't be migrated. The error was:\n"
-"\n"
-"%s\n"
-"Please email help at poedit.net and we’ll get it fixed."
+msgid "Your translation memory data couldn't be migrated. The error was:\n\n%s\nPlease email help at poedit.net and we’ll get it fixed."
msgstr ""
msgid "Cannot create temporary directory."
msgstr ""
+msgid "Check theme or plugin compatibility"
+msgstr ""
+
msgid "Welcome to Poedit"
msgstr "ਪੋਐਡਿਟ ਵਲੋਂ ਜੀ ਆਇਆਂ ਨੂੰ"
+msgid "Upgrade to Pro"
+msgstr ""
+
+msgid "Upgrade to Poedit Pro to get additional features and support Poedit's development."
+msgstr ""
+
msgid "Edit a translation"
msgstr "ਅਨੁਵਾਦ ਸੋਧੋ"
msgid "Open an existing PO file and edit the translation."
msgstr "ਮੌਜੂਦਾ PO ਫ਼ਾਈਲ ਖੋਲ੍ਹੋ ਅਤੇ ਅਨੁਵਾਦ ਨੂੰ ਸੋਧੋ।"
-msgid "Create new translation"
-msgstr "ਨਵਾਂ ਅਨੁਵਾਦ ਬਣਾਓ"
-
-msgid ""
-"Take an existing PO file or POT template and create a new translation from "
-"it."
+msgid "Take an existing PO file or POT template and create a new translation from it."
msgstr "ਮੌਜੂਦਾ PO ਫ਼ਾਈਲ ਜਾਂ POT ਨਮੂਨਾ ਲਵੋ ਅਤੇ ਉਸ ਤੋਂ ਨਵਾਂ ਅਨੁਵਾਦ ਬਣਾਉ।"
+msgid "Translate WordPress theme or plugin"
+msgstr ""
+
+#. TRANSLATORS: Please don't use any form of "automatically" in the translation, it would mislead people.
+msgid "Create a new translation. Poedit will set everything up; you can focus on translating."
+msgstr ""
+
+msgid "Collaborate on a translation with Crowdin"
+msgstr ""
+
+msgid "Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+
+msgid "What is Crowdin?"
+msgstr ""
+
msgid "There are no translations. That’s unusual."
msgstr ""
-msgid ""
-"Translatable entries aren't added manually in the Gettext system, but are "
-"automatically extracted\n"
-"from source code. This way, they stay up to date and accurate.\n"
-"Translators typically use PO template files (POTs) prepared for them by the "
-"developer."
+msgid "Translatable entries aren't added manually in the Gettext system, but are automatically extracted\nfrom source code. This way, they stay up to date and accurate.\nTranslators typically use PO template files (POTs) prepared for them by the developer."
msgstr ""
msgid "(Learn more about GNU gettext)"
@@ -1590,8 +1978,7 @@ msgstr "POT ਤੋਂ ਅੱਪਡੇਟ ਕਰੋ"
msgid "Take translatable strings from an existing POT template."
msgstr ""
-msgid ""
-"You can also extract translatable strings directly from the source code:"
+msgid "You can also extract translatable strings directly from the source code:"
msgstr ""
msgid "Extract from sources"
@@ -1599,3 +1986,105 @@ msgstr ""
msgid "Configure source code extraction in Properties."
msgstr ""
+
+#, c-format
+msgid "Failed to read file '%s'."
+msgstr ""
+
+#, c-format
+msgid "Confused by ambiguous values of \"%s\" in %s."
+msgstr ""
+
+#, c-format
+msgid "Couldn't detect POs location for \"%s\"."
+msgstr ""
+
+#, c-format
+msgid "The \"%s\" theme isn't localization-ready."
+msgstr ""
+
+msgid "Confused: multiple main plugin files."
+msgstr ""
+
+#, c-format
+msgid "The \"%s\" plugin isn't localization-ready."
+msgstr ""
+
+#, c-format
+msgid "Couldn't detect translation domain of the \"%s\" plugin."
+msgstr ""
+
+msgid "Found neither WordPress theme nor plugin in the folder."
+msgstr ""
+
+#, c-format
+msgid "Translations folder (%s) doesn't exist."
+msgstr ""
+
+msgid "<big>Drag and drop <b>theme or plugin folder</b> here</big>\n\nor use the “Choose folder” button"
+msgstr ""
+
+msgid "<big>Drag and Drop <b>Theme or Plugin Folder</b> Here</big>\n\nor use the “Choose Folder” button"
+msgstr ""
+
+#, c-format
+msgid "Folder “%s”"
+msgstr ""
+
+msgid "Choose Folder..."
+msgstr ""
+
+msgid "Choose folder..."
+msgstr ""
+
+msgid "Create a new translation"
+msgstr ""
+
+msgid "Choose this if you want to translate the theme or plugin into your language."
+msgstr ""
+
+msgid "Create a POT"
+msgstr ""
+
+msgid "This option is for theme and plugin developers. Poedit will create an empty template (POT) that translations can be based on."
+msgstr ""
+
+msgid "Continue"
+msgstr ""
+
+msgid "Failed to extract WordPress information."
+msgstr ""
+
+msgid "WordPress error"
+msgstr ""
+
+#, c-format
+msgid "Poedit couldn’t understand the content of the folder you selected. This may be a problem with the plugin/theme or it may be Poedit being silly. The error is:\n\n • %s\n\nPlease email help at poedit.net and we’ll sort it out."
+msgstr ""
+
+#. TRANSLATORS: This is a button that sends an email to support when clicked
+msgid "Email support"
+msgstr "ਈਮੇਲ ਸਹਿਯੋਗ"
+
+msgid "View log"
+msgstr "ਲਾਗ ਵੇਖੋ"
+
+#. TRANSLATORS: This is a button that sends an email to support when clicked
+msgid "Email Support"
+msgstr "ਈਮੇਲ ਸਹਿਯੋਗ"
+
+msgid "View Log"
+msgstr "ਲਾਗ ਵੇਖੋ"
+
+msgid "WordPress Errors Log"
+msgstr ""
+
+msgid "Please email this log to help at poedit.net. Thank you!"
+msgstr ""
+
+msgid "Sync"
+msgstr ""
+
+msgid "Synchronize the translation with Crowdin"
+msgstr ""
+
diff --git a/locales/pl.mo b/locales/pl.mo
index abefd51..0be4680 100644
Binary files a/locales/pl.mo and b/locales/pl.mo differ
diff --git a/locales/pl.po b/locales/pl.po
index a89a874..2c29d14 100644
--- a/locales/pl.po
+++ b/locales/pl.po
@@ -1,22 +1,55 @@
msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
-"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:33-0400\n"
+"Report-Msgid-Bugs-To: poedit at googlegroups.com\n"
+"POT-Creation-Date: 2015-05-11 08:48+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Polish\n"
"Language: pl_PL\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
-"|| n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: crowdin.com\n"
"X-Crowdin-Project: poedit\n"
"X-Crowdin-Language: pl\n"
"X-Crowdin-File: /locales/poedit.pot\n"
+#. TRANSLATORS: This is titlebar of about dialog, "%s" is application name
+#. ("Poedit" here, but please use "%s")
+#, c-format
+msgid "About %s"
+msgstr "Informacje o %s"
+
+#. TRANSLATORS: This is version information in about dialog, "%s" will be
+#. version number when used
+#, c-format
+msgid "Version %s"
+msgstr "Wersja %s"
+
+msgid "Based on the open source version →"
+msgstr "W opraciu o wersję open source →"
+
+msgid "Acknowledgements"
+msgstr "Podziękowania"
+
+msgid "Rate on the App Store"
+msgstr "Oceń w App Store"
+
+msgid "License Agreement"
+msgstr "Umowa licencyjna"
+
+#, c-format
+msgid "Licensed to %s"
+msgstr "Właścicielem licencji jest %s"
+
+msgid "Purchased on the Mac App Store"
+msgstr "Zakupione w Mac App Store"
+
+msgid "Free version (please upgrade!)"
+msgstr "Wersja darmowa – rozszerz do pełnej!"
+
msgid "Hide this notification message"
msgstr "Nie wyświetlaj tej informacji"
@@ -41,57 +74,46 @@ msgstr "Wiersz %d z pliku '%s' jest uszkodzony (nieprawidłowe dane %s)."
msgid "Malformed header: '%s'"
msgstr "Zdeformowany nagłówek: „%s”"
-msgid ""
-"Broken catalog file: singular form msgstr used together with msgid_plural"
-msgstr ""
-"Uszkodzony plik pakietu: użyto liczby pojedynczej msgstr razem z msgid_plural"
+msgid "Broken catalog file: singular form msgstr used together with msgid_plural"
+msgstr "Uszkodzony plik pakietu: użyto liczby pojedynczej msgstr razem z msgid_plural"
msgid "Broken catalog file: plural form msgstr used without msgid_plural"
msgstr "Uszkodzony plik pakietu: użyto liczby mnogiej msgstr bez msgid_plural"
-msgid ""
-"There were errors when loading the catalog. Some data may be missing or "
-"corrupted as the result."
-msgstr ""
-"Wystąpiły błędy w czasie odczytu pakietu. W wyniku czego może brakować "
-"części danych, bądź mogą być one uszkodzone."
+msgid "There were errors when loading the catalog. Some data may be missing or corrupted as the result."
+msgstr "Wystąpiły błędy w czasie odczytu pakietu. W wyniku czego może brakować części danych, bądź mogą być one uszkodzone."
#, c-format
msgid "Couldn't load file %s, it is probably corrupted."
msgstr "Nie można wczytać pliku „%s”. Prawdopodobnie jest uszkodzony."
#, c-format
-msgid ""
-"File '%s' is read-only and cannot be saved.\n"
-"Please save it under different name."
-msgstr ""
-"Plik „%s” ma atrybut „tylko do odczytu” i nie może być zapisany.\n"
-"Zapisz go pod inną nazwą."
+msgid "File '%s' is read-only and cannot be saved.\nPlease save it under different name."
+msgstr "Plik „%s” ma atrybut „tylko do odczytu” i nie może być zapisany.\nZapisz go pod inną nazwą."
#, c-format
msgid "Couldn't save file %s."
msgstr "Nie można zapisać pliku %s."
-msgid ""
-"There was a problem formatting the file nicely (but it was saved all right)."
-msgstr ""
-"Wystąpił problem z dokładnym formatowaniem pliku, ale został on zapisany "
-"poprawnie."
+msgid "There was a problem formatting the file nicely (but it was saved all right)."
+msgstr "Wystąpił problem z dokładnym formatowaniem pliku, ale został on zapisany poprawnie."
#, c-format
-msgid ""
-"The catalog couldn't be saved in '%s' charset as specified in catalog "
-"settings.\n"
-"\n"
-"It was saved in UTF-8 instead and the setting was modified accordingly."
-msgstr ""
-"Ten pakiet nie może zostać zapisany z zestawem znaków „%s”\n"
-"wybranym w ustawieniach pakietu. Został zapisany w kodowaniu\n"
-"UTF-8, a ustawienia zostały odpowiednio zmodyfikowane."
+msgid "The catalog couldn't be saved in '%s' charset as specified in catalog settings.\n\nIt was saved in UTF-8 instead and the setting was modified accordingly."
+msgstr "Ten pakiet nie może zostać zapisany z zestawem znaków „%s”\nwybranym w ustawieniach pakietu. Został zapisany w kodowaniu\nUTF-8, a ustawienia zostały odpowiednio zmodyfikowane."
msgid "Error saving catalog"
msgstr "Błąd zapisywania pakietu"
+msgid "PO Translation Files"
+msgstr "Pliki tłumaczeń PO"
+
+msgid "POT Translation Templates"
+msgstr "Pliki szablonów tłumaczeń POT"
+
+msgid "All Translation Files"
+msgstr ""
+
msgid "Merging differences..."
msgstr "Łączenie różnic…"
@@ -111,6 +133,81 @@ msgstr "Wybór języka"
msgid "You must restart Poedit for this change to take effect."
msgstr "Aby zmiany zostały zastosowane, należy ponownie uruchomić Poedit."
+msgid "Downloading translations is disabled in this project."
+msgstr "Pobieranie tłumaczeń jest wyłączone w tym projekcie."
+
+msgid "Not authorized, please sign in again."
+msgstr ""
+
+msgid "Sign in to Crowdin"
+msgstr ""
+
+msgid "Crowdin is an online localization management platform and collaborative translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+
+msgid "Sign In"
+msgstr ""
+
+msgid "Sign in"
+msgstr ""
+
+msgid "Sign Out"
+msgstr ""
+
+msgid "Sign out"
+msgstr ""
+
+msgid "Waiting for authentication…"
+msgstr ""
+
+msgid "Updating user information…"
+msgstr ""
+
+msgid "Signed in as:"
+msgstr "Zalogowany jako:"
+
+msgid "Learn More About Crowdin"
+msgstr "Więcej informacji o platformie Crowdin"
+
+msgid "Learn more about Crowdin"
+msgstr ""
+
+msgid "Open Crowdin translation"
+msgstr ""
+
+msgid "Project:"
+msgstr "Projekt:"
+
+msgid "Language:"
+msgstr "Język:"
+
+msgid "File:"
+msgstr "Plik:"
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr ""
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr ""
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr ""
+
+msgid "Downloading latest translations…"
+msgstr ""
+
+msgid "Syncing with Crowdin"
+msgstr ""
+
+msgid "Syncing with Crowdin failed."
+msgstr ""
+
+msgid "Crowdin error"
+msgstr ""
+
+msgid "Uploading translations…"
+msgstr ""
+
msgid "&Copy"
msgstr "&Kopiuj"
@@ -138,25 +235,43 @@ msgstr "Przetwarzanie %s plików…"
msgid "Failed to load extracted catalog."
msgstr "Nie udało się wczytać wyodrębnionego pliku"
+#, c-format
+msgid "Failed to extract WordPress metadata from file %s."
+msgstr ""
+
msgid "&Help"
msgstr "P&omoc"
+msgid "Beta expired"
+msgstr "Kończy się termin ważności wersji beta"
+
+msgid "This beta version of Poedit expired."
+msgstr "Termin ważności wersji beta upłynął."
+
+msgid "Please download a newer version from the Poedit website at http://poedit.net/download"
+msgstr "Pobierz nowszą wersję programu ze strony Poedit: http://poedit.net/download"
+
+msgid "Download"
+msgstr "Pobierz"
+
+msgid "Quit"
+msgstr "Opuść"
+
msgid "MO files can’t be directly edited in Poedit."
msgstr "Plików MO nie można edytować bezpośrednio w programie Poedit."
msgid "Error opening file"
msgstr "Błąd podczas otwierania pliku"
-msgid ""
-"Please open and edit the corresponding PO file instead. When you save it, "
-"the MO file will be updated as well."
-msgstr ""
-"Zamiast tego, otwórz i edytuj odpowiadający mu plik PO. Podczas zapisywania "
-"pliku PO, odpowiadający mu plik MO zostanie zaktualizowany."
+msgid "Please open and edit the corresponding PO file instead. When you save it, the MO file will be updated as well."
+msgstr "Zamiast tego, otwórz i edytuj odpowiadający mu plik PO. Podczas zapisywania pliku PO, odpowiadający mu plik MO zostanie zaktualizowany."
msgid "don't delete temporary files (for debugging)"
msgstr "Nie usuwaj plików tymczasowych (dla debugowania)"
+msgid "handle a poedit:// URI"
+msgstr ""
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr "Wystąpił nieobsługiwany wyjątek: %s"
@@ -167,34 +282,19 @@ msgstr "Wystąpił nieobsługiwany wyjątek."
msgid "Open catalog"
msgstr "Otwórz pakiet"
-msgid "All Files"
-msgstr "Wszystkie pliki"
-
-msgid "PO Translation Files"
-msgstr "Pliki tłumaczeń PO"
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "Plik „%s” nie istnieje!"
-#. TRANSLATORS: This is titlebar of about dialog, "%s" is application name
-#. ("Poedit" here, but please use "%s")
-#, c-format
-msgid "About %s"
-msgstr "Informacje o %s"
-
-#. TRANSLATORS: This is version information in about dialog, "%s" will be
-#. version number when used
-#, c-format
-msgid "Version %s"
-msgstr "Wersja %s"
-
msgid "Poedit is an easy to use translations editor."
msgstr "Poedit jest łatwym w użyciu edytorem tłumaczeń."
msgid "Catalogs Manager"
msgstr "Menedżer pakietów"
+msgid "License..."
+msgstr "Licencja…"
+
msgid "Check for Updates..."
msgstr "Sprawdź dostępność aktualizacji…"
@@ -276,6 +376,15 @@ msgstr "Zatrzymaj mówienie"
msgid "&View"
msgstr "&Widok"
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
+msgid "Show Toolbar"
+msgstr "Pokaż pasek narzędzi"
+
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
+msgid "Customize Toolbar…"
+msgstr "Dostosuj pasek narzędzi…"
+
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
msgid "Enter Full Screen"
msgstr "Tryb pełnoekranowy"
@@ -291,17 +400,27 @@ msgstr "Powiększenie"
msgid "Bring All to Front"
msgstr "&Przenieś wszystko do przodu"
+#. TRANSLATORS:File kind displayed in Finder/Explorer
msgid "PO Translation"
msgstr "Tłumaczenie PO"
+msgid "Invalid license data."
+msgstr "Niewłaściwa data licencji"
+
+msgid "Poedit"
+msgstr "Poedit"
+
+#, c-format
+msgid "The link doesn't contain valid Poedit license. Try entering it manually or contact support at help at poedit.net.\n\n(%s)"
+msgstr "Odnośnik nie zawiera ważnej licencji Poedit. Spróbuj wprowadzić licencję ręcznie lub skontaktuj się z pomocą help at poedit.net.\n\n(%s)"
+
msgid "The file cannot be opened."
msgstr "Nie można otworzyć pliku."
msgid "Invalid file"
msgstr "Nieprawidłowy plik"
-msgid ""
-"The file may be either corrupted or in a format not recognized by Poedit."
+msgid "The file may be either corrupted or in a format not recognized by Poedit."
msgstr "Plik może być uszkodzony lub ma format nie rozpoznawany przez Poedit."
msgid "&Undo"
@@ -379,9 +498,6 @@ msgstr "Na okno Poedit nie można upuścić więcej niż jeden plik."
msgid "File '%s' is not a message catalog."
msgstr "Plik „%s” nie jest plkiem zawierającym frazy."
-msgid "Poedit"
-msgstr "Poedit"
-
msgid "&File"
msgstr "&Plik"
@@ -400,15 +516,21 @@ msgstr "Liczba mnoga:"
msgid "Translation:"
msgstr "Tłumaczenie"
+msgid "POT files are only templates and don’t contain any translations themselves.\nTo make a translation, create a new PO file based on the template."
+msgstr ""
+
+msgid "Create New Translation"
+msgstr ""
+
+msgid "Create new translation"
+msgstr "Utwórz nowe tłumaczenie"
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
#, c-format
-msgid ""
-"Spellchecking is disabled, because the dictionary for %s isn’t installed."
-msgstr ""
-"Sprawdzanie pisowni jest wyłączone, ponieważ słownik %s nie jest "
-"zainstalowany."
+msgid "Spellchecking is disabled, because the dictionary for %s isn’t installed."
+msgstr "Sprawdzanie pisowni jest wyłączone, ponieważ słownik %s nie jest zainstalowany."
msgid "Install"
msgstr "Zainstaluj"
@@ -449,8 +571,30 @@ msgstr "Pliki HTML"
msgid "Open catalog template"
msgstr "Otwórz szablon pakietu"
-msgid "POT Translation Templates"
-msgstr "Pliki szablonów tłumaczeń POT"
+msgid "WordPress"
+msgstr "WordPress"
+
+msgid "Analyzing WordPress code..."
+msgstr "Analizowanie kodu WordPressa…"
+
+msgid "Select the folder with the WordPress theme or plugin"
+msgstr "Wybierz folder zawierający motyw lub wtyczkę WordPressa"
+
+#. TRANSLATORS: %s is name of a WordPress theme
+#, c-format
+msgid "The “%s” theme is compatible."
+msgstr "Szablon “%s” jest zgodny."
+
+#. TRANSLATORS: %s is name of a WordPress plugin
+#, c-format
+msgid "The “%s” plugin is compatible."
+msgstr "Wtyczka “%s” jest zgodna."
+
+msgid "The theme is translation-ready and compatible with Poedit’s WordPress support."
+msgstr "Szablon może być przetłumaczony i jest zgodny z obsługą tłumaczeń WordPress w programie Poedit."
+
+msgid "The plugin is translation-ready and compatible with Poedit’s WordPress support."
+msgstr "Wtyczka może być przetłumaczona i jest zgodna z obsługą tłumaczeń WordPress w programie Poedit."
msgid "Updating catalog"
msgstr "Aktualizowanie pakietu…"
@@ -461,20 +605,14 @@ msgstr "Kod źródłowy jest niedostępny."
msgid "Updating failed"
msgstr "Aktualizacja nie powiodła się"
-msgid ""
-"Translations couldn’t be updated from the source code, because no code was "
-"found in the location specified in the catalog’s Properties."
-msgstr ""
-"Tłumaczenie nie może być zaktualizowane na podstawie kodu źródłowego gdyż "
-"nie został on znaleziony w lokalizacji określonej we właściwościach katalogu."
+msgid "Translations couldn’t be updated from the source code, because no code was found in the location specified in the catalog’s Properties."
+msgstr "Tłumaczenie nie może być zaktualizowane na podstawie kodu źródłowego gdyż nie został on znaleziony w lokalizacji określonej we właściwościach katalogu."
msgid "Entries in the catalog are probably incorrect."
msgstr "Wpisy w pakiecie są prawdopodobnie niepoprawne."
msgid "Updating the catalog failed. Click on 'Details >>' for details."
-msgstr ""
-"Aktualizacja pakietu się nie powiodła. Naciśnij przycisk „Szczegóły »”, aby "
-"zobaczyć szczegóły."
+msgstr "Aktualizacja pakietu się nie powiodła. Naciśnij przycisk „Szczegóły »”, aby zobaczyć szczegóły."
#, c-format
msgid "%d issue with the translation found."
@@ -486,36 +624,20 @@ msgstr[2] "W tłumaczeniu znaleziono %d problemów."
msgid "Validation results"
msgstr "Wyniki weryfikacji"
-msgid ""
-"Entries with errors were marked in red in the list. Details of the error "
-"will be shown when you select such an entry."
-msgstr ""
-"Elementy zawierające błędy zostały oznaczone kolorem czerwonym. Szczegółowy "
-"opis błędu będzie widoczny po wybraniu elementu."
+msgid "Entries with errors were marked in red in the list. Details of the error will be shown when you select such an entry."
+msgstr "Elementy zawierające błędy zostały oznaczone kolorem czerwonym. Szczegółowy opis błędu będzie widoczny po wybraniu elementu."
msgid "The file was saved safely."
msgstr "Plik został zapisany bezpiecznie."
-msgid ""
-"The file was saved safely and compiled into the MO format, but it will "
-"probably not work correctly."
-msgstr ""
-"Plik został zapisany bezpiecznie i skompilowany do formatu .mo, ale "
-"prawdopodobnie nie będzie działał poprawnie."
+msgid "The file was saved safely and compiled into the MO format, but it will probably not work correctly."
+msgstr "Plik został zapisany bezpiecznie i skompilowany do formatu .mo, ale prawdopodobnie nie będzie działał poprawnie."
-msgid ""
-"The file was saved safely, but it cannot be compiled into the MO format and "
-"used."
-msgstr ""
-"Plik został zapisany bezpiecznie, ale nie może zopstać skompilowany do "
-"formatu .mo i używany."
+msgid "The file was saved safely, but it cannot be compiled into the MO format and used."
+msgstr "Plik został zapisany bezpiecznie, ale nie może zopstać skompilowany do formatu .mo i używany."
-msgid ""
-"The file was compiled into the MO format, but it will probably not work "
-"correctly."
-msgstr ""
-"Plik został skompilowany do formatu MO jednak prawdopodobnie nie będzie "
-"działał poprawnie."
+msgid "The file was compiled into the MO format, but it will probably not work correctly."
+msgstr "Plik został skompilowany do formatu MO jednak prawdopodobnie nie będzie działał poprawnie."
msgid "The file cannot be compiled into the MO format and used."
msgstr "Ten plik nie może zostać skompilowany do formatu MO i użyty."
@@ -525,33 +647,42 @@ msgstr "Nie znaleziono problemów."
#, c-format
msgid "The translation is ready for use, but %d entry is not translated yet."
-msgid_plural ""
-"The translation is ready for use, but %d entries are not translated yet."
-msgstr[0] ""
-"Tłumaczenie jest gotowe do użycia, ale %d pozycja nie został jeszcze "
-"przetłumaczony."
-msgstr[1] ""
-"Tłumaczenie jest gotowe do użycia, ale %d pozycje nie zostały jeszcze "
-"przetłumaczone."
-msgstr[2] ""
-"Tłumaczenie jest gotowe do użycia, ale %d pozycji nie zostało jeszcze "
-"przetłumaczonych."
+msgid_plural "The translation is ready for use, but %d entries are not translated yet."
+msgstr[0] "Tłumaczenie jest gotowe do użycia, ale %d pozycja nie został jeszcze przetłumaczony."
+msgstr[1] "Tłumaczenie jest gotowe do użycia, ale %d pozycje nie zostały jeszcze przetłumaczone."
+msgstr[2] "Tłumaczenie jest gotowe do użycia, ale %d pozycji nie zostało jeszcze przetłumaczonych."
msgid "The translation is ready for use."
msgstr "Tłumaczenie jest gotowe do użycia."
-msgid "No references to this string found."
-msgstr "Nie znaleziono odwołania do tego tekstu."
+msgid "Contributing translations improves the quality of online suggestions for everybody — the more people do it, the better the suggestions can be. Your translations are submitted anonymously and are available to other translators using Poedit or other CAT tools."
+msgstr "Przesyłanie tłumaczeń poprawia jakość pobieranych podpowiedzi dla wszystkich - im więcej osób bierze udział tym lepsze będą pokazywane podpowiedzi. Twoje tłumaczenia przesyłane są anonimowo i stają się dostępne dla innych tłumaczy, którzy korzystają z programu Poedit i podobnych narzędzi."
-msgid "Please choose the reference you want to show:"
-msgstr "Wybierz odwołanie, które chcesz wyświetlić:"
+msgid "Can Poedit contribute your translations of this file to the online translation memory?"
+msgstr "Czy program Poedit może przesyłać twoje tłumaczenia tego pliku do internetowej pamięci tłumaczeniowej?"
-msgid "References"
-msgstr "Odwołania"
+msgid "Apply to all files I edit"
+msgstr "Zastosuj do wszystkich edytowanych plików"
+
+msgid "Contribute"
+msgstr "Prześlij"
+
+msgid "Keep Private"
+msgstr "Nie wysyłaj"
+
+msgid "Keep private"
+msgstr "Nie wysyłaj"
msgid "Context:"
msgstr "Kontekst:"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr ""
+
+msgid "The file contained duplicate items, which is not allowed in PO files and would prevent the file from being used. Poedit fixed the issue, but you should review translations of any items marked as fuzzy and correct them if necessary."
+msgstr ""
+
msgid "Language of the translation isn't set."
msgstr "Nie określono języka tłumaczenia."
@@ -561,19 +692,24 @@ msgstr "Wybierz język"
msgid "Set language"
msgstr "Wybierz język"
-msgid ""
-"This catalog has entries with plural forms, but doesn't have Plural-Forms "
-"header configured."
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid "Suggestions are not available if the translation language is not set correctly. Other features, such as plural forms, may be affected as well."
msgstr ""
-"Pakiet zawiera wpisy w formach liczby mnogiej, a nie został skonfigurowany "
-"nagłówek Plural-Forms."
-msgid ""
-"Entries in this catalog have different plural forms count from what "
-"catalog's Plural-Forms header says"
+msgid "Language of the translation is the same as source language."
+msgstr ""
+
+msgid "Fix Language"
msgstr ""
-"Wpisy w tym pakiecie mają inne formy liczby mnogiej niż zdeklarowane w "
-"nagłówku Plural-Forms."
+
+msgid "Fix language"
+msgstr ""
+
+msgid "This catalog has entries with plural forms, but doesn't have Plural-Forms header configured."
+msgstr "Pakiet zawiera wpisy w formach liczby mnogiej, a nie został skonfigurowany nagłówek Plural-Forms."
+
+msgid "Entries in this catalog have different plural forms count from what catalog's Plural-Forms header says"
+msgstr "Wpisy w tym pakiecie mają inne formy liczby mnogiej niż zdeklarowane w nagłówku Plural-Forms."
msgid "Required header Plural-Forms is missing."
msgstr "Brakuje nagłówka Plural-Forms."
@@ -595,6 +731,7 @@ msgstr "Napraw nagłówek"
msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr "W języku %s formy liczby mnogiej zawarte w pakiecie nie są używane."
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr "Do sprawdzenia"
@@ -617,12 +754,23 @@ msgstr[0] "%d błąd"
msgstr[1] "%d błędy"
msgstr[2] "%d błędów"
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
msgid " (unsaved)"
msgstr " (niezapisany)"
msgid " (modified)"
msgstr " (zmodyfikowano)"
+#, c-format
+msgid " (beta version expires %s)"
+msgstr " (wersja beta wygasa %s)"
+
msgid "Go"
msgstr "Nawigacja"
@@ -636,13 +784,8 @@ msgstr "Wyczyść usunięte tłumaczenia"
msgid "Do you want to remove all translations that are no longer used?"
msgstr "Czy chcesz usunąć wszystkie nieużywane tłumaczenia?"
-msgid ""
-"If you continue with purging, all translations marked as deleted will be "
-"permanently removed. You will have to translate them again if they are added "
-"back in the future."
-msgstr ""
-"Kontynuując trwale usuniesz wszystkie tłumaczenia oznaczone jako usunięte. "
-"Jeśli w przyszłości zostaną dodane, konieczne będzie ich ponowne tłumaczenie."
+msgid "If you continue with purging, all translations marked as deleted will be permanently removed. You will have to translate them again if they are added back in the future."
+msgstr "Kontynuując trwale usuniesz wszystkie tłumaczenia oznaczone jako usunięte. Jeśli w przyszłości zostaną dodane, konieczne będzie ich ponowne tłumaczenie."
msgid "Keep"
msgstr "Zachowaj"
@@ -656,23 +799,23 @@ msgstr "Uzupełnianie brakujących tłumaczeń z pamięci tłumaczeniowej"
msgid "Only fill in exact matches"
msgstr "Uzupełniaj jedynie dokładne odpowiedniki"
-msgid ""
-"By default, inaccurate results are filled in as well and marked as fuzzy. "
-"Check this option to only include accurate matches."
-msgstr ""
-"Domyślnie, przybliżone wyniki są także uzupełniane i oznaczane jako "
-"niepewnie. Zaznacz tą opcję aby uwzględniać tylko dokładne odpowiedniki."
+msgid "By default, inaccurate results are filled in as well and marked as fuzzy. Check this option to only include accurate matches."
+msgstr "Domyślnie, przybliżone wyniki są także uzupełniane i oznaczane jako niepewnie. Zaznacz tą opcję aby uwzględniać tylko dokładne odpowiedniki."
msgid "Don’t mark exact matches as fuzzy"
msgstr "Nie oznaczaj dokładnych odpowiedników jako niepewne"
-msgid ""
-"Only enable if you trust the quality of your TM. By default, all matches "
-"from the TM are marked as fuzzy and should be reviewed."
+msgid "Only enable if you trust the quality of your TM. By default, all matches from the TM are marked as fuzzy and should be reviewed."
+msgstr "Włącz tylko jeżeli w pełni ufasz jakości twojej pamięci tłumaczeniowej. Domyślnie, wszystkie wpisy dopasowane z pamięci tłumaczeniowej są oznaczane jako niepewne i powinny zostać przejrzane."
+
+msgid "Use online suggestions"
+msgstr ""
+
+msgid "Use online suggestions (experimental)"
+msgstr ""
+
+msgid "Try to fetch translations from the online TM as well. Notice that the translations will not be perfect and will still need to be corrected by a human translator."
msgstr ""
-"Włącz tylko jeżeli w pełni ufasz jakości twojej pamięci tłumaczeniowej. "
-"Domyślnie, wszystkie wpisy dopasowane z pamięci tłumaczeniowej są oznaczane "
-"jako niepewne i powinny zostać przejrzane."
msgid "Fill"
msgstr "Uzupełnij"
@@ -684,24 +827,14 @@ msgstr[0] "%d pozycja została uzupełniona z pamięci tłumaczeniowej."
msgstr[1] "%d pozycje zostały uzupełnione z pamięci tłumaczeniowej."
msgstr[2] "%d pozycji zostało uzupełnionych z pamięci tłumaczeniowej."
-msgid ""
-"The translations were marked as fuzzy, because they may be inaccurate. You "
-"should review them for correctness."
-msgstr ""
-"Przetłumaczone frazy zostały oznaczone jako niepewne, ponieważ mogą być "
-"niedokładne. Należy sprawdzić ich poprawność."
+msgid "The translations were marked as fuzzy, because they may be inaccurate. You should review them for correctness."
+msgstr "Przetłumaczone frazy zostały oznaczone jako niepewne, ponieważ mogą być niedokładne. Należy sprawdzić ich poprawność."
msgid "No entries could be filled from the translation memory."
msgstr "Żadnej frazy nie można uzupełnić z pamięci tłumaczeniowej."
-msgid ""
-"The TM doesn’t contain any strings similar to the content of this file. It "
-"is only effective for semi-automatic translations after Poedit learns enough "
-"from files that you translated manually."
-msgstr ""
-"Pamięć tłumaczeń nie zawiera żadnych wpisów pasujących do treści tego pliku. "
-"Funkcja ta jest efektywna tylko dla tłumaczeń półautomatycznych po tym, jak "
-"pamięć tłumaczeń Poedit nauczy się z plików ręcznie przetłumaczonych."
+msgid "The TM doesn’t contain any strings similar to the content of this file. It is only effective for semi-automatic translations after Poedit learns enough from files that you translated manually."
+msgstr "Pamięć tłumaczeń nie zawiera żadnych wpisów pasujących do treści tego pliku. Funkcja ta jest efektywna tylko dla tłumaczeń półautomatycznych po tym, jak pamięć tłumaczeń Poedit nauczy się z plików ręcznie przetłumaczonych."
msgid "Translating"
msgstr "Tłumaczenie"
@@ -744,6 +877,9 @@ msgstr "Wszystko"
msgid "Form %i"
msgstr "Forma %i"
+msgid "Singular"
+msgstr "Liczba pojedyncza"
+
msgid "Zero"
msgstr "Zero"
@@ -753,6 +889,9 @@ msgstr "Jeden"
msgid "Two"
msgstr "Dwa"
+msgid "Plural"
+msgstr "Liczba mnoga"
+
msgid "Other"
msgstr "Inne"
@@ -781,6 +920,12 @@ msgstr "Ukryj pasek boczny"
msgid "Show Sidebar"
msgstr "Pokaż pasek boczny"
+msgid "Hide Status Bar"
+msgstr ""
+
+msgid "Show Status Bar"
+msgstr ""
+
msgid "Source text"
msgstr "Tekst źródłowy"
@@ -790,6 +935,10 @@ msgstr "Tłumaczenie"
msgid "ID"
msgstr "ID"
+#, c-format
+msgid "Source text — %s"
+msgstr ""
+
msgid "unknown language"
msgstr "Nieznany język"
@@ -800,42 +949,6 @@ msgstr "Tłumaczenie – %s"
msgid "Error:"
msgstr "Błąd:"
-msgid "Project info"
-msgstr "Informacje o projekcie"
-
-msgid "Project name and version:"
-msgstr "Nazwa pakietu i wersja:"
-
-msgid "Language:"
-msgstr "Język:"
-
-msgid "Team:"
-msgstr "Zespół:"
-
-msgid "Team's email address:"
-msgstr "Adres e-mail zespołu:"
-
-msgid "Charset:"
-msgstr "Kodowanie:"
-
-msgid "Source"
-msgstr "Źródło"
-
-msgid "Notes"
-msgstr "Notatki"
-
-msgid "Automatic translation"
-msgstr "Automatyczne tłumaczenie"
-
-msgid "Fuzzy translation"
-msgstr "Tłumaczenie niepewne"
-
-msgid "Notes for translators:"
-msgstr "Informacje dla tłumaczy"
-
-msgid "Comment:"
-msgstr "Komentarz"
-
msgid "Source file"
msgstr "Plik źródłowy"
@@ -848,30 +961,131 @@ msgstr "Otwórz w edytorze"
msgid "Open in editor"
msgstr "Otwórz w edytorze"
+msgid "No references for the selected item."
+msgstr ""
+
#, c-format
msgid "Error opening file %s!"
msgstr "Błąd podczas otwierania pliku %s!"
-#, c-format
-msgid "Cannot execute program: %s"
-msgstr "Nie można uruchomić programu: %s"
+msgid "Find"
+msgstr "Znajdź"
-msgid "Language Code or Name (e.g. en_GB)"
-msgstr "Kod języka lub nazwa, np. en-GB"
+msgid "Replace"
+msgstr ""
-msgid "Translation Language"
-msgstr "Język tłumaczenia"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr ""
-msgid "Language of the translation:"
-msgstr "Język tłumaczenia:"
+msgid "Ignore case"
+msgstr ""
-msgid "Poedit - Catalogs manager"
-msgstr "Poedit - Menedżer pakietów"
+msgid "Wrap around"
+msgstr ""
-msgid "Catalog"
-msgstr "Pakiet"
+msgid "Whole words only"
+msgstr "Tylko całe wyrazy"
-msgid "Total"
+msgid "Find in source texts"
+msgstr ""
+
+msgid "Find in translations"
+msgstr "Szukaj w tłumaczeniach"
+
+msgid "Find in comments"
+msgstr "Szukaj w komentarzach"
+
+msgid "Close"
+msgstr "Za&mknij"
+
+msgid "Replace All"
+msgstr ""
+
+msgid "Replace all"
+msgstr ""
+
+msgid "< &Previous"
+msgstr "« &Poprzednie"
+
+msgid "&Next >"
+msgstr "&Następne »"
+
+msgid "String to find"
+msgstr ""
+
+msgid "Replacement string"
+msgstr ""
+
+#, c-format
+msgid "Cannot execute program: %s"
+msgstr "Nie można uruchomić programu: %s"
+
+msgid "Language Code or Name (e.g. en_GB)"
+msgstr "Kod języka lub nazwa, np. en-GB"
+
+msgid "Translation Language"
+msgstr "Język tłumaczenia"
+
+msgid "Language of the translation:"
+msgstr "Język tłumaczenia:"
+
+msgid "Poedit Registration"
+msgstr "Rejestracja Poedit"
+
+msgid "Name"
+msgstr "Nazwa"
+
+msgid "License Key"
+msgstr "Klucz rejestracyjny"
+
+msgid "The registration key can be used on multiple computers you use personally or for multiple\naccounts on a single computer."
+msgstr "Klucz rejestracyjny może być używany na wielu komputerach do użytku prywatnego lub na\n wielu kontach na jednym komputerze."
+
+msgid "Buy Online..."
+msgstr "Kup online…"
+
+msgid "Buy online..."
+msgstr "Kup online…"
+
+msgid "Cancel"
+msgstr "Anuluj"
+
+msgid "Register"
+msgstr "Zarejestruj się"
+
+msgid "Your copy is upgraded to Poedit Pro."
+msgstr "Twoja kopia została rozszerzona do Poedit Pro."
+
+msgid "You’re awesome! Thank you so much\nfor purchasing Poedit Pro."
+msgstr "Wspaniale! Dziękujemy bardzo\nza zakup Poedit Pro."
+
+msgid "View License Key"
+msgstr "Klucz rejestracyjny"
+
+msgid "View license key"
+msgstr "Klucz rejestracyjny"
+
+#, c-format
+msgid "Licensed to: %s"
+msgstr "Właścicielem licencji jest: %s"
+
+msgid "Purchasing the full version will unlock more features\nin this and future versions of Poedit, including:\n\n"
+msgstr "Pełna wersja Poedit umożliwi w tej i przyszłych\nwersjach dostęp do wielu funkcji, takich jak:\n\n"
+
+msgid "Upgrade..."
+msgstr "Rozszerz…"
+
+msgid "No, thanks"
+msgstr "Nie, dziękuję"
+
+msgid "Poedit - Catalogs manager"
+msgstr "Poedit - Menedżer pakietów"
+
+msgid "Catalog"
+msgstr "Pakiet"
+
+msgid "Total"
msgstr "Razem"
msgid "Untrans"
@@ -901,12 +1115,8 @@ msgstr "Czy chcesz usunąć projekt?"
msgid "Confirmation"
msgstr "Potwierdzenie"
-msgid ""
-"Do you really want to do mass update of\n"
-"all catalogs in this project?"
-msgstr ""
-"Czy chcesz zaktualizować wszystkie\n"
-"pakiety w tym projekcie?"
+msgid "Do you really want to do mass update of\nall catalogs in this project?"
+msgstr "Czy chcesz zaktualizować wszystkie\npakiety w tym projekcie?"
msgid "Information about the translator"
msgstr "Informacje o tłumaczu"
@@ -923,12 +1133,8 @@ msgstr "Adres e-mail:"
msgid "your_email at example.com"
msgstr "twoj_adres at poczta.pl"
-msgid ""
-"Your name and email address are only used to set the Last-Translator header "
-"of GNU gettext files."
-msgstr ""
-"Twoje imię i nazwisko oraz adres email użyte zostaną wyłącznie w celu "
-"ustawienia nagłówka Last-Translator w plikach GNU gettext."
+msgid "Your name and email address are only used to set the Last-Translator header of GNU gettext files."
+msgstr "Twoje imię i nazwisko oraz adres email użyte zostaną wyłącznie w celu ustawienia nagłówka Last-Translator w plikach GNU gettext."
msgid "Editing"
msgstr "Edytowanie"
@@ -945,14 +1151,8 @@ msgstr "Sprawdź pisownię"
msgid "Always change focus to text input field"
msgstr "Uaktywniaj pole wprowadzania tekstu"
-msgid ""
-"Never let the list of strings take focus. If enabled, you must use Ctrl-"
-"arrows for keyboard navigation but you can also type text immediately, "
-"without having to press Tab to change focus."
-msgstr ""
-"Nie zaleca się włączania tej opcji. Jeśli zostanie włączona, do nawigacji po "
-"polach trzeba będzie używać klawisza Ctrl i strzałek, ale za to będzie można "
-"niezwłocznie przystąpić do wpisywania tłumaczonego tekstu."
+msgid "Never let the list of strings take focus. If enabled, you must use Ctrl-arrows for keyboard navigation but you can also type text immediately, without having to press Tab to change focus."
+msgstr "Nie zaleca się włączania tej opcji. Jeśli zostanie włączona, do nawigacji po polach trzeba będzie używać klawisza Ctrl i strzałek, ale za to będzie można niezwłocznie przystąpić do wpisywania tłumaczonego tekstu."
msgid "Appearance"
msgstr "Wygląd"
@@ -989,18 +1189,30 @@ msgstr "Wyczyść"
msgid "Consult TM when updating from sources"
msgstr "Uwzględniaj pamięć tłumaczeń podczas aktualizacji ze źródeł"
-msgid ""
-"If enabled, Poedit will try to fill in new entries using your previous\n"
-"translations stored in the translation memory. If the TM is\n"
-"near-empty, it will not be very effective. The more translations\n"
-"you edit and the larger the TM grows, the better it gets."
-msgstr ""
-"Jeśli funkcja zostanie włączona, Poedit będzie próbował wypełnić nowe\n"
-"frazy, używając poprzednich tłumaczeń zapisanych w pamięci. Jeśli\n"
-"w pamięci tłumaczeniowej znajduje się niewiele przetłumaczonych fraz,\n"
-"funkcja ta nie będzie bardzo efektywna. Im więcej wykonanych\n"
-"tłumaczeń, tym więcej zasobów będzie w pamięci tłumaczeniowej i funkcja ta\n"
-"będzie coraz bardziej efektywna."
+msgid "If enabled, Poedit will try to fill in new entries using your previous\ntranslations stored in the translation memory. If the TM is\nnear-empty, it will not be very effective. The more translations\nyou edit and the larger the TM grows, the better it gets."
+msgstr "Jeśli funkcja zostanie włączona, Poedit będzie próbował wypełnić nowe\nfrazy, używając poprzednich tłumaczeń zapisanych w pamięci. Jeśli\nw pamięci tłumaczeniowej znajduje się niewiele przetłumaczonych fraz,\nfunkcja ta nie będzie bardzo efektywna. Im więcej wykonanych\ntłumaczeń, tym więcej zasobów będzie w pamięci tłumaczeniowej i funkcja ta\nbędzie coraz bardziej efektywna."
+
+msgid "Use suggestions from online collaborative TM"
+msgstr "Korzystaj z podpowiedzi z pamięci tłumaczeniowej online"
+
+msgid "Poedit uses a large online translation memory that includes both contributed human translations and state-of-the-art machine translations."
+msgstr "Program Poedit wykorzystuje internetową pamięć tłumaczeniową która zawiera zarówno tłumaczenia przesyłane przez tłumaczy jaki najwyższej jakości tłumaczenia automatyczne."
+
+msgid "Contribute my translations to the online TM"
+msgstr "Przesyłaj moje tłumaczenia do pamięci tłumaczeniowej online"
+
+msgid "Keep my translations private"
+msgstr "Nie wysyłaj moich tłumaczeń"
+
+msgid "Ask me for each file individually"
+msgstr ""
+
+msgid "Terms of Service"
+msgstr "Zasady użytkowania"
+
+#. TRANSLATORS: This is part of footer that says in full "powered by MyMemory", with the MyMemory part being a logo
+msgid "powered by"
+msgstr "wykorzystuje"
msgid "Stored translations:"
msgstr "Zapisane tłumaczenia:"
@@ -1026,15 +1238,8 @@ msgstr "Wyczyść pamięć tłumaczeniową"
msgid "Are you sure you want to reset the translation memory?"
msgstr "Czy na pewno chcesz wyczyścić pamięć tłumaczeniową?"
-msgid ""
-"Resetting the translation memory will irrevocably delete all stored "
-"translations from it. You can’t undo this operation."
-msgstr ""
-"Wyczyszczenie pamięci tłumaczeniowej bezpowrotnie usunie wszystkie "
-"zapamiętane tłumaczenia. Tej operacji nie można wycofać."
-
-msgid "Cancel"
-msgstr "Anuluj"
+msgid "Resetting the translation memory will irrevocably delete all stored translations from it. You can’t undo this operation."
+msgstr "Wyczyszczenie pamięci tłumaczeniowej bezpowrotnie usunie wszystkie zapamiętane tłumaczenia. Tej operacji nie można wycofać."
#. TRANSLATORS: This is abbreviation of "Translation Memory" used in Preferences on OS X.
#. Long text looks weird there, too short (like TM) too, but less so. "General" is about ideal
@@ -1042,13 +1247,8 @@ msgstr "Anuluj"
msgid "TM"
msgstr "TM"
-msgid ""
-"Source code extractors are used to find translatable strings in the source "
-"code files and extract them so that they can be translated."
-msgstr ""
-"Wyodrębnianie z kodu źródłowego pozwala odnaleźć teksty, które mogą zostać "
-"przetłumaczone w plikach źródłowych programu i wyodrębnia je, gotowe do "
-"tłumaczenia."
+msgid "Source code extractors are used to find translatable strings in the source code files and extract them so that they can be translated."
+msgstr "Wyodrębnianie z kodu źródłowego pozwala odnaleźć teksty, które mogą zostać przetłumaczone w plikach źródłowych programu i wyodrębnia je, gotowe do tłumaczenia."
msgid "New"
msgstr "Nowy"
@@ -1056,31 +1256,33 @@ msgstr "Nowy"
msgid "Edit"
msgstr "Edytuj"
+msgid "Delete extractor"
+msgstr ""
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr ""
+
msgid "Extractors"
msgstr "Wyodrębnianie"
+msgid "Accounts"
+msgstr "Konta"
+
msgid "Automatically check for updates"
msgstr "Automatycznie sprawdzaj uaktualnienia"
msgid "Include beta versions"
msgstr "Sprawdzaj także wersję beta"
-msgid ""
-"Beta versions contain the latest new features and improvements, but may be a "
-"bit less stable."
-msgstr ""
-"Wersje beta zawierają zawierają nową funkcjonalność i usprawnienia, mogą być "
-"jednak mniej stabilne."
+msgid "Beta versions contain the latest new features and improvements, but may be a bit less stable."
+msgstr "Wersje beta zawierają zawierają nową funkcjonalność i usprawnienia, mogą być jednak mniej stabilne."
msgid "Updates"
msgstr "Aktualizacje"
-msgid ""
-"These settings affect internal formatting of PO files. Adjust them if you "
-"have specific requirements e.g. because of version control."
-msgstr ""
-"Te ustawienia mają wpływ na wewnętrzne formatowanie plików PO. Zmień je, "
-"jeżeli masz specyficzne wymagania np.: ze względu na system kontroli wersji."
+msgid "These settings affect internal formatting of PO files. Adjust them if you have specific requirements e.g. because of version control."
+msgstr "Te ustawienia mają wpływ na wewnętrzne formatowanie plików PO. Zmień je, jeżeli masz specyficzne wymagania np.: ze względu na system kontroli wersji."
msgid "Line endings:"
msgstr "Format zakończeń wierszy:"
@@ -1101,6 +1303,30 @@ msgstr "Zachowaj formatowanie istniejących plików"
msgid "Advanced"
msgstr "Zaawansowane"
+msgid "Add Files..."
+msgstr ""
+
+msgid "Add files..."
+msgstr ""
+
+msgid "Add Folders..."
+msgstr ""
+
+msgid "Add folders..."
+msgstr ""
+
+msgid "Add Wildcard..."
+msgstr ""
+
+msgid "Add wildcard..."
+msgstr ""
+
+msgid "<big>Drag and Drop Folders Here</big>\n\nor use the + button"
+msgstr ""
+
+msgid "<big>Drag and drop folders here</big>\n\nor use the + button"
+msgstr ""
+
msgid "Additional keywords"
msgstr "Dodatkowe słowa kluczowe"
@@ -1120,8 +1346,10 @@ msgid "UTF-8 (recommended)"
msgstr "UTF-8 (zalecane)"
msgid "Please save the file first. This section cannot be edited until then."
-msgstr ""
-"Zapisz najpierw plik. Przed zapisaniem pliku nie można edytować tej sekcji."
+msgstr "Zapisz najpierw plik. Przed zapisaniem pliku nie można edytować tej sekcji."
+
+msgid "Comment:"
+msgstr "Komentarz"
msgid "OK"
msgstr "OK"
@@ -1132,42 +1360,6 @@ msgstr "&Wyczyść"
msgid "Clear the comment"
msgstr "Wyczyść komentarz"
-msgid "Find..."
-msgstr "Szukaj…"
-
-msgid "String to find:"
-msgstr "Szukany tekst:"
-
-msgid "Case sensitive"
-msgstr "Uwzględnij wielkość znaków"
-
-msgid "Start from the first item"
-msgstr "Rozpocznij od pierwszego elementu"
-
-msgid "Whole words only"
-msgstr "Tylko całe wyrazy"
-
-msgid "Find in original strings"
-msgstr "Szukaj w tekście oryginału"
-
-msgid "Find in translations"
-msgstr "Szukaj w tłumaczeniach"
-
-msgid "Find in comments"
-msgstr "Szukaj w komentarzach"
-
-msgid "Find in automatic comments"
-msgstr "Szukaj w automatycznych komentarzach"
-
-msgid "Close"
-msgstr "Za&mknij"
-
-msgid "< &Previous"
-msgstr "« &Poprzednie"
-
-msgid "&Next >"
-msgstr "&Następne »"
-
msgid "Create new translations project"
msgstr "Utwórz nowy projekt tłumaczeń"
@@ -1204,9 +1396,6 @@ msgstr "Za&mknij"
msgid "E&xit"
msgstr "&Zakończ"
-msgid "Quit"
-msgstr "Opuść"
-
msgid "&New..."
msgstr "&Nowe…"
@@ -1216,11 +1405,23 @@ msgstr "Nowe z &pliku .pot/.po…"
msgid "New From &POT/PO File..."
msgstr "Nowe z &pliku .pot/.po…"
+msgid "New WordPress translation..."
+msgstr "Nowe tłumaczenie WordPressa…"
+
+msgid "New WordPress Translation..."
+msgstr "Nowe tłumaczenie WordPressa…"
+
msgid "&Open..."
msgstr "&Otwórz…"
msgid "Open Recent"
-msgstr "Otwórz najnowsze"
+msgstr "Ostatnio otwierane"
+
+msgid "Open from Crowdin..."
+msgstr ""
+
+msgid "Open From Crowdin..."
+msgstr ""
msgid "&Save"
msgstr "&Zapisz"
@@ -1240,6 +1441,9 @@ msgstr "Eksportuj jako HTML…"
msgid "Check for updates..."
msgstr "Sprawdź dostępność aktualizacji…"
+msgid "&License..."
+msgstr "&Licencja…"
+
msgid "Catalogs &manager"
msgstr "&Menedżer pakietów"
@@ -1270,14 +1474,17 @@ msgstr "&Wyświetl odwołania"
msgid "&Find..."
msgstr "&Znajdź…"
+msgid "Replace..."
+msgstr ""
+
msgid "Find next"
msgstr "Znajdź następne"
msgid "Find previous"
msgstr "Znajdź poprzednie"
-msgid "Find"
-msgstr "Znajdź"
+msgid "Find and Replace..."
+msgstr ""
msgid "Find Next"
msgstr "Znajdź następne"
@@ -1318,6 +1525,12 @@ msgstr "&Grupuj wg kontekstu"
msgid "&Group By Context"
msgstr "&Grupuj wg kontekstu"
+msgid "Entries with errors first"
+msgstr ""
+
+msgid "Entries with Errors First"
+msgstr ""
+
msgid "&Untranslated entries first"
msgstr "&Nieprzetłumaczone na górze"
@@ -1327,6 +1540,9 @@ msgstr "&Nieprzetłumaczone na górze"
msgid "Show sidebar"
msgstr "Pokaż pasek boczny"
+msgid "Show status bar"
+msgstr ""
+
msgid "C&atalog"
msgstr "&Projekt"
@@ -1342,6 +1558,9 @@ msgstr "Akt&ualizuj z pliku .pot…"
msgid "Update from &POT File..."
msgstr "Akt&ualizuj z pliku .pot…"
+msgid "Sync with Crowdin"
+msgstr ""
+
msgid "Fill missing translations from &TM..."
msgstr "Uzupełnij brakujące tłumaczenia z pamięci &tłumaczeniowej..."
@@ -1360,6 +1579,9 @@ msgstr "&Weryfikuj tłumaczenia"
msgid "&Validate Translations"
msgstr "&Weryfikuj tłumaczenie"
+msgid "&Statistics"
+msgstr "&Statystyki…"
+
msgid "&Properties..."
msgstr "&Właściwości…"
@@ -1405,6 +1627,12 @@ msgstr "Dokumentacja &GNU gettext"
msgid "&GNU gettext Manual"
msgstr "Dokumentacja &GNU gettext"
+msgid "Email &support..."
+msgstr "&Pomoc przez e-mail…"
+
+msgid "Email &Support..."
+msgstr "&Pomoc przez e-mail…"
+
msgid "&About Poedit"
msgstr "&Poedit - informacje"
@@ -1423,53 +1651,35 @@ msgstr "Wywołanie:"
msgid "Command to extract translations:"
msgstr "Polecenie do wyodrębnienia tłumaczenia:"
-msgid ""
-"This is the command used to launch the extractor.\n"
-"%o expands to the name of output file, %K to list\n"
-"of keywords, %F to list of input files,\n"
-"%C to charset flag (see below)."
-msgstr ""
-"To jest polecenie które uruchomi program do wyodrębniania.\n"
-"%o zastępuje nazwę pliku wyjściowego,\n"
-"%K - listę słów kluczowych, %F listę plików wejściowych\n"
-"%C - flagę kodowania źródła (zobacz niżej)."
+msgid "This is the command used to launch the extractor.\n%o expands to the name of output file, %K to list\nof keywords, %F to list of input files,\n%C to charset flag (see below)."
+msgstr "To jest polecenie które uruchomi program do wyodrębniania.\n%o zastępuje nazwę pliku wyjściowego,\n%K - listę słów kluczowych, %F listę plików wejściowych\n%C - flagę kodowania źródła (zobacz niżej)."
msgid "An item in keywords list:"
msgstr "Element na liście słów kluczowych:"
-msgid ""
-"This will be attached to the command line once\n"
-"for each keyword. %k expands to the keyword."
-msgstr ""
-"Zostanie to dołączone do wiersza poleceń dla każdego słowa kluczowego.\n"
-"%k zostanie zastąpione słowem kluczowym."
+msgid "This will be attached to the command line once\nfor each keyword. %k expands to the keyword."
+msgstr "Zostanie to dołączone do wiersza poleceń dla każdego słowa kluczowego.\n%k zostanie zastąpione słowem kluczowym."
msgid "An item in input files list:"
msgstr "Element na liście plików wejściowych:"
#, c-format
-msgid ""
-"This will be attached to the command line once\n"
-"for each input file. %f expands to the filename."
-msgstr ""
-"Zostanie to dołączone do wiersza poleceń dla każdego pliku wejściowego.\n"
-"%f zostanie zastąpione nazwą pliku."
+msgid "This will be attached to the command line once\nfor each input file. %f expands to the filename."
+msgstr "Zostanie to dołączone do wiersza poleceń dla każdego pliku wejściowego.\n%f zostanie zastąpione nazwą pliku."
msgid "Source code charset:"
msgstr "Kodowanie źródła:"
#, c-format
-msgid ""
-"This will be attached to the command line\n"
-"only if source codecharset was given. %c expands to charset value."
-msgstr ""
-"Zostanie to dołączone do wiersza poleceń tylko, jeśli zostało podane "
-"kodowanie\n"
-"znaków źródła. %c zostanie zastąpione typem kodowania."
+msgid "This will be attached to the command line\nonly if source codecharset was given. %c expands to charset value."
+msgstr "Zostanie to dołączone do wiersza poleceń tylko, jeśli zostało podane kodowanie\nznaków źródła. %c zostanie zastąpione typem kodowania."
msgid "Catalog properties"
msgstr "Właściwości pakietu"
+msgid "Project name and version:"
+msgstr "Nazwa pakietu i wersja:"
+
msgid "Plural Forms:"
msgstr "Formy liczby mnogiej:"
@@ -1482,6 +1692,15 @@ msgstr "Użyj własnych wyrażeń"
msgid "Learn about plural forms"
msgstr "Informacje o formach liczby mnogiej"
+msgid "Charset:"
+msgstr "Kodowanie:"
+
+msgid "Team:"
+msgstr "Zespół:"
+
+msgid "Team's email address:"
+msgstr "Adres e-mail zespołu:"
+
msgid "Translation properties"
msgstr "Właściwości tłumaczenia"
@@ -1494,12 +1713,8 @@ msgstr "Ścieżka podstawowa:"
msgid "Sources paths"
msgstr "Ścieżki źródeł"
-msgid ""
-"Use these keywords (function names) to recognize translatable strings\n"
-"in source files:"
-msgstr ""
-"Do rozpoznania tekstów do tłumaczenia w plikach źródłowych użyj\n"
-"poniższe słowa kluczowe (nazwy funkcji):"
+msgid "Use these keywords (function names) to recognize translatable strings\nin source files:"
+msgstr "Do rozpoznania tekstów do tłumaczenia w plikach źródłowych użyj\nponiższe słowa kluczowe (nazwy funkcji):"
msgid "Learn about gettext keywords"
msgstr "Informacje o słowach kluczowych gettextu"
@@ -1510,22 +1725,14 @@ msgstr "Źródła słów kluczowych"
msgid "Update summary"
msgstr "Podsumowanie aktualizacji"
-msgid ""
-"These strings were found in the sources but were not in the catalog.\n"
-"Poedit will add them to the catalog now."
-msgstr ""
-"Te teksty znajdują się w źródłach ale nie ma ich w pakiecie.\n"
-"Zostaną teraz dodane do pakietu."
+msgid "These strings were found in the sources but were not in the catalog.\nPoedit will add them to the catalog now."
+msgstr "Te teksty znajdują się w źródłach ale nie ma ich w pakiecie.\nZostaną teraz dodane do pakietu."
msgid "New strings"
msgstr "Nowe teksty"
-msgid ""
-"These strings are no longer in the sources.\n"
-"Poedit will remove them from the catalog now."
-msgstr ""
-"Tych tekstów nie ma już w źródłach.\n"
-"Zostaną teraz usunięte z pakietu."
+msgid "These strings are no longer in the sources.\nPoedit will remove them from the catalog now."
+msgstr "Tych tekstów nie ma już w źródłach.\nZostaną teraz usunięte z pakietu."
msgid "Obsolete strings"
msgstr "Nieaktualne teksty"
@@ -1545,6 +1752,12 @@ msgstr "Weryfikuj"
msgid "Check for errors in the translation"
msgstr "Sprawdź czy w tłumaczeniu występują błędy"
+msgid "Statistics"
+msgstr "Statystyki"
+
+msgid "Show translation statistics"
+msgstr "Pokaż statystyki tłumaczenia"
+
msgid "Update"
msgstr "Aktualizuj"
@@ -1554,19 +1767,21 @@ msgstr "Aktualizuj pakiet – zsynchronizuj go ze źródłami"
msgid "Toggled if selected string has fuzzy translation"
msgstr "Zaznacz/odznacz jako niepewne"
-msgid "Show or hide the sidebar."
-msgstr "Wyświetla lub ukrywa pasek boczny."
+msgid "Sidebar"
+msgstr "Pasek boczny"
+
+msgid "Show or hide the sidebar"
+msgstr "Wyświetla lub ukrywa pasek boczny"
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
msgid "Previous source text:"
msgstr "Poprzedni tekst źródłowy:"
-msgid ""
-"The old source text (before it changed during an update) that the fuzzy "
-"translation corresponds to."
-msgstr ""
-"Poprzedni tekst źródłowy (zanim został zmieniony podczas aktualizacji) "
-"któremu odpowiada to niepewne tłumaczenie."
+msgid "The old source text (before it changed during an update) that the fuzzy translation corresponds to."
+msgstr "Poprzedni tekst źródłowy (zanim został zmieniony podczas aktualizacji) któremu odpowiada to niepewne tłumaczenie."
+
+msgid "Notes for translators:"
+msgstr "Informacje dla tłumaczy"
msgid "Add comment"
msgstr "Dodaj komentarz"
@@ -1574,6 +1789,18 @@ msgstr "Dodaj komentarz"
msgid "Add Comment"
msgstr "Dodaj komentarz"
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(from your TM)"
+msgstr "(z TM)"
+
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(machine translation)"
+msgstr "(tłumaczenie maszynowe)"
+
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(human translation)"
+msgstr "(przetłumaczone przez człowieka)"
+
msgid "Translation suggestions:"
msgstr "Propozycje tłumaczenia:"
@@ -1588,6 +1815,85 @@ msgstr "Nie znaleziono odpowiedników"
msgid "This string was found in Poedit’s translation memory."
msgstr "Ten tekst został znaleziony w pamięci tłumaczeniowej programu Poedit."
+msgid "This suggestion was contributed by another translator to the online TM."
+msgstr "Ta propozycja została wprowadzona przez innego tłumacza z internetowej TM."
+
+msgid "This suggestion was machine-translated online."
+msgstr "Ta propozycja jest tłumaczeniem komputerowym z bazy online."
+
+#, c-format
+msgid "%d out of %d online suggestion left."
+msgid_plural "%d out of %d online suggestions left."
+msgstr[0] "Pozostała %d z %d podpowiedzi online."
+msgstr[1] "Pozostały %d z %d podpowiedzi online."
+msgstr[2] "Pozostało %d z %d podpowiedzi online."
+
+msgid "Remove this limitation"
+msgstr "Usuń to ograniczenie"
+
+msgid "Not showing additional online suggestions."
+msgstr "Dodatkowe podpowiedzi online nie są wyświetlane."
+
+msgid "Unlock online suggestions"
+msgstr "Uaktywnij sugestie online"
+
+msgid "Exceeded online TM daily limit."
+msgstr "Dzienny limit korzystania z pamięci tłumaczeniowej online został przekroczony."
+
+msgid "Connect to the Internet to get additional suggestions."
+msgstr "Połącz się z Internetem aby uzyskać dodatkowe sugestie."
+
+#. TRANSLATORS: Label indicating that translations made in the current file are contributed to the online translation memory. Related to the "Contribute my translations to the online TM" string.
+msgid "Contributing"
+msgstr ""
+
+msgid "Your translations are contributed to the online translation memory as you make them. Thanks for making the suggestions better!"
+msgstr ""
+
+#. TRANSLATORS: Label indicating that the current file
+msgid "Private"
+msgstr ""
+
+msgid "Translations from this file are not shared with the online translation memory."
+msgstr ""
+
+msgid "Privacy settings"
+msgstr ""
+
+#, c-format
+msgid "While editing the file “%s”:"
+msgstr ""
+
+msgid "Items"
+msgstr "Elementy"
+
+msgid "Words"
+msgstr "Słowa"
+
+msgid "Translated"
+msgstr "Przetłumaczone"
+
+msgid "Needs review (fuzzy)"
+msgstr "Wymaga sprawdzenia (niepewne)"
+
+msgid "Translations with errors"
+msgstr "Tłumaczenia z błędami"
+
+msgid "Source Text"
+msgstr "Tekst źródłowy"
+
+msgid "Strings in source language"
+msgstr "Wpisów w języku źródłowym"
+
+msgid "Not translated"
+msgstr "Nieprzetłumaczone"
+
+msgid "Copy to clipboard"
+msgstr "Kopiuj do schowka"
+
+msgid "Copy to Clipboard"
+msgstr "Kopiuj do Schowka"
+
#, c-format
msgid "(New: %i, obsolete: %i)"
msgstr "(Nowe: %i, nieaktualne: %i)"
@@ -1607,16 +1913,10 @@ msgid "Migration exit status: %d"
msgstr "Status zakończenia migracji: %d"
msgid "Poedit needs to convert your translation memory to a new format."
-msgstr ""
-"Poedit musi dokonać konwersji pamięci tłumaczeniowej do nowego formatu."
+msgstr "Poedit musi dokonać konwersji pamięci tłumaczeniowej do nowego formatu."
-msgid ""
-"This must be done before Poedit can start. It may take a few minutes if you "
-"have lots of translations stored, but should normally be much faster."
-msgstr ""
-"Tę czynność należy wykonać przed uruchomieniem Poedita. Jeśli masz "
-"zapisanych dużo tłumaczeń, może zająć to kilka minut, ale zazwyczaj trwa "
-"krócej."
+msgid "This must be done before Poedit can start. It may take a few minutes if you have lots of translations stored, but should normally be much faster."
+msgstr "Tę czynność należy wykonać przed uruchomieniem Poedita. Jeśli masz zapisanych dużo tłumaczeń, może zająć to kilka minut, ale zazwyczaj trwa krócej."
msgid "Proceed"
msgstr "Przetwórz"
@@ -1625,63 +1925,60 @@ msgid "Translation memory migration failed."
msgstr "Migracja pamięci tłumaczeniowej nie powiodło się."
#, c-format
-msgid ""
-"Your translation memory data couldn't be migrated. The error was:\n"
-"\n"
-"%s\n"
-"Please email help at poedit.net and we’ll get it fixed."
-msgstr ""
-"Nie można dokonać migracji danych pamięci tłumaczeniowej. Wystąpił błąd:\n"
-"\n"
-"%s\n"
-"Powiadom nas, wysyłając e-mail na adres help at poedit.net, a my spróbujemy to "
-"naprawić."
+msgid "Your translation memory data couldn't be migrated. The error was:\n\n%s\nPlease email help at poedit.net and we’ll get it fixed."
+msgstr "Nie można dokonać migracji danych pamięci tłumaczeniowej. Wystąpił błąd:\n\n%s\nPowiadom nas, wysyłając e-mail na adres help at poedit.net, a my spróbujemy to naprawić."
msgid "Cannot create temporary directory."
msgstr "Nie można utworzyć katalogu tymczasowego!"
+msgid "Check theme or plugin compatibility"
+msgstr "Sprawdź zgodność szablonu lub wtyczki"
+
msgid "Welcome to Poedit"
msgstr "Witamy w Poedit"
+msgid "Upgrade to Pro"
+msgstr ""
+
+msgid "Upgrade to Poedit Pro to get additional features and support Poedit's development."
+msgstr "Aktualizuj do Poedit Pro, aby uzyskać dodatkowe funkcje i wsparcie Poedit."
+
msgid "Edit a translation"
msgstr "Edytuj tłumaczenie"
msgid "Open an existing PO file and edit the translation."
msgstr "Otwórz istniejący plik .po i edytuj tłumaczenie."
-msgid "Create new translation"
-msgstr "Utwórz nowe tłumaczenie"
+msgid "Take an existing PO file or POT template and create a new translation from it."
+msgstr "Użyj istniejącego pliku .po lub szablonu .pot i utwórz z niego nowe tłumaczenie."
-msgid ""
-"Take an existing PO file or POT template and create a new translation from "
-"it."
+msgid "Translate WordPress theme or plugin"
+msgstr "Przetłumacz motyw lub wtyczkę WordPressa"
+
+#. TRANSLATORS: Please don't use any form of "automatically" in the translation, it would mislead people.
+msgid "Create a new translation. Poedit will set everything up; you can focus on translating."
+msgstr "Utwórz nowe tłumaczenie. Poedit ustawi wszystko, ty możesz skupić się na tłumaczeniu."
+
+msgid "Collaborate on a translation with Crowdin"
+msgstr ""
+
+msgid "Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+
+msgid "What is Crowdin?"
msgstr ""
-"Użyj istniejącego pliku .po lub szablonu .pot i utwórz z niego nowe "
-"tłumaczenie."
msgid "There are no translations. That’s unusual."
msgstr "Nie ma tłumaczeń. To się rzadko zdarza."
-msgid ""
-"Translatable entries aren't added manually in the Gettext system, but are "
-"automatically extracted\n"
-"from source code. This way, they stay up to date and accurate.\n"
-"Translators typically use PO template files (POTs) prepared for them by the "
-"developer."
-msgstr ""
-"W systemie Gettext elementy do tłumaczenia nie są dodawane ręcznie, ale są "
-"automatycznie\n"
-"wyodrębniane z kodu źródłowego. Dzięki temu są zawsze aktualne i dokładne.\n"
-"Tłumacze zazwyczaj używają szablonów plików PO (POT) przygotowanych dla nich "
-"przez autora."
+msgid "Translatable entries aren't added manually in the Gettext system, but are automatically extracted\nfrom source code. This way, they stay up to date and accurate.\nTranslators typically use PO template files (POTs) prepared for them by the developer."
+msgstr "W systemie Gettext elementy do tłumaczenia nie są dodawane ręcznie, ale są automatycznie\nwyodrębniane z kodu źródłowego. Dzięki temu są zawsze aktualne i dokładne.\nTłumacze zazwyczaj używają szablonów plików PO (POT) przygotowanych dla nich przez autora."
msgid "(Learn more about GNU gettext)"
msgstr "(Dowiedz się więcej o GNU gettext)"
msgid "The simplest way to fill this catalog is to update it from a POT:"
-msgstr ""
-"Najprostszym sposobem wypełnienia tego pakietu jest zaktualizowanie go z "
-"pliku .pot:"
+msgstr "Najprostszym sposobem wypełnienia tego pakietu jest zaktualizowanie go z pliku .pot:"
msgid "Update from POT"
msgstr "Aktualizuj z pliku .pot…"
@@ -1689,14 +1986,113 @@ msgstr "Aktualizuj z pliku .pot…"
msgid "Take translatable strings from an existing POT template."
msgstr "Użyj tekstów z istniejącego szablonu POT."
-msgid ""
-"You can also extract translatable strings directly from the source code:"
-msgstr ""
-"Możesz także wyodrębnić elementy do tłumaczenia bezpośrednio z kodu "
-"źródłowego:"
+msgid "You can also extract translatable strings directly from the source code:"
+msgstr "Możesz także wyodrębnić elementy do tłumaczenia bezpośrednio z kodu źródłowego:"
msgid "Extract from sources"
msgstr "Wyodrębnij ze źródeł"
msgid "Configure source code extraction in Properties."
msgstr "Konfiguruj kod źródłowy wyodrębniania we właściwościach."
+
+#, c-format
+msgid "Failed to read file '%s'."
+msgstr "Nie udało się odczytać pliku „%s”."
+
+#, c-format
+msgid "Confused by ambiguous values of \"%s\" in %s."
+msgstr "Pogmatwanie z powodu niejednoznacznych wartości „%s” w %s."
+
+#, c-format
+msgid "Couldn't detect POs location for \"%s\"."
+msgstr "Nie można wykryć położenia pliku .po dla „%s”"
+
+#, c-format
+msgid "The \"%s\" theme isn't localization-ready."
+msgstr "Motyw „%s” nie jest gotowy do lokalizacji."
+
+msgid "Confused: multiple main plugin files."
+msgstr "Pogmatwanie: wiele plików wtyczki głównej."
+
+#, c-format
+msgid "The \"%s\" plugin isn't localization-ready."
+msgstr "Wtyczka „%s” nie jest gotowa do lokalizacji."
+
+#, c-format
+msgid "Couldn't detect translation domain of the \"%s\" plugin."
+msgstr "Nie można wykryć domeny tłumaczenia wtyczki „%s”."
+
+msgid "Found neither WordPress theme nor plugin in the folder."
+msgstr "W folderze znaleziono motyw lub wtyczkę WordPressa."
+
+#, c-format
+msgid "Translations folder (%s) doesn't exist."
+msgstr "Folder tłumaczenia „%s” nie istnieje."
+
+msgid "<big>Drag and drop <b>theme or plugin folder</b> here</big>\n\nor use the “Choose folder” button"
+msgstr ""
+
+msgid "<big>Drag and Drop <b>Theme or Plugin Folder</b> Here</big>\n\nor use the “Choose Folder” button"
+msgstr ""
+
+#, c-format
+msgid "Folder “%s”"
+msgstr ""
+
+msgid "Choose Folder..."
+msgstr ""
+
+msgid "Choose folder..."
+msgstr ""
+
+msgid "Create a new translation"
+msgstr ""
+
+msgid "Choose this if you want to translate the theme or plugin into your language."
+msgstr ""
+
+msgid "Create a POT"
+msgstr ""
+
+msgid "This option is for theme and plugin developers. Poedit will create an empty template (POT) that translations can be based on."
+msgstr ""
+
+msgid "Continue"
+msgstr ""
+
+msgid "Failed to extract WordPress information."
+msgstr "Nie udało się wyodrębnić informacji o WordPressie."
+
+msgid "WordPress error"
+msgstr "Błąd WordPressa"
+
+#, c-format
+msgid "Poedit couldn’t understand the content of the folder you selected. This may be a problem with the plugin/theme or it may be Poedit being silly. The error is:\n\n • %s\n\nPlease email help at poedit.net and we’ll sort it out."
+msgstr "Poedit nie rozumie zawartości wybranego folderu. Może to powodować wtyczka lub motyw, albo Poedit jest głupi. Błąd:\n\n • %s\n\nWyślij ten błąd do help at poedit.net, a my spróbujemy coś temu zaradzić."
+
+#. TRANSLATORS: This is a button that sends an email to support when clicked
+msgid "Email support"
+msgstr "Pomoc przez e-mail"
+
+msgid "View log"
+msgstr "Dziennik zdarzeń"
+
+#. TRANSLATORS: This is a button that sends an email to support when clicked
+msgid "Email Support"
+msgstr "Pomoc przez e-mail"
+
+msgid "View Log"
+msgstr "Dziennik zdarzeń"
+
+msgid "WordPress Errors Log"
+msgstr "Dziennik błędów WordPressa"
+
+msgid "Please email this log to help at poedit.net. Thank you!"
+msgstr "Prześlij ten zapis dziennika zdarzeń na adres help at poedit.net. Dziękuję!"
+
+msgid "Sync"
+msgstr ""
+
+msgid "Synchronize the translation with Crowdin"
+msgstr ""
+
diff --git a/locales/poedit.pot b/locales/poedit.pot
index affcd75..b2614af 100644
--- a/locales/poedit.pot
+++ b/locales/poedit.pot
@@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: Poedit 1.6\n"
+"Project-Id-Version: Poedit 1.8\n"
"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
+"POT-Creation-Date: 2015-05-13 18:47+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
"Language-Team: LANGUAGE <LL at li.org>\n"
@@ -82,6 +82,15 @@ msgstr ""
msgid "Error saving catalog"
msgstr ""
+msgid "PO Translation Files"
+msgstr ""
+
+msgid "POT Translation Templates"
+msgstr ""
+
+msgid "All Translation Files"
+msgstr ""
+
msgid "Merging differences..."
msgstr ""
@@ -101,6 +110,83 @@ msgstr ""
msgid "You must restart Poedit for this change to take effect."
msgstr ""
+msgid "Downloading translations is disabled in this project."
+msgstr ""
+
+msgid "Not authorized, please sign in again."
+msgstr ""
+
+msgid "Sign in to Crowdin"
+msgstr ""
+
+msgid ""
+"Crowdin is an online localization management platform and collaborative "
+"translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+
+msgid "Sign In"
+msgstr ""
+
+msgid "Sign in"
+msgstr ""
+
+msgid "Sign Out"
+msgstr ""
+
+msgid "Sign out"
+msgstr ""
+
+msgid "Waiting for authentication…"
+msgstr ""
+
+msgid "Updating user information…"
+msgstr ""
+
+msgid "Signed in as:"
+msgstr ""
+
+msgid "Learn More About Crowdin"
+msgstr ""
+
+msgid "Learn more about Crowdin"
+msgstr ""
+
+msgid "Open Crowdin translation"
+msgstr ""
+
+msgid "Project:"
+msgstr ""
+
+msgid "Language:"
+msgstr ""
+
+msgid "File:"
+msgstr ""
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr ""
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr ""
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr ""
+
+msgid "Downloading latest translations…"
+msgstr ""
+
+msgid "Syncing with Crowdin"
+msgstr ""
+
+msgid "Syncing with Crowdin failed."
+msgstr ""
+
+msgid "Crowdin error"
+msgstr ""
+
+msgid "Uploading translations…"
+msgstr ""
+
msgid "&Copy"
msgstr ""
@@ -145,6 +231,9 @@ msgstr ""
msgid "don't delete temporary files (for debugging)"
msgstr ""
+msgid "handle a poedit:// URI"
+msgstr ""
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr ""
@@ -155,12 +244,6 @@ msgstr ""
msgid "Open catalog"
msgstr ""
-msgid "All Files"
-msgstr ""
-
-msgid "PO Translation Files"
-msgstr ""
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr ""
@@ -388,6 +471,17 @@ msgstr ""
msgid "Translation:"
msgstr ""
+msgid ""
+"POT files are only templates and don’t contain any translations themselves.\n"
+"To make a translation, create a new PO file based on the template."
+msgstr ""
+
+msgid "Create New Translation"
+msgstr ""
+
+msgid "Create new translation"
+msgstr ""
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
@@ -435,9 +529,6 @@ msgstr ""
msgid "Open catalog template"
msgstr ""
-msgid "POT Translation Templates"
-msgstr ""
-
msgid "Updating catalog"
msgstr ""
@@ -506,16 +597,18 @@ msgstr[1] ""
msgid "The translation is ready for use."
msgstr ""
-msgid "No references to this string found."
-msgstr ""
-
-msgid "Please choose the reference you want to show:"
+msgid "Context:"
msgstr ""
-msgid "References"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
msgstr ""
-msgid "Context:"
+msgid ""
+"The file contained duplicate items, which is not allowed in PO files and "
+"would prevent the file from being used. Poedit fixed the issue, but you "
+"should review translations of any items marked as fuzzy and correct them if "
+"necessary."
msgstr ""
msgid "Language of the translation isn't set."
@@ -527,6 +620,21 @@ msgstr ""
msgid "Set language"
msgstr ""
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid ""
+"Suggestions are not available if the translation language is not set "
+"correctly. Other features, such as plural forms, may be affected as well."
+msgstr ""
+
+msgid "Language of the translation is the same as source language."
+msgstr ""
+
+msgid "Fix Language"
+msgstr ""
+
+msgid "Fix language"
+msgstr ""
+
msgid ""
"This catalog has entries with plural forms, but doesn't have Plural-Forms "
"header configured."
@@ -557,6 +665,7 @@ msgstr ""
msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr ""
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr ""
@@ -578,6 +687,12 @@ msgid_plural "%d errors"
msgstr[0] ""
msgstr[1] ""
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] ""
+msgstr[1] ""
+
msgid " (unsaved)"
msgstr ""
@@ -691,6 +806,9 @@ msgstr ""
msgid "Form %i"
msgstr ""
+msgid "Singular"
+msgstr ""
+
msgid "Zero"
msgstr ""
@@ -700,6 +818,9 @@ msgstr ""
msgid "Two"
msgstr ""
+msgid "Plural"
+msgstr ""
+
msgid "Other"
msgstr ""
@@ -728,6 +849,12 @@ msgstr ""
msgid "Show Sidebar"
msgstr ""
+msgid "Hide Status Bar"
+msgstr ""
+
+msgid "Show Status Bar"
+msgstr ""
+
msgid "Source text"
msgstr ""
@@ -737,6 +864,10 @@ msgstr ""
msgid "ID"
msgstr ""
+#, c-format
+msgid "Source text — %s"
+msgstr ""
+
msgid "unknown language"
msgstr ""
@@ -747,56 +878,72 @@ msgstr ""
msgid "Error:"
msgstr ""
-msgid "Project info"
+msgid "Source file"
msgstr ""
-msgid "Project name and version:"
+msgid "Source file occurrence:"
msgstr ""
-msgid "Language:"
+msgid "Open in Editor"
msgstr ""
-msgid "Team:"
+msgid "Open in editor"
msgstr ""
-msgid "Team's email address:"
+msgid "No references for the selected item."
msgstr ""
-msgid "Charset:"
+#, c-format
+msgid "Error opening file %s!"
msgstr ""
-msgid "Source"
+msgid "Find"
msgstr ""
-msgid "Notes"
+msgid "Replace"
msgstr ""
-msgid "Automatic translation"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
msgstr ""
-msgid "Fuzzy translation"
+msgid "Ignore case"
msgstr ""
-msgid "Notes for translators:"
+msgid "Wrap around"
msgstr ""
-msgid "Comment:"
+msgid "Whole words only"
msgstr ""
-msgid "Source file"
+msgid "Find in source texts"
msgstr ""
-msgid "Source file occurrence:"
+msgid "Find in translations"
msgstr ""
-msgid "Open in Editor"
+msgid "Find in comments"
msgstr ""
-msgid "Open in editor"
+msgid "Close"
msgstr ""
-#, c-format
-msgid "Error opening file %s!"
+msgid "Replace All"
+msgstr ""
+
+msgid "Replace all"
+msgstr ""
+
+msgid "< &Previous"
+msgstr ""
+
+msgid "&Next >"
+msgstr ""
+
+msgid "String to find"
+msgstr ""
+
+msgid "Replacement string"
msgstr ""
#, c-format
@@ -985,9 +1132,19 @@ msgstr ""
msgid "Edit"
msgstr ""
+msgid "Delete extractor"
+msgstr ""
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr ""
+
msgid "Extractors"
msgstr ""
+msgid "Accounts"
+msgstr ""
+
msgid "Automatically check for updates"
msgstr ""
@@ -1026,70 +1183,67 @@ msgstr ""
msgid "Advanced"
msgstr ""
-msgid "Additional keywords"
-msgstr ""
-
-msgid "Paths"
-msgstr ""
-
-msgid "Excluded paths"
-msgstr ""
-
-msgid "Name of the project the translation is for"
+msgid ""
+"<big>Drag and Drop Folders Here</big>\n"
+"\n"
+"or use the + button"
msgstr ""
-msgid "e.g. nplurals=2; plural=(n > 1);"
+msgid ""
+"<big>Drag and drop folders here</big>\n"
+"\n"
+"or use the + button"
msgstr ""
-msgid "UTF-8 (recommended)"
+msgid "Add Folders..."
msgstr ""
-msgid "Please save the file first. This section cannot be edited until then."
+msgid "Add folders..."
msgstr ""
-msgid "OK"
+msgid "Add Files..."
msgstr ""
-msgid "C&lear"
+msgid "Add files..."
msgstr ""
-msgid "Clear the comment"
+msgid "Add Wildcard..."
msgstr ""
-msgid "Find..."
+msgid "Add wildcard..."
msgstr ""
-msgid "String to find:"
+msgid "Paths"
msgstr ""
-msgid "Case sensitive"
+msgid "Excluded paths"
msgstr ""
-msgid "Start from the first item"
+msgid "Additional keywords"
msgstr ""
-msgid "Whole words only"
+msgid "Name of the project the translation is for"
msgstr ""
-msgid "Find in original strings"
+msgid "e.g. nplurals=2; plural=(n > 1);"
msgstr ""
-msgid "Find in translations"
+msgid "UTF-8 (recommended)"
msgstr ""
-msgid "Find in comments"
+msgid "Please save the file first. This section cannot be edited until then."
msgstr ""
-msgid "Find in automatic comments"
+msgid "Comment:"
msgstr ""
-msgid "Close"
+msgid "OK"
msgstr ""
-msgid "< &Previous"
+msgid "C&lear"
msgstr ""
-msgid "&Next >"
+msgid "Clear the comment"
msgstr ""
msgid "Create new translations project"
@@ -1146,6 +1300,12 @@ msgstr ""
msgid "Open Recent"
msgstr ""
+msgid "Open from Crowdin..."
+msgstr ""
+
+msgid "Open From Crowdin..."
+msgstr ""
+
msgid "&Save"
msgstr ""
@@ -1194,13 +1354,16 @@ msgstr ""
msgid "&Find..."
msgstr ""
+msgid "Replace..."
+msgstr ""
+
msgid "Find next"
msgstr ""
msgid "Find previous"
msgstr ""
-msgid "Find"
+msgid "Find and Replace..."
msgstr ""
msgid "Find Next"
@@ -1242,6 +1405,12 @@ msgstr ""
msgid "&Group By Context"
msgstr ""
+msgid "Entries with errors first"
+msgstr ""
+
+msgid "Entries with Errors First"
+msgstr ""
+
msgid "&Untranslated entries first"
msgstr ""
@@ -1251,6 +1420,9 @@ msgstr ""
msgid "Show sidebar"
msgstr ""
+msgid "Show status bar"
+msgstr ""
+
msgid "C&atalog"
msgstr ""
@@ -1266,6 +1438,9 @@ msgstr ""
msgid "Update from &POT File..."
msgstr ""
+msgid "Sync with Crowdin"
+msgstr ""
+
msgid "Fill missing translations from &TM..."
msgstr ""
@@ -1383,6 +1558,9 @@ msgstr ""
msgid "Catalog properties"
msgstr ""
+msgid "Project name and version:"
+msgstr ""
+
msgid "Plural Forms:"
msgstr ""
@@ -1395,6 +1573,15 @@ msgstr ""
msgid "Learn about plural forms"
msgstr ""
+msgid "Charset:"
+msgstr ""
+
+msgid "Team:"
+msgstr ""
+
+msgid "Team's email address:"
+msgstr ""
+
msgid "Translation properties"
msgstr ""
@@ -1461,7 +1648,7 @@ msgstr ""
msgid "Toggled if selected string has fuzzy translation"
msgstr ""
-msgid "Show or hide the sidebar."
+msgid "Show or hide the sidebar"
msgstr ""
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
@@ -1473,6 +1660,9 @@ msgid ""
"translation corresponds to."
msgstr ""
+msgid "Notes for translators:"
+msgstr ""
+
msgid "Add comment"
msgstr ""
@@ -1545,14 +1735,21 @@ msgstr ""
msgid "Open an existing PO file and edit the translation."
msgstr ""
-msgid "Create new translation"
-msgstr ""
-
msgid ""
"Take an existing PO file or POT template and create a new translation from "
"it."
msgstr ""
+msgid "Collaborate on a translation with Crowdin"
+msgstr ""
+
+msgid ""
+"Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+
+msgid "What is Crowdin?"
+msgstr ""
+
msgid "There are no translations. That’s unusual."
msgstr ""
@@ -1585,3 +1782,9 @@ msgstr ""
msgid "Configure source code extraction in Properties."
msgstr ""
+
+msgid "Sync"
+msgstr ""
+
+msgid "Synchronize the translation with Crowdin"
+msgstr ""
diff --git a/locales/pt_BR.mo b/locales/pt_BR.mo
index 1b5eb56..bada927 100644
Binary files a/locales/pt_BR.mo and b/locales/pt_BR.mo differ
diff --git a/locales/pt_BR.po b/locales/pt_BR.po
index cb75189..3afe435 100644
--- a/locales/pt_BR.po
+++ b/locales/pt_BR.po
@@ -1,9 +1,9 @@
msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
-"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:33-0400\n"
+"Report-Msgid-Bugs-To: poedit at googlegroups.com\n"
+"POT-Creation-Date: 2015-05-11 08:48+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Portuguese, Brazilian\n"
"Language: pt_BR\n"
@@ -16,6 +16,40 @@ msgstr ""
"X-Crowdin-Language: pt-BR\n"
"X-Crowdin-File: /locales/poedit.pot\n"
+#. TRANSLATORS: This is titlebar of about dialog, "%s" is application name
+#. ("Poedit" here, but please use "%s")
+#, c-format
+msgid "About %s"
+msgstr "Sobre o %s"
+
+#. TRANSLATORS: This is version information in about dialog, "%s" will be
+#. version number when used
+#, c-format
+msgid "Version %s"
+msgstr "Versão %s"
+
+msgid "Based on the open source version →"
+msgstr "Baseado na versão de código aberto →"
+
+msgid "Acknowledgements"
+msgstr "Agradecimentos"
+
+msgid "Rate on the App Store"
+msgstr "Avaliar na App Store"
+
+msgid "License Agreement"
+msgstr "Contrato de Licença"
+
+#, c-format
+msgid "Licensed to %s"
+msgstr "Licenciado para %s"
+
+msgid "Purchased on the Mac App Store"
+msgstr "Comprado na Mac App Store"
+
+msgid "Free version (please upgrade!)"
+msgstr "Versão gratuita (atualize!)"
+
msgid "Hide this notification message"
msgstr "Ocultar esta notificação"
@@ -37,69 +71,57 @@ msgstr "Linha %d do arquivo '%s' está corrompida (dados %s inválidos)."
#, c-format
msgid "Malformed header: '%s'"
-msgstr "Cabeçalho mal-formado: '%s'"
+msgstr "Cabeçalho malformado: '%s'"
-msgid ""
-"Broken catalog file: singular form msgstr used together with msgid_plural"
-msgstr ""
-"Problemas no arquivo de catálogo: a forma singular de msgst foi usada com a "
-"marca msgid_plural"
+msgid "Broken catalog file: singular form msgstr used together with msgid_plural"
+msgstr "Problemas no arquivo de catálogo: a forma singular de msgst foi usada com a marca msgid_plural"
msgid "Broken catalog file: plural form msgstr used without msgid_plural"
-msgstr ""
-"Problemas no arquivo de catálogo: a forma plural de msgst foi usada sem a "
-"marca msgid_plural"
+msgstr "Problemas no arquivo de catálogo: a forma plural de msgst foi usada sem a marca msgid_plural"
-msgid ""
-"There were errors when loading the catalog. Some data may be missing or "
-"corrupted as the result."
-msgstr ""
-"Erros ao carregar o catálogo. Alguns dados podem estar danificados ou "
-"inválidos."
+msgid "There were errors when loading the catalog. Some data may be missing or corrupted as the result."
+msgstr "Erros ao carregar o catálogo. Alguns dados podem estar ausentes ou inválidos."
#, c-format
msgid "Couldn't load file %s, it is probably corrupted."
-msgstr "Erro carregando arquivo '%s, provavelmente corrompido."
+msgstr "Erro carregando o arquivo '%s, provavelmente ele está corrompido."
#, c-format
-msgid ""
-"File '%s' is read-only and cannot be saved.\n"
-"Please save it under different name."
-msgstr ""
-"O arquivo '%s' é somente leitura e não pode ser salvo.\n"
-"Salve-o com outro nome."
+msgid "File '%s' is read-only and cannot be saved.\nPlease save it under different name."
+msgstr "O ficheiro %s é de leitura e não pode ser guardado.\nPor favor utilize um nome diferente."
#, c-format
msgid "Couldn't save file %s."
-msgstr "Não foi possível salvar arquivo %s."
+msgstr "Não foi possível guardar o ficheiro %s."
-msgid ""
-"There was a problem formatting the file nicely (but it was saved all right)."
-msgstr "Houve um problema ao formatar o arquivo (mas foi salvo corretamente)."
+msgid "There was a problem formatting the file nicely (but it was saved all right)."
+msgstr "Houve um problema ao formatar o arquivo (mas ele foi salvo corretamente)."
#, c-format
-msgid ""
-"The catalog couldn't be saved in '%s' charset as specified in catalog "
-"settings.\n"
-"\n"
-"It was saved in UTF-8 instead and the setting was modified accordingly."
-msgstr ""
-"O catálogo não pôde ser salvo na tabela de caracteres '%s' como\n"
-"especificado na configuração do catálogo. Ele foi salvo em UTF-8\n"
-"e a configuração foi devidamente alterada."
+msgid "The catalog couldn't be saved in '%s' charset as specified in catalog settings.\n\nIt was saved in UTF-8 instead and the setting was modified accordingly."
+msgstr "O catálogo não pode ser guardado no formato '%s', conforme especificado nas definições.\n\nFoi guardado no formato UTF-8 e as definições alteradas em concordância."
msgid "Error saving catalog"
-msgstr "Erro ao salvar o catálogo"
+msgstr "Erro ao gravar o catálogo"
+
+msgid "PO Translation Files"
+msgstr "Arquivos de Tradução PO"
+
+msgid "POT Translation Templates"
+msgstr "Modelos de Tradução POT"
+
+msgid "All Translation Files"
+msgstr "Todos os ficheiros de tradução"
msgid "Merging differences..."
-msgstr "Combinando diferenças em arquivos..."
+msgstr "A incorporar diferenças..."
#, c-format
msgid "'%s' is not a valid POT file."
-msgstr "'%s' não é um arquivo POT válido."
+msgstr "'%s' não é um ficheiro POT válido."
msgid "(Use default language)"
-msgstr "(Usar idioma padrão)"
+msgstr "(Utilizar idioma do sistema)"
msgid "Select your preferred language"
msgstr "Selecione o idioma preferido"
@@ -108,37 +130,131 @@ msgid "Language selection"
msgstr "Seleção de idioma"
msgid "You must restart Poedit for this change to take effect."
-msgstr "Você deve reiniciar o Poedit para validar as alterações."
+msgstr "Tem que reiniciar o Poedit para aplicar a alteração."
+
+msgid "Downloading translations is disabled in this project."
+msgstr "A descarga de traduções está desativada para este projeto."
+
+msgid "Not authorized, please sign in again."
+msgstr "Não autorizado. Inicie novamente a sessão."
+
+msgid "Sign in to Crowdin"
+msgstr "Iniciar sessão no Crowdin"
+
+msgid "Crowdin is an online localization management platform and collaborative translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr "O serviço Crowdin é uma plataforma de gestão de traduções e uma ferramenta de colaboração. O Poedit pode sincronizar os ficheiros PO existentes nos projetos Crowdin."
+
+msgid "Sign In"
+msgstr "Iniciar sessão"
+
+msgid "Sign in"
+msgstr "Iniciar sessão"
+
+msgid "Sign Out"
+msgstr "Terminar sessão"
+
+msgid "Sign out"
+msgstr "Terminar sessão"
+
+msgid "Waiting for authentication…"
+msgstr "Aguardando autenticação..."
+
+msgid "Updating user information…"
+msgstr "Atualizando informações do utilizador..."
+
+msgid "Signed in as:"
+msgstr "Sessão iniciada como:"
+
+msgid "Learn More About Crowdin"
+msgstr "Saber mais sobre o Crowdin"
+
+msgid "Learn more about Crowdin"
+msgstr "Saber mais sobre o Crowdin"
+
+msgid "Open Crowdin translation"
+msgstr "Abrir tradução Crowdin"
+
+msgid "Project:"
+msgstr "Projeto:"
+
+msgid "Language:"
+msgstr "Idioma:"
+
+msgid "File:"
+msgstr "Ficheiro:"
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr "Não existem projetos de tradução associados à sua conta Crowdin."
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr "Este projeto não tem ficheiros que possam ser traduzidos com o Poedit."
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr "Este ficheiro apenas pode ser editado na interface web do Crowdin."
+
+msgid "Downloading latest translations…"
+msgstr "A descarregar traduções mais recentes..."
+
+msgid "Syncing with Crowdin"
+msgstr "Sincronizar com o Crowdin"
+
+msgid "Syncing with Crowdin failed."
+msgstr "Falha ao sincronizar com o Crowdin."
+
+msgid "Crowdin error"
+msgstr "Erro Crowdin"
+
+msgid "Uploading translations…"
+msgstr "A carregar traduções..."
msgid "&Copy"
msgstr "&Copiar"
msgid "Learn more"
-msgstr "Saiba mais"
+msgstr "Saber mais"
msgid "Learn More"
msgstr "Saiba Mais"
#, c-format
msgid "Failed command: %s"
-msgstr "Falha ao executar o comando: %s"
+msgstr "Falha do comando: %s"
msgid "Failed to merge gettext catalogs."
-msgstr "Falha ao combinar catálogos do gettext."
+msgstr "Erro ao unir os catálogos."
msgid "Scanning files..."
-msgstr "Pesquisando arquivos..."
+msgstr "A analisar ficheiros..."
#. TRANSLATORS: '%s' is replaced with the kind of the files (e.g. C++, PHP, ...)
#, c-format
msgid "Parsing %s files..."
-msgstr "Interpretando %s arquivos..."
+msgstr "A analisar ficheiros %s..."
msgid "Failed to load extracted catalog."
-msgstr "Falha ao carregar o catálogo extraído."
+msgstr "Erro ao carregar o catálogo extraído."
+
+#, c-format
+msgid "Failed to extract WordPress metadata from file %s."
+msgstr "Falha ao extrair metadados de WordPress do arquivo %s."
msgid "&Help"
-msgstr "A&juda"
+msgstr "Aj&uda"
+
+msgid "Beta expired"
+msgstr "Beta expirada"
+
+msgid "This beta version of Poedit expired."
+msgstr "Esta versão beta do Poedit expirou."
+
+msgid "Please download a newer version from the Poedit website at http://poedit.net/download"
+msgstr "Faça a transferência da nova versão do site do Poedit em http://poedit.net/download/"
+
+msgid "Download"
+msgstr "Descarregar"
+
+msgid "Quit"
+msgstr "Sair"
msgid "MO files can’t be directly edited in Poedit."
msgstr "Arquivos MO não podem ser editados diretamente no Poedit."
@@ -146,56 +262,40 @@ msgstr "Arquivos MO não podem ser editados diretamente no Poedit."
msgid "Error opening file"
msgstr "Erro ao abrir arquivo"
-msgid ""
-"Please open and edit the corresponding PO file instead. When you save it, "
-"the MO file will be updated as well."
-msgstr ""
-"Abra e edite o arquivo PO correspondente em vez disso. Quando você salvá-lo, "
-"o arquivo MO será atualizado também."
+msgid "Please open and edit the corresponding PO file instead. When you save it, the MO file will be updated as well."
+msgstr "Abra e edite o arquivo PO correspondente em vez disso. Quando você salvá-lo, o arquivo MO será atualizado também."
msgid "don't delete temporary files (for debugging)"
-msgstr "não apagar arquivos temporários (para depuração)"
+msgstr "não eliminar ficheiros temporários (depuração)"
+
+msgid "handle a poedit:// URI"
+msgstr "gerir um URI poedit://"
#, c-format
msgid "Unhandled exception occurred: %s"
-msgstr "Ocorreu uma exceção não manipulada: %s"
+msgstr "Ocorreu uma exceção não tratada: %s"
msgid "Unhandled exception occurred."
-msgstr "Ocorreu uma exceção não manipulada."
+msgstr "Ocorreu uma exceção."
msgid "Open catalog"
msgstr "Abrir catálogo"
-msgid "All Files"
-msgstr "Todos os Arquivos"
-
-msgid "PO Translation Files"
-msgstr "Arquivos de Tradução PO"
-
#, c-format
msgid "File '%s' doesn't exist."
-msgstr "Arquivo '%s' não existe."
-
-#. TRANSLATORS: This is titlebar of about dialog, "%s" is application name
-#. ("Poedit" here, but please use "%s")
-#, c-format
-msgid "About %s"
-msgstr "Sobre o %s"
-
-#. TRANSLATORS: This is version information in about dialog, "%s" will be
-#. version number when used
-#, c-format
-msgid "Version %s"
-msgstr "Versão %s"
+msgstr "O ficheiro %s não existe."
msgid "Poedit is an easy to use translations editor."
msgstr "O Poedit é um editor de traduções fácil de usar."
msgid "Catalogs Manager"
-msgstr "Gerenciador de Catálogos"
+msgstr "Gestor de catálogos"
+
+msgid "License..."
+msgstr "Licença..."
msgid "Check for Updates..."
-msgstr "Verificar Atualizações..."
+msgstr "Procurar atualizações..."
msgid "&Edit"
msgstr "&Editar"
@@ -207,74 +307,83 @@ msgid "Redo"
msgstr "Refazer"
msgid "Paste and Match Style"
-msgstr "Colar e Corresponder Estilo"
+msgstr "Colar com a formatação do documento"
msgid "Delete"
-msgstr "Excluir"
+msgstr "Eliminar"
msgid "Spelling and Grammar"
-msgstr "Ortografia e Gramática"
+msgstr "Ortografia e gramática"
msgid "Show Spelling and Grammar"
-msgstr "Exibir Ortografia e Gramática"
+msgstr "Mostrar ortografia e gramática"
msgid "Check Document Now"
-msgstr "Verificar Documento Agora"
+msgstr "Analisar documento agora"
msgid "Check Spelling While Typing"
-msgstr "Verificar Ortografia ao Digitar"
+msgstr "Verificar ortografia ao escrever"
msgid "Check Grammar With Spelling"
-msgstr "Verificar Gramática com Ortografia"
+msgstr "Verificar gramática com ortografia"
msgid "Correct Spelling Automatically"
-msgstr "Corrigir Ortografia Automaticamente"
+msgstr "Corrigir ortografia automaticamente"
msgid "Substitutions"
msgstr "Substituições"
msgid "Show Substitutions"
-msgstr "Exibir Substituições"
+msgstr "Mostrar substituições"
msgid "Smart Copy/Paste"
-msgstr "Copiar/Colar Inteligente"
+msgstr "Colar/Colar inteligente"
msgid "Smart Quotes"
-msgstr "Aspas Inteligentes"
+msgstr "Aspas inteligentes"
msgid "Smart Dashes"
-msgstr "Hífens Inteligentes"
+msgstr "Traços inteligentes"
msgid "Smart Links"
-msgstr "Links Inteligentes"
+msgstr "Ligações inteligentes"
msgid "Text Replacement"
-msgstr "Substituição de Texto"
+msgstr "Substituição de texto"
msgid "Transformations"
msgstr "Transformações"
msgid "Make Upper Case"
-msgstr "FAZER MAIÚSCULAS"
+msgstr "Converter em maiúsculas"
msgid "Make Lower Case"
-msgstr "fazer minúsculas"
+msgstr "Converter em minúsculas"
msgid "Capitalize"
-msgstr "MAIÚSCULAS"
+msgstr "Capitalizar"
msgid "Speech"
msgstr "Fala"
msgid "Start Speaking"
-msgstr "Começar a Falar"
+msgstr "Iniciar fala"
msgid "Stop Speaking"
-msgstr "Parar de Falar"
+msgstr "Parar fala"
msgid "&View"
msgstr "E&xibir"
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
+msgid "Show Toolbar"
+msgstr "Exibir Barra de Ferramentas"
+
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
+msgid "Customize Toolbar…"
+msgstr "Personalizar Barra de Ferramentas…"
+
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
msgid "Enter Full Screen"
msgstr "Entrar em tela cheia"
@@ -285,37 +394,45 @@ msgid "Minimize"
msgstr "Minimizar"
msgid "Zoom"
-msgstr "Zoom"
+msgstr "Ampliação"
msgid "Bring All to Front"
-msgstr "Trazer todas para frente"
+msgstr "Trazer para primeiro plano"
+#. TRANSLATORS:File kind displayed in Finder/Explorer
msgid "PO Translation"
msgstr "Tradução PO"
+msgid "Invalid license data."
+msgstr "Dados de licença inválidos."
+
+msgid "Poedit"
+msgstr "Poedit"
+
+#, c-format
+msgid "The link doesn't contain valid Poedit license. Try entering it manually or contact support at help at poedit.net.\n\n(%s)"
+msgstr "A ligação não contém uma licença válida. Tente introduzir a licença manualmente ou contacte-nos em help at poedit.net.\n\n(%s)"
+
msgid "The file cannot be opened."
-msgstr "O arquivo não pôde ser aberto."
+msgstr "O ficheiro não foi aberto."
msgid "Invalid file"
-msgstr "Arquivo inválido"
+msgstr "Ficheiro inválido"
-msgid ""
-"The file may be either corrupted or in a format not recognized by Poedit."
-msgstr ""
-"O arquivo pode estar corrompido ou está em um formato não reconhecido pelo "
-"Poedit."
+msgid "The file may be either corrupted or in a format not recognized by Poedit."
+msgstr "O ficheiro pode estar danificado ou num formato não reconhecido pelo Poedit."
msgid "&Undo"
-msgstr "&Desfazer"
+msgstr "An&ular"
msgid "&Redo"
msgstr "&Refazer"
msgid "Cu&t"
-msgstr "Recor&tar"
+msgstr "Cor&tar"
msgid "Cut"
-msgstr "Recortar"
+msgstr "Cortar"
msgid "Copy"
msgstr "Copiar"
@@ -327,13 +444,13 @@ msgid "Paste"
msgstr "Colar"
msgid "&Delete"
-msgstr "&Excluir"
+msgstr "&Eliminar"
msgid "Select &All"
-msgstr "Selecionar &Todas"
+msgstr "Selecion&ar tudo"
msgid "Select All"
-msgstr "Selecionar Todas"
+msgstr "Selecionar tudo"
#. TRANSLATORS: Keyboard shortcut for display in Windows menus
#. TRANSLATORS: This is the key shortcut used in menus on Windows, some languages call them differently
@@ -374,17 +491,14 @@ msgid "shift"
msgstr "shift"
msgid "You can't drop more than one file on Poedit window."
-msgstr "Você não pode arrastar mais de um arquivo na janela do Poedit."
+msgstr "Não pode largar mais do que um ficheiro na janela do Poedit."
#, c-format
msgid "File '%s' is not a message catalog."
-msgstr "Arquivo '%s' não é um catálogo de mensagens."
-
-msgid "Poedit"
-msgstr "Poedit"
+msgstr "O ficheiro %s não é um catálogo."
msgid "&File"
-msgstr "&Arquivo"
+msgstr "&Ficheiro"
msgid "&Go"
msgstr "&Ir"
@@ -396,44 +510,50 @@ msgid "Singular:"
msgstr "Singular:"
msgid "Plural:"
-msgstr "Plural:"
+msgstr "Plurais:"
msgid "Translation:"
msgstr "Tradução:"
+msgid "POT files are only templates and don’t contain any translations themselves.\nTo make a translation, create a new PO file based on the template."
+msgstr "Os ficheiros POT são apenas modelos e não possuem quaisquer traduções.\nPara efetuar uma tradução, crie um novo ficheiro PO baseado no modelo."
+
+msgid "Create New Translation"
+msgstr "Criar nova tradução"
+
+msgid "Create new translation"
+msgstr "Criar nova tradução"
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
#, c-format
-msgid ""
-"Spellchecking is disabled, because the dictionary for %s isn’t installed."
-msgstr ""
-"A verificação ortográfica está desativada, porque o dicionário para %s não "
-"está instalado."
+msgid "Spellchecking is disabled, because the dictionary for %s isn’t installed."
+msgstr "A verificação ortográfica está desativada, porque o dicionário para %s não está instalado."
msgid "Install"
msgstr "Instalar"
msgid "Catalog modified. Do you want to save changes?"
-msgstr "O catálogo foi modificado. Deseja salvar as alterações?"
+msgstr "O catálogo foi modificado. Guardar alterações?"
msgid "Save changes"
-msgstr "Salvar alterações"
+msgstr "Guardar alterações"
msgid "Your changes will be lost if you don't save them."
-msgstr "Suas alterações serão perdidas se você não salvá-las."
+msgstr "Se não guardar as alterações, estas serão perdidas."
msgid "Save"
-msgstr "Salvar"
+msgstr "Guardar"
msgid "Don't save"
-msgstr "Não salvar"
+msgstr "Não guardar"
msgid "Don't Save"
-msgstr "Não Salvar"
+msgstr "Não guardar"
msgid "Save as..."
-msgstr "Salvar como..."
+msgstr "Guardar como..."
msgid "Compile to..."
msgstr "Compilar para..."
@@ -450,11 +570,33 @@ msgstr "Arquivos HTML"
msgid "Open catalog template"
msgstr "Abrir modelo de catálogo"
-msgid "POT Translation Templates"
-msgstr "Modelos de Tradução POT"
+msgid "WordPress"
+msgstr "WordPress"
+
+msgid "Analyzing WordPress code..."
+msgstr "Análise ao código Wordpress..."
+
+msgid "Select the folder with the WordPress theme or plugin"
+msgstr "Selecione a pasta do tema ou plugin Wordpress"
+
+#. TRANSLATORS: %s is name of a WordPress theme
+#, c-format
+msgid "The “%s” theme is compatible."
+msgstr "O tema \"%s\" é compatível."
+
+#. TRANSLATORS: %s is name of a WordPress plugin
+#, c-format
+msgid "The “%s” plugin is compatible."
+msgstr "O plugin \"%s\" é compatível."
+
+msgid "The theme is translation-ready and compatible with Poedit’s WordPress support."
+msgstr "O tema pode ser traduzido e é compatível com o suporte WordPress do Poedit."
+
+msgid "The plugin is translation-ready and compatible with Poedit’s WordPress support."
+msgstr "O plugin pode ser traduzido e é compatível com o suporte WordPress do Poedit."
msgid "Updating catalog"
-msgstr "Atualizando catálogo"
+msgstr "A atualizar catálogo..."
msgid "Source code not available."
msgstr "Código-fonte não disponível."
@@ -462,91 +604,84 @@ msgstr "Código-fonte não disponível."
msgid "Updating failed"
msgstr "Falha na atualização"
-msgid ""
-"Translations couldn’t be updated from the source code, because no code was "
-"found in the location specified in the catalog’s Properties."
-msgstr ""
-"As traduções não puderam ser atualizadas do código-fonte, pois o código não "
-"foi encontrado no local especificado nas propriedades do catálogo."
+msgid "Translations couldn’t be updated from the source code, because no code was found in the location specified in the catalog’s Properties."
+msgstr "As traduções não puderam ser atualizadas do código-fonte, pois o código não foi encontrado no local especificado nas propriedades do catálogo."
msgid "Entries in the catalog are probably incorrect."
-msgstr "Entradas do catálogo provavelmente estão incorretas."
+msgstr "É possível que as entradas do catálogo estejam incorretas."
msgid "Updating the catalog failed. Click on 'Details >>' for details."
-msgstr "Erro ao atualizar catálogo. Clique em 'Detalhes>>' para detalhes."
+msgstr "Ocorreu um erro ao atualizar o catálogo. Clique em 'Detalhes >>' para saber mais."
#, c-format
msgid "%d issue with the translation found."
msgid_plural "%d issues with the translation found."
-msgstr[0] "%d problema encontrado na tradução."
-msgstr[1] "%d problemas encontrados na tradução."
+msgstr[0] "Foi encontrado %d erro na tradução."
+msgstr[1] "Foram encontrados %d erros na tradução."
msgid "Validation results"
msgstr "Resultados da validação"
-msgid ""
-"Entries with errors were marked in red in the list. Details of the error "
-"will be shown when you select such an entry."
-msgstr ""
-"As entradas com erros foram marcadas em vermelho na lista. Detalhes do erro "
-"serão exibidos quando você selecionar essa entrada."
+msgid "Entries with errors were marked in red in the list. Details of the error will be shown when you select such an entry."
+msgstr "As entradas com erros estão marcadas a vermelho. Os detalhes do erro serão mostrados ao selecionar a entrada correspondente."
msgid "The file was saved safely."
-msgstr "O arquivo foi salvo com segurança."
+msgstr "O ficheiro foi guardado com sucesso."
-msgid ""
-"The file was saved safely and compiled into the MO format, but it will "
-"probably not work correctly."
-msgstr ""
-"O arquivo foi salvo com segurança e compilado no formato MO, mas "
-"provavelmente não irá funcionar corretamente."
+msgid "The file was saved safely and compiled into the MO format, but it will probably not work correctly."
+msgstr "O ficheiro foi guardado com sucesso e o ficheiro MO foi compilado. No entanto, é possível que não funcione corretamente."
-msgid ""
-"The file was saved safely, but it cannot be compiled into the MO format and "
-"used."
-msgstr ""
-"O arquivo foi salvo com segurança, mas não pode ser compilado no formato MO "
-"e utilizado."
+msgid "The file was saved safely, but it cannot be compiled into the MO format and used."
+msgstr "O ficheiro foi guardado mas o ficheiro MO não foi criado."
-msgid ""
-"The file was compiled into the MO format, but it will probably not work "
-"correctly."
-msgstr ""
-"O arquivo foi compilado no formato MO, mas ele provavelmente não vai "
-"funcionar corretamente."
+msgid "The file was compiled into the MO format, but it will probably not work correctly."
+msgstr "O arquivo foi compilado no formato MO, mas ele provavelmente não vai funcionar corretamente."
msgid "The file cannot be compiled into the MO format and used."
msgstr "O arquivo não pode ser compilado para o formato MO e usado."
msgid "No problems with the translation found."
-msgstr "Não foram encontrados problemas na tradução."
+msgstr "Não foram encontrados erros na tradução."
#, c-format
msgid "The translation is ready for use, but %d entry is not translated yet."
-msgid_plural ""
-"The translation is ready for use, but %d entries are not translated yet."
-msgstr[0] ""
-"Tradução pronta para ser usada, mas %d entrada ainda não foi traduzida."
-msgstr[1] ""
-"Tradução pronta para ser usada, mas %d entradas ainda não foram traduzidas."
+msgid_plural "The translation is ready for use, but %d entries are not translated yet."
+msgstr[0] "A tradução pode ser utilizada mas %d entrada ainda não está traduzida."
+msgstr[1] "A tradução pode ser utilizada mas %d entradas ainda não estão traduzidas."
msgid "The translation is ready for use."
-msgstr "Tradução pronta para ser usada."
+msgstr "A tradução está pronta a utilizar."
+
+msgid "Contributing translations improves the quality of online suggestions for everybody — the more people do it, the better the suggestions can be. Your translations are submitted anonymously and are available to other translators using Poedit or other CAT tools."
+msgstr "A contribuição com as traduções melhora a qualidade de sugestões on-line para todos — quanto mais pessoas participarem, melhor as sugestões podem ser. Suas traduções são enviadas de forma anônima e estão disponíveis para outros tradutores usando o Poedit ou outras ferramentas de CAT."
+
+msgid "Can Poedit contribute your translations of this file to the online translation memory?"
+msgstr "O Poedit pode contribuir na tradução deste arquivo para a memória de tradução online?"
-msgid "No references to this string found."
-msgstr "Não foram encontradas referências a essa linha."
+msgid "Apply to all files I edit"
+msgstr "Aplicar em todos os arquivos que eu editar"
-msgid "Please choose the reference you want to show:"
-msgstr "Por favor, escolha a referência que você quer mostrar:"
+msgid "Contribute"
+msgstr "Contribuir"
-msgid "References"
-msgstr "Referências"
+msgid "Keep Private"
+msgstr "Manter privado"
+
+msgid "Keep private"
+msgstr "Manter privado"
msgid "Context:"
msgstr "Contexto:"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr "PoEdit corrigiu automaticamente o conteúdo inválido no arquivo \"%s\"."
+
+msgid "The file contained duplicate items, which is not allowed in PO files and would prevent the file from being used. Poedit fixed the issue, but you should review translations of any items marked as fuzzy and correct them if necessary."
+msgstr "O arquivo continha itens duplicados, o que não é permitido em arquivos PO e isso impediria o arquivo de ser usado. O PoEdit corrigiu o problema, mas você deve revisar as traduções de todos os itens marcados como difusos e corrigi-los se necessário."
+
msgid "Language of the translation isn't set."
-msgstr "Idioma da tradução não foi definido."
+msgstr "O idioma da tradução não está definido."
msgid "Set Language"
msgstr "Definir Idioma"
@@ -554,22 +689,27 @@ msgstr "Definir Idioma"
msgid "Set language"
msgstr "Definir idioma"
-msgid ""
-"This catalog has entries with plural forms, but doesn't have Plural-Forms "
-"header configured."
-msgstr ""
-"Este catálogo possui entradas com formas no plural, mas não possui o "
-"cabeçalho Plural-Forms configurado."
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid "Suggestions are not available if the translation language is not set correctly. Other features, such as plural forms, may be affected as well."
+msgstr "As sugestões de tradução não estarão disponíveis se o idioma do projeto não estiver definido corretamente. Outras funcionalidades, como as formas plurais, também poderão ser afetadas."
-msgid ""
-"Entries in this catalog have different plural forms count from what "
-"catalog's Plural-Forms header says"
-msgstr ""
-"As entradas nesta catálogo possuem formas diferentes no plural do que o "
-"cabeçalho do catálogo Plural-Forms informa"
+msgid "Language of the translation is the same as source language."
+msgstr "O idioma da tradução coincide com o idioma do texto fonte."
+
+msgid "Fix Language"
+msgstr "Corrigir idioma"
+
+msgid "Fix language"
+msgstr "Corrigir idioma"
+
+msgid "This catalog has entries with plural forms, but doesn't have Plural-Forms header configured."
+msgstr "Este catálogo tem entradas com fomas plurais mas não tem o cabeçalho Plural-Forms definido."
+
+msgid "Entries in this catalog have different plural forms count from what catalog's Plural-Forms header says"
+msgstr "As entradas deste catálogo possuem formas plurais que diferem daquelas que estão definidas no cabeçalho Plural-Forms."
msgid "Required header Plural-Forms is missing."
-msgstr "Cabeçalho Plural-Forms necessário está em falta."
+msgstr "O cabeçalho Plural-Forms não existe."
#, c-format
msgid "Syntax error in Plural-Forms header (\"%s\")."
@@ -586,14 +726,15 @@ msgstr "Corrigir cabeçalho"
#. to rephrase it, e.g. to an equivalent of "for language %s".
#, c-format
msgid "Plural forms expression used by the catalog is unusual for %s."
-msgstr "Expressão no plural usada pelo catálogo é incomum para %s."
+msgstr "A expressão de formas plurais utilizadas neste catálogo não são as que devem ser utilizadas pelo idioma %s."
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
-msgstr "Revisar"
+msgstr "Rever"
#, c-format
msgid "Error loading message catalog file '%s'."
-msgstr "Erro carregando arquivo de catálogo de mensagens '%s'."
+msgstr "Erro ao carregar o ficheiro %s."
#, c-format
msgid "Translated: %d of %d (%d %%)"
@@ -609,39 +750,43 @@ msgid_plural "%d errors"
msgstr[0] "%d erro"
msgstr[1] "%d erros"
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] "%d entrada"
+msgstr[1] "%d entradas"
+
msgid " (unsaved)"
-msgstr " (não salvo)"
+msgstr " (não guardado)"
msgid " (modified)"
msgstr " (modificado)"
+#, c-format
+msgid " (beta version expires %s)"
+msgstr " (a versão beta expira em %s)"
+
msgid "Go"
msgstr "Ir"
#, c-format
msgid "Failed to update translation memory: %s"
-msgstr "Falha ao atualizar memória de traduções: %s"
+msgstr "Falha ao atualizar a memória de traduções: %s"
msgid "Purge deleted translations"
-msgstr "Remover traduções inexistentes"
+msgstr "Remover traduções eliminadas"
msgid "Do you want to remove all translations that are no longer used?"
-msgstr "Deseja remover todas as traduções não usadas?"
+msgstr "Pretende remover todas as traduções que já não são utilizadas?"
-msgid ""
-"If you continue with purging, all translations marked as deleted will be "
-"permanently removed. You will have to translate them again if they are added "
-"back in the future."
-msgstr ""
-"Se você continuar com a limpeza, todas as traduções marcados para excluir "
-"serão removidos permanentemente. Você terá que traduzi-los novamente caso "
-"eles sejam adicionados de volta no futuro."
+msgid "If you continue with purging, all translations marked as deleted will be permanently removed. You will have to translate them again if they are added back in the future."
+msgstr "Se continuar, todas as traduções marcadas como eliminadas serão removidas permanentemente. Se as entradas forem respostas, terá que as traduzir novamente."
msgid "Keep"
msgstr "Manter"
msgid "Purge"
-msgstr "Limpar"
+msgstr "Remover"
msgid "Fill missing translations from TM"
msgstr "Preencher traduções ausentes da MT"
@@ -649,22 +794,23 @@ msgstr "Preencher traduções ausentes da MT"
msgid "Only fill in exact matches"
msgstr "Preencher apenas as ocorrências exatas"
-msgid ""
-"By default, inaccurate results are filled in as well and marked as fuzzy. "
-"Check this option to only include accurate matches."
-msgstr ""
-"Por padrão, resultados imprecisos são preenchidos também e marcados como "
-"incerto. Marque esta opção para incluir apenas correspondências exatas."
+msgid "By default, inaccurate results are filled in as well and marked as fuzzy. Check this option to only include accurate matches."
+msgstr "Por padrão, resultados imprecisos são preenchidos também e marcados como incerto. Marque esta opção para incluir apenas correspondências exatas."
msgid "Don’t mark exact matches as fuzzy"
msgstr "Não marcar correspondências exatas como incertas"
-msgid ""
-"Only enable if you trust the quality of your TM. By default, all matches "
-"from the TM are marked as fuzzy and should be reviewed."
-msgstr ""
-"Apenas ative se você confia na qualidade da sua MT. Por padrão, todas as "
-"correspondências da MT são marcadas como incertas e devem ser revisadas."
+msgid "Only enable if you trust the quality of your TM. By default, all matches from the TM are marked as fuzzy and should be reviewed."
+msgstr "Apenas ative se você confia na qualidade da sua MT. Por padrão, todas as correspondências da MT são marcadas como incertas e devem ser revisadas."
+
+msgid "Use online suggestions"
+msgstr "Utilizar sugestões online"
+
+msgid "Use online suggestions (experimental)"
+msgstr "Utilizar sugestões online (experimental)"
+
+msgid "Try to fetch translations from the online TM as well. Notice that the translations will not be perfect and will still need to be corrected by a human translator."
+msgstr "Tenta obter as traduções a partir da Internet. Tenha em atenção que as traduções podem não estar corretas e devem ser corrigidas por um tradutor humano."
msgid "Fill"
msgstr "Preencher"
@@ -672,33 +818,23 @@ msgstr "Preencher"
#, c-format
msgid "%d entry was filled from the translation memory."
msgid_plural "%d entries were filled from the translation memory."
-msgstr[0] "%d entrada foi preenchida pela memória de tradução."
-msgstr[1] "%d entradas foram preenchidas pela memória de tradução."
+msgstr[0] "%d item preenchido com a memória de traduções."
+msgstr[1] "%d itens preenchidos com a memória de traduções."
-msgid ""
-"The translations were marked as fuzzy, because they may be inaccurate. You "
-"should review them for correctness."
-msgstr ""
-"As traduções foram marcadas como incertas, pois podem ser imprecisas. Você "
-"deve revisá-las quanto à sua exatidão."
+msgid "The translations were marked as fuzzy, because they may be inaccurate. You should review them for correctness."
+msgstr "As traduções foram assinaladas como imprecisas. Deve rever as traduções e efetuar as correções necessárias."
msgid "No entries could be filled from the translation memory."
-msgstr "Nenhuma entrada pôde ser preenchida pela memória de tradução."
+msgstr "Não existem itens que possam ser preenchidos com a memória de traduções."
-msgid ""
-"The TM doesn’t contain any strings similar to the content of this file. It "
-"is only effective for semi-automatic translations after Poedit learns enough "
-"from files that you translated manually."
-msgstr ""
-"A MT não contém nenhuma sentença similar ao conteúdo deste arquivo. Ela só é "
-"efetiva para traduções semi-automáticas após o Poedit aprender o bastante a "
-"partir de arquivos traduzidos manualmente."
+msgid "The TM doesn’t contain any strings similar to the content of this file. It is only effective for semi-automatic translations after Poedit learns enough from files that you translated manually."
+msgstr "A memória de traduções não contém quaisquer entradas similares às deste ficheiro. Só será útil para traduções semi-automáticas e após o Poedit aprender os dados dos ficheiros que traduziu manualmente."
msgid "Translating"
msgstr "Traduzindo"
msgid "Filling missing translations from TM..."
-msgstr "Preenchendo traduções inexistentes a partir da MT..."
+msgstr "Preencher traduções em falta com a MT..."
#, c-format
msgid "Translated %u string"
@@ -707,22 +843,22 @@ msgstr[0] "%u string traduzida"
msgstr[1] "%u strings traduzidas"
msgid "Copy from source text"
-msgstr "Copiar do texto fonte"
+msgstr "Copiar entrada original"
msgid "Copy from Source Text"
-msgstr "Copiar do Texto Fonte"
+msgstr "Copiar entrada original"
msgid "Clear translation"
-msgstr "Limpar tradução"
+msgstr "Apagar tradução"
msgid "Clear Translation"
-msgstr "Limpar Tradução"
+msgstr "Apagar tradução"
msgid "Edit comment"
msgstr "Editar comentário"
msgid "Edit Comment"
-msgstr "Editar Comentário"
+msgstr "Editar comentário"
msgid "References:"
msgstr "Referências:"
@@ -734,17 +870,23 @@ msgstr "Tudo"
msgid "Form %i"
msgstr "Forma %i"
+msgid "Singular"
+msgstr "Singular"
+
msgid "Zero"
msgstr "Zero"
msgid "One"
-msgstr "Um"
+msgstr "Uma"
msgid "Two"
-msgstr "Dois"
+msgstr "Duas"
+
+msgid "Plural"
+msgstr "Plurais"
msgid "Other"
-msgstr "Outro"
+msgstr "Outra"
msgid "&Bookmarks"
msgstr "&Marcadores"
@@ -771,6 +913,12 @@ msgstr "Ocultar barra lateral"
msgid "Show Sidebar"
msgstr "Exibir barra lateral"
+msgid "Hide Status Bar"
+msgstr "Ocultar Barra de Status"
+
+msgid "Show Status Bar"
+msgstr "Mostrar Barra de Status"
+
msgid "Source text"
msgstr "Texto fonte"
@@ -780,6 +928,10 @@ msgstr "Tradução"
msgid "ID"
msgstr "ID"
+#, c-format
+msgid "Source text — %s"
+msgstr "Texto fonte - %s"
+
msgid "unknown language"
msgstr "idioma desconhecido"
@@ -790,73 +942,138 @@ msgstr "Tradução — %s"
msgid "Error:"
msgstr "Erro:"
-msgid "Project info"
-msgstr "Informações do Projeto"
+msgid "Source file"
+msgstr "Ficheiro fonte"
-msgid "Project name and version:"
-msgstr "Nome do projeto e versão:"
+msgid "Source file occurrence:"
+msgstr "Ocorrência no ficheiro fonte:"
-msgid "Language:"
-msgstr "Idioma:"
+msgid "Open in Editor"
+msgstr "Abrir no editor"
-msgid "Team:"
-msgstr "Time de tradutores:"
+msgid "Open in editor"
+msgstr "Abrir no editor"
-msgid "Team's email address:"
-msgstr "Endereço de email do time de tradutores:"
+msgid "No references for the selected item."
+msgstr "Não existem referências para o item selecionado."
-msgid "Charset:"
-msgstr "Tabela de caracteres:"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "Erro ao abrir o ficheiro %s!"
-msgid "Source"
-msgstr "Fonte"
+msgid "Find"
+msgstr "Localizar"
-msgid "Notes"
-msgstr "Notas"
+msgid "Replace"
+msgstr "Substituir"
-msgid "Automatic translation"
-msgstr "Tradução automática"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr "Opções"
-msgid "Fuzzy translation"
-msgstr "Tradução incerta"
+msgid "Ignore case"
+msgstr "Ignorar maiúsculas/minúsculas"
-msgid "Notes for translators:"
-msgstr "Notas para tradutores:"
+msgid "Wrap around"
+msgstr "Moldar texto"
-msgid "Comment:"
-msgstr "Comentário"
+msgid "Whole words only"
+msgstr "Só palavras inteiras"
-msgid "Source file"
-msgstr "Arquivo fonte"
+msgid "Find in source texts"
+msgstr "Localizar nos textos fonte"
-msgid "Source file occurrence:"
-msgstr "Ocorrência do arquivo fonte:"
+msgid "Find in translations"
+msgstr "Localizar na tradução"
-msgid "Open in Editor"
-msgstr "Abrir no editor"
+msgid "Find in comments"
+msgstr "Localizar nos comentários"
-msgid "Open in editor"
-msgstr "Abrir no editor"
+msgid "Close"
+msgstr "Fechar"
-#, c-format
-msgid "Error opening file %s!"
-msgstr "Erro ao abrir arquivo %s!"
+msgid "Replace All"
+msgstr "Substituir tudo"
+
+msgid "Replace all"
+msgstr "Substituir tudo"
+
+msgid "< &Previous"
+msgstr "< An&terior"
+
+msgid "&Next >"
+msgstr "Segui&nte >"
+
+msgid "String to find"
+msgstr "Texto a procurar"
+
+msgid "Replacement string"
+msgstr "Texto de substituição"
#, c-format
msgid "Cannot execute program: %s"
-msgstr "Não foi possível executar programa: %s"
+msgstr "Não foi possível executar o programa: %s"
msgid "Language Code or Name (e.g. en_GB)"
-msgstr "Código ou Nome do Idioma (ex.: pt_BR)"
+msgstr "Código ou nome do idioma (ex: pt)"
msgid "Translation Language"
-msgstr "Idioma da Tradução"
+msgstr "Idioma da tradução"
msgid "Language of the translation:"
msgstr "Idioma da tradução:"
+msgid "Poedit Registration"
+msgstr "Registo Poedit"
+
+msgid "Name"
+msgstr "Nome"
+
+msgid "License Key"
+msgstr "Chave da licença"
+
+msgid "The registration key can be used on multiple computers you use personally or for multiple\naccounts on a single computer."
+msgstr "A chave de registo pode ser utilizada em todos os computadores que quiser.\nTambém pode utilizar esta chave para os vários utilizadores de um computador."
+
+msgid "Buy Online..."
+msgstr "Comprar na web..."
+
+msgid "Buy online..."
+msgstr "Comprar na web..."
+
+msgid "Cancel"
+msgstr "Cancelar"
+
+msgid "Register"
+msgstr "Registar"
+
+msgid "Your copy is upgraded to Poedit Pro."
+msgstr "A sua cópia foi atualizada para a versão Pro."
+
+msgid "You’re awesome! Thank you so much\nfor purchasing Poedit Pro."
+msgstr "Você é o máximo! Muito obrigado por\nter comprado a versão Pro."
+
+msgid "View License Key"
+msgstr "Ver chave da licença"
+
+msgid "View license key"
+msgstr "Ver chave da licença"
+
+#, c-format
+msgid "Licensed to: %s"
+msgstr "Licenciado a: %s"
+
+msgid "Purchasing the full version will unlock more features\nin this and future versions of Poedit, including:\n\n"
+msgstr "Se comprar a versão Pro, desbloqueia algumas funções\nextra para esta versão e posteriores do Poedit, e que são:\n\n"
+
+msgid "Upgrade..."
+msgstr "Atualizar..."
+
+msgid "No, thanks"
+msgstr "Não obrigado"
+
msgid "Poedit - Catalogs manager"
-msgstr "Poedit - Gerenciador de catálogos"
+msgstr "Poedit - Gestor de catálogos"
msgid "Catalog"
msgstr "Catálogo"
@@ -865,38 +1082,34 @@ msgid "Total"
msgstr "Total"
msgid "Untrans"
-msgstr "Sem Tradução"
+msgstr "Por traduzir"
msgid "Fuzzy"
-msgstr "Incerto"
+msgstr "Imprecisas"
msgid "Bad Tokens"
-msgstr "Incorretas"
+msgstr "Símbolos inválidos"
msgid "Last modified"
msgstr "Última modificação"
msgid "Select directory"
-msgstr "Selecionar pasta"
+msgstr "Escolha o diretório"
msgid "Directories:"
-msgstr "Pastas:"
+msgstr "Diretórios:"
msgid "<unnamed>"
msgstr "<sem nome>"
msgid "Do you want to delete the project?"
-msgstr "Deseja realmente excluir esse projeto?"
+msgstr "Pretende eliminar o projeto?"
msgid "Confirmation"
msgstr "Confirmação"
-msgid ""
-"Do you really want to do mass update of\n"
-"all catalogs in this project?"
-msgstr ""
-"Deseja realmente realizar uma atualização em\n"
-"massa de todos os catálogos desse projeto?"
+msgid "Do you really want to do mass update of\nall catalogs in this project?"
+msgstr "Tem a certeza que quer mesmo atualizar\ntodos os catálogos deste projeto?"
msgid "Information about the translator"
msgstr "Informações sobre o tradutor"
@@ -913,12 +1126,8 @@ msgstr "E-mail:"
msgid "your_email at example.com"
msgstr "seu_email at exemplo.com"
-msgid ""
-"Your name and email address are only used to set the Last-Translator header "
-"of GNU gettext files."
-msgstr ""
-"Seu nome e endereço de e-mail são usados apenas para definir o cabeçalho do "
-"último tradutor de arquivos do GNU gettext."
+msgid "Your name and email address are only used to set the Last-Translator header of GNU gettext files."
+msgstr "Seu nome e endereço de e-mail são usados apenas para definir o cabeçalho do último tradutor de arquivos do GNU gettext."
msgid "Editing"
msgstr "Editando"
@@ -927,22 +1136,16 @@ msgid "Automatically compile MO file when saving"
msgstr "Compilar atuomaticamente o arquivo MO ao salvar"
msgid "Show summary after catalog update"
-msgstr "Exibir relatório após atualização do catálogo"
+msgstr "Mostar resumo após atualizar o catálogo"
msgid "Check spelling"
-msgstr "Verificar ortografia"
+msgstr "Verificação ortográfica"
msgid "Always change focus to text input field"
-msgstr "Mudar o foco para o campo de entrada de texto"
+msgstr "Focar sempre o campo da entrada de texto"
-msgid ""
-"Never let the list of strings take focus. If enabled, you must use Ctrl-"
-"arrows for keyboard navigation but you can also type text immediately, "
-"without having to press Tab to change focus."
-msgstr ""
-"Não permitir foco na lista de linhas em tradução. Se habilitado, use Ctrl-"
-"setas para navegar pelo teclado, digitando o texto sem pressionar Tab para "
-"mudar o foco."
+msgid "Never let the list of strings take focus. If enabled, you must use Ctrl-arrows for keyboard navigation but you can also type text immediately, without having to press Tab to change focus."
+msgstr "Nunca deixar que a lista de entradas obtenha o foco. Se ativa, tem que usar Control+Teclas do cursor para mudar de linhas com o teclado mas também pode escrever o texto imediatamente, sem ter que premir a tecla Tab para mudar de campo."
msgid "Appearance"
msgstr "Aparência"
@@ -954,7 +1157,7 @@ msgid "Use custom text fields font:"
msgstr "Fonte personalizada dos campos de texto:"
msgid "Change UI language"
-msgstr "Selecionar idioma do Poedit"
+msgstr "Mudar idioma da aplicação"
#. TRANSLATORS: This is a note appended to "Check spelling" when running on older Windows versions
msgid "(requires Windows 8 or newer)"
@@ -964,10 +1167,10 @@ msgid "General"
msgstr "Geral"
msgid "Use translation memory"
-msgstr "Usar memória de traduções"
+msgstr "Utilizar memória de traduções"
msgid "Learn From Files..."
-msgstr "Aprender dos Arquivos..."
+msgstr "Saber mais sobre ficheiros..."
msgid "Learn from files..."
msgstr "Aprender dos arquivos..."
@@ -977,33 +1180,47 @@ msgid "Reset"
msgstr "Redefinir"
msgid "Consult TM when updating from sources"
-msgstr "Consultar MT ao atualizar das fontes"
+msgstr "Consultar memória de traduções ao atualizar das fontes"
-msgid ""
-"If enabled, Poedit will try to fill in new entries using your previous\n"
-"translations stored in the translation memory. If the TM is\n"
-"near-empty, it will not be very effective. The more translations\n"
-"you edit and the larger the TM grows, the better it gets."
-msgstr ""
-"Se ativado, o Poedit irá tentar preencher as novas entradas usando\n"
-"as traduções anteriores armazenadas na memória de tradução.\n"
-" Se a MT estiver quase vazia, ela não será muito útil. Quanto mais\n"
-"traduções você editar, maior e melhor a MT irá ficar."
+msgid "If enabled, Poedit will try to fill in new entries using your previous\ntranslations stored in the translation memory. If the TM is\nnear-empty, it will not be very effective. The more translations\nyou edit and the larger the TM grows, the better it gets."
+msgstr "Se ativa, o Poedit tentará preencher as novas entradas utilizando as\ntraduções armazenadas na memória de traduções. Se a memória\nestiver praticamente vazia, o processo não será eficiente. Quantas mais\ntraduções editar e quanto maior for a memória, melhor correrá o processo."
+
+msgid "Use suggestions from online collaborative TM"
+msgstr "Usar sugestões da Memória de Tradução colaborativa online"
+
+msgid "Poedit uses a large online translation memory that includes both contributed human translations and state-of-the-art machine translations."
+msgstr "O Poedit usa uma grande memória de tradução online que inclui traduções humanas e traduções feitas por máquinas."
+
+msgid "Contribute my translations to the online TM"
+msgstr "Contribuir com minhas traduções para a MT online"
+
+msgid "Keep my translations private"
+msgstr "Manter minhas traduções privadas"
+
+msgid "Ask me for each file individually"
+msgstr "Pergunte para cada arquivo individualmente"
+
+msgid "Terms of Service"
+msgstr "Termos de serviço"
+
+#. TRANSLATORS: This is part of footer that says in full "powered by MyMemory", with the MyMemory part being a logo
+msgid "powered by"
+msgstr "mantido por"
msgid "Stored translations:"
-msgstr "Traduções armazenadas:"
+msgstr "Traduções guardadas:"
msgid "Database size on disk:"
-msgstr "Tamanho do banco de dados:"
+msgstr "Tamanho da base de dados no disco:"
msgid "Select translation files to import"
-msgstr "Selecione os arquivos de tradução para importar"
+msgstr "Selecione os ficheiros de tradução a importar"
msgid "Translation Memory"
-msgstr "Memória de Traduções"
+msgstr "Memória de traduções"
msgid "Importing translations..."
-msgstr "Importando traduções..."
+msgstr "Importação de traduções..."
msgid "Finalizing..."
msgstr "Finalizando..."
@@ -1014,15 +1231,8 @@ msgstr "Redefinir memória de tradução"
msgid "Are you sure you want to reset the translation memory?"
msgstr "Você tem certeza de que deseja redefinir a memória de tradução?"
-msgid ""
-"Resetting the translation memory will irrevocably delete all stored "
-"translations from it. You can’t undo this operation."
-msgstr ""
-"Ao redefinir a memória de tradução, todas as traduções armazenadas serão "
-"removidas. Esta operação não pode ser desfeita."
-
-msgid "Cancel"
-msgstr "Cancelar"
+msgid "Resetting the translation memory will irrevocably delete all stored translations from it. You can’t undo this operation."
+msgstr "Ao redefinir a memória de tradução, todas as traduções armazenadas serão removidas. Esta operação não pode ser desfeita."
#. TRANSLATORS: This is abbreviation of "Translation Memory" used in Preferences on OS X.
#. Long text looks weird there, too short (like TM) too, but less so. "General" is about ideal
@@ -1030,12 +1240,8 @@ msgstr "Cancelar"
msgid "TM"
msgstr "TM"
-msgid ""
-"Source code extractors are used to find translatable strings in the source "
-"code files and extract them so that they can be translated."
-msgstr ""
-"Extractores de código fonte são usados para encontrar strings de tradução "
-"nos arquivos fonte e extraí-los para que eles possam ser traduzidos."
+msgid "Source code extractors are used to find translatable strings in the source code files and extract them so that they can be translated."
+msgstr "Extractores de código fonte são usados para encontrar strings de tradução nos arquivos fonte e extraí-los para que eles possam ser traduzidos."
msgid "New"
msgstr "Novo"
@@ -1043,31 +1249,33 @@ msgstr "Novo"
msgid "Edit"
msgstr "Editar"
+msgid "Delete extractor"
+msgstr "Eliminar extrator"
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr "Tem a certeza de que deseja eliminar o extrator \"%s\"?"
+
msgid "Extractors"
msgstr "Extratores"
+msgid "Accounts"
+msgstr "Contas"
+
msgid "Automatically check for updates"
msgstr "Verificar atualizações automaticamente"
msgid "Include beta versions"
-msgstr "Incluir versões Beta"
+msgstr "Incluir versões beta"
-msgid ""
-"Beta versions contain the latest new features and improvements, but may be a "
-"bit less stable."
-msgstr ""
-"Versões beta contém as últimas novidades e melhorias, mas podem ser menos "
-"estáveis."
+msgid "Beta versions contain the latest new features and improvements, but may be a bit less stable."
+msgstr "Versões beta contém as últimas novidades e melhorias, mas podem ser menos estáveis."
msgid "Updates"
msgstr "Atualizações"
-msgid ""
-"These settings affect internal formatting of PO files. Adjust them if you "
-"have specific requirements e.g. because of version control."
-msgstr ""
-"Essas configurações afetam a formatação interna de arquivos PO. Ajuste-os se "
-"você tiver requisitos específicos, por exemplo, devido ao controle de versão."
+msgid "These settings affect internal formatting of PO files. Adjust them if you have specific requirements e.g. because of version control."
+msgstr "Essas configurações afetam a formatação interna de arquivos PO. Ajuste-os se você tiver requisitos específicos, por exemplo, devido ao controle de versão."
msgid "Line endings:"
msgstr "Terminações de linha:"
@@ -1088,6 +1296,30 @@ msgstr "Preservar a formatação de arquivos existentes"
msgid "Advanced"
msgstr "Avançado"
+msgid "Add Files..."
+msgstr "Adicionar Arquivos..."
+
+msgid "Add files..."
+msgstr "Adicionar arquivos..."
+
+msgid "Add Folders..."
+msgstr "Adicionar Pastas..."
+
+msgid "Add folders..."
+msgstr "Adicionar pastas..."
+
+msgid "Add Wildcard..."
+msgstr "Adicionar Caractere Especial..."
+
+msgid "Add wildcard..."
+msgstr "Adicionar caractere especial..."
+
+msgid "<big>Drag and Drop Folders Here</big>\n\nor use the + button"
+msgstr "<big>Arraste e solte pastas aqui</big> \n\nou use o botão +"
+
+msgid "<big>Drag and drop folders here</big>\n\nor use the + button"
+msgstr "<big>Arraste e solte pastas aqui</big> \n\nou use o botão +"
+
msgid "Additional keywords"
msgstr "Palavras-chave adicionais"
@@ -1098,7 +1330,7 @@ msgid "Excluded paths"
msgstr "Caminhos excluídos"
msgid "Name of the project the translation is for"
-msgstr "Nome do projeto para o qual é a tradução"
+msgstr "Nome do projeto de tradução"
msgid "e.g. nplurals=2; plural=(n > 1);"
msgstr "ex.: nplurals=2; plural=(n > 1);"
@@ -1107,61 +1339,28 @@ msgid "UTF-8 (recommended)"
msgstr "UTF-8 (recomendado)"
msgid "Please save the file first. This section cannot be edited until then."
-msgstr "Salve o arquivo primeiro. Esta seção não pode ser editada até lá."
+msgstr "Por favor guarde o ficheiro. Esta secção não pode ser editada até que o faça."
+
+msgid "Comment:"
+msgstr "Comentário:"
msgid "OK"
-msgstr "OK"
+msgstr "Aceitar"
msgid "C&lear"
-msgstr "&Limpar"
+msgstr "&Apagar"
msgid "Clear the comment"
-msgstr "Limpar o comentário"
-
-msgid "Find..."
-msgstr "Localizar..."
-
-msgid "String to find:"
-msgstr "Procurar por:"
-
-msgid "Case sensitive"
-msgstr "Diferenciar maiúsculas e minúsculas"
-
-msgid "Start from the first item"
-msgstr "Localizar desde o início"
-
-msgid "Whole words only"
-msgstr "Somente palavras inteiras"
-
-msgid "Find in original strings"
-msgstr "Pesquisar linhas não-traduzidas"
-
-msgid "Find in translations"
-msgstr "Localizar nas traduções"
-
-msgid "Find in comments"
-msgstr "Pesquisar comentários"
-
-msgid "Find in automatic comments"
-msgstr "Pesquisar em comentários automáticos"
-
-msgid "Close"
-msgstr "Fechar"
-
-msgid "< &Previous"
-msgstr "< &Anterior"
-
-msgid "&Next >"
-msgstr "&Próximo >"
+msgstr "Apagar comentário"
msgid "Create new translations project"
-msgstr "Criar novo projeto de tradução"
+msgstr "Criar novo projeto de traduções"
msgid "Edit the project"
-msgstr "Editar o projeto"
+msgstr "Editar projeto"
msgid "Delete the project"
-msgstr "Excluir o projeto"
+msgstr "Eliminar projeto"
msgid "Update all"
msgstr "Atualizar tudo"
@@ -1176,31 +1375,34 @@ msgid "Project name:"
msgstr "Nome do projeto:"
msgid "Browse"
-msgstr "Procurar"
+msgstr "Explorar"
msgid "Add directory to the list"
-msgstr "Adicionar pasta à lista"
+msgstr "Adicionar diretório à lista"
msgid "&Preferences..."
msgstr "&Preferências..."
msgid "&Close"
-msgstr "&Fechar"
+msgstr "Fe&char"
msgid "E&xit"
msgstr "&Sair"
-msgid "Quit"
-msgstr "Fechar"
-
msgid "&New..."
msgstr "&Novo..."
msgid "New from &POT/PO file..."
-msgstr "Atualizar pelo arquivo &POT/PO..."
+msgstr "Novo de ficheiro &POT/PO..."
msgid "New From &POT/PO File..."
-msgstr "Atualizar pelo Arquivo &POT/PO..."
+msgstr "Novo de ficheiro &POT/PO..."
+
+msgid "New WordPress translation..."
+msgstr "Nova tradução Wordpress..."
+
+msgid "New WordPress Translation..."
+msgstr "Nova tradução Wordpress..."
msgid "&Open..."
msgstr "&Abrir..."
@@ -1208,95 +1410,107 @@ msgstr "&Abrir..."
msgid "Open Recent"
msgstr "Abrir recentes"
+msgid "Open from Crowdin..."
+msgstr "Abrir do Crowdin..."
+
+msgid "Open From Crowdin..."
+msgstr "Abrir do Crowdin..."
+
msgid "&Save"
-msgstr "&Salvar"
+msgstr "&Guardar"
msgid "Save &as..."
-msgstr "Salvar &como..."
+msgstr "Guar&dar como..."
msgid "Save &As..."
-msgstr "Salvar &Como..."
+msgstr "Guar&dar como..."
msgid "Compile to MO..."
msgstr "Compilar para MO..."
msgid "E&xport as HTML..."
-msgstr "E&xportar como HTML..."
+msgstr "E&xportar como HTML"
msgid "Check for updates..."
-msgstr "Verificar atualizações..."
+msgstr "Procurar atualizações..."
+
+msgid "&License..."
+msgstr "&Licença..."
msgid "Catalogs &manager"
-msgstr "&Gerenciador de catálogos"
+msgstr "Gest&or de catálogos"
msgid "Catalogs &Manager"
-msgstr "&Gerenciador de Catálogos"
+msgstr "Gest&or de catálogos"
msgid "Translation is &fuzzy"
-msgstr "Tradução &incerta"
+msgstr "A &tradução é imprecisa"
msgid "Translation Is &Fuzzy"
-msgstr "Tradução &Incerta"
+msgstr "A tradução é i&mprecisa"
msgid "Edit &comment"
-msgstr "&Editar comentário"
+msgstr "Editar &comentário"
msgid "Edit &Comment"
-msgstr "&Editar Comentário"
+msgstr "Editar &comentário"
msgid "Suggestions"
msgstr "Sugestões"
msgid "&Show references"
-msgstr "&Mostrar referências"
+msgstr "Mo&strar referências"
msgid "&Show References"
-msgstr "&Mostrar Referências"
+msgstr "Mo&strar referências"
msgid "&Find..."
msgstr "&Localizar..."
+msgid "Replace..."
+msgstr "Substituir..."
+
msgid "Find next"
-msgstr "Localizar próximo"
+msgstr "Localizar seguinte"
msgid "Find previous"
msgstr "Localizar anterior"
-msgid "Find"
-msgstr "Localizar"
+msgid "Find and Replace..."
+msgstr "Localizar e substituir..."
msgid "Find Next"
-msgstr "Localizar Próximo"
+msgstr "Localizar seguinte"
msgid "Find Previous"
-msgstr "Localizar Anterior"
+msgstr "Localizar anterior"
msgid "&Preferences"
msgstr "&Preferências"
msgid "Display entry &IDs"
-msgstr "Exibir &ID da entrada"
+msgstr "Mostrar &ID das entradas"
msgid "Display Entry &IDs"
-msgstr "Exibir &ID da Entrada"
+msgstr "Mostrar &ID das entradas"
msgid "Sort by &file order"
-msgstr "Classificar por ordem de &arquivos"
+msgstr "Ordenar pela ordem do &ficheiro"
msgid "Sort by &File Order"
-msgstr "Classificar por Ordem de &Arquivos"
+msgstr "Ordenar pela ordem do &ficheiro"
msgid "Sort by &source"
-msgstr "Classificar por &fonte"
+msgstr "&Ordenar por fonte"
msgid "Sort by &Source"
-msgstr "Classificar por &Fonte"
+msgstr "&Ordenar por fonte"
msgid "Sort by &translation"
-msgstr "Classificar por &tradução"
+msgstr "Ordenar por &tradução"
msgid "Sort by &Translation"
-msgstr "Classificar por &Tradução"
+msgstr "Ordenar por &tradução"
msgid "&Group by context"
msgstr "&Grupo pelo contexto"
@@ -1304,17 +1518,26 @@ msgstr "&Grupo pelo contexto"
msgid "&Group By Context"
msgstr "&Grupo Pelo Contexto"
+msgid "Entries with errors first"
+msgstr "Entradas com erros primeiro"
+
+msgid "Entries with Errors First"
+msgstr "Entradas com erros primeiro"
+
msgid "&Untranslated entries first"
-msgstr "Entradas &não traduzidas primeiro"
+msgstr "Não trad&uzidas primeiro"
msgid "&Untranslated Entries First"
-msgstr "Entradas &Não Traduzidas Primeiro"
+msgstr "Não trad&uzidas primeiro"
msgid "Show sidebar"
msgstr "Exibir barra lateral"
+msgid "Show status bar"
+msgstr "Mostrar barra de status"
+
msgid "C&atalog"
-msgstr "Ca&tálogo"
+msgstr "C&atálogo"
msgid "&Update from sources"
msgstr "&Atualizar do código fonte"
@@ -1323,10 +1546,13 @@ msgid "&Update from Sources"
msgstr "&Atualizar do Código Fonte"
msgid "Update from &POT file..."
-msgstr "Atualizar pelo arquivo &POT..."
+msgstr "Atualizar com base em ficheiro &POT..."
msgid "Update from &POT File..."
-msgstr "Atualizar pelo Arquivo &POT..."
+msgstr "Atualizar com base em ficheiro &POT..."
+
+msgid "Sync with Crowdin"
+msgstr "Sincronizar com o Crowdin"
msgid "Fill missing translations from &TM..."
msgstr "Preencher traduções ausentes da M&T..."
@@ -1335,25 +1561,28 @@ msgid "Fill Missing Translations from &TM..."
msgstr "Preencher traduções ausentes da M&T..."
msgid "&Purge deleted translations"
-msgstr "&Apagar traduções removidas"
+msgstr "&Remover traduções eliminadas"
msgid "&Purge Deleted Translations"
-msgstr "&Apagar Traduções Removidas"
+msgstr "&Remover traduções eliminadas"
msgid "&Validate translations"
msgstr "&Validar traduções"
msgid "&Validate Translations"
-msgstr "&Validar Traduções"
+msgstr "&Validar traduções"
+
+msgid "&Statistics"
+msgstr "E&statísticas"
msgid "&Properties..."
msgstr "&Propriedades..."
msgid "&Done and next"
-msgstr "&Feito e próximo"
+msgstr "&Pronta e avançar"
msgid "&Done and Next"
-msgstr "&Feito e Próximo"
+msgstr "&Pronta e avançar"
msgid "&Previous translation"
msgstr "&Tradução anterior"
@@ -1368,22 +1597,22 @@ msgid "&Next Translation"
msgstr "Tradução &Seguinte"
msgid "P&revious unfinished"
-msgstr "Incompleto ante&rior"
+msgstr "An&terior não terminada"
msgid "P&revious Unfinished"
-msgstr "Incompleto Ante&rior"
+msgstr "An&terior não terminada"
msgid "Ne&xt unfinished"
-msgstr "Pró&ximo incompleto"
+msgstr "Seguinte &não terminada"
msgid "Ne&xt Unfinished"
-msgstr "Pró&ximo Incompleto"
+msgstr "Seguinte &não terminada"
msgid "&Online help"
-msgstr "Ajuda &online"
+msgstr "Ajuda na &web"
msgid "&Online Help"
-msgstr "Ajuda &Online"
+msgstr "Ajuda na &web"
msgid "&GNU gettext manual"
msgstr "Manual &GNU gettext"
@@ -1391,6 +1620,12 @@ msgstr "Manual &GNU gettext"
msgid "&GNU gettext Manual"
msgstr "Manual &GNU gettext"
+msgid "Email &support..."
+msgstr "&Suporte por correio eletrónico..."
+
+msgid "Email &Support..."
+msgstr "&Suporte por correio eletrónico..."
+
msgid "&About Poedit"
msgstr "&Sobre o Poedit"
@@ -1401,120 +1636,96 @@ msgid "Extractor setup"
msgstr "Instalador do extrator"
msgid "List of extensions separated by semicolons (e.g. *.cpp;*.h):"
-msgstr "Lista das extensões separadas por ponto e vírgula (ex: *.cpp;*.h):"
+msgstr "Lista de extensões separadas por ponto e vírgula (ex. *.cpp;*.h):"
msgid "Invocation:"
-msgstr "Comandos:"
+msgstr "Invocação:"
msgid "Command to extract translations:"
msgstr "Comando para extrair as traduções:"
-msgid ""
-"This is the command used to launch the extractor.\n"
-"%o expands to the name of output file, %K to list\n"
-"of keywords, %F to list of input files,\n"
-"%C to charset flag (see below)."
-msgstr ""
-"Esse é o comando usado para carregar o extrator.\n"
-"%o expande o nome do arquivo de saída, %K para a lista\n"
-"de palavras-chave, %F para a lista de arquivos de entrada,\n"
-"%C para o sinalizador de conjunto de caracteres (veja abaixo)."
+msgid "This is the command used to launch the extractor.\n%o expands to the name of output file, %K to list\nof keywords, %F to list of input files,\n%C to charset flag (see below)."
+msgstr "Esse é o comando usado para carregar o extrator.\n%o expande o nome do arquivo de saída, %K para a lista\nde palavras-chave, %F para a lista de arquivos de entrada,\n%C para o sinalizador de conjunto de caracteres (veja abaixo)."
msgid "An item in keywords list:"
-msgstr "Um item da lista de palavras-chave:"
+msgstr "Um item na lista de palavras-chave:"
-msgid ""
-"This will be attached to the command line once\n"
-"for each keyword. %k expands to the keyword."
-msgstr ""
-"Esse trecho será anexado à linha de comando uma \n"
-"vez para cada palavra-chave. %k será expandido\n"
-"para a palavra-chave."
+msgid "This will be attached to the command line once\nfor each keyword. %k expands to the keyword."
+msgstr "Isto será anexado à linha de comandos uma vez para cada\npalavra-chave. %k será substituído pela palavra-chave."
msgid "An item in input files list:"
-msgstr "Um item da lista de arquivos de entrada:"
+msgstr "Um item na lista de ficheiros de entrada:"
#, c-format
-msgid ""
-"This will be attached to the command line once\n"
-"for each input file. %f expands to the filename."
-msgstr ""
-"Esse trecho será anexado à linha de comando uma \n"
-"vez para cada arquivo de entrada. %f será expandido\n"
-"para o nome do arquivo."
+msgid "This will be attached to the command line once\nfor each input file. %f expands to the filename."
+msgstr "Isto será anexado à linha de comandos uma vez para cada\nficheiro de entrada. %f será substituído pelo nome do ficheiro."
msgid "Source code charset:"
-msgstr "Conjunto de caracteres do código fonte:"
+msgstr "Codificação do código fonte:"
#, c-format
-msgid ""
-"This will be attached to the command line\n"
-"only if source codecharset was given. %c expands to charset value."
-msgstr ""
-"Esse trecho será anexado à linha de comando apenas \n"
-"se o conjunto de caracteres do código for fornecido.\n"
-"%c expande a marca de conjunto de caracteres."
+msgid "This will be attached to the command line\nonly if source codecharset was given. %c expands to charset value."
+msgstr "Isto será anexado à linha de comandos se a codificação\ndo código fonte tiver sido fornecida. %c será substituído pela codificação."
msgid "Catalog properties"
msgstr "Propriedades do catálogo"
+msgid "Project name and version:"
+msgstr "Nome e versão do projeto:"
+
msgid "Plural Forms:"
-msgstr "Formas no plural:"
+msgstr "Formas plurais:"
msgid "Use default rules for this language"
-msgstr "Usar regras padrão para este idioma"
+msgstr "Utilizar regras pré-definidas para este idioma"
msgid "Use custom expression"
-msgstr "Usar expressão personalizada..."
+msgstr "Utilizar expressão personalizada"
msgid "Learn about plural forms"
-msgstr "Saiba mais sobre formas no plural"
+msgstr "Saber mais sobre formas plurais"
+
+msgid "Charset:"
+msgstr "Codificação:"
+
+msgid "Team:"
+msgstr "Equipa:"
+
+msgid "Team's email address:"
+msgstr "Endereço eletrónico da equipa:"
msgid "Translation properties"
msgstr "Propriedades da tradução"
msgid "Extract text from source files in the following directories:"
-msgstr "Extrair texto dos arquivos de entrada nas seguintes pastas:"
+msgstr "Extrair texto dos ficheiros fonte nestes diretórios:"
msgid "Base path:"
msgstr "Caminho base:"
msgid "Sources paths"
-msgstr "Caminhos das fontes"
+msgstr "Caminho das fontes"
-msgid ""
-"Use these keywords (function names) to recognize translatable strings\n"
-"in source files:"
-msgstr ""
-"Utilize estas palavras-chave (nomes de funções) para reconhecer linhas\n"
-"traduzíveis nos arquivos fonte:"
+msgid "Use these keywords (function names) to recognize translatable strings\nin source files:"
+msgstr "Utilizar estas palavras-chave (nomes de funções) para reconhecer as entradas\npassíveis de tradução nos ficheiros fonte:"
msgid "Learn about gettext keywords"
-msgstr "Saiba mais sobre palavras-chave gettext"
+msgstr "Saber mais sobre palavras-chaves gettext"
msgid "Sources keywords"
-msgstr "Palavras-chave do código fonte"
+msgstr "Palavras-chave das fontes"
msgid "Update summary"
-msgstr "Atualizar relatório"
+msgstr "Resumo da atualização"
-msgid ""
-"These strings were found in the sources but were not in the catalog.\n"
-"Poedit will add them to the catalog now."
-msgstr ""
-"As seguintes linhas foram encontradas no código fonte mas não existem no "
-"catálogo.\n"
-"O Poedit irá agora adicioná-las ao catálogo."
+msgid "These strings were found in the sources but were not in the catalog.\nPoedit will add them to the catalog now."
+msgstr "Estas entradas foram encontradas no código fonte mas não estão\nno catálogo. Serão adicionadas ao catálogo."
msgid "New strings"
-msgstr "Linhas novas"
+msgstr "Novas entradas"
-msgid ""
-"These strings are no longer in the sources.\n"
-"Poedit will remove them from the catalog now."
-msgstr ""
-"As seguintes linhas não fazem mais parte do código fonte.\n"
-"O Poedit irá removê-las do catálogo agora."
+msgid "These strings are no longer in the sources.\nPoedit will remove them from the catalog now."
+msgstr "Estas entradas já não estão no código fonte\ne serão removidas do catálogo."
msgid "Obsolete strings"
msgstr "Linhas obsoletas"
@@ -1526,36 +1737,44 @@ msgid "Open"
msgstr "Abrir"
msgid "Save catalog"
-msgstr "Salvar catálogo"
+msgstr "Guardar catálogo"
msgid "Validate"
msgstr "Validar"
msgid "Check for errors in the translation"
-msgstr "Verificar erros na tradução"
+msgstr "Procurar erros na tradução"
+
+msgid "Statistics"
+msgstr "Estatísticas"
+
+msgid "Show translation statistics"
+msgstr "Exibir estatísticas da tradução"
msgid "Update"
msgstr "Atualizar"
msgid "Update catalog - synchronize it with sources"
-msgstr "Atualizar catálogo - sincronizar com as fontes"
+msgstr "Atualizar catálogo e sincronizar com o código fonte"
msgid "Toggled if selected string has fuzzy translation"
-msgstr "Marcar/desmarcar linha selecionada como tradução incerta"
+msgstr "Ativada se a linha selecionada tiver uma tradução imprecisa"
+
+msgid "Sidebar"
+msgstr "Barra lateral"
-msgid "Show or hide the sidebar."
-msgstr "Exibir ou ocultar a barra lateral."
+msgid "Show or hide the sidebar"
+msgstr "Mostrar ou ocultar a barra lateral"
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
msgid "Previous source text:"
msgstr "Texto de origem anterior:"
-msgid ""
-"The old source text (before it changed during an update) that the fuzzy "
-"translation corresponds to."
-msgstr ""
-"Texto de origem antigo (antes da alteração durante uma atualização) a qual a "
-"tradução aproximada se refere."
+msgid "The old source text (before it changed during an update) that the fuzzy translation corresponds to."
+msgstr "Texto de origem antigo (antes da alteração durante uma atualização) a qual a tradução aproximada se refere."
+
+msgid "Notes for translators:"
+msgstr "Notas para tradutores:"
msgid "Add comment"
msgstr "Adicionar comentário"
@@ -1563,8 +1782,20 @@ msgstr "Adicionar comentário"
msgid "Add Comment"
msgstr "Adicionar Comentário"
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(from your TM)"
+msgstr "(da sua MT)"
+
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(machine translation)"
+msgstr "(tradução automatizada)"
+
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(human translation)"
+msgstr "(tradução humana)"
+
msgid "Translation suggestions:"
-msgstr "Sugestões de tradução: "
+msgstr "Sugestões de tradução:"
#. TRANSLATORS: This is shown when no translation suggestions can be found in the TM (Windows).
msgid "No matches found"
@@ -1577,113 +1808,283 @@ msgstr "Nenhuma correspondência encontrada"
msgid "This string was found in Poedit’s translation memory."
msgstr "Esta sequência foi encontrada na memória de traduções do Poedit."
+msgid "This suggestion was contributed by another translator to the online TM."
+msgstr "Esta sugestão foi contribuída por outro tradutor para a MT online."
+
+msgid "This suggestion was machine-translated online."
+msgstr "Esta sugestão foi traduzida online por uma máquina."
+
+#, c-format
+msgid "%d out of %d online suggestion left."
+msgid_plural "%d out of %d online suggestions left."
+msgstr[0] "%d de %d sugestão online restante."
+msgstr[1] "%d de %d sugestões online restantes."
+
+msgid "Remove this limitation"
+msgstr "Remover esta limitação"
+
+msgid "Not showing additional online suggestions."
+msgstr "Não exibindo sugestões adicionais online."
+
+msgid "Unlock online suggestions"
+msgstr "Desbloquear sugestões online"
+
+msgid "Exceeded online TM daily limit."
+msgstr "Excedido o limite diário de TM on-line."
+
+msgid "Connect to the Internet to get additional suggestions."
+msgstr "Conecte à Internet para obter sugestões adicionais."
+
+#. TRANSLATORS: Label indicating that translations made in the current file are contributed to the online translation memory. Related to the "Contribute my translations to the online TM" string.
+msgid "Contributing"
+msgstr "Contribuir"
+
+msgid "Your translations are contributed to the online translation memory as you make them. Thanks for making the suggestions better!"
+msgstr "Suas traduções são contribuídas para a memória de tradução on-line. Obrigado por melhorar as sugestões!"
+
+#. TRANSLATORS: Label indicating that the current file
+msgid "Private"
+msgstr "Privado"
+
+msgid "Translations from this file are not shared with the online translation memory."
+msgstr "As traduções deste arquivo não serão compartilhadas com a memória de tradução na web."
+
+msgid "Privacy settings"
+msgstr "Configurações de privacidade"
+
+#, c-format
+msgid "While editing the file “%s”:"
+msgstr "Ao editar o arquivo \"%s\":"
+
+msgid "Items"
+msgstr "Itens"
+
+msgid "Words"
+msgstr "Palavras"
+
+msgid "Translated"
+msgstr "Traduzido"
+
+msgid "Needs review (fuzzy)"
+msgstr "Por rever (imprecisa)"
+
+msgid "Translations with errors"
+msgstr "Traduções com erros"
+
+msgid "Source Text"
+msgstr "Texto fonte"
+
+msgid "Strings in source language"
+msgstr "Linhas do idioma fonte"
+
+msgid "Not translated"
+msgstr "Por traduzir"
+
+msgid "Copy to clipboard"
+msgstr "Copiar para área de transferência"
+
+msgid "Copy to Clipboard"
+msgstr "Copiar para Área de Transferência"
+
#, c-format
msgid "(New: %i, obsolete: %i)"
msgstr "(Novo: %i, obsoleto: %i)"
#, c-format
msgid "Importing translations: %d"
-msgstr "Importando traduções: %d"
+msgstr "Importação de traduções: %d"
msgid "Poedit Update"
msgstr "Atualização do Poedit"
msgid "Preparing migration..."
-msgstr "Preparando migração..."
+msgstr "A preparar migração..."
#, c-format
msgid "Migration exit status: %d"
-msgstr "Status da saída de migração: %d"
+msgstr "Estado de migração: %d"
msgid "Poedit needs to convert your translation memory to a new format."
-msgstr ""
-"O Poedit precisa converter sua memória de traduções para um novo formato."
+msgstr "O Poedit precisa de converter a memória de traduções para um novo formato."
-msgid ""
-"This must be done before Poedit can start. It may take a few minutes if you "
-"have lots of translations stored, but should normally be much faster."
-msgstr ""
-"Isto deve ser feito antes de iniciar o Poedit. Pode demorar alguns minutos "
-"se você possui muitas traduções armazenadas, mas geralmente deve ser mais "
-"rápido."
+msgid "This must be done before Poedit can start. It may take a few minutes if you have lots of translations stored, but should normally be much faster."
+msgstr "Isto deve ser feito antes de iniciar o Poedit. Pode levar alguns minutos, caso existam muitas traduções guardadas, mas também pode ser mais rápido."
msgid "Proceed"
-msgstr "Prosseguir"
+msgstr "Continuar"
msgid "Translation memory migration failed."
-msgstr "Falha na migração da memória de traduções."
+msgstr "Falha ao migrar a memória de traduções."
#, c-format
-msgid ""
-"Your translation memory data couldn't be migrated. The error was:\n"
-"\n"
-"%s\n"
-"Please email help at poedit.net and we’ll get it fixed."
-msgstr ""
-"Os dados da memória de tradução não puderam ser migrados. O erro foi:\n"
-"\n"
-"%s\n"
-"Envie um e-mail para help at poedit.net que iremos ajudar a corrigir."
+msgid "Your translation memory data couldn't be migrated. The error was:\n\n%s\nPlease email help at poedit.net and we’ll get it fixed."
+msgstr "Os dados da memória de traduções não foram migrados. O erro foi:\n\n%s\nEnvie uma mensagem para help at poedit.net e descreva-nos o erro."
msgid "Cannot create temporary directory."
-msgstr "Não foi possível criar pasta temporária."
+msgstr "Não foi possível criar o diretório temporário."
+
+msgid "Check theme or plugin compatibility"
+msgstr "Verificar compatibilidade do tema ou plugin"
msgid "Welcome to Poedit"
msgstr "Bem-vindo ao Poedit"
+msgid "Upgrade to Pro"
+msgstr "Atualizar para Pro"
+
+msgid "Upgrade to Poedit Pro to get additional features and support Poedit's development."
+msgstr "Atualize para a versão Pro de modo a obter mais funcionalidades e ajudar no desenvolvimento."
+
msgid "Edit a translation"
-msgstr "Editar uma tradução"
+msgstr "Editar tradução"
msgid "Open an existing PO file and edit the translation."
-msgstr "Abrir arquivo PO existente e editar tradução."
+msgstr "Abrir um ficheiro PO e editar a tradução."
-msgid "Create new translation"
-msgstr "Criar nova tradução"
+msgid "Take an existing PO file or POT template and create a new translation from it."
+msgstr "Criar uma nova tradução e obter as linhas a traduzir a partir de um ficheiro PO ou POT."
-msgid ""
-"Take an existing PO file or POT template and create a new translation from "
-"it."
-msgstr ""
-"Criar uma nova tradução a partir de um arquivo PO existente ou modelo POT."
+msgid "Translate WordPress theme or plugin"
+msgstr "Traduzir plugin ou tema Wordpress"
+
+#. TRANSLATORS: Please don't use any form of "automatically" in the translation, it would mislead people.
+msgid "Create a new translation. Poedit will set everything up; you can focus on translating."
+msgstr "Criar uma nova tradução. O Poedit iá configurar o ficheiro e você apenas terá que se preocupar em o traduzir."
+
+msgid "Collaborate on a translation with Crowdin"
+msgstr "Participar num projeto de tradução do Crowdin"
+
+msgid "Download a file from Crowdin project, translate and sync your changes back."
+msgstr "Descarregue um ficheiro do Crowdin, traduza-o e sincronize as suas alterações."
+
+msgid "What is Crowdin?"
+msgstr "O que é o Crowdin?"
msgid "There are no translations. That’s unusual."
-msgstr "Não há traduções. Isso é incomum."
+msgstr "Não existem traduções. Isto é estranho."
-msgid ""
-"Translatable entries aren't added manually in the Gettext system, but are "
-"automatically extracted\n"
-"from source code. This way, they stay up to date and accurate.\n"
-"Translators typically use PO template files (POTs) prepared for them by the "
-"developer."
-msgstr ""
-"Entradas traduzíveis não são adicionadas manualmente no sistema Gettext, mas "
-"são automaticamente\n"
-"extraídas a partir do código fonte. Desta maneira, elas se mantem "
-"atualizadas e precidas.\n"
-"Tradudores geralmente usam arquivos de modelo PO (POT) fornecidos pelo "
-"desenvolvedor."
+msgid "Translatable entries aren't added manually in the Gettext system, but are automatically extracted\nfrom source code. This way, they stay up to date and accurate.\nTranslators typically use PO template files (POTs) prepared for them by the developer."
+msgstr "As entradas que podem ser traduzidas não são adicionadas manualmente mas sim\nextraidas do código fonte automaticamente. Desta forma, estão sempre atualizadas.\nNormalmente, os tradutores utilizam os ficheiros POT disponibilizados pelos programadores."
msgid "(Learn more about GNU gettext)"
-msgstr "(Aprenda mais sobre o GNU gettext)"
+msgstr "(Saber mais sobre o GNU gettext)"
msgid "The simplest way to fill this catalog is to update it from a POT:"
-msgstr ""
-"A maneira mais fácil de preencher este catálogo é atualizá-lo a partir de um "
-"arquivo POT:"
+msgstr "O método mais fácil para preencher este catálogo é utilizar um ficheiro POT:"
msgid "Update from POT"
-msgstr "Atualizar pelo arquivo POT"
+msgstr "Atualizar com base em ficheiro POT..."
msgid "Take translatable strings from an existing POT template."
-msgstr "Importar strings traduzíveis de um modelo POT existente."
+msgstr "Obter linhas a traduzir a partir de um modelo POT."
-msgid ""
-"You can also extract translatable strings directly from the source code:"
-msgstr ""
-"Você também pode extrair strings traduzíveis diretamente do código fonte:"
+msgid "You can also extract translatable strings directly from the source code:"
+msgstr "Também pode extrair as linhas a traduzir diretamente do código fonte:"
msgid "Extract from sources"
msgstr "Extrair das fontes"
msgid "Configure source code extraction in Properties."
-msgstr "Configurar extração do código fonte em Propriedades."
+msgstr "Configure a extração do código fonte nas propriedades."
+
+#, c-format
+msgid "Failed to read file '%s'."
+msgstr "Falha ao ler o ficheiro %s."
+
+#, c-format
+msgid "Confused by ambiguous values of \"%s\" in %s."
+msgstr "Confusão gerada por valores ambíguos de \"%s\" em %s."
+
+#, c-format
+msgid "Couldn't detect POs location for \"%s\"."
+msgstr "Não foi possível detetar a localização dos PO para \"%s\"."
+
+#, c-format
+msgid "The \"%s\" theme isn't localization-ready."
+msgstr "O tema \"%s\" não está preparado para ser traduzido."
+
+msgid "Confused: multiple main plugin files."
+msgstr "Confusão: diversos ficheiros de plugins."
+
+#, c-format
+msgid "The \"%s\" plugin isn't localization-ready."
+msgstr "O plugin \"%s\" não está preparado para ser traduzido."
+
+#, c-format
+msgid "Couldn't detect translation domain of the \"%s\" plugin."
+msgstr "Não foi possível detetar o domínio de tradução do plugin \"%s\"."
+
+msgid "Found neither WordPress theme nor plugin in the folder."
+msgstr "Não foi encontrado um tema ou um plugin Wordpress."
+
+#, c-format
+msgid "Translations folder (%s) doesn't exist."
+msgstr "A pasta de tradução (%s) não existe."
+
+msgid "<big>Drag and drop <b>theme or plugin folder</b> here</big>\n\nor use the “Choose folder” button"
+msgstr "<big>Arraste e solte aqui a <b>pasta do tema ou do plugin</b></big>\n\nou use o botão \"Escolher pasta\""
+
+msgid "<big>Drag and Drop <b>Theme or Plugin Folder</b> Here</big>\n\nor use the “Choose Folder” button"
+msgstr "<big>Arraste e solte aqui a <b>pasta do tema ou do plugin</b></big>\n\nou use o botão \"Escolher pasta\""
+
+#, c-format
+msgid "Folder “%s”"
+msgstr "Pasta \"%s\""
+
+msgid "Choose Folder..."
+msgstr "Escolher Pasta..."
+
+msgid "Choose folder..."
+msgstr "Escolher pasta..."
+
+msgid "Create a new translation"
+msgstr "Criar uma nova tradução"
+
+msgid "Choose this if you want to translate the theme or plugin into your language."
+msgstr "Escolha esta opção se você quiser traduzir um tema ou plugin para o seu idioma."
+
+msgid "Create a POT"
+msgstr "Criar arquivo POT"
+
+msgid "This option is for theme and plugin developers. Poedit will create an empty template (POT) that translations can be based on."
+msgstr "Esta opção é para programadores de temas e plugins. O Poedit irá criar um modelo vazio (POT) através do qual serão baseadas as traduções."
+
+msgid "Continue"
+msgstr "Continuar"
+
+msgid "Failed to extract WordPress information."
+msgstr "Falha ao extrair as informações Wordpress."
+
+msgid "WordPress error"
+msgstr "Erro Wordpress"
+
+#, c-format
+msgid "Poedit couldn’t understand the content of the folder you selected. This may be a problem with the plugin/theme or it may be Poedit being silly. The error is:\n\n • %s\n\nPlease email help at poedit.net and we’ll sort it out."
+msgstr "O Poedit não conseguiu reconhecer o conteúdo da pasta selecionada. Pode existir um problema com o plugin ou tema ou então com o Poedit. O erro é::\n\n • %s\n\nEnvie uma mensagem para help at poedit.net para dar-mos uma olhada."
+
+#. TRANSLATORS: This is a button that sends an email to support when clicked
+msgid "Email support"
+msgstr "Suporte por correio eletrónico"
+
+msgid "View log"
+msgstr "Ver registo"
+
+#. TRANSLATORS: This is a button that sends an email to support when clicked
+msgid "Email Support"
+msgstr "Suporte por correio eletrónico"
+
+msgid "View Log"
+msgstr "Ver registo"
+
+msgid "WordPress Errors Log"
+msgstr "Registo de erros Wordpress"
+
+msgid "Please email this log to help at poedit.net. Thank you!"
+msgstr "Envie este registo para help at poedit.net. Obrigado!"
+
+msgid "Sync"
+msgstr "Sincronização"
+
+msgid "Synchronize the translation with Crowdin"
+msgstr "Sincronizar tradução com o Crowdin"
+
diff --git a/locales/pt_PT.mo b/locales/pt_PT.mo
index 532fc6d..d3cf0c0 100644
Binary files a/locales/pt_PT.mo and b/locales/pt_PT.mo differ
diff --git a/locales/pt_PT.po b/locales/pt_PT.po
index d77be6a..2ca526f 100644
--- a/locales/pt_PT.po
+++ b/locales/pt_PT.po
@@ -1,9 +1,9 @@
msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
-"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:33-0400\n"
+"Report-Msgid-Bugs-To: poedit at googlegroups.com\n"
+"POT-Creation-Date: 2015-05-11 08:48+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Portuguese\n"
"Language: pt_PT\n"
@@ -16,14 +16,48 @@ msgstr ""
"X-Crowdin-Language: pt-PT\n"
"X-Crowdin-File: /locales/poedit.pot\n"
+#. TRANSLATORS: This is titlebar of about dialog, "%s" is application name
+#. ("Poedit" here, but please use "%s")
+#, c-format
+msgid "About %s"
+msgstr "Acerca do %s"
+
+#. TRANSLATORS: This is version information in about dialog, "%s" will be
+#. version number when used
+#, c-format
+msgid "Version %s"
+msgstr "Versão %s"
+
+msgid "Based on the open source version →"
+msgstr "Baseado na versão de código livre →"
+
+msgid "Acknowledgements"
+msgstr "Agradecimentos"
+
+msgid "Rate on the App Store"
+msgstr "Avaliar na App Store"
+
+msgid "License Agreement"
+msgstr "Acordo de licenciamento"
+
+#, c-format
+msgid "Licensed to %s"
+msgstr "Licenciado a %s"
+
+msgid "Purchased on the Mac App Store"
+msgstr "Comprado na Mac App Store"
+
+msgid "Free version (please upgrade!)"
+msgstr "Versão gratuita (por favor atualize!)"
+
msgid "Hide this notification message"
msgstr "Ocultar esta notificação"
msgid "Don't Show Again"
-msgstr "Não mostrar novamente"
+msgstr "Não voltar a mostrar"
msgid "Don't show again"
-msgstr "Não mostrar novamente"
+msgstr "Não voltar a mostrar"
#, c-format
msgid "%i line of file '%s' was not loaded correctly."
@@ -33,63 +67,52 @@ msgstr[1] "%i linhas do ficheiro '%s' não foram carregadas corretamente."
#, c-format
msgid "Line %d of file '%s' is corrupted (not valid %s data)."
-msgstr ""
-"A linha %d do ficheiro '%s' encontra-se corrompida. (dados %s inválidos)."
+msgstr "A linha %d do ficheiro '%s' encontra-se corrompida. (dados %s inválidos)."
#, c-format
msgid "Malformed header: '%s'"
msgstr "Cabeçalho danificado: '%s'"
-msgid ""
-"Broken catalog file: singular form msgstr used together with msgid_plural"
-msgstr ""
-"Ficheiro danificado: usada forma singular msgstr em conjunto com msgid_plural"
+msgid "Broken catalog file: singular form msgstr used together with msgid_plural"
+msgstr "Ficheiro danificado: usada forma singular msgstr em conjunto com msgid_plural"
msgid "Broken catalog file: plural form msgstr used without msgid_plural"
msgstr "Ficheiro danificado: usadas formas plurais msgstr sem msgid_plural"
-msgid ""
-"There were errors when loading the catalog. Some data may be missing or "
-"corrupted as the result."
-msgstr ""
-"Ocorreram erros ao carregar o catálogo. Como resultado, alguns dados podem "
-"estar em falta ou danificados."
+msgid "There were errors when loading the catalog. Some data may be missing or corrupted as the result."
+msgstr "Ocorreram erros ao carregar o catálogo. Como resultado, alguns dados podem estar em falta ou danificados."
#, c-format
msgid "Couldn't load file %s, it is probably corrupted."
msgstr "Erro ao carregar %s, provavelmente está danificado."
#, c-format
-msgid ""
-"File '%s' is read-only and cannot be saved.\n"
-"Please save it under different name."
-msgstr ""
-"O ficheiro %s é de leitura e não pode ser gravado.\n"
-"Por favor utilize um nome diferente."
+msgid "File '%s' is read-only and cannot be saved.\nPlease save it under different name."
+msgstr "O ficheiro %s é de leitura e não pode ser guardado.\nPor favor utilize um nome diferente."
#, c-format
msgid "Couldn't save file %s."
-msgstr "O ficheiro %s não foi gravado."
+msgstr "Não foi possível guardar o ficheiro %s."
-msgid ""
-"There was a problem formatting the file nicely (but it was saved all right)."
-msgstr "Ocorreu um erro ao formatar o ficheiro (no entanto, foi gravado)."
+msgid "There was a problem formatting the file nicely (but it was saved all right)."
+msgstr "Ocorreu um erro ao formatar o ficheiro (no entanto, foi guardado)."
#, c-format
-msgid ""
-"The catalog couldn't be saved in '%s' charset as specified in catalog "
-"settings.\n"
-"\n"
-"It was saved in UTF-8 instead and the setting was modified accordingly."
-msgstr ""
-"O catálogo não pode ser gravado no formato '%s', conforme especificado nas "
-"definições.\n"
-"\n"
-"Foi gravado no formato UTF-8 e as definições alteradas em concordância."
+msgid "The catalog couldn't be saved in '%s' charset as specified in catalog settings.\n\nIt was saved in UTF-8 instead and the setting was modified accordingly."
+msgstr "O catálogo não pode ser guardado no formato '%s', conforme especificado nas definições.\n\nFoi guardado no formato UTF-8 e as definições alteradas em concordância."
msgid "Error saving catalog"
msgstr "Erro ao gravar o catálogo"
+msgid "PO Translation Files"
+msgstr "Ficheiro de tradução PO"
+
+msgid "POT Translation Templates"
+msgstr "Modelos de tradução POT"
+
+msgid "All Translation Files"
+msgstr "Todos os ficheiros de tradução"
+
msgid "Merging differences..."
msgstr "A incorporar diferenças..."
@@ -109,6 +132,81 @@ msgstr "Seleção de idioma"
msgid "You must restart Poedit for this change to take effect."
msgstr "Tem que reiniciar o Poedit para aplicar a alteração."
+msgid "Downloading translations is disabled in this project."
+msgstr "A descarga de traduções está desativada para este projeto."
+
+msgid "Not authorized, please sign in again."
+msgstr "Não autorizado. Inicie novamente a sessão."
+
+msgid "Sign in to Crowdin"
+msgstr "Iniciar sessão no Crowdin"
+
+msgid "Crowdin is an online localization management platform and collaborative translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr "O serviço Crowdin é uma plataforma de gestão de traduções e uma ferramenta de colaboração. O Poedit pode sincronizar os ficheiros PO existentes nos projetos Crowdin."
+
+msgid "Sign In"
+msgstr "Iniciar sessão"
+
+msgid "Sign in"
+msgstr "Iniciar sessão"
+
+msgid "Sign Out"
+msgstr "Terminar sessão"
+
+msgid "Sign out"
+msgstr "Terminar sessão"
+
+msgid "Waiting for authentication…"
+msgstr "Aguardando autenticação..."
+
+msgid "Updating user information…"
+msgstr "Atualizando informações do utilizador..."
+
+msgid "Signed in as:"
+msgstr "Sessão iniciada como:"
+
+msgid "Learn More About Crowdin"
+msgstr "Saber mais sobre o Crowdin"
+
+msgid "Learn more about Crowdin"
+msgstr "Saber mais sobre o Crowdin"
+
+msgid "Open Crowdin translation"
+msgstr "Abrir tradução Crowdin"
+
+msgid "Project:"
+msgstr "Projeto:"
+
+msgid "Language:"
+msgstr "Idioma:"
+
+msgid "File:"
+msgstr "Ficheiro:"
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr "Não existem projetos de tradução associados à sua conta Crowdin."
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr "Este projeto não tem ficheiros que possam ser traduzidos com o Poedit."
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr "Este ficheiro apenas pode ser editado na interface web do Crowdin."
+
+msgid "Downloading latest translations…"
+msgstr "A descarregar traduções mais recentes..."
+
+msgid "Syncing with Crowdin"
+msgstr "Sincronizar com o Crowdin"
+
+msgid "Syncing with Crowdin failed."
+msgstr "Falha ao sincronizar com o Crowdin."
+
+msgid "Crowdin error"
+msgstr "Erro Crowdin"
+
+msgid "Uploading translations…"
+msgstr "A carregar traduções..."
+
msgid "&Copy"
msgstr "&Copiar"
@@ -136,25 +234,43 @@ msgstr "A analisar ficheiros %s..."
msgid "Failed to load extracted catalog."
msgstr "Erro ao carregar o catálogo extraído."
+#, c-format
+msgid "Failed to extract WordPress metadata from file %s."
+msgstr "Falha ao extrair os dados WordPress do ficheiro %s."
+
msgid "&Help"
msgstr "Aj&uda"
+msgid "Beta expired"
+msgstr "Beta expirada"
+
+msgid "This beta version of Poedit expired."
+msgstr "Esta versão beta do Poedit expirou."
+
+msgid "Please download a newer version from the Poedit website at http://poedit.net/download"
+msgstr "Por favor descarregue a versão mais recente a partir do sítio web do Poedit em http://poedit.net/download"
+
+msgid "Download"
+msgstr "Descarregar"
+
+msgid "Quit"
+msgstr "Sair"
+
msgid "MO files can’t be directly edited in Poedit."
msgstr "Os ficheiros MO não podem ser editados com o Poedit."
msgid "Error opening file"
msgstr "Erro ao abrir ficheiro"
-msgid ""
-"Please open and edit the corresponding PO file instead. When you save it, "
-"the MO file will be updated as well."
-msgstr ""
-"Por favor abra e edite o ficheiro PO correspondente. Quando gravar o "
-"ficheiro PO, o ficheiro MO também será atualizado."
+msgid "Please open and edit the corresponding PO file instead. When you save it, the MO file will be updated as well."
+msgstr "Por favor abra e edite o ficheiro PO correspondente. Quando guardar o ficheiro PO, o ficheiro MO também será atualizado."
msgid "don't delete temporary files (for debugging)"
msgstr "não eliminar ficheiros temporários (depuração)"
+msgid "handle a poedit:// URI"
+msgstr "gerir um URI poedit://"
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr "Ocorreu uma exceção não tratada: %s"
@@ -165,34 +281,19 @@ msgstr "Ocorreu uma exceção."
msgid "Open catalog"
msgstr "Abrir catálogo"
-msgid "All Files"
-msgstr "Todos os ficheiros"
-
-msgid "PO Translation Files"
-msgstr "Ficheiro de tradução PO"
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "O ficheiro %s não existe."
-#. TRANSLATORS: This is titlebar of about dialog, "%s" is application name
-#. ("Poedit" here, but please use "%s")
-#, c-format
-msgid "About %s"
-msgstr "Sobre o %s"
-
-#. TRANSLATORS: This is version information in about dialog, "%s" will be
-#. version number when used
-#, c-format
-msgid "Version %s"
-msgstr "Versão %s"
-
msgid "Poedit is an easy to use translations editor."
msgstr "O Poedit é um editor de traduções fácil de usar."
msgid "Catalogs Manager"
msgstr "Gestor de catálogos"
+msgid "License..."
+msgstr "Licença..."
+
msgid "Check for Updates..."
msgstr "Procurar atualizações..."
@@ -200,7 +301,7 @@ msgid "&Edit"
msgstr "&Editar"
msgid "Undo"
-msgstr "Anular"
+msgstr "Desfazer"
msgid "Redo"
msgstr "Refazer"
@@ -274,6 +375,15 @@ msgstr "Parar fala"
msgid "&View"
msgstr "&Ver"
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
+msgid "Show Toolbar"
+msgstr "Mostrar barra de ferramentas"
+
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
+msgid "Customize Toolbar…"
+msgstr "Personalizar barra de ferramentas…"
+
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
msgid "Enter Full Screen"
msgstr "Entrar no modo de ecrã completo"
@@ -289,19 +399,28 @@ msgstr "Ampliação"
msgid "Bring All to Front"
msgstr "Trazer para primeiro plano"
+#. TRANSLATORS:File kind displayed in Finder/Explorer
msgid "PO Translation"
msgstr "Tradução PO"
+msgid "Invalid license data."
+msgstr "Dados de licença inválidos."
+
+msgid "Poedit"
+msgstr "Poedit"
+
+#, c-format
+msgid "The link doesn't contain valid Poedit license. Try entering it manually or contact support at help at poedit.net.\n\n(%s)"
+msgstr "A ligação não contém uma licença válida. Tente introduzir a licença manualmente ou contacte-nos em help at poedit.net.\n\n(%s)"
+
msgid "The file cannot be opened."
msgstr "O ficheiro não foi aberto."
msgid "Invalid file"
msgstr "Ficheiro inválido"
-msgid ""
-"The file may be either corrupted or in a format not recognized by Poedit."
-msgstr ""
-"O ficheiro pode estar danificado ou num formato não reconhecido pelo Poedit."
+msgid "The file may be either corrupted or in a format not recognized by Poedit."
+msgstr "O ficheiro pode estar danificado ou num formato não reconhecido pelo Poedit."
msgid "&Undo"
msgstr "An&ular"
@@ -378,9 +497,6 @@ msgstr "Não pode largar mais do que um ficheiro na janela do Poedit."
msgid "File '%s' is not a message catalog."
msgstr "O ficheiro %s não é um catálogo."
-msgid "Poedit"
-msgstr "Poedit"
-
msgid "&File"
msgstr "&Ficheiro"
@@ -399,39 +515,45 @@ msgstr "Plurais:"
msgid "Translation:"
msgstr "Tradução:"
+msgid "POT files are only templates and don’t contain any translations themselves.\nTo make a translation, create a new PO file based on the template."
+msgstr "Os ficheiros POT são apenas modelos e não possuem quaisquer traduções.\nPara efetuar uma tradução, crie um novo ficheiro PO baseado no modelo."
+
+msgid "Create New Translation"
+msgstr "Criar nova tradução"
+
+msgid "Create new translation"
+msgstr "Criar nova tradução"
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
#, c-format
-msgid ""
-"Spellchecking is disabled, because the dictionary for %s isn’t installed."
-msgstr ""
-"A verificação ortográfica está inativa porque o dicionário para o idioma %s "
-"não está instalado."
+msgid "Spellchecking is disabled, because the dictionary for %s isn’t installed."
+msgstr "A verificação ortográfica está inativa porque o dicionário para o idioma %s não está instalado."
msgid "Install"
msgstr "Instalar"
msgid "Catalog modified. Do you want to save changes?"
-msgstr "O catálogo foi modificado. Gravar alterações?"
+msgstr "O catálogo foi modificado. Guardar alterações?"
msgid "Save changes"
-msgstr "Gravar alterações"
+msgstr "Guardar alterações"
msgid "Your changes will be lost if you don't save them."
-msgstr "Se não gravar, as alterações serão perdidas."
+msgstr "Se não guardar as alterações, estas serão perdidas."
msgid "Save"
-msgstr "Gravar"
+msgstr "Guardar"
msgid "Don't save"
-msgstr "Não gravar"
+msgstr "Não guardar"
msgid "Don't Save"
-msgstr "Não gravar"
+msgstr "Não guardar"
msgid "Save as..."
-msgstr "Gravar como..."
+msgstr "Guardar como..."
msgid "Compile to..."
msgstr "Compilar para..."
@@ -448,8 +570,30 @@ msgstr "Ficheiros HTML"
msgid "Open catalog template"
msgstr "Abrir modelo de catálogo"
-msgid "POT Translation Templates"
-msgstr "Modelos de tradução POT"
+msgid "WordPress"
+msgstr "WordPress"
+
+msgid "Analyzing WordPress code..."
+msgstr "Análise ao código Wordpress..."
+
+msgid "Select the folder with the WordPress theme or plugin"
+msgstr "Selecione a pasta do tema ou plugin Wordpress"
+
+#. TRANSLATORS: %s is name of a WordPress theme
+#, c-format
+msgid "The “%s” theme is compatible."
+msgstr "O tema \"%s\" é compatível."
+
+#. TRANSLATORS: %s is name of a WordPress plugin
+#, c-format
+msgid "The “%s” plugin is compatible."
+msgstr "O plugin \"%s\" é compatível."
+
+msgid "The theme is translation-ready and compatible with Poedit’s WordPress support."
+msgstr "O tema está preparado para ser traduzido e é compatível com o suporte WordPress do Poedit."
+
+msgid "The plugin is translation-ready and compatible with Poedit’s WordPress support."
+msgstr "O plugin está preparado para ser traduzido e é compatível com o suporte WordPress do Poedit."
msgid "Updating catalog"
msgstr "A atualizar catálogo..."
@@ -460,20 +604,14 @@ msgstr "O código fonte não está disponível."
msgid "Updating failed"
msgstr "Falha ao atualizar"
-msgid ""
-"Translations couldn’t be updated from the source code, because no code was "
-"found in the location specified in the catalog’s Properties."
-msgstr ""
-"As traduções não foram atualizadas a partir do código fonte porque o código "
-"não foi encontrado na localização definida nas propriedades do catálogo."
+msgid "Translations couldn’t be updated from the source code, because no code was found in the location specified in the catalog’s Properties."
+msgstr "As traduções não foram atualizadas a partir do código fonte porque o código não foi encontrado na localização definida nas propriedades do catálogo."
msgid "Entries in the catalog are probably incorrect."
msgstr "É possível que as entradas do catálogo estejam incorretas."
msgid "Updating the catalog failed. Click on 'Details >>' for details."
-msgstr ""
-"Ocorreu um erro ao atualizar o catálogo. Clique em 'Detalhes >>' para saber "
-"mais."
+msgstr "Ocorreu um erro ao atualizar o catálogo. Clique em 'Detalhes >>' para saber mais."
#, c-format
msgid "%d issue with the translation found."
@@ -484,34 +622,20 @@ msgstr[1] "Foram encontrados %d erros na tradução."
msgid "Validation results"
msgstr "Resultados da validação"
-msgid ""
-"Entries with errors were marked in red in the list. Details of the error "
-"will be shown when you select such an entry."
-msgstr ""
-"As entradas com erros estão marcadas a vermelho. Os detalhes do erro serão "
-"mostrados ao selecionar a entrada correspondente."
+msgid "Entries with errors were marked in red in the list. Details of the error will be shown when you select such an entry."
+msgstr "As entradas com erros estão marcadas a vermelho. Os detalhes do erro serão mostrados ao selecionar a entrada correspondente."
msgid "The file was saved safely."
-msgstr "O ficheiro foi gravado com sucesso."
+msgstr "O ficheiro foi guardado com sucesso."
-msgid ""
-"The file was saved safely and compiled into the MO format, but it will "
-"probably not work correctly."
-msgstr ""
-"O ficheiro foi gravado com sucesso e o ficheiro MO foi compilado. No "
-"entanto, é possível que não funcione corretamente."
+msgid "The file was saved safely and compiled into the MO format, but it will probably not work correctly."
+msgstr "O ficheiro foi guardado com sucesso e o ficheiro MO foi compilado. No entanto, é possível que não funcione corretamente."
-msgid ""
-"The file was saved safely, but it cannot be compiled into the MO format and "
-"used."
-msgstr "O ficheiro foi gravado mas o ficheiro MO não foi criado."
+msgid "The file was saved safely, but it cannot be compiled into the MO format and used."
+msgstr "O ficheiro foi guardado mas o ficheiro MO não foi criado."
-msgid ""
-"The file was compiled into the MO format, but it will probably not work "
-"correctly."
-msgstr ""
-"O ficheiro foi compilado para o formato MO mas é provável que não funcione "
-"corretamente."
+msgid "The file was compiled into the MO format, but it will probably not work correctly."
+msgstr "O ficheiro foi compilado para o formato MO mas é provável que não funcione corretamente."
msgid "The file cannot be compiled into the MO format and used."
msgstr "O ficheiro não pode ser compilado para o formato MO."
@@ -521,28 +645,41 @@ msgstr "Não foram encontrados erros na tradução."
#, c-format
msgid "The translation is ready for use, but %d entry is not translated yet."
-msgid_plural ""
-"The translation is ready for use, but %d entries are not translated yet."
-msgstr[0] ""
-"A tradução pode ser utilizada mas %d entrada ainda não está traduzida."
-msgstr[1] ""
-"A tradução pode ser utilizada mas %d entradas ainda não estão traduzidas."
+msgid_plural "The translation is ready for use, but %d entries are not translated yet."
+msgstr[0] "A tradução pode ser utilizada mas %d entrada ainda não está traduzida."
+msgstr[1] "A tradução pode ser utilizada mas %d entradas ainda não estão traduzidas."
msgid "The translation is ready for use."
msgstr "A tradução está pronta a utilizar."
-msgid "No references to this string found."
-msgstr "Não foi encontrada uma referência a esta entrada."
+msgid "Contributing translations improves the quality of online suggestions for everybody — the more people do it, the better the suggestions can be. Your translations are submitted anonymously and are available to other translators using Poedit or other CAT tools."
+msgstr "O seu contributo melhora a qualidade das sugestões na web - quantas mais pessoas o fizerem, melhor poderão ser as sugestões. As suas traduções são enviadas anonimamente e ficarão disponíveis para todos os tradutores que utilizem o Poedit ou outras ferramentas CAT."
+
+msgid "Can Poedit contribute your translations of this file to the online translation memory?"
+msgstr "O Poedit pode enviar as traduções deste ficheiro para a memória de traduções na web?"
+
+msgid "Apply to all files I edit"
+msgstr "Aplicar a todos os ficheiros que eu editar"
-msgid "Please choose the reference you want to show:"
-msgstr "Por favor escolha a referência que quer mostrar:"
+msgid "Contribute"
+msgstr "Contribuir"
-msgid "References"
-msgstr "Referências"
+msgid "Keep Private"
+msgstr "Manter privado"
+
+msgid "Keep private"
+msgstr "Manter privado"
msgid "Context:"
msgstr "Contexto:"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr "O Poedit corrigiu automaticamente o conteúdo inválido do ficheiro \"%s\"."
+
+msgid "The file contained duplicate items, which is not allowed in PO files and would prevent the file from being used. Poedit fixed the issue, but you should review translations of any items marked as fuzzy and correct them if necessary."
+msgstr "O ficheiro continha itens duplicados, o que não é permitido em ficheiros PO, e que impedia a utilização do ficheiro. O Poedit corrigiu os erros, mas você deve rever as traduções dos diversos itens marcados como imprecisos e, se necessário, corrigi-los."
+
msgid "Language of the translation isn't set."
msgstr "O idioma da tradução não está definido."
@@ -552,19 +689,24 @@ msgstr "Definir idioma"
msgid "Set language"
msgstr "Definir idioma"
-msgid ""
-"This catalog has entries with plural forms, but doesn't have Plural-Forms "
-"header configured."
-msgstr ""
-"Este catálogo tem entradas com fomas plurais mas não tem o cabeçalho Plural-"
-"Forms definido."
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid "Suggestions are not available if the translation language is not set correctly. Other features, such as plural forms, may be affected as well."
+msgstr "As sugestões de tradução não estarão disponíveis se o idioma do projeto não estiver definido corretamente. Outras funcionalidades, como as formas plurais, também poderão ser afetadas."
-msgid ""
-"Entries in this catalog have different plural forms count from what "
-"catalog's Plural-Forms header says"
-msgstr ""
-"As entradas deste catálogo possuem formas plurais que diferem daquelas que "
-"estão definidas no cabeçalho Plural-Forms."
+msgid "Language of the translation is the same as source language."
+msgstr "O idioma da tradução coincide com o idioma do texto fonte."
+
+msgid "Fix Language"
+msgstr "Corrigir idioma"
+
+msgid "Fix language"
+msgstr "Corrigir idioma"
+
+msgid "This catalog has entries with plural forms, but doesn't have Plural-Forms header configured."
+msgstr "Este catálogo tem entradas com fomas plurais mas não tem o cabeçalho Plural-Forms definido."
+
+msgid "Entries in this catalog have different plural forms count from what catalog's Plural-Forms header says"
+msgstr "As entradas deste catálogo possuem formas plurais que diferem daquelas que estão definidas no cabeçalho Plural-Forms."
msgid "Required header Plural-Forms is missing."
msgstr "O cabeçalho Plural-Forms não existe."
@@ -584,10 +726,9 @@ msgstr "Corrigir cabeçalho"
#. to rephrase it, e.g. to an equivalent of "for language %s".
#, c-format
msgid "Plural forms expression used by the catalog is unusual for %s."
-msgstr ""
-"A expressão de formas plurais utilizadas neste catálogo não são as que devem "
-"ser utilizadas pelo idioma %s."
+msgstr "A expressão de formas plurais utilizadas neste catálogo não são as que devem ser utilizadas pelo idioma %s."
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr "Rever"
@@ -609,12 +750,22 @@ msgid_plural "%d errors"
msgstr[0] "%d erro"
msgstr[1] "%d erros"
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] "%d entrada"
+msgstr[1] "%d entradas"
+
msgid " (unsaved)"
-msgstr " (não gravado)"
+msgstr " (não guardado)"
msgid " (modified)"
msgstr " (modificado)"
+#, c-format
+msgid " (beta version expires %s)"
+msgstr " (a versão beta expira em %s)"
+
msgid "Go"
msgstr "Ir"
@@ -628,14 +779,8 @@ msgstr "Remover traduções eliminadas"
msgid "Do you want to remove all translations that are no longer used?"
msgstr "Pretende remover todas as traduções que já não são utilizadas?"
-msgid ""
-"If you continue with purging, all translations marked as deleted will be "
-"permanently removed. You will have to translate them again if they are added "
-"back in the future."
-msgstr ""
-"Se continuar, todas as traduções marcadas como eliminadas serão removidas "
-"permanentemente. Se as entradas forem respostas, terá que as traduzir "
-"novamente."
+msgid "If you continue with purging, all translations marked as deleted will be permanently removed. You will have to translate them again if they are added back in the future."
+msgstr "Se continuar, todas as traduções marcadas como eliminadas serão removidas permanentemente. Se as entradas forem respostas, terá que as traduzir novamente."
msgid "Keep"
msgstr "Manter"
@@ -649,24 +794,23 @@ msgstr "Preencher traduções a partir da MT"
msgid "Only fill in exact matches"
msgstr "Preencher apenas as ocorrências exatas"
-msgid ""
-"By default, inaccurate results are filled in as well and marked as fuzzy. "
-"Check this option to only include accurate matches."
-msgstr ""
-"Por definição, os resultados imprecisos também serão preenchidos e "
-"assinalados como tal. Assinale esta opção para apenas preencher ocorrências "
-"exatas."
+msgid "By default, inaccurate results are filled in as well and marked as fuzzy. Check this option to only include accurate matches."
+msgstr "Por definição, os resultados imprecisos também serão preenchidos e assinalados como tal. Assinale esta opção para apenas preencher ocorrências exatas."
msgid "Don’t mark exact matches as fuzzy"
msgstr "Não assinalar ocorrências exatas como imprecisas"
-msgid ""
-"Only enable if you trust the quality of your TM. By default, all matches "
-"from the TM are marked as fuzzy and should be reviewed."
-msgstr ""
-"Apenas deve ativar esta opção se confiar na qualidade da sua memória de "
-"traduções. Por definição, as ocorrências encontradas na memória serão "
-"marcadas como imprecisas e devem ser revistas."
+msgid "Only enable if you trust the quality of your TM. By default, all matches from the TM are marked as fuzzy and should be reviewed."
+msgstr "Apenas deve ativar esta opção se confiar na qualidade da sua memória de traduções. Por definição, as ocorrências encontradas na memória serão marcadas como imprecisas e devem ser revistas."
+
+msgid "Use online suggestions"
+msgstr "Utilizar sugestões online"
+
+msgid "Use online suggestions (experimental)"
+msgstr "Utilizar sugestões online (experimental)"
+
+msgid "Try to fetch translations from the online TM as well. Notice that the translations will not be perfect and will still need to be corrected by a human translator."
+msgstr "Tenta obter as traduções a partir da Internet. Tenha em atenção que as traduções podem não estar corretas e devem ser corrigidas por um tradutor humano."
msgid "Fill"
msgstr "Preencher"
@@ -677,25 +821,14 @@ msgid_plural "%d entries were filled from the translation memory."
msgstr[0] "%d item preenchido com a memória de traduções."
msgstr[1] "%d itens preenchidos com a memória de traduções."
-msgid ""
-"The translations were marked as fuzzy, because they may be inaccurate. You "
-"should review them for correctness."
-msgstr ""
-"As traduções foram assinaladas como imprecisas. Deve rever as traduções e "
-"efetuar as correções necessárias."
+msgid "The translations were marked as fuzzy, because they may be inaccurate. You should review them for correctness."
+msgstr "As traduções foram assinaladas como imprecisas. Deve rever as traduções e efetuar as correções necessárias."
msgid "No entries could be filled from the translation memory."
-msgstr ""
-"Não existem itens que possam ser preenchidos com a memória de traduções."
+msgstr "Não existem itens que possam ser preenchidos com a memória de traduções."
-msgid ""
-"The TM doesn’t contain any strings similar to the content of this file. It "
-"is only effective for semi-automatic translations after Poedit learns enough "
-"from files that you translated manually."
-msgstr ""
-"A memória de traduções não contém quaisquer entradas similares às deste "
-"ficheiro. Só será útil para traduções semi-automáticas e após o Poedit "
-"aprender os dados dos ficheiros que traduziu manualmente."
+msgid "The TM doesn’t contain any strings similar to the content of this file. It is only effective for semi-automatic translations after Poedit learns enough from files that you translated manually."
+msgstr "A memória de traduções não contém quaisquer entradas similares às deste ficheiro. Só será útil para traduções semi-automáticas e após o Poedit aprender os dados dos ficheiros que traduziu manualmente."
msgid "Translating"
msgstr "Traduzindo"
@@ -737,6 +870,9 @@ msgstr "Tudo"
msgid "Form %i"
msgstr "Forma %i"
+msgid "Singular"
+msgstr "Singular"
+
msgid "Zero"
msgstr "Zero"
@@ -746,6 +882,9 @@ msgstr "Uma"
msgid "Two"
msgstr "Duas"
+msgid "Plural"
+msgstr "Plurais"
+
msgid "Other"
msgstr "Outra"
@@ -774,6 +913,12 @@ msgstr "Ocultar barra lateral"
msgid "Show Sidebar"
msgstr "Mostrar barra lateral"
+msgid "Hide Status Bar"
+msgstr "Ocultar barra de estado"
+
+msgid "Show Status Bar"
+msgstr "Mostrar barra de estado"
+
msgid "Source text"
msgstr "Texto fonte"
@@ -783,6 +928,10 @@ msgstr "Tradução"
msgid "ID"
msgstr "ID"
+#, c-format
+msgid "Source text — %s"
+msgstr "Texto fonte - %s"
+
msgid "unknown language"
msgstr "idioma desconhecido"
@@ -793,57 +942,73 @@ msgstr "Tradução — %s"
msgid "Error:"
msgstr "Erro:"
-msgid "Project info"
-msgstr "Dados do projeto"
+msgid "Source file"
+msgstr "Ficheiro fonte"
-msgid "Project name and version:"
-msgstr "Nome e versão do projeto:"
+msgid "Source file occurrence:"
+msgstr "Ocorrência no ficheiro fonte:"
-msgid "Language:"
-msgstr "Linguagem:"
+msgid "Open in Editor"
+msgstr "Abrir no editor"
-msgid "Team:"
-msgstr "Equipa:"
+msgid "Open in editor"
+msgstr "Abrir no editor"
-msgid "Team's email address:"
-msgstr "Endereço eletrónico da equipa:"
+msgid "No references for the selected item."
+msgstr "Não existem referências para o item selecionado."
-msgid "Charset:"
-msgstr "Codificação:"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "Erro ao abrir o ficheiro %s!"
-msgid "Source"
-msgstr "Fonte"
+msgid "Find"
+msgstr "Localizar"
-msgid "Notes"
-msgstr "Notas"
+msgid "Replace"
+msgstr "Substituir"
-msgid "Automatic translation"
-msgstr "Tradução automática"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr "Opções"
-msgid "Fuzzy translation"
-msgstr "Tradução imprecisa"
+msgid "Ignore case"
+msgstr "Ignorar maiúsculas/minúsculas"
-msgid "Notes for translators:"
-msgstr "Notas para tradutores:"
+msgid "Wrap around"
+msgstr "Moldar texto"
-msgid "Comment:"
-msgstr "Comentário:"
+msgid "Whole words only"
+msgstr "Só palavras inteiras"
-msgid "Source file"
-msgstr "Ficheiro fonte"
+msgid "Find in source texts"
+msgstr "Localizar nos textos fonte"
-msgid "Source file occurrence:"
-msgstr "Ocorrência no ficheiro fonte:"
+msgid "Find in translations"
+msgstr "Localizar na tradução"
-msgid "Open in Editor"
-msgstr "Abrir no editor"
+msgid "Find in comments"
+msgstr "Localizar nos comentários"
-msgid "Open in editor"
-msgstr "Abrir no editor"
+msgid "Close"
+msgstr "Fechar"
-#, c-format
-msgid "Error opening file %s!"
-msgstr "Erro ao abrir o ficheiro %s!"
+msgid "Replace All"
+msgstr "Substituir tudo"
+
+msgid "Replace all"
+msgstr "Substituir tudo"
+
+msgid "< &Previous"
+msgstr "< An&terior"
+
+msgid "&Next >"
+msgstr "Segui&nte >"
+
+msgid "String to find"
+msgstr "Texto a procurar"
+
+msgid "Replacement string"
+msgstr "Texto de substituição"
#, c-format
msgid "Cannot execute program: %s"
@@ -858,6 +1023,55 @@ msgstr "Idioma da tradução"
msgid "Language of the translation:"
msgstr "Idioma da tradução:"
+msgid "Poedit Registration"
+msgstr "Registo Poedit"
+
+msgid "Name"
+msgstr "Nome"
+
+msgid "License Key"
+msgstr "Chave da licença"
+
+msgid "The registration key can be used on multiple computers you use personally or for multiple\naccounts on a single computer."
+msgstr "A chave de registo pode ser utilizada em todos os computadores que quiser.\nTambém pode utilizar esta chave para os vários utilizadores de um computador."
+
+msgid "Buy Online..."
+msgstr "Comprar na web..."
+
+msgid "Buy online..."
+msgstr "Comprar na web..."
+
+msgid "Cancel"
+msgstr "Cancelar"
+
+msgid "Register"
+msgstr "Registar"
+
+msgid "Your copy is upgraded to Poedit Pro."
+msgstr "A sua cópia foi atualizada para a versão Pro."
+
+msgid "You’re awesome! Thank you so much\nfor purchasing Poedit Pro."
+msgstr "Você é o máximo! Muito obrigado por\nter comprado a versão Pro."
+
+msgid "View License Key"
+msgstr "Ver chave da licença"
+
+msgid "View license key"
+msgstr "Ver chave da licença"
+
+#, c-format
+msgid "Licensed to: %s"
+msgstr "Licenciado a: %s"
+
+msgid "Purchasing the full version will unlock more features\nin this and future versions of Poedit, including:\n\n"
+msgstr "Se comprar a versão Pro, desbloqueia algumas funções\nextra para esta versão e posteriores do Poedit, e que são:\n\n"
+
+msgid "Upgrade..."
+msgstr "Atualizar..."
+
+msgid "No, thanks"
+msgstr "Não obrigado"
+
msgid "Poedit - Catalogs manager"
msgstr "Poedit - Gestor de catálogos"
@@ -894,12 +1108,8 @@ msgstr "Pretende eliminar o projeto?"
msgid "Confirmation"
msgstr "Confirmação"
-msgid ""
-"Do you really want to do mass update of\n"
-"all catalogs in this project?"
-msgstr ""
-"Tem a certeza que quer mesmo atualizar\n"
-"todos os catálogos deste projeto?"
+msgid "Do you really want to do mass update of\nall catalogs in this project?"
+msgstr "Tem a certeza que quer mesmo atualizar\ntodos os catálogos deste projeto?"
msgid "Information about the translator"
msgstr "Informações do tradutor"
@@ -911,23 +1121,19 @@ msgid "Your Name"
msgstr "O seu nome"
msgid "Email:"
-msgstr "Email:"
+msgstr "E-mail:"
msgid "your_email at example.com"
msgstr "o_seu_email at exemplo.com"
-msgid ""
-"Your name and email address are only used to set the Last-Translator header "
-"of GNU gettext files."
-msgstr ""
-"O seu nome e endereço eletrónico só serão utilizados para definir o "
-"cabeçalho Last-Translator dos ficheiros GNU gettext."
+msgid "Your name and email address are only used to set the Last-Translator header of GNU gettext files."
+msgstr "O seu nome e endereço eletrónico só serão utilizados para definir o cabeçalho Last-Translator dos ficheiros GNU gettext."
msgid "Editing"
msgstr "Edição"
msgid "Automatically compile MO file when saving"
-msgstr "Compilar ficheiro MO ao gravar"
+msgstr "Compilar ficheiro MO ao guardar"
msgid "Show summary after catalog update"
msgstr "Mostar resumo após atualizar o catálogo"
@@ -938,15 +1144,8 @@ msgstr "Verificação ortográfica"
msgid "Always change focus to text input field"
msgstr "Focar sempre o campo da entrada de texto"
-msgid ""
-"Never let the list of strings take focus. If enabled, you must use Ctrl-"
-"arrows for keyboard navigation but you can also type text immediately, "
-"without having to press Tab to change focus."
-msgstr ""
-"Nunca deixar que a lista de entradas obtenha o foco. Se ativa, tem que usar "
-"Control+Teclas do cursor para mudar de linhas com o teclado mas também pode "
-"escrever o texto imediatamente, sem ter que premir a tecla Tab para mudar de "
-"campo."
+msgid "Never let the list of strings take focus. If enabled, you must use Ctrl-arrows for keyboard navigation but you can also type text immediately, without having to press Tab to change focus."
+msgstr "Nunca deixar que a lista de entradas obtenha o foco. Se ativa, tem que usar Control+Teclas do cursor para mudar de linhas com o teclado mas também pode escrever o texto imediatamente, sem ter que premir a tecla Tab para mudar de campo."
msgid "Appearance"
msgstr "Aspeto"
@@ -978,21 +1177,35 @@ msgstr "Aprender dos ficheiros..."
#. TRANSLATORS: This is a button that deletes everything in the translation memory (i.e. clears/resets it).
msgid "Reset"
-msgstr "Reiniciar"
+msgstr "Repor"
msgid "Consult TM when updating from sources"
msgstr "Consultar memória de traduções ao atualizar das fontes"
-msgid ""
-"If enabled, Poedit will try to fill in new entries using your previous\n"
-"translations stored in the translation memory. If the TM is\n"
-"near-empty, it will not be very effective. The more translations\n"
-"you edit and the larger the TM grows, the better it gets."
-msgstr ""
-"Se ativa, o Poedit tentará preencher as novas entradas utilizando as\n"
-"traduções armazenadas na memória de traduções. Se a memória\n"
-"estiver praticamente vazia, o processo não será eficiente. Quantas mais\n"
-"traduções editar e quanto maior for a memória, melhor correrá o processo."
+msgid "If enabled, Poedit will try to fill in new entries using your previous\ntranslations stored in the translation memory. If the TM is\nnear-empty, it will not be very effective. The more translations\nyou edit and the larger the TM grows, the better it gets."
+msgstr "Se ativa, o Poedit tentará preencher as novas entradas utilizando as\ntraduções armazenadas na memória de traduções. Se a memória\nestiver praticamente vazia, o processo não será eficiente. Quantas mais\ntraduções editar e quanto maior for a memória, melhor correrá o processo."
+
+msgid "Use suggestions from online collaborative TM"
+msgstr "Utilizar sugestões da MT disponibilizada pela comunidade"
+
+msgid "Poedit uses a large online translation memory that includes both contributed human translations and state-of-the-art machine translations."
+msgstr "O Poedit utiliza uma grande memória de traduções e inclui as traduções efetuadas por pessoas bem como as traduções efetuadas pelas máquinas automatizadas."
+
+msgid "Contribute my translations to the online TM"
+msgstr "Contribuir com as minhas traduções para a MT da comunidade"
+
+msgid "Keep my translations private"
+msgstr "Manter as minhas traduções privadas"
+
+msgid "Ask me for each file individually"
+msgstr "Perguntar para cada um dos ficheiros"
+
+msgid "Terms of Service"
+msgstr "Termos de serviço"
+
+#. TRANSLATORS: This is part of footer that says in full "powered by MyMemory", with the MyMemory part being a logo
+msgid "powered by"
+msgstr "desenvolvido por"
msgid "Stored translations:"
msgstr "Traduções guardadas:"
@@ -1010,7 +1223,7 @@ msgid "Importing translations..."
msgstr "Importação de traduções..."
msgid "Finalizing..."
-msgstr "Finalização..."
+msgstr "Finalizando..."
msgid "Reset translation memory"
msgstr "Reiniciar memória de traduções"
@@ -1018,15 +1231,8 @@ msgstr "Reiniciar memória de traduções"
msgid "Are you sure you want to reset the translation memory?"
msgstr "Tem a certeza que pretende reiniciar a memória de traduções?"
-msgid ""
-"Resetting the translation memory will irrevocably delete all stored "
-"translations from it. You can’t undo this operation."
-msgstr ""
-"Se reiniciar a memória de traduções, removerá todas as traduções guardadas. "
-"Esta operação não pode ser desfeita."
-
-msgid "Cancel"
-msgstr "Cancelar"
+msgid "Resetting the translation memory will irrevocably delete all stored translations from it. You can’t undo this operation."
+msgstr "Se reiniciar a memória de traduções, removerá todas as traduções guardadas. Esta operação não pode ser desfeita."
#. TRANSLATORS: This is abbreviation of "Translation Memory" used in Preferences on OS X.
#. Long text looks weird there, too short (like TM) too, but less so. "General" is about ideal
@@ -1034,13 +1240,8 @@ msgstr "Cancelar"
msgid "TM"
msgstr "MT"
-msgid ""
-"Source code extractors are used to find translatable strings in the source "
-"code files and extract them so that they can be translated."
-msgstr ""
-"Os extratores de código fonte são utilizados para localizar as linhas, nos "
-"ficheiros fonte, que podem ser traduzidas e extraem as linhas para que "
-"possam ser editadas."
+msgid "Source code extractors are used to find translatable strings in the source code files and extract them so that they can be translated."
+msgstr "Os extratores de código fonte são utilizados para localizar as linhas, nos ficheiros fonte, que podem ser traduzidas e extraem as linhas para que possam ser editadas."
msgid "New"
msgstr "Novo"
@@ -1048,31 +1249,33 @@ msgstr "Novo"
msgid "Edit"
msgstr "Editar"
+msgid "Delete extractor"
+msgstr "Eliminar extrator"
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr "Tem a certeza de que deseja eliminar o extrator \"%s\"?"
+
msgid "Extractors"
msgstr "Extratores"
+msgid "Accounts"
+msgstr "Contas"
+
msgid "Automatically check for updates"
msgstr "Procurar atualizações automaticamente"
msgid "Include beta versions"
msgstr "Incluir versões beta"
-msgid ""
-"Beta versions contain the latest new features and improvements, but may be a "
-"bit less stable."
-msgstr ""
-"As versões Beta possuem novas funcionalidades e melhorias mas podem ser "
-"instáveis."
+msgid "Beta versions contain the latest new features and improvements, but may be a bit less stable."
+msgstr "As versões Beta possuem novas funcionalidades e melhorias mas podem ser instáveis."
msgid "Updates"
msgstr "Atualizações"
-msgid ""
-"These settings affect internal formatting of PO files. Adjust them if you "
-"have specific requirements e.g. because of version control."
-msgstr ""
-"Estas definições afetam a formatação interna dos ficheiros PO. Deve ajustar "
-"as definições caso necessite de requisitos especiais."
+msgid "These settings affect internal formatting of PO files. Adjust them if you have specific requirements e.g. because of version control."
+msgstr "Estas definições afetam a formatação interna dos ficheiros PO. Deve ajustar as definições caso necessite de requisitos especiais."
msgid "Line endings:"
msgstr "Final de linha:"
@@ -1093,8 +1296,32 @@ msgstr "Manter formatação dos ficheiros existentes"
msgid "Advanced"
msgstr "Avançado"
+msgid "Add Files..."
+msgstr "Adicionar ficheiros..."
+
+msgid "Add files..."
+msgstr "Adicionar ficheiros..."
+
+msgid "Add Folders..."
+msgstr "Adicionar pastas..."
+
+msgid "Add folders..."
+msgstr "Adicionar pastas..."
+
+msgid "Add Wildcard..."
+msgstr "Adicionar \"wildcard\"..."
+
+msgid "Add wildcard..."
+msgstr "Adicionar \"wildcard\"..."
+
+msgid "<big>Drag and Drop Folders Here</big>\n\nor use the + button"
+msgstr "<big>Arraste e largue aqui os ficheiros</big>\n\n\\ou utilize o botão +"
+
+msgid "<big>Drag and drop folders here</big>\n\nor use the + button"
+msgstr "<big>Arraste e largue aqui as pastas</big>\n\n\\ou utilize o botão +"
+
msgid "Additional keywords"
-msgstr "Palavras-chave extra"
+msgstr "Palavras-chave adicionais"
msgid "Paths"
msgstr "Caminhos"
@@ -1112,7 +1339,10 @@ msgid "UTF-8 (recommended)"
msgstr "UTF-8 (recomendado)"
msgid "Please save the file first. This section cannot be edited until then."
-msgstr "Grave o ficheiro. Esta secção não pode ser editada até que o faça."
+msgstr "Por favor guarde o ficheiro. Esta secção não pode ser editada até que o faça."
+
+msgid "Comment:"
+msgstr "Comentário:"
msgid "OK"
msgstr "Aceitar"
@@ -1123,42 +1353,6 @@ msgstr "&Apagar"
msgid "Clear the comment"
msgstr "Apagar comentário"
-msgid "Find..."
-msgstr "Localizar..."
-
-msgid "String to find:"
-msgstr "Texto a procurar:"
-
-msgid "Case sensitive"
-msgstr "Diferenciar maiúsculas de minúsculas"
-
-msgid "Start from the first item"
-msgstr "Iniciar desde a primeira entrada"
-
-msgid "Whole words only"
-msgstr "Só palavras inteiras"
-
-msgid "Find in original strings"
-msgstr "Localizar nas entradas originais"
-
-msgid "Find in translations"
-msgstr "Localizar na tradução"
-
-msgid "Find in comments"
-msgstr "Localizar nos comentários"
-
-msgid "Find in automatic comments"
-msgstr "Localizar nos comentários automáticos"
-
-msgid "Close"
-msgstr "Fechar"
-
-msgid "< &Previous"
-msgstr "< An&terior"
-
-msgid "&Next >"
-msgstr "Segui&nte >"
-
msgid "Create new translations project"
msgstr "Criar novo projeto de traduções"
@@ -1195,9 +1389,6 @@ msgstr "Fe&char"
msgid "E&xit"
msgstr "&Sair"
-msgid "Quit"
-msgstr "Sair"
-
msgid "&New..."
msgstr "&Novo..."
@@ -1207,20 +1398,32 @@ msgstr "Novo de ficheiro &POT/PO..."
msgid "New From &POT/PO File..."
msgstr "Novo de ficheiro &POT/PO..."
+msgid "New WordPress translation..."
+msgstr "Nova tradução Wordpress..."
+
+msgid "New WordPress Translation..."
+msgstr "Nova tradução Wordpress..."
+
msgid "&Open..."
msgstr "&Abrir..."
msgid "Open Recent"
msgstr "Abrir recentes"
+msgid "Open from Crowdin..."
+msgstr "Abrir do Crowdin..."
+
+msgid "Open From Crowdin..."
+msgstr "Abrir do Crowdin..."
+
msgid "&Save"
-msgstr "&Gravar"
+msgstr "&Guardar"
msgid "Save &as..."
-msgstr "Gra&var como..."
+msgstr "Guar&dar como..."
msgid "Save &As..."
-msgstr "Gra&var como..."
+msgstr "Guar&dar como..."
msgid "Compile to MO..."
msgstr "Compilar para MO..."
@@ -1231,6 +1434,9 @@ msgstr "E&xportar como HTML"
msgid "Check for updates..."
msgstr "Procurar atualizações..."
+msgid "&License..."
+msgstr "&Licença..."
+
msgid "Catalogs &manager"
msgstr "Gest&or de catálogos"
@@ -1261,14 +1467,17 @@ msgstr "Mo&strar referências"
msgid "&Find..."
msgstr "&Localizar..."
+msgid "Replace..."
+msgstr "Substituir..."
+
msgid "Find next"
msgstr "Localizar seguinte"
msgid "Find previous"
msgstr "Localizar anterior"
-msgid "Find"
-msgstr "Localizar"
+msgid "Find and Replace..."
+msgstr "Localizar e substituir..."
msgid "Find Next"
msgstr "Localizar seguinte"
@@ -1309,6 +1518,12 @@ msgstr "A&grupar por contexto"
msgid "&Group By Context"
msgstr "A&grupar por contexto"
+msgid "Entries with errors first"
+msgstr "Entradas com erros primeiro"
+
+msgid "Entries with Errors First"
+msgstr "Entradas com erros primeiro"
+
msgid "&Untranslated entries first"
msgstr "Não trad&uzidas primeiro"
@@ -1318,6 +1533,9 @@ msgstr "Não trad&uzidas primeiro"
msgid "Show sidebar"
msgstr "Mostrar barra lateral"
+msgid "Show status bar"
+msgstr "Mostrar barra de estado"
+
msgid "C&atalog"
msgstr "C&atálogo"
@@ -1333,6 +1551,9 @@ msgstr "Atualizar com base em ficheiro &POT..."
msgid "Update from &POT File..."
msgstr "Atualizar com base em ficheiro &POT..."
+msgid "Sync with Crowdin"
+msgstr "Sincronizar com o Crowdin"
+
msgid "Fill missing translations from &TM..."
msgstr "Preencher traduções a partir da M&T..."
@@ -1351,6 +1572,9 @@ msgstr "&Validar traduções"
msgid "&Validate Translations"
msgstr "&Validar traduções"
+msgid "&Statistics"
+msgstr "E&statísticas"
+
msgid "&Properties..."
msgstr "&Propriedades..."
@@ -1396,6 +1620,12 @@ msgstr "Manual &GNU gettext"
msgid "&GNU gettext Manual"
msgstr "Manual &GNU gettext"
+msgid "Email &support..."
+msgstr "&Suporte por correio eletrónico..."
+
+msgid "Email &Support..."
+msgstr "&Suporte por correio eletrónico..."
+
msgid "&About Poedit"
msgstr "&Sobre o Poedit"
@@ -1414,52 +1644,35 @@ msgstr "Invocação:"
msgid "Command to extract translations:"
msgstr "Comando para extrair traduções:"
-msgid ""
-"This is the command used to launch the extractor.\n"
-"%o expands to the name of output file, %K to list\n"
-"of keywords, %F to list of input files,\n"
-"%C to charset flag (see below)."
-msgstr ""
-"Este é o comando utilizado para iniciar o extrator.\n"
-"%o será substituído pelo nome do ficheiro de destino,\n"
-"%K pela lista de palavras chave, %F pela lista de ficheiros\n"
-"de entrada e %C pelo tipo de codificação (veja abaixo)."
+msgid "This is the command used to launch the extractor.\n%o expands to the name of output file, %K to list\nof keywords, %F to list of input files,\n%C to charset flag (see below)."
+msgstr "Este é o comando utilizado para iniciar o extrator.\n%o será substituído pelo nome do ficheiro de destino,\n%K pela lista de palavras chave, %F pela lista de ficheiros\nde entrada e %C pelo tipo de codificação (veja abaixo)."
msgid "An item in keywords list:"
msgstr "Um item na lista de palavras-chave:"
-msgid ""
-"This will be attached to the command line once\n"
-"for each keyword. %k expands to the keyword."
-msgstr ""
-"Isto será anexado à linha de comandos uma vez para cada\n"
-"palavra-chave. %k será substituído pela palavra-chave."
+msgid "This will be attached to the command line once\nfor each keyword. %k expands to the keyword."
+msgstr "Isto será anexado à linha de comandos uma vez para cada\npalavra-chave. %k será substituído pela palavra-chave."
msgid "An item in input files list:"
msgstr "Um item na lista de ficheiros de entrada:"
#, c-format
-msgid ""
-"This will be attached to the command line once\n"
-"for each input file. %f expands to the filename."
-msgstr ""
-"Isto será anexado à linha de comandos uma vez para cada\n"
-"ficheiro de entrada. %f será substituído pelo nome do ficheiro."
+msgid "This will be attached to the command line once\nfor each input file. %f expands to the filename."
+msgstr "Isto será anexado à linha de comandos uma vez para cada\nficheiro de entrada. %f será substituído pelo nome do ficheiro."
msgid "Source code charset:"
msgstr "Codificação do código fonte:"
#, c-format
-msgid ""
-"This will be attached to the command line\n"
-"only if source codecharset was given. %c expands to charset value."
-msgstr ""
-"Isto será anexado à linha de comandos se a codificação\n"
-"do código fonte tiver sido fornecida. %c será substituído pela codificação."
+msgid "This will be attached to the command line\nonly if source codecharset was given. %c expands to charset value."
+msgstr "Isto será anexado à linha de comandos se a codificação\ndo código fonte tiver sido fornecida. %c será substituído pela codificação."
msgid "Catalog properties"
msgstr "Propriedades do catálogo"
+msgid "Project name and version:"
+msgstr "Nome e versão do projeto:"
+
msgid "Plural Forms:"
msgstr "Formas plurais:"
@@ -1472,6 +1685,15 @@ msgstr "Utilizar expressão personalizada"
msgid "Learn about plural forms"
msgstr "Saber mais sobre formas plurais"
+msgid "Charset:"
+msgstr "Codificação:"
+
+msgid "Team:"
+msgstr "Equipa:"
+
+msgid "Team's email address:"
+msgstr "Endereço eletrónico da equipa:"
+
msgid "Translation properties"
msgstr "Propriedades da tradução"
@@ -1484,13 +1706,8 @@ msgstr "Caminho base:"
msgid "Sources paths"
msgstr "Caminho das fontes"
-msgid ""
-"Use these keywords (function names) to recognize translatable strings\n"
-"in source files:"
-msgstr ""
-"Utilizar estas palavras-chave (nomes de funções) para reconhecer as "
-"entradas\n"
-"passíveis de tradução nos ficheiros fonte:"
+msgid "Use these keywords (function names) to recognize translatable strings\nin source files:"
+msgstr "Utilizar estas palavras-chave (nomes de funções) para reconhecer as entradas\npassíveis de tradução nos ficheiros fonte:"
msgid "Learn about gettext keywords"
msgstr "Saber mais sobre palavras-chaves gettext"
@@ -1501,22 +1718,14 @@ msgstr "Palavras-chave das fontes"
msgid "Update summary"
msgstr "Resumo da atualização"
-msgid ""
-"These strings were found in the sources but were not in the catalog.\n"
-"Poedit will add them to the catalog now."
-msgstr ""
-"Estas entradas foram encontradas no código fonte mas não estão\n"
-"no catálogo. Serão adicionadas ao catálogo."
+msgid "These strings were found in the sources but were not in the catalog.\nPoedit will add them to the catalog now."
+msgstr "Estas entradas foram encontradas no código fonte mas não estão\nno catálogo. Serão adicionadas ao catálogo."
msgid "New strings"
msgstr "Novas entradas"
-msgid ""
-"These strings are no longer in the sources.\n"
-"Poedit will remove them from the catalog now."
-msgstr ""
-"Estas entradas já não estão no código fonte\n"
-"e serão removidas do catálogo."
+msgid "These strings are no longer in the sources.\nPoedit will remove them from the catalog now."
+msgstr "Estas entradas já não estão no código fonte\ne serão removidas do catálogo."
msgid "Obsolete strings"
msgstr "Linhas obsoletas"
@@ -1528,7 +1737,7 @@ msgid "Open"
msgstr "Abrir"
msgid "Save catalog"
-msgstr "Gravar catálogo"
+msgstr "Guardar catálogo"
msgid "Validate"
msgstr "Validar"
@@ -1536,6 +1745,12 @@ msgstr "Validar"
msgid "Check for errors in the translation"
msgstr "Procurar erros na tradução"
+msgid "Statistics"
+msgstr "Estatísticas"
+
+msgid "Show translation statistics"
+msgstr "Mostrar estatísticas de tradução"
+
msgid "Update"
msgstr "Atualizar"
@@ -1545,19 +1760,21 @@ msgstr "Atualizar catálogo e sincronizar com o código fonte"
msgid "Toggled if selected string has fuzzy translation"
msgstr "Ativada se a linha selecionada tiver uma tradução imprecisa"
-msgid "Show or hide the sidebar."
-msgstr "Mostrar ou ocultar a barra lateral."
+msgid "Sidebar"
+msgstr "Barra lateral"
+
+msgid "Show or hide the sidebar"
+msgstr "Mostrar ou ocultar a barra lateral"
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
msgid "Previous source text:"
msgstr "Texto fonte anterior:"
-msgid ""
-"The old source text (before it changed during an update) that the fuzzy "
-"translation corresponds to."
-msgstr ""
-"O texto fonte antigo (antes da alteração durante a atualização) a que a "
-"tradução imprecisa se refere."
+msgid "The old source text (before it changed during an update) that the fuzzy translation corresponds to."
+msgstr "O texto fonte antigo (antes da alteração durante a atualização) a que a tradução imprecisa se refere."
+
+msgid "Notes for translators:"
+msgstr "Notas para tradutores:"
msgid "Add comment"
msgstr "Adicionar comentário"
@@ -1565,6 +1782,18 @@ msgstr "Adicionar comentário"
msgid "Add Comment"
msgstr "Adicionar comentário"
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(from your TM)"
+msgstr "(da sua MT)"
+
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(machine translation)"
+msgstr "(tradução automatizada)"
+
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(human translation)"
+msgstr "(tradução humana)"
+
msgid "Translation suggestions:"
msgstr "Sugestões de tradução:"
@@ -1579,6 +1808,84 @@ msgstr "Nenhuma ocorrência"
msgid "This string was found in Poedit’s translation memory."
msgstr "Esta linha foi encontrada na memória de traduções do Poedit."
+msgid "This suggestion was contributed by another translator to the online TM."
+msgstr "Esta sugestão foi submetida por outro tradutor para a MT da comunidade."
+
+msgid "This suggestion was machine-translated online."
+msgstr "Esta sugestão foi enviada por uma máquina automatizada."
+
+#, c-format
+msgid "%d out of %d online suggestion left."
+msgid_plural "%d out of %d online suggestions left."
+msgstr[0] "%d de %d sugestão online restante."
+msgstr[1] "%d de %d sugestões online restante."
+
+msgid "Remove this limitation"
+msgstr "Remover esta limitação"
+
+msgid "Not showing additional online suggestions."
+msgstr "Não mostrar mais sugestões web."
+
+msgid "Unlock online suggestions"
+msgstr "Desbloquear sugestões web"
+
+msgid "Exceeded online TM daily limit."
+msgstr "Excedido o limite diário da memória web."
+
+msgid "Connect to the Internet to get additional suggestions."
+msgstr "Estabelecer ligação à Internet para obter mais sugestões."
+
+#. TRANSLATORS: Label indicating that translations made in the current file are contributed to the online translation memory. Related to the "Contribute my translations to the online TM" string.
+msgid "Contributing"
+msgstr "Contribuir"
+
+msgid "Your translations are contributed to the online translation memory as you make them. Thanks for making the suggestions better!"
+msgstr "As suas traduções serão enviadas para a memória de traduções na web à medida que são efetuadas. Obrigado por nos ajudar a melhorar as sugestões!"
+
+#. TRANSLATORS: Label indicating that the current file
+msgid "Private"
+msgstr "Privado"
+
+msgid "Translations from this file are not shared with the online translation memory."
+msgstr "As traduções deste ficheiro não serão partilhadas com a memória de tradução na web."
+
+msgid "Privacy settings"
+msgstr "Definições de privacidade"
+
+#, c-format
+msgid "While editing the file “%s”:"
+msgstr "Ao editar o ficheiro “%s”:"
+
+msgid "Items"
+msgstr "Itens"
+
+msgid "Words"
+msgstr "Palavras"
+
+msgid "Translated"
+msgstr "Traduzido"
+
+msgid "Needs review (fuzzy)"
+msgstr "Por rever (imprecisa)"
+
+msgid "Translations with errors"
+msgstr "Traduções com erros"
+
+msgid "Source Text"
+msgstr "Texto fonte"
+
+msgid "Strings in source language"
+msgstr "Linhas do idioma fonte"
+
+msgid "Not translated"
+msgstr "Por traduzir"
+
+msgid "Copy to clipboard"
+msgstr "Copiar para a área de transferência"
+
+msgid "Copy to Clipboard"
+msgstr "Copiar para a área de transferência"
+
#, c-format
msgid "(New: %i, obsolete: %i)"
msgstr "(Novas: %i, obsoletas: %i)"
@@ -1588,7 +1895,7 @@ msgid "Importing translations: %d"
msgstr "Importação de traduções: %d"
msgid "Poedit Update"
-msgstr "Atualização Poedit"
+msgstr "Atualização do Poedit"
msgid "Preparing migration..."
msgstr "A preparar migração..."
@@ -1598,15 +1905,10 @@ msgid "Migration exit status: %d"
msgstr "Estado de migração: %d"
msgid "Poedit needs to convert your translation memory to a new format."
-msgstr ""
-"O Poedit precisa de converter a memória de traduções para um novo formato."
+msgstr "O Poedit precisa de converter a memória de traduções para um novo formato."
-msgid ""
-"This must be done before Poedit can start. It may take a few minutes if you "
-"have lots of translations stored, but should normally be much faster."
-msgstr ""
-"Isto deve ser feito antes de iniciar o Poedit. Pode levar alguns minutos, "
-"caso existam muitas traduções guardadas, mas também pode ser mais rápido."
+msgid "This must be done before Poedit can start. It may take a few minutes if you have lots of translations stored, but should normally be much faster."
+msgstr "Isto deve ser feito antes de iniciar o Poedit. Pode levar alguns minutos, caso existam muitas traduções guardadas, mas também pode ser mais rápido."
msgid "Proceed"
msgstr "Continuar"
@@ -1615,62 +1917,60 @@ msgid "Translation memory migration failed."
msgstr "Falha ao migrar a memória de traduções."
#, c-format
-msgid ""
-"Your translation memory data couldn't be migrated. The error was:\n"
-"\n"
-"%s\n"
-"Please email help at poedit.net and we’ll get it fixed."
-msgstr ""
-"Os dados da memória de traduções não foram migrados. O erro foi:\n"
-"\n"
-"%s\n"
-"Envie uma mensagem para help at poedit.net e descreva-nos o erro."
+msgid "Your translation memory data couldn't be migrated. The error was:\n\n%s\nPlease email help at poedit.net and we’ll get it fixed."
+msgstr "Os dados da memória de traduções não foram migrados. O erro foi:\n\n%s\nEnvie uma mensagem para help at poedit.net e descreva-nos o erro."
msgid "Cannot create temporary directory."
msgstr "Não foi possível criar o diretório temporário."
+msgid "Check theme or plugin compatibility"
+msgstr "Analisar compatibilidade de tema ou plugin"
+
msgid "Welcome to Poedit"
msgstr "Bem-vindo ao Poedit"
+msgid "Upgrade to Pro"
+msgstr "Atualizar para Pro"
+
+msgid "Upgrade to Poedit Pro to get additional features and support Poedit's development."
+msgstr "Atualize para a versão Pro de modo a obter mais funcionalidades e ajudar no desenvolvimento."
+
msgid "Edit a translation"
msgstr "Editar tradução"
msgid "Open an existing PO file and edit the translation."
msgstr "Abrir um ficheiro PO e editar a tradução."
-msgid "Create new translation"
-msgstr "Criar nova tradução"
+msgid "Take an existing PO file or POT template and create a new translation from it."
+msgstr "Criar uma nova tradução e obter as linhas a traduzir a partir de um ficheiro PO ou POT."
-msgid ""
-"Take an existing PO file or POT template and create a new translation from "
-"it."
-msgstr ""
-"Criar uma nova tradução e obter as linhas a traduzir a partir de um ficheiro "
-"PO ou POT."
+msgid "Translate WordPress theme or plugin"
+msgstr "Traduzir plugin ou tema Wordpress"
+
+#. TRANSLATORS: Please don't use any form of "automatically" in the translation, it would mislead people.
+msgid "Create a new translation. Poedit will set everything up; you can focus on translating."
+msgstr "Criar uma nova tradução. O Poedit iá configurar o ficheiro e você apenas terá que se preocupar em o traduzir."
+
+msgid "Collaborate on a translation with Crowdin"
+msgstr "Participar num projeto de tradução do Crowdin"
+
+msgid "Download a file from Crowdin project, translate and sync your changes back."
+msgstr "Descarregue um ficheiro do Crowdin, traduza-o e sincronize as suas alterações."
+
+msgid "What is Crowdin?"
+msgstr "O que é o Crowdin?"
msgid "There are no translations. That’s unusual."
msgstr "Não existem traduções. Isto é estranho."
-msgid ""
-"Translatable entries aren't added manually in the Gettext system, but are "
-"automatically extracted\n"
-"from source code. This way, they stay up to date and accurate.\n"
-"Translators typically use PO template files (POTs) prepared for them by the "
-"developer."
-msgstr ""
-"As entradas que podem ser traduzidas não são adicionadas manualmente mas "
-"sim\n"
-"extraidas do código fonte automaticamente. Desta forma, estão sempre "
-"atualizadas.\n"
-"Normalmente, os tradutores utilizam os ficheiros POT disponibilizados pelos "
-"programadores."
+msgid "Translatable entries aren't added manually in the Gettext system, but are automatically extracted\nfrom source code. This way, they stay up to date and accurate.\nTranslators typically use PO template files (POTs) prepared for them by the developer."
+msgstr "As entradas que podem ser traduzidas não são adicionadas manualmente mas sim\nextraidas do código fonte automaticamente. Desta forma, estão sempre atualizadas.\nNormalmente, os tradutores utilizam os ficheiros POT disponibilizados pelos programadores."
msgid "(Learn more about GNU gettext)"
msgstr "(Saber mais sobre o GNU gettext)"
msgid "The simplest way to fill this catalog is to update it from a POT:"
-msgstr ""
-"O método mais fácil para preencher este catálogo é utilizar um ficheiro POT:"
+msgstr "O método mais fácil para preencher este catálogo é utilizar um ficheiro POT:"
msgid "Update from POT"
msgstr "Atualizar com base em ficheiro POT..."
@@ -1678,8 +1978,7 @@ msgstr "Atualizar com base em ficheiro POT..."
msgid "Take translatable strings from an existing POT template."
msgstr "Obter linhas a traduzir a partir de um modelo POT."
-msgid ""
-"You can also extract translatable strings directly from the source code:"
+msgid "You can also extract translatable strings directly from the source code:"
msgstr "Também pode extrair as linhas a traduzir diretamente do código fonte:"
msgid "Extract from sources"
@@ -1687,3 +1986,105 @@ msgstr "Extrair das fontes"
msgid "Configure source code extraction in Properties."
msgstr "Configure a extração do código fonte nas propriedades."
+
+#, c-format
+msgid "Failed to read file '%s'."
+msgstr "Falha ao ler o ficheiro %s."
+
+#, c-format
+msgid "Confused by ambiguous values of \"%s\" in %s."
+msgstr "Confusão gerada por valores ambíguos de \"%s\" em %s."
+
+#, c-format
+msgid "Couldn't detect POs location for \"%s\"."
+msgstr "Não foi possível detetar a localização dos PO para \"%s\"."
+
+#, c-format
+msgid "The \"%s\" theme isn't localization-ready."
+msgstr "O tema \"%s\" não está preparado para ser traduzido."
+
+msgid "Confused: multiple main plugin files."
+msgstr "Confusão: diversos ficheiros de plugins."
+
+#, c-format
+msgid "The \"%s\" plugin isn't localization-ready."
+msgstr "O plugin \"%s\" não está preparado para ser traduzido."
+
+#, c-format
+msgid "Couldn't detect translation domain of the \"%s\" plugin."
+msgstr "Não foi possível detetar o domínio de tradução do plugin \"%s\"."
+
+msgid "Found neither WordPress theme nor plugin in the folder."
+msgstr "Não foi encontrado um tema ou um plugin Wordpress."
+
+#, c-format
+msgid "Translations folder (%s) doesn't exist."
+msgstr "A pasta de tradução (%s) não existe."
+
+msgid "<big>Drag and drop <b>theme or plugin folder</b> here</big>\n\nor use the “Choose folder” button"
+msgstr "<big>Arraste e largue aqui a <b>pasta do tema ou do plugin</b></big>\n\nou utilize o botão \"Escolher pasta\""
+
+msgid "<big>Drag and Drop <b>Theme or Plugin Folder</b> Here</big>\n\nor use the “Choose Folder” button"
+msgstr "<big>Arraste e largue aqui a <b>pasta do tema ou do plugin</b></big>\n\nou utilize o botão \"Escolher pasta\""
+
+#, c-format
+msgid "Folder “%s”"
+msgstr "Pasta \"%s\""
+
+msgid "Choose Folder..."
+msgstr "Escolher pasta..."
+
+msgid "Choose folder..."
+msgstr "Escolher pasta..."
+
+msgid "Create a new translation"
+msgstr "Criar nova tradução"
+
+msgid "Choose this if you want to translate the theme or plugin into your language."
+msgstr "Escolha esta opção se quiser traduzir um tema ou plugin para o seu idioma."
+
+msgid "Create a POT"
+msgstr "Criar ficheiro POT"
+
+msgid "This option is for theme and plugin developers. Poedit will create an empty template (POT) that translations can be based on."
+msgstr "Esta opção é para programadores de temas e plugins. O Poedit irá criar um modelo vazio (POT) através do qual serão baseadas as traduções."
+
+msgid "Continue"
+msgstr "Continuar"
+
+msgid "Failed to extract WordPress information."
+msgstr "Falha ao extrair as informações Wordpress."
+
+msgid "WordPress error"
+msgstr "Erro Wordpress"
+
+#, c-format
+msgid "Poedit couldn’t understand the content of the folder you selected. This may be a problem with the plugin/theme or it may be Poedit being silly. The error is:\n\n • %s\n\nPlease email help at poedit.net and we’ll sort it out."
+msgstr "O Poedit não conseguiu reconhecer o conteúdo da pasta selecionada. Pode existir um problema com o plugin ou tema ou então com o Poedit. O erro é::\n\n • %s\n\nEnvie uma mensagem para help at poedit.net para dar-mos uma olhada."
+
+#. TRANSLATORS: This is a button that sends an email to support when clicked
+msgid "Email support"
+msgstr "Suporte por correio eletrónico"
+
+msgid "View log"
+msgstr "Ver registo"
+
+#. TRANSLATORS: This is a button that sends an email to support when clicked
+msgid "Email Support"
+msgstr "Suporte por correio eletrónico"
+
+msgid "View Log"
+msgstr "Ver registo"
+
+msgid "WordPress Errors Log"
+msgstr "Registo de erros Wordpress"
+
+msgid "Please email this log to help at poedit.net. Thank you!"
+msgstr "Envie este registo para help at poedit.net. Obrigado!"
+
+msgid "Sync"
+msgstr "Sincronização"
+
+msgid "Synchronize the translation with Crowdin"
+msgstr "Sincronizar tradução com o Crowdin"
+
diff --git a/locales/ro.mo b/locales/ro.mo
index 000cbbd..ad28f6c 100644
Binary files a/locales/ro.mo and b/locales/ro.mo differ
diff --git a/locales/ro.po b/locales/ro.po
index c0938fd..323952d 100644
--- a/locales/ro.po
+++ b/locales/ro.po
@@ -1,22 +1,55 @@
msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
-"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:34-0400\n"
+"Report-Msgid-Bugs-To: poedit at googlegroups.com\n"
+"POT-Creation-Date: 2015-05-11 08:48+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Romanian\n"
"Language: ro_RO\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100>0 && n"
-"%100<20)) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100>0 && n%100<20)) ? 1 : 2);\n"
"X-Generator: crowdin.com\n"
"X-Crowdin-Project: poedit\n"
"X-Crowdin-Language: ro\n"
"X-Crowdin-File: /locales/poedit.pot\n"
+#. TRANSLATORS: This is titlebar of about dialog, "%s" is application name
+#. ("Poedit" here, but please use "%s")
+#, c-format
+msgid "About %s"
+msgstr "Despre %s"
+
+#. TRANSLATORS: This is version information in about dialog, "%s" will be
+#. version number when used
+#, c-format
+msgid "Version %s"
+msgstr "Versiune %s"
+
+msgid "Based on the open source version →"
+msgstr "Bazat pe versiune open-source →"
+
+msgid "Acknowledgements"
+msgstr "Mulţumiri"
+
+msgid "Rate on the App Store"
+msgstr "Rata de pe App Store"
+
+msgid "License Agreement"
+msgstr "Acord de licenţă"
+
+#, c-format
+msgid "Licensed to %s"
+msgstr "Licentiat la %s"
+
+msgid "Purchased on the Mac App Store"
+msgstr "Achiziţionat de pe App Store Mac"
+
+msgid "Free version (please upgrade!)"
+msgstr "Versiunea gratuită (vă rugăm să faceți upgrade!)"
+
msgid "Hide this notification message"
msgstr "Ascunde acest mesaj de informare"
@@ -41,60 +74,46 @@ msgstr "Linia %d din fişierul \"%s\" este corupt (nu este valabil %s de date)."
msgid "Malformed header: '%s'"
msgstr "Antet malformat: '%s'"
-msgid ""
-"Broken catalog file: singular form msgstr used together with msgid_plural"
-msgstr ""
-"Fișier catalog stricat: forma de singular msgtr a fost folosită împreună cu "
-"msgid_plural"
+msgid "Broken catalog file: singular form msgstr used together with msgid_plural"
+msgstr "Fișier catalog stricat: forma de singular msgtr a fost folosită împreună cu msgid_plural"
msgid "Broken catalog file: plural form msgstr used without msgid_plural"
-msgstr ""
-"Fișier catalog deteriorat: forma de plural msgtr a fost folosită fără "
-"msgid_plural"
+msgstr "Fișier catalog deteriorat: forma de plural msgtr a fost folosită fără msgid_plural"
-msgid ""
-"There were errors when loading the catalog. Some data may be missing or "
-"corrupted as the result."
-msgstr ""
-"Au apărut unele erori la încărcarea catalogului. E posibil ca unele date să "
-"lipseasca sau să fie deteriorate."
+msgid "There were errors when loading the catalog. Some data may be missing or corrupted as the result."
+msgstr "Au apărut unele erori la încărcarea catalogului. E posibil ca unele date să lipseasca sau să fie deteriorate."
#, c-format
msgid "Couldn't load file %s, it is probably corrupted."
msgstr "Nu se poate încărca fișierul %s, probabil că este deteriorat."
#, c-format
-msgid ""
-"File '%s' is read-only and cannot be saved.\n"
-"Please save it under different name."
-msgstr ""
-"Fișierul '%s' poate fi doar citit și nu poate fi salvat.\n"
-"Salvați-l sub un alt nume."
+msgid "File '%s' is read-only and cannot be saved.\nPlease save it under different name."
+msgstr "Fișierul '%s' poate fi doar citit și nu poate fi salvat.\nSalvați-l sub un alt nume."
#, c-format
msgid "Couldn't save file %s."
msgstr "Nu se poate salva fișierul %s."
-msgid ""
-"There was a problem formatting the file nicely (but it was saved all right)."
-msgstr ""
-"A fost o problemă la formatarea fișierului (dar a fost salvat în regulă)."
+msgid "There was a problem formatting the file nicely (but it was saved all right)."
+msgstr "A fost o problemă la formatarea fișierului (dar a fost salvat în regulă)."
#, c-format
-msgid ""
-"The catalog couldn't be saved in '%s' charset as specified in catalog "
-"settings.\n"
-"\n"
-"It was saved in UTF-8 instead and the setting was modified accordingly."
-msgstr ""
-"Catalogul nu a putut fi salvat în '%s' set de caractere specificat în "
-"catalogul setari.\n"
-"\n"
-" El a fost salvat în UTF-8, şi setarea a fost modificat în consecință."
+msgid "The catalog couldn't be saved in '%s' charset as specified in catalog settings.\n\nIt was saved in UTF-8 instead and the setting was modified accordingly."
+msgstr "Catalogul nu a putut fi salvat în '%s' set de caractere specificat în catalogul setari.\n\n El a fost salvat în UTF-8, şi setarea a fost modificat în consecință."
msgid "Error saving catalog"
msgstr "Eroare la salvarea catalogului"
+msgid "PO Translation Files"
+msgstr "Dosar de traducere PO"
+
+msgid "POT Translation Templates"
+msgstr "Şabloane de traducere"
+
+msgid "All Translation Files"
+msgstr ""
+
msgid "Merging differences..."
msgstr "Unesc diferențele..."
@@ -114,6 +133,81 @@ msgstr "Selectare limbă"
msgid "You must restart Poedit for this change to take effect."
msgstr "Trebuie să reporniți Poedit pentru ca această schimbare să aibă efect."
+msgid "Downloading translations is disabled in this project."
+msgstr "Descărcare traduceri este dezactivată în acest proiect."
+
+msgid "Not authorized, please sign in again."
+msgstr "Neautorizat, vă rugăm să faceţi \"sign in\" din nou."
+
+msgid "Sign in to Crowdin"
+msgstr "Conectaţi-vă la Crowdin"
+
+msgid "Crowdin is an online localization management platform and collaborative translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr "Crowdin este o platforma de management online şi instrument de traducere. Poedit perfect se sincronizează cu fişiere PO la Crowdin."
+
+msgid "Sign In"
+msgstr "Autentificare"
+
+msgid "Sign in"
+msgstr "Autentificare"
+
+msgid "Sign Out"
+msgstr "Deconectare"
+
+msgid "Sign out"
+msgstr "Deconectare"
+
+msgid "Waiting for authentication…"
+msgstr "Aşteptati pentru autentificare..."
+
+msgid "Updating user information…"
+msgstr "Actualizarea informaţiilor de utilizator..."
+
+msgid "Signed in as:"
+msgstr "Autentificat ca:"
+
+msgid "Learn More About Crowdin"
+msgstr "Aflaţi mai multe despre Crowdin"
+
+msgid "Learn more about Crowdin"
+msgstr "Aflaţi mai multe despre Crowdin"
+
+msgid "Open Crowdin translation"
+msgstr "Deschide traducere Crowdin"
+
+msgid "Project:"
+msgstr "Proiect: :"
+
+msgid "Language:"
+msgstr "Limba:"
+
+msgid "File:"
+msgstr "Fişier:"
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr "Nu sunt proiecte de traducere în contul tau Crowdin."
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr "Acest proiect nu are dosare care pot fi traduse în Poedit."
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr ""
+
+msgid "Downloading latest translations…"
+msgstr "Descărcare ultimele traduceri..."
+
+msgid "Syncing with Crowdin"
+msgstr "Sincronizarea cu Crowdin"
+
+msgid "Syncing with Crowdin failed."
+msgstr "Sincronizarea cu Crowdin nu a reușit."
+
+msgid "Crowdin error"
+msgstr "Crowdin eroare"
+
+msgid "Uploading translations…"
+msgstr "Încărcarea traduceri..."
+
msgid "&Copy"
msgstr "& Copie"
@@ -141,25 +235,43 @@ msgstr "Parsez %s fișiere..."
msgid "Failed to load extracted catalog."
msgstr "Încărcarea catalogului extras a eșuat."
+#, c-format
+msgid "Failed to extract WordPress metadata from file %s."
+msgstr ""
+
msgid "&Help"
msgstr "&Ajutor"
+msgid "Beta expired"
+msgstr "Beta expirat"
+
+msgid "This beta version of Poedit expired."
+msgstr "Aceasta beta traducere de Poedit a expirat."
+
+msgid "Please download a newer version from the Poedit website at http://poedit.net/download"
+msgstr "Vă rugăm să descărcaţi o versiune mai nouă Poedit de pe site-ul http://poedit.net/download"
+
+msgid "Download"
+msgstr " Descărcare"
+
+msgid "Quit"
+msgstr "Termină"
+
msgid "MO files can’t be directly edited in Poedit."
msgstr "MO fişiere nu pot fi editate direct în Poedit."
msgid "Error opening file"
msgstr "Eroare de deschidere fişier"
-msgid ""
-"Please open and edit the corresponding PO file instead. When you save it, "
-"the MO file will be updated as well."
-msgstr ""
-"Vă rugăm să deschideţi şi editaţi fişierul PO corespunzător. Atunci când îl "
-"salvaţi, fişierul MO va fi actualizat, de asemenea."
+msgid "Please open and edit the corresponding PO file instead. When you save it, the MO file will be updated as well."
+msgstr "Vă rugăm să deschideţi şi editaţi fişierul PO corespunzător. Atunci când îl salvaţi, fişierul MO va fi actualizat, de asemenea."
msgid "don't delete temporary files (for debugging)"
msgstr "nu șterge fișierele temporare (pentru depanare)"
+msgid "handle a poedit:// URI"
+msgstr ""
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr "Excepție netratată s-a produs: %s"
@@ -170,34 +282,19 @@ msgstr "Sa produs o excepție netratată."
msgid "Open catalog"
msgstr "Deschide catalog"
-msgid "All Files"
-msgstr "Toate fişierele"
-
-msgid "PO Translation Files"
-msgstr "Dosar de traducere PO"
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "Fișierul '%s' nu există."
-#. TRANSLATORS: This is titlebar of about dialog, "%s" is application name
-#. ("Poedit" here, but please use "%s")
-#, c-format
-msgid "About %s"
-msgstr "Despre %s"
-
-#. TRANSLATORS: This is version information in about dialog, "%s" will be
-#. version number when used
-#, c-format
-msgid "Version %s"
-msgstr "Versiune %s"
-
msgid "Poedit is an easy to use translations editor."
msgstr "Podit este un editor de traduceri ușor de folosit."
msgid "Catalogs Manager"
msgstr "Manager de cataloage"
+msgid "License..."
+msgstr "Licenta..."
+
msgid "Check for Updates..."
msgstr "Verific pentru actualizări..."
@@ -279,6 +376,15 @@ msgstr "Oprire vorbire"
msgid "&View"
msgstr "&Vizualizare"
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
+msgid "Show Toolbar"
+msgstr "Arată bara de instrumente"
+
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
+msgid "Customize Toolbar…"
+msgstr "Personalizaţi bara de instrumente..."
+
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
msgid "Enter Full Screen"
msgstr "Intrati in ecran complet"
@@ -294,19 +400,28 @@ msgstr "Zoom"
msgid "Bring All to Front"
msgstr "Aduce tot in fata"
+#. TRANSLATORS:File kind displayed in Finder/Explorer
msgid "PO Translation"
msgstr "Traducere PO"
+msgid "Invalid license data."
+msgstr "Date nevalide de licenţă."
+
+msgid "Poedit"
+msgstr "Poedit"
+
+#, c-format
+msgid "The link doesn't contain valid Poedit license. Try entering it manually or contact support at help at poedit.net.\n\n(%s)"
+msgstr "Link-ul nu conţine licenţă valabilă Poedit. Încercaţi să introduceţi-l manual sau contactaţi de sprijin la help at poedit.net.\n\n(%s)"
+
msgid "The file cannot be opened."
msgstr "Imposibil de deschis fișierul."
msgid "Invalid file"
msgstr "Fişier nevalid"
-msgid ""
-"The file may be either corrupted or in a format not recognized by Poedit."
-msgstr ""
-"Fişierul poate sa fie corupt sau într-un format nerecunoscut de Poedit."
+msgid "The file may be either corrupted or in a format not recognized by Poedit."
+msgstr "Fişierul poate sa fie corupt sau într-un format nerecunoscut de Poedit."
msgid "&Undo"
msgstr "&Inapoi"
@@ -383,9 +498,6 @@ msgstr "Nu puteți să depuneți mai mult de un fișier în fereastra Poedit."
msgid "File '%s' is not a message catalog."
msgstr "Fișierul '%s' nu este un catalog de mesaje."
-msgid "Poedit"
-msgstr "Poedit"
-
msgid "&File"
msgstr "&Fișier"
@@ -404,15 +516,21 @@ msgstr "Plural:"
msgid "Translation:"
msgstr "Traducere:"
+msgid "POT files are only templates and don’t contain any translations themselves.\nTo make a translation, create a new PO file based on the template."
+msgstr ""
+
+msgid "Create New Translation"
+msgstr ""
+
+msgid "Create new translation"
+msgstr ""
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
#, c-format
-msgid ""
-"Spellchecking is disabled, because the dictionary for %s isn’t installed."
-msgstr ""
-"Spellchecking este dezactivat, pentru că dicţionarul pentru %s nu este "
-"instalat."
+msgid "Spellchecking is disabled, because the dictionary for %s isn’t installed."
+msgstr "Spellchecking este dezactivat, pentru că dicţionarul pentru %s nu este instalat."
msgid "Install"
msgstr "Instalaţi"
@@ -453,8 +571,30 @@ msgstr "Fişierele HTML"
msgid "Open catalog template"
msgstr "Deschide model catalog"
-msgid "POT Translation Templates"
-msgstr "Şabloane de traducere"
+msgid "WordPress"
+msgstr "WordPress"
+
+msgid "Analyzing WordPress code..."
+msgstr "Analiza cod WordPress..."
+
+msgid "Select the folder with the WordPress theme or plugin"
+msgstr "Selectaţi folderul cu WordPress temă sau plugin"
+
+#. TRANSLATORS: %s is name of a WordPress theme
+#, c-format
+msgid "The “%s” theme is compatible."
+msgstr "Tema \"%s\" este compatibila."
+
+#. TRANSLATORS: %s is name of a WordPress plugin
+#, c-format
+msgid "The “%s” plugin is compatible."
+msgstr "Plugin-ul \"%s\" este compatibil."
+
+msgid "The theme is translation-ready and compatible with Poedit’s WordPress support."
+msgstr "Tema este traducere-gata şi compatibil cu Poedit pe WordPress suport."
+
+msgid "The plugin is translation-ready and compatible with Poedit’s WordPress support."
+msgstr "Tema este traducere-gata şi compatibil cu Poedit pe WordPress suport."
msgid "Updating catalog"
msgstr "Actualizare catalog"
@@ -465,19 +605,14 @@ msgstr "Codul sursă nu este disponibil."
msgid "Updating failed"
msgstr "Actualizarea nu a reușit"
-msgid ""
-"Translations couldn’t be updated from the source code, because no code was "
-"found in the location specified in the catalog’s Properties."
-msgstr ""
-"Versiunea nu a putut fi actualizata la codul sursă, deoarece codul nu a fost "
-"găsit în locaţia specificată în catalog pe proprietăţi."
+msgid "Translations couldn’t be updated from the source code, because no code was found in the location specified in the catalog’s Properties."
+msgstr "Versiunea nu a putut fi actualizata la codul sursă, deoarece codul nu a fost găsit în locaţia specificată în catalog pe proprietăţi."
msgid "Entries in the catalog are probably incorrect."
msgstr "Intrările din catalog sînt probabil incorecte."
msgid "Updating the catalog failed. Click on 'Details >>' for details."
-msgstr ""
-"A eșuat actualizarea catalogului. Apăsați pe 'Detalii >>' pentru detalii."
+msgstr "A eșuat actualizarea catalogului. Apăsați pe 'Detalii >>' pentru detalii."
#, c-format
msgid "%d issue with the translation found."
@@ -489,36 +624,20 @@ msgstr[2] "%d de probleme cu traducerea au fost găsite."
msgid "Validation results"
msgstr "Validarea rezultatelor"
-msgid ""
-"Entries with errors were marked in red in the list. Details of the error "
-"will be shown when you select such an entry."
-msgstr ""
-"Intrările cu erori au fost marcate cu roșu în listă. Detaliile erorii va fi "
-"arătate când selectați o astfel de intrare."
+msgid "Entries with errors were marked in red in the list. Details of the error will be shown when you select such an entry."
+msgstr "Intrările cu erori au fost marcate cu roșu în listă. Detaliile erorii va fi arătate când selectați o astfel de intrare."
msgid "The file was saved safely."
msgstr "Fişierul a fost salvat în condiţii de siguranţă."
-msgid ""
-"The file was saved safely and compiled into the MO format, but it will "
-"probably not work correctly."
-msgstr ""
-"Fişierul a fost salvat în condiţii de siguranţă şi compilate în formatul MO, "
-"dar, probabil, nu va funcţiona corect."
+msgid "The file was saved safely and compiled into the MO format, but it will probably not work correctly."
+msgstr "Fişierul a fost salvat în condiţii de siguranţă şi compilate în formatul MO, dar, probabil, nu va funcţiona corect."
-msgid ""
-"The file was saved safely, but it cannot be compiled into the MO format and "
-"used."
-msgstr ""
-"Fișierul a fost salvat în siguranță, dar nu poate fi compilat in format MO "
-"și folosit."
+msgid "The file was saved safely, but it cannot be compiled into the MO format and used."
+msgstr "Fișierul a fost salvat în siguranță, dar nu poate fi compilat in format MO și folosit."
-msgid ""
-"The file was compiled into the MO format, but it will probably not work "
-"correctly."
-msgstr ""
-"Fişierul a fost compilat în formatul MO, dar, probabil, nu va funcţiona "
-"corect."
+msgid "The file was compiled into the MO format, but it will probably not work correctly."
+msgstr "Fişierul a fost compilat în formatul MO, dar, probabil, nu va funcţiona corect."
msgid "The file cannot be compiled into the MO format and used."
msgstr "Fişierul nu poate fi compilat în formatul MO şi utilizat."
@@ -528,8 +647,7 @@ msgstr "Nu au fost găsite probleme cu traducerea."
#, c-format
msgid "The translation is ready for use, but %d entry is not translated yet."
-msgid_plural ""
-"The translation is ready for use, but %d entries are not translated yet."
+msgid_plural "The translation is ready for use, but %d entries are not translated yet."
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
@@ -537,40 +655,61 @@ msgstr[2] ""
msgid "The translation is ready for use."
msgstr "Traducerea este gata de folosit."
-msgid "No references to this string found."
-msgstr "Nu a fost găsite referințe la acest șir."
+msgid "Contributing translations improves the quality of online suggestions for everybody — the more people do it, the better the suggestions can be. Your translations are submitted anonymously and are available to other translators using Poedit or other CAT tools."
+msgstr ""
+
+msgid "Can Poedit contribute your translations of this file to the online translation memory?"
+msgstr ""
+
+msgid "Apply to all files I edit"
+msgstr ""
+
+msgid "Contribute"
+msgstr "Contribuie"
-msgid "Please choose the reference you want to show:"
-msgstr "Alegeți referința care doriți să fie afișată:"
+msgid "Keep Private"
+msgstr "Păstraţi Anonim"
-msgid "References"
-msgstr "Referințe"
+msgid "Keep private"
+msgstr "Păstraţi Anonim"
msgid "Context:"
msgstr "Context:"
-msgid "Language of the translation isn't set."
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
msgstr ""
-msgid "Set Language"
+msgid "The file contained duplicate items, which is not allowed in PO files and would prevent the file from being used. Poedit fixed the issue, but you should review translations of any items marked as fuzzy and correct them if necessary."
msgstr ""
+msgid "Language of the translation isn't set."
+msgstr "Limba de traducere nu este setată."
+
+msgid "Set Language"
+msgstr "Setare limbă"
+
msgid "Set language"
+msgstr "Setare limbă"
+
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid "Suggestions are not available if the translation language is not set correctly. Other features, such as plural forms, may be affected as well."
+msgstr "Sugestiile nu sunt disponibile în cazul în care limba de traducere nu este setata corect. Alte caracteristici, cum ar fi forme de plural, pot fi afectate."
+
+msgid "Language of the translation is the same as source language."
msgstr ""
-msgid ""
-"This catalog has entries with plural forms, but doesn't have Plural-Forms "
-"header configured."
+msgid "Fix Language"
msgstr ""
-"Acest catalog are intrări cu forme de plural, dar nu are cadrul formelor de "
-"plural configurat."
-msgid ""
-"Entries in this catalog have different plural forms count from what "
-"catalog's Plural-Forms header says"
+msgid "Fix language"
msgstr ""
-"Intrările în acest catalog au diferite forme de plural calculate din ceea ce "
-"spune catalogul cadru formelor de plural"
+
+msgid "This catalog has entries with plural forms, but doesn't have Plural-Forms header configured."
+msgstr "Acest catalog are intrări cu forme de plural, dar nu are cadrul formelor de plural configurat."
+
+msgid "Entries in this catalog have different plural forms count from what catalog's Plural-Forms header says"
+msgstr "Intrările în acest catalog au diferite forme de plural calculate din ceea ce spune catalogul cadru formelor de plural"
msgid "Required header Plural-Forms is missing."
msgstr "Lipsește antetul formelor de plural solicitat."
@@ -592,6 +731,7 @@ msgstr "Repară antetul"
msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr ""
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr ""
@@ -614,12 +754,23 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
msgid " (unsaved)"
msgstr ""
msgid " (modified)"
msgstr " (modificat)"
+#, c-format
+msgid " (beta version expires %s)"
+msgstr ""
+
msgid "Go"
msgstr ""
@@ -633,14 +784,8 @@ msgstr "Curăță traducerile șterse"
msgid "Do you want to remove all translations that are no longer used?"
msgstr "Doriți să eliminați toate traducerile care nu mai sunt folosite?"
-msgid ""
-"If you continue with purging, all translations marked as deleted will be "
-"permanently removed. You will have to translate them again if they are added "
-"back in the future."
-msgstr ""
-"Dacă veți continua cu curățarea, toate traducerile marcate ca șterse vor fi "
-"definitiv eliminate. Va trebui să le traduceți din nou dacă vor fi adăugate "
-"înapoi în viitor."
+msgid "If you continue with purging, all translations marked as deleted will be permanently removed. You will have to translate them again if they are added back in the future."
+msgstr "Dacă veți continua cu curățarea, toate traducerile marcate ca șterse vor fi definitiv eliminate. Va trebui să le traduceți din nou dacă vor fi adăugate înapoi în viitor."
msgid "Keep"
msgstr "Păstrează"
@@ -654,17 +799,22 @@ msgstr ""
msgid "Only fill in exact matches"
msgstr ""
-msgid ""
-"By default, inaccurate results are filled in as well and marked as fuzzy. "
-"Check this option to only include accurate matches."
+msgid "By default, inaccurate results are filled in as well and marked as fuzzy. Check this option to only include accurate matches."
msgstr ""
msgid "Don’t mark exact matches as fuzzy"
msgstr ""
-msgid ""
-"Only enable if you trust the quality of your TM. By default, all matches "
-"from the TM are marked as fuzzy and should be reviewed."
+msgid "Only enable if you trust the quality of your TM. By default, all matches from the TM are marked as fuzzy and should be reviewed."
+msgstr ""
+
+msgid "Use online suggestions"
+msgstr ""
+
+msgid "Use online suggestions (experimental)"
+msgstr ""
+
+msgid "Try to fetch translations from the online TM as well. Notice that the translations will not be perfect and will still need to be corrected by a human translator."
msgstr ""
msgid "Fill"
@@ -677,18 +827,13 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
-msgid ""
-"The translations were marked as fuzzy, because they may be inaccurate. You "
-"should review them for correctness."
+msgid "The translations were marked as fuzzy, because they may be inaccurate. You should review them for correctness."
msgstr ""
msgid "No entries could be filled from the translation memory."
msgstr ""
-msgid ""
-"The TM doesn’t contain any strings similar to the content of this file. It "
-"is only effective for semi-automatic translations after Poedit learns enough "
-"from files that you translated manually."
+msgid "The TM doesn’t contain any strings similar to the content of this file. It is only effective for semi-automatic translations after Poedit learns enough from files that you translated manually."
msgstr ""
msgid "Translating"
@@ -732,6 +877,9 @@ msgstr ""
msgid "Form %i"
msgstr "Forma %i"
+msgid "Singular"
+msgstr ""
+
msgid "Zero"
msgstr ""
@@ -741,6 +889,9 @@ msgstr ""
msgid "Two"
msgstr ""
+msgid "Plural"
+msgstr ""
+
msgid "Other"
msgstr ""
@@ -769,6 +920,12 @@ msgstr ""
msgid "Show Sidebar"
msgstr ""
+msgid "Hide Status Bar"
+msgstr ""
+
+msgid "Show Status Bar"
+msgstr ""
+
msgid "Source text"
msgstr "Text sursă"
@@ -778,6 +935,10 @@ msgstr "raducere"
msgid "ID"
msgstr ""
+#, c-format
+msgid "Source text — %s"
+msgstr ""
+
msgid "unknown language"
msgstr ""
@@ -788,57 +949,73 @@ msgstr ""
msgid "Error:"
msgstr "Eroare:"
-msgid "Project info"
-msgstr "Informații despre proiect"
+msgid "Source file"
+msgstr "Fișier sursă"
+
+msgid "Source file occurrence:"
+msgstr "Apariția fișierului sursă:"
-msgid "Project name and version:"
-msgstr "Nume și versiune proiect:"
+msgid "Open in Editor"
+msgstr ""
-msgid "Language:"
-msgstr "Limba:"
+msgid "Open in editor"
+msgstr ""
-msgid "Team:"
-msgstr "Echipa:"
+msgid "No references for the selected item."
+msgstr ""
-msgid "Team's email address:"
-msgstr "Adresa de E-mail a echipei:"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "Eroare la deschiderea fișierului %s!"
-msgid "Charset:"
-msgstr "Set de caractere:"
+msgid "Find"
+msgstr ""
-msgid "Source"
-msgstr "Sursă"
+msgid "Replace"
+msgstr ""
-msgid "Notes"
-msgstr "Note"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr ""
-msgid "Automatic translation"
-msgstr "Traducere automată"
+msgid "Ignore case"
+msgstr ""
-msgid "Fuzzy translation"
-msgstr "Traducere aproximativă"
+msgid "Wrap around"
+msgstr ""
-msgid "Notes for translators:"
-msgstr "Note pentru traducători:"
+msgid "Whole words only"
+msgstr "Doar cuvinte întregi"
-msgid "Comment:"
-msgstr "Comentariu:"
+msgid "Find in source texts"
+msgstr ""
-msgid "Source file"
-msgstr "Fișier sursă"
+msgid "Find in translations"
+msgstr ""
-msgid "Source file occurrence:"
-msgstr "Apariția fișierului sursă:"
+msgid "Find in comments"
+msgstr "Găsește în comentarii"
-msgid "Open in Editor"
+msgid "Close"
+msgstr "Închide"
+
+msgid "Replace All"
msgstr ""
-msgid "Open in editor"
+msgid "Replace all"
msgstr ""
-#, c-format
-msgid "Error opening file %s!"
-msgstr "Eroare la deschiderea fișierului %s!"
+msgid "< &Previous"
+msgstr ""
+
+msgid "&Next >"
+msgstr ""
+
+msgid "String to find"
+msgstr ""
+
+msgid "Replacement string"
+msgstr ""
#, c-format
msgid "Cannot execute program: %s"
@@ -853,10 +1030,59 @@ msgstr ""
msgid "Language of the translation:"
msgstr ""
-msgid "Poedit - Catalogs manager"
-msgstr "Poedit - Administrator de cataloage"
+msgid "Poedit Registration"
+msgstr ""
-msgid "Catalog"
+msgid "Name"
+msgstr ""
+
+msgid "License Key"
+msgstr ""
+
+msgid "The registration key can be used on multiple computers you use personally or for multiple\naccounts on a single computer."
+msgstr ""
+
+msgid "Buy Online..."
+msgstr ""
+
+msgid "Buy online..."
+msgstr ""
+
+msgid "Cancel"
+msgstr "Anulează"
+
+msgid "Register"
+msgstr ""
+
+msgid "Your copy is upgraded to Poedit Pro."
+msgstr ""
+
+msgid "You’re awesome! Thank you so much\nfor purchasing Poedit Pro."
+msgstr ""
+
+msgid "View License Key"
+msgstr ""
+
+msgid "View license key"
+msgstr ""
+
+#, c-format
+msgid "Licensed to: %s"
+msgstr ""
+
+msgid "Purchasing the full version will unlock more features\nin this and future versions of Poedit, including:\n\n"
+msgstr ""
+
+msgid "Upgrade..."
+msgstr ""
+
+msgid "No, thanks"
+msgstr ""
+
+msgid "Poedit - Catalogs manager"
+msgstr "Poedit - Administrator de cataloage"
+
+msgid "Catalog"
msgstr "Catalog"
msgid "Total"
@@ -889,12 +1115,8 @@ msgstr "Doriți să ștergeți proiectul?"
msgid "Confirmation"
msgstr "Confirmare"
-msgid ""
-"Do you really want to do mass update of\n"
-"all catalogs in this project?"
-msgstr ""
-"Sigur doriți să actualizați în ansamblu\n"
-"toate cataloagele din acest proiect?"
+msgid "Do you really want to do mass update of\nall catalogs in this project?"
+msgstr "Sigur doriți să actualizați în ansamblu\ntoate cataloagele din acest proiect?"
msgid "Information about the translator"
msgstr ""
@@ -911,9 +1133,7 @@ msgstr ""
msgid "your_email at example.com"
msgstr ""
-msgid ""
-"Your name and email address are only used to set the Last-Translator header "
-"of GNU gettext files."
+msgid "Your name and email address are only used to set the Last-Translator header of GNU gettext files."
msgstr ""
msgid "Editing"
@@ -931,15 +1151,8 @@ msgstr ""
msgid "Always change focus to text input field"
msgstr "Pune mereu focalizarea pe cîmpul de introducere a textului"
-msgid ""
-"Never let the list of strings take focus. If enabled, you must use Ctrl-"
-"arrows for keyboard navigation but you can also type text immediately, "
-"without having to press Tab to change focus."
-msgstr ""
-"Nu lasă niciodată lista de șiruri să preia focalizarea. Dacă este activată, "
-"trebuie să folosiți Ctrl-săgeți pentru navigarea cu tastatura dar puteți de "
-"asemenea să scrieți textul imediat, fără a trebui să apăsați Tab pentru a "
-"schimba focalizarea."
+msgid "Never let the list of strings take focus. If enabled, you must use Ctrl-arrows for keyboard navigation but you can also type text immediately, without having to press Tab to change focus."
+msgstr "Nu lasă niciodată lista de șiruri să preia focalizarea. Dacă este activată, trebuie să folosiți Ctrl-săgeți pentru navigarea cu tastatura dar puteți de asemenea să scrieți textul imediat, fără a trebui să apăsați Tab pentru a schimba focalizarea."
msgid "Appearance"
msgstr ""
@@ -976,11 +1189,29 @@ msgstr ""
msgid "Consult TM when updating from sources"
msgstr ""
-msgid ""
-"If enabled, Poedit will try to fill in new entries using your previous\n"
-"translations stored in the translation memory. If the TM is\n"
-"near-empty, it will not be very effective. The more translations\n"
-"you edit and the larger the TM grows, the better it gets."
+msgid "If enabled, Poedit will try to fill in new entries using your previous\ntranslations stored in the translation memory. If the TM is\nnear-empty, it will not be very effective. The more translations\nyou edit and the larger the TM grows, the better it gets."
+msgstr ""
+
+msgid "Use suggestions from online collaborative TM"
+msgstr ""
+
+msgid "Poedit uses a large online translation memory that includes both contributed human translations and state-of-the-art machine translations."
+msgstr ""
+
+msgid "Contribute my translations to the online TM"
+msgstr ""
+
+msgid "Keep my translations private"
+msgstr ""
+
+msgid "Ask me for each file individually"
+msgstr ""
+
+msgid "Terms of Service"
+msgstr ""
+
+#. TRANSLATORS: This is part of footer that says in full "powered by MyMemory", with the MyMemory part being a logo
+msgid "powered by"
msgstr ""
msgid "Stored translations:"
@@ -1007,23 +1238,16 @@ msgstr ""
msgid "Are you sure you want to reset the translation memory?"
msgstr ""
-msgid ""
-"Resetting the translation memory will irrevocably delete all stored "
-"translations from it. You can’t undo this operation."
+msgid "Resetting the translation memory will irrevocably delete all stored translations from it. You can’t undo this operation."
msgstr ""
-msgid "Cancel"
-msgstr "Anulează"
-
#. TRANSLATORS: This is abbreviation of "Translation Memory" used in Preferences on OS X.
#. Long text looks weird there, too short (like TM) too, but less so. "General" is about ideal
#. length there.
msgid "TM"
msgstr ""
-msgid ""
-"Source code extractors are used to find translatable strings in the source "
-"code files and extract them so that they can be translated."
+msgid "Source code extractors are used to find translatable strings in the source code files and extract them so that they can be translated."
msgstr ""
msgid "New"
@@ -1032,26 +1256,32 @@ msgstr "Nou"
msgid "Edit"
msgstr "Editare"
+msgid "Delete extractor"
+msgstr ""
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr ""
+
msgid "Extractors"
msgstr ""
+msgid "Accounts"
+msgstr ""
+
msgid "Automatically check for updates"
msgstr ""
msgid "Include beta versions"
msgstr ""
-msgid ""
-"Beta versions contain the latest new features and improvements, but may be a "
-"bit less stable."
+msgid "Beta versions contain the latest new features and improvements, but may be a bit less stable."
msgstr ""
msgid "Updates"
msgstr ""
-msgid ""
-"These settings affect internal formatting of PO files. Adjust them if you "
-"have specific requirements e.g. because of version control."
+msgid "These settings affect internal formatting of PO files. Adjust them if you have specific requirements e.g. because of version control."
msgstr ""
msgid "Line endings:"
@@ -1073,6 +1303,30 @@ msgstr ""
msgid "Advanced"
msgstr ""
+msgid "Add Files..."
+msgstr ""
+
+msgid "Add files..."
+msgstr ""
+
+msgid "Add Folders..."
+msgstr ""
+
+msgid "Add folders..."
+msgstr ""
+
+msgid "Add Wildcard..."
+msgstr ""
+
+msgid "Add wildcard..."
+msgstr ""
+
+msgid "<big>Drag and Drop Folders Here</big>\n\nor use the + button"
+msgstr ""
+
+msgid "<big>Drag and drop folders here</big>\n\nor use the + button"
+msgstr ""
+
msgid "Additional keywords"
msgstr ""
@@ -1094,6 +1348,9 @@ msgstr "UTF-8 (recomandat)"
msgid "Please save the file first. This section cannot be edited until then."
msgstr ""
+msgid "Comment:"
+msgstr "Comentariu:"
+
msgid "OK"
msgstr "OK"
@@ -1103,42 +1360,6 @@ msgstr "Curăță"
msgid "Clear the comment"
msgstr "Curăță comentariul"
-msgid "Find..."
-msgstr "Găsește..."
-
-msgid "String to find:"
-msgstr "Șir de găsit:"
-
-msgid "Case sensitive"
-msgstr "Sensibil la majuscule"
-
-msgid "Start from the first item"
-msgstr "Începe de la primul element"
-
-msgid "Whole words only"
-msgstr "Doar cuvinte întregi"
-
-msgid "Find in original strings"
-msgstr "Găsește în șirurile originale"
-
-msgid "Find in translations"
-msgstr ""
-
-msgid "Find in comments"
-msgstr "Găsește în comentarii"
-
-msgid "Find in automatic comments"
-msgstr "Găsește în comentariile automate"
-
-msgid "Close"
-msgstr "Închide"
-
-msgid "< &Previous"
-msgstr ""
-
-msgid "&Next >"
-msgstr ""
-
msgid "Create new translations project"
msgstr "Creează un nou proiect de traduceri"
@@ -1175,9 +1396,6 @@ msgstr "&Închide"
msgid "E&xit"
msgstr "Ieșire"
-msgid "Quit"
-msgstr "Termină"
-
msgid "&New..."
msgstr ""
@@ -1187,12 +1405,24 @@ msgstr ""
msgid "New From &POT/PO File..."
msgstr ""
+msgid "New WordPress translation..."
+msgstr ""
+
+msgid "New WordPress Translation..."
+msgstr ""
+
msgid "&Open..."
msgstr "&Deschide..."
msgid "Open Recent"
msgstr ""
+msgid "Open from Crowdin..."
+msgstr ""
+
+msgid "Open From Crowdin..."
+msgstr ""
+
msgid "&Save"
msgstr "&Salvează"
@@ -1211,6 +1441,9 @@ msgstr ""
msgid "Check for updates..."
msgstr ""
+msgid "&License..."
+msgstr ""
+
msgid "Catalogs &manager"
msgstr "Administrator &cataloage"
@@ -1241,13 +1474,16 @@ msgstr "&Arată referințe"
msgid "&Find..."
msgstr "&Găsește..."
+msgid "Replace..."
+msgstr ""
+
msgid "Find next"
msgstr ""
msgid "Find previous"
msgstr ""
-msgid "Find"
+msgid "Find and Replace..."
msgstr ""
msgid "Find Next"
@@ -1289,6 +1525,12 @@ msgstr ""
msgid "&Group By Context"
msgstr ""
+msgid "Entries with errors first"
+msgstr ""
+
+msgid "Entries with Errors First"
+msgstr ""
+
msgid "&Untranslated entries first"
msgstr "&Întâi intrările netraduse"
@@ -1298,6 +1540,9 @@ msgstr "&Întâi intrările netraduse"
msgid "Show sidebar"
msgstr ""
+msgid "Show status bar"
+msgstr ""
+
msgid "C&atalog"
msgstr "C&atalog"
@@ -1313,6 +1558,9 @@ msgstr "Actualizează din fișier &POT..."
msgid "Update from &POT File..."
msgstr "Actualizează din fișier &POT..."
+msgid "Sync with Crowdin"
+msgstr ""
+
msgid "Fill missing translations from &TM..."
msgstr ""
@@ -1331,6 +1579,9 @@ msgstr "&Validează traducerile"
msgid "&Validate Translations"
msgstr "&Validează traducerile"
+msgid "&Statistics"
+msgstr ""
+
msgid "&Properties..."
msgstr "&Propietăți..."
@@ -1376,6 +1627,12 @@ msgstr ""
msgid "&GNU gettext Manual"
msgstr ""
+msgid "Email &support..."
+msgstr ""
+
+msgid "Email &Support..."
+msgstr ""
+
msgid "&About Poedit"
msgstr "&Despre Poedit"
@@ -1394,49 +1651,35 @@ msgstr "Invocare:"
msgid "Command to extract translations:"
msgstr ""
-msgid ""
-"This is the command used to launch the extractor.\n"
-"%o expands to the name of output file, %K to list\n"
-"of keywords, %F to list of input files,\n"
-"%C to charset flag (see below)."
+msgid "This is the command used to launch the extractor.\n%o expands to the name of output file, %K to list\nof keywords, %F to list of input files,\n%C to charset flag (see below)."
msgstr ""
msgid "An item in keywords list:"
msgstr "Un element în lista de cuvinte-cheie:"
-msgid ""
-"This will be attached to the command line once\n"
-"for each keyword. %k expands to the keyword."
-msgstr ""
-"Aceasta va fi atașată la linia de comandă pentru fiecare\n"
-"cuvânt-cheie. %k se extinde la cuvântul-cheie."
+msgid "This will be attached to the command line once\nfor each keyword. %k expands to the keyword."
+msgstr "Aceasta va fi atașată la linia de comandă pentru fiecare\ncuvânt-cheie. %k se extinde la cuvântul-cheie."
msgid "An item in input files list:"
msgstr "Un element în lista de fișiere de intrare:"
#, c-format
-msgid ""
-"This will be attached to the command line once\n"
-"for each input file. %f expands to the filename."
-msgstr ""
-"Aceasta va fi atașată la linia de comandă pentru\n"
-"fiecare fișier de intrare. %f se extinde la numele fișierului."
+msgid "This will be attached to the command line once\nfor each input file. %f expands to the filename."
+msgstr "Aceasta va fi atașată la linia de comandă pentru\nfiecare fișier de intrare. %f se extinde la numele fișierului."
msgid "Source code charset:"
msgstr "Set de caractere al codului sursă:"
#, c-format
-msgid ""
-"This will be attached to the command line\n"
-"only if source codecharset was given. %c expands to charset value."
-msgstr ""
-"Aceasta va fi atașată la linia de comandă doar dacă setul de\n"
-"caractere al sursei a fost dat. %c se extinde la valoarea setului de "
-"caractere."
+msgid "This will be attached to the command line\nonly if source codecharset was given. %c expands to charset value."
+msgstr "Aceasta va fi atașată la linia de comandă doar dacă setul de\ncaractere al sursei a fost dat. %c se extinde la valoarea setului de caractere."
msgid "Catalog properties"
msgstr "Propietăți catalog"
+msgid "Project name and version:"
+msgstr "Nume și versiune proiect:"
+
msgid "Plural Forms:"
msgstr "Forme plural:"
@@ -1449,6 +1692,15 @@ msgstr ""
msgid "Learn about plural forms"
msgstr "Învățați despre formele de plural"
+msgid "Charset:"
+msgstr "Set de caractere:"
+
+msgid "Team:"
+msgstr "Echipa:"
+
+msgid "Team's email address:"
+msgstr "Adresa de E-mail a echipei:"
+
msgid "Translation properties"
msgstr ""
@@ -1461,13 +1713,8 @@ msgstr "Cale de bază:"
msgid "Sources paths"
msgstr "Căile surselor"
-msgid ""
-"Use these keywords (function names) to recognize translatable strings\n"
-"in source files:"
-msgstr ""
-"Folosește aceste cuvinte-cheie (nume de funcții) pentru a recunoaște "
-"șirurile traductibile\n"
-"în fișiere sursă:"
+msgid "Use these keywords (function names) to recognize translatable strings\nin source files:"
+msgstr "Folosește aceste cuvinte-cheie (nume de funcții) pentru a recunoaște șirurile traductibile\nîn fișiere sursă:"
msgid "Learn about gettext keywords"
msgstr ""
@@ -1478,22 +1725,14 @@ msgstr "Surse cuvinte-cheie"
msgid "Update summary"
msgstr "Actualizare rezumat"
-msgid ""
-"These strings were found in the sources but were not in the catalog.\n"
-"Poedit will add them to the catalog now."
-msgstr ""
-"Aceste șiruri au fost găsite în surse, dar nu erau în catalog.\n"
-"Poedit le va adăuga acum la catalog."
+msgid "These strings were found in the sources but were not in the catalog.\nPoedit will add them to the catalog now."
+msgstr "Aceste șiruri au fost găsite în surse, dar nu erau în catalog.\nPoedit le va adăuga acum la catalog."
msgid "New strings"
msgstr "Șiruri noi"
-msgid ""
-"These strings are no longer in the sources.\n"
-"Poedit will remove them from the catalog now."
-msgstr ""
-"Aceste șiruri nu mai sunt în surse.\n"
-"Poedit le va elimina acum din catalog."
+msgid "These strings are no longer in the sources.\nPoedit will remove them from the catalog now."
+msgstr "Aceste șiruri nu mai sunt în surse.\nPoedit le va elimina acum din catalog."
msgid "Obsolete strings"
msgstr "Șiruri învechite"
@@ -1513,6 +1752,12 @@ msgstr "Validează"
msgid "Check for errors in the translation"
msgstr "Verificați după erori în traducere"
+msgid "Statistics"
+msgstr ""
+
+msgid "Show translation statistics"
+msgstr ""
+
msgid "Update"
msgstr "Actualizare"
@@ -1522,24 +1767,40 @@ msgstr "Actualizare catalog - sincronizează-l cu sursele"
msgid "Toggled if selected string has fuzzy translation"
msgstr "Comută starea traducerii șirului selectat între aproximativă și exactă"
-msgid "Show or hide the sidebar."
+msgid "Sidebar"
+msgstr ""
+
+msgid "Show or hide the sidebar"
msgstr ""
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
msgid "Previous source text:"
msgstr ""
-msgid ""
-"The old source text (before it changed during an update) that the fuzzy "
-"translation corresponds to."
+msgid "The old source text (before it changed during an update) that the fuzzy translation corresponds to."
msgstr ""
+msgid "Notes for translators:"
+msgstr "Note pentru traducători:"
+
msgid "Add comment"
msgstr ""
msgid "Add Comment"
msgstr ""
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(from your TM)"
+msgstr ""
+
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(machine translation)"
+msgstr ""
+
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(human translation)"
+msgstr ""
+
msgid "Translation suggestions:"
msgstr ""
@@ -1554,6 +1815,85 @@ msgstr ""
msgid "This string was found in Poedit’s translation memory."
msgstr ""
+msgid "This suggestion was contributed by another translator to the online TM."
+msgstr ""
+
+msgid "This suggestion was machine-translated online."
+msgstr ""
+
+#, c-format
+msgid "%d out of %d online suggestion left."
+msgid_plural "%d out of %d online suggestions left."
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+msgid "Remove this limitation"
+msgstr ""
+
+msgid "Not showing additional online suggestions."
+msgstr ""
+
+msgid "Unlock online suggestions"
+msgstr ""
+
+msgid "Exceeded online TM daily limit."
+msgstr ""
+
+msgid "Connect to the Internet to get additional suggestions."
+msgstr ""
+
+#. TRANSLATORS: Label indicating that translations made in the current file are contributed to the online translation memory. Related to the "Contribute my translations to the online TM" string.
+msgid "Contributing"
+msgstr ""
+
+msgid "Your translations are contributed to the online translation memory as you make them. Thanks for making the suggestions better!"
+msgstr ""
+
+#. TRANSLATORS: Label indicating that the current file
+msgid "Private"
+msgstr ""
+
+msgid "Translations from this file are not shared with the online translation memory."
+msgstr ""
+
+msgid "Privacy settings"
+msgstr ""
+
+#, c-format
+msgid "While editing the file “%s”:"
+msgstr ""
+
+msgid "Items"
+msgstr ""
+
+msgid "Words"
+msgstr ""
+
+msgid "Translated"
+msgstr ""
+
+msgid "Needs review (fuzzy)"
+msgstr ""
+
+msgid "Translations with errors"
+msgstr ""
+
+msgid "Source Text"
+msgstr ""
+
+msgid "Strings in source language"
+msgstr ""
+
+msgid "Not translated"
+msgstr ""
+
+msgid "Copy to clipboard"
+msgstr ""
+
+msgid "Copy to Clipboard"
+msgstr ""
+
#, c-format
msgid "(New: %i, obsolete: %i)"
msgstr ""
@@ -1575,9 +1915,7 @@ msgstr ""
msgid "Poedit needs to convert your translation memory to a new format."
msgstr ""
-msgid ""
-"This must be done before Poedit can start. It may take a few minutes if you "
-"have lots of translations stored, but should normally be much faster."
+msgid "This must be done before Poedit can start. It may take a few minutes if you have lots of translations stored, but should normally be much faster."
msgstr ""
msgid "Proceed"
@@ -1587,42 +1925,53 @@ msgid "Translation memory migration failed."
msgstr ""
#, c-format
-msgid ""
-"Your translation memory data couldn't be migrated. The error was:\n"
-"\n"
-"%s\n"
-"Please email help at poedit.net and we’ll get it fixed."
+msgid "Your translation memory data couldn't be migrated. The error was:\n\n%s\nPlease email help at poedit.net and we’ll get it fixed."
msgstr ""
msgid "Cannot create temporary directory."
msgstr "Nu se poate crea directorul temporar."
+msgid "Check theme or plugin compatibility"
+msgstr ""
+
msgid "Welcome to Poedit"
msgstr ""
+msgid "Upgrade to Pro"
+msgstr ""
+
+msgid "Upgrade to Poedit Pro to get additional features and support Poedit's development."
+msgstr "Upgrade-ul la Poedit Pro pentru a obţine caracteristici suplimentare şi suport Poedit pe dezvoltare."
+
msgid "Edit a translation"
msgstr ""
msgid "Open an existing PO file and edit the translation."
msgstr ""
-msgid "Create new translation"
+msgid "Take an existing PO file or POT template and create a new translation from it."
msgstr ""
-msgid ""
-"Take an existing PO file or POT template and create a new translation from "
-"it."
+msgid "Translate WordPress theme or plugin"
+msgstr ""
+
+#. TRANSLATORS: Please don't use any form of "automatically" in the translation, it would mislead people.
+msgid "Create a new translation. Poedit will set everything up; you can focus on translating."
+msgstr ""
+
+msgid "Collaborate on a translation with Crowdin"
+msgstr ""
+
+msgid "Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+
+msgid "What is Crowdin?"
msgstr ""
msgid "There are no translations. That’s unusual."
msgstr ""
-msgid ""
-"Translatable entries aren't added manually in the Gettext system, but are "
-"automatically extracted\n"
-"from source code. This way, they stay up to date and accurate.\n"
-"Translators typically use PO template files (POTs) prepared for them by the "
-"developer."
+msgid "Translatable entries aren't added manually in the Gettext system, but are automatically extracted\nfrom source code. This way, they stay up to date and accurate.\nTranslators typically use PO template files (POTs) prepared for them by the developer."
msgstr ""
msgid "(Learn more about GNU gettext)"
@@ -1637,8 +1986,7 @@ msgstr ""
msgid "Take translatable strings from an existing POT template."
msgstr ""
-msgid ""
-"You can also extract translatable strings directly from the source code:"
+msgid "You can also extract translatable strings directly from the source code:"
msgstr ""
msgid "Extract from sources"
@@ -1646,3 +1994,105 @@ msgstr ""
msgid "Configure source code extraction in Properties."
msgstr ""
+
+#, c-format
+msgid "Failed to read file '%s'."
+msgstr ""
+
+#, c-format
+msgid "Confused by ambiguous values of \"%s\" in %s."
+msgstr ""
+
+#, c-format
+msgid "Couldn't detect POs location for \"%s\"."
+msgstr ""
+
+#, c-format
+msgid "The \"%s\" theme isn't localization-ready."
+msgstr ""
+
+msgid "Confused: multiple main plugin files."
+msgstr ""
+
+#, c-format
+msgid "The \"%s\" plugin isn't localization-ready."
+msgstr ""
+
+#, c-format
+msgid "Couldn't detect translation domain of the \"%s\" plugin."
+msgstr ""
+
+msgid "Found neither WordPress theme nor plugin in the folder."
+msgstr ""
+
+#, c-format
+msgid "Translations folder (%s) doesn't exist."
+msgstr ""
+
+msgid "<big>Drag and drop <b>theme or plugin folder</b> here</big>\n\nor use the “Choose folder” button"
+msgstr ""
+
+msgid "<big>Drag and Drop <b>Theme or Plugin Folder</b> Here</big>\n\nor use the “Choose Folder” button"
+msgstr ""
+
+#, c-format
+msgid "Folder “%s”"
+msgstr ""
+
+msgid "Choose Folder..."
+msgstr ""
+
+msgid "Choose folder..."
+msgstr ""
+
+msgid "Create a new translation"
+msgstr ""
+
+msgid "Choose this if you want to translate the theme or plugin into your language."
+msgstr ""
+
+msgid "Create a POT"
+msgstr ""
+
+msgid "This option is for theme and plugin developers. Poedit will create an empty template (POT) that translations can be based on."
+msgstr ""
+
+msgid "Continue"
+msgstr ""
+
+msgid "Failed to extract WordPress information."
+msgstr ""
+
+msgid "WordPress error"
+msgstr ""
+
+#, c-format
+msgid "Poedit couldn’t understand the content of the folder you selected. This may be a problem with the plugin/theme or it may be Poedit being silly. The error is:\n\n • %s\n\nPlease email help at poedit.net and we’ll sort it out."
+msgstr ""
+
+#. TRANSLATORS: This is a button that sends an email to support when clicked
+msgid "Email support"
+msgstr ""
+
+msgid "View log"
+msgstr ""
+
+#. TRANSLATORS: This is a button that sends an email to support when clicked
+msgid "Email Support"
+msgstr ""
+
+msgid "View Log"
+msgstr ""
+
+msgid "WordPress Errors Log"
+msgstr ""
+
+msgid "Please email this log to help at poedit.net. Thank you!"
+msgstr ""
+
+msgid "Sync"
+msgstr ""
+
+msgid "Synchronize the translation with Crowdin"
+msgstr ""
+
diff --git a/locales/ru.mo b/locales/ru.mo
index 6a31aec..5c727f5 100644
Binary files a/locales/ru.mo and b/locales/ru.mo differ
diff --git a/locales/ru.po b/locales/ru.po
index 792a96a..5ab29d1 100644
--- a/locales/ru.po
+++ b/locales/ru.po
@@ -1,22 +1,55 @@
msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
-"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:34-0400\n"
+"Report-Msgid-Bugs-To: poedit at googlegroups.com\n"
+"POT-Creation-Date: 2015-05-11 08:48+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Russian\n"
"Language: ru_RU\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: crowdin.com\n"
"X-Crowdin-Project: poedit\n"
"X-Crowdin-Language: ru\n"
"X-Crowdin-File: /locales/poedit.pot\n"
+#. TRANSLATORS: This is titlebar of about dialog, "%s" is application name
+#. ("Poedit" here, but please use "%s")
+#, c-format
+msgid "About %s"
+msgstr "О программе %s"
+
+#. TRANSLATORS: This is version information in about dialog, "%s" will be
+#. version number when used
+#, c-format
+msgid "Version %s"
+msgstr "Версия %s"
+
+msgid "Based on the open source version →"
+msgstr "Основано на версии с открытым исходным кодом →"
+
+msgid "Acknowledgements"
+msgstr "Благодарности"
+
+msgid "Rate on the App Store"
+msgstr "Оценить в App Store"
+
+msgid "License Agreement"
+msgstr "Лицензионное соглашение"
+
+#, c-format
+msgid "Licensed to %s"
+msgstr "Лицензия зарегистрирована на %s"
+
+msgid "Purchased on the Mac App Store"
+msgstr "Куплено в Mac App Store"
+
+msgid "Free version (please upgrade!)"
+msgstr "Бесплатная версия (рекомендуем обновить до полной версии)"
+
msgid "Hide this notification message"
msgstr "Не показывать это уведомление"
@@ -41,61 +74,46 @@ msgstr "Строка %d файла '%s' повреждена (некоррект
msgid "Malformed header: '%s'"
msgstr "Недопустимый формат заголовка: «%s»"
-msgid ""
-"Broken catalog file: singular form msgstr used together with msgid_plural"
-msgstr ""
-"Ошибка в файле каталога: форма единственного числа msgstr использована "
-"вместе с msgid_plural"
+msgid "Broken catalog file: singular form msgstr used together with msgid_plural"
+msgstr "Ошибка в файле каталога: форма единственного числа msgstr использована вместе с msgid_plural"
msgid "Broken catalog file: plural form msgstr used without msgid_plural"
-msgstr ""
-"Ошибка в файле каталога: форма множественного числа msgstr использована без "
-"msgid_plural"
+msgstr "Ошибка в файле каталога: форма множественного числа msgstr использована без msgid_plural"
-msgid ""
-"There were errors when loading the catalog. Some data may be missing or "
-"corrupted as the result."
-msgstr ""
-"При загрузке каталога возникли ошибки. В результате некоторые данные могут "
-"быть повреждены или отсутствовать."
+msgid "There were errors when loading the catalog. Some data may be missing or corrupted as the result."
+msgstr "При загрузке каталога возникли ошибки. В результате некоторые данные могут быть повреждены или отсутствовать."
#, c-format
msgid "Couldn't load file %s, it is probably corrupted."
msgstr "Не удалось загрузить файл %s. Возможно, он повреждён."
#, c-format
-msgid ""
-"File '%s' is read-only and cannot be saved.\n"
-"Please save it under different name."
-msgstr ""
-"Файл «%s» доступен только для чтения, и его нельзя сохранить.\n"
-"Сохраните файл под другим именем."
+msgid "File '%s' is read-only and cannot be saved.\nPlease save it under different name."
+msgstr "Файл «%s» доступен только для чтения, и его нельзя сохранить.\nСохраните файл под другим именем."
#, c-format
msgid "Couldn't save file %s."
msgstr "Не удалось сохранить файл %s."
-msgid ""
-"There was a problem formatting the file nicely (but it was saved all right)."
-msgstr ""
-"Возникла проблема при форматировании файла (но он был успешно сохранён)."
+msgid "There was a problem formatting the file nicely (but it was saved all right)."
+msgstr "Возникла проблема при форматировании файла (но он был успешно сохранён)."
#, c-format
-msgid ""
-"The catalog couldn't be saved in '%s' charset as specified in catalog "
-"settings.\n"
-"\n"
-"It was saved in UTF-8 instead and the setting was modified accordingly."
-msgstr ""
-"Каталог не удалось сохранить в кодировке «%s», как указано в настройках "
-"каталога.\n"
-"\n"
-"Он был сохранён в кодировке UTF-8, и настройки были изменены соответствующим "
-"образом."
+msgid "The catalog couldn't be saved in '%s' charset as specified in catalog settings.\n\nIt was saved in UTF-8 instead and the setting was modified accordingly."
+msgstr "Каталог не удалось сохранить в кодировке «%s», как указано в настройках каталога.\n\nОн был сохранён в кодировке UTF-8, и настройки были изменены соответствующим образом."
msgid "Error saving catalog"
msgstr "Не удалось открыть каталог"
+msgid "PO Translation Files"
+msgstr "Файлы перевода PO"
+
+msgid "POT Translation Templates"
+msgstr "Шаблоны перевода POT"
+
+msgid "All Translation Files"
+msgstr "Все файлы переводов"
+
msgid "Merging differences..."
msgstr "Объединение различий..."
@@ -115,6 +133,81 @@ msgstr "Выбор языка"
msgid "You must restart Poedit for this change to take effect."
msgstr "Чтобы это изменение вступило в силу, необходимо перезапустить Poedit."
+msgid "Downloading translations is disabled in this project."
+msgstr "Загрузка переводов отключена в этом проекте."
+
+msgid "Not authorized, please sign in again."
+msgstr "Не авторизовано, пожалуйста войдите снова."
+
+msgid "Sign in to Crowdin"
+msgstr "Войти в Crowdin"
+
+msgid "Crowdin is an online localization management platform and collaborative translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr "Crowdin - это онлайн инструмент для совместной локализации и перевода. Poedit может автоматически синхронизировать PO файлы с Crowdin."
+
+msgid "Sign In"
+msgstr "Войти в систему"
+
+msgid "Sign in"
+msgstr "Войти"
+
+msgid "Sign Out"
+msgstr "Выйти"
+
+msgid "Sign out"
+msgstr "Выйти"
+
+msgid "Waiting for authentication…"
+msgstr "Ожидание авторизации…"
+
+msgid "Updating user information…"
+msgstr "Обновление информации о пользователе…"
+
+msgid "Signed in as:"
+msgstr "Вы вошли как:"
+
+msgid "Learn More About Crowdin"
+msgstr "Узнать больше о Crowdin"
+
+msgid "Learn more about Crowdin"
+msgstr "Узнать больше о Crowdin"
+
+msgid "Open Crowdin translation"
+msgstr "Открыть перевод Crowdin"
+
+msgid "Project:"
+msgstr "Проект:"
+
+msgid "Language:"
+msgstr "Язык:"
+
+msgid "File:"
+msgstr "Файл:"
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr "В вашем аккаунте Crowdin нет проектов для перевода."
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr "Этот проект не содержит файлов, которые могут быть переведены с помощью Poedit."
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr "Этот файл можно редактировать только в веб-интерфейсе Crowdin."
+
+msgid "Downloading latest translations…"
+msgstr "Загрузка новейших переводов…"
+
+msgid "Syncing with Crowdin"
+msgstr "Синхронизация с Crowdin"
+
+msgid "Syncing with Crowdin failed."
+msgstr "Синхронизация с Crowdin не удалась."
+
+msgid "Crowdin error"
+msgstr "Ошибка Crowdin"
+
+msgid "Uploading translations…"
+msgstr "Выгрузка переводов…"
+
msgid "&Copy"
msgstr "&Копировать"
@@ -142,25 +235,43 @@ msgstr "Анализ %s файлов..."
msgid "Failed to load extracted catalog."
msgstr "Не удалось загрузить извлечённый каталог."
+#, c-format
+msgid "Failed to extract WordPress metadata from file %s."
+msgstr "Не удалось извлечь метаданные WordPress из файла %s."
+
msgid "&Help"
msgstr "&Справка"
+msgid "Beta expired"
+msgstr "Срок действия бета-версии истёк"
+
+msgid "This beta version of Poedit expired."
+msgstr "Срок действия этой бета-версии закончился."
+
+msgid "Please download a newer version from the Poedit website at http://poedit.net/download"
+msgstr "Пожалуйста, скачайте более новую версию с сайта Poedit: http://poedit.net/download"
+
+msgid "Download"
+msgstr "Загрузить"
+
+msgid "Quit"
+msgstr "Выход"
+
msgid "MO files can’t be directly edited in Poedit."
msgstr "Файлы MO нельзя редактировать непосредственно в Poedit."
msgid "Error opening file"
msgstr "Ошибка при открытии файла"
-msgid ""
-"Please open and edit the corresponding PO file instead. When you save it, "
-"the MO file will be updated as well."
-msgstr ""
-"Пожалуйста, откройте и измените соответствующий PO файл. Когда вы сохраняете "
-"его, MO файл тоже обновится."
+msgid "Please open and edit the corresponding PO file instead. When you save it, the MO file will be updated as well."
+msgstr "Пожалуйста, откройте и измените соответствующий PO файл. Когда вы сохраняете его, MO файл тоже обновится."
msgid "don't delete temporary files (for debugging)"
msgstr "не удалять временные файлы (для отладки)"
+msgid "handle a poedit:// URI"
+msgstr "обработать poedit:// адрес"
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr "Произошло непредвиденное исключение: %s"
@@ -171,34 +282,19 @@ msgstr "Произошло непредвиденное исключение."
msgid "Open catalog"
msgstr "Открыть каталог"
-msgid "All Files"
-msgstr "Все файлы"
-
-msgid "PO Translation Files"
-msgstr "Файлы перевода PO"
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "Файл «%s» не существует."
-#. TRANSLATORS: This is titlebar of about dialog, "%s" is application name
-#. ("Poedit" here, but please use "%s")
-#, c-format
-msgid "About %s"
-msgstr "О программе %s"
-
-#. TRANSLATORS: This is version information in about dialog, "%s" will be
-#. version number when used
-#, c-format
-msgid "Version %s"
-msgstr "Версия %s"
-
msgid "Poedit is an easy to use translations editor."
msgstr "Poedit — это простой в использовании редактор переводов."
msgid "Catalogs Manager"
msgstr "Диспетчер каталогов"
+msgid "License..."
+msgstr "Лицензия..."
+
msgid "Check for Updates..."
msgstr "Проверить наличие обновлений..."
@@ -280,6 +376,15 @@ msgstr "Остановить озвучивание"
msgid "&View"
msgstr "&Вид"
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
+msgid "Show Toolbar"
+msgstr "Показать панель инструментов"
+
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
+msgid "Customize Toolbar…"
+msgstr "Настроить панель инструментов…"
+
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
msgid "Enter Full Screen"
msgstr "Перейти в полноэкранный режим"
@@ -295,19 +400,28 @@ msgstr "Масштаб"
msgid "Bring All to Front"
msgstr "Поместить все окна на передний план"
+#. TRANSLATORS:File kind displayed in Finder/Explorer
msgid "PO Translation"
msgstr "Файл перевода PO"
+msgid "Invalid license data."
+msgstr "Недействительная лицензия."
+
+msgid "Poedit"
+msgstr "Poedit"
+
+#, c-format
+msgid "The link doesn't contain valid Poedit license. Try entering it manually or contact support at help at poedit.net.\n\n(%s)"
+msgstr "Ссылка не содержит действительную лицензию Poedit. Попробуйте ввести лицензию вручную или обратитесь в службу поддержки по адресу help at poedit.net.\n\n(%s)"
+
msgid "The file cannot be opened."
msgstr "Файл не удаётся открыть."
msgid "Invalid file"
msgstr "Недопустимый файл"
-msgid ""
-"The file may be either corrupted or in a format not recognized by Poedit."
-msgstr ""
-"Файл, возможно, повреждён или имеет формат, не поддерживаемый в Poedit."
+msgid "The file may be either corrupted or in a format not recognized by Poedit."
+msgstr "Файл, возможно, повреждён или имеет формат, не поддерживаемый в Poedit."
msgid "&Undo"
msgstr "&Отменить"
@@ -384,9 +498,6 @@ msgstr "В окно Poedit можно перетащить только один
msgid "File '%s' is not a message catalog."
msgstr "Файл «%s» не является каталогом сообщений."
-msgid "Poedit"
-msgstr "Poedit"
-
msgid "&File"
msgstr "&Файл"
@@ -405,14 +516,21 @@ msgstr "Множественное:"
msgid "Translation:"
msgstr "Перевод:"
+msgid "POT files are only templates and don’t contain any translations themselves.\nTo make a translation, create a new PO file based on the template."
+msgstr "Файлы POT являются шаблонами и не содержат в себе никаких переводов.\nЧтобы сделать перевод создайте файл PO из шаблона."
+
+msgid "Create New Translation"
+msgstr "Создать новый перевод"
+
+msgid "Create new translation"
+msgstr "Создать новый перевод"
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
#, c-format
-msgid ""
-"Spellchecking is disabled, because the dictionary for %s isn’t installed."
-msgstr ""
-"Проверка правописания отключена, так как словарь для языка %s не установлен."
+msgid "Spellchecking is disabled, because the dictionary for %s isn’t installed."
+msgstr "Проверка правописания отключена, так как словарь для языка %s не установлен."
msgid "Install"
msgstr "Установить"
@@ -453,8 +571,30 @@ msgstr "HTML-файлы"
msgid "Open catalog template"
msgstr "Открыть шаблон каталога"
-msgid "POT Translation Templates"
-msgstr "Шаблоны перевода POT"
+msgid "WordPress"
+msgstr "WordPress"
+
+msgid "Analyzing WordPress code..."
+msgstr "Анализ кода WordPress..."
+
+msgid "Select the folder with the WordPress theme or plugin"
+msgstr "Выберите папку с темой или модулем WordPress"
+
+#. TRANSLATORS: %s is name of a WordPress theme
+#, c-format
+msgid "The “%s” theme is compatible."
+msgstr "Тема “%s” совместима."
+
+#. TRANSLATORS: %s is name of a WordPress plugin
+#, c-format
+msgid "The “%s” plugin is compatible."
+msgstr "Плагин “%s” совместим."
+
+msgid "The theme is translation-ready and compatible with Poedit’s WordPress support."
+msgstr "Тема готова к переводу и совместима с Poedit."
+
+msgid "The plugin is translation-ready and compatible with Poedit’s WordPress support."
+msgstr "Плагин готов к переводу и совместим с Poedit."
msgid "Updating catalog"
msgstr "Обновление каталога"
@@ -465,74 +605,49 @@ msgstr "Исходный код не доступен."
msgid "Updating failed"
msgstr "Не удалось обновить"
-msgid ""
-"Translations couldn’t be updated from the source code, because no code was "
-"found in the location specified in the catalog’s Properties."
-msgstr ""
-"Переводы не могут быть обновлены из исходного кода, т.к. исходный код не был "
-"найден в папке, указанной в свойствах каталога."
+msgid "Translations couldn’t be updated from the source code, because no code was found in the location specified in the catalog’s Properties."
+msgstr "Переводы не могут быть обновлены из исходного кода, т.к. исходный код не был найден в папке, указанной в свойствах каталога."
msgid "Entries in the catalog are probably incorrect."
msgstr "Элементы каталога, возможно, неверны."
msgid "Updating the catalog failed. Click on 'Details >>' for details."
-msgstr ""
-"Не удалось обновить каталог. Нажмите кнопку «Подробности >>» для получения "
-"дополнительных сведений."
+msgstr "Не удалось обновить каталог. Нажмите кнопку «Подробности >>» для получения дополнительных сведений."
#, c-format
msgid "%d issue with the translation found."
msgid_plural "%d issues with the translation found."
msgstr[0] "В переводе найдена %d проблема."
-msgstr[1] "В переводы найдены %d проблемы."
-msgstr[2] "В переводы найдены %d проблемы."
+msgstr[1] "В переводе найдены %d проблемы."
+msgstr[2] "В переводе найдено %d проблем."
msgid "Validation results"
msgstr "Результаты проверки"
-msgid ""
-"Entries with errors were marked in red in the list. Details of the error "
-"will be shown when you select such an entry."
-msgstr ""
-"Записи с ошибками были выделены в списке красным цветом. Если выбрать такую "
-"запись, будут показаны подробные сведения об ошибке."
+msgid "Entries with errors were marked in red in the list. Details of the error will be shown when you select such an entry."
+msgstr "Записи с ошибками были выделены в списке красным цветом. Если выбрать такую запись, будут показаны подробные сведения об ошибке."
msgid "The file was saved safely."
msgstr "Файл был успешно сохранён."
-msgid ""
-"The file was saved safely and compiled into the MO format, but it will "
-"probably not work correctly."
-msgstr ""
-"Файл был сохранён и скомпилирован в формат MO. Но он может работать "
-"некорректно."
+msgid "The file was saved safely and compiled into the MO format, but it will probably not work correctly."
+msgstr "Файл был сохранён и скомпилирован в формат MO. Но он может работать некорректно."
-msgid ""
-"The file was saved safely, but it cannot be compiled into the MO format and "
-"used."
-msgstr ""
-"Файл был сохранён, но его не удаётся скомпилировать в формат MO и "
-"использовать."
+msgid "The file was saved safely, but it cannot be compiled into the MO format and used."
+msgstr "Файл был сохранён, но его не удаётся скомпилировать в формат MO и использовать."
-msgid ""
-"The file was compiled into the MO format, but it will probably not work "
-"correctly."
-msgstr ""
-"Файл был скомпилирован в формат MO, но скорее всего не будет правильно "
-"работать."
+msgid "The file was compiled into the MO format, but it will probably not work correctly."
+msgstr "Файл был скомпилирован в формат MO, но скорее всего не будет правильно работать."
msgid "The file cannot be compiled into the MO format and used."
-msgstr ""
-"Не удаётся скомпилировать данный файл в формат MO для дальнейшего "
-"использования."
+msgstr "Не удаётся скомпилировать данный файл в формат MO для дальнейшего использования."
msgid "No problems with the translation found."
msgstr "Не найдено проблем с переводом."
#, c-format
msgid "The translation is ready for use, but %d entry is not translated yet."
-msgid_plural ""
-"The translation is ready for use, but %d entries are not translated yet."
+msgid_plural "The translation is ready for use, but %d entries are not translated yet."
msgstr[0] "Перевод готов к использованию, но %d запись ещё не переведена."
msgstr[1] "Перевод готов к использованию, но %d записей ещё не переведено."
msgstr[2] "Перевод готов к использованию, но %d записей ещё не переведено."
@@ -540,18 +655,34 @@ msgstr[2] "Перевод готов к использованию, но %d за
msgid "The translation is ready for use."
msgstr "Перевод готов к использованию."
-msgid "No references to this string found."
-msgstr "Не найдены связи для этой строки."
+msgid "Contributing translations improves the quality of online suggestions for everybody — the more people do it, the better the suggestions can be. Your translations are submitted anonymously and are available to other translators using Poedit or other CAT tools."
+msgstr "Отправка перевода улучшает качество онлайн предложений перевода: чем больше людей в этом участвует, тем лучше становятся предложения. Отправляемые данные анонимны и доступны другим переводчикам, использующим Poedit или другие инструменты автоматизированного перевода."
+
+msgid "Can Poedit contribute your translations of this file to the online translation memory?"
+msgstr "Разрешить Poedit отправлять ваши переводы из данного файла в онлайн память переводов?"
-msgid "Please choose the reference you want to show:"
-msgstr "Выберите связь для отображения:"
+msgid "Apply to all files I edit"
+msgstr "Применить ко всем редактируемым файлам"
-msgid "References"
-msgstr "Связи"
+msgid "Contribute"
+msgstr "Внести вклад"
+
+msgid "Keep Private"
+msgstr "Сохранять конфиденциальность"
+
+msgid "Keep private"
+msgstr "Сохранять конфиденциальность"
msgid "Context:"
msgstr "Контекст:"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr "Poedit автоматически исправил неверное содержимое в файле «%s»."
+
+msgid "The file contained duplicate items, which is not allowed in PO files and would prevent the file from being used. Poedit fixed the issue, but you should review translations of any items marked as fuzzy and correct them if necessary."
+msgstr "Этот файл содержал в себе повторяющиеся элементы, которые не разрешаются в PO-файлах и предотвращают файл от использования. Poedit исправил их, но следует просмотреть переводы всех элементов, помеченные как неточные и исправить их при необходимости."
+
msgid "Language of the translation isn't set."
msgstr "Язык перевода ещё не указан."
@@ -561,19 +692,24 @@ msgstr "Выбрать язык"
msgid "Set language"
msgstr "Задать язык"
-msgid ""
-"This catalog has entries with plural forms, but doesn't have Plural-Forms "
-"header configured."
-msgstr ""
-"В данном каталоге есть записи с формами множественного числа, но нет "
-"заголовка Plural-Forms."
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid "Suggestions are not available if the translation language is not set correctly. Other features, such as plural forms, may be affected as well."
+msgstr "Предложения не доступны, если язык перевода не установлен. Другие функции, такие как формы множественного числа, также могут быть затронуты."
-msgid ""
-"Entries in this catalog have different plural forms count from what "
-"catalog's Plural-Forms header says"
-msgstr ""
-"Записи в этом каталоге имеют количество форм множественного числа, отличное "
-"от указанного в заголовке Plural-Forms"
+msgid "Language of the translation is the same as source language."
+msgstr "Язык перевода совпадает с исходным языком."
+
+msgid "Fix Language"
+msgstr "Исправить язык"
+
+msgid "Fix language"
+msgstr "Исправить язык"
+
+msgid "This catalog has entries with plural forms, but doesn't have Plural-Forms header configured."
+msgstr "В данном каталоге есть записи с формами множественного числа, но нет заголовка Plural-Forms."
+
+msgid "Entries in this catalog have different plural forms count from what catalog's Plural-Forms header says"
+msgstr "Записи в этом каталоге имеют количество форм множественного числа, отличное от указанного в заголовке Plural-Forms"
msgid "Required header Plural-Forms is missing."
msgstr "Необходимый заголовок Plural-Forms отсутствует."
@@ -593,10 +729,9 @@ msgstr "Исправить заголовок"
#. to rephrase it, e.g. to an equivalent of "for language %s".
#, c-format
msgid "Plural forms expression used by the catalog is unusual for %s."
-msgstr ""
-"Выражение формы множественного числа, используемое в каталоге, является "
-"необычным для %s."
+msgstr "Выражение формы множественного числа, используемое в каталоге, является необычным для %s."
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr "Проверить"
@@ -619,12 +754,23 @@ msgstr[0] "%d ошибка"
msgstr[1] "%d ошибок"
msgstr[2] "%d ошибок"
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] "%d запись"
+msgstr[1] "%d записи"
+msgstr[2] "%d записей"
+
msgid " (unsaved)"
msgstr " (не сохранён)"
msgid " (modified)"
msgstr " (изменён)"
+#, c-format
+msgid " (beta version expires %s)"
+msgstr " (срок действия бета-версии заканчивается %s)"
+
msgid "Go"
msgstr "Перейти"
@@ -638,14 +784,8 @@ msgstr "Уничтожить удалённые переводы"
msgid "Do you want to remove all translations that are no longer used?"
msgstr "Действительно удалить все больше неиспользуемые переводы?"
-msgid ""
-"If you continue with purging, all translations marked as deleted will be "
-"permanently removed. You will have to translate them again if they are added "
-"back in the future."
-msgstr ""
-"Если продолжить этот процесс, все переводы, помеченные как удалённые, будут "
-"безвозвратно удалены. Если они будут добавлены обратно в будущем, их "
-"придётся повторно переводить."
+msgid "If you continue with purging, all translations marked as deleted will be permanently removed. You will have to translate them again if they are added back in the future."
+msgstr "Если продолжить этот процесс, все переводы, помеченные как удалённые, будут безвозвратно удалены. Если они будут добавлены обратно в будущем, их придётся повторно переводить."
msgid "Keep"
msgstr "Оставить"
@@ -659,23 +799,23 @@ msgstr "Заполнение перевода из памяти переводо
msgid "Only fill in exact matches"
msgstr "Только при точном совпадении"
-msgid ""
-"By default, inaccurate results are filled in as well and marked as fuzzy. "
-"Check this option to only include accurate matches."
-msgstr ""
-"По-умолчанию не полностью совпадающие результаты также будут заполнены и "
-"помечены неточными."
+msgid "By default, inaccurate results are filled in as well and marked as fuzzy. Check this option to only include accurate matches."
+msgstr "По-умолчанию не полностью совпадающие результаты также будут заполнены и помечены неточными."
msgid "Don’t mark exact matches as fuzzy"
msgstr "Не помечать точные совпадения неточными"
-msgid ""
-"Only enable if you trust the quality of your TM. By default, all matches "
-"from the TM are marked as fuzzy and should be reviewed."
-msgstr ""
-"Включите это только если вы уверены в качестве вашей памяти переводов. По-"
-"умолчанию все совпадения из памяти переводов отмечаются как неточные и "
-"подлежат проверке."
+msgid "Only enable if you trust the quality of your TM. By default, all matches from the TM are marked as fuzzy and should be reviewed."
+msgstr "Включите это только если вы уверены в качестве вашей памяти переводов. По-умолчанию все совпадения из памяти переводов отмечаются как неточные и подлежат проверке."
+
+msgid "Use online suggestions"
+msgstr "Использовать предложения из сети"
+
+msgid "Use online suggestions (experimental)"
+msgstr "Использовать предложения из сети (экспериментальная функция)"
+
+msgid "Try to fetch translations from the online TM as well. Notice that the translations will not be perfect and will still need to be corrected by a human translator."
+msgstr "Попробовать использовать переводы из сетевой TM (памяти переводов). Имейте ввиду, что не все переводы будут идеальными и Вам все равно придется их исправлять."
msgid "Fill"
msgstr "Заполнить"
@@ -687,22 +827,14 @@ msgstr[0] "Из памяти переводов была взята %d запи
msgstr[1] "Из памяти переводов были взяты %d записи."
msgstr[2] "Из памяти переводов были взяты %d записи."
-msgid ""
-"The translations were marked as fuzzy, because they may be inaccurate. You "
-"should review them for correctness."
+msgid "The translations were marked as fuzzy, because they may be inaccurate. You should review them for correctness."
msgstr "Переводы были отмечены как неточные. Проверьте их правильность."
msgid "No entries could be filled from the translation memory."
msgstr "Не удалось перевести строки, используя память переводов"
-msgid ""
-"The TM doesn’t contain any strings similar to the content of this file. It "
-"is only effective for semi-automatic translations after Poedit learns enough "
-"from files that you translated manually."
-msgstr ""
-"Память переводов не содержит никаких строк, похожих на содержимое этого "
-"файла. Она подходит только для полуавтоматического перевода после того, как "
-"Poedit соберёт достаточно данных из файлов, которые вы перевели вручную."
+msgid "The TM doesn’t contain any strings similar to the content of this file. It is only effective for semi-automatic translations after Poedit learns enough from files that you translated manually."
+msgstr "Память переводов не содержит никаких строк, похожих на содержимое этого файла. Она подходит только для полуавтоматического перевода после того, как Poedit соберёт достаточно данных из файлов, которые вы перевели вручную."
msgid "Translating"
msgstr "Выполняется перевод"
@@ -745,6 +877,9 @@ msgstr "Всё"
msgid "Form %i"
msgstr "Форма %i"
+msgid "Singular"
+msgstr "Единственное"
+
msgid "Zero"
msgstr "Ноль"
@@ -754,6 +889,9 @@ msgstr "Один"
msgid "Two"
msgstr "Два"
+msgid "Plural"
+msgstr "Множественное"
+
msgid "Other"
msgstr "Другое"
@@ -782,6 +920,12 @@ msgstr "Скрыть боковую панель"
msgid "Show Sidebar"
msgstr "Показать боковую панель"
+msgid "Hide Status Bar"
+msgstr "Скрыть строку состояния"
+
+msgid "Show Status Bar"
+msgstr "Показать строку состояния"
+
msgid "Source text"
msgstr "Исходный текст"
@@ -791,6 +935,10 @@ msgstr "Перевод"
msgid "ID"
msgstr "Код"
+#, c-format
+msgid "Source text — %s"
+msgstr "Исходный текст — %s"
+
msgid "unknown language"
msgstr "неизвестный язык"
@@ -801,57 +949,73 @@ msgstr "Перевод — %s"
msgid "Error:"
msgstr "Ошибка:"
-msgid "Project info"
-msgstr "Сведения о проекте"
+msgid "Source file"
+msgstr "Исходный файл"
-msgid "Project name and version:"
-msgstr "Название и версия проекта:"
+msgid "Source file occurrence:"
+msgstr "Вхождение исходного файла:"
-msgid "Language:"
-msgstr "Язык:"
+msgid "Open in Editor"
+msgstr "Открыть в редакторе"
-msgid "Team:"
-msgstr "Команда:"
+msgid "Open in editor"
+msgstr "Открыть в редакторе"
-msgid "Team's email address:"
-msgstr "Адрес эл. почты команды:"
+msgid "No references for the selected item."
+msgstr "Нет упоминаний для выбранного элемента."
-msgid "Charset:"
-msgstr "Кодировка:"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "Не удалось открыть файл %s"
-msgid "Source"
-msgstr "Исходный текст"
+msgid "Find"
+msgstr "Искать"
-msgid "Notes"
-msgstr "Примечания"
+msgid "Replace"
+msgstr "Заменить"
-msgid "Automatic translation"
-msgstr "Автоматический перевод"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr "Параметры"
-msgid "Fuzzy translation"
-msgstr "Неточный перевод"
+msgid "Ignore case"
+msgstr "Игнорировать регистр"
-msgid "Notes for translators:"
-msgstr "Примечания для переводчиков:"
+msgid "Wrap around"
+msgstr "Искать по кругу"
-msgid "Comment:"
-msgstr "Комментарий:"
+msgid "Whole words only"
+msgstr "Только полные слова"
-msgid "Source file"
-msgstr "Исходный файл"
+msgid "Find in source texts"
+msgstr "Найти в исходных текстах"
-msgid "Source file occurrence:"
-msgstr "Вхождение исходного файла:"
+msgid "Find in translations"
+msgstr "Искать в переводах"
-msgid "Open in Editor"
-msgstr "Открыть в редакторе"
+msgid "Find in comments"
+msgstr "Искать в комментариях"
-msgid "Open in editor"
-msgstr "Открыть в редакторе"
+msgid "Close"
+msgstr "Закрыть"
-#, c-format
-msgid "Error opening file %s!"
-msgstr "Не удалось открыть файл %s"
+msgid "Replace All"
+msgstr "Заменить все"
+
+msgid "Replace all"
+msgstr "Заменить все"
+
+msgid "< &Previous"
+msgstr "< &Предыдущий"
+
+msgid "&Next >"
+msgstr "&Далее >"
+
+msgid "String to find"
+msgstr "Искомая строка"
+
+msgid "Replacement string"
+msgstr "Замена"
#, c-format
msgid "Cannot execute program: %s"
@@ -866,6 +1030,55 @@ msgstr "Язык перевода"
msgid "Language of the translation:"
msgstr "Язык перевода:"
+msgid "Poedit Registration"
+msgstr "Регистрация Poedit"
+
+msgid "Name"
+msgstr "Название"
+
+msgid "License Key"
+msgstr "Лицензионный ключ"
+
+msgid "The registration key can be used on multiple computers you use personally or for multiple\naccounts on a single computer."
+msgstr "Регистрационный ключ можно использовать на нескольких компьютерах, которые вы используете лично, или для нескольких учётных записей на одном компьютере."
+
+msgid "Buy Online..."
+msgstr "Купить через Интернет..."
+
+msgid "Buy online..."
+msgstr "Купить через Интернет..."
+
+msgid "Cancel"
+msgstr "Отмена"
+
+msgid "Register"
+msgstr "Регистрация"
+
+msgid "Your copy is upgraded to Poedit Pro."
+msgstr "Ваша копия Poedit обновлена до верии Pro."
+
+msgid "You’re awesome! Thank you so much\nfor purchasing Poedit Pro."
+msgstr "Отлично! Огромное спасибо за покупку Poedit Pro."
+
+msgid "View License Key"
+msgstr "Просмотреть лицензионный ключ"
+
+msgid "View license key"
+msgstr "Просмотреть лицензионный ключ"
+
+#, c-format
+msgid "Licensed to: %s"
+msgstr "Лицензия зарегистрирована на: %s"
+
+msgid "Purchasing the full version will unlock more features\nin this and future versions of Poedit, including:\n\n"
+msgstr "Покупка полной версии откроет дополнительные возможности в этой и будущих версиях Poedit, включая следующее:\n\n"
+
+msgid "Upgrade..."
+msgstr "Обновить..."
+
+msgid "No, thanks"
+msgstr "Нет, спасибо"
+
msgid "Poedit - Catalogs manager"
msgstr "Poedit - диспетчер каталогов"
@@ -902,9 +1115,7 @@ msgstr "Действительно удалить проект?"
msgid "Confirmation"
msgstr "Подтверждение"
-msgid ""
-"Do you really want to do mass update of\n"
-"all catalogs in this project?"
+msgid "Do you really want to do mass update of\nall catalogs in this project?"
msgstr "Действительно обновить все каталоги в этом проекте?"
msgid "Information about the translator"
@@ -922,12 +1133,8 @@ msgstr "Электронная почта:"
msgid "your_email at example.com"
msgstr "vash_email at domain.com"
-msgid ""
-"Your name and email address are only used to set the Last-Translator header "
-"of GNU gettext files."
-msgstr ""
-"Ваше имя и почта будут использоваться только при указании последнего "
-"переводчика в заголовках GNU gettext файлов."
+msgid "Your name and email address are only used to set the Last-Translator header of GNU gettext files."
+msgstr "Ваше имя и почта будут использоваться только при указании последнего переводчика в заголовках GNU gettext файлов."
msgid "Editing"
msgstr "Редактирование"
@@ -944,15 +1151,8 @@ msgstr "Проверить правописание"
msgid "Always change focus to text input field"
msgstr "Всегда делать активным поле для ввода текста"
-msgid ""
-"Never let the list of strings take focus. If enabled, you must use Ctrl-"
-"arrows for keyboard navigation but you can also type text immediately, "
-"without having to press Tab to change focus."
-msgstr ""
-"Никогда не делать активным список со строками Если включено, для перемещения "
-"с помощью клавиатуры необходимо использовать CTRL+стрелки. Этот параметр "
-"также позволяет вводить текст немедленно, без предварительного нажатия "
-"клавиши TAB для переключения фокуса."
+msgid "Never let the list of strings take focus. If enabled, you must use Ctrl-arrows for keyboard navigation but you can also type text immediately, without having to press Tab to change focus."
+msgstr "Никогда не делать активным список со строками Если включено, для перемещения с помощью клавиатуры необходимо использовать CTRL+стрелки. Этот параметр также позволяет вводить текст немедленно, без предварительного нажатия клавиши TAB для переключения фокуса."
msgid "Appearance"
msgstr "Внешний вид"
@@ -989,16 +1189,30 @@ msgstr "Сброс"
msgid "Consult TM when updating from sources"
msgstr "Использовать память переводов при обновлении из исходного кода"
-msgid ""
-"If enabled, Poedit will try to fill in new entries using your previous\n"
-"translations stored in the translation memory. If the TM is\n"
-"near-empty, it will not be very effective. The more translations\n"
-"you edit and the larger the TM grows, the better it gets."
-msgstr ""
-"Если включено, Poedit попытается автоматически перевести новые строки, "
-"используя накопленную память переводов. Если память переводов содержит мало "
-"данных, толку от этого будет мало. Чем больше переводов вы редактируете, тем "
-"больше становится память переводов и тем больше она помогает."
+msgid "If enabled, Poedit will try to fill in new entries using your previous\ntranslations stored in the translation memory. If the TM is\nnear-empty, it will not be very effective. The more translations\nyou edit and the larger the TM grows, the better it gets."
+msgstr "Если включено, Poedit попытается автоматически перевести новые строки, используя накопленную память переводов. Если память переводов содержит мало данных, толку от этого будет мало. Чем больше переводов вы редактируете, тем больше становится память переводов и тем больше она помогает."
+
+msgid "Use suggestions from online collaborative TM"
+msgstr "Использовать предложения перевода из онлайн памяти переводов"
+
+msgid "Poedit uses a large online translation memory that includes both contributed human translations and state-of-the-art machine translations."
+msgstr "Poedit использует большую базу памяти переводов, включающую и переводы людьми, и машинные переводы."
+
+msgid "Contribute my translations to the online TM"
+msgstr "Добавлять мои переводы в онлайн память переводов"
+
+msgid "Keep my translations private"
+msgstr "Не добавлять мои переводы в онлайн память переводов"
+
+msgid "Ask me for each file individually"
+msgstr "Спрашивать для каждого файла"
+
+msgid "Terms of Service"
+msgstr "Условия предоставления услуг"
+
+#. TRANSLATORS: This is part of footer that says in full "powered by MyMemory", with the MyMemory part being a logo
+msgid "powered by"
+msgstr "powered by"
msgid "Stored translations:"
msgstr "Сохранённые переводы:"
@@ -1024,28 +1238,17 @@ msgstr "Очистить память переводов"
msgid "Are you sure you want to reset the translation memory?"
msgstr "Вы уверены, что хотите очистить память переводов?"
-msgid ""
-"Resetting the translation memory will irrevocably delete all stored "
-"translations from it. You can’t undo this operation."
-msgstr ""
-"Очистка памяти переводов необратимо удалит все переводы, хранящиеся в ней. "
-"Вы не сможете отменить эту операцию."
-
-msgid "Cancel"
-msgstr "Отмена"
+msgid "Resetting the translation memory will irrevocably delete all stored translations from it. You can’t undo this operation."
+msgstr "Очистка памяти переводов необратимо удалит все переводы, хранящиеся в ней. Вы не сможете отменить эту операцию."
#. TRANSLATORS: This is abbreviation of "Translation Memory" used in Preferences on OS X.
#. Long text looks weird there, too short (like TM) too, but less so. "General" is about ideal
#. length there.
msgid "TM"
-msgstr "Память переводов"
+msgstr "ПП"
-msgid ""
-"Source code extractors are used to find translatable strings in the source "
-"code files and extract them so that they can be translated."
-msgstr ""
-"Экстракторы используются для поиска переводимых строк в файлах исходного "
-"кода и извлекают их так, чтобы их можно было перевести."
+msgid "Source code extractors are used to find translatable strings in the source code files and extract them so that they can be translated."
+msgstr "Экстракторы используются для поиска переводимых строк в файлах исходного кода и извлекают их так, чтобы их можно было перевести."
msgid "New"
msgstr "Новый"
@@ -1053,32 +1256,33 @@ msgstr "Новый"
msgid "Edit"
msgstr "Править"
+msgid "Delete extractor"
+msgstr "Удалить экстрактор"
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr "Вы уверены, что хотите удалить экстрактор \"%s\"?"
+
msgid "Extractors"
msgstr "Экстракторы"
+msgid "Accounts"
+msgstr "Учетные записи"
+
msgid "Automatically check for updates"
msgstr "Автоматически проверять наличие обновлений"
msgid "Include beta versions"
msgstr "Включая бета-версии"
-msgid ""
-"Beta versions contain the latest new features and improvements, but may be a "
-"bit less stable."
-msgstr ""
-"Бета-версии содержат новейшие функции и улучшения, но могут быть менее "
-"стабильными."
+msgid "Beta versions contain the latest new features and improvements, but may be a bit less stable."
+msgstr "Бета-версии содержат новейшие функции и улучшения, но могут быть менее стабильными."
msgid "Updates"
msgstr "Обновления"
-msgid ""
-"These settings affect internal formatting of PO files. Adjust them if you "
-"have specific requirements e.g. because of version control."
-msgstr ""
-"Эти параметры влияют на внутреннее форматирование файлов PO. Скорректируйте "
-"их, если у вас есть специальные требования, например, если вы пользуетесь "
-"системой контроля версий."
+msgid "These settings affect internal formatting of PO files. Adjust them if you have specific requirements e.g. because of version control."
+msgstr "Эти параметры влияют на внутреннее форматирование файлов PO. Скорректируйте их, если у вас есть специальные требования, например, если вы пользуетесь системой контроля версий."
msgid "Line endings:"
msgstr "Окончания строк:"
@@ -1099,6 +1303,30 @@ msgstr "Использовать форматирование существую
msgid "Advanced"
msgstr "Расширенные параметры"
+msgid "Add Files..."
+msgstr "Добавить файлы..."
+
+msgid "Add files..."
+msgstr "Добавить файлы..."
+
+msgid "Add Folders..."
+msgstr "Добавить папки..."
+
+msgid "Add folders..."
+msgstr "Добавить папки..."
+
+msgid "Add Wildcard..."
+msgstr "Добавить по шаблону..."
+
+msgid "Add wildcard..."
+msgstr "Добавить по шаблону..."
+
+msgid "<big>Drag and Drop Folders Here</big>\n\nor use the + button"
+msgstr "<big>Перетащите папки сюда</big>\n\nили используйте кнопку +"
+
+msgid "<big>Drag and drop folders here</big>\n\nor use the + button"
+msgstr "<big>Перетащите папки сюда</big>\n\nили используйте кнопку +"
+
msgid "Additional keywords"
msgstr "Дополнительные ключевые слова"
@@ -1120,6 +1348,9 @@ msgstr "UTF-8 (рекомендуется)"
msgid "Please save the file first. This section cannot be edited until then."
msgstr "Сначала нужно сохранить файл. До этого данный раздел нельзя изменить."
+msgid "Comment:"
+msgstr "Комментарий:"
+
msgid "OK"
msgstr "ОК"
@@ -1129,42 +1360,6 @@ msgstr "О&чистить"
msgid "Clear the comment"
msgstr "Удалить комментарий"
-msgid "Find..."
-msgstr "Поиск..."
-
-msgid "String to find:"
-msgstr "Искомая строка:"
-
-msgid "Case sensitive"
-msgstr "С учётом регистра"
-
-msgid "Start from the first item"
-msgstr "Начать с первого пункта"
-
-msgid "Whole words only"
-msgstr "Только полные слова"
-
-msgid "Find in original strings"
-msgstr "Искать в исходных строках"
-
-msgid "Find in translations"
-msgstr "Искать в переводах"
-
-msgid "Find in comments"
-msgstr "Искать в комментариях"
-
-msgid "Find in automatic comments"
-msgstr "Искать в автоматических комментариях"
-
-msgid "Close"
-msgstr "Закрыть"
-
-msgid "< &Previous"
-msgstr "< &Предыдущий"
-
-msgid "&Next >"
-msgstr "&Далее >"
-
msgid "Create new translations project"
msgstr "Создать новый проект переводов"
@@ -1201,9 +1396,6 @@ msgstr "&Закрыть"
msgid "E&xit"
msgstr "В&ыход"
-msgid "Quit"
-msgstr "Выход"
-
msgid "&New..."
msgstr "&Создать..."
@@ -1213,12 +1405,24 @@ msgstr "С&оздать из POT-файла..."
msgid "New From &POT/PO File..."
msgstr "С&оздать из POT-файла..."
+msgid "New WordPress translation..."
+msgstr "Новый перевод WordPress..."
+
+msgid "New WordPress Translation..."
+msgstr "Новый перевод WordPress..."
+
msgid "&Open..."
msgstr "&Открыть..."
msgid "Open Recent"
msgstr "Открыть последние файлы"
+msgid "Open from Crowdin..."
+msgstr "Открыть из Crowdin..."
+
+msgid "Open From Crowdin..."
+msgstr "Открыть из Crowdin..."
+
msgid "&Save"
msgstr "&Сохранить"
@@ -1237,6 +1441,9 @@ msgstr "Э&кспортировать как HTML..."
msgid "Check for updates..."
msgstr "Проверить обновления..."
+msgid "&License..."
+msgstr "&Лицензия..."
+
msgid "Catalogs &manager"
msgstr "&Диспетчер каталогов"
@@ -1267,14 +1474,17 @@ msgstr "&Показать связи"
msgid "&Find..."
msgstr "&Найти..."
+msgid "Replace..."
+msgstr "Заменить..."
+
msgid "Find next"
msgstr "Далее"
msgid "Find previous"
msgstr "Назад"
-msgid "Find"
-msgstr "Искать"
+msgid "Find and Replace..."
+msgstr "Найти и заменить..."
msgid "Find Next"
msgstr "Далее"
@@ -1315,6 +1525,12 @@ msgstr "&Группировать по контексту"
msgid "&Group By Context"
msgstr "&Группировать по контексту"
+msgid "Entries with errors first"
+msgstr "Сперва отображать записи с ошибками"
+
+msgid "Entries with Errors First"
+msgstr "Сперва отображать записи с Ошибками"
+
msgid "&Untranslated entries first"
msgstr "Сначала &непереведённые записи"
@@ -1324,6 +1540,9 @@ msgstr "Сначала &непереведённые записи"
msgid "Show sidebar"
msgstr "Показать боковую панель"
+msgid "Show status bar"
+msgstr "Показать строку состояния"
+
msgid "C&atalog"
msgstr "&Каталог"
@@ -1339,6 +1558,9 @@ msgstr "Обновить из &POT-файла..."
msgid "Update from &POT File..."
msgstr "Обновить из &POT-файла..."
+msgid "Sync with Crowdin"
+msgstr "Синхронизировать с Crowdin"
+
msgid "Fill missing translations from &TM..."
msgstr "Заполнить перевод из памяти переводов..."
@@ -1357,6 +1579,9 @@ msgstr "&Проверить перевод"
msgid "&Validate Translations"
msgstr "&Проверить перевод"
+msgid "&Statistics"
+msgstr "&Статистика"
+
msgid "&Properties..."
msgstr "&Свойства..."
@@ -1402,6 +1627,12 @@ msgstr "&Руководство по GNU gettext"
msgid "&GNU gettext Manual"
msgstr "&Руководство по GNU gettext"
+msgid "Email &support..."
+msgstr "&Поддержка по электронной почте..."
+
+msgid "Email &Support..."
+msgstr "&Поддержка по электронной почте..."
+
msgid "&About Poedit"
msgstr "&Сведения о программе Poedit"
@@ -1412,8 +1643,7 @@ msgid "Extractor setup"
msgstr "Настройка экстрактора"
msgid "List of extensions separated by semicolons (e.g. *.cpp;*.h):"
-msgstr ""
-"Список расширений, разделённых точкой с запятой (например, *.cpp; *.h):"
+msgstr "Список расширений, разделённых точкой с запятой (например, *.cpp; *.h):"
msgid "Invocation:"
msgstr "Вызов:"
@@ -1421,52 +1651,35 @@ msgstr "Вызов:"
msgid "Command to extract translations:"
msgstr "Команда для извлечения перевода:"
-msgid ""
-"This is the command used to launch the extractor.\n"
-"%o expands to the name of output file, %K to list\n"
-"of keywords, %F to list of input files,\n"
-"%C to charset flag (see below)."
-msgstr ""
-"Эта команда запускает экстрактор.\n"
-"%o означает название выходного файла, %K — список\n"
-"ключевых слов, %F — список входных файлов,\n"
-"%C — кодировку (см. ниже)."
+msgid "This is the command used to launch the extractor.\n%o expands to the name of output file, %K to list\nof keywords, %F to list of input files,\n%C to charset flag (see below)."
+msgstr "Эта команда запускает экстрактор.\n%o означает название выходного файла, %K — список\nключевых слов, %F — список входных файлов,\n%C — кодировку (см. ниже)."
msgid "An item in keywords list:"
msgstr "Пункт в списке ключевых слов:"
-msgid ""
-"This will be attached to the command line once\n"
-"for each keyword. %k expands to the keyword."
-msgstr ""
-"Это будет добавлено в командную строку для каждого ключевого слова. %k "
-"означает ключевое слово."
+msgid "This will be attached to the command line once\nfor each keyword. %k expands to the keyword."
+msgstr "Это будет добавлено в командную строку для каждого ключевого слова. %k означает ключевое слово."
msgid "An item in input files list:"
msgstr "Пункт в списке входных файлов:"
#, c-format
-msgid ""
-"This will be attached to the command line once\n"
-"for each input file. %f expands to the filename."
-msgstr ""
-"Это будет добавлено в командную строку для каждого входного файла. %f "
-"означает название файла."
+msgid "This will be attached to the command line once\nfor each input file. %f expands to the filename."
+msgstr "Это будет добавлено в командную строку для каждого входного файла. %f означает название файла."
msgid "Source code charset:"
msgstr "Кодировка исходного кода:"
#, c-format
-msgid ""
-"This will be attached to the command line\n"
-"only if source codecharset was given. %c expands to charset value."
-msgstr ""
-"Это будет добавлено в командную строку, только если была указана кодировка "
-"оригинала. %c означает кодировку."
+msgid "This will be attached to the command line\nonly if source codecharset was given. %c expands to charset value."
+msgstr "Это будет добавлено в командную строку, только если была указана кодировка оригинала. %c означает кодировку."
msgid "Catalog properties"
msgstr "Свойства каталога"
+msgid "Project name and version:"
+msgstr "Название и версия проекта:"
+
msgid "Plural Forms:"
msgstr "Формы множественного числа:"
@@ -1479,6 +1692,15 @@ msgstr "Пользовательское выражение"
msgid "Learn about plural forms"
msgstr "Узнать о формах множественного числа"
+msgid "Charset:"
+msgstr "Кодировка:"
+
+msgid "Team:"
+msgstr "Команда:"
+
+msgid "Team's email address:"
+msgstr "Адрес эл. почты команды:"
+
msgid "Translation properties"
msgstr "Свойства перевода"
@@ -1491,12 +1713,8 @@ msgstr "Базовый путь:"
msgid "Sources paths"
msgstr "Папки с исходными файлами"
-msgid ""
-"Use these keywords (function names) to recognize translatable strings\n"
-"in source files:"
-msgstr ""
-"Используйте эти ключевые слова (имена функций) для поиска переводимых строк "
-"в исходных файлах:"
+msgid "Use these keywords (function names) to recognize translatable strings\nin source files:"
+msgstr "Используйте эти ключевые слова (имена функций) для поиска переводимых строк в исходных файлах:"
msgid "Learn about gettext keywords"
msgstr "Узнать больше о ключевых словах gettext"
@@ -1507,22 +1725,14 @@ msgstr "Ключевые слова исходных файлов"
msgid "Update summary"
msgstr "Сводка об обновлении"
-msgid ""
-"These strings were found in the sources but were not in the catalog.\n"
-"Poedit will add them to the catalog now."
-msgstr ""
-"Эти строки были найдены в оригинале, но они отсутствуют в каталоге.\n"
-"Poedit сейчас добавит их в каталог."
+msgid "These strings were found in the sources but were not in the catalog.\nPoedit will add them to the catalog now."
+msgstr "Эти строки были найдены в оригинале, но они отсутствуют в каталоге.\nPoedit сейчас добавит их в каталог."
msgid "New strings"
msgstr "Новые строки"
-msgid ""
-"These strings are no longer in the sources.\n"
-"Poedit will remove them from the catalog now."
-msgstr ""
-"Этих строк больше нет в оригинале.\n"
-"Poedit сейчас удалит их из каталога."
+msgid "These strings are no longer in the sources.\nPoedit will remove them from the catalog now."
+msgstr "Этих строк больше нет в оригинале.\nPoedit сейчас удалит их из каталога."
msgid "Obsolete strings"
msgstr "Устаревшие строки"
@@ -1542,6 +1752,12 @@ msgstr "Проверить"
msgid "Check for errors in the translation"
msgstr "Проверить наличие ошибок в переводе"
+msgid "Statistics"
+msgstr "Статистика"
+
+msgid "Show translation statistics"
+msgstr "Показать статистику перевода"
+
msgid "Update"
msgstr "Обновить"
@@ -1551,19 +1767,21 @@ msgstr "Обновить каталог — синхронизировать е
msgid "Toggled if selected string has fuzzy translation"
msgstr "Включено, если выбранная строка содержит неточный перевод"
-msgid "Show or hide the sidebar."
-msgstr "Показать или скрыть боковую панель."
+msgid "Sidebar"
+msgstr "Боковая панель"
+
+msgid "Show or hide the sidebar"
+msgstr "Показать или скрыть боковую панель"
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
msgid "Previous source text:"
msgstr "Предыдущая версия исходного текста:"
-msgid ""
-"The old source text (before it changed during an update) that the fuzzy "
-"translation corresponds to."
-msgstr ""
-"Старый исходный текст (до обновления), которому соответствует нечеткий "
-"перевод."
+msgid "The old source text (before it changed during an update) that the fuzzy translation corresponds to."
+msgstr "Старый исходный текст (до обновления), которому соответствует нечеткий перевод."
+
+msgid "Notes for translators:"
+msgstr "Примечания для переводчиков:"
msgid "Add comment"
msgstr "Добавить комментарий"
@@ -1571,6 +1789,18 @@ msgstr "Добавить комментарий"
msgid "Add Comment"
msgstr "Добавить комментарий"
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(from your TM)"
+msgstr "(из вашей памяти переводов)"
+
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(machine translation)"
+msgstr "(машинный перевод)"
+
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(human translation)"
+msgstr "(человеческий перевод)"
+
msgid "Translation suggestions:"
msgstr "Предлагаемые варианты перевода:"
@@ -1585,6 +1815,85 @@ msgstr "Совпадений не найдено"
msgid "This string was found in Poedit’s translation memory."
msgstr "Эта строка была найдена в памяти переводов Poedit."
+msgid "This suggestion was contributed by another translator to the online TM."
+msgstr "Это предложение было внесено другим переводчиком в онлайн память переводов."
+
+msgid "This suggestion was machine-translated online."
+msgstr "Это предложение от онлайн-сервиса машинного перевода."
+
+#, c-format
+msgid "%d out of %d online suggestion left."
+msgid_plural "%d out of %d online suggestions left."
+msgstr[0] "Осталось %d из %d онлайн-предложений."
+msgstr[1] "Осталось %d из %d онлайн-предложений."
+msgstr[2] "Осталось %d из %d онлайн-предложений."
+
+msgid "Remove this limitation"
+msgstr "Убрать это ограничение"
+
+msgid "Not showing additional online suggestions."
+msgstr "Не показаны дополнительные предложения перевода из онлайн памяти переводов."
+
+msgid "Unlock online suggestions"
+msgstr "Разблокировать онлайн предложения"
+
+msgid "Exceeded online TM daily limit."
+msgstr "Достигнут суточный лимит онлайн памяти переводов."
+
+msgid "Connect to the Internet to get additional suggestions."
+msgstr "Подключитесь к Интернету, чтобы получить дополнительные предложения перевода."
+
+#. TRANSLATORS: Label indicating that translations made in the current file are contributed to the online translation memory. Related to the "Contribute my translations to the online TM" string.
+msgid "Contributing"
+msgstr "Внос вклада"
+
+msgid "Your translations are contributed to the online translation memory as you make them. Thanks for making the suggestions better!"
+msgstr "Ваши переводы добавляются в онлайн память переводов. Спасибо, что делаете предложения лучше!"
+
+#. TRANSLATORS: Label indicating that the current file
+msgid "Private"
+msgstr "Частный"
+
+msgid "Translations from this file are not shared with the online translation memory."
+msgstr "Переводы из этого файла не добавляются в онлайн память переводов."
+
+msgid "Privacy settings"
+msgstr "Настройки конфиденциальности"
+
+#, c-format
+msgid "While editing the file “%s”:"
+msgstr "При редактировании файла \"%s\":"
+
+msgid "Items"
+msgstr "Записи"
+
+msgid "Words"
+msgstr "Слова"
+
+msgid "Translated"
+msgstr "Переведено"
+
+msgid "Needs review (fuzzy)"
+msgstr "Требуется проверка (неточный перевод)"
+
+msgid "Translations with errors"
+msgstr "Перевод с ошибками"
+
+msgid "Source Text"
+msgstr "Исходный текст"
+
+msgid "Strings in source language"
+msgstr "Строки в языке оригинала"
+
+msgid "Not translated"
+msgstr "Не переведено"
+
+msgid "Copy to clipboard"
+msgstr "Копировать в буфер обмена"
+
+msgid "Copy to Clipboard"
+msgstr "Копировать в буфер обмена"
+
#, c-format
msgid "(New: %i, obsolete: %i)"
msgstr "(Новых: %i, устаревших: %i)"
@@ -1604,16 +1913,10 @@ msgid "Migration exit status: %d"
msgstr "Состояние завершения миграции: %d"
msgid "Poedit needs to convert your translation memory to a new format."
-msgstr ""
-"Программе Poedit нужно преобразовать вашу память переводов в новый формат."
+msgstr "Программе Poedit нужно преобразовать вашу память переводов в новый формат."
-msgid ""
-"This must be done before Poedit can start. It may take a few minutes if you "
-"have lots of translations stored, but should normally be much faster."
-msgstr ""
-"Это необходимо сделать перед запуском Poedit. Если у вас сохранено много "
-"переводов, на это может потребоваться несколько минут. Но обычно это "
-"выполняется намного быстрее."
+msgid "This must be done before Poedit can start. It may take a few minutes if you have lots of translations stored, but should normally be much faster."
+msgstr "Это необходимо сделать перед запуском Poedit. Если у вас сохранено много переводов, на это может потребоваться несколько минут. Но обычно это выполняется намного быстрее."
msgid "Proceed"
msgstr "Продолжить"
@@ -1622,52 +1925,54 @@ msgid "Translation memory migration failed."
msgstr "Не удалось мигрировать память переводов"
#, c-format
-msgid ""
-"Your translation memory data couldn't be migrated. The error was:\n"
-"\n"
-"%s\n"
-"Please email help at poedit.net and we’ll get it fixed."
-msgstr ""
-"Данные памяти переводов не удалось мигрировать. Возникла ошибка:\n"
-"\n"
-"%s\n"
-"Отправьте эту ошибку по адресу help at poedit.net, и мы займёмся её решением."
+msgid "Your translation memory data couldn't be migrated. The error was:\n\n%s\nPlease email help at poedit.net and we’ll get it fixed."
+msgstr "Данные памяти переводов не удалось мигрировать. Возникла ошибка:\n\n%s\nОтправьте эту ошибку по адресу help at poedit.net, и мы займёмся её решением."
msgid "Cannot create temporary directory."
msgstr "Не удаётся создать папку для временных файлов."
+msgid "Check theme or plugin compatibility"
+msgstr "Проверить тему или плагин на совместимость"
+
msgid "Welcome to Poedit"
msgstr "Добро пожаловать в Poedit"
+msgid "Upgrade to Pro"
+msgstr "Обновиться до версии Pro"
+
+msgid "Upgrade to Poedit Pro to get additional features and support Poedit's development."
+msgstr "Перейдите на Poedit Pro, чтобы получить дополнительные возможности и поддержать разработку Poedit."
+
msgid "Edit a translation"
msgstr "Редактирование перевода"
msgid "Open an existing PO file and edit the translation."
msgstr "Открыть существующий PO-файл и редактировать перевод."
-msgid "Create new translation"
-msgstr "Создать новый перевод"
-
-msgid ""
-"Take an existing PO file or POT template and create a new translation from "
-"it."
+msgid "Take an existing PO file or POT template and create a new translation from it."
msgstr "Создание перевода на основе существующего PO-файла или POT-шаблона."
+msgid "Translate WordPress theme or plugin"
+msgstr "Перевод темы или модуля WordPress"
+
+#. TRANSLATORS: Please don't use any form of "automatically" in the translation, it would mislead people.
+msgid "Create a new translation. Poedit will set everything up; you can focus on translating."
+msgstr "Создание нового перевода. Программа сама всё настроит, чтобы вы могли сосредоточиться на переводе."
+
+msgid "Collaborate on a translation with Crowdin"
+msgstr "Помочь переводу на Crowdin"
+
+msgid "Download a file from Crowdin project, translate and sync your changes back."
+msgstr "Скачать файл из Crowdin проекта, перевести его и выгрузить изменения обратно."
+
+msgid "What is Crowdin?"
+msgstr "Что такое Crowdin?"
+
msgid "There are no translations. That’s unusual."
msgstr "Перевод отсутствует. Это странно."
-msgid ""
-"Translatable entries aren't added manually in the Gettext system, but are "
-"automatically extracted\n"
-"from source code. This way, they stay up to date and accurate.\n"
-"Translators typically use PO template files (POTs) prepared for them by the "
-"developer."
-msgstr ""
-"Переводимые записи не добавляются вручную в систему Gettext, а автоматически "
-"извлекаются из исходного кода. Таким образом обеспечивается их актуальность "
-"и точность.\n"
-"Переводчики обычно работают с PO-файлами (POT-шаблоны), которые подготовил "
-"для них разработчик."
+msgid "Translatable entries aren't added manually in the Gettext system, but are automatically extracted\nfrom source code. This way, they stay up to date and accurate.\nTranslators typically use PO template files (POTs) prepared for them by the developer."
+msgstr "Переводимые записи не добавляются вручную в систему Gettext, а автоматически извлекаются из исходного кода. Таким образом обеспечивается их актуальность и точность.\nПереводчики обычно работают с PO-файлами (POT-шаблоны), которые подготовил для них разработчик."
msgid "(Learn more about GNU gettext)"
msgstr "(Узнать больше о GNU gettext)"
@@ -1681,13 +1986,113 @@ msgstr "Обновить из POT-файла"
msgid "Take translatable strings from an existing POT template."
msgstr "Извлечение переводимых строк из существующего POT-шаблона."
-msgid ""
-"You can also extract translatable strings directly from the source code:"
-msgstr ""
-"Переводимые строки можно также извлечь непосредственно из исходного кода:"
+msgid "You can also extract translatable strings directly from the source code:"
+msgstr "Переводимые строки можно также извлечь непосредственно из исходного кода:"
msgid "Extract from sources"
msgstr "Извлечь из исходного кода"
msgid "Configure source code extraction in Properties."
msgstr "Настройте извлечение исходного кода в разделе «Свойства»."
+
+#, c-format
+msgid "Failed to read file '%s'."
+msgstr "Не удалось прочитать файл «%s»."
+
+#, c-format
+msgid "Confused by ambiguous values of \"%s\" in %s."
+msgstr "Неоднозначные значения «%s» в %s."
+
+#, c-format
+msgid "Couldn't detect POs location for \"%s\"."
+msgstr "Не удалось обнаружить местонахождение PO-файлов для «%s»."
+
+#, c-format
+msgid "The \"%s\" theme isn't localization-ready."
+msgstr "Тема «%s» не подготовлена к локализации."
+
+msgid "Confused: multiple main plugin files."
+msgstr "Неоднозначность: несколько файлов главного модуля."
+
+#, c-format
+msgid "The \"%s\" plugin isn't localization-ready."
+msgstr "Модуль «%s» не подготовлен к локализации."
+
+#, c-format
+msgid "Couldn't detect translation domain of the \"%s\" plugin."
+msgstr "Не удалось обнаружить область перевода модуля «%s»."
+
+msgid "Found neither WordPress theme nor plugin in the folder."
+msgstr "В папке не найдены ни тема, ни модуль WordPress."
+
+#, c-format
+msgid "Translations folder (%s) doesn't exist."
+msgstr "Папка перевода (%s) не существует."
+
+msgid "<big>Drag and drop <b>theme or plugin folder</b> here</big>\n\nor use the “Choose folder” button"
+msgstr "<big>Перетащите <b>папку темы или плагина</b> сюда</big>\n\nили воспользуйтесь кнопкой “Выбрать папку”"
+
+msgid "<big>Drag and Drop <b>Theme or Plugin Folder</b> Here</big>\n\nor use the “Choose Folder” button"
+msgstr "<big>Перетащите <b>папку темы или плагина</b> сюда</big>\n\nили воспользуйтесь кнопкой “Выбрать папку”"
+
+#, c-format
+msgid "Folder “%s”"
+msgstr "Папка \"%s\""
+
+msgid "Choose Folder..."
+msgstr "Выбрать папку..."
+
+msgid "Choose folder..."
+msgstr "Выбрать папку..."
+
+msgid "Create a new translation"
+msgstr "Создать новый перевод"
+
+msgid "Choose this if you want to translate the theme or plugin into your language."
+msgstr "Выберите это, если вы хотите перевести тему или плагин на свой язык."
+
+msgid "Create a POT"
+msgstr "Создать POT файл"
+
+msgid "This option is for theme and plugin developers. Poedit will create an empty template (POT) that translations can be based on."
+msgstr "Эта опция предназначена для разработчиков тем или плагинов. Poedit создаст пустой шаблон (POT), на котором будут базироваться переводы."
+
+msgid "Continue"
+msgstr "Продолжить"
+
+msgid "Failed to extract WordPress information."
+msgstr "Не удалось извлечь данные WordPress."
+
+msgid "WordPress error"
+msgstr "Ошибка WordPress"
+
+#, c-format
+msgid "Poedit couldn’t understand the content of the folder you selected. This may be a problem with the plugin/theme or it may be Poedit being silly. The error is:\n\n • %s\n\nPlease email help at poedit.net and we’ll sort it out."
+msgstr "Программа не смогла проанализировать содержимое указанного каталога. Возможно, проблема заключается в модуле или теме, или это какой-то сбой в Poedit. Ошибка:\n\n • %s\n\n Отправьте файл по электронной почте на адрес help at poedit.net, и мы попытаемся разобраться."
+
+#. TRANSLATORS: This is a button that sends an email to support when clicked
+msgid "Email support"
+msgstr "Поддержка по электронной почте..."
+
+msgid "View log"
+msgstr "Просмотреть журнал"
+
+#. TRANSLATORS: This is a button that sends an email to support when clicked
+msgid "Email Support"
+msgstr "Поддержка по электронной почте..."
+
+msgid "View Log"
+msgstr "Просмотреть журнал"
+
+msgid "WordPress Errors Log"
+msgstr "Журнал ошибок WordPress"
+
+msgid "Please email this log to help at poedit.net. Thank you!"
+msgstr "Отправьте этот журнал по электронной почте на адрес help at poedit.net. Спасибо!"
+
+msgid "Sync"
+msgstr "Синхронизация"
+
+msgid "Synchronize the translation with Crowdin"
+msgstr "Синхронизировать перевод с Crowdin"
+
diff --git a/locales/sk.mo b/locales/sk.mo
index e684501..56903c6 100644
Binary files a/locales/sk.mo and b/locales/sk.mo differ
diff --git a/locales/sk.po b/locales/sk.po
index 19c5441..c8a348b 100644
--- a/locales/sk.po
+++ b/locales/sk.po
@@ -1,9 +1,9 @@
msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
-"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:34-0400\n"
+"Report-Msgid-Bugs-To: poedit at googlegroups.com\n"
+"POT-Creation-Date: 2015-05-11 08:48+0200\n"
+"PO-Revision-Date: 2015-05-19 10:48-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Slovak\n"
"Language: sk_SK\n"
@@ -16,6 +16,40 @@ msgstr ""
"X-Crowdin-Language: sk\n"
"X-Crowdin-File: /locales/poedit.pot\n"
+#. TRANSLATORS: This is titlebar of about dialog, "%s" is application name
+#. ("Poedit" here, but please use "%s")
+#, c-format
+msgid "About %s"
+msgstr "O programe %s"
+
+#. TRANSLATORS: This is version information in about dialog, "%s" will be
+#. version number when used
+#, c-format
+msgid "Version %s"
+msgstr "Verzia %s"
+
+msgid "Based on the open source version →"
+msgstr "Založené na open sorce verzii →"
+
+msgid "Acknowledgements"
+msgstr "Poďakovanie"
+
+msgid "Rate on the App Store"
+msgstr "Ohodnoťte na App Store"
+
+msgid "License Agreement"
+msgstr "Licenčná zmluva"
+
+#, c-format
+msgid "Licensed to %s"
+msgstr "Licencia pre používateľa %s"
+
+msgid "Purchased on the Mac App Store"
+msgstr "Zakúpené v Mac App Store"
+
+msgid "Free version (please upgrade!)"
+msgstr "Bezplatná verzia (Prosím aktualizujte!)"
+
msgid "Hide this notification message"
msgstr "Skryť túto správu s upozornením"
@@ -40,59 +74,51 @@ msgstr "Riadok %d v súbore '%s' je poškodený (nesprávne %s dáta)."
msgid "Malformed header: '%s'"
msgstr "Chybný formát hlavičky „%s“"
-msgid ""
-"Broken catalog file: singular form msgstr used together with msgid_plural"
-msgstr ""
-"Chybný súbor katalógu: tvar jednotného čísla msgstr je použitý aj v "
-"msgid_plural"
+msgid "Broken catalog file: singular form msgstr used together with msgid_plural"
+msgstr "Chybný súbor katalógu: tvar jednotného čísla msgstr je použitý aj v msgid_plural"
msgid "Broken catalog file: plural form msgstr used without msgid_plural"
-msgstr ""
-"Chybný súbor katalógu: tvar množného čísla msgstr použitý bez msgid_plural"
+msgstr "Chybný súbor katalógu: tvar množného čísla msgstr použitý bez msgid_plural"
-msgid ""
-"There were errors when loading the catalog. Some data may be missing or "
-"corrupted as the result."
-msgstr ""
-"Nastala chyba pri načítavaní katalógu. Niektoré údaje môžu chýbať alebo byť "
-"poškodené."
+msgid "There were errors when loading the catalog. Some data may be missing or corrupted as the result."
+msgstr "Nastala chyba pri načítavaní katalógu. Niektoré údaje môžu chýbať alebo byť poškodené."
#, c-format
msgid "Couldn't load file %s, it is probably corrupted."
msgstr "Nie je možné otvoriť súbor %s. Pravdepodobne je poškodený."
#, c-format
-msgid ""
-"File '%s' is read-only and cannot be saved.\n"
+msgid "File '%s' is read-only and cannot be saved.\n"
"Please save it under different name."
-msgstr ""
-"Súbor „%s“ je možné iba čítať, takže nemôže byť uložený.\n"
+msgstr "Súbor „%s“ je možné iba čítať, takže nemôže byť uložený.\n"
"Skúste ho uložiť pod iným názvom."
#, c-format
msgid "Couldn't save file %s."
msgstr "Nedá sa uložiť súbor %s."
-msgid ""
-"There was a problem formatting the file nicely (but it was saved all right)."
-msgstr ""
-"Vyskytol sa problém pri formátovaní súboru (napriek tomu bol správne "
-"uložený)."
+msgid "There was a problem formatting the file nicely (but it was saved all right)."
+msgstr "Vyskytol sa problém pri formátovaní súboru (napriek tomu bol správne uložený)."
#, c-format
-msgid ""
-"The catalog couldn't be saved in '%s' charset as specified in catalog "
-"settings.\n"
-"\n"
+msgid "The catalog couldn't be saved in '%s' charset as specified in catalog settings.\n\n"
"It was saved in UTF-8 instead and the setting was modified accordingly."
-msgstr ""
-"Katalóg nemôže byť uložený v znakovej sade „%s“\n"
-"ako je uvedené v nastavení katalógu. Namiesto toho bol uložený\n"
+msgstr "Katalóg nemôže byť uložený v znakovej sade „%s“\n"
+"ako je uvedené v nastavení katalógu. Namiesto toho bol uložený\n"
"v UTF-8 a dané nastavenie bolo príslušne modifikované."
msgid "Error saving catalog"
msgstr "Chyba pri ukladaní katalógu"
+msgid "PO Translation Files"
+msgstr "PO súbory prekladu"
+
+msgid "POT Translation Templates"
+msgstr "Šablóny prekladania POT"
+
+msgid "All Translation Files"
+msgstr "Všetky prekladané súbory"
+
msgid "Merging differences..."
msgstr "Zlučovanie rozdielov..."
@@ -112,6 +138,81 @@ msgstr "Výber jazyka"
msgid "You must restart Poedit for this change to take effect."
msgstr "Musíte reštartovať program Poedit, aby sa prejavili zmeny."
+msgid "Downloading translations is disabled in this project."
+msgstr "Sťahovanie prekladu nie je možné pre tento projekt."
+
+msgid "Not authorized, please sign in again."
+msgstr "Chyba pri autorizácii, skúste sa znovu prihlásiť."
+
+msgid "Sign in to Crowdin"
+msgstr "Prihlásenie do služby Crowdin"
+
+msgid "Crowdin is an online localization management platform and collaborative translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr "Crowdin je služba pre správu online prekladov a nástroj pre spoluprácu pri nich. Program Poedit môže jednoducho synchronizovať .PO súbory spravované v službe Crowdin."
+
+msgid "Sign In"
+msgstr "Prihlásiť"
+
+msgid "Sign in"
+msgstr "Prihlásiť sa"
+
+msgid "Sign Out"
+msgstr "Odhlásiť sa"
+
+msgid "Sign out"
+msgstr "Odhlásiť sa"
+
+msgid "Waiting for authentication…"
+msgstr "Prebieha overovanie vášho účtu…"
+
+msgid "Updating user information…"
+msgstr "Aktualizujú sa informácie o používateľovi…"
+
+msgid "Signed in as:"
+msgstr "Ste prihlásený ako:"
+
+msgid "Learn More About Crowdin"
+msgstr "Viac informácií o službe Crowdin"
+
+msgid "Learn more about Crowdin"
+msgstr "Viac informácií o službe Crowdin"
+
+msgid "Open Crowdin translation"
+msgstr "Otvoriť Crowdin preklad"
+
+msgid "Project:"
+msgstr "Projekt:"
+
+msgid "Language:"
+msgstr "Jazyk prekladu:"
+
+msgid "File:"
+msgstr "Súbor:"
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr "Neboli nájdené žiadne prekladateľské projekty vo vašom Crowdin účte."
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr "Tento projekt neobsahuje žiadne súbory, ktoré môžu byť preložené programom Poedit."
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr "Tento súbor môže byť upravovaný iba vo webovom rozhraní služby Crowdin."
+
+msgid "Downloading latest translations…"
+msgstr "Sťahovanie najnovších prekladov…"
+
+msgid "Syncing with Crowdin"
+msgstr "Synchronizácia so službou Crowdin"
+
+msgid "Syncing with Crowdin failed."
+msgstr "Synchronizácia so službou Crowdin zlyhala."
+
+msgid "Crowdin error"
+msgstr "Chyba - Crowdin"
+
+msgid "Uploading translations…"
+msgstr "Aktualizácia prekladov…"
+
msgid "&Copy"
msgstr "&Kopírovať"
@@ -139,25 +240,43 @@ msgstr "Spracúva sa %s súborov..."
msgid "Failed to load extracted catalog."
msgstr "Nepodarilo sa načítať extrahovaný katalóg."
+#, c-format
+msgid "Failed to extract WordPress metadata from file %s."
+msgstr "Nepodarilo sa extrahovať metadáta WordPress zo súboru %s."
+
msgid "&Help"
msgstr "&Pomoc"
+msgid "Beta expired"
+msgstr "Beta verzia programu expirovala"
+
+msgid "This beta version of Poedit expired."
+msgstr "Táto beta verzia programu Poedit expirovala."
+
+msgid "Please download a newer version from the Poedit website at http://poedit.net/download"
+msgstr "Stiahnite si najnovšiu verziu programu Poedit na stránke: http://poedit.net/download"
+
+msgid "Download"
+msgstr "Stiahnuť"
+
+msgid "Quit"
+msgstr "Ukončiť"
+
msgid "MO files can’t be directly edited in Poedit."
msgstr "MO súbory nemôžu by upravované priamo v programe Poedit."
msgid "Error opening file"
msgstr "Chyba pri otváraní súboru"
-msgid ""
-"Please open and edit the corresponding PO file instead. When you save it, "
-"the MO file will be updated as well."
-msgstr ""
-"Otvorte a upravte namiesto toho zodpovedajúci PO súbor. Po jeho uložení bude "
-"takisto aktualizovaný aj MO súbor."
+msgid "Please open and edit the corresponding PO file instead. When you save it, the MO file will be updated as well."
+msgstr "Otvorte a upravte namiesto toho zodpovedajúci PO súbor. Po jeho uložení bude takisto aktualizovaný aj MO súbor."
msgid "don't delete temporary files (for debugging)"
msgstr "nemazať dočasné súbory (pre ladiace účely)"
+msgid "handle a poedit:// URI"
+msgstr "handle a poedit:// URI"
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr "Došlo k neočakávanej chybe: %s"
@@ -168,34 +287,19 @@ msgstr "Došlo k neočakávanej chybe."
msgid "Open catalog"
msgstr "Otvoriť katalóg"
-msgid "All Files"
-msgstr "Všetky súbory"
-
-msgid "PO Translation Files"
-msgstr "PO súbory prekladu"
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "Súbor „%s“ neexistuje."
-#. TRANSLATORS: This is titlebar of about dialog, "%s" is application name
-#. ("Poedit" here, but please use "%s")
-#, c-format
-msgid "About %s"
-msgstr "O programe %s"
-
-#. TRANSLATORS: This is version information in about dialog, "%s" will be
-#. version number when used
-#, c-format
-msgid "Version %s"
-msgstr "Verzia %s"
-
msgid "Poedit is an easy to use translations editor."
msgstr "Program Poedit je jednoducho použiteľný editor prekladov."
msgid "Catalogs Manager"
msgstr "Správca katalógov"
+msgid "License..."
+msgstr "Licencia..."
+
msgid "Check for Updates..."
msgstr "Skontrolovať aktualizácie programu..."
@@ -277,6 +381,15 @@ msgstr "Zastaviť rozprávanie"
msgid "&View"
msgstr "&Zobraziť"
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
+msgid "Show Toolbar"
+msgstr "Zobraziť panel s nástrojmi"
+
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
+msgid "Customize Toolbar…"
+msgstr "Prispôsobiť panel s nástrojmi…"
+
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
msgid "Enter Full Screen"
msgstr "Na celú obrazovku"
@@ -292,19 +405,30 @@ msgstr "Priblíženie"
msgid "Bring All to Front"
msgstr "Preniesť všetko dopredu"
+#. TRANSLATORS:File kind displayed in Finder/Explorer
msgid "PO Translation"
msgstr "PO preklad"
+msgid "Invalid license data."
+msgstr "Neplatné licenčné údaje."
+
+msgid "Poedit"
+msgstr "Poedit"
+
+#, c-format
+msgid "The link doesn't contain valid Poedit license. Try entering it manually or contact support at help at poedit.net.\n\n"
+"(%s)"
+msgstr "Odkaz neobsauje platnú licenciu programu Poedit. Vyskúšajte ju zadať manuálne alebo kontaktujte podporu e-mailom na help at poedit.net.\n\n"
+"(%s)"
+
msgid "The file cannot be opened."
msgstr "Súbor nemohol byť otvorený."
msgid "Invalid file"
msgstr "Neplatný súbor"
-msgid ""
-"The file may be either corrupted or in a format not recognized by Poedit."
-msgstr ""
-"Súbor môže byť poškodený alebo formát nebol rozoznaný programom Poedit."
+msgid "The file may be either corrupted or in a format not recognized by Poedit."
+msgstr "Súbor môže byť poškodený alebo formát nebol rozoznaný programom Poedit."
msgid "&Undo"
msgstr "&Zrušiť"
@@ -381,9 +505,6 @@ msgstr "Nemôžete spustiť naraz viac ako jeden súbor v okne aplikácie Poedit
msgid "File '%s' is not a message catalog."
msgstr "Súbor „%s\" nie je katalógom prekladov."
-msgid "Poedit"
-msgstr "Poedit"
-
msgid "&File"
msgstr "&Súbor"
@@ -402,15 +523,23 @@ msgstr "Množné číslo:"
msgid "Translation:"
msgstr "Preklad:"
+msgid "POT files are only templates and don’t contain any translations themselves.\n"
+"To make a translation, create a new PO file based on the template."
+msgstr "Súbory POT sú iba šablóny a samé neobsahujú žiadne preklady.\n"
+"Ak chcete vytvoriť nový preklad, vytvorte nový PO súbor na základe šablóny."
+
+msgid "Create New Translation"
+msgstr "Vytvoriť nový preklad"
+
+msgid "Create new translation"
+msgstr "Vytvoriť nový preklad"
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
#, c-format
-msgid ""
-"Spellchecking is disabled, because the dictionary for %s isn’t installed."
-msgstr ""
-"Kontrola pravopisu je vypnutá, pretože slovník pre jazyk %s nie je "
-"nainštalovaný."
+msgid "Spellchecking is disabled, because the dictionary for %s isn’t installed."
+msgstr "Kontrola pravopisu je vypnutá, pretože slovník pre jazyk %s nie je nainštalovaný."
msgid "Install"
msgstr "Inštalovať"
@@ -451,8 +580,30 @@ msgstr "HTML súbory"
msgid "Open catalog template"
msgstr "Otvoriť katalóg návrhov"
-msgid "POT Translation Templates"
-msgstr "Šablóny prekladania POT"
+msgid "WordPress"
+msgstr "WordPress"
+
+msgid "Analyzing WordPress code..."
+msgstr "Analyzovanie WordPress kódu..."
+
+msgid "Select the folder with the WordPress theme or plugin"
+msgstr "Vyberte priečinok s WordPress témou alebo pluginom"
+
+#. TRANSLATORS: %s is name of a WordPress theme
+#, c-format
+msgid "The “%s” theme is compatible."
+msgstr "Téma „%s\" je kompatibilná."
+
+#. TRANSLATORS: %s is name of a WordPress plugin
+#, c-format
+msgid "The “%s” plugin is compatible."
+msgstr "Plugin „%s\" je kompatibilný."
+
+msgid "The theme is translation-ready and compatible with Poedit’s WordPress support."
+msgstr "Téma je pripravená na preklad a kompatibilná s podporou WordPress programu Poedit."
+
+msgid "The plugin is translation-ready and compatible with Poedit’s WordPress support."
+msgstr "Plugin je pripravený na preklad a kompatibilný s podporou programu Poedit."
msgid "Updating catalog"
msgstr "Aktualizuje sa katalóg"
@@ -463,20 +614,14 @@ msgstr "Zdrojový kód nie je k dispozícii."
msgid "Updating failed"
msgstr "Aktualizácia zlyhala"
-msgid ""
-"Translations couldn’t be updated from the source code, because no code was "
-"found in the location specified in the catalog’s Properties."
-msgstr ""
-"Nepodarilo sa aktualizovať preklady zo zdrojového kódu, pretože sa nenašiel "
-"žiadny kód umiestnenia vo vlastnostiach katalógu."
+msgid "Translations couldn’t be updated from the source code, because no code was found in the location specified in the catalog’s Properties."
+msgstr "Nepodarilo sa aktualizovať preklady zo zdrojového kódu, pretože sa nenašiel žiadny kód umiestnenia vo vlastnostiach katalógu."
msgid "Entries in the catalog are probably incorrect."
msgstr "Záznamy v katalógu sú pravdepodobne nesprávne."
msgid "Updating the catalog failed. Click on 'Details >>' for details."
-msgstr ""
-"Aktualizácia katalógu zlyhala. Kliknite na „Podrobnosti >>\" pre viac "
-"detailov."
+msgstr "Aktualizácia katalógu zlyhala. Kliknite na „Podrobnosti >>\" pre viac detailov."
#, c-format
msgid "%d issue with the translation found."
@@ -488,35 +633,20 @@ msgstr[2] "Našlo sa %d problémov s prekladom."
msgid "Validation results"
msgstr "Výsledky overovania"
-msgid ""
-"Entries with errors were marked in red in the list. Details of the error "
-"will be shown when you select such an entry."
-msgstr ""
-"Záznamy s chybami boli v zozname vyznačené na červeno. Podrobnosti o chybe "
-"budú zobrazené, ak vyberiete nejaký záznam."
+msgid "Entries with errors were marked in red in the list. Details of the error will be shown when you select such an entry."
+msgstr "Záznamy s chybami boli v zozname vyznačené na červeno. Podrobnosti o chybe budú zobrazené, ak vyberiete nejaký záznam."
msgid "The file was saved safely."
msgstr "Súbor bol bezpečne uložený."
-msgid ""
-"The file was saved safely and compiled into the MO format, but it will "
-"probably not work correctly."
-msgstr ""
-"Súbor bol bezpečne uložený a skompilovaný do MO formátu, ale pravdepodobne "
-"nebude pracovať správne."
+msgid "The file was saved safely and compiled into the MO format, but it will probably not work correctly."
+msgstr "Súbor bol bezpečne uložený a skompilovaný do MO formátu, ale pravdepodobne nebude pracovať správne."
-msgid ""
-"The file was saved safely, but it cannot be compiled into the MO format and "
-"used."
-msgstr ""
-"Súbor bol bezpečne uložený, ale nemôže byť skompilovaný do formátu MO a "
-"následne použitý."
+msgid "The file was saved safely, but it cannot be compiled into the MO format and used."
+msgstr "Súbor bol bezpečne uložený, ale nemôže byť skompilovaný do formátu MO a následne použitý."
-msgid ""
-"The file was compiled into the MO format, but it will probably not work "
-"correctly."
-msgstr ""
-"Súbor vo formáte MO bol vytvorený, ale pravdepodobne nefunguje správne."
+msgid "The file was compiled into the MO format, but it will probably not work correctly."
+msgstr "Súbor vo formáte MO bol vytvorený, ale pravdepodobne nefunguje správne."
msgid "The file cannot be compiled into the MO format and used."
msgstr "Súbor MO nemôže byť vytvorený a použitý."
@@ -526,30 +656,42 @@ msgstr "Nenašli sa žiadne problémy s prekladom."
#, c-format
msgid "The translation is ready for use, but %d entry is not translated yet."
-msgid_plural ""
-"The translation is ready for use, but %d entries are not translated yet."
-msgstr[0] ""
-"Preklad je pripravený na používanie, ale %d záznam ešte nie je preložený."
-msgstr[1] ""
-"Preklad je pripravený na používanie, ale %d záznamy ešte nie sú preložené."
-msgstr[2] ""
-"Preklad je pripravený na používanie, ale %d záznamov ešte nie je preložených."
+msgid_plural "The translation is ready for use, but %d entries are not translated yet."
+msgstr[0] "Preklad je pripravený na používanie, ale %d záznam ešte nie je preložený."
+msgstr[1] "Preklad je pripravený na používanie, ale %d záznamy ešte nie sú preložené."
+msgstr[2] "Preklad je pripravený na používanie, ale %d záznamov ešte nie je preložených."
msgid "The translation is ready for use."
msgstr "Preklad je pripravený na používanie."
-msgid "No references to this string found."
-msgstr "Žiadne odkazy k reťazcu neboli nájdené."
+msgid "Contributing translations improves the quality of online suggestions for everybody — the more people do it, the better the suggestions can be. Your translations are submitted anonymously and are available to other translators using Poedit or other CAT tools."
+msgstr "Pridávaním prekladov zlepšíte kvalitu online návrhov pre každého — čím viac ľudí to urobí, tým lepšie budú návrhy. Vaše preklady budú predkladané anonymne a budú k dispozícii pre ostatných prekladateľov používajúcich program Poedit alebo CAT nástroje."
+
+msgid "Can Poedit contribute your translations of this file to the online translation memory?"
+msgstr "Chcete prispievať vašimi prekladmi z tohto súboru do online pamäte prekladov?"
-msgid "Please choose the reference you want to show:"
-msgstr "Vyberte si odkaz ktorý chcete zobraziť:"
+msgid "Apply to all files I edit"
+msgstr "Použiť pre všetky upravované súbory"
-msgid "References"
-msgstr "Odkazy"
+msgid "Contribute"
+msgstr "Prispieť"
+
+msgid "Keep Private"
+msgstr "Súkromne"
+
+msgid "Keep private"
+msgstr "Súkromne"
msgid "Context:"
msgstr "Kontext:"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr "Program Poedit automaticky opraví neplatný obsah v súbore \"%s\"."
+
+msgid "The file contained duplicate items, which is not allowed in PO files and would prevent the file from being used. Poedit fixed the issue, but you should review translations of any items marked as fuzzy and correct them if necessary."
+msgstr ""
+
msgid "Language of the translation isn't set."
msgstr "Jazyk prekladu nie je nastavený."
@@ -559,19 +701,24 @@ msgstr "Nastaviť jazyk"
msgid "Set language"
msgstr "Vybrať jazyk"
-msgid ""
-"This catalog has entries with plural forms, but doesn't have Plural-Forms "
-"header configured."
-msgstr ""
-"Tento katalóg obsahuje záznamy s formami množného čísla, ale nemá "
-"nakonfigurovanú hlavičku Plural-Forms."
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid "Suggestions are not available if the translation language is not set correctly. Other features, such as plural forms, may be affected as well."
+msgstr "Návrhy nie sú dostupné ak jazyk prekladu nie je nastavený správne. Ostatné funkcie, ako množné číslo, tým môžu byť ovplyvnené."
-msgid ""
-"Entries in this catalog have different plural forms count from what "
-"catalog's Plural-Forms header says"
-msgstr ""
-"Záznamy v tomto katalógu majú rozdielny počet foriem množného čísla ako je "
-"udané v hlavičke Plural-Forms katalógu"
+msgid "Language of the translation is the same as source language."
+msgstr "Jazyk prekladu je taký istý ako zdrojový jazyk."
+
+msgid "Fix Language"
+msgstr "Zmeniť jazyk"
+
+msgid "Fix language"
+msgstr "Zmeniť jazyk"
+
+msgid "This catalog has entries with plural forms, but doesn't have Plural-Forms header configured."
+msgstr "Tento katalóg obsahuje záznamy s formami množného čísla, ale nemá nakonfigurovanú hlavičku Plural-Forms."
+
+msgid "Entries in this catalog have different plural forms count from what catalog's Plural-Forms header says"
+msgstr "Záznamy v tomto katalógu majú rozdielny počet foriem množného čísla ako je udané v hlavičke Plural-Forms katalógu"
msgid "Required header Plural-Forms is missing."
msgstr "Potrebná hlavička Plural-Forms sa nenašla."
@@ -591,9 +738,9 @@ msgstr "Opraviť hlavičku"
#. to rephrase it, e.g. to an equivalent of "for language %s".
#, c-format
msgid "Plural forms expression used by the catalog is unusual for %s."
-msgstr ""
-"Katalógom použité vyjadrenie množného čísla je nezvyčajné pre jazyk %s."
+msgstr "Katalógom použité vyjadrenie množného čísla je nezvyčajné pre jazyk %s."
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr "Náhľad"
@@ -616,12 +763,23 @@ msgstr[0] "%d chyba"
msgstr[1] "%d chyby"
msgstr[2] "%d chýb"
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] "%d položka"
+msgstr[1] "%d položky"
+msgstr[2] "%d položiek"
+
msgid " (unsaved)"
msgstr " (neuložené)"
msgid " (modified)"
msgstr " (zmenené)"
+#, c-format
+msgid " (beta version expires %s)"
+msgstr " (Beta verzia expiruje %s)"
+
msgid "Go"
msgstr "Prejsť"
@@ -635,14 +793,8 @@ msgstr "Odstrániť zmazané preklady"
msgid "Do you want to remove all translations that are no longer used?"
msgstr "Chcete odstrániť všetky preklady, ktoré sa už viac nepoužívajú?"
-msgid ""
-"If you continue with purging, all translations marked as deleted will be "
-"permanently removed. You will have to translate them again if they are added "
-"back in the future."
-msgstr ""
-"Ak budete pokračovať s čistením, všetky preklady označené ako zmazané budú "
-"natrvalo odstránené. V prípade, že budú v budúcnosti znovu pridané, budete "
-"ich musieť preložiť znovu."
+msgid "If you continue with purging, all translations marked as deleted will be permanently removed. You will have to translate them again if they are added back in the future."
+msgstr "Ak budete pokračovať s čistením, všetky preklady označené ako zmazané budú natrvalo odstránené. V prípade, že budú v budúcnosti znovu pridané, budete ich musieť preložiť znovu."
msgid "Keep"
msgstr "Zachovať"
@@ -656,22 +808,23 @@ msgstr "Doplniť chýbajúce preklady z PP"
msgid "Only fill in exact matches"
msgstr "Vyplniť iba presné zhody"
-msgid ""
-"By default, inaccurate results are filled in as well and marked as fuzzy. "
-"Check this option to only include accurate matches."
-msgstr ""
-"Predvolene sú chybné výsledky doplnené a označené ako nepresné. Začiarknite "
-"túto možnosť, aby boli doplnené iba presné zhody."
+msgid "By default, inaccurate results are filled in as well and marked as fuzzy. Check this option to only include accurate matches."
+msgstr "Predvolene sú chybné výsledky doplnené a označené ako nepresné. Začiarknite túto možnosť, aby boli doplnené iba presné zhody."
msgid "Don’t mark exact matches as fuzzy"
msgstr "Neoznačovať presné výsledky ako nepresné"
-msgid ""
-"Only enable if you trust the quality of your TM. By default, all matches "
-"from the TM are marked as fuzzy and should be reviewed."
-msgstr ""
-"Povoľte iba ak dôverujete kvalite vašej PP. Predvolene sú všetky zhody s PP "
-"označené ako nepresné a môžu byť skontrolované."
+msgid "Only enable if you trust the quality of your TM. By default, all matches from the TM are marked as fuzzy and should be reviewed."
+msgstr "Povoľte iba ak dôverujete kvalite vašej PP. Predvolene sú všetky zhody s PP označené ako nepresné a môžu byť skontrolované."
+
+msgid "Use online suggestions"
+msgstr "Použiť on-line návrhy"
+
+msgid "Use online suggestions (experimental)"
+msgstr "Použiť on-line návrhy (experimentálne)"
+
+msgid "Try to fetch translations from the online TM as well. Notice that the translations will not be perfect and will still need to be corrected by a human translator."
+msgstr "Vyskúšajte načítať preklady najlepšie z online PP. Dajte si pozor na tie preklady, ktoré nebudú v poriadku a budú stále potrebovať úpravu človekom."
msgid "Fill"
msgstr "Doplniť"
@@ -683,24 +836,14 @@ msgstr[0] "%d záznam bol doplnený z pamäte prekladov."
msgstr[1] "%d záznamy boli doplnené z pamäte prekladov."
msgstr[2] "%d záznamov bolo doplnených z pamäte prekladov."
-msgid ""
-"The translations were marked as fuzzy, because they may be inaccurate. You "
-"should review them for correctness."
-msgstr ""
-"Preklady boli označené ako nepresné, pretože môžu byť nesprávne. "
-"Skontrolujte ich správnosť."
+msgid "The translations were marked as fuzzy, because they may be inaccurate. You should review them for correctness."
+msgstr "Preklady boli označené ako nepresné, pretože môžu byť nesprávne. Skontrolujte ich správnosť."
msgid "No entries could be filled from the translation memory."
msgstr "Žiadne záznamy neboli vyplnené použitím pamäte prekladov."
-msgid ""
-"The TM doesn’t contain any strings similar to the content of this file. It "
-"is only effective for semi-automatic translations after Poedit learns enough "
-"from files that you translated manually."
-msgstr ""
-"Pamäť prekladov neobsahuje žiaden reťazec podobný obsahu tohto súboru. Tento "
-"spôsob je účinný iba pre poloautomatické preklady po tom ako sa Poedit naučí "
-"zo súborov, ktoré ste preložili manuálne."
+msgid "The TM doesn’t contain any strings similar to the content of this file. It is only effective for semi-automatic translations after Poedit learns enough from files that you translated manually."
+msgstr "Pamäť prekladov neobsahuje žiaden reťazec podobný obsahu tohto súboru. Tento spôsob je účinný iba pre poloautomatické preklady po tom ako sa Poedit naučí zo súborov, ktoré ste preložili manuálne."
msgid "Translating"
msgstr "Prekladanie"
@@ -743,6 +886,9 @@ msgstr "Všetko"
msgid "Form %i"
msgstr "Tvar %i"
+msgid "Singular"
+msgstr "Jednotné číslo"
+
msgid "Zero"
msgstr "Nula"
@@ -752,6 +898,9 @@ msgstr "Jeden"
msgid "Two"
msgstr "Dva"
+msgid "Plural"
+msgstr "Množné číslo"
+
msgid "Other"
msgstr "Ostatné"
@@ -780,6 +929,12 @@ msgstr "Skryť bočný panel"
msgid "Show Sidebar"
msgstr "Zobraziť bočný panel"
+msgid "Hide Status Bar"
+msgstr "Skryť stavový riadok"
+
+msgid "Show Status Bar"
+msgstr "Zobraziť stavový riadok"
+
msgid "Source text"
msgstr "Zdrojový text"
@@ -789,6 +944,10 @@ msgstr "Preklad"
msgid "ID"
msgstr "ID"
+#, c-format
+msgid "Source text — %s"
+msgstr "Zdrojový text – %s"
+
msgid "unknown language"
msgstr "neznámy jazyk"
@@ -799,57 +958,73 @@ msgstr "Preklad - %s"
msgid "Error:"
msgstr "Chyba:"
-msgid "Project info"
-msgstr "Informácie o projekte"
+msgid "Source file"
+msgstr "Zdrojový súbor"
+
+msgid "Source file occurrence:"
+msgstr "Výskyt v zdrojovom súbore:"
-msgid "Project name and version:"
-msgstr "Názov projektu a verzia:"
+msgid "Open in Editor"
+msgstr "Otvoriť v editore"
-msgid "Language:"
-msgstr "Jazyk prekladu:"
+msgid "Open in editor"
+msgstr "Otvoriť v editore"
-msgid "Team:"
-msgstr "Názov tímu:"
+msgid "No references for the selected item."
+msgstr "Žiadne odporúčanie pre vybanú položku."
-msgid "Team's email address:"
-msgstr "Emailová adresa tímu:"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "Chyba pri otváraní súboru „%s\""
-msgid "Charset:"
-msgstr "Znaková sada:"
+msgid "Find"
+msgstr "Hľadať"
-msgid "Source"
-msgstr "Zdroj"
+msgid "Replace"
+msgstr "Nahradiť"
-msgid "Notes"
-msgstr "Poznámky"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr "Možnosti"
-msgid "Automatic translation"
-msgstr "Automatický preklad"
+msgid "Ignore case"
+msgstr "Ignorovať veľkosť písmen"
-msgid "Fuzzy translation"
-msgstr "Nepresný preklad"
+msgid "Wrap around"
+msgstr "Vyhľadávať dookola"
-msgid "Notes for translators:"
-msgstr "Poznámky pre prekladateľov:"
+msgid "Whole words only"
+msgstr "Iba celé slová"
-msgid "Comment:"
-msgstr "Komentár:"
+msgid "Find in source texts"
+msgstr "Hľadať v zdrojových textoch"
-msgid "Source file"
-msgstr "Zdrojový súbor"
+msgid "Find in translations"
+msgstr "Hľadať v prekladoch"
-msgid "Source file occurrence:"
-msgstr "Výskyt v zdrojovom súbore:"
+msgid "Find in comments"
+msgstr "Vyhľadať v komentároch"
-msgid "Open in Editor"
-msgstr "Otvoriť v editore"
+msgid "Close"
+msgstr "Zatvoriť"
-msgid "Open in editor"
-msgstr "Otvoriť v editore"
+msgid "Replace All"
+msgstr "Nahradiť všetko"
-#, c-format
-msgid "Error opening file %s!"
-msgstr "Chyba pri otváraní súboru „%s\""
+msgid "Replace all"
+msgstr "Nahradiť všetko"
+
+msgid "< &Previous"
+msgstr "< &Predchádzajúci"
+
+msgid "&Next >"
+msgstr "&Nasledujúci >"
+
+msgid "String to find"
+msgstr "Vyhľadávaný reťazec"
+
+msgid "Replacement string"
+msgstr "Nahradené reťazcom"
#, c-format
msgid "Cannot execute program: %s"
@@ -864,6 +1039,61 @@ msgstr "Jazyk prekladu"
msgid "Language of the translation:"
msgstr "Jazyk prekladu:"
+msgid "Poedit Registration"
+msgstr "Registrácia programu Poedit"
+
+msgid "Name"
+msgstr "Názov"
+
+msgid "License Key"
+msgstr "Licenčný kľúč"
+
+msgid "The registration key can be used on multiple computers you use personally or for multiple\n"
+"accounts on a single computer."
+msgstr "Registračný kľúč môže byť použitý na viacerých počítačoch\n"
+"alebo pre jeden alebo viac účtov na jednom počítači."
+
+msgid "Buy Online..."
+msgstr "Kúpiť online..."
+
+msgid "Buy online..."
+msgstr "Kúpiť online..."
+
+msgid "Cancel"
+msgstr "Zrušiť"
+
+msgid "Register"
+msgstr "Registrovať"
+
+msgid "Your copy is upgraded to Poedit Pro."
+msgstr "Vaša kópia bola aktualizovaná na Poedit Pro."
+
+msgid "You’re awesome! Thank you so much\n"
+"for purchasing Poedit Pro."
+msgstr "Ste úžasný! Ďakujeme vám\n"
+"za zakúpenie programu Poedit Pro."
+
+msgid "View License Key"
+msgstr "Zobraziť licenčný kľúč"
+
+msgid "View license key"
+msgstr "Zobraziť licenčný kľúč"
+
+#, c-format
+msgid "Licensed to: %s"
+msgstr "Licencia pre: %s"
+
+msgid "Purchasing the full version will unlock more features\n"
+"in this and future versions of Poedit, including:\n\n"
+msgstr "Zakúpením plnej verzie odomknete viac vlastností\n"
+"v tejto a budúcich verziách programu Poedit, vrátane:\n\n"
+
+msgid "Upgrade..."
+msgstr "Aktualizovať..."
+
+msgid "No, thanks"
+msgstr "Nie, vďaka"
+
msgid "Poedit - Catalogs manager"
msgstr "Poedit – Správca katalógov"
@@ -900,11 +1130,9 @@ msgstr "Chcete odstrániť tento projekt?"
msgid "Confirmation"
msgstr "Potvrdenie"
-msgid ""
-"Do you really want to do mass update of\n"
+msgid "Do you really want to do mass update of\n"
"all catalogs in this project?"
-msgstr ""
-"Naozaj chcete urobiť hromadnú aktualizáciu\n"
+msgstr "Naozaj chcete urobiť hromadnú aktualizáciu\n"
"všetkých katalógov v tomto projekte?"
msgid "Information about the translator"
@@ -922,12 +1150,8 @@ msgstr "Email:"
msgid "your_email at example.com"
msgstr "vas_email at priklad.sk"
-msgid ""
-"Your name and email address are only used to set the Last-Translator header "
-"of GNU gettext files."
-msgstr ""
-"Vaše meno a emailová adresa sú použité iba v hlavičke Last-Translator v GNU "
-"gettext súboroch."
+msgid "Your name and email address are only used to set the Last-Translator header of GNU gettext files."
+msgstr "Vaše meno a emailová adresa sú použité iba v hlavičke Last-Translator v GNU gettext súboroch."
msgid "Editing"
msgstr "Upravovanie"
@@ -944,14 +1168,8 @@ msgstr "Kontrola gramatiky"
msgid "Always change focus to text input field"
msgstr "Vždy aktivovať políčko pre zadávanie textu"
-msgid ""
-"Never let the list of strings take focus. If enabled, you must use Ctrl-"
-"arrows for keyboard navigation but you can also type text immediately, "
-"without having to press Tab to change focus."
-msgstr ""
-"Nepovoliť aby bol zoznam reťazcov aktivovaný. Ak je to povolené, musíte pre "
-"navigáciu použiť Ctrl – šípky na klávesnici, inak môžete priamo začať písať "
-"text bez nutnosti stlačiť Tab pre aktiváciu poľa."
+msgid "Never let the list of strings take focus. If enabled, you must use Ctrl-arrows for keyboard navigation but you can also type text immediately, without having to press Tab to change focus."
+msgstr "Nepovoliť aby bol zoznam reťazcov aktivovaný. Ak je to povolené, musíte pre navigáciu použiť Ctrl – šípky na klávesnici, inak môžete priamo začať písať text bez nutnosti stlačiť Tab pre aktiváciu poľa."
msgid "Appearance"
msgstr "Vzhľad"
@@ -973,7 +1191,7 @@ msgid "General"
msgstr "Základné"
msgid "Use translation memory"
-msgstr "Použiť pamäť prekladov"
+msgstr "Použiť pamäť prekladov (PP)"
msgid "Learn From Files..."
msgstr "Získať informácie zo súborov..."
@@ -988,18 +1206,38 @@ msgstr "Obnoviť"
msgid "Consult TM when updating from sources"
msgstr "Preveriť pamäť prekladov pri aktualizácii zo zdroja"
-msgid ""
-"If enabled, Poedit will try to fill in new entries using your previous\n"
-"translations stored in the translation memory. If the TM is\n"
-"near-empty, it will not be very effective. The more translations\n"
+msgid "If enabled, Poedit will try to fill in new entries using your previous\n"
+"translations stored in the translation memory. If the TM is\n"
+"near-empty, it will not be very effective. The more translations\n"
"you edit and the larger the TM grows, the better it gets."
-msgstr ""
-"Po povolení sa bude Poedit pokúšať vyplniť nové záznamy\n"
-"použitím predchádzajúcich prekladov uložených v pamäti\n"
-"prekladov (PP). Ak je PP skoro prázdna, táto voľba nebude\n"
-"veľmi účinná. Upravením viacerých prekladov a zväčšením\n"
+msgstr "Po povolení sa bude Poedit pokúšať vyplniť nové záznamy\n"
+"použitím predchádzajúcich prekladov uložených v pamäti\n"
+"prekladov (PP). Ak je PP skoro prázdna, táto voľba nebude\n"
+"veľmi účinná. Upravením viacerých prekladov a zväčšením\n"
"PP bude táto funkcia efektívnejšia."
+msgid "Use suggestions from online collaborative TM"
+msgstr "Používať návrhy spolu s online PP"
+
+msgid "Poedit uses a large online translation memory that includes both contributed human translations and state-of-the-art machine translations."
+msgstr "Poedit používa online pamäť prekladov, ktorá zahŕňa preklady pridané ľuďmi a strojové preklady."
+
+msgid "Contribute my translations to the online TM"
+msgstr "Prispieť mojimi prekladmi do online PP"
+
+msgid "Keep my translations private"
+msgstr "Ponechať moje preklady ako súkromné"
+
+msgid "Ask me for each file individually"
+msgstr "Opýtať sa ma na každý súbor samostatne"
+
+msgid "Terms of Service"
+msgstr "Podmienky používania"
+
+#. TRANSLATORS: This is part of footer that says in full "powered by MyMemory", with the MyMemory part being a logo
+msgid "powered by"
+msgstr "Poháňané službou"
+
msgid "Stored translations:"
msgstr "Počet uložených prekladov:"
@@ -1024,15 +1262,8 @@ msgstr "Obnoviť pamäť prekladov"
msgid "Are you sure you want to reset the translation memory?"
msgstr "Ste si istý že chcete obnoviť pamäť prekladov?"
-msgid ""
-"Resetting the translation memory will irrevocably delete all stored "
-"translations from it. You can’t undo this operation."
-msgstr ""
-"Obnovením pamäte prekladov natrvalo vymažete všetky uložené preklady. Túto "
-"operáciu nie je možné vrátiť späť."
-
-msgid "Cancel"
-msgstr "Zrušiť"
+msgid "Resetting the translation memory will irrevocably delete all stored translations from it. You can’t undo this operation."
+msgstr "Obnovením pamäte prekladov natrvalo vymažete všetky uložené preklady. Túto operáciu nie je možné vrátiť späť."
#. TRANSLATORS: This is abbreviation of "Translation Memory" used in Preferences on OS X.
#. Long text looks weird there, too short (like TM) too, but less so. "General" is about ideal
@@ -1040,12 +1271,8 @@ msgstr "Zrušiť"
msgid "TM"
msgstr "TM"
-msgid ""
-"Source code extractors are used to find translatable strings in the source "
-"code files and extract them so that they can be translated."
-msgstr ""
-"Zdrojové kódy extraktorov sú použité na vyhľadávanie preložiteľných reťazcov "
-"v zdrojovom kóde súborov a vybraté ak môžu byť preložené."
+msgid "Source code extractors are used to find translatable strings in the source code files and extract them so that they can be translated."
+msgstr "Zdrojové kódy extraktorov sú použité na vyhľadávanie preložiteľných reťazcov v zdrojovom kóde súborov a vybraté ak môžu byť preložené."
msgid "New"
msgstr "Nový"
@@ -1053,31 +1280,33 @@ msgstr "Nový"
msgid "Edit"
msgstr "Upraviť"
+msgid "Delete extractor"
+msgstr "Odstrániť extractor"
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr "Ste si istý, že chcete vymazať extraktor „%s\"?"
+
msgid "Extractors"
msgstr "Extraktory"
+msgid "Accounts"
+msgstr "Účty"
+
msgid "Automatically check for updates"
msgstr "Automaticky kontrolovať aktualizácie"
msgid "Include beta versions"
msgstr "Zahrnúť beta verzie programu"
-msgid ""
-"Beta versions contain the latest new features and improvements, but may be a "
-"bit less stable."
-msgstr ""
-"Beta verzie obsahujú najnovšie funkcie a vylepšenia, ale môžu byť menej "
-"stabilné."
+msgid "Beta versions contain the latest new features and improvements, but may be a bit less stable."
+msgstr "Beta verzie obsahujú najnovšie funkcie a vylepšenia, ale môžu byť menej stabilné."
msgid "Updates"
msgstr "Aktualizácie"
-msgid ""
-"These settings affect internal formatting of PO files. Adjust them if you "
-"have specific requirements e.g. because of version control."
-msgstr ""
-"Tieto nastavenia majú vplyv na interné formátovanie PO súborov.Zmeňte ich, "
-"iba ak máte špeciálne požiadavky, napríklad kvôli kontrole verzií."
+msgid "These settings affect internal formatting of PO files. Adjust them if you have specific requirements e.g. because of version control."
+msgstr "Tieto nastavenia majú vplyv na interné formátovanie PO súborov.Zmeňte ich, iba ak máte špeciálne požiadavky, napríklad kvôli kontrole verzií."
msgid "Line endings:"
msgstr "Ukončenie riadkov:"
@@ -1098,6 +1327,32 @@ msgstr "Zachovať existujúce formátovanie súborov"
msgid "Advanced"
msgstr "Rozšírené"
+msgid "Add Files..."
+msgstr "Pridať súbory..."
+
+msgid "Add files..."
+msgstr "Pridať súbory..."
+
+msgid "Add Folders..."
+msgstr "Pridať priečinky..."
+
+msgid "Add folders..."
+msgstr "Pridať priečinky..."
+
+msgid "Add Wildcard..."
+msgstr ""
+
+msgid "Add wildcard..."
+msgstr ""
+
+msgid "<big>Drag and Drop Folders Here</big>\n\n"
+"or use the + button"
+msgstr ""
+
+msgid "<big>Drag and drop folders here</big>\n\n"
+"or use the + button"
+msgstr ""
+
msgid "Additional keywords"
msgstr "Doplnkové kľúčové slová"
@@ -1119,6 +1374,9 @@ msgstr "UTF-8 (odporúčané)"
msgid "Please save the file first. This section cannot be edited until then."
msgstr "Najprv uložte súbor. Táto sekcia nemôže byť bez uloženia upravovaná."
+msgid "Comment:"
+msgstr "Komentár:"
+
msgid "OK"
msgstr "OK"
@@ -1128,42 +1386,6 @@ msgstr "V&yčistiť"
msgid "Clear the comment"
msgstr "Vymazať komentár"
-msgid "Find..."
-msgstr "Hľadať..."
-
-msgid "String to find:"
-msgstr "Vyhľadať text:"
-
-msgid "Case sensitive"
-msgstr "Rozlišovať veľkosť písma"
-
-msgid "Start from the first item"
-msgstr "Začať od prvej položky"
-
-msgid "Whole words only"
-msgstr "Iba celé slová"
-
-msgid "Find in original strings"
-msgstr "Hľadať v pôvodných reťazcoch"
-
-msgid "Find in translations"
-msgstr "Hľadať v prekladoch"
-
-msgid "Find in comments"
-msgstr "Vyhľadať v komentároch"
-
-msgid "Find in automatic comments"
-msgstr "Vyhľadať v automatických komentároch"
-
-msgid "Close"
-msgstr "Zatvoriť"
-
-msgid "< &Previous"
-msgstr "< &Predchádzajúci"
-
-msgid "&Next >"
-msgstr "&Nasledujúci >"
-
msgid "Create new translations project"
msgstr "Vytvoriť nový projekt prekladu"
@@ -1200,9 +1422,6 @@ msgstr "&Zatvoriť"
msgid "E&xit"
msgstr "U&končiť"
-msgid "Quit"
-msgstr "Ukončiť"
-
msgid "&New..."
msgstr "&Nový..."
@@ -1212,12 +1431,24 @@ msgstr "Nový z &POT/PO súboru..."
msgid "New From &POT/PO File..."
msgstr "Nový z &POT/PO súboru..."
+msgid "New WordPress translation..."
+msgstr "Nový WordPress preklad..."
+
+msgid "New WordPress Translation..."
+msgstr "Nový WordPress preklad..."
+
msgid "&Open..."
msgstr "&Otvoriť..."
msgid "Open Recent"
msgstr "Otvoriť posledné"
+msgid "Open from Crowdin..."
+msgstr "Otvoriť zo služby Crowdin..."
+
+msgid "Open From Crowdin..."
+msgstr "Otvoriť zo služby Crowdin..."
+
msgid "&Save"
msgstr "&Uložiť"
@@ -1236,6 +1467,9 @@ msgstr "&Exportovať ako HTML..."
msgid "Check for updates..."
msgstr "Skontrolovať aktualizácie..."
+msgid "&License..."
+msgstr "&Licencia..."
+
msgid "Catalogs &manager"
msgstr "&Správca katalógov"
@@ -1266,14 +1500,17 @@ msgstr "&Zobraziť odkazy"
msgid "&Find..."
msgstr "&Hľadať..."
+msgid "Replace..."
+msgstr "Nahradiť..."
+
msgid "Find next"
msgstr "Nájsť nasledujúci"
msgid "Find previous"
msgstr "Hľadať predchádzajúci"
-msgid "Find"
-msgstr "Hľadať"
+msgid "Find and Replace..."
+msgstr "Nájsť a nahradiť..."
msgid "Find Next"
msgstr "Hľadať nasledujúci"
@@ -1314,6 +1551,12 @@ msgstr "&Zoskupiť podľa súvislostí"
msgid "&Group By Context"
msgstr "&Zoskupiť podľa súvislostí"
+msgid "Entries with errors first"
+msgstr "Položky s chybami ako prvé"
+
+msgid "Entries with Errors First"
+msgstr "Položky s chybami ako prvé"
+
msgid "&Untranslated entries first"
msgstr "&Najskôr nepreložené záznamy"
@@ -1323,6 +1566,9 @@ msgstr "&Najskôr nepreložené záznamy"
msgid "Show sidebar"
msgstr "Zobraziť bočný panel"
+msgid "Show status bar"
+msgstr "Zobraziť stavový riadok"
+
msgid "C&atalog"
msgstr "&Katalóg"
@@ -1338,6 +1584,9 @@ msgstr "Aktualizovať z &POT šablóny..."
msgid "Update from &POT File..."
msgstr "Aktualizovať z &POT šablóny..."
+msgid "Sync with Crowdin"
+msgstr "Synchronizácia so službou Crowdin"
+
msgid "Fill missing translations from &TM..."
msgstr "Doplniť chýbajúce preklady z &PP..."
@@ -1356,6 +1605,9 @@ msgstr "&Overiť preklady"
msgid "&Validate Translations"
msgstr "&Overiť preklady"
+msgid "&Statistics"
+msgstr "&Štatistiky"
+
msgid "&Properties..."
msgstr "&Vlastnosti..."
@@ -1401,6 +1653,12 @@ msgstr "Dokumentácia &GNU gettext"
msgid "&GNU gettext Manual"
msgstr "Dokumentácia &GNU gettext"
+msgid "Email &support..."
+msgstr "Podpora cez &E-mail"
+
+msgid "Email &Support..."
+msgstr "Podpora cez &E-mail"
+
msgid "&About Poedit"
msgstr "&O programe Poedit"
@@ -1419,53 +1677,48 @@ msgstr "Vyvolanie:"
msgid "Command to extract translations:"
msgstr "Príkaz pre extrakciu prekladov:"
-msgid ""
-"This is the command used to launch the extractor.\n"
-"%o expands to the name of output file, %K to list\n"
-"of keywords, %F to list of input files,\n"
+msgid "This is the command used to launch the extractor.\n"
+"%o expands to the name of output file, %K to list\n"
+"of keywords, %F to list of input files,\n"
"%C to charset flag (see below)."
-msgstr ""
-"Tento príkaz sa používa na spustenie extraktora.\n"
-"„%o\" sa zamení za meno výstupného súboru,\n"
-"„%K\" na zoznam kľúčových slov, „%F\" na zoznam\n"
-"vstupných súborov, „%C\" na znak kódovej stránky\n"
+msgstr "Tento príkaz sa používa na spustenie extraktora.\n"
+"„%o\" sa zamení za meno výstupného súboru,\n"
+"„%K\" na zoznam kľúčových slov, „%F\" na zoznam\n"
+"vstupných súborov, „%C\" na znak kódovej stránky\n"
"(pozri nižšie)."
msgid "An item in keywords list:"
msgstr "Položka v zozname kľúčových slov:"
-msgid ""
-"This will be attached to the command line once\n"
+msgid "This will be attached to the command line once\n"
"for each keyword. %k expands to the keyword."
-msgstr ""
-"Toto bude pripojené k príkazovému riadku raz pre každé\n"
+msgstr "Toto bude pripojené k príkazovému riadku raz pre každé\n"
"kľúčové slovo. „%k\" sa zamení sa kľúčové slovo."
msgid "An item in input files list:"
msgstr "Položka v zozname vstupných súborov:"
#, c-format
-msgid ""
-"This will be attached to the command line once\n"
+msgid "This will be attached to the command line once\n"
"for each input file. %f expands to the filename."
-msgstr ""
-"Toto bude pripojené k príkazu raz pre každý vstupný\n"
+msgstr "Toto bude pripojené k príkazu raz pre každý vstupný\n"
"súbor. „%f\" sa zamení názvom súboru."
msgid "Source code charset:"
msgstr "Zdrojový kód znakovej sady:"
#, c-format
-msgid ""
-"This will be attached to the command line\n"
+msgid "This will be attached to the command line\n"
"only if source codecharset was given. %c expands to charset value."
-msgstr ""
-"Toto bude pripojené do príkazového riadku iba ak je zadaný\n"
+msgstr "Toto bude pripojené do príkazového riadku iba ak je zadaný\n"
"zdroj znakovej sady. „%c\" sa rozšíri o hodnotu znakovej sady."
msgid "Catalog properties"
msgstr "Vlastnosti katalógu"
+msgid "Project name and version:"
+msgstr "Názov projektu a verzia:"
+
msgid "Plural Forms:"
msgstr "Tvary množného čísla:"
@@ -1478,6 +1731,15 @@ msgstr "Použiť vlastný výraz"
msgid "Learn about plural forms"
msgstr "Zistiť informácie o formách množného čísla"
+msgid "Charset:"
+msgstr "Znaková sada:"
+
+msgid "Team:"
+msgstr "Názov tímu:"
+
+msgid "Team's email address:"
+msgstr "Emailová adresa tímu:"
+
msgid "Translation properties"
msgstr "Vlastnosti prekladov"
@@ -1490,11 +1752,9 @@ msgstr "Základná cesta:"
msgid "Sources paths"
msgstr "Cesty k zdrojom"
-msgid ""
-"Use these keywords (function names) to recognize translatable strings\n"
+msgid "Use these keywords (function names) to recognize translatable strings\n"
"in source files:"
-msgstr ""
-"Použiť tieto kľúčové slová (názvy funkcií) pre rozlíšenie preložiteľných\n"
+msgstr "Použiť tieto kľúčové slová (názvy funkcií) pre rozlíšenie preložiteľných\n"
"reťazcov v zdrojových súboroch:"
msgid "Learn about gettext keywords"
@@ -1506,21 +1766,17 @@ msgstr "Zdrojové kľúčové slová"
msgid "Update summary"
msgstr "Súhrn aktualizácie"
-msgid ""
-"These strings were found in the sources but were not in the catalog.\n"
+msgid "These strings were found in the sources but were not in the catalog.\n"
"Poedit will add them to the catalog now."
-msgstr ""
-"Tieto reťazce boli nájdené v zdroji ale v katalógu sa nenachádzajú.\n"
+msgstr "Tieto reťazce boli nájdené v zdroji ale v katalógu sa nenachádzajú.\n"
"Program Poedit ich teraz pridá do katalógu."
msgid "New strings"
msgstr "Nové reťazce"
-msgid ""
-"These strings are no longer in the sources.\n"
+msgid "These strings are no longer in the sources.\n"
"Poedit will remove them from the catalog now."
-msgstr ""
-"Tieto reťazce sa už nenachádzajú v zdrojových kódoch.\n"
+msgstr "Tieto reťazce sa už nenachádzajú v zdrojových kódoch.\n"
"Program Poedit ich teraz odstráni z katalógu."
msgid "Obsolete strings"
@@ -1541,6 +1797,12 @@ msgstr "Overiť"
msgid "Check for errors in the translation"
msgstr "Skontrolovať chyby v preklade"
+msgid "Statistics"
+msgstr "Štatistiky"
+
+msgid "Show translation statistics"
+msgstr "Zobraziť štatistiky prekladov"
+
msgid "Update"
msgstr "Aktualizovať"
@@ -1550,19 +1812,21 @@ msgstr "Aktualizovať katalóg - synchronizácia so zdrojom"
msgid "Toggled if selected string has fuzzy translation"
msgstr "Použite, ak je vybraný reťazec preložený nepresne"
-msgid "Show or hide the sidebar."
-msgstr "Zobraziť alebo skryť bočný panel."
+msgid "Sidebar"
+msgstr "Bočný panel"
+
+msgid "Show or hide the sidebar"
+msgstr "Zobraziť alebo skryť bočný panel"
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
msgid "Previous source text:"
msgstr "Predchádzajúci zdrojový text:"
-msgid ""
-"The old source text (before it changed during an update) that the fuzzy "
-"translation corresponds to."
-msgstr ""
-"Starý zdrojový text (pred zmenou počas aktualizácie), bude označený ako "
-"nepresný."
+msgid "The old source text (before it changed during an update) that the fuzzy translation corresponds to."
+msgstr "Starý zdrojový text (pred zmenou počas aktualizácie), bude označený ako nepresný."
+
+msgid "Notes for translators:"
+msgstr "Poznámky pre prekladateľov:"
msgid "Add comment"
msgstr "Pridať komentár"
@@ -1570,6 +1834,18 @@ msgstr "Pridať komentár"
msgid "Add Comment"
msgstr "Pridať komentár"
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(from your TM)"
+msgstr "(Z vašej PP)"
+
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(machine translation)"
+msgstr "(Strojový preklad)"
+
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(human translation)"
+msgstr "(Preklad používateľa)"
+
msgid "Translation suggestions:"
msgstr "Návrhy prekladu:"
@@ -1584,6 +1860,85 @@ msgstr "Nenašli sa žiadne zhody"
msgid "This string was found in Poedit’s translation memory."
msgstr "Tento reťazec bol nájdený v pamäti prekladov programu Poedit."
+msgid "This suggestion was contributed by another translator to the online TM."
+msgstr "Tento návrh bol pridaný iným užívateľom do online PP."
+
+msgid "This suggestion was machine-translated online."
+msgstr "Tento návrh bol online strojovo preložený."
+
+#, c-format
+msgid "%d out of %d online suggestion left."
+msgid_plural "%d out of %d online suggestions left."
+msgstr[0] "%d z %d on-line návrhov chýba."
+msgstr[1] "%d z %d on-line návrhov chýba."
+msgstr[2] "%d z %d on-line návrhov chýba."
+
+msgid "Remove this limitation"
+msgstr "Odstrániť obmedzenie"
+
+msgid "Not showing additional online suggestions."
+msgstr "Nezobrazujú sa žiadne online návrhy."
+
+msgid "Unlock online suggestions"
+msgstr "Odomknúť online návrhy"
+
+msgid "Exceeded online TM daily limit."
+msgstr "Denný limit online PP bol prekročený."
+
+msgid "Connect to the Internet to get additional suggestions."
+msgstr "Pripojiť na internet a získať dodatočné návrhy."
+
+#. TRANSLATORS: Label indicating that translations made in the current file are contributed to the online translation memory. Related to the "Contribute my translations to the online TM" string.
+msgid "Contributing"
+msgstr "Prispievanie"
+
+msgid "Your translations are contributed to the online translation memory as you make them. Thanks for making the suggestions better!"
+msgstr ""
+
+#. TRANSLATORS: Label indicating that the current file
+msgid "Private"
+msgstr "Súkromné"
+
+msgid "Translations from this file are not shared with the online translation memory."
+msgstr ""
+
+msgid "Privacy settings"
+msgstr ""
+
+#, c-format
+msgid "While editing the file “%s”:"
+msgstr ""
+
+msgid "Items"
+msgstr "Položky"
+
+msgid "Words"
+msgstr "Slová"
+
+msgid "Translated"
+msgstr "Preložené"
+
+msgid "Needs review (fuzzy)"
+msgstr "Potrebná kontrola (nepresné)"
+
+msgid "Translations with errors"
+msgstr "Preklady s chybami"
+
+msgid "Source Text"
+msgstr "Zdrojový text"
+
+msgid "Strings in source language"
+msgstr "Reťazce v zdrojovom jazyku"
+
+msgid "Not translated"
+msgstr "Nepreložené"
+
+msgid "Copy to clipboard"
+msgstr "Kopírovať do schránky"
+
+msgid "Copy to Clipboard"
+msgstr "Kopírovať do schránky"
+
#, c-format
msgid "(New: %i, obsolete: %i)"
msgstr "(Nové: %i, zastarané: %i)"
@@ -1603,15 +1958,10 @@ msgid "Migration exit status: %d"
msgstr "Migrácia existujúceho stavu: %d"
msgid "Poedit needs to convert your translation memory to a new format."
-msgstr ""
-"Progran Poedit potrebuje previesť vašu pamäť prekladov do nového formátu."
+msgstr "Progran Poedit potrebuje previesť vašu pamäť prekladov do nového formátu."
-msgid ""
-"This must be done before Poedit can start. It may take a few minutes if you "
-"have lots of translations stored, but should normally be much faster."
-msgstr ""
-"Toto musí byť vykonané pred štartom programu. Normálne to trvá kratšie, ale "
-"ak máte uložené veľké množstvo prekladov, ta to môže trvať niekoľko minút."
+msgid "This must be done before Poedit can start. It may take a few minutes if you have lots of translations stored, but should normally be much faster."
+msgstr "Toto musí byť vykonané pred štartom programu. Normálne to trvá kratšie, ale ak máte uložené veľké množstvo prekladov, ta to môže trvať niekoľko minút."
msgid "Proceed"
msgstr "Pokračovať"
@@ -1620,60 +1970,68 @@ msgid "Translation memory migration failed."
msgstr "Presun pamäte prekladov na nepodaril."
#, c-format
-msgid ""
-"Your translation memory data couldn't be migrated. The error was:\n"
-"\n"
-"%s\n"
+msgid "Your translation memory data couldn't be migrated. The error was:\n\n"
+"%s\n"
"Please email help at poedit.net and we’ll get it fixed."
-msgstr ""
-"Vaša pamäť prekladov nemôže byť premiestnená. Chyba:\n"
-"\n"
-"%s\n"
+msgstr "Vaša pamäť prekladov nemôže byť premiestnená. Chyba:\n\n"
+"%s\n"
"Kontaktujte nás na e-mail help at poedit.net a my to opravíme."
msgid "Cannot create temporary directory."
msgstr "Nepodarilo sa vytvoriť dočasný adresár."
+msgid "Check theme or plugin compatibility"
+msgstr "Skontrolujte kompatibilitu pluginu alebo témy"
+
msgid "Welcome to Poedit"
msgstr "Vitajte v programe Poedit"
+msgid "Upgrade to Pro"
+msgstr "Upgradovať na Pro"
+
+msgid "Upgrade to Poedit Pro to get additional features and support Poedit's development."
+msgstr "Aktualizujte na Poedit Pro pre získanie ďalších funkcií a podporu Poedit vývojárskeho týmu."
+
msgid "Edit a translation"
msgstr "Upraviť preklad"
msgid "Open an existing PO file and edit the translation."
msgstr "Otvoriť existujúci PO súbor a upraviť preklad."
-msgid "Create new translation"
-msgstr "Vytvoriť nový preklad"
-
-msgid ""
-"Take an existing PO file or POT template and create a new translation from "
-"it."
+msgid "Take an existing PO file or POT template and create a new translation from it."
msgstr "Použiť existujúci PO súbor alebo POT šablónu a vytvoriť nový preklad."
+msgid "Translate WordPress theme or plugin"
+msgstr "Preložiť WordPress tému alebo plugin"
+
+#. TRANSLATORS: Please don't use any form of "automatically" in the translation, it would mislead people.
+msgid "Create a new translation. Poedit will set everything up; you can focus on translating."
+msgstr "Vytvoriť nový preklad. Poedit nastaví všetko automaticky; môžete sa sústrediť iba na prekladanie."
+
+msgid "Collaborate on a translation with Crowdin"
+msgstr "Spolupracovať na preklade so službou Crowdin"
+
+msgid "Download a file from Crowdin project, translate and sync your changes back."
+msgstr "Stiahnuť súbor zo služby Crowdin, preložiť a synchronizovať späť so zmenami."
+
+msgid "What is Crowdin?"
+msgstr "Čo je Crowdin?"
+
msgid "There are no translations. That’s unusual."
msgstr "Nie sú zobrazené žiadne preklady. Toto je nezvyčajné."
-msgid ""
-"Translatable entries aren't added manually in the Gettext system, but are "
-"automatically extracted\n"
-"from source code. This way, they stay up to date and accurate.\n"
-"Translators typically use PO template files (POTs) prepared for them by the "
-"developer."
-msgstr ""
-"Prekladateľné reťazce nie sú pridávané manuálne v systéme Gettext, ale sú "
-"automaticky rozbalené\n"
-"zo zdrojového kódu. Takto zostanú vaše preklady aktuálne a správne.\n"
-"Prekladatelia zvyčajne používajú súbory PO šablón (s príponou .POT), ktoré "
-"sú pripravené vývojarom."
+msgid "Translatable entries aren't added manually in the Gettext system, but are automatically extracted\n"
+"from source code. This way, they stay up to date and accurate.\n"
+"Translators typically use PO template files (POTs) prepared for them by the developer."
+msgstr "Prekladateľné reťazce nie sú pridávané manuálne v systéme Gettext, ale sú automaticky rozbalené\n"
+"zo zdrojového kódu. Takto zostanú vaše preklady aktuálne a správne.\n"
+"Prekladatelia zvyčajne používajú súbory PO šablón (s príponou .POT), ktoré sú pripravené vývojarom."
msgid "(Learn more about GNU gettext)"
msgstr "(Dočítajte sa viac o GNU gettext)"
msgid "The simplest way to fill this catalog is to update it from a POT:"
-msgstr ""
-"Najjednoduchšia cesta, ako vyplniť tento katalóg, je aktualizovať ho z POT "
-"šablóny:"
+msgstr "Najjednoduchšia cesta, ako vyplniť tento katalóg, je aktualizovať ho z POT šablóny:"
msgid "Update from POT"
msgstr "Aktualizovať z POT súboru"
@@ -1681,8 +2039,7 @@ msgstr "Aktualizovať z POT súboru"
msgid "Take translatable strings from an existing POT template."
msgstr "Použiť prekladateľné reťazce z existujúcej POT šablóny."
-msgid ""
-"You can also extract translatable strings directly from the source code:"
+msgid "You can also extract translatable strings directly from the source code:"
msgstr "Môžete vybrať prekladateľné reťazce priamo z zdrojového kódu:"
msgid "Extract from sources"
@@ -1690,3 +2047,111 @@ msgstr "Aktualizovať zo zdrojov"
msgid "Configure source code extraction in Properties."
msgstr "Nastaviť pôvod zdrojového kódu v Nastaveniach."
+
+#, c-format
+msgid "Failed to read file '%s'."
+msgstr "Nepodarilo sa načítať súbor „%s\"."
+
+#, c-format
+msgid "Confused by ambiguous values of \"%s\" in %s."
+msgstr "Zámena viacvýznamovej hodnoty z \"%s\" v %s."
+
+#, c-format
+msgid "Couldn't detect POs location for \"%s\"."
+msgstr "Nie je možné lokalizovať umiestnenie PO súboru z \"%s\"."
+
+#, c-format
+msgid "The \"%s\" theme isn't localization-ready."
+msgstr "Lokalizácia témy \"%s\" nie je pripravená."
+
+msgid "Confused: multiple main plugin files."
+msgstr "Neurčitá chyba: viacnásobné súbory hlavného pluginu."
+
+#, c-format
+msgid "The \"%s\" plugin isn't localization-ready."
+msgstr "Lokalizácia luginu \"%s\" nie je pripravená."
+
+#, c-format
+msgid "Couldn't detect translation domain of the \"%s\" plugin."
+msgstr "Nie je možné lokalizovať oblasť prekladu pluginu \"%s\"."
+
+msgid "Found neither WordPress theme nor plugin in the folder."
+msgstr "Nájdená žiadna téma ani WordPress plugin v priečinku."
+
+#, c-format
+msgid "Translations folder (%s) doesn't exist."
+msgstr "Priečinok prekladov (%s) neexistuje."
+
+msgid "<big>Drag and drop <b>theme or plugin folder</b> here</big>\n\n"
+"or use the “Choose folder” button"
+msgstr ""
+
+msgid "<big>Drag and Drop <b>Theme or Plugin Folder</b> Here</big>\n\n"
+"or use the “Choose Folder” button"
+msgstr ""
+
+#, c-format
+msgid "Folder “%s”"
+msgstr "Priečinok \"%s\""
+
+msgid "Choose Folder..."
+msgstr "Vybrať priečinok..."
+
+msgid "Choose folder..."
+msgstr "Vybrať priečinok..."
+
+msgid "Create a new translation"
+msgstr "Vytvoriť nový preklad"
+
+msgid "Choose this if you want to translate the theme or plugin into your language."
+msgstr ""
+
+msgid "Create a POT"
+msgstr "Vytvoriť POT súbor"
+
+msgid "This option is for theme and plugin developers. Poedit will create an empty template (POT) that translations can be based on."
+msgstr ""
+
+msgid "Continue"
+msgstr "Pokračovať"
+
+msgid "Failed to extract WordPress information."
+msgstr "Nepodarilo sa načítať WordPress informácie."
+
+msgid "WordPress error"
+msgstr "Chyby WordPress"
+
+#, c-format
+msgid "Poedit couldn’t understand the content of the folder you selected. This may be a problem with the plugin/theme or it may be Poedit being silly. The error is:\n\n"
+" • %s\n\n"
+"Please email help at poedit.net and we’ll sort it out."
+msgstr "Program Poedit nevie prečítať obsah priečinku, ktorý ste vybrali. Môže to spôsobovať problém pluginu alebo témy alebo Poedit sa začína správať nezmyselne. Chyba:\n\n"
+" • %s\n\n"
+"Pošlite toto e-mailom na help at poedit.net a my to vyriešime."
+
+#. TRANSLATORS: This is a button that sends an email to support when clicked
+msgid "Email support"
+msgstr "Podpora cez E-mail"
+
+msgid "View log"
+msgstr "Zobraziť záznam"
+
+#. TRANSLATORS: This is a button that sends an email to support when clicked
+msgid "Email Support"
+msgstr "Podpora cez E-mail"
+
+msgid "View Log"
+msgstr "Zobraziť záznam"
+
+msgid "WordPress Errors Log"
+msgstr "Záznam chýb (WordPress)"
+
+msgid "Please email this log to help at poedit.net. Thank you!"
+msgstr "Pošlite tento záznam na e-mail: help at poedit.net. Ďakujeme!"
+
+msgid "Sync"
+msgstr "Synchronizácia"
+
+msgid "Synchronize the translation with Crowdin"
+msgstr "Synchronizácia prekladu so službou Crowdin"
+
diff --git a/locales/sl.mo b/locales/sl.mo
index 32d950d..77bf7aa 100644
Binary files a/locales/sl.mo and b/locales/sl.mo differ
diff --git a/locales/sl.po b/locales/sl.po
index aaeb1e1..7de592f 100644
--- a/locales/sl.po
+++ b/locales/sl.po
@@ -1,22 +1,55 @@
msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
-"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:34-0400\n"
+"Report-Msgid-Bugs-To: poedit at googlegroups.com\n"
+"POT-Creation-Date: 2015-05-11 08:48+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Slovenian\n"
"Language: sl_SI\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n"
-"%100==4 ? 3 : 0);\n"
+"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n%100==4 ? 3 : 0);\n"
"X-Generator: crowdin.com\n"
"X-Crowdin-Project: poedit\n"
"X-Crowdin-Language: sl\n"
"X-Crowdin-File: /locales/poedit.pot\n"
+#. TRANSLATORS: This is titlebar of about dialog, "%s" is application name
+#. ("Poedit" here, but please use "%s")
+#, c-format
+msgid "About %s"
+msgstr "O %s"
+
+#. TRANSLATORS: This is version information in about dialog, "%s" will be
+#. version number when used
+#, c-format
+msgid "Version %s"
+msgstr "Različica %s"
+
+msgid "Based on the open source version →"
+msgstr ""
+
+msgid "Acknowledgements"
+msgstr ""
+
+msgid "Rate on the App Store"
+msgstr ""
+
+msgid "License Agreement"
+msgstr ""
+
+#, c-format
+msgid "Licensed to %s"
+msgstr ""
+
+msgid "Purchased on the Mac App Store"
+msgstr ""
+
+msgid "Free version (please upgrade!)"
+msgstr ""
+
msgid "Hide this notification message"
msgstr "Skrij obvestilno sporočilo"
@@ -42,57 +75,46 @@ msgstr ""
msgid "Malformed header: '%s'"
msgstr "Nepravilno oblikovana glava: '%s'"
-msgid ""
-"Broken catalog file: singular form msgstr used together with msgid_plural"
-msgstr ""
-"Poškodovana datoteka kataloga: edninska oblika msgstr je uporabljena skupaj "
-"z msgid_plural"
+msgid "Broken catalog file: singular form msgstr used together with msgid_plural"
+msgstr "Poškodovana datoteka kataloga: edninska oblika msgstr je uporabljena skupaj z msgid_plural"
msgid "Broken catalog file: plural form msgstr used without msgid_plural"
-msgstr ""
-"Poškodovana datoteka kataloga: množinska oblika msgstr je uporabljena brez "
-"msgid_plural"
+msgstr "Poškodovana datoteka kataloga: množinska oblika msgstr je uporabljena brez msgid_plural"
-msgid ""
-"There were errors when loading the catalog. Some data may be missing or "
-"corrupted as the result."
-msgstr ""
-"Med nalaganjem kataloga je prišlo do napak. Del podatkov morda manjka ali pa "
-"so kot rezultat nepravilni."
+msgid "There were errors when loading the catalog. Some data may be missing or corrupted as the result."
+msgstr "Med nalaganjem kataloga je prišlo do napak. Del podatkov morda manjka ali pa so kot rezultat nepravilni."
#, c-format
msgid "Couldn't load file %s, it is probably corrupted."
msgstr "Datoteke '%s' ni mogoče naložiti, najverjetneje je pokvarjena."
#, c-format
-msgid ""
-"File '%s' is read-only and cannot be saved.\n"
-"Please save it under different name."
-msgstr ""
-"Datoteka '%s' je le za branje in je ni mogoče shraniti.\n"
-"Shranite jo lahko z drugim imenom."
+msgid "File '%s' is read-only and cannot be saved.\nPlease save it under different name."
+msgstr "Datoteka '%s' je le za branje in je ni mogoče shraniti.\nShranite jo lahko z drugim imenom."
#, c-format
msgid "Couldn't save file %s."
msgstr "Datoteke %s ni mogoče shraniti."
-msgid ""
-"There was a problem formatting the file nicely (but it was saved all right)."
-msgstr ""
-"Prišlo je do napake med zapisovanjem zgradbe kataloga (datoteka je bila "
-"sicer uspešno shranjena)."
+msgid "There was a problem formatting the file nicely (but it was saved all right)."
+msgstr "Prišlo je do napake med zapisovanjem zgradbe kataloga (datoteka je bila sicer uspešno shranjena)."
#, c-format
-msgid ""
-"The catalog couldn't be saved in '%s' charset as specified in catalog "
-"settings.\n"
-"\n"
-"It was saved in UTF-8 instead and the setting was modified accordingly."
+msgid "The catalog couldn't be saved in '%s' charset as specified in catalog settings.\n\nIt was saved in UTF-8 instead and the setting was modified accordingly."
msgstr ""
msgid "Error saving catalog"
msgstr "Napaka med shranjevanjem kataloga"
+msgid "PO Translation Files"
+msgstr ""
+
+msgid "POT Translation Templates"
+msgstr ""
+
+msgid "All Translation Files"
+msgstr ""
+
msgid "Merging differences..."
msgstr "Združevanje razlik ..."
@@ -112,6 +134,81 @@ msgstr "Izbor jezika"
msgid "You must restart Poedit for this change to take effect."
msgstr "Program Poedit je treba ponovno zagnati, da spremembe začnejo veljati."
+msgid "Downloading translations is disabled in this project."
+msgstr ""
+
+msgid "Not authorized, please sign in again."
+msgstr ""
+
+msgid "Sign in to Crowdin"
+msgstr ""
+
+msgid "Crowdin is an online localization management platform and collaborative translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+
+msgid "Sign In"
+msgstr ""
+
+msgid "Sign in"
+msgstr ""
+
+msgid "Sign Out"
+msgstr ""
+
+msgid "Sign out"
+msgstr ""
+
+msgid "Waiting for authentication…"
+msgstr ""
+
+msgid "Updating user information…"
+msgstr ""
+
+msgid "Signed in as:"
+msgstr ""
+
+msgid "Learn More About Crowdin"
+msgstr ""
+
+msgid "Learn more about Crowdin"
+msgstr ""
+
+msgid "Open Crowdin translation"
+msgstr ""
+
+msgid "Project:"
+msgstr ""
+
+msgid "Language:"
+msgstr "Jezik:"
+
+msgid "File:"
+msgstr ""
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr ""
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr ""
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr ""
+
+msgid "Downloading latest translations…"
+msgstr ""
+
+msgid "Syncing with Crowdin"
+msgstr ""
+
+msgid "Syncing with Crowdin failed."
+msgstr ""
+
+msgid "Crowdin error"
+msgstr ""
+
+msgid "Uploading translations…"
+msgstr ""
+
msgid "&Copy"
msgstr ""
@@ -139,23 +236,43 @@ msgstr "Razčlenjevanje %s datotek ..."
msgid "Failed to load extracted catalog."
msgstr "Prišlo je do napake med nalaganjem razširjenega kataloga."
+#, c-format
+msgid "Failed to extract WordPress metadata from file %s."
+msgstr ""
+
msgid "&Help"
msgstr "Pomo&č"
+msgid "Beta expired"
+msgstr ""
+
+msgid "This beta version of Poedit expired."
+msgstr ""
+
+msgid "Please download a newer version from the Poedit website at http://poedit.net/download"
+msgstr ""
+
+msgid "Download"
+msgstr ""
+
+msgid "Quit"
+msgstr "Končaj"
+
msgid "MO files can’t be directly edited in Poedit."
msgstr ""
msgid "Error opening file"
msgstr ""
-msgid ""
-"Please open and edit the corresponding PO file instead. When you save it, "
-"the MO file will be updated as well."
+msgid "Please open and edit the corresponding PO file instead. When you save it, the MO file will be updated as well."
msgstr ""
msgid "don't delete temporary files (for debugging)"
msgstr "ne izbriši začasnih datotek (za razhroščevanje)"
+msgid "handle a poedit:// URI"
+msgstr ""
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr ""
@@ -166,34 +283,19 @@ msgstr ""
msgid "Open catalog"
msgstr "Odpri katalog"
-msgid "All Files"
-msgstr ""
-
-msgid "PO Translation Files"
-msgstr ""
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "Datoteka '%s' ne obstaja."
-#. TRANSLATORS: This is titlebar of about dialog, "%s" is application name
-#. ("Poedit" here, but please use "%s")
-#, c-format
-msgid "About %s"
-msgstr "O %s"
-
-#. TRANSLATORS: This is version information in about dialog, "%s" will be
-#. version number when used
-#, c-format
-msgid "Version %s"
-msgstr "Različica %s"
-
msgid "Poedit is an easy to use translations editor."
msgstr "Poedit je enostaven in priročen urejevalnik prevodov."
msgid "Catalogs Manager"
msgstr ""
+msgid "License..."
+msgstr ""
+
msgid "Check for Updates..."
msgstr "Preveri za posodobitve ..."
@@ -275,6 +377,15 @@ msgstr ""
msgid "&View"
msgstr "&Pogled"
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
+msgid "Show Toolbar"
+msgstr ""
+
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
+msgid "Customize Toolbar…"
+msgstr ""
+
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
msgid "Enter Full Screen"
msgstr ""
@@ -290,17 +401,27 @@ msgstr ""
msgid "Bring All to Front"
msgstr ""
+#. TRANSLATORS:File kind displayed in Finder/Explorer
msgid "PO Translation"
msgstr ""
+msgid "Invalid license data."
+msgstr ""
+
+msgid "Poedit"
+msgstr "Poedit"
+
+#, c-format
+msgid "The link doesn't contain valid Poedit license. Try entering it manually or contact support at help at poedit.net.\n\n(%s)"
+msgstr ""
+
msgid "The file cannot be opened."
msgstr ""
msgid "Invalid file"
msgstr ""
-msgid ""
-"The file may be either corrupted or in a format not recognized by Poedit."
+msgid "The file may be either corrupted or in a format not recognized by Poedit."
msgstr ""
msgid "&Undo"
@@ -378,9 +499,6 @@ msgstr "Ni mogoče povleči več kot ene datoteke v okno Poedit."
msgid "File '%s' is not a message catalog."
msgstr "Datoteka '%s' ni katalog sporočil."
-msgid "Poedit"
-msgstr "Poedit"
-
msgid "&File"
msgstr "&Datoteka"
@@ -399,12 +517,20 @@ msgstr "Množina:"
msgid "Translation:"
msgstr "Prevod:"
+msgid "POT files are only templates and don’t contain any translations themselves.\nTo make a translation, create a new PO file based on the template."
+msgstr ""
+
+msgid "Create New Translation"
+msgstr ""
+
+msgid "Create new translation"
+msgstr ""
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
#, c-format
-msgid ""
-"Spellchecking is disabled, because the dictionary for %s isn’t installed."
+msgid "Spellchecking is disabled, because the dictionary for %s isn’t installed."
msgstr ""
msgid "Install"
@@ -446,7 +572,29 @@ msgstr ""
msgid "Open catalog template"
msgstr "Odpri predlogo kataloga"
-msgid "POT Translation Templates"
+msgid "WordPress"
+msgstr ""
+
+msgid "Analyzing WordPress code..."
+msgstr ""
+
+msgid "Select the folder with the WordPress theme or plugin"
+msgstr ""
+
+#. TRANSLATORS: %s is name of a WordPress theme
+#, c-format
+msgid "The “%s” theme is compatible."
+msgstr ""
+
+#. TRANSLATORS: %s is name of a WordPress plugin
+#, c-format
+msgid "The “%s” plugin is compatible."
+msgstr ""
+
+msgid "The theme is translation-ready and compatible with Poedit’s WordPress support."
+msgstr ""
+
+msgid "The plugin is translation-ready and compatible with Poedit’s WordPress support."
msgstr ""
msgid "Updating catalog"
@@ -458,17 +606,14 @@ msgstr ""
msgid "Updating failed"
msgstr ""
-msgid ""
-"Translations couldn’t be updated from the source code, because no code was "
-"found in the location specified in the catalog’s Properties."
+msgid "Translations couldn’t be updated from the source code, because no code was found in the location specified in the catalog’s Properties."
msgstr ""
msgid "Entries in the catalog are probably incorrect."
msgstr "Vnosi v katalogu so najbrž napačni."
msgid "Updating the catalog failed. Click on 'Details >>' for details."
-msgstr ""
-"Posodobitev kataloga ni uspela. Za več podrobnosti kliknite na 'Več >>'."
+msgstr "Posodobitev kataloga ni uspela. Za več podrobnosti kliknite na 'Več >>'."
#, c-format
msgid "%d issue with the translation found."
@@ -481,31 +626,19 @@ msgstr[3] "Najdene so %d napake v prevodu."
msgid "Validation results"
msgstr "Rezultati določanja ustreznosti prevoda"
-msgid ""
-"Entries with errors were marked in red in the list. Details of the error "
-"will be shown when you select such an entry."
-msgstr ""
-"Vnosi na seznamu z napakami so označeni z rdečo barvo. Podrobnosti napake so "
-"prikazane ob izboru."
+msgid "Entries with errors were marked in red in the list. Details of the error will be shown when you select such an entry."
+msgstr "Vnosi na seznamu z napakami so označeni z rdečo barvo. Podrobnosti napake so prikazane ob izboru."
msgid "The file was saved safely."
msgstr ""
-msgid ""
-"The file was saved safely and compiled into the MO format, but it will "
-"probably not work correctly."
+msgid "The file was saved safely and compiled into the MO format, but it will probably not work correctly."
msgstr ""
-msgid ""
-"The file was saved safely, but it cannot be compiled into the MO format and "
-"used."
-msgstr ""
-"Besedilna datoteka prevoda je uspešno shranjena, ni pa je mogoče pretvoriti "
-"v zapis MO za uporabo."
+msgid "The file was saved safely, but it cannot be compiled into the MO format and used."
+msgstr "Besedilna datoteka prevoda je uspešno shranjena, ni pa je mogoče pretvoriti v zapis MO za uporabo."
-msgid ""
-"The file was compiled into the MO format, but it will probably not work "
-"correctly."
+msgid "The file was compiled into the MO format, but it will probably not work correctly."
msgstr ""
msgid "The file cannot be compiled into the MO format and used."
@@ -516,8 +649,7 @@ msgstr "Ni težav z najdenim prevodom."
#, c-format
msgid "The translation is ready for use, but %d entry is not translated yet."
-msgid_plural ""
-"The translation is ready for use, but %d entries are not translated yet."
+msgid_plural "The translation is ready for use, but %d entries are not translated yet."
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
@@ -526,18 +658,34 @@ msgstr[3] ""
msgid "The translation is ready for use."
msgstr "Prevod je pripravljen za uporabo."
-msgid "No references to this string found."
-msgstr "Ni sklicev na izbrani niz."
+msgid "Contributing translations improves the quality of online suggestions for everybody — the more people do it, the better the suggestions can be. Your translations are submitted anonymously and are available to other translators using Poedit or other CAT tools."
+msgstr ""
+
+msgid "Can Poedit contribute your translations of this file to the online translation memory?"
+msgstr ""
+
+msgid "Apply to all files I edit"
+msgstr ""
+
+msgid "Contribute"
+msgstr ""
-msgid "Please choose the reference you want to show:"
-msgstr "Izberite sklic, ki ga želite prikazati:"
+msgid "Keep Private"
+msgstr ""
-msgid "References"
-msgstr "Sklici"
+msgid "Keep private"
+msgstr ""
msgid "Context:"
msgstr "Vsebina:"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr ""
+
+msgid "The file contained duplicate items, which is not allowed in PO files and would prevent the file from being used. Poedit fixed the issue, but you should review translations of any items marked as fuzzy and correct them if necessary."
+msgstr ""
+
msgid "Language of the translation isn't set."
msgstr ""
@@ -547,19 +695,24 @@ msgstr ""
msgid "Set language"
msgstr ""
-msgid ""
-"This catalog has entries with plural forms, but doesn't have Plural-Forms "
-"header configured."
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid "Suggestions are not available if the translation language is not set correctly. Other features, such as plural forms, may be affected as well."
msgstr ""
-"V katalogu so vnosi z množinskimi oblikami, ki niso pravilno določeni v "
-"glavi kataloga."
-msgid ""
-"Entries in this catalog have different plural forms count from what "
-"catalog's Plural-Forms header says"
+msgid "Language of the translation is the same as source language."
+msgstr ""
+
+msgid "Fix Language"
+msgstr ""
+
+msgid "Fix language"
msgstr ""
-"Vnosi v katalogu uporabljajo različne množinske oblike, kot je to določeno v "
-"glavi kataloga."
+
+msgid "This catalog has entries with plural forms, but doesn't have Plural-Forms header configured."
+msgstr "V katalogu so vnosi z množinskimi oblikami, ki niso pravilno določeni v glavi kataloga."
+
+msgid "Entries in this catalog have different plural forms count from what catalog's Plural-Forms header says"
+msgstr "Vnosi v katalogu uporabljajo različne množinske oblike, kot je to določeno v glavi kataloga."
msgid "Required header Plural-Forms is missing."
msgstr "V glavi manjka zahtevano določilo za množinske oblike."
@@ -581,6 +734,7 @@ msgstr "Popravi glavo"
msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr ""
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr ""
@@ -604,12 +758,24 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+
msgid " (unsaved)"
msgstr ""
msgid " (modified)"
msgstr " (spremenjeno)"
+#, c-format
+msgid " (beta version expires %s)"
+msgstr ""
+
msgid "Go"
msgstr ""
@@ -623,14 +789,8 @@ msgstr "Odstrani izbrisane prevode"
msgid "Do you want to remove all translations that are no longer used?"
msgstr "Ali res želite odstraniti vse prevode, ki niso več v uporabi?"
-msgid ""
-"If you continue with purging, all translations marked as deleted will be "
-"permanently removed. You will have to translate them again if they are added "
-"back in the future."
-msgstr ""
-"V primeru nadaljevanja s počiščenjem prevodov, bodo ti označeni kot "
-"izbrisani in s tem trajno izgubljeni. V kolikor se ti nizi v prihodnje znova "
-"pojavijo, jih bo treba ponovno prevesti."
+msgid "If you continue with purging, all translations marked as deleted will be permanently removed. You will have to translate them again if they are added back in the future."
+msgstr "V primeru nadaljevanja s počiščenjem prevodov, bodo ti označeni kot izbrisani in s tem trajno izgubljeni. V kolikor se ti nizi v prihodnje znova pojavijo, jih bo treba ponovno prevesti."
msgid "Keep"
msgstr "Ohrani"
@@ -644,17 +804,22 @@ msgstr ""
msgid "Only fill in exact matches"
msgstr ""
-msgid ""
-"By default, inaccurate results are filled in as well and marked as fuzzy. "
-"Check this option to only include accurate matches."
+msgid "By default, inaccurate results are filled in as well and marked as fuzzy. Check this option to only include accurate matches."
msgstr ""
msgid "Don’t mark exact matches as fuzzy"
msgstr ""
-msgid ""
-"Only enable if you trust the quality of your TM. By default, all matches "
-"from the TM are marked as fuzzy and should be reviewed."
+msgid "Only enable if you trust the quality of your TM. By default, all matches from the TM are marked as fuzzy and should be reviewed."
+msgstr ""
+
+msgid "Use online suggestions"
+msgstr ""
+
+msgid "Use online suggestions (experimental)"
+msgstr ""
+
+msgid "Try to fetch translations from the online TM as well. Notice that the translations will not be perfect and will still need to be corrected by a human translator."
msgstr ""
msgid "Fill"
@@ -668,18 +833,13 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
-msgid ""
-"The translations were marked as fuzzy, because they may be inaccurate. You "
-"should review them for correctness."
+msgid "The translations were marked as fuzzy, because they may be inaccurate. You should review them for correctness."
msgstr ""
msgid "No entries could be filled from the translation memory."
msgstr ""
-msgid ""
-"The TM doesn’t contain any strings similar to the content of this file. It "
-"is only effective for semi-automatic translations after Poedit learns enough "
-"from files that you translated manually."
+msgid "The TM doesn’t contain any strings similar to the content of this file. It is only effective for semi-automatic translations after Poedit learns enough from files that you translated manually."
msgstr ""
msgid "Translating"
@@ -724,6 +884,9 @@ msgstr ""
msgid "Form %i"
msgstr "Oblika %i"
+msgid "Singular"
+msgstr ""
+
msgid "Zero"
msgstr ""
@@ -733,6 +896,9 @@ msgstr ""
msgid "Two"
msgstr ""
+msgid "Plural"
+msgstr ""
+
msgid "Other"
msgstr ""
@@ -761,6 +927,12 @@ msgstr ""
msgid "Show Sidebar"
msgstr ""
+msgid "Hide Status Bar"
+msgstr ""
+
+msgid "Show Status Bar"
+msgstr ""
+
msgid "Source text"
msgstr "Izvorno besedilo"
@@ -770,6 +942,10 @@ msgstr "Prevod"
msgid "ID"
msgstr ""
+#, c-format
+msgid "Source text — %s"
+msgstr ""
+
msgid "unknown language"
msgstr ""
@@ -780,57 +956,73 @@ msgstr ""
msgid "Error:"
msgstr "Napaka:"
-msgid "Project info"
-msgstr "Podatki o projektu"
-
-msgid "Project name and version:"
-msgstr "Ime in različica projekta:"
+msgid "Source file"
+msgstr "Izvorna datoteka"
-msgid "Language:"
-msgstr "Jezik:"
+msgid "Source file occurrence:"
+msgstr "Pojavitev izvorne datoteke:"
-msgid "Team:"
-msgstr "Skupina:"
+msgid "Open in Editor"
+msgstr ""
-msgid "Team's email address:"
-msgstr "Elektronski naslov skupine:"
+msgid "Open in editor"
+msgstr ""
-msgid "Charset:"
-msgstr "Kodni nabor:"
+msgid "No references for the selected item."
+msgstr ""
-msgid "Source"
-msgstr "Vir"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "Napaka med odpiranjem datoteke %s!"
-msgid "Notes"
-msgstr "Opombe"
+msgid "Find"
+msgstr ""
-msgid "Automatic translation"
-msgstr "Samodejno prevajanje"
+msgid "Replace"
+msgstr ""
-msgid "Fuzzy translation"
-msgstr "Ohlapen prevod"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr ""
-msgid "Notes for translators:"
-msgstr "Opomba prevajalcem:"
+msgid "Ignore case"
+msgstr ""
-msgid "Comment:"
-msgstr "Opomba:"
+msgid "Wrap around"
+msgstr ""
-msgid "Source file"
-msgstr "Izvorna datoteka"
+msgid "Whole words only"
+msgstr "Le cele besede"
-msgid "Source file occurrence:"
-msgstr "Pojavitev izvorne datoteke:"
+msgid "Find in source texts"
+msgstr ""
-msgid "Open in Editor"
+msgid "Find in translations"
msgstr ""
-msgid "Open in editor"
+msgid "Find in comments"
+msgstr "Najdi v opombah"
+
+msgid "Close"
+msgstr "Zapri"
+
+msgid "Replace All"
msgstr ""
-#, c-format
-msgid "Error opening file %s!"
-msgstr "Napaka med odpiranjem datoteke %s!"
+msgid "Replace all"
+msgstr ""
+
+msgid "< &Previous"
+msgstr ""
+
+msgid "&Next >"
+msgstr ""
+
+msgid "String to find"
+msgstr ""
+
+msgid "Replacement string"
+msgstr ""
#, c-format
msgid "Cannot execute program: %s"
@@ -845,6 +1037,55 @@ msgstr ""
msgid "Language of the translation:"
msgstr ""
+msgid "Poedit Registration"
+msgstr ""
+
+msgid "Name"
+msgstr ""
+
+msgid "License Key"
+msgstr ""
+
+msgid "The registration key can be used on multiple computers you use personally or for multiple\naccounts on a single computer."
+msgstr ""
+
+msgid "Buy Online..."
+msgstr ""
+
+msgid "Buy online..."
+msgstr ""
+
+msgid "Cancel"
+msgstr "Prekliči"
+
+msgid "Register"
+msgstr ""
+
+msgid "Your copy is upgraded to Poedit Pro."
+msgstr ""
+
+msgid "You’re awesome! Thank you so much\nfor purchasing Poedit Pro."
+msgstr ""
+
+msgid "View License Key"
+msgstr ""
+
+msgid "View license key"
+msgstr ""
+
+#, c-format
+msgid "Licensed to: %s"
+msgstr ""
+
+msgid "Purchasing the full version will unlock more features\nin this and future versions of Poedit, including:\n\n"
+msgstr ""
+
+msgid "Upgrade..."
+msgstr ""
+
+msgid "No, thanks"
+msgstr ""
+
msgid "Poedit - Catalogs manager"
msgstr "Poedit - upravljalnik katalogov"
@@ -881,12 +1122,8 @@ msgstr "Ali želite izbrisati projekt?"
msgid "Confirmation"
msgstr "Potrditev"
-msgid ""
-"Do you really want to do mass update of\n"
-"all catalogs in this project?"
-msgstr ""
-"Ali res želite hkrati osvežiti vse\n"
-"kataloge projekta?"
+msgid "Do you really want to do mass update of\nall catalogs in this project?"
+msgstr "Ali res želite hkrati osvežiti vse\nkataloge projekta?"
msgid "Information about the translator"
msgstr ""
@@ -903,9 +1140,7 @@ msgstr ""
msgid "your_email at example.com"
msgstr ""
-msgid ""
-"Your name and email address are only used to set the Last-Translator header "
-"of GNU gettext files."
+msgid "Your name and email address are only used to set the Last-Translator header of GNU gettext files."
msgstr ""
msgid "Editing"
@@ -923,14 +1158,8 @@ msgstr ""
msgid "Always change focus to text input field"
msgstr "Vedno postavi v žarišče polje za vnos besedila"
-msgid ""
-"Never let the list of strings take focus. If enabled, you must use Ctrl-"
-"arrows for keyboard navigation but you can also type text immediately, "
-"without having to press Tab to change focus."
-msgstr ""
-"Ne dovoli postavitve seznama nizov v žarišče. Izbrana možnost omogoča "
-"uporabo tipk Ctrl+Smerne tipke za premikanje med vrsticami s tipkovnico in "
-"hkrati omogoča neposredni vnos besedila brez predhodno pritisnjene tipke Tab."
+msgid "Never let the list of strings take focus. If enabled, you must use Ctrl-arrows for keyboard navigation but you can also type text immediately, without having to press Tab to change focus."
+msgstr "Ne dovoli postavitve seznama nizov v žarišče. Izbrana možnost omogoča uporabo tipk Ctrl+Smerne tipke za premikanje med vrsticami s tipkovnico in hkrati omogoča neposredni vnos besedila brez predhodno pritisnjene tipke Tab."
msgid "Appearance"
msgstr ""
@@ -967,11 +1196,29 @@ msgstr ""
msgid "Consult TM when updating from sources"
msgstr ""
-msgid ""
-"If enabled, Poedit will try to fill in new entries using your previous\n"
-"translations stored in the translation memory. If the TM is\n"
-"near-empty, it will not be very effective. The more translations\n"
-"you edit and the larger the TM grows, the better it gets."
+msgid "If enabled, Poedit will try to fill in new entries using your previous\ntranslations stored in the translation memory. If the TM is\nnear-empty, it will not be very effective. The more translations\nyou edit and the larger the TM grows, the better it gets."
+msgstr ""
+
+msgid "Use suggestions from online collaborative TM"
+msgstr ""
+
+msgid "Poedit uses a large online translation memory that includes both contributed human translations and state-of-the-art machine translations."
+msgstr ""
+
+msgid "Contribute my translations to the online TM"
+msgstr ""
+
+msgid "Keep my translations private"
+msgstr ""
+
+msgid "Ask me for each file individually"
+msgstr ""
+
+msgid "Terms of Service"
+msgstr ""
+
+#. TRANSLATORS: This is part of footer that says in full "powered by MyMemory", with the MyMemory part being a logo
+msgid "powered by"
msgstr ""
msgid "Stored translations:"
@@ -998,23 +1245,16 @@ msgstr ""
msgid "Are you sure you want to reset the translation memory?"
msgstr ""
-msgid ""
-"Resetting the translation memory will irrevocably delete all stored "
-"translations from it. You can’t undo this operation."
+msgid "Resetting the translation memory will irrevocably delete all stored translations from it. You can’t undo this operation."
msgstr ""
-msgid "Cancel"
-msgstr "Prekliči"
-
#. TRANSLATORS: This is abbreviation of "Translation Memory" used in Preferences on OS X.
#. Long text looks weird there, too short (like TM) too, but less so. "General" is about ideal
#. length there.
msgid "TM"
msgstr ""
-msgid ""
-"Source code extractors are used to find translatable strings in the source "
-"code files and extract them so that they can be translated."
+msgid "Source code extractors are used to find translatable strings in the source code files and extract them so that they can be translated."
msgstr ""
msgid "New"
@@ -1023,26 +1263,32 @@ msgstr "Novo"
msgid "Edit"
msgstr "Uredi"
+msgid "Delete extractor"
+msgstr ""
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr ""
+
msgid "Extractors"
msgstr ""
+msgid "Accounts"
+msgstr ""
+
msgid "Automatically check for updates"
msgstr ""
msgid "Include beta versions"
msgstr ""
-msgid ""
-"Beta versions contain the latest new features and improvements, but may be a "
-"bit less stable."
+msgid "Beta versions contain the latest new features and improvements, but may be a bit less stable."
msgstr ""
msgid "Updates"
msgstr ""
-msgid ""
-"These settings affect internal formatting of PO files. Adjust them if you "
-"have specific requirements e.g. because of version control."
+msgid "These settings affect internal formatting of PO files. Adjust them if you have specific requirements e.g. because of version control."
msgstr ""
msgid "Line endings:"
@@ -1064,6 +1310,30 @@ msgstr ""
msgid "Advanced"
msgstr ""
+msgid "Add Files..."
+msgstr ""
+
+msgid "Add files..."
+msgstr ""
+
+msgid "Add Folders..."
+msgstr ""
+
+msgid "Add folders..."
+msgstr ""
+
+msgid "Add Wildcard..."
+msgstr ""
+
+msgid "Add wildcard..."
+msgstr ""
+
+msgid "<big>Drag and Drop Folders Here</big>\n\nor use the + button"
+msgstr ""
+
+msgid "<big>Drag and drop folders here</big>\n\nor use the + button"
+msgstr ""
+
msgid "Additional keywords"
msgstr ""
@@ -1085,6 +1355,9 @@ msgstr "UTF-8 (priporočeno)"
msgid "Please save the file first. This section cannot be edited until then."
msgstr ""
+msgid "Comment:"
+msgstr "Opomba:"
+
msgid "OK"
msgstr "V redu"
@@ -1094,42 +1367,6 @@ msgstr "Po&čisti"
msgid "Clear the comment"
msgstr "Počisti opombe"
-msgid "Find..."
-msgstr "Najdi ..."
-
-msgid "String to find:"
-msgstr "Iskalni niz:"
-
-msgid "Case sensitive"
-msgstr "Razlikovanje velikosti črk"
-
-msgid "Start from the first item"
-msgstr "Začni s prvo vrstico"
-
-msgid "Whole words only"
-msgstr "Le cele besede"
-
-msgid "Find in original strings"
-msgstr "Najdi v izvornih nizih"
-
-msgid "Find in translations"
-msgstr ""
-
-msgid "Find in comments"
-msgstr "Najdi v opombah"
-
-msgid "Find in automatic comments"
-msgstr "Najdi v samodejnih opombah"
-
-msgid "Close"
-msgstr "Zapri"
-
-msgid "< &Previous"
-msgstr ""
-
-msgid "&Next >"
-msgstr ""
-
msgid "Create new translations project"
msgstr "Ustvari nov projekt prevajanja"
@@ -1166,9 +1403,6 @@ msgstr "&Zapri"
msgid "E&xit"
msgstr "&Končaj"
-msgid "Quit"
-msgstr "Končaj"
-
msgid "&New..."
msgstr ""
@@ -1178,12 +1412,24 @@ msgstr ""
msgid "New From &POT/PO File..."
msgstr ""
+msgid "New WordPress translation..."
+msgstr ""
+
+msgid "New WordPress Translation..."
+msgstr ""
+
msgid "&Open..."
msgstr "&Odpri ..."
msgid "Open Recent"
msgstr ""
+msgid "Open from Crowdin..."
+msgstr ""
+
+msgid "Open From Crowdin..."
+msgstr ""
+
msgid "&Save"
msgstr "&Shrani"
@@ -1202,6 +1448,9 @@ msgstr ""
msgid "Check for updates..."
msgstr ""
+msgid "&License..."
+msgstr ""
+
msgid "Catalogs &manager"
msgstr "&Upravljalnik katalogov"
@@ -1232,13 +1481,16 @@ msgstr "&Pokaži sklice"
msgid "&Find..."
msgstr "&Najdi ..."
+msgid "Replace..."
+msgstr ""
+
msgid "Find next"
msgstr ""
msgid "Find previous"
msgstr ""
-msgid "Find"
+msgid "Find and Replace..."
msgstr ""
msgid "Find Next"
@@ -1280,6 +1532,12 @@ msgstr ""
msgid "&Group By Context"
msgstr ""
+msgid "Entries with errors first"
+msgstr ""
+
+msgid "Entries with Errors First"
+msgstr ""
+
msgid "&Untranslated entries first"
msgstr "&Najprej razvrsti neprevedeno"
@@ -1289,6 +1547,9 @@ msgstr "&Najprej razvrsti neprevedeno"
msgid "Show sidebar"
msgstr ""
+msgid "Show status bar"
+msgstr ""
+
msgid "C&atalog"
msgstr "K&atalog"
@@ -1304,6 +1565,9 @@ msgstr "Posodobi s &POT datoteko ..."
msgid "Update from &POT File..."
msgstr "Posodobi s &POT datoteko ..."
+msgid "Sync with Crowdin"
+msgstr ""
+
msgid "Fill missing translations from &TM..."
msgstr ""
@@ -1322,6 +1586,9 @@ msgstr "&Potrdi ustreznost prevoda"
msgid "&Validate Translations"
msgstr "&Potrdi ustreznost prevoda"
+msgid "&Statistics"
+msgstr ""
+
msgid "&Properties..."
msgstr "&Lastnosti ..."
@@ -1367,6 +1634,12 @@ msgstr ""
msgid "&GNU gettext Manual"
msgstr ""
+msgid "Email &support..."
+msgstr ""
+
+msgid "Email &Support..."
+msgstr ""
+
msgid "&About Poedit"
msgstr "&O programu"
@@ -1385,48 +1658,35 @@ msgstr "Priklic:"
msgid "Command to extract translations:"
msgstr ""
-msgid ""
-"This is the command used to launch the extractor.\n"
-"%o expands to the name of output file, %K to list\n"
-"of keywords, %F to list of input files,\n"
-"%C to charset flag (see below)."
+msgid "This is the command used to launch the extractor.\n%o expands to the name of output file, %K to list\nof keywords, %F to list of input files,\n%C to charset flag (see below)."
msgstr ""
msgid "An item in keywords list:"
msgstr "Predmet v seznamu ključnih besed:"
-msgid ""
-"This will be attached to the command line once\n"
-"for each keyword. %k expands to the keyword."
-msgstr ""
-"To bo pripeto ukazni vrstici za vsako ključno\n"
-"besedo. %k razširi v ključno besedo."
+msgid "This will be attached to the command line once\nfor each keyword. %k expands to the keyword."
+msgstr "To bo pripeto ukazni vrstici za vsako ključno\nbesedo. %k razširi v ključno besedo."
msgid "An item in input files list:"
msgstr "Predmet v seznamu vhodnih datotek:"
#, c-format
-msgid ""
-"This will be attached to the command line once\n"
-"for each input file. %f expands to the filename."
-msgstr ""
-"To bo pripeto ukazni vrstici za vsako vhodno\n"
-"datoteko. %f razširi v ime datoteke."
+msgid "This will be attached to the command line once\nfor each input file. %f expands to the filename."
+msgstr "To bo pripeto ukazni vrstici za vsako vhodno\ndatoteko. %f razširi v ime datoteke."
msgid "Source code charset:"
msgstr "Kodni nabor izvorne kode:"
#, c-format
-msgid ""
-"This will be attached to the command line\n"
-"only if source codecharset was given. %c expands to charset value."
-msgstr ""
-"To bo pripeto ukazni vrstici le,\n"
-"če je naveden izvorni nabor znakov. %c razširi v vrednost nabora znakov."
+msgid "This will be attached to the command line\nonly if source codecharset was given. %c expands to charset value."
+msgstr "To bo pripeto ukazni vrstici le,\nče je naveden izvorni nabor znakov. %c razširi v vrednost nabora znakov."
msgid "Catalog properties"
msgstr "Lastnosti kataloga"
+msgid "Project name and version:"
+msgstr "Ime in različica projekta:"
+
msgid "Plural Forms:"
msgstr "Množinske oblike:"
@@ -1439,6 +1699,15 @@ msgstr ""
msgid "Learn about plural forms"
msgstr "Podrobnosti o množinskih oblikah"
+msgid "Charset:"
+msgstr "Kodni nabor:"
+
+msgid "Team:"
+msgstr "Skupina:"
+
+msgid "Team's email address:"
+msgstr "Elektronski naslov skupine:"
+
msgid "Translation properties"
msgstr ""
@@ -1451,12 +1720,8 @@ msgstr "Osnovna pot:"
msgid "Sources paths"
msgstr "Poti vira"
-msgid ""
-"Use these keywords (function names) to recognize translatable strings\n"
-"in source files:"
-msgstr ""
-"Uporabi ključne besede (imena funkcij) za prepoznavanje\n"
-"prevedljivih nizov v izvornih datotekah:"
+msgid "Use these keywords (function names) to recognize translatable strings\nin source files:"
+msgstr "Uporabi ključne besede (imena funkcij) za prepoznavanje\nprevedljivih nizov v izvornih datotekah:"
msgid "Learn about gettext keywords"
msgstr ""
@@ -1467,22 +1732,14 @@ msgstr "Ključne besede vira"
msgid "Update summary"
msgstr "Posodobi povzetek"
-msgid ""
-"These strings were found in the sources but were not in the catalog.\n"
-"Poedit will add them to the catalog now."
-msgstr ""
-"Ti nizi so bili v izvornih datotekah, vendar niso v katalogu.\n"
-"Program jih bo samodejno dodal v katalog."
+msgid "These strings were found in the sources but were not in the catalog.\nPoedit will add them to the catalog now."
+msgstr "Ti nizi so bili v izvornih datotekah, vendar niso v katalogu.\nProgram jih bo samodejno dodal v katalog."
msgid "New strings"
msgstr "Nov niz"
-msgid ""
-"These strings are no longer in the sources.\n"
-"Poedit will remove them from the catalog now."
-msgstr ""
-"Ti nizi znakov se ne nahajajo več v izvornih\n"
-"datotekah. Program jih bo samodejno odstranil iz kataloga."
+msgid "These strings are no longer in the sources.\nPoedit will remove them from the catalog now."
+msgstr "Ti nizi znakov se ne nahajajo več v izvornih\ndatotekah. Program jih bo samodejno odstranil iz kataloga."
msgid "Obsolete strings"
msgstr "Zastareli nizi"
@@ -1502,6 +1759,12 @@ msgstr "Potrdi ustreznost"
msgid "Check for errors in the translation"
msgstr "Preveri za napake v prevodu"
+msgid "Statistics"
+msgstr ""
+
+msgid "Show translation statistics"
+msgstr ""
+
msgid "Update"
msgstr "Posodobi"
@@ -1511,24 +1774,40 @@ msgstr "Posodobi katalog - uskladi z izvorno kodo"
msgid "Toggled if selected string has fuzzy translation"
msgstr "Preklop ohlapno prevedenega niza"
-msgid "Show or hide the sidebar."
+msgid "Sidebar"
+msgstr ""
+
+msgid "Show or hide the sidebar"
msgstr ""
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
msgid "Previous source text:"
msgstr ""
-msgid ""
-"The old source text (before it changed during an update) that the fuzzy "
-"translation corresponds to."
+msgid "The old source text (before it changed during an update) that the fuzzy translation corresponds to."
msgstr ""
+msgid "Notes for translators:"
+msgstr "Opomba prevajalcem:"
+
msgid "Add comment"
msgstr ""
msgid "Add Comment"
msgstr ""
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(from your TM)"
+msgstr ""
+
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(machine translation)"
+msgstr ""
+
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(human translation)"
+msgstr ""
+
msgid "Translation suggestions:"
msgstr ""
@@ -1543,6 +1822,86 @@ msgstr ""
msgid "This string was found in Poedit’s translation memory."
msgstr ""
+msgid "This suggestion was contributed by another translator to the online TM."
+msgstr ""
+
+msgid "This suggestion was machine-translated online."
+msgstr ""
+
+#, c-format
+msgid "%d out of %d online suggestion left."
+msgid_plural "%d out of %d online suggestions left."
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+
+msgid "Remove this limitation"
+msgstr ""
+
+msgid "Not showing additional online suggestions."
+msgstr ""
+
+msgid "Unlock online suggestions"
+msgstr ""
+
+msgid "Exceeded online TM daily limit."
+msgstr ""
+
+msgid "Connect to the Internet to get additional suggestions."
+msgstr ""
+
+#. TRANSLATORS: Label indicating that translations made in the current file are contributed to the online translation memory. Related to the "Contribute my translations to the online TM" string.
+msgid "Contributing"
+msgstr ""
+
+msgid "Your translations are contributed to the online translation memory as you make them. Thanks for making the suggestions better!"
+msgstr ""
+
+#. TRANSLATORS: Label indicating that the current file
+msgid "Private"
+msgstr ""
+
+msgid "Translations from this file are not shared with the online translation memory."
+msgstr ""
+
+msgid "Privacy settings"
+msgstr ""
+
+#, c-format
+msgid "While editing the file “%s”:"
+msgstr ""
+
+msgid "Items"
+msgstr ""
+
+msgid "Words"
+msgstr ""
+
+msgid "Translated"
+msgstr ""
+
+msgid "Needs review (fuzzy)"
+msgstr ""
+
+msgid "Translations with errors"
+msgstr ""
+
+msgid "Source Text"
+msgstr ""
+
+msgid "Strings in source language"
+msgstr ""
+
+msgid "Not translated"
+msgstr ""
+
+msgid "Copy to clipboard"
+msgstr ""
+
+msgid "Copy to Clipboard"
+msgstr ""
+
#, c-format
msgid "(New: %i, obsolete: %i)"
msgstr ""
@@ -1564,9 +1923,7 @@ msgstr ""
msgid "Poedit needs to convert your translation memory to a new format."
msgstr ""
-msgid ""
-"This must be done before Poedit can start. It may take a few minutes if you "
-"have lots of translations stored, but should normally be much faster."
+msgid "This must be done before Poedit can start. It may take a few minutes if you have lots of translations stored, but should normally be much faster."
msgstr ""
msgid "Proceed"
@@ -1576,42 +1933,53 @@ msgid "Translation memory migration failed."
msgstr ""
#, c-format
-msgid ""
-"Your translation memory data couldn't be migrated. The error was:\n"
-"\n"
-"%s\n"
-"Please email help at poedit.net and we’ll get it fixed."
+msgid "Your translation memory data couldn't be migrated. The error was:\n\n%s\nPlease email help at poedit.net and we’ll get it fixed."
msgstr ""
msgid "Cannot create temporary directory."
msgstr "Ni mogoče ustvariti začasne mape."
+msgid "Check theme or plugin compatibility"
+msgstr ""
+
msgid "Welcome to Poedit"
msgstr ""
+msgid "Upgrade to Pro"
+msgstr ""
+
+msgid "Upgrade to Poedit Pro to get additional features and support Poedit's development."
+msgstr ""
+
msgid "Edit a translation"
msgstr ""
msgid "Open an existing PO file and edit the translation."
msgstr ""
-msgid "Create new translation"
+msgid "Take an existing PO file or POT template and create a new translation from it."
msgstr ""
-msgid ""
-"Take an existing PO file or POT template and create a new translation from "
-"it."
+msgid "Translate WordPress theme or plugin"
+msgstr ""
+
+#. TRANSLATORS: Please don't use any form of "automatically" in the translation, it would mislead people.
+msgid "Create a new translation. Poedit will set everything up; you can focus on translating."
+msgstr ""
+
+msgid "Collaborate on a translation with Crowdin"
+msgstr ""
+
+msgid "Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+
+msgid "What is Crowdin?"
msgstr ""
msgid "There are no translations. That’s unusual."
msgstr ""
-msgid ""
-"Translatable entries aren't added manually in the Gettext system, but are "
-"automatically extracted\n"
-"from source code. This way, they stay up to date and accurate.\n"
-"Translators typically use PO template files (POTs) prepared for them by the "
-"developer."
+msgid "Translatable entries aren't added manually in the Gettext system, but are automatically extracted\nfrom source code. This way, they stay up to date and accurate.\nTranslators typically use PO template files (POTs) prepared for them by the developer."
msgstr ""
msgid "(Learn more about GNU gettext)"
@@ -1626,8 +1994,7 @@ msgstr ""
msgid "Take translatable strings from an existing POT template."
msgstr ""
-msgid ""
-"You can also extract translatable strings directly from the source code:"
+msgid "You can also extract translatable strings directly from the source code:"
msgstr ""
msgid "Extract from sources"
@@ -1635,3 +2002,105 @@ msgstr ""
msgid "Configure source code extraction in Properties."
msgstr ""
+
+#, c-format
+msgid "Failed to read file '%s'."
+msgstr ""
+
+#, c-format
+msgid "Confused by ambiguous values of \"%s\" in %s."
+msgstr ""
+
+#, c-format
+msgid "Couldn't detect POs location for \"%s\"."
+msgstr ""
+
+#, c-format
+msgid "The \"%s\" theme isn't localization-ready."
+msgstr ""
+
+msgid "Confused: multiple main plugin files."
+msgstr ""
+
+#, c-format
+msgid "The \"%s\" plugin isn't localization-ready."
+msgstr ""
+
+#, c-format
+msgid "Couldn't detect translation domain of the \"%s\" plugin."
+msgstr ""
+
+msgid "Found neither WordPress theme nor plugin in the folder."
+msgstr ""
+
+#, c-format
+msgid "Translations folder (%s) doesn't exist."
+msgstr ""
+
+msgid "<big>Drag and drop <b>theme or plugin folder</b> here</big>\n\nor use the “Choose folder” button"
+msgstr ""
+
+msgid "<big>Drag and Drop <b>Theme or Plugin Folder</b> Here</big>\n\nor use the “Choose Folder” button"
+msgstr ""
+
+#, c-format
+msgid "Folder “%s”"
+msgstr ""
+
+msgid "Choose Folder..."
+msgstr ""
+
+msgid "Choose folder..."
+msgstr ""
+
+msgid "Create a new translation"
+msgstr ""
+
+msgid "Choose this if you want to translate the theme or plugin into your language."
+msgstr ""
+
+msgid "Create a POT"
+msgstr ""
+
+msgid "This option is for theme and plugin developers. Poedit will create an empty template (POT) that translations can be based on."
+msgstr ""
+
+msgid "Continue"
+msgstr ""
+
+msgid "Failed to extract WordPress information."
+msgstr ""
+
+msgid "WordPress error"
+msgstr ""
+
+#, c-format
+msgid "Poedit couldn’t understand the content of the folder you selected. This may be a problem with the plugin/theme or it may be Poedit being silly. The error is:\n\n • %s\n\nPlease email help at poedit.net and we’ll sort it out."
+msgstr ""
+
+#. TRANSLATORS: This is a button that sends an email to support when clicked
+msgid "Email support"
+msgstr ""
+
+msgid "View log"
+msgstr ""
+
+#. TRANSLATORS: This is a button that sends an email to support when clicked
+msgid "Email Support"
+msgstr ""
+
+msgid "View Log"
+msgstr ""
+
+msgid "WordPress Errors Log"
+msgstr ""
+
+msgid "Please email this log to help at poedit.net. Thank you!"
+msgstr ""
+
+msgid "Sync"
+msgstr ""
+
+msgid "Synchronize the translation with Crowdin"
+msgstr ""
+
diff --git a/locales/sq.mo b/locales/sq.mo
index 2067384..b891914 100644
Binary files a/locales/sq.mo and b/locales/sq.mo differ
diff --git a/locales/sq.po b/locales/sq.po
index 9f2cce0..13866e8 100644
--- a/locales/sq.po
+++ b/locales/sq.po
@@ -1,9 +1,9 @@
msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
-"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:33-0400\n"
+"Report-Msgid-Bugs-To: poedit at googlegroups.com\n"
+"POT-Creation-Date: 2015-05-11 08:48+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Albanian\n"
"Language: sq_AL\n"
@@ -16,324 +16,441 @@ msgstr ""
"X-Crowdin-Language: sq\n"
"X-Crowdin-File: /locales/poedit.pot\n"
+#. TRANSLATORS: This is titlebar of about dialog, "%s" is application name
+#. ("Poedit" here, but please use "%s")
+#, c-format
+msgid "About %s"
+msgstr "Mbi %s-in"
+
+#. TRANSLATORS: This is version information in about dialog, "%s" will be
+#. version number when used
+#, c-format
+msgid "Version %s"
+msgstr "Versioni %s"
+
+msgid "Based on the open source version →"
+msgstr "Bazuar në versionin me burim të hapur →"
+
+msgid "Acknowledgements"
+msgstr "Falënderime"
+
+msgid "Rate on the App Store"
+msgstr "Vlerësojeni në App Store"
+
+msgid "License Agreement"
+msgstr "Marrëveshje Licence"
+
+#, c-format
+msgid "Licensed to %s"
+msgstr "Licencuar për %s"
+
+msgid "Purchased on the Mac App Store"
+msgstr "Blerë në Mac App Store"
+
+msgid "Free version (please upgrade!)"
+msgstr "Versioni i lirë (ju lutemi, përmirësojeni!)"
+
msgid "Hide this notification message"
-msgstr "Fshih këtë mesazh njoftimi"
+msgstr "Fshihe këtë mesazh njoftimi"
msgid "Don't Show Again"
-msgstr "Mos e shfaq përsëri"
+msgstr "Mos e Shfaq Sërish"
msgid "Don't show again"
-msgstr "Mos e shfaq përsëri"
+msgstr "Mos e shfaq sërish"
#, c-format
msgid "%i line of file '%s' was not loaded correctly."
msgid_plural "%i lines of file '%s' were not loaded correctly."
-msgstr[0] "%i linja e filit »%s« nuk është ngarkuar korrekt."
-msgstr[1] "%i Zeilen der Datei »%s« wurden nicht korrekt geladen."
+msgstr[0] "%i rresht i kartelës '%s' s’u ngarkua saktë."
+msgstr[1] "%i rreshta të kartelës '%s' s’u ngarkuan saktë."
#, c-format
msgid "Line %d of file '%s' is corrupted (not valid %s data)."
-msgstr "Linja %d e filit '%s' është e korruptuar (jo të dhëna %s të vlefshme)."
+msgstr "Rreshti %d i kartelës '%s' është i dëmtuar (pa të dhëna %s të vlefshme)."
#, c-format
msgid "Malformed header: '%s'"
-msgstr "Kokë e keqformuar: '%s'"
+msgstr "Titull i keqformuar: '%s'"
-msgid ""
-"Broken catalog file: singular form msgstr used together with msgid_plural"
-msgstr ""
-"Fil katalogu i dëmtuar: forma njëjës msgstr e përdorur së bashku me "
-"msgid_plural"
+msgid "Broken catalog file: singular form msgstr used together with msgid_plural"
+msgstr "Kartelë katalogu e dëmtuar: vargje mesazhesh në njëjës përdorur bashkë me msgid_plural"
msgid "Broken catalog file: plural form msgstr used without msgid_plural"
-msgstr "Fil katalogu i dëmtuar: forma shumës msgstr e përdorur pa msgid_plural"
+msgstr "Kartelë katalogu e dëmtuar: vargje mesazhesh në shumës përdorur pa msgid_plural"
-msgid ""
-"There were errors when loading the catalog. Some data may be missing or "
-"corrupted as the result."
-msgstr ""
-"Pati gabime gjatë ngarkimit të katalogut. Për pasojë, disa nga të dhënat "
-"mund të kenë humbur ose janë korruptuar."
+msgid "There were errors when loading the catalog. Some data may be missing or corrupted as the result."
+msgstr "Pati gabime gjatë ngarkimit të katalogut. Për pasojë, disa nga të dhënat mund të kenë humbur ose të jenë dëmtuar."
#, c-format
msgid "Couldn't load file %s, it is probably corrupted."
-msgstr "Fili %s nuk mund të ngarkohej, ka mundësi të jetë i korruptuar."
+msgstr "Kartela %s nuk u ngarkua dot, ka gjasa të jetë e dëmtuar."
#, c-format
-msgid ""
-"File '%s' is read-only and cannot be saved.\n"
-"Please save it under different name."
-msgstr ""
-"Fili '%s' është vetëm-lexo dhe nuk mund të ruhet.\n"
-"Ju lutem, ruajeni atë nën një emër tjetër."
+msgid "File '%s' is read-only and cannot be saved.\nPlease save it under different name."
+msgstr "Kartela '%s' është vetëm e lexueshme dhe s’mund të ruhet.\nJu lutemi, ruajeni nën një emër tjetër."
#, c-format
msgid "Couldn't save file %s."
-msgstr "Nuk mund të ruajë filin %s."
+msgstr "Nuk u ruajt dot kartela %s."
-msgid ""
-"There was a problem formatting the file nicely (but it was saved all right)."
-msgstr ""
-"Pati një problem me formatimin si duhet të filit (por u ruajt në rregull)."
+msgid "There was a problem formatting the file nicely (but it was saved all right)."
+msgstr "Pati një problem me formatimin si duhet të kartelës (por u ruajt në rregull)."
#, c-format
-msgid ""
-"The catalog couldn't be saved in '%s' charset as specified in catalog "
-"settings.\n"
-"\n"
-"It was saved in UTF-8 instead and the setting was modified accordingly."
-msgstr ""
-"Katalogu nuk mund të ruhej në setin e karaktereve '%s' të specifikuar në "
-"rregullimet e katalogut.\n"
-"\n"
-"Në vend të saj, u ruajt në UTF-8 dhe rregullimi u modifikua në përputhje me "
-"të."
+msgid "The catalog couldn't be saved in '%s' charset as specified in catalog settings.\n\nIt was saved in UTF-8 instead and the setting was modified accordingly."
+msgstr "Katalogu nuk u ruajt dot nën shkronjat '%s' e treguara në rregullime katalogu.\n\nU ruajt nën UTF-8 dhe rregullimi u ndryshua për përputhje."
msgid "Error saving catalog"
-msgstr "Gabim gjatë ruajtjes së katalogut"
+msgstr "Gabim në ruajtje katalogu"
+
+msgid "PO Translation Files"
+msgstr "Kartela Përkthimi PO"
+
+msgid "POT Translation Templates"
+msgstr "Gjedhe Përkthimi POT"
+
+msgid "All Translation Files"
+msgstr "Të gjithë filet e përkthimit"
msgid "Merging differences..."
-msgstr "Bashkon dallimet..."
+msgstr "Po përziehen dallimet..."
#, c-format
msgid "'%s' is not a valid POT file."
-msgstr "'%s' nuk është një fil i vlefshëm POT."
+msgstr "'%s' nuk është një kartelë POT e vlefshme."
msgid "(Use default language)"
-msgstr "(Përdor gjuhën standarde)"
+msgstr "(Përdor gjuhë parazgjedhje)"
msgid "Select your preferred language"
-msgstr "Zgjedh gjuhën tuaj të preferuar"
+msgstr "Përzgjidhni gjuhën tuaj të parapëlqyer"
msgid "Language selection"
-msgstr "Zgjedh gjuhën"
+msgstr "Përzgjedhje gjuhe"
msgid "You must restart Poedit for this change to take effect."
-msgstr "Duhet të ri-filloni Poedit, që këto ndryshime të hyjnë në fuqi."
+msgstr "Duhet të rinisni Poedit, që të hyjnë në fuqi ndryshimet."
+
+msgid "Downloading translations is disabled in this project."
+msgstr "Shkarkimi i përkthimeve është i çaktivizuar për këtë projekt."
+
+msgid "Not authorized, please sign in again."
+msgstr "Jo i autorizuar, ju lutemi, bëni hyrjen sërish."
+
+msgid "Sign in to Crowdin"
+msgstr "Hyni në Crowdin"
+
+msgid "Crowdin is an online localization management platform and collaborative translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr "Crowdin është një platformë administrimi përkthimesh në internet dhe mjet përkthimi në bashkëpunim. Poedit-i mund të njëkohësojë pa të metë kartela PO të administruara në Crowdin."
+
+msgid "Sign In"
+msgstr "Hyni"
+
+msgid "Sign in"
+msgstr "Hyni"
+
+msgid "Sign Out"
+msgstr "Dilni"
+
+msgid "Sign out"
+msgstr "Dilni"
+
+msgid "Waiting for authentication…"
+msgstr "Po pritet për mirëfilltësim…"
+
+msgid "Updating user information…"
+msgstr "Po përditësohen të dhëna mbi përdoruesin…"
+
+msgid "Signed in as:"
+msgstr "I futur si:"
+
+msgid "Learn More About Crowdin"
+msgstr "Mësoni Më Tepër Mbi Crowdin-in"
+
+msgid "Learn more about Crowdin"
+msgstr "Mësoni më tepër mbi Crowdin-in"
+
+msgid "Open Crowdin translation"
+msgstr "Hap përkthimin në Crowdin"
+
+msgid "Project:"
+msgstr "Projekt:"
+
+msgid "Language:"
+msgstr "Gjuhë:"
+
+msgid "File:"
+msgstr "Kartelë:"
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr "Pa projekte përkthimi në llogarinë tuaj Crowdin."
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr "Ky projekt nuk ka kartela që mund të përkthehen nën Poedit."
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr "Ky fil mund të korrigjohet në ndërfaqen ueb të Crowdin."
+
+msgid "Downloading latest translations…"
+msgstr "Po shkarkohen përkthimet më të reja…"
+
+msgid "Syncing with Crowdin"
+msgstr "Po bëhet njëkohësimi me Crowdin-in"
+
+msgid "Syncing with Crowdin failed."
+msgstr "Njëkohësimi me Crowdin-in dështoi."
+
+msgid "Crowdin error"
+msgstr "Gabim Crowdin-i"
+
+msgid "Uploading translations…"
+msgstr "Po ngarkohen përkthime…"
msgid "&Copy"
-msgstr "&Kopjo"
+msgstr "&Kopjoje"
msgid "Learn more"
-msgstr "Mëso më tepër"
+msgstr "Mësoni më tepër"
msgid "Learn More"
-msgstr "Mëso më shumë"
+msgstr "Mësoni Më Tepër"
#, c-format
msgid "Failed command: %s"
-msgstr "Komanda dështoi: %s"
+msgstr "Urdhri që dështoi: %s"
msgid "Failed to merge gettext catalogs."
-msgstr "Dështoi në bashkimin e katalogëve gettext."
+msgstr "Dështoi në përzierjen e katalogëve gettext."
msgid "Scanning files..."
-msgstr "Skanon filet..."
+msgstr "Po skanohen kartelat..."
#. TRANSLATORS: '%s' is replaced with the kind of the files (e.g. C++, PHP, ...)
#, c-format
msgid "Parsing %s files..."
-msgstr "Analizon %s filet.."
+msgstr "Po përtypen kartela %s..."
msgid "Failed to load extracted catalog."
-msgstr "Dështoi në ngarkimin e katalogut të nxjerrë."
+msgstr "Dështoi në ngarkimin e katalogut të përftuar."
+
+#, c-format
+msgid "Failed to extract WordPress metadata from file %s."
+msgstr ""
msgid "&Help"
msgstr "&Ndihmë"
+msgid "Beta expired"
+msgstr "Beta ka skaduar"
+
+msgid "This beta version of Poedit expired."
+msgstr "Ky version beta i Poedit-it ka skaduar."
+
+msgid "Please download a newer version from the Poedit website at http://poedit.net/download"
+msgstr "Ju lutemi, shkarkoni një version më të ri, nga sajti i Poedit-it, te http://poedit.net/download"
+
+msgid "Download"
+msgstr "Shkarkojeni"
+
+msgid "Quit"
+msgstr "Dilni"
+
msgid "MO files can’t be directly edited in Poedit."
-msgstr "Filet MO nuk mund të korrigjohen direkt në Poedit."
+msgstr "Kartelat MO s’mund të përpunohen drejt e në Poedit."
msgid "Error opening file"
-msgstr "Gabim në hapjen e filit"
+msgstr "Gabim gjatë hapjes së kartelës"
-msgid ""
-"Please open and edit the corresponding PO file instead. When you save it, "
-"the MO file will be updated as well."
-msgstr ""
-"Ju lutem, hap dhe korrigjo filin korrespondues PO, në vend të tij. Kur ta "
-"ruani atë, fili MO do të aktualizohet gjithashtu."
+msgid "Please open and edit the corresponding PO file instead. When you save it, the MO file will be updated as well."
+msgstr "Ju lutemi, në vend të kësaj, hapni dhe përpunoni kartelën përgjegjëse PO. Kur e ruani, do të përditësohet edhe kartela MO."
msgid "don't delete temporary files (for debugging)"
-msgstr "mos i fshij filet e përkohshme (për përmirësimin e gabimit)"
+msgstr "mos fshi kartela të përkohshme (për diagnostikim)"
+
+msgid "handle a poedit:// URI"
+msgstr "trajto një URI a poedit://"
#, c-format
msgid "Unhandled exception occurred: %s"
-msgstr "Ka ndodhur një përjashtim i patrajtuar: %s"
+msgstr "Ndodhi një përjashtim i patrajtuar: %s"
msgid "Unhandled exception occurred."
-msgstr "Ka ndodhur një përjashtim i patrajtuar."
+msgstr "Ndodhi një përjashtim i patrajtuar."
msgid "Open catalog"
msgstr "Hap katalog"
-msgid "All Files"
-msgstr "Të gjithë filet"
-
-msgid "PO Translation Files"
-msgstr "Përkthimi i fileve PO"
-
#, c-format
msgid "File '%s' doesn't exist."
-msgstr "Fili '%s' nuk ekziston."
-
-#. TRANSLATORS: This is titlebar of about dialog, "%s" is application name
-#. ("Poedit" here, but please use "%s")
-#, c-format
-msgid "About %s"
-msgstr "Rreth %s"
-
-#. TRANSLATORS: This is version information in about dialog, "%s" will be
-#. version number when used
-#, c-format
-msgid "Version %s"
-msgstr "Versioni %s"
+msgstr "Kartela '%s' s’ekziston."
msgid "Poedit is an easy to use translations editor."
-msgstr "Poedit është një editor përkthimesh i lehtë për t'u përdorur."
+msgstr "Poedit është një përpunues përkthimesh i lehtë për t’u përdorur."
msgid "Catalogs Manager"
-msgstr "Menaxher katalogësh"
+msgstr "Përgjegjës Katalogësh"
+
+msgid "License..."
+msgstr "Licencë..."
msgid "Check for Updates..."
-msgstr "Kontrollo për aktualizime..."
+msgstr "Kontrollo për Përditësime..."
msgid "&Edit"
-msgstr "&Korrigjo"
+msgstr "&Përpunoni"
msgid "Undo"
-msgstr "Mosbëj"
+msgstr "Zhbëje"
msgid "Redo"
-msgstr "Ribëj"
+msgstr "Ribëje"
msgid "Paste and Match Style"
-msgstr "Ngjit dhe përko stilin"
+msgstr "Ngjite dhe Përputhi Stilin"
msgid "Delete"
-msgstr "Fshij"
+msgstr "Fshije"
msgid "Spelling and Grammar"
msgstr "Drejtshkrim dhe Gramatikë"
msgid "Show Spelling and Grammar"
-msgstr "Shfaq Drejtshkrimin dhe Gramatikën"
+msgstr "Shfaq Drejtshkrim dhe Gramatikë"
msgid "Check Document Now"
-msgstr "Kontrollo dokumentin tani"
+msgstr "Kontrollojeni Dokumentin Tani"
msgid "Check Spelling While Typing"
-msgstr "Kontrollo Drejtshkrimin ndërsa shkruan"
+msgstr "Kontrolloji Drejtshkrimin Teksa Shtypet"
msgid "Check Grammar With Spelling"
-msgstr "Kontrollo Gramatikën me Drejtshkrimin"
+msgstr "Kontrollojini Gramatikën Me Drejtshkrimin"
msgid "Correct Spelling Automatically"
-msgstr "Korrekto automatikisht Drejtshkrimin"
+msgstr "Ndreqe Vetvetiu Drejtshkrimin"
msgid "Substitutions"
msgstr "Zëvendësime"
msgid "Show Substitutions"
-msgstr "Shfaq zëvendësimet"
+msgstr "Shfaq Zëvendësimet"
msgid "Smart Copy/Paste"
-msgstr "Kopjim/Ngjitje e zgjuar"
+msgstr "Kopjim/Ngjite e Mençur"
msgid "Smart Quotes"
-msgstr "Citime të zgjuara"
+msgstr "Thonjëza të Mençura"
msgid "Smart Dashes"
-msgstr "Vija të zgjuara"
+msgstr "Vija të Mençura"
msgid "Smart Links"
-msgstr "Lidhje të zgjuara"
+msgstr "Lidhje të Mençura"
msgid "Text Replacement"
-msgstr "Zëvendësim teksti"
+msgstr "Zëvendësim Teksti"
msgid "Transformations"
-msgstr "Transformimet"
+msgstr "Shndërrime"
msgid "Make Upper Case"
-msgstr "Bëje me shkronja të mëdha"
+msgstr "Kaloje në shkronja të mëdha"
msgid "Make Lower Case"
-msgstr "Bëje me shkronja të vogla"
+msgstr "Kaloje në shkronja të vogla"
msgid "Capitalize"
-msgstr "Kapitale"
+msgstr "Me shkronjë të madhe"
msgid "Speech"
-msgstr "Fjalim"
+msgstr "E folur"
msgid "Start Speaking"
-msgstr "Fillo të flasësh"
+msgstr "Filloni të Folurën"
msgid "Stop Speaking"
-msgstr "Ndal të folurën"
+msgstr "Ndalni të Folurën"
msgid "&View"
-msgstr "&Pamje"
+msgstr "&Parje"
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
+msgid "Show Toolbar"
+msgstr "Shfaqni Panelin"
+
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
+msgid "Customize Toolbar…"
+msgstr "Përshtateni Panelin…"
+
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
msgid "Enter Full Screen"
-msgstr "Fut ekranin e plotë"
+msgstr "Kaloni Në Gjendjen Krejt Ekrani"
msgid "Window"
msgstr "Dritare"
msgid "Minimize"
-msgstr "Minimizo"
+msgstr "Minimizoje"
msgid "Zoom"
-msgstr "Përmaso"
+msgstr "Zoom"
msgid "Bring All to Front"
-msgstr "Silli të gjitha përpara"
+msgstr "Silli Krejt Përpara"
+#. TRANSLATORS:File kind displayed in Finder/Explorer
msgid "PO Translation"
msgstr "Përkthimi në trajtë PO"
+msgid "Invalid license data."
+msgstr "Të dhëna të pavlefshme licence."
+
+msgid "Poedit"
+msgstr "Poedit"
+
+#, c-format
+msgid "The link doesn't contain valid Poedit license. Try entering it manually or contact support at help at poedit.net.\n\n(%s)"
+msgstr "Lidhja nuk përmban një licencë të vlefshme Poedit-i. Provoni ta jepni dorazi ose lidhuni me asistencën te help at poedit.net.\n\n(%s)"
+
msgid "The file cannot be opened."
-msgstr "Fili nuk mund të hapet."
+msgstr "Kartela s’hapet dot."
msgid "Invalid file"
-msgstr "Fil i pavlefshëm"
+msgstr "Kartelë e pavlefshme"
-msgid ""
-"The file may be either corrupted or in a format not recognized by Poedit."
-msgstr ""
-"Fili mund të jetë i korruptuar, ose në një format të panjohur nga Poedit."
+msgid "The file may be either corrupted or in a format not recognized by Poedit."
+msgstr "Kartela mund të jetë ose e dëmtuar, ose në një format të panjohur nga Poedit."
msgid "&Undo"
-msgstr "&Mosbëj"
+msgstr "&Zhbëje"
msgid "&Redo"
-msgstr "&Ribëj"
+msgstr "&Ribëje"
msgid "Cu&t"
-msgstr "P&rej"
+msgstr "&Prije"
msgid "Cut"
-msgstr "Prej"
+msgstr "Prijeni"
msgid "Copy"
-msgstr "Kopjo"
+msgstr "Kopjojeni"
msgid "&Paste"
-msgstr "&Ngjit"
+msgstr "&Ngjite"
msgid "Paste"
-msgstr "Ngjit"
+msgstr "Ngjitni"
msgid "&Delete"
-msgstr "&Fshij"
+msgstr "&Fshije"
msgid "Select &All"
-msgstr "Zgjedh &të gjitha"
+msgstr "Përzgjidhe &Krejt"
msgid "Select All"
-msgstr "Zgjedh All"
+msgstr "Përzgjidheni Krejt"
#. TRANSLATORS: Keyboard shortcut for display in Windows menus
#. TRANSLATORS: This is the key shortcut used in menus on Windows, some languages call them differently
@@ -355,7 +472,7 @@ msgstr "ENTER"
#. TRANSLATORS: Keyboard shortcut for display in Windows menus
msgid "Up"
-msgstr "Lart"
+msgstr "Up"
#. TRANSLATORS: Keyboard shortcut for display in Windows menus
msgid "Down"
@@ -363,34 +480,31 @@ msgstr "Poshtë"
#. TRANSLATORS: Keyboard shortcut, must correspond to translation of "Ctrl+"
msgid "ctrl"
-msgstr "Ctrl"
+msgstr "ctrl"
#. TRANSLATORS: Keyboard shortcut, must correspond to translation of "Alt+"
msgid "alt"
-msgstr "Alt"
+msgstr "alt"
#. TRANSLATORS: Keyboard shortcut, must correspond to translation of "Shift+"
msgid "shift"
-msgstr "Shift"
+msgstr "shift"
msgid "You can't drop more than one file on Poedit window."
-msgstr "Nuk mund të lëshoni më tepër se një fil në dritaren Poedit."
+msgstr "S’mund të jepni më tepër se një kartelë te dritarja Poedit."
#, c-format
msgid "File '%s' is not a message catalog."
-msgstr "Fili '%s' nuk është një katalog mesazhesh."
-
-msgid "Poedit"
-msgstr "Poedit"
+msgstr "Kartela '%s' s’është katalog mesazhesh."
msgid "&File"
-msgstr "&Filet"
+msgstr "&Kartelë"
msgid "&Go"
msgstr "&Shko"
msgid "Source text:"
-msgstr "Teksti i burimit:"
+msgstr "Teksti burim:"
msgid "Singular:"
msgstr "Njëjës:"
@@ -399,329 +513,352 @@ msgid "Plural:"
msgstr "Shumës:"
msgid "Translation:"
-msgstr "Përkthimi:"
+msgstr "Përkthim:"
+
+msgid "POT files are only templates and don’t contain any translations themselves.\nTo make a translation, create a new PO file based on the template."
+msgstr "Filet POT janë vetëm shabllone dhe nuk përmbajnë ndonjë përkthim të tyre. \n Për të bërë një përkthim, krijo një fil të ri PO, të bazuar mbi shabllonin."
+
+msgid "Create New Translation"
+msgstr "Krijo përkthim të ri"
+
+msgid "Create new translation"
+msgstr "Krijoni përkthim të ri"
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
#, c-format
-msgid ""
-"Spellchecking is disabled, because the dictionary for %s isn’t installed."
-msgstr ""
-"Kontrolli i drejtshkrimit është pasivizuar, sepse fjalori për %s nuk është "
-"instaluar."
+msgid "Spellchecking is disabled, because the dictionary for %s isn’t installed."
+msgstr "Kontrolli i drejtshkrimit është i çaktivizuar, ngaqë fjalori për %s s’është i instaluar."
msgid "Install"
-msgstr "Instalo"
+msgstr "Instaloje"
msgid "Catalog modified. Do you want to save changes?"
-msgstr "Katalogu u ndryshua. Doni të ruani ndryshimet?"
+msgstr "Katalogu u ndryshua. Doni të ruhen ndryshimet?"
msgid "Save changes"
-msgstr "Ruaj ndryshimet"
+msgstr "Ruaji ndryshimet"
msgid "Your changes will be lost if you don't save them."
-msgstr "Ndryshimet tuaja do të humbasin, nëse nuk i ruani ato."
+msgstr "Ndryshimet tuaja do të humbasin, nëse s’i ruani."
msgid "Save"
-msgstr "Ruaj"
+msgstr "Ruaje"
msgid "Don't save"
msgstr "Mos e ruaj"
msgid "Don't Save"
-msgstr "Mos ruaj"
+msgstr "Mos e Ruaj"
msgid "Save as..."
-msgstr "Ruaj si..."
+msgstr "Ruajeni si..."
msgid "Compile to..."
-msgstr "Kompilo tek..."
+msgstr "Përpiloje te..."
msgid "Compiled Translation Files"
-msgstr "Filet e kompiluara të përkthimit"
+msgstr "Kartela Përkthimi të Përpiluara"
msgid "Export as..."
-msgstr "Eksporto si..."
+msgstr "Eksportojeni si..."
msgid "HTML Files"
-msgstr "Filet HTML"
+msgstr "Kartela HTML"
msgid "Open catalog template"
-msgstr "Hap model katalogu"
+msgstr "Hap gjedhe katalogu"
-msgid "POT Translation Templates"
-msgstr "Shabllonet e përkthimit POT"
+msgid "WordPress"
+msgstr "WordPress"
+
+msgid "Analyzing WordPress code..."
+msgstr "Po analizohet kodi WordPress..."
+
+msgid "Select the folder with the WordPress theme or plugin"
+msgstr "Përzgjidhni dosjen me temën ose shtojcën WordPress"
+
+#. TRANSLATORS: %s is name of a WordPress theme
+#, c-format
+msgid "The “%s” theme is compatible."
+msgstr "Tema “%s” është e përputhshme."
+
+#. TRANSLATORS: %s is name of a WordPress plugin
+#, c-format
+msgid "The “%s” plugin is compatible."
+msgstr "Shtojca “%s” është e përputhshme."
+
+msgid "The theme is translation-ready and compatible with Poedit’s WordPress support."
+msgstr "Tema është e gatshme për përkthim dhe e përputhshme me mbulimin e WordPress-it nga Poedit."
+
+msgid "The plugin is translation-ready and compatible with Poedit’s WordPress support."
+msgstr "Shtojca është e gatshme për përkthim dhe e përputhshme me mbulimin e WordPress-it nga Poedit."
msgid "Updating catalog"
-msgstr "Aktualizon katalogun"
+msgstr "Po përditësohet katalogu"
msgid "Source code not available."
-msgstr "Kodi i burimit nuk është i vlefshëm."
+msgstr "Pa kod burim të gatshëm."
msgid "Updating failed"
-msgstr "Aktualizimi dështoi"
+msgstr "Përditësimi dështoi"
-msgid ""
-"Translations couldn’t be updated from the source code, because no code was "
-"found in the location specified in the catalog’s Properties."
-msgstr ""
-"Përkthimet nuk mund të aktualizohen nga kodi i burimit, sepse nuk gjendet "
-"asnjë kod në lokalizimin e specifikuar në Vetitë e katalogut."
+msgid "Translations couldn’t be updated from the source code, because no code was found in the location specified in the catalog’s Properties."
+msgstr "S’u përditësuan dot përkthimet që prej kodit burim, ngaqë s’u gjet kod në vendin e treguar te Vetitë e katalogut."
msgid "Entries in the catalog are probably incorrect."
-msgstr "Hyrjet në katalog mund të jenë jokorrekte."
+msgstr "Ndoshta ka zëra të pasaktë në katalog."
msgid "Updating the catalog failed. Click on 'Details >>' for details."
-msgstr "Aktualizimi i katalogut dështoi. Kliko 'Detajet >>' për më tepër."
+msgstr "Përditësimi i katalogut dështoi. Për hollësi, klikoni te 'Hollësi >>'."
#, c-format
msgid "%d issue with the translation found."
msgid_plural "%d issues with the translation found."
-msgstr[0] "%d problem me përkthimin u gjet."
-msgstr[1] "%d probleme me përkthimin u gjetën."
+msgstr[0] "U gjet %d problem te përkthimi."
+msgstr[1] "U gjetën %d probleme te përkthimi."
msgid "Validation results"
-msgstr "Rezultatet e vlerësimit"
+msgstr "Përfundime vleftësimi"
-msgid ""
-"Entries with errors were marked in red in the list. Details of the error "
-"will be shown when you select such an entry."
-msgstr ""
-"Hyrjet me gabime janë shënuar me të kuqe në listë. Detajet e gabimit do të "
-"shfaqen, kur të keni zgjedhur një hyrje të tillë."
+msgid "Entries with errors were marked in red in the list. Details of the error will be shown when you select such an entry."
+msgstr "Zërat me gabime janë shënuar me të kuqe te lista. Hollësitë e gabimit do të shfaqen pasi të keni përzgjedhur një zë të tillë."
msgid "The file was saved safely."
-msgstr "Fili u ruajt me siguri."
+msgstr "Kartela u ruajt me siguri."
-msgid ""
-"The file was saved safely and compiled into the MO format, but it will "
-"probably not work correctly."
-msgstr ""
-"Fili u ruajt me siguri dhe u përpilua në formatin MO, por mund të mos punojë "
-"saktë."
+msgid "The file was saved safely and compiled into the MO format, but it will probably not work correctly."
+msgstr "Kartela u ruajt me siguri dhe u përpilua nën formatin MO, por sipas gjasash s’do të funksionojë saktësisht."
-msgid ""
-"The file was saved safely, but it cannot be compiled into the MO format and "
-"used."
-msgstr ""
-"Fili u ruajt me siguri, por nuk mynd të përpilohet në formatin MO dhe të "
-"përdoret."
+msgid "The file was saved safely, but it cannot be compiled into the MO format and used."
+msgstr "Kartela u ruajt pa problem, por s’përpilohet dot në formatin MO dhe të përdoret."
-msgid ""
-"The file was compiled into the MO format, but it will probably not work "
-"correctly."
-msgstr "Fili u kompilua në formatin MO, por mund të mos punojë si duhet."
+msgid "The file was compiled into the MO format, but it will probably not work correctly."
+msgstr "Kartela u përpilua nën formatin MO, por sipas gjasash s’do të funksionojë saktësisht."
msgid "The file cannot be compiled into the MO format and used."
-msgstr "Fili nuk mund të kompilohet në formatin MO dhe të përdoret."
+msgstr "Kartela s’përpilohet dot në formatin MO dhe të përdoret."
msgid "No problems with the translation found."
-msgstr "Nuk gjenden probleme me përkthimin."
+msgstr "S’u gjetën probleme me përkthimin."
#, c-format
msgid "The translation is ready for use, but %d entry is not translated yet."
-msgid_plural ""
-"The translation is ready for use, but %d entries are not translated yet."
-msgstr[0] ""
-"Përkthimi është gati për përdorim, por hyrja %d nuk është përkthyer akoma."
-msgstr[1] ""
-"Përkthimi është gati për përdorim, por hyrjet %d nuk janë përkthyer akoma."
+msgid_plural "The translation is ready for use, but %d entries are not translated yet."
+msgstr[0] "Përkthimi është gati për përdorim, por %d zë është ende i papërkthyer."
+msgstr[1] "Përkthimi është gati për përdorim, por %d zëra janë ende të papërkthyer."
msgid "The translation is ready for use."
msgstr "Përkthimi është gati për përdorim."
-msgid "No references to this string found."
-msgstr "Nuk gjenden referenca në këtë varg."
+msgid "Contributing translations improves the quality of online suggestions for everybody — the more people do it, the better the suggestions can be. Your translations are submitted anonymously and are available to other translators using Poedit or other CAT tools."
+msgstr "Kontributi me përkthime përmirëson cilësinë e këshillimeve në linjë për këdo - sa më shumë njerëz ta bëjnë këtë, aq më të mira mund të jenë këshillimet. Përkthimet tuaja parashtrohen në mënyrë anonime dhe janë në dispozicion të përkthyesve të tjerë, që përdorin Poedit-in ose mjete të tjera CAT."
-msgid "Please choose the reference you want to show:"
-msgstr "Ju lutem, zgjedh referencën që doni të shfaqni:"
+msgid "Can Poedit contribute your translations of this file to the online translation memory?"
+msgstr "A mundet Poedit-i t’i japë te kujtesa e përkthimeve në linjë përkthimet tuaja të kësaj kartele?"
-msgid "References"
-msgstr "Referenca"
+msgid "Apply to all files I edit"
+msgstr "Zbatoje mbi krejt kartelat që përpunoj"
+
+msgid "Contribute"
+msgstr "Kontribuoni"
+
+msgid "Keep Private"
+msgstr "Mbaje private"
+
+msgid "Keep private"
+msgstr "Mbaje private"
msgid "Context:"
-msgstr "Konteksti:"
+msgstr "Kontekst:"
+
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr ""
+
+msgid "The file contained duplicate items, which is not allowed in PO files and would prevent the file from being used. Poedit fixed the issue, but you should review translations of any items marked as fuzzy and correct them if necessary."
+msgstr ""
msgid "Language of the translation isn't set."
-msgstr "Nuk është vendosur gjuha e përkthimit."
+msgstr "S’është caktuar gjuha e përkthimit."
msgid "Set Language"
-msgstr "Vendos gjuhën"
+msgstr "Caktoni Gjuhën"
msgid "Set language"
-msgstr "Vendos gjuhën"
+msgstr "Caktoni gjuhën"
-msgid ""
-"This catalog has entries with plural forms, but doesn't have Plural-Forms "
-"header configured."
-msgstr ""
-"Ky katalog ka hyrje me forma shumës, por nuk ka kokë Plural-Forms të "
-"konfiguruar."
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid "Suggestions are not available if the translation language is not set correctly. Other features, such as plural forms, may be affected as well."
+msgstr "Nuk jepen këshillime, nës rast se gjuha e përkthimi nuk është caktuar saktë. Kjo mund të prekë edhe veçori të tjera, format e shumësit, për shembull."
-msgid ""
-"Entries in this catalog have different plural forms count from what "
-"catalog's Plural-Forms header says"
-msgstr ""
-"Hyrjet në këtë katalog kanë numra të formave shumës të ndryshme, nga ajo që "
-"tregohet në kokën Forma-Shumës të katalogut"
+msgid "Language of the translation is the same as source language."
+msgstr "Gjuha e përkthimit është e njëjtë me gjuhën burim."
+
+msgid "Fix Language"
+msgstr "Ndreqeni Gjuhën"
+
+msgid "Fix language"
+msgstr "Ndreqeni gjuhën"
+
+msgid "This catalog has entries with plural forms, but doesn't have Plural-Forms header configured."
+msgstr "Ky katalog ka zëra me forma shumësi, por s’ka fushë Plural-Forms të formësuar."
+
+msgid "Entries in this catalog have different plural forms count from what catalog's Plural-Forms header says"
+msgstr "Zërat në këtë katalog kanë forma shumësi të ndryshme nga çka tregohet te fusha Plural-Forms e katalogut"
msgid "Required header Plural-Forms is missing."
-msgstr "Kërkohet koka Plural-Forms (forma-shumës) që mungon."
+msgstr "I mungon krye e domosdoshme Plural-Forms."
#, c-format
msgid "Syntax error in Plural-Forms header (\"%s\")."
-msgstr "Gabim sintakse në kokën Plural-Forms (\"%s\")."
+msgstr "Gabim sintakse te kryet Plural-Forms (\"%s\")."
msgid "Fix the Header"
-msgstr "Fikso kokën"
+msgstr "Ndreqni Kryet"
msgid "Fix the header"
-msgstr "Fikso kokën"
+msgstr "Ndreqni kryet"
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
#, c-format
msgid "Plural forms expression used by the catalog is unusual for %s."
-msgstr ""
-"Shprehja për format shumës që përdoren nga katalogu është e pazakontë për %s."
+msgstr "Shprehja për forma shumësi e përdorur nga katalogu është e pazakontë për %s."
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
-msgstr "Rishiko"
+msgstr "Shqyrtoni"
#, c-format
msgid "Error loading message catalog file '%s'."
-msgstr "Gabim në ngarkimin e filit të katalogut të mesazhit '%s'."
+msgstr "Gabim në ngarkimin e kartelës katalog mesazhesh '%s'."
#, c-format
msgid "Translated: %d of %d (%d %%)"
-msgstr "Përkthyer: %d nga %d (%d %%)"
+msgstr "Të përkthyera: %d nga %d (%d %%)"
#, c-format
msgid "Remaining: %d"
-msgstr "Mbesin: %d"
+msgstr "Të mbetura: %d"
#, c-format
msgid "%d error"
msgid_plural "%d errors"
-msgstr[0] "%d Fehler"
-msgstr[1] "%d Fehler"
+msgstr[0] "%d gabim"
+msgstr[1] "%d gabime"
+
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] "%d hyrje"
+msgstr[1] "%d hyrje"
msgid " (unsaved)"
-msgstr " (paruajtur)"
+msgstr " (i paruajtur)"
msgid " (modified)"
msgstr " (ndryshuar)"
+#, c-format
+msgid " (beta version expires %s)"
+msgstr " (versioni beta skadon më %s)"
+
msgid "Go"
msgstr "Shko"
#, c-format
msgid "Failed to update translation memory: %s"
-msgstr "Dështoi në aktualizimin e kujtesës së përkthimit: %s"
+msgstr "Dështoi në përditësimin e kujtesës së përkthimeve: %s"
msgid "Purge deleted translations"
-msgstr "Spastro përkthimet e fshira"
+msgstr "Pastroji përkthimet e fshira"
msgid "Do you want to remove all translations that are no longer used?"
-msgstr "Doni të largoni të gjithë përkthimet, që nuk përdoren më?"
+msgstr "Doni të hiqen krejt përkthimet që s’përdoren më?"
-msgid ""
-"If you continue with purging, all translations marked as deleted will be "
-"permanently removed. You will have to translate them again if they are added "
-"back in the future."
-msgstr ""
-"Nëse vazhdoni me spastrimin, të gjitha përkthimet e shënjuara si të fshira, "
-"do të largohen përfundimisht. Do ju duhet t'i përktheni ato përsëri, nëse "
-"shtohen në të ardhmen."
+msgid "If you continue with purging, all translations marked as deleted will be permanently removed. You will have to translate them again if they are added back in the future."
+msgstr "Nëse vazhdoni me spastrimin, krejt përkthimet e shënuara si të fshira do të hiqen përgjithmonë. Do t’ju duhet t’i përktheni sërish, nëse shtohen sërish në të ardhmen."
msgid "Keep"
msgstr "Mbaje"
msgid "Purge"
-msgstr "Spastro"
+msgstr "Spastroji"
msgid "Fill missing translations from TM"
-msgstr "Plotëso përkthimet që mungojnë nga TM"
+msgstr "Përkthimet që mungojnë plotësoji prej TM-je"
msgid "Only fill in exact matches"
-msgstr "Plotëso vetëm përkimet e sakta"
+msgstr "Plotëso vetëm përputhjet e përpikta"
-msgid ""
-"By default, inaccurate results are filled in as well and marked as fuzzy. "
-"Check this option to only include accurate matches."
-msgstr ""
-"Si standard, rezultatet e pasakta plotësohen gjithashtu dhe shënohen si të "
-"paqarta. Kontrollo këtë opsion për të përfshirë vetëm përkime të sakta."
+msgid "By default, inaccurate results are filled in as well and marked as fuzzy. Check this option to only include accurate matches."
+msgstr "Si parazgjedhje, plotësohen edhe përfundimet e pasakta dhe shënohen si të turbullta. I vini shenjë kësaj mundësie që të përfshihen vetëm përputhjet e përshtatshme."
msgid "Don’t mark exact matches as fuzzy"
-msgstr "Mos i shënjo përkimet e sakta si të paqarta"
+msgstr "Përputhjet e sakta mos i shëno si të turbullta"
-msgid ""
-"Only enable if you trust the quality of your TM. By default, all matches "
-"from the TM are marked as fuzzy and should be reviewed."
-msgstr ""
-"Aftëso vetëm nëse besoni cilësinë e TM suaj. Si standard, të gjitha përkimet "
-"nga TM shënjohen si të paqarta dhe duhet të rishikohen."
+msgid "Only enable if you trust the quality of your TM. By default, all matches from the TM are marked as fuzzy and should be reviewed."
+msgstr "Aktivizojeni vetëm nëse besoni në cilësinë e TM-së suaj. Si parazgjedhje, krejt përputhjet prej TM-së shënohen si të turbullta dhe do të duheshin marrë në shqyrtim."
+
+msgid "Use online suggestions"
+msgstr "Përdor sugjerime nëlinjë"
+
+msgid "Use online suggestions (experimental)"
+msgstr "Përdor sugjerime nëlinjë (eksperimentale)"
+
+msgid "Try to fetch translations from the online TM as well. Notice that the translations will not be perfect and will still need to be corrected by a human translator."
+msgstr "Provo të kapësh përkthime nga TM nëlinjë gjithashtu. Vini re se përkthimet nuk do të jenë të përkryer dhe kanë nevojë për korrigjim nga një përkthyes human."
msgid "Fill"
-msgstr "Mbush"
+msgstr "Plotësoje"
#, c-format
msgid "%d entry was filled from the translation memory."
msgid_plural "%d entries were filled from the translation memory."
-msgstr[0] "%d hyrje u plotësua nga kujtesa e përkthimeve."
-msgstr[1] "%d hyrje u plotësuan nga kujtesa e përkthimeve."
+msgstr[0] "%d zë u plotësua nga kujtesa e përkthimeve."
+msgstr[1] "%d zëra u plotësuan nga kujtesa e përkthimeve."
-msgid ""
-"The translations were marked as fuzzy, because they may be inaccurate. You "
-"should review them for correctness."
-msgstr ""
-"Përkthimet janë shënuar si të paqartë, ngaqë mund të jenë të pasaktë. Duhet "
-"t'i rishikoni ato për saktësi."
+msgid "The translations were marked as fuzzy, because they may be inaccurate. You should review them for correctness."
+msgstr "Përkthimet janë shënuar si të turbullt, ngaqë mund të jenë të pasaktë. Do të duhej t’u kontrollonit saktësinë."
msgid "No entries could be filled from the translation memory."
-msgstr "Nuk u mbushën hyrje nga kujtesa e përkthimit."
+msgstr "S’u plotësuan dot zëra prej kujtesës së përkthimit."
-msgid ""
-"The TM doesn’t contain any strings similar to the content of this file. It "
-"is only effective for semi-automatic translations after Poedit learns enough "
-"from files that you translated manually."
-msgstr ""
-"TM nuk përmban ndonjë varg të ngjashëm me përmbajtjen e këtij fili. Është "
-"efektive vetëm për përkthime gjysëm-automatike, pasi Poedit mëson mjaft nga "
-"filet që ju përktheni manualisht."
+msgid "The TM doesn’t contain any strings similar to the content of this file. It is only effective for semi-automatic translations after Poedit learns enough from files that you translated manually."
+msgstr "TM-ja s’përmban ndonjë varg të ngjashëm me lëndën e kësaj kartele. Ka efekt vetëm për përkthime gjysmë të vetvetishme, pasi Poedit grumbullon mjaftueshëm lëndë prej kartelave që përktheni dorazi."
msgid "Translating"
-msgstr "Po përkthen"
+msgstr "Kur përkthehet"
msgid "Filling missing translations from TM..."
-msgstr "Po mbush përkthimet që mungojnë nga TM..."
+msgstr "Përkthimet që mungojnë po plotësohen prej TM-je..."
#, c-format
msgid "Translated %u string"
msgid_plural "Translated %u strings"
-msgstr[0] "Përkthyer %u varg"
-msgstr[1] "Përkthyer %u vargje"
+msgstr[0] "U përkthye %u varg"
+msgstr[1] "U përkthyen %u vargje"
msgid "Copy from source text"
-msgstr "Kopjo nga teksti i burimit"
+msgstr "Kopjoje prej teksti burim"
msgid "Copy from Source Text"
-msgstr "Kopjo nga teksti i burimit"
+msgstr "Kopjoje prej Teksti Burim"
msgid "Clear translation"
-msgstr "Pastro përkthimin"
+msgstr "Pastroje përkthimin"
msgid "Clear Translation"
-msgstr "Pastro përkthimin"
+msgstr "Pastroje Përkthimin"
msgid "Edit comment"
-msgstr "Korrigjo komentin"
+msgstr "Përpunoni koment"
msgid "Edit Comment"
-msgstr "Korrigjo komentin"
+msgstr "Përpunoni Komentin"
msgid "References:"
msgstr "Referenca:"
@@ -731,7 +868,10 @@ msgstr "Gjithçka"
#, c-format
msgid "Form %i"
-msgstr "Formulari %i"
+msgstr "Formular %i"
+
+msgid "Singular"
+msgstr "Njëjës"
msgid "Zero"
msgstr "Zero"
@@ -742,144 +882,222 @@ msgstr "Një"
msgid "Two"
msgstr "Dy"
+msgid "Plural"
+msgstr "Shumës"
+
msgid "Other"
msgstr "Tjetër"
msgid "&Bookmarks"
-msgstr "&Faqeruajtës"
+msgstr "&Faqerojtës"
#, c-format
msgid "Set bookmark %i"
-msgstr "Vendos faqerojtësin %i"
+msgstr "Caktoni faqerojtës %i"
#, c-format
msgid "Go to bookmark %i"
-msgstr "Shko tek faqerojtësi %i"
+msgstr "Shkoni te faqerojtësi %i"
#, c-format
msgid "Set Bookmark %i"
-msgstr "Vendos faqerojtësin %i"
+msgstr "Caktoni Faqerojtës %i"
#, c-format
msgid "Go to Bookmark %i"
-msgstr "Shko tek faqerojtësi %i"
+msgstr "Shkoni te Faqerojtësi %i"
msgid "Hide Sidebar"
-msgstr "Fshe anësoren"
+msgstr "Fshihe Anështyllën"
msgid "Show Sidebar"
-msgstr "Shfaq anësoren"
+msgstr "Shfaqe Anështyllën"
+
+msgid "Hide Status Bar"
+msgstr ""
+
+msgid "Show Status Bar"
+msgstr ""
msgid "Source text"
-msgstr "Teksti i burimit"
+msgstr "Teksti burim"
msgid "Translation"
-msgstr "Përkthimi"
+msgstr "Përkthim"
msgid "ID"
msgstr "ID"
+#, c-format
+msgid "Source text — %s"
+msgstr "Teksti burim — %s"
+
msgid "unknown language"
msgstr "gjuhë e panjohur"
#, c-format
msgid "Translation — %s"
-msgstr "Përkthimi — %s"
+msgstr "Përkthim — %s"
msgid "Error:"
msgstr "Gabim:"
-msgid "Project info"
-msgstr "Info projekti"
+msgid "Source file"
+msgstr "Kartelë burim"
-msgid "Project name and version:"
-msgstr "Emri dhe versioni i projektit:"
+msgid "Source file occurrence:"
+msgstr "Hasje në kartelë burim:"
-msgid "Language:"
-msgstr "Gjuha:"
+msgid "Open in Editor"
+msgstr "Hape në Përpunues"
-msgid "Team:"
-msgstr "Ekipi:"
+msgid "Open in editor"
+msgstr "Hape në përpunues"
-msgid "Team's email address:"
-msgstr "Adresa email e ekipit:"
+msgid "No references for the selected item."
+msgstr "Pa referenca për objektin e përzgjedhur."
-msgid "Charset:"
-msgstr "Seti i karaktereve:"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "Gabim gjatë hapjes së kartelës %s!"
-msgid "Source"
-msgstr "Burimi"
+msgid "Find"
+msgstr "Gjeni"
-msgid "Notes"
-msgstr "Shënime"
+msgid "Replace"
+msgstr "Zëvendësoje"
-msgid "Automatic translation"
-msgstr "Përkthim automatik"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr "Mundësi"
-msgid "Fuzzy translation"
-msgstr "Përkthim i paqartë"
+msgid "Ignore case"
+msgstr "Shpërfille shkrimin me të madhe ose me të vogël"
-msgid "Notes for translators:"
-msgstr "Shënime për përkthyesit:"
+msgid "Wrap around"
+msgstr "Mbështille"
-msgid "Comment:"
-msgstr "Komenti:"
+msgid "Whole words only"
+msgstr "Vetëm fjalë të plota"
-msgid "Source file"
-msgstr "Fili i burimit"
+msgid "Find in source texts"
+msgstr "Gjej tekste burim"
-msgid "Source file occurrence:"
-msgstr "Shfaqje e filit të burimit:"
+msgid "Find in translations"
+msgstr "Gjej në përkthime"
-msgid "Open in Editor"
-msgstr "Hap në Editor"
+msgid "Find in comments"
+msgstr "Gjej te komentet"
-msgid "Open in editor"
-msgstr "Hap në editor"
+msgid "Close"
+msgstr "Mbylle"
-#, c-format
-msgid "Error opening file %s!"
-msgstr "Gabim gjatë hapjes së filit %s!"
+msgid "Replace All"
+msgstr "Zëvendësoji Krejt"
+
+msgid "Replace all"
+msgstr "Zëvendësoji krejt"
+
+msgid "< &Previous"
+msgstr "< I &mëparshmi"
+
+msgid "&Next >"
+msgstr "&Pasuesi >"
+
+msgid "String to find"
+msgstr "Varg për t’u gjetur"
+
+msgid "Replacement string"
+msgstr "Varg zëvendësimi"
#, c-format
msgid "Cannot execute program: %s"
-msgstr "Nuk fillon dot programi: %s"
+msgstr "S’përmbushet dot programi: %s"
msgid "Language Code or Name (e.g. en_GB)"
-msgstr "Kodi ose emri i gjuhës (psh. sq_AL)"
+msgstr "Kod ose Emër Gjuhe (p.sh. sq)"
msgid "Translation Language"
-msgstr "Gjuha e përkthimit"
+msgstr "Gjuhë përkthimi"
msgid "Language of the translation:"
msgstr "Gjuha e përkthimit:"
+msgid "Poedit Registration"
+msgstr "Regjistrim Poedit"
+
+msgid "Name"
+msgstr "Emri"
+
+msgid "License Key"
+msgstr "Kyç Licence"
+
+msgid "The registration key can be used on multiple computers you use personally or for multiple\naccounts on a single computer."
+msgstr "Kyçi i regjistrimit mund të përdoret në shumë kompjutera, që përdorni personalisht\nose për shumë llogari në një kompjuter të vetëm."
+
+msgid "Buy Online..."
+msgstr "Blijeni Në Internet..."
+
+msgid "Buy online..."
+msgstr "Blijeni në internet..."
+
+msgid "Cancel"
+msgstr "Anuloje"
+
+msgid "Register"
+msgstr "Regjistrohuni"
+
+msgid "Your copy is upgraded to Poedit Pro."
+msgstr "Kopja juaj u përmirësua me Poedit Pro."
+
+msgid "You’re awesome! Thank you so much\nfor purchasing Poedit Pro."
+msgstr "Jeni të mrekullueshëm! Shumë faleminderit\nqë bletë Poedit Pro."
+
+msgid "View License Key"
+msgstr "Shihni Kyçin e Licencës"
+
+msgid "View license key"
+msgstr "Shihni kyçin e licencës"
+
+#, c-format
+msgid "Licensed to: %s"
+msgstr "Licencuar për: %s"
+
+msgid "Purchasing the full version will unlock more features\nin this and future versions of Poedit, including:\n\n"
+msgstr "Blerja e versionit të plotë do të zhbllokojë më tepër veçori\nnë këtë dhe në versione të ardhshëm të Poedit-it, përfshi:\n\n"
+
+msgid "Upgrade..."
+msgstr "Përmirësojeni..."
+
+msgid "No, thanks"
+msgstr "Jo, faleminderit"
+
msgid "Poedit - Catalogs manager"
-msgstr "Poedit - menaxheri i katalogëve"
+msgstr "Poedit - Përgjegjës katalogësh"
msgid "Catalog"
-msgstr "Katalogu"
+msgstr "Katalog"
msgid "Total"
-msgstr "Gjithsejt"
+msgstr "Gjithsej"
msgid "Untrans"
-msgstr "Mos-përkthe"
+msgstr "Papërkth"
msgid "Fuzzy"
-msgstr "Paqartë"
+msgstr "I turbullt"
msgid "Bad Tokens"
-msgstr "Shenja të këqia"
+msgstr "Objekte të Gabuar"
msgid "Last modified"
-msgstr "Ndryshuar së fundi"
+msgstr "Ndryshuar së fundmi"
msgid "Select directory"
-msgstr "Zgjedh drejtori"
+msgstr "Përzgjidhni drejtori"
msgid "Directories:"
-msgstr "Drejtoritë:"
+msgstr "Drejtori:"
msgid "<unnamed>"
msgstr "<pa emër>"
@@ -888,142 +1106,133 @@ msgid "Do you want to delete the project?"
msgstr "Doni të fshini projektin?"
msgid "Confirmation"
-msgstr "Konfirmim"
+msgstr "Ripohim"
-msgid ""
-"Do you really want to do mass update of\n"
-"all catalogs in this project?"
-msgstr ""
-"Vërtet doni të bëni aktualizim masiv të\n"
-"të gjithë katalogëve në këtë projekt?"
+msgid "Do you really want to do mass update of\nall catalogs in this project?"
+msgstr "Vërtet doni të bëni përditësim masiv të\nkrejt katalogëve në këtë projekt?"
msgid "Information about the translator"
-msgstr "Informacion rreth përkthyesit"
+msgstr "Të dhëna rreth përkthyesit"
msgid "Name:"
-msgstr "Emri:"
+msgstr "Emër:"
msgid "Your Name"
-msgstr "Emri juaj"
+msgstr "Emri Juaj"
msgid "Email:"
msgstr "Email:"
msgid "your_email at example.com"
-msgstr "emaili_juaj at shembull.com"
+msgstr "email_i_juaj at shembull.com"
-msgid ""
-"Your name and email address are only used to set the Last-Translator header "
-"of GNU gettext files."
-msgstr ""
-"Emri juaj dhe adresa email janë përdorur vetëm për të vendosur kokën "
-"Përkthyesi-Fundit në filet GNU gettext."
+msgid "Your name and email address are only used to set the Last-Translator header of GNU gettext files."
+msgstr "Emri dhe email-i juaj përdoren vetëm për të plotësuar fushën Last-Translator të kartelave GNU gettext."
msgid "Editing"
-msgstr "Korrigjon"
+msgstr "Përpunoni"
msgid "Automatically compile MO file when saving"
-msgstr "Kompilo automatikisht filin MO gjatë ruajtjes"
+msgstr "Gjatë daljes, përpilo vetvetiu kartelën MO"
msgid "Show summary after catalog update"
-msgstr "Shfaq përmbledhjen pas aktualizimit të katalogut"
+msgstr "Pas përditësimesh katalogu, shfaq përmbledhjen"
msgid "Check spelling"
-msgstr "Kontrollo drejtshkrimin"
+msgstr "Kontrolloji drejtshkrimin"
msgid "Always change focus to text input field"
-msgstr "Ndrysho gjithmonë fokusin për fushën e futjes së tekstit"
+msgstr "Ndryshoje përherë fokusin për te fushë futjeje teksti"
-msgid ""
-"Never let the list of strings take focus. If enabled, you must use Ctrl-"
-"arrows for keyboard navigation but you can also type text immediately, "
-"without having to press Tab to change focus."
-msgstr ""
-"Mos e lër kurrë listën e vargjeve të marrë fokusin. Nëse është aktiv, duhet "
-"të përdorni Ctrl-shigjeta për navigim me tastierë, por gjithashtu mund të "
-"shtypni tekst menjëherë, pa qenë nevoja të shtypni Tab për të ndryshuar "
-"fokusin."
+msgid "Never let the list of strings take focus. If enabled, you must use Ctrl-arrows for keyboard navigation but you can also type text immediately, without having to press Tab to change focus."
+msgstr "Mos e lër kurrë listën e vargjeve të kontrollojë fokusin. Nëse është aktiv, duhet të përdorni Ctrl-shigjeta për lëvizje me tastierë, por gjithashtu mund të shtypni tekst përnjëherë, pa qenë nevoja të shtypni Tab për të ndryshuar fokusin."
msgid "Appearance"
-msgstr "Dukshmëria"
+msgstr "Dukje"
msgid "Use custom list font:"
-msgstr "Përdor shkrimin e listave të përshtatura:"
+msgstr "Përdor shkronja të personalizuara liste:"
msgid "Use custom text fields font:"
-msgstr "Përdor shkrimin e fushave të përshtatura të tekstit:"
+msgstr "Përdor shkronjat e personalizuara për fusha tekstesh:"
msgid "Change UI language"
-msgstr "Ndrysho gjuhën UI"
+msgstr "Ndryshoni gjuhën për UI-në"
#. TRANSLATORS: This is a note appended to "Check spelling" when running on older Windows versions
msgid "(requires Windows 8 or newer)"
-msgstr "(kërkon Windows 8 ose më të ri)"
+msgstr "(lyp Windows 8 ose më të ri)"
msgid "General"
-msgstr "E përgjithshme"
+msgstr "Të përgjithshme"
msgid "Use translation memory"
-msgstr "Përdor kujtesën e përkthimeve"
+msgstr "Përdor kujtesë përkthimesh"
msgid "Learn From Files..."
-msgstr "Mëso nga filet..."
+msgstr "Mëso Prej Kartelave..."
msgid "Learn from files..."
-msgstr "Mëso nga filet..."
+msgstr "Mëso prej kartelave..."
#. TRANSLATORS: This is a button that deletes everything in the translation memory (i.e. clears/resets it).
msgid "Reset"
-msgstr "Rivendos"
+msgstr "Zeroje"
msgid "Consult TM when updating from sources"
-msgstr "Këshillo TM, kur aktualizon nga burimet"
+msgstr "Këshillohu me TM-në, kur përditëson nga burime"
-msgid ""
-"If enabled, Poedit will try to fill in new entries using your previous\n"
-"translations stored in the translation memory. If the TM is\n"
-"near-empty, it will not be very effective. The more translations\n"
-"you edit and the larger the TM grows, the better it gets."
+msgid "If enabled, Poedit will try to fill in new entries using your previous\ntranslations stored in the translation memory. If the TM is\nnear-empty, it will not be very effective. The more translations\nyou edit and the larger the TM grows, the better it gets."
+msgstr "Në u aktivizoftë, Poedit do të provojë t’i plotësojë zërat e rinj duke\npërdorur përkthimet tuaja të mëparshme të depozituara te kujtesa e\npërkthimeve. Nëse TM-ja është thuajse e zbrazët, kjo s’do të ketë\nvlerë kushedi. Sa më shumë përkthime përpunoni, aq më shumë\nrritet TM-ja, dhe aq më e mirë bëhet."
+
+msgid "Use suggestions from online collaborative TM"
+msgstr "Përdor sugjerimet nga TM bashkëpunuese në linjë"
+
+msgid "Poedit uses a large online translation memory that includes both contributed human translations and state-of-the-art machine translations."
+msgstr "Poedit përdor një kujtesë të madhe përkthimi në linjë, që përfshin si përkthime të parashtruara nga njeriu, ashtu edhe përkthime të automatizuara algoritmesh të fjalës së fundit."
+
+msgid "Contribute my translations to the online TM"
+msgstr "Kontribuo përkthimet e mia te TM-ja në linjë"
+
+msgid "Keep my translations private"
+msgstr "Përkthimet e mia mbaji private"
+
+msgid "Ask me for each file individually"
msgstr ""
-"Nëse aftësohet, Poedit do të provojë të plotësojë hyrjet e reja me anë të\n"
-"përkthimeve të mëparshme, të depozituara në kujtesën e përkthimeve.\n"
-"Nëse TM (kujtesa e përkthimit) është e zbrazët, kjo nuk do të ketë ndonjë\n"
-"efekt. Sa më shumë përkthime të korrigjoni, aq më shumë do të rritet TM\n"
-"dhe aq më e mirë do të bëhet."
+
+msgid "Terms of Service"
+msgstr "Kushtet e Shërbimit"
+
+#. TRANSLATORS: This is part of footer that says in full "powered by MyMemory", with the MyMemory part being a logo
+msgid "powered by"
+msgstr "mundësuar nga"
msgid "Stored translations:"
msgstr "Përkthime të depozituara:"
msgid "Database size on disk:"
-msgstr "Madhësia e databazës në disk:"
+msgstr "Madhësi baze të dhënash në disk:"
msgid "Select translation files to import"
-msgstr "Zgjedh filet e përkthimit për import"
+msgstr "Përzgjidhni kartela përkthimi për importim"
msgid "Translation Memory"
-msgstr "Kujtesa e përkthimit"
+msgstr "Kujtesë Përkthimesh"
msgid "Importing translations..."
msgstr "Po importohen përkthimet..."
msgid "Finalizing..."
-msgstr "Po përfundon..."
+msgstr "Po përfundohet..."
msgid "Reset translation memory"
-msgstr "Rivendos kujtesën e përkthimit"
+msgstr "Të zerohet kujtesa e përkthimeve"
msgid "Are you sure you want to reset the translation memory?"
-msgstr "A jeni i sigurt se doni të rivendosni kujtesën e përkthimit?"
+msgstr "Jeni i sigurt se doni të zerohet kujtesa e përkthimeve?"
-msgid ""
-"Resetting the translation memory will irrevocably delete all stored "
-"translations from it. You can’t undo this operation."
-msgstr ""
-"Rivendosja e kujtesës së përkthimit do të fshijë në mënyrë të pakthyeshme të "
-"gjitha përkthimet e ruajtura në të. Ky veprim nuk mund të rikthehet."
-
-msgid "Cancel"
-msgstr "Anulo"
+msgid "Resetting the translation memory will irrevocably delete all stored translations from it. You can’t undo this operation."
+msgstr "Zerimi i kujtesës së përkthimit do të fshijë pa prapakthim prej saj krejt përkthimet e depozituara në të. Këtë veprim s’mund ta zhbëni."
#. TRANSLATORS: This is abbreviation of "Translation Memory" used in Preferences on OS X.
#. Long text looks weird there, too short (like TM) too, but less so. "General" is about ideal
@@ -1031,662 +1240,851 @@ msgstr "Anulo"
msgid "TM"
msgstr "KP"
-msgid ""
-"Source code extractors are used to find translatable strings in the source "
-"code files and extract them so that they can be translated."
-msgstr ""
-"Depaketuesit e kodit të burimit janë përdorur për të gjetur vargjet e "
-"përkthyeshme në kodin e burimit dhe depaketimin e tyre, në mënyrë që të mund "
-"përkthehen."
+msgid "Source code extractors are used to find translatable strings in the source code files and extract them so that they can be translated."
+msgstr "Përftuesit prej kodi burim përdoren për të gjetur vargje të përkthyeshme në kartela kodi burim dhe për t’i përftuar ato që të mund të përkthehen."
msgid "New"
msgstr "I ri"
msgid "Edit"
-msgstr "Korrigjo"
+msgstr "Përpunoni"
+
+msgid "Delete extractor"
+msgstr "Fshije përftuesin"
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr "Jeni i sigurt se doni të fshihet përftuesi “%s”?"
msgid "Extractors"
-msgstr "Depaketuesit"
+msgstr "Përftues"
+
+msgid "Accounts"
+msgstr "Llogari"
msgid "Automatically check for updates"
-msgstr "Kontrollo automatikisht për aktualizime"
+msgstr "Kontrollo vetvetiu për përditësime"
msgid "Include beta versions"
-msgstr "Përfshij versionet beta"
+msgstr "Përfshi versione beta"
-msgid ""
-"Beta versions contain the latest new features and improvements, but may be a "
-"bit less stable."
-msgstr ""
-"Versionet Beta përmbajnë tiparet dhe përmirësimet më të fundit, por mund të "
-"jenë disi jo stabile."
+msgid "Beta versions contain the latest new features and improvements, but may be a bit less stable."
+msgstr "Versionet beta përmbajnë veçoritë dhe përmirësimet më të reja, por mund të jenë më pak të qëndrueshme."
msgid "Updates"
-msgstr "Aktualizime"
+msgstr "Përditësime"
-msgid ""
-"These settings affect internal formatting of PO files. Adjust them if you "
-"have specific requirements e.g. because of version control."
-msgstr ""
-"Këto rregullime ndikojnë formatimin e brendshëm të fileve PO. Rregulloj ato "
-"nëse keni kërkesa specifike dmth. për arsye të kontrollit të versionit."
+msgid "These settings affect internal formatting of PO files. Adjust them if you have specific requirements e.g. because of version control."
+msgstr "Këto rregullime prekin formatim të brendshëm të kartelave PO. Prekini nëse keni domosdoshmëri specifike, p.sh. për shkak sistemi kontrolli versionesh."
msgid "Line endings:"
-msgstr "Përfundimet e linjave:"
+msgstr "Fundesh rreshtash:"
msgid "Unix (recommended)"
-msgstr "Unix (rekomandohet)"
+msgstr "Unix (e këshillueshme)"
msgid "Windows"
msgstr "Windows"
#. TRANSLATORS: Followed by text control for entering number; wraps text at given width
msgid "Wrap at:"
-msgstr "Mbërthe në:"
+msgstr "Mbështille në gjatësinë:"
msgid "Preserve formatting of existing files"
-msgstr "Ruaj formatimin e fileve ekzistues"
+msgstr "Ruaje formatimin e kartelave ekzistuese"
msgid "Advanced"
-msgstr "Avancuar"
+msgstr "Të mëtejshme"
+
+msgid "Add Files..."
+msgstr ""
+
+msgid "Add files..."
+msgstr ""
+
+msgid "Add Folders..."
+msgstr ""
+
+msgid "Add folders..."
+msgstr ""
+
+msgid "Add Wildcard..."
+msgstr ""
+
+msgid "Add wildcard..."
+msgstr ""
+
+msgid "<big>Drag and Drop Folders Here</big>\n\nor use the + button"
+msgstr ""
+
+msgid "<big>Drag and drop folders here</big>\n\nor use the + button"
+msgstr ""
msgid "Additional keywords"
-msgstr "Fjalë kyçe shtesë"
+msgstr "Fjalëkyçe shtesë"
msgid "Paths"
-msgstr "Rrugët"
+msgstr "Shtigje"
msgid "Excluded paths"
-msgstr "Rrugët e përjashtuara"
+msgstr "Shtigje të përjashtuar"
msgid "Name of the project the translation is for"
msgstr "Emri i projektit për të cilin bëhet përkthimi"
msgid "e.g. nplurals=2; plural=(n > 1);"
-msgstr "psh. nplurals=2; plural=(n > 1);"
+msgstr "p.sh. nplurals=2; plural=(n > 1);"
msgid "UTF-8 (recommended)"
-msgstr "UTF-8 (rekomandohet)"
+msgstr "UTF-8 (e këshillueshme)"
msgid "Please save the file first. This section cannot be edited until then."
-msgstr ""
-"Ju lutem, ruaj filet si fillim. Ky seksion nuk mund të korrigjohet deri "
-"atëherë."
+msgstr "Ju lutemi, së pari ruajeni kartelën. Kjo pjesë s’mund të përpunohet para kësaj."
+
+msgid "Comment:"
+msgstr "Koment:"
msgid "OK"
msgstr "OK"
msgid "C&lear"
-msgstr "Pa&stro"
+msgstr "&Pastroje"
msgid "Clear the comment"
-msgstr "Pastro komentin"
-
-msgid "Find..."
-msgstr "Gjej..."
-
-msgid "String to find:"
-msgstr "Vargu që kërkohet:"
-
-msgid "Case sensitive"
-msgstr "Kasë sensitive"
-
-msgid "Start from the first item"
-msgstr "Fillo nga njësia e parë"
-
-msgid "Whole words only"
-msgstr "Vetëm fjalë të plota"
-
-msgid "Find in original strings"
-msgstr "Gjej në vargjet origjinale"
-
-msgid "Find in translations"
-msgstr "Gjej në përkthime"
-
-msgid "Find in comments"
-msgstr "Gjej në komente"
-
-msgid "Find in automatic comments"
-msgstr "Gjej në komentet automatike"
-
-msgid "Close"
-msgstr "Mbyll"
-
-msgid "< &Previous"
-msgstr "< &Prapa"
-
-msgid "&Next >"
-msgstr "&Tjetër >"
+msgstr "Pastroje komentin"
msgid "Create new translations project"
-msgstr "Krijo projekt të ri përkthimi"
+msgstr "Krijoni projekt të ri përkthimi"
msgid "Edit the project"
-msgstr "Korrigjo projektin"
+msgstr "Përpunoni projektin"
msgid "Delete the project"
-msgstr "Fshij projektin"
+msgstr "Fshije projektin"
msgid "Update all"
-msgstr "Aktualizo të gjithë"
+msgstr "Përditësoji të tëra"
msgid "Update all catalogs in the project"
-msgstr "Aktualizo të gjithë katalogët në projekt"
+msgstr "Përditëso tërë katalogët në projekt"
msgid "Edit project"
-msgstr "Korrigjo projektin"
+msgstr "Përpunoni projekt"
msgid "Project name:"
-msgstr "Emri i projektit:"
+msgstr "Emër projekti:"
msgid "Browse"
-msgstr "Shfleto"
+msgstr "Shfletoni"
msgid "Add directory to the list"
-msgstr "Shto dosje tek lista"
+msgstr "Shtoni drejtori te lista"
msgid "&Preferences..."
-msgstr "&Preferencat..."
+msgstr "&Parapëlqime..."
msgid "&Close"
-msgstr "&Mbyll"
+msgstr "&Mbylle"
msgid "E&xit"
-msgstr "&Dalje"
-
-msgid "Quit"
-msgstr "Dalje"
+msgstr "&Dil"
msgid "&New..."
msgstr "I &ri..."
msgid "New from &POT/PO file..."
-msgstr "I ri nga fili &POT/PO..."
+msgstr "I ri prej kartele &POT/PO..."
msgid "New From &POT/PO File..."
-msgstr "I ri nga fili &POT/PO..."
+msgstr "I Ri Prej Kartele &POT/PO..."
+
+msgid "New WordPress translation..."
+msgstr "Përkthim i ri WordPress..."
+
+msgid "New WordPress Translation..."
+msgstr "Përkthim i Ri WordPress-i..."
msgid "&Open..."
-msgstr "&Hap..."
+msgstr "&Hapni..."
msgid "Open Recent"
-msgstr "Hap të fundit"
+msgstr "Hap Më të Fundit"
+
+msgid "Open from Crowdin..."
+msgstr "Hapeni prej Crowdin-i..."
+
+msgid "Open From Crowdin..."
+msgstr "Hapeni Prej Crowdin-i..."
msgid "&Save"
-msgstr "&Ruaj"
+msgstr "&Ruaje"
msgid "Save &as..."
-msgstr "Ruaj &si..."
+msgstr "Ruajeni &si..."
msgid "Save &As..."
-msgstr "Ruaj &si..."
+msgstr "Ruajeni &Si..."
msgid "Compile to MO..."
-msgstr "Kompilo tek MO..."
+msgstr "Përpiloje si MO..."
msgid "E&xport as HTML..."
-msgstr "&Eksporto si HTML..."
+msgstr "&Eksportojeni si HTML..."
msgid "Check for updates..."
-msgstr "Kontrollo për aktualizime..."
+msgstr "Kontrollo për përditësime..."
+
+msgid "&License..."
+msgstr "&Licencë..."
msgid "Catalogs &manager"
-msgstr "&Menaxher katalogësh"
+msgstr "&Përgjegjës katalogësh"
msgid "Catalogs &Manager"
-msgstr "&Menaxher katalogësh"
+msgstr "&Përgjegjës Katalogësh"
msgid "Translation is &fuzzy"
-msgstr "Përkthimi është i &paqartë"
+msgstr "Përkthimi është i &turbullt"
msgid "Translation Is &Fuzzy"
-msgstr "Përkthimi është i &paqartë"
+msgstr "Përkthimi Është i &Turbullt"
msgid "Edit &comment"
-msgstr "Korrigjo &komentin"
+msgstr "Përpunoni &koment"
msgid "Edit &Comment"
-msgstr "Korrigjo &komentin"
+msgstr "Përpunoni &Komentin"
msgid "Suggestions"
-msgstr "Sugjerime"
+msgstr "Këshillime"
msgid "&Show references"
-msgstr "&Shfaq referencat"
+msgstr "&Shfaq referenca"
msgid "&Show References"
-msgstr "&Shfaq referencat"
+msgstr "&Shfaq Referenca"
msgid "&Find..."
-msgstr "&Gjej..."
+msgstr "&Gjeni..."
+
+msgid "Replace..."
+msgstr "Zëvendësoni..."
msgid "Find next"
-msgstr "Gjej tjetrin"
+msgstr "Gjej pasuesin"
msgid "Find previous"
-msgstr "Gjej përpara"
+msgstr "Gjej të mëparshmin"
-msgid "Find"
-msgstr "Gjej"
+msgid "Find and Replace..."
+msgstr "Gjeni dhe Zëvendësoni..."
msgid "Find Next"
-msgstr "Gjej tjetrin"
+msgstr "Gjej Pasuesin"
msgid "Find Previous"
-msgstr "Gjej përpara"
+msgstr "Gjej të Mëparshmin"
msgid "&Preferences"
-msgstr "&Preferencat"
+msgstr "&Parapëlqime"
msgid "Display entry &IDs"
-msgstr "Shfaq &ID të hyrjeve"
+msgstr "Shfaq &ID zërash"
msgid "Display Entry &IDs"
-msgstr "Shfaq &ID të hyrjeve"
+msgstr "Shfaq &ID Zërash"
msgid "Sort by &file order"
-msgstr "Rendit sipas &fileve"
+msgstr "Renditi sipas rendi &kartelash"
msgid "Sort by &File Order"
-msgstr "Rendit sipas &fileve"
+msgstr "Renditi sipas Rendi &Kartelash"
msgid "Sort by &source"
-msgstr "Rendit sipas &burimit"
+msgstr "Renditi sipas &burimesh"
msgid "Sort by &Source"
-msgstr "Rendit sipas &burimit"
+msgstr "Renditi sipas &Burimesh"
msgid "Sort by &translation"
-msgstr "Rendit sipas &përkthimit"
+msgstr "Renditi sipas &përkthimesh"
msgid "Sort by &Translation"
-msgstr "Rendit sipas &përkthimit"
+msgstr "Renditi sipas &Përkthimesh"
msgid "&Group by context"
-msgstr "&Grupo sipas përmbajtjes"
+msgstr "&Grupoji sipas kontekstit"
msgid "&Group By Context"
-msgstr "&Grupo sipas përmbajtjes"
+msgstr "&Grupoji Sipas Kontekstit"
+
+msgid "Entries with errors first"
+msgstr "Së pari zërat me gabime"
+
+msgid "Entries with Errors First"
+msgstr "Së Pari Zërat me Gabime"
msgid "&Untranslated entries first"
-msgstr "&Hyrjet e papërkthyera në fillim"
+msgstr "Së pari zërat e &papërkthyer"
msgid "&Untranslated Entries First"
-msgstr "&Hyrjet e papërkthyera në fillim"
+msgstr "Së Pari Zërat e &Papërkthyer"
msgid "Show sidebar"
-msgstr "Shfaq anësoren"
+msgstr "Shfaq anështyllë"
+
+msgid "Show status bar"
+msgstr ""
msgid "C&atalog"
-msgstr "&Katalogu"
+msgstr "&Katalog"
msgid "&Update from sources"
-msgstr "&Aktualizo nga burimet"
+msgstr "&Përditëso prej burimesh"
msgid "&Update from Sources"
-msgstr "&Aktualizo nga burimet"
+msgstr "&Përditësoji prej Burimesh"
msgid "Update from &POT file..."
-msgstr "Aktualizo nga fili &POT..."
+msgstr "Përditësojeni prej kartele &POT..."
msgid "Update from &POT File..."
-msgstr "Aktualizo nga fili &POT..."
+msgstr "Përditësojeni prej Kartele &POT..."
+
+msgid "Sync with Crowdin"
+msgstr "Njëkohësoje me Crowdin-in"
msgid "Fill missing translations from &TM..."
-msgstr "Plotëso përkthimet që mungojnë nga &TM..."
+msgstr "Përkthimet që mungojnë plotësoji prej &TM-je..."
msgid "Fill Missing Translations from &TM..."
-msgstr "Plotëso përkthimet që mungojnë nga &TM..."
+msgstr "Përkthimet Që Mungojnë Plotësoji prej &TM-je..."
msgid "&Purge deleted translations"
-msgstr "&Zbraz përkthimet e fshira"
+msgstr "&Pastroji përkthimet e fshira"
msgid "&Purge Deleted Translations"
-msgstr "&Zbraz përkthimet e fshira"
+msgstr "&Spastroji Përkthimet e Fshira"
msgid "&Validate translations"
-msgstr "&Vlerëso përkthimet"
+msgstr "&Vleftësoni përkthime"
msgid "&Validate Translations"
-msgstr "&Vlerëso përkthimet"
+msgstr "&Vleftësoni Përkthime"
+
+msgid "&Statistics"
+msgstr "&Statistika"
msgid "&Properties..."
-msgstr "&Vetitë..."
+msgstr "&Veti..."
msgid "&Done and next"
-msgstr "&U krye dhe tjetri"
+msgstr "&U bë, tjetri"
msgid "&Done and Next"
-msgstr "&U krye dhe tjetri"
+msgstr "&U bë, Tjetri"
msgid "&Previous translation"
-msgstr "&Përkthimi më përpara"
+msgstr "Përkthimi i &mëparshëm"
msgid "&Previous Translation"
-msgstr "&Përkthimi më përpara"
+msgstr "Përkthimi i &Mëparshëm"
msgid "&Next translation"
-msgstr "&Përkthimi tjetër"
+msgstr "Përkthimi &pasues"
msgid "&Next Translation"
-msgstr "&Përkthimi tjetër"
+msgstr "Përkthimi &Pasues"
msgid "P&revious unfinished"
-msgstr "&Prapa i papërfunduar"
+msgstr "I më&parshmi i pambaruar"
msgid "P&revious Unfinished"
-msgstr "&Prapa i papërfunduar"
+msgstr "I më&parshmi i Pambaruar"
msgid "Ne&xt unfinished"
-msgstr "&Tjetër i papërfunduar"
+msgstr "I pambaruari pas&ues"
msgid "Ne&xt Unfinished"
-msgstr "&Tjetër i papërfunduar"
+msgstr "I pambaruari Pas&ues"
msgid "&Online help"
-msgstr "&Ndihmë nëlinjë"
+msgstr "Ndihmë në &internet"
msgid "&Online Help"
-msgstr "&Ndihmë nëlinjë"
+msgstr "Ndihmë Në &Internet"
msgid "&GNU gettext manual"
-msgstr "Manuali &GNU gettext"
+msgstr "Doracaku &GNU gettext"
msgid "&GNU gettext Manual"
-msgstr "Manuali &GNU gettext"
+msgstr "Doracaku &GNU gettext"
+
+msgid "Email &support..."
+msgstr "&Asistencë me email..."
+
+msgid "Email &Support..."
+msgstr "&Asistencë Me Email..."
msgid "&About Poedit"
-msgstr "&Rreth Poedit"
+msgstr "&Mbi Poedit-in"
msgid "&About"
-msgstr "&Rreth"
+msgstr "&Mbi"
msgid "Extractor setup"
-msgstr "Rregullimi i depaketuesit"
+msgstr "Rregullim i përftuesit"
msgid "List of extensions separated by semicolons (e.g. *.cpp;*.h):"
-msgstr "Listë e zgjatimeve, e ndarë me pikëpresje (psh. *.cpp;*.h):"
+msgstr "Listë e zgjatimeve të ndarë me pikëpresje (p.sh. *.cpp;*.h):"
msgid "Invocation:"
msgstr "Thirrje:"
msgid "Command to extract translations:"
-msgstr "Komanda për depaketimin e përkthimeve:"
+msgstr "Urdhër për përftim përkthimesh:"
-msgid ""
-"This is the command used to launch the extractor.\n"
-"%o expands to the name of output file, %K to list\n"
-"of keywords, %F to list of input files,\n"
-"%C to charset flag (see below)."
-msgstr ""
-"Kjo është komanda që përdoret për të nisur depaketuesin.\n"
-"%o zgjeron tek emri i filit të rezultatit, %K në listën\n"
-"e fjalëve kyçe, %F në listën e fileve të futura,\n"
-"%C në flamurin e setit të karaktereve (shiko më poshtë)."
+msgid "This is the command used to launch the extractor.\n%o expands to the name of output file, %K to list\nof keywords, %F to list of input files,\n%C to charset flag (see below)."
+msgstr "Ky urdhër përdorej për të nisur përtypësin.\n%o bëhet emri i kartelës përfundim, %K lista\ne fjalëkyçeve, %F lista e kartelave hyrëse,\n%C simboli i shkronjave (shihni më poshtë)."
msgid "An item in keywords list:"
-msgstr "Një njësi në listën e fjalëve kyçe:"
+msgstr "Një përbërës në listë fjalëkyçesh:"
-msgid ""
-"This will be attached to the command line once\n"
-"for each keyword. %k expands to the keyword."
-msgstr ""
-"Kjo do të bashkëngjitet tek linja e komandës një herë\n"
-"për secilën fjalë kyçe. %k zgjerohet tek fjala kyçe."
+msgid "This will be attached to the command line once\nfor each keyword. %k expands to the keyword."
+msgstr "Kjo do të shtohet te urdhër rreshti njëherë\npër çdo fjalëkyç. %k bëhet vlerë për fjalëkyç."
msgid "An item in input files list:"
-msgstr "Një njësi në listën e futjes së fileve:"
+msgstr "Një përbërës në një listë futje kartelash:"
#, c-format
-msgid ""
-"This will be attached to the command line once\n"
-"for each input file. %f expands to the filename."
-msgstr ""
-"Kjo do të bashkëngjitet tek linja e komandës një herë\n"
-"për secilin fil të futur. %f zgjerohet tek emri i filit."
+msgid "This will be attached to the command line once\nfor each input file. %f expands to the filename."
+msgstr "Kjo do të shtohet te urdhër rreshti njëherë\npër çdo kartelë hyrje. %f bëhet emër kartele."
msgid "Source code charset:"
-msgstr "Seti i karaktereve të kodit të burimit:"
+msgstr "Shkronja kodi burim:"
#, c-format
-msgid ""
-"This will be attached to the command line\n"
-"only if source codecharset was given. %c expands to charset value."
-msgstr ""
-"Kjo do të bashkëngjitet tek linja e komandës\n"
-"vetëm nëse burimi i setit të kodit të karaktereve është dhënë.\n"
-" %c zgjerohet në vlerën e setit të karaktereve."
+msgid "This will be attached to the command line\nonly if source codecharset was given. %c expands to charset value."
+msgstr "Kjo do të shtohet te urdhër rreshti\nvetëm nëse është dhënë kod shkronjash burimi. %c bëhet vlerë për shkronjat."
msgid "Catalog properties"
-msgstr "Vetitë e katalogut"
+msgstr "Veti katalogu"
+
+msgid "Project name and version:"
+msgstr "Emër dhe version projekti:"
msgid "Plural Forms:"
-msgstr "Format shumës:"
+msgstr "Forma Shumësi:"
msgid "Use default rules for this language"
-msgstr "Përdor rregullat standarde për këtë gjuhë"
+msgstr "Për këtë gjuhë përdor rregullat parazgjedhje"
msgid "Use custom expression"
-msgstr "Përdor shprehje të përshtatura"
+msgstr "Përdor shprehje të personalizuar"
msgid "Learn about plural forms"
-msgstr "Mëso më tepër rreth formave shumës"
+msgstr "Mësoni më tepër rreth formash shumësi"
+
+msgid "Charset:"
+msgstr "Shkronja:"
+
+msgid "Team:"
+msgstr "Ekipi:"
+
+msgid "Team's email address:"
+msgstr "Adresë email e ekipit:"
msgid "Translation properties"
-msgstr "Vetitë e përkthimit"
+msgstr "Veti përkthimesh"
msgid "Extract text from source files in the following directories:"
-msgstr "Nxjerr tekstin nga filet e burimit, në dosjet që vijojnë:"
+msgstr "Përfto tekst prej kartelash burim nga drejtoritë vijuese:"
msgid "Base path:"
-msgstr "Rruga bazë:"
+msgstr "Shteg bazë:"
msgid "Sources paths"
-msgstr "Rrugët e burimeve"
+msgstr "Shtigje burimesh"
-msgid ""
-"Use these keywords (function names) to recognize translatable strings\n"
-"in source files:"
-msgstr ""
-"Përdor fjalët kyçe (emra funksionesh), për të dalluar vargjet e "
-"përkthyeshme\n"
-"në filet e burimt:"
+msgid "Use these keywords (function names) to recognize translatable strings\nin source files:"
+msgstr "Përdorini këta fjalëkyçe (emra funksionesh) për të dalluar vargje të përkthyeshëm\nte kartelat burim:"
msgid "Learn about gettext keywords"
-msgstr "Mëso rreth fjalëve kyçe gettext"
+msgstr "Mësoni rreth fjalëkyçeve gettext"
msgid "Sources keywords"
-msgstr "Fjalët kyçe të burimeve"
+msgstr "Fjalëkyçe burimesh"
msgid "Update summary"
-msgstr "Aktualizo përmbledhjen"
+msgstr "Përditëso përmbledhjen"
-msgid ""
-"These strings were found in the sources but were not in the catalog.\n"
-"Poedit will add them to the catalog now."
-msgstr ""
-"Këto vargje u gjetën në burime, por nuk janë në katalog.\n"
-"Poedit do t'i shtojë ato te katalogu tani."
+msgid "These strings were found in the sources but were not in the catalog.\nPoedit will add them to the catalog now."
+msgstr "Këto vargje u gjetën në burime por s’qenë te katalogu.\nPoedit do t’i shtojë te katalogu tani."
msgid "New strings"
msgstr "Vargje të rinj"
-msgid ""
-"These strings are no longer in the sources.\n"
-"Poedit will remove them from the catalog now."
-msgstr ""
-"Këto vargje nuk janë më në burime.\n"
-"Poedit do t'i largojë ato nga katalogu tani."
+msgid "These strings are no longer in the sources.\nPoedit will remove them from the catalog now."
+msgstr "Këto vargje s’janë më në burime.\nPoedit do t’i heqë prej katalogut tani."
msgid "Obsolete strings"
-msgstr "Vargje të vjetëruar"
+msgstr "Vargje të vjetruar"
msgid "(0 new, 0 obsolete)"
-msgstr "(0 të rinj, 0 të vjetëruar)"
+msgstr "(0 të rinj, 0 të vjetruar)"
msgid "Open"
-msgstr "Hap"
+msgstr "Hape"
msgid "Save catalog"
-msgstr "Ruaj katalogun"
+msgstr "Ruaje katalogun"
msgid "Validate"
-msgstr "Vlerëso"
+msgstr "Vleftësoje"
msgid "Check for errors in the translation"
-msgstr "Kontrollo për gabime në përkthim"
+msgstr "Kontrolloni për gabime te përkthimi"
+
+msgid "Statistics"
+msgstr "Statistika"
+
+msgid "Show translation statistics"
+msgstr "Shfaq statistikat e përkthimit"
msgid "Update"
-msgstr "Aktualizo"
+msgstr "Përditësoje"
msgid "Update catalog - synchronize it with sources"
-msgstr "Aktualizo katalogun - sinkronizoje atë me burimet"
+msgstr "Përditëso katalogun - njëkohësoje me burimet"
msgid "Toggled if selected string has fuzzy translation"
-msgstr "Shkëmbehet nëse vargu i zgjedhur ka përkthim të paqartë"
+msgstr "I shtypur nëse vargu i përzgjedhur ka përkthim të turbullt"
+
+msgid "Sidebar"
+msgstr "Anështyllë"
-msgid "Show or hide the sidebar."
-msgstr "Shfaq ose fsheh anësoren."
+msgid "Show or hide the sidebar"
+msgstr "Shfaqni ose fshihni anështyllën"
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
msgid "Previous source text:"
-msgstr "Teksti i burimit të mëparshëm:"
+msgstr "Teksti burim i dikurshëm:"
-msgid ""
-"The old source text (before it changed during an update) that the fuzzy "
-"translation corresponds to."
-msgstr ""
-"Teksti i vjetër i burimit (para se të ndryshonte nga një aktualizim) të "
-"cilit i korresspondon përkthimi i paqartë."
+msgid "The old source text (before it changed during an update) that the fuzzy translation corresponds to."
+msgstr "Teksti burim i vjetër (përpara se të ndryshohej gjatë përditësimit) të cilit i përshoqërohet përkthimi i turbullt."
+
+msgid "Notes for translators:"
+msgstr "Shënime për përkthyesit&:"
msgid "Add comment"
-msgstr "Shto koment"
+msgstr "Shtoje koment"
msgid "Add Comment"
-msgstr "Shto koment"
+msgstr "Shtoni Koment"
+
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(from your TM)"
+msgstr "(nga TM-ja juaj)"
+
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(machine translation)"
+msgstr "(përkthim nga makina)"
+
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(human translation)"
+msgstr "(përkthim nga dikush)"
msgid "Translation suggestions:"
-msgstr "Sugjerime përkthimi:"
+msgstr "Këshillime përkthimi:"
#. TRANSLATORS: This is shown when no translation suggestions can be found in the TM (Windows).
msgid "No matches found"
-msgstr "Nuk gjenden përkime"
+msgstr "S’u gjetën përputhje"
#. TRANSLATORS: This is shown when no translation suggestions can be found in the TM (OS X, Linux).
msgid "No Matches Found"
-msgstr "Nuk gjenden përkime"
+msgstr "S’u Gjetën Përputhje"
msgid "This string was found in Poedit’s translation memory."
-msgstr "Ky varg u gjet në kujtesën e përkthimit të Poedit."
+msgstr "Ky varg u gjet në kujtesën a e përkthimeve të Poedit-it."
+
+msgid "This suggestion was contributed by another translator to the online TM."
+msgstr "Ky sugjerim qe kontribut nga një përkthyes tjetër për TM-në në linjë."
+
+msgid "This suggestion was machine-translated online."
+msgstr "Ky sugjerim është përkthim nga makina, në linjë."
+
+#, c-format
+msgid "%d out of %d online suggestion left."
+msgid_plural "%d out of %d online suggestions left."
+msgstr[0] "Edhe %d nga %d këshillim në linjë."
+msgstr[1] "Edhe %d nga %d këshillimet në linjë."
+
+msgid "Remove this limitation"
+msgstr "Hiqe këtë kufizim"
+
+msgid "Not showing additional online suggestions."
+msgstr "Pa tregim këshillimesh shtesë në linjë."
+
+msgid "Unlock online suggestions"
+msgstr "Zhblloko sugjerimet në linjë"
+
+msgid "Exceeded online TM daily limit."
+msgstr "U tejkalua kufiri ditor për TM-në në linjë."
+
+msgid "Connect to the Internet to get additional suggestions."
+msgstr "Lidhu në internet për të marrë këshillime shtesë."
+
+#. TRANSLATORS: Label indicating that translations made in the current file are contributed to the online translation memory. Related to the "Contribute my translations to the online TM" string.
+msgid "Contributing"
+msgstr ""
+
+msgid "Your translations are contributed to the online translation memory as you make them. Thanks for making the suggestions better!"
+msgstr ""
+
+#. TRANSLATORS: Label indicating that the current file
+msgid "Private"
+msgstr ""
+
+msgid "Translations from this file are not shared with the online translation memory."
+msgstr ""
+
+msgid "Privacy settings"
+msgstr ""
+
+#, c-format
+msgid "While editing the file “%s”:"
+msgstr ""
+
+msgid "Items"
+msgstr "Objekte"
+
+msgid "Words"
+msgstr "Fjalë"
+
+msgid "Translated"
+msgstr "Të përkthyera"
+
+msgid "Needs review (fuzzy)"
+msgstr "Lyp shqyrtim (i turbullt)"
+
+msgid "Translations with errors"
+msgstr "Përkthime me gabime"
+
+msgid "Source Text"
+msgstr "Teksti i burimit"
+
+msgid "Strings in source language"
+msgstr "Vargje në gjuhën e burimit"
+
+msgid "Not translated"
+msgstr "Të papërkthyer"
+
+msgid "Copy to clipboard"
+msgstr "Kopjoje në të papastër"
+
+msgid "Copy to Clipboard"
+msgstr "Kopjo në bordin e klipeve (Clipboard)"
#, c-format
msgid "(New: %i, obsolete: %i)"
-msgstr "(I ri: %i, i vjetruar: %i)"
+msgstr "(Të rinj: %i, të vjetruar: %i)"
#, c-format
msgid "Importing translations: %d"
msgstr "Po importohen përkthimet: %d"
msgid "Poedit Update"
-msgstr "Aktualizim Poedit"
+msgstr "Përditësim Poedit-i"
msgid "Preparing migration..."
-msgstr "Po përgatit migrimin..."
+msgstr "Po përgatitet migrimi..."
#, c-format
msgid "Migration exit status: %d"
-msgstr "Status dalje nga migrimi: %d"
+msgstr "Gjendje daljeje nga migrimi: %d"
msgid "Poedit needs to convert your translation memory to a new format."
-msgstr ""
-"Poedit ka nevojë të konvertojë kujtesën e përkthimeve tuaja në një format të "
-"ri."
+msgstr "Poedit ka nevojë të shndërrojë kujtesën e përkthimeve tuaja në një format të ri."
-msgid ""
-"This must be done before Poedit can start. It may take a few minutes if you "
-"have lots of translations stored, but should normally be much faster."
-msgstr ""
-"Kjo duhet të bëhet para se të fillojë Poedit. Mund të marrë disa minuta, "
-"nëse keni shumë përkthime të ruajtura, por normalisht duhet të jetë më e "
-"shpejtë."
+msgid "This must be done before Poedit can start. It may take a few minutes if you have lots of translations stored, but should normally be much faster."
+msgstr "Kjo duhet bërë përpara se të niset Poedit-i. Mund të hajë ca minuta, nëse keni shumë përkthime të depozituara, por normalisht do të duhej të kryhej shumë më shpejt."
msgid "Proceed"
-msgstr "Proçedo"
+msgstr "Bëje"
msgid "Translation memory migration failed."
-msgstr "Migrimi i kujtesës së përkthimit dështoi."
+msgstr "Migrimi i kujtesës së përkthimeve dështoi."
#, c-format
-msgid ""
-"Your translation memory data couldn't be migrated. The error was:\n"
-"\n"
-"%s\n"
-"Please email help at poedit.net and we’ll get it fixed."
-msgstr ""
-"Të dhënat e kujtesës suaj të përkthimit nuk mund të migronin. Gabimi ishte:\n"
-"\n"
-"%s\n"
-"Ju lutem, dërgo një email për help at poedit.net dhe do ta ndreqim atë."
+msgid "Your translation memory data couldn't be migrated. The error was:\n\n%s\nPlease email help at poedit.net and we’ll get it fixed."
+msgstr "Të dhënat e kujtesës suaj të përkthimit s’u migruan dot. Gabimi qe:\n\n%s\nJu lutemi, dërgoni një email te help at poedit.net dhe do ta ndreqim."
msgid "Cannot create temporary directory."
-msgstr "Nuk mund të krijohet drejtoria e përkohëshme."
+msgstr "S’krijohet dot drejtoria e përkohshme."
+
+msgid "Check theme or plugin compatibility"
+msgstr "Kontrollo përputhshmërinë e temës ose shtojcës"
msgid "Welcome to Poedit"
-msgstr "Mirësevjen në Poedit"
+msgstr "Mirë se vini te Poedit"
+
+msgid "Upgrade to Pro"
+msgstr "Aktualizo në Pro"
+
+msgid "Upgrade to Poedit Pro to get additional features and support Poedit's development."
+msgstr "Përmirësojeni me Poedit Pro që të merrni veçori shtesë dhe që të përkrahni zhvillimin e Poedit-it."
msgid "Edit a translation"
-msgstr "Korrigjo një përkthim"
+msgstr "Përpunoni një përkthim"
msgid "Open an existing PO file and edit the translation."
-msgstr "Hap një fil ekzistues PO dhe korrigjo përkthimin."
+msgstr "Hapni një kartel PO ekzistuese dhe përpunoni përkthimin."
-msgid "Create new translation"
-msgstr "Krijo një përkthim të ri"
+msgid "Take an existing PO file or POT template and create a new translation from it."
+msgstr "Merrni një kartelë ekzistuese PO ose një gjedhe POT dhe krijoni prej saj një përkthim të ri."
-msgid ""
-"Take an existing PO file or POT template and create a new translation from "
-"it."
-msgstr ""
-"Merr një fil ekzistues PO ose një shabllon POT dhe krijo prej tij një "
-"përkthim të ri."
+msgid "Translate WordPress theme or plugin"
+msgstr "Përktheni temë ose shtojcë WordPress-i"
+
+#. TRANSLATORS: Please don't use any form of "automatically" in the translation, it would mislead people.
+msgid "Create a new translation. Poedit will set everything up; you can focus on translating."
+msgstr "Krijoni një përkthim të ri. Poedit-i do t'jua bëjë gjithçka gati; ju përqendrohuni te përkthimi."
+
+msgid "Collaborate on a translation with Crowdin"
+msgstr "Bashkëpunoni për një përkthim te Crowdin-i"
+
+msgid "Download a file from Crowdin project, translate and sync your changes back."
+msgstr "Shkarkoni një kartelë prej një projekti në Crowdin, përkthejeni dhe parashtroni ndryshimet tuaja."
+
+msgid "What is Crowdin?"
+msgstr "Ç’është Crowdin-i?"
msgid "There are no translations. That’s unusual."
-msgstr "Nuk ka përkthime. Kjo është e pazakontë."
+msgstr "S’ka përkthime. Kjo është e pazakontë."
-msgid ""
-"Translatable entries aren't added manually in the Gettext system, but are "
-"automatically extracted\n"
-"from source code. This way, they stay up to date and accurate.\n"
-"Translators typically use PO template files (POTs) prepared for them by the "
-"developer."
-msgstr ""
-"Hyrjet e përkthyeshme nuk shtohen manualisht në sistemin Gettext, ato "
-"nxirren automatikisht\n"
-"nga kodi i burimit. Në këtë mënyrë, ato qëndrojnë të aktualizuara dhe të "
-"sakta.\n"
-"Përkthyesit normalisht përdorin filet PO, ose të modelit (POT), të "
-"përgatitura nga programuesi."
+msgid "Translatable entries aren't added manually in the Gettext system, but are automatically extracted\nfrom source code. This way, they stay up to date and accurate.\nTranslators typically use PO template files (POTs) prepared for them by the developer."
+msgstr "Zërat e përkthyeshëm s’shtohen dorazi në sistemin Gettext, ata përftohen vetvetiu prej\nkodit burim. Kështu sigurohet qenia e tyre të përditësuar dhe të përpiktë.\nPërkthyesit normalisht përdorin kartela gjedhe PO (POT) të përgatitura për ta nga programuesi."
msgid "(Learn more about GNU gettext)"
-msgstr "(Mëso më tepër rreth GNU gettext)"
+msgstr "(Mësoni më tepër mbi GNU gettext-in)"
msgid "The simplest way to fill this catalog is to update it from a POT:"
-msgstr ""
-"Rruga më e lehtë për të plotësuar këtë katalog është aktualizimi i tij nga "
-"një POT:"
+msgstr "Rruga më e lehtë për të plotësuar këtë katalog është përditësimi i tij prej një POT-i:"
msgid "Update from POT"
-msgstr "Aktualizo nga POT"
+msgstr "Përditësojeni prej POT-i"
msgid "Take translatable strings from an existing POT template."
-msgstr "Merr vargjet e përkthyeshme nga një shabllon POT ekzistues."
+msgstr "Merri vargjet e përkthyeshme prej një gjedheje POT ekzistuese."
-msgid ""
-"You can also extract translatable strings directly from the source code:"
-msgstr "Mund të nxjerrni vargje përkthimi edhe direkt nga kodi i burimit:"
+msgid "You can also extract translatable strings directly from the source code:"
+msgstr "Mund të përftoni vargje përkthimi edhe drejt e nga kodi burim:"
msgid "Extract from sources"
-msgstr "Depaketo nga burimet"
+msgstr "Përftoji prej burimesh"
msgid "Configure source code extraction in Properties."
-msgstr "Konfiguro kodin e burimit tek Vetitë."
+msgstr "Formësoni përftim kodi burim te Vetitë."
+
+#, c-format
+msgid "Failed to read file '%s'."
+msgstr "Dështoi në leximin e kartelës '%s'."
+
+#, c-format
+msgid "Confused by ambiguous values of \"%s\" in %s."
+msgstr "I ngatërruar nga vlera të dyvlershme të \"%s\" në %s."
+
+#, c-format
+msgid "Couldn't detect POs location for \"%s\"."
+msgstr "Nuk zbuloi dot vend PO-sh për \"%s\"."
+
+#, c-format
+msgid "The \"%s\" theme isn't localization-ready."
+msgstr "Tema \"%s\" nuk është gati për përkthim."
+
+msgid "Confused: multiple main plugin files."
+msgstr "I ngatërruar: shumë kartela kryesore për shtojcën."
+
+#, c-format
+msgid "The \"%s\" plugin isn't localization-ready."
+msgstr "Shtojca \"%s\" nuk është gati për përkthim."
+
+#, c-format
+msgid "Couldn't detect translation domain of the \"%s\" plugin."
+msgstr "Nuk zbuloi dot përkatësi përkthimi të shtojcës \"%s\"."
+
+msgid "Found neither WordPress theme nor plugin in the folder."
+msgstr "Nuk u gjet as temë, dhe as shtojcë WordPress-i te dosja."
+
+#, c-format
+msgid "Translations folder (%s) doesn't exist."
+msgstr "Dosja e përkthimeve (%s) nuk ekziston."
+
+msgid "<big>Drag and drop <b>theme or plugin folder</b> here</big>\n\nor use the “Choose folder” button"
+msgstr ""
+
+msgid "<big>Drag and Drop <b>Theme or Plugin Folder</b> Here</big>\n\nor use the “Choose Folder” button"
+msgstr ""
+
+#, c-format
+msgid "Folder “%s”"
+msgstr ""
+
+msgid "Choose Folder..."
+msgstr ""
+
+msgid "Choose folder..."
+msgstr ""
+
+msgid "Create a new translation"
+msgstr ""
+
+msgid "Choose this if you want to translate the theme or plugin into your language."
+msgstr ""
+
+msgid "Create a POT"
+msgstr ""
+
+msgid "This option is for theme and plugin developers. Poedit will create an empty template (POT) that translations can be based on."
+msgstr ""
+
+msgid "Continue"
+msgstr ""
+
+msgid "Failed to extract WordPress information."
+msgstr "Dështoi në përftim të dhënash WordPress-i"
+
+msgid "WordPress error"
+msgstr "Gabim WordPress-i"
+
+#, c-format
+msgid "Poedit couldn’t understand the content of the folder you selected. This may be a problem with the plugin/theme or it may be Poedit being silly. The error is:\n\n • %s\n\nPlease email help at poedit.net and we’ll sort it out."
+msgstr "Poedit-i nuk e kuptoi dot lëndën e dosjes që përzgjodhët. Ky mund të jetë një problem me shtojcën/temën ose mundet që Poedit po sillet si leshko. Gabimi është:\n\n • %s\n\nJu lutemi, dërgoni një email te help at poedit.net dhe do ta shohim."
+
+#. TRANSLATORS: This is a button that sends an email to support when clicked
+msgid "Email support"
+msgstr "Asistencë me email"
+
+msgid "View log"
+msgstr "Shihni regjistrin"
+
+#. TRANSLATORS: This is a button that sends an email to support when clicked
+msgid "Email Support"
+msgstr "Asistencë Me Email"
+
+msgid "View Log"
+msgstr "Shihni Regjistrin"
+
+msgid "WordPress Errors Log"
+msgstr "Regjistër Gabimesh WordPress-i"
+
+msgid "Please email this log to help at poedit.net. Thank you!"
+msgstr "Ju lutemi, na e dërgoni këtë regjistrim me email te help at poedit.net. Faleminderit!"
+
+msgid "Sync"
+msgstr "Njëkohësoje"
+
+msgid "Synchronize the translation with Crowdin"
+msgstr "Njëkohësojeni përkthimin me atë në Crowdin"
+
diff --git a/locales/sr.mo b/locales/sr.mo
index f8d7ab0..7995b4a 100644
Binary files a/locales/sr.mo and b/locales/sr.mo differ
diff --git a/locales/sr.po b/locales/sr.po
index 1243e56..81f3f29 100644
--- a/locales/sr.po
+++ b/locales/sr.po
@@ -1,24 +1,57 @@
msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
-"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:34-0400\n"
+"Report-Msgid-Bugs-To: poedit at googlegroups.com\n"
+"POT-Creation-Date: 2015-05-11 08:48+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Serbian (Cyrillic)\n"
"Language: sr_SP\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=4; plural=(n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n"
-"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=4; plural=(n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: crowdin.com\n"
"X-Crowdin-Project: poedit\n"
"X-Crowdin-Language: sr\n"
"X-Crowdin-File: /locales/poedit.pot\n"
+#. TRANSLATORS: This is titlebar of about dialog, "%s" is application name
+#. ("Poedit" here, but please use "%s")
+#, c-format
+msgid "About %s"
+msgstr "О %s-у"
+
+#. TRANSLATORS: This is version information in about dialog, "%s" will be
+#. version number when used
+#, c-format
+msgid "Version %s"
+msgstr "Верзија %s"
+
+msgid "Based on the open source version →"
+msgstr "Према верзији отвореног кода →"
+
+msgid "Acknowledgements"
+msgstr "Захвале"
+
+msgid "Rate on the App Store"
+msgstr "Оцените на App Store-у"
+
+msgid "License Agreement"
+msgstr "Уговор о лиценцирању"
+
+#, c-format
+msgid "Licensed to %s"
+msgstr "Лиценцирано на име %s"
+
+msgid "Purchased on the Mac App Store"
+msgstr "Купљено у Mac App Store-у"
+
+msgid "Free version (please upgrade!)"
+msgstr "Бесплатна верзија (надоградите је)"
+
msgid "Hide this notification message"
-msgstr "Сакриј ову поруку са обавештењем"
+msgstr "Сакриј ово обавештење"
msgid "Don't Show Again"
msgstr "Не приказуј поново"
@@ -29,71 +62,59 @@ msgstr "Не приказуј поново"
#, c-format
msgid "%i line of file '%s' was not loaded correctly."
msgid_plural "%i lines of file '%s' were not loaded correctly."
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
-msgstr[3] ""
+msgstr[0] "%i ред датотеке „%s“ није исправно учитан."
+msgstr[1] "%i реда датотеке „%s“ нису исправно учитана."
+msgstr[2] "%i редова датотеке „%s“ није исправно учитано."
+msgstr[3] "%i редова датотеке „%s“ није исправно учитано."
#, c-format
msgid "Line %d of file '%s' is corrupted (not valid %s data)."
-msgstr "Ред %d датотеке „%s“ је оштећен (неисправни подаци %s)."
+msgstr "Ред %d датотеке „%s“ је оштећен (неисправни %s подаци)."
#, c-format
msgid "Malformed header: '%s'"
msgstr "Погрешно уобличено заглавље: „%s“"
-msgid ""
-"Broken catalog file: singular form msgstr used together with msgid_plural"
-msgstr ""
-"Неисправна датотека каталога: коришћен је облик за множину „msgstr“ заједно "
-"са вредношћу „msgid_plural“"
+msgid "Broken catalog file: singular form msgstr used together with msgid_plural"
+msgstr "Неисправна датотека каталога: коришћен је облик за множину „msgstr“ заједно са вредношћу „msgid_plural“"
msgid "Broken catalog file: plural form msgstr used without msgid_plural"
-msgstr ""
-"Неисправна датотека каталога: коришћен је облик за множину „msgstr“ без "
-"вредности „msgid_plural“"
+msgstr "Неисправна датотека каталога: коришћен је облик за множину „msgstr“ без вредности „msgid_plural“"
-msgid ""
-"There were errors when loading the catalog. Some data may be missing or "
-"corrupted as the result."
-msgstr ""
-"Дошло је до проблема при учитавању каталога. Неки подаци недостају или су "
-"оштећени."
+msgid "There were errors when loading the catalog. Some data may be missing or corrupted as the result."
+msgstr "Дошло је до проблема при учитавању каталога. Неки подаци недостају или су оштећени."
#, c-format
msgid "Couldn't load file %s, it is probably corrupted."
msgstr "Не могу да учитам датотеку „%s“. Вероватно је оштећена."
#, c-format
-msgid ""
-"File '%s' is read-only and cannot be saved.\n"
-"Please save it under different name."
-msgstr ""
-"Датотека „%s“ је само за читање и не може бити сачувана.\n"
-"Сачувајте је под другим именом."
+msgid "File '%s' is read-only and cannot be saved.\nPlease save it under different name."
+msgstr "Датотека „%s“ је доступна само за читање и не може бити сачувана.\nСачувајте је под другим именом."
#, c-format
msgid "Couldn't save file %s."
msgstr "Не могу да сачувам датотеку „%s“."
-msgid ""
-"There was a problem formatting the file nicely (but it was saved all right)."
+msgid "There was a problem formatting the file nicely (but it was saved all right)."
msgstr "Дошло је до проблема при обликовању датотеке, али је успешно сачувана."
#, c-format
-msgid ""
-"The catalog couldn't be saved in '%s' charset as specified in catalog "
-"settings.\n"
-"\n"
-"It was saved in UTF-8 instead and the setting was modified accordingly."
-msgstr ""
-"Не могу да сачувам каталог са кодирањем „%s“, као што је\n"
-"наведено у поставкама каталога. Уместо тога, сачуван је у\n"
-"UTF-8 формату и поставке су прилагођене према томе."
+msgid "The catalog couldn't be saved in '%s' charset as specified in catalog settings.\n\nIt was saved in UTF-8 instead and the setting was modified accordingly."
+msgstr "Не могу да сачувам каталог са кодирањем „%s“, као што је\nнаведено у поставкама каталога. Уместо тога, сачуван је у\nUTF-8 формату и поставке су прилагођене према томе."
msgid "Error saving catalog"
msgstr "Грешка при чувању каталога"
+msgid "PO Translation Files"
+msgstr "PO датотеке превода"
+
+msgid "POT Translation Templates"
+msgstr "POT шаблони превода"
+
+msgid "All Translation Files"
+msgstr "Све датотеке превода"
+
msgid "Merging differences..."
msgstr "Обједињујем разлике…"
@@ -113,6 +134,81 @@ msgstr "Избор језика"
msgid "You must restart Poedit for this change to take effect."
msgstr "Морате да поново покренете Poedit како би ова измена ступила на снагу."
+msgid "Downloading translations is disabled in this project."
+msgstr "Преузимање превода је онемогућено у овом пројекту."
+
+msgid "Not authorized, please sign in again."
+msgstr "Немате овлашћења. Поново се пријавите."
+
+msgid "Sign in to Crowdin"
+msgstr "Пријава на Crowdin"
+
+msgid "Crowdin is an online localization management platform and collaborative translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr "Crowdin је интернет платформа за заједничку локализацију и превод. Poedit може аутоматски да синхронизује PO датотеке са Crowdin-ом."
+
+msgid "Sign In"
+msgstr "Пријави ме"
+
+msgid "Sign in"
+msgstr "Пријави ме"
+
+msgid "Sign Out"
+msgstr "Одјави ме"
+
+msgid "Sign out"
+msgstr "Одјави ме"
+
+msgid "Waiting for authentication…"
+msgstr "Проверавам идентитет…"
+
+msgid "Updating user information…"
+msgstr "Ажурирам информације о кориснику…"
+
+msgid "Signed in as:"
+msgstr "Пријављени сте као:"
+
+msgid "Learn More About Crowdin"
+msgstr "Више о Crowdin-у"
+
+msgid "Learn more about Crowdin"
+msgstr "Више о Crowdin-у"
+
+msgid "Open Crowdin translation"
+msgstr "Отвори превод са Crowdin-а"
+
+msgid "Project:"
+msgstr "Пројекат:"
+
+msgid "Language:"
+msgstr "Језик:"
+
+msgid "File:"
+msgstr "Датотека:"
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr "У вашем налогу на Crowdin-у нема пројеката."
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr "Овај пројекат не садржи датотеке које је могуће преводити у Poedit-у."
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr "Ова датотека може да се уређује само на Crowdin-у."
+
+msgid "Downloading latest translations…"
+msgstr "Преузимам најновије преводе…"
+
+msgid "Syncing with Crowdin"
+msgstr "Синхронизација са Crowdin-ом"
+
+msgid "Syncing with Crowdin failed."
+msgstr "Синхронизација са Crowdin-ом није успела."
+
+msgid "Crowdin error"
+msgstr "Грешка Crowdin-а"
+
+msgid "Uploading translations…"
+msgstr "Отпремам преводе…"
+
msgid "&Copy"
msgstr "&Копирај"
@@ -135,30 +231,48 @@ msgstr "Скенирање датотека"
#. TRANSLATORS: '%s' is replaced with the kind of the files (e.g. C++, PHP, ...)
#, c-format
msgid "Parsing %s files..."
-msgstr "Рашчлањујем %s датотека…"
+msgstr "Рашчлањујем %s датотеке…"
msgid "Failed to load extracted catalog."
msgstr "Не могу да учитам издвојени каталог."
+#, c-format
+msgid "Failed to extract WordPress metadata from file %s."
+msgstr "Не могу да издвојим метаподатке WordPress-а из датотеке %s."
+
msgid "&Help"
msgstr "&Помоћ"
+msgid "Beta expired"
+msgstr "Бета верзија је истекла"
+
+msgid "This beta version of Poedit expired."
+msgstr "Ова бета верзија Poedit-а је истекла."
+
+msgid "Please download a newer version from the Poedit website at http://poedit.net/download"
+msgstr "Преузмите новију верзију Poedit-а са званичног сајта: http://poedit.net/download"
+
+msgid "Download"
+msgstr "&Преузми"
+
+msgid "Quit"
+msgstr "Изађи"
+
msgid "MO files can’t be directly edited in Poedit."
msgstr "MO датотеке се не могу директно уређивати у Poedit-у."
msgid "Error opening file"
msgstr "Грешка при отварању датотеке"
-msgid ""
-"Please open and edit the corresponding PO file instead. When you save it, "
-"the MO file will be updated as well."
-msgstr ""
-"Отворите и уредите одговарајућу PO датотеку. Када је сачувате, MO датотека "
-"ће такође бити ажурирана."
+msgid "Please open and edit the corresponding PO file instead. When you save it, the MO file will be updated as well."
+msgstr "Отворите и уредите одговарајућу PO датотеку. Када је сачувате, MO датотека ће такође бити ажурирана."
msgid "don't delete temporary files (for debugging)"
msgstr "не бриши привремене датотеке (ради отклањања грешака)"
+msgid "handle a poedit:// URI"
+msgstr "обради адресу poedit://"
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr "Дошло је до изузетка: %s"
@@ -169,57 +283,42 @@ msgstr "Дошло је до изузетка."
msgid "Open catalog"
msgstr "Отварање каталога"
-msgid "All Files"
-msgstr "Све датотеке"
-
-msgid "PO Translation Files"
-msgstr "PO датотеке превода"
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "Датотека „%s“ не постоји."
-#. TRANSLATORS: This is titlebar of about dialog, "%s" is application name
-#. ("Poedit" here, but please use "%s")
-#, c-format
-msgid "About %s"
-msgstr "О %s-у"
-
-#. TRANSLATORS: This is version information in about dialog, "%s" will be
-#. version number when used
-#, c-format
-msgid "Version %s"
-msgstr "Верзија %s"
-
msgid "Poedit is an easy to use translations editor."
msgstr "Poedit је једноставан уређивач превода."
msgid "Catalogs Manager"
msgstr "Управљач каталозима"
+msgid "License..."
+msgstr "Лиценца…"
+
msgid "Check for Updates..."
-msgstr "&Провери има ли ажурирања…"
+msgstr "&Потражи ажурирања…"
msgid "&Edit"
msgstr "&Уређивање"
msgid "Undo"
-msgstr "&Откажи"
+msgstr "Опозови"
msgid "Redo"
msgstr "Понови"
msgid "Paste and Match Style"
-msgstr "Налепи и испоштуј стил"
+msgstr "Налепи у текућем стилу"
msgid "Delete"
msgstr "&Обриши"
msgid "Spelling and Grammar"
-msgstr "Правопис и граматика"
+msgstr "Провера правописа"
msgid "Show Spelling and Grammar"
-msgstr "Прикажи &правопис и граматика"
+msgstr "Прикажи &правописне грешке"
msgid "Check Document Now"
msgstr "Провери документ"
@@ -240,7 +339,7 @@ msgid "Show Substitutions"
msgstr "Прикажи &замене"
msgid "Smart Copy/Paste"
-msgstr "Паметно копирање/лепљење"
+msgstr "Паметно копирање/налепљивање"
msgid "Smart Quotes"
msgstr "Паметни наводници"
@@ -278,6 +377,15 @@ msgstr "Заустави модул за говор"
msgid "&View"
msgstr "&Приказ"
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
+msgid "Show Toolbar"
+msgstr "Прикажи траку са алаткама"
+
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
+msgid "Customize Toolbar…"
+msgstr "Прилагоди траку са алаткама…"
+
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
msgid "Enter Full Screen"
msgstr "Пређи у режим целог екрана"
@@ -293,8 +401,19 @@ msgstr "Зумирање"
msgid "Bring All to Front"
msgstr "Пребаци све напред"
+#. TRANSLATORS:File kind displayed in Finder/Explorer
msgid "PO Translation"
-msgstr ""
+msgstr "PO превод"
+
+msgid "Invalid license data."
+msgstr "Неисправни подаци лиценце."
+
+msgid "Poedit"
+msgstr "Poedit"
+
+#, c-format
+msgid "The link doesn't contain valid Poedit license. Try entering it manually or contact support at help at poedit.net.\n\n(%s)"
+msgstr "Веза не садржи ваљану лиценцу за Poedit. Покушајте да је унесете ручно или контактирајте подршку на help at poedit.net.\n\n(%s)"
msgid "The file cannot be opened."
msgstr "Не могу да отворим датотеку."
@@ -302,8 +421,7 @@ msgstr "Не могу да отворим датотеку."
msgid "Invalid file"
msgstr "Неисправна датотека"
-msgid ""
-"The file may be either corrupted or in a format not recognized by Poedit."
+msgid "The file may be either corrupted or in a format not recognized by Poedit."
msgstr "Датотека је оштећена или је у формату који Poedit не препознаје."
msgid "&Undo"
@@ -339,40 +457,40 @@ msgstr "Изабери све"
#. TRANSLATORS: Keyboard shortcut for display in Windows menus
#. TRANSLATORS: This is the key shortcut used in menus on Windows, some languages call them differently
msgid "Ctrl+"
-msgstr ""
+msgstr "Ctrl+"
#. TRANSLATORS: Keyboard shortcut for display in Windows menus
#. TRANSLATORS: This is the key shortcut used in menus on Windows, some languages call them differently
msgid "Alt+"
-msgstr ""
+msgstr "Alt+"
#. TRANSLATORS: Keyboard shortcut for display in Windows menus
msgid "Shift+"
-msgstr ""
+msgstr "Shift+"
#. TRANSLATORS: Keyboard shortcut for display in Windows menus
msgid "Enter"
-msgstr ""
+msgstr "Enter"
#. TRANSLATORS: Keyboard shortcut for display in Windows menus
msgid "Up"
-msgstr ""
+msgstr "Up"
#. TRANSLATORS: Keyboard shortcut for display in Windows menus
msgid "Down"
-msgstr ""
+msgstr "Down"
#. TRANSLATORS: Keyboard shortcut, must correspond to translation of "Ctrl+"
msgid "ctrl"
-msgstr ""
+msgstr "ctrl"
#. TRANSLATORS: Keyboard shortcut, must correspond to translation of "Alt+"
msgid "alt"
-msgstr ""
+msgstr "alt"
#. TRANSLATORS: Keyboard shortcut, must correspond to translation of "Shift+"
msgid "shift"
-msgstr ""
+msgstr "shift"
msgid "You can't drop more than one file on Poedit window."
msgstr "Не можете да превучете више од једне датотеке на прозор Poedit-а."
@@ -381,9 +499,6 @@ msgstr "Не можете да превучете више од једне да
msgid "File '%s' is not a message catalog."
msgstr "Датотека „%s“ није каталог са порукама."
-msgid "Poedit"
-msgstr "Poedit"
-
msgid "&File"
msgstr "&Датотека"
@@ -402,16 +517,24 @@ msgstr "Множина:"
msgid "Translation:"
msgstr "Превод:"
+msgid "POT files are only templates and don’t contain any translations themselves.\nTo make a translation, create a new PO file based on the template."
+msgstr "POT датотеке су само шаблони и они не садрже преводе.\nДа бисте направили превод, креирајте нову PO датотеку засновану на шаблону."
+
+msgid "Create New Translation"
+msgstr "Креирај нови превод"
+
+msgid "Create new translation"
+msgstr "Креирај нови превод"
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
#, c-format
-msgid ""
-"Spellchecking is disabled, because the dictionary for %s isn’t installed."
-msgstr ""
+msgid "Spellchecking is disabled, because the dictionary for %s isn’t installed."
+msgstr "Провера правописа је онемогућена јер није инсталиран речник за %s језик."
msgid "Install"
-msgstr ""
+msgstr "Инсталирај"
msgid "Catalog modified. Do you want to save changes?"
msgstr "Каталог је измењен. Сачувати измене?"
@@ -449,29 +572,48 @@ msgstr "HTML датотеке"
msgid "Open catalog template"
msgstr "Отварање шаблона каталога"
-msgid "POT Translation Templates"
-msgstr "POT шаблони превода"
+msgid "WordPress"
+msgstr "WordPress"
+
+msgid "Analyzing WordPress code..."
+msgstr "Анализирам кôд WordPress-а…"
+
+msgid "Select the folder with the WordPress theme or plugin"
+msgstr "Избор фасцикле са темом или додатком за WordPress"
+
+#. TRANSLATORS: %s is name of a WordPress theme
+#, c-format
+msgid "The “%s” theme is compatible."
+msgstr "Тема „%s“ је компатибилна."
+
+#. TRANSLATORS: %s is name of a WordPress plugin
+#, c-format
+msgid "The “%s” plugin is compatible."
+msgstr "Додатак „%s“ је компатибилан."
+
+msgid "The theme is translation-ready and compatible with Poedit’s WordPress support."
+msgstr "Тема је спремна за превођење и компатибилна са Poedit-ом."
+
+msgid "The plugin is translation-ready and compatible with Poedit’s WordPress support."
+msgstr "Додатак је спреман за превођење и компатибилан са Poedit-ом."
msgid "Updating catalog"
msgstr "Ажурирање каталога"
msgid "Source code not available."
-msgstr ""
+msgstr "Изворни кôд није доступан."
msgid "Updating failed"
-msgstr ""
+msgstr "Ажурирање није успело"
-msgid ""
-"Translations couldn’t be updated from the source code, because no code was "
-"found in the location specified in the catalog’s Properties."
-msgstr ""
+msgid "Translations couldn’t be updated from the source code, because no code was found in the location specified in the catalog’s Properties."
+msgstr "Преводи не могу бити ажурирани из изворног кода јер он није пронађен на локацији која је наведена у својствима каталога."
msgid "Entries in the catalog are probably incorrect."
msgstr "Ставке у каталогу су вероватно неисправне."
msgid "Updating the catalog failed. Click on 'Details >>' for details."
-msgstr ""
-"Не могу да ажурирам каталог. За више информација, кликните на „Детаљи >>“."
+msgstr "Не могу да ажурирам каталог. За више информација, кликните на „Детаљи >>“."
#, c-format
msgid "%d issue with the translation found."
@@ -484,33 +626,20 @@ msgstr[3] "Пронађено је %d проблема са преводом."
msgid "Validation results"
msgstr "Резултати провере ваљаности"
-msgid ""
-"Entries with errors were marked in red in the list. Details of the error "
-"will be shown when you select such an entry."
-msgstr ""
-"Ставке са грешкама су означене црвеном бојом.\n"
-"Више информација о грешци биће приказано када кликнете на такву ставку."
+msgid "Entries with errors were marked in red in the list. Details of the error will be shown when you select such an entry."
+msgstr "Ставке са грешкама су означене црвеном бојом.\nВише информација о грешци биће приказано када кликнете на такву ставку."
msgid "The file was saved safely."
msgstr "Датотека је сачувана."
-msgid ""
-"The file was saved safely and compiled into the MO format, but it will "
-"probably not work correctly."
-msgstr ""
-"Датотека је сачувана и компилирана у MO формат, али вероватно неће радити "
-"како треба."
+msgid "The file was saved safely and compiled into the MO format, but it will probably not work correctly."
+msgstr "Датотека је сачувана и компилирана у MO формат, али вероватно неће радити како треба."
-msgid ""
-"The file was saved safely, but it cannot be compiled into the MO format and "
-"used."
+msgid "The file was saved safely, but it cannot be compiled into the MO format and used."
msgstr "Датотека је сачувана, али не може бити компилирана у MO формат."
-msgid ""
-"The file was compiled into the MO format, but it will probably not work "
-"correctly."
-msgstr ""
-"Датотека је компилирана у MO формат, али вероватно неће радити исправно."
+msgid "The file was compiled into the MO format, but it will probably not work correctly."
+msgstr "Датотека је компилирана у MO формат, али вероватно неће радити исправно."
msgid "The file cannot be compiled into the MO format and used."
msgstr "Датотека не може бити компилирана у MO формат."
@@ -520,8 +649,7 @@ msgstr "Нема проблема са преводом."
#, c-format
msgid "The translation is ready for use, but %d entry is not translated yet."
-msgid_plural ""
-"The translation is ready for use, but %d entries are not translated yet."
+msgid_plural "The translation is ready for use, but %d entries are not translated yet."
msgstr[0] "Превод је спреман за коришћење, али %d ставка још није преведена."
msgstr[1] "Превод је спреман за коришћење, али %d ставке још нису преведене."
msgstr[2] "Превод је спреман за коришћење, али %d ставки још није преведено."
@@ -530,40 +658,61 @@ msgstr[3] "Превод је спреман за коришћење, али %d
msgid "The translation is ready for use."
msgstr "Превод је спреман за коришћење."
-msgid "No references to this string found."
-msgstr "Нема референци за ову поруку."
+msgid "Contributing translations improves the quality of online suggestions for everybody — the more people do it, the better the suggestions can be. Your translations are submitted anonymously and are available to other translators using Poedit or other CAT tools."
+msgstr "Слањем превода побољшавате квалитет предлога са мреже; што више људи учествује у овоме, то су бољи предлози. Овај поступак је анониман и доступан је свим преводиоцима који користе Poedit или друге алатке за превођење уз помоћ рачунара."
+
+msgid "Can Poedit contribute your translations of this file to the online translation memory?"
+msgstr "Желите ли да проследите ваше преводе из ове датотеке у интернет преводилачку меморију?"
+
+msgid "Apply to all files I edit"
+msgstr "Примени на све датотеке које уређујем"
+
+msgid "Contribute"
+msgstr "Проследи"
-msgid "Please choose the reference you want to show:"
-msgstr "Изаберите референцу коју желите да прикажете:"
+msgid "Keep Private"
+msgstr "Задржи приватним"
-msgid "References"
-msgstr "Референце"
+msgid "Keep private"
+msgstr "Задржи приватним"
msgid "Context:"
msgstr "Контекст:"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr "Poedit је аутоматски поправио неисправан садржај у датотеци „%s“."
+
+msgid "The file contained duplicate items, which is not allowed in PO files and would prevent the file from being used. Poedit fixed the issue, but you should review translations of any items marked as fuzzy and correct them if necessary."
+msgstr "Датотека је садржала дупликате а они нису дозвољени. Poedit је решио проблем, али вам препоручујемо да проверите преводе свих елемената који су означени као приближни и исправите их, ако је потребно."
+
msgid "Language of the translation isn't set."
msgstr "Нисте поставили језик превода."
msgid "Set Language"
-msgstr ""
+msgstr "Постави језик"
msgid "Set language"
msgstr "Постави језик"
-msgid ""
-"This catalog has entries with plural forms, but doesn't have Plural-Forms "
-"header configured."
-msgstr ""
-"Овај каталог има ставке са облицима за множину, али му није подешено "
-"заглавље „Plural-Forms“."
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid "Suggestions are not available if the translation language is not set correctly. Other features, such as plural forms, may be affected as well."
+msgstr "Предлози нису доступни ако језик превода није исправно подешен. Друге функције такође могу бити недоступне, попут облика за множину."
-msgid ""
-"Entries in this catalog have different plural forms count from what "
-"catalog's Plural-Forms header says"
-msgstr ""
-"Ставке у каталогу имају другачији број облика за множину од онога што "
-"заглавље прописује."
+msgid "Language of the translation is the same as source language."
+msgstr "Језик превода се поклапа с изворним језиком."
+
+msgid "Fix Language"
+msgstr "Исправи језик"
+
+msgid "Fix language"
+msgstr "Исправи језик"
+
+msgid "This catalog has entries with plural forms, but doesn't have Plural-Forms header configured."
+msgstr "Овај каталог има ставке са облицима за множину, али му није подешено заглавље „Plural-Forms“."
+
+msgid "Entries in this catalog have different plural forms count from what catalog's Plural-Forms header says"
+msgstr "Ставке у каталогу имају другачији број облика за множину од онога што заглавље прописује."
msgid "Required header Plural-Forms is missing."
msgstr "У заглављу недостаје вредност „Plural-Forms“."
@@ -576,17 +725,18 @@ msgid "Fix the Header"
msgstr "Исправи заглавље"
msgid "Fix the header"
-msgstr "Поправи заглавље"
+msgstr "Исправи заглавље"
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
#, c-format
msgid "Plural forms expression used by the catalog is unusual for %s."
-msgstr "Израз за облике множине у каталогу је неуобичајен за језик „%s“."
+msgstr "Израз за облике множине у каталогу је необичан за %s."
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
-msgstr "Рецензија"
+msgstr "Провери"
#, c-format
msgid "Error loading message catalog file '%s'."
@@ -608,12 +758,24 @@ msgstr[1] "%d грешке"
msgstr[2] "%d грешака"
msgstr[3] "%d грешака"
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] "%d ставка"
+msgstr[1] "%d ставке"
+msgstr[2] "%d ставки"
+msgstr[3] "%d ставки"
+
msgid " (unsaved)"
msgstr " (није сачувано)"
msgid " (modified)"
msgstr " (измењено)"
+#, c-format
+msgid " (beta version expires %s)"
+msgstr " (бета верзија истиче %s)"
+
msgid "Go"
msgstr "Пређи"
@@ -627,13 +789,8 @@ msgstr "Чишћење обрисаних превода"
msgid "Do you want to remove all translations that are no longer used?"
msgstr "Желите ли да уклоните све преводе који се више не користе?"
-msgid ""
-"If you continue with purging, all translations marked as deleted will be "
-"permanently removed. You will have to translate them again if they are added "
-"back in the future."
-msgstr ""
-"Ако наставите са чишћењем, сви преводи означени као обрисани биће трајно "
-"уклоњени."
+msgid "If you continue with purging, all translations marked as deleted will be permanently removed. You will have to translate them again if they are added back in the future."
+msgstr "Ако наставите са чишћењем, сви преводи означени као обрисани биће трајно уклоњени."
msgid "Keep"
msgstr "&Задржи"
@@ -642,59 +799,54 @@ msgid "Purge"
msgstr "&Очисти"
msgid "Fill missing translations from TM"
-msgstr ""
+msgstr "Копирање из преводилачке меморије"
msgid "Only fill in exact matches"
-msgstr ""
+msgstr "Копирај само тачна подударања"
-msgid ""
-"By default, inaccurate results are filled in as well and marked as fuzzy. "
-"Check this option to only include accurate matches."
-msgstr ""
+msgid "By default, inaccurate results are filled in as well and marked as fuzzy. Check this option to only include accurate matches."
+msgstr "По подразумеваном, слични резултати ће такође бити копирани и означени као приближни. Означите ову опцију ако желите да копирате само тачна подударања."
msgid "Don’t mark exact matches as fuzzy"
-msgstr ""
+msgstr "Не означавај тачна подударања као приближна"
-msgid ""
-"Only enable if you trust the quality of your TM. By default, all matches "
-"from the TM are marked as fuzzy and should be reviewed."
-msgstr ""
+msgid "Only enable if you trust the quality of your TM. By default, all matches from the TM are marked as fuzzy and should be reviewed."
+msgstr "Омогућите само ако имате поверења у квалитет преводилачке меморије. По подразумеваном, сви резултати из меморије су означени као приближни и требало би их прегледати."
+
+msgid "Use online suggestions"
+msgstr "Користи предлоге са мреже"
+
+msgid "Use online suggestions (experimental)"
+msgstr "Користи предлоге са мреже (експериментално)"
+
+msgid "Try to fetch translations from the online TM as well. Notice that the translations will not be perfect and will still need to be corrected by a human translator."
+msgstr "Пробајте да преузмете преводе и из интернет преводилачке меморије. Они неће бити савршени, па их је потребно исправити."
msgid "Fill"
-msgstr ""
+msgstr "Копирај"
#, c-format
msgid "%d entry was filled from the translation memory."
msgid_plural "%d entries were filled from the translation memory."
-msgstr[0] "%d ставка је попуњена из преводилачке меморије."
-msgstr[1] "%d ставке су попуњене из преводилачке меморије."
-msgstr[2] "%d ставки је попуњено из преводилачке меморије."
-msgstr[3] "%d ставки је попуњено из преводилачке меморије."
+msgstr[0] "%d ставка је копирана из преводилачке меморије."
+msgstr[1] "%d ставке су копиране из преводилачке меморије."
+msgstr[2] "%d ставки је копирано из преводилачке меморије."
+msgstr[3] "%d ставки је копирано из преводилачке меморије."
-msgid ""
-"The translations were marked as fuzzy, because they may be inaccurate. You "
-"should review them for correctness."
-msgstr ""
-"Преводи су означени као приближни јер су можда непрецизни. Проверите њихову "
-"тачност."
+msgid "The translations were marked as fuzzy, because they may be inaccurate. You should review them for correctness."
+msgstr "Преводи су означени као приближни јер су можда непрецизни. Проверите њихову тачност."
msgid "No entries could be filled from the translation memory."
-msgstr "Уноси не могу бити попуњени из преводилачке меморије."
+msgstr "Уноси не могу бити копирани из преводилачке меморије."
-msgid ""
-"The TM doesn’t contain any strings similar to the content of this file. It "
-"is only effective for semi-automatic translations after Poedit learns enough "
-"from files that you translated manually."
-msgstr ""
-"Преводилачка меморија не садржи поруке које су сличне онима у тренутној "
-"датотеци. Ова опција је корисна за полуаутоматске преводе тек кад Poedit "
-"научи довољно из датотека које сте ручно превели."
+msgid "The TM doesn’t contain any strings similar to the content of this file. It is only effective for semi-automatic translations after Poedit learns enough from files that you translated manually."
+msgstr "Преводилачка меморија не садржи ниске које су сличне онима у тренутној датотеци. Ова опција је корисна за полуаутоматске преводе тек кад Poedit научи довољно из датотека које сте ручно превели."
msgid "Translating"
msgstr "Преводим"
msgid "Filling missing translations from TM..."
-msgstr "Попуњавање превода који недостају помоћу меморије"
+msgstr "Копирам преводе који недостају из меморије…"
#, c-format
msgid "Translated %u string"
@@ -732,6 +884,9 @@ msgstr "Све"
msgid "Form %i"
msgstr "Облик %i"
+msgid "Singular"
+msgstr "Једнина"
+
msgid "Zero"
msgstr "Нула"
@@ -741,6 +896,9 @@ msgstr "Један"
msgid "Two"
msgstr "Два"
+msgid "Plural"
+msgstr "Множина"
+
msgid "Other"
msgstr "Друго"
@@ -769,6 +927,12 @@ msgstr "Сакриј бочну траку"
msgid "Show Sidebar"
msgstr "Прикажи бочну траку"
+msgid "Hide Status Bar"
+msgstr "Сакриј статусну траку"
+
+msgid "Show Status Bar"
+msgstr "Прикажи статусну траку"
+
msgid "Source text"
msgstr "Изворни текст"
@@ -778,6 +942,10 @@ msgstr "Превод"
msgid "ID"
msgstr "ID"
+#, c-format
+msgid "Source text — %s"
+msgstr "Изворни текст – %s"
+
msgid "unknown language"
msgstr "непознат језик"
@@ -788,57 +956,73 @@ msgstr "Превод – %s"
msgid "Error:"
msgstr "Грешка:"
-msgid "Project info"
-msgstr "Подаци о пројекту"
+msgid "Source file"
+msgstr "Изворна датотека"
-msgid "Project name and version:"
-msgstr "Име пројекта и верзија:"
+msgid "Source file occurrence:"
+msgstr "Појављивање изворне датотеке:"
-msgid "Language:"
-msgstr "Језик:"
+msgid "Open in Editor"
+msgstr "Отвори у уређивачу"
-msgid "Team:"
-msgstr "Тим:"
+msgid "Open in editor"
+msgstr "Отвори у уређивачу"
-msgid "Team's email address:"
-msgstr "Е-адреса тима:"
+msgid "No references for the selected item."
+msgstr "За изабрану ставку нема референци."
-msgid "Charset:"
-msgstr "Кодирање:"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "Грешка при отварању датотеке „%s“."
-msgid "Source"
-msgstr "Извор"
+msgid "Find"
+msgstr "П&ронађи"
-msgid "Notes"
-msgstr "Напомене"
+msgid "Replace"
+msgstr "Замени"
-msgid "Automatic translation"
-msgstr "Аутоматски превод"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr "Опције"
-msgid "Fuzzy translation"
-msgstr "Приближан превод"
+msgid "Ignore case"
+msgstr "Занемари величину слова"
-msgid "Notes for translators:"
-msgstr "Напомене за преводиоце:"
+msgid "Wrap around"
+msgstr "Кружна претрага"
-msgid "Comment:"
-msgstr "Коментар:"
+msgid "Whole words only"
+msgstr "&Само целе речи"
-msgid "Source file"
-msgstr "Изворна датотека"
+msgid "Find in source texts"
+msgstr "Пронађи у изворним текстовима"
-msgid "Source file occurrence:"
-msgstr "Појављивање изворне датотеке:"
+msgid "Find in translations"
+msgstr "&Преводи"
-msgid "Open in Editor"
-msgstr "Отвори у уређивачу"
+msgid "Find in comments"
+msgstr "&Коментари"
-msgid "Open in editor"
-msgstr "Отвори у уређивачу"
+msgid "Close"
+msgstr "&Затвори"
-#, c-format
-msgid "Error opening file %s!"
-msgstr "Грешка при отварању датотеке „%s“."
+msgid "Replace All"
+msgstr "Замени све"
+
+msgid "Replace all"
+msgstr "Замени све"
+
+msgid "< &Previous"
+msgstr "< П&ретходно"
+
+msgid "&Next >"
+msgstr "&Следеће >"
+
+msgid "String to find"
+msgstr "Жељени упит"
+
+msgid "Replacement string"
+msgstr "Замена"
#, c-format
msgid "Cannot execute program: %s"
@@ -853,6 +1037,55 @@ msgstr "Језик превода"
msgid "Language of the translation:"
msgstr "Језик превода:"
+msgid "Poedit Registration"
+msgstr "Poedit – регистрација"
+
+msgid "Name"
+msgstr "Име:"
+
+msgid "License Key"
+msgstr "Лиценцни кључ:"
+
+msgid "The registration key can be used on multiple computers you use personally or for multiple\naccounts on a single computer."
+msgstr "Лиценцни кључ се може користити на више личних рачунара\nили више корисничких налога на истом рачунару."
+
+msgid "Buy Online..."
+msgstr "Купи преко интернета…"
+
+msgid "Buy online..."
+msgstr "&Купи преко интернета…"
+
+msgid "Cancel"
+msgstr "&Откажи"
+
+msgid "Register"
+msgstr "&Региструј"
+
+msgid "Your copy is upgraded to Poedit Pro."
+msgstr "Програм је надограђен на Poedit Pro."
+
+msgid "You’re awesome! Thank you so much\nfor purchasing Poedit Pro."
+msgstr "Много вам хвала на куповини професионалне верзије Poedit-а."
+
+msgid "View License Key"
+msgstr "Погледај лиценцни кључ"
+
+msgid "View license key"
+msgstr "Погледај лиценцни кључ"
+
+#, c-format
+msgid "Licensed to: %s"
+msgstr "Лиценцирано на име: %s"
+
+msgid "Purchasing the full version will unlock more features\nin this and future versions of Poedit, including:\n\n"
+msgstr "Ако купите пуну верзију, откључаћете више функција\nу овој и наредним везијама Poedit-а, укључујући:\n\n"
+
+msgid "Upgrade..."
+msgstr "&Надогради…"
+
+msgid "No, thanks"
+msgstr "&Не, хвала"
+
msgid "Poedit - Catalogs manager"
msgstr "Poedit – управљач каталозима"
@@ -889,12 +1122,8 @@ msgstr "Желите ли да обришете пројекат?"
msgid "Confirmation"
msgstr "Потврда"
-msgid ""
-"Do you really want to do mass update of\n"
-"all catalogs in this project?"
-msgstr ""
-"Заиста желите да ажурирате све\n"
-"каталоге у овом пројекту?"
+msgid "Do you really want to do mass update of\nall catalogs in this project?"
+msgstr "Заиста желите да ажурирате све\nкаталоге у овом пројекту?"
msgid "Information about the translator"
msgstr "Информације о преводиоцу"
@@ -911,12 +1140,8 @@ msgstr "Е-адреса:"
msgid "your_email at example.com"
msgstr "vasa_adresa at primer.com"
-msgid ""
-"Your name and email address are only used to set the Last-Translator header "
-"of GNU gettext files."
-msgstr ""
-"Ваши име и е-адреса користе се да назначе последњег преводиоца у заглављу "
-"GNU gettext датотека."
+msgid "Your name and email address are only used to set the Last-Translator header of GNU gettext files."
+msgstr "Ваше име и е-адреса се користе да назначе последњег преводиоца у заглављу GNU gettext датотека."
msgid "Editing"
msgstr "Уређивање"
@@ -933,14 +1158,8 @@ msgstr "Провери правопис"
msgid "Always change focus to text input field"
msgstr "Увек промени &фокус на поље за унос текста"
-msgid ""
-"Never let the list of strings take focus. If enabled, you must use Ctrl-"
-"arrows for keyboard navigation but you can also type text immediately, "
-"without having to press Tab to change focus."
-msgstr ""
-"Не дозволите да списак порука заузме фокус. Ако омогућите, морате да "
-"користите Ctrl и стрелице да бисте се кретали кроз поруке, и не морате да "
-"притискате Tab да бисте променили фокус."
+msgid "Never let the list of strings take focus. If enabled, you must use Ctrl-arrows for keyboard navigation but you can also type text immediately, without having to press Tab to change focus."
+msgstr "Не дозволите да списак порука заузме фокус. Ако омогућите, морате да користите Ctrl и стрелице да бисте се кретали кроз поруке, и не морате да притискате Tab да бисте променили фокус."
msgid "Appearance"
msgstr "Изглед"
@@ -968,7 +1187,7 @@ msgid "Learn From Files..."
msgstr "&Научи из датотека…"
msgid "Learn from files..."
-msgstr "Изучи датотеке…"
+msgstr "&Научи из датотека…"
#. TRANSLATORS: This is a button that deletes everything in the translation memory (i.e. clears/resets it).
msgid "Reset"
@@ -977,16 +1196,30 @@ msgstr "Поништи"
msgid "Consult TM when updating from sources"
msgstr "Погледај преводилачку меморију при ажурирању из извора"
-msgid ""
-"If enabled, Poedit will try to fill in new entries using your previous\n"
-"translations stored in the translation memory. If the TM is\n"
-"near-empty, it will not be very effective. The more translations\n"
-"you edit and the larger the TM grows, the better it gets."
-msgstr ""
-"Ако омогућите, Poedit ће покушати да попуни нове уносе\n"
-"претходним преводима из преводилачке меморије.\n"
-"Ако је меморија скоро па празна, онда и нема много ефекта. Што више\n"
-"превода уређујете и што је већа база са преводима, то су бољи резултати."
+msgid "If enabled, Poedit will try to fill in new entries using your previous\ntranslations stored in the translation memory. If the TM is\nnear-empty, it will not be very effective. The more translations\nyou edit and the larger the TM grows, the better it gets."
+msgstr "Ако омогућите, Poedit ће покушати да попуни нове уносе\nпретходним преводима из преводилачке меморије.\nАко је меморија скоро па празна, онда и нема много ефекта. Што више\nпревода уређујете и што је већа база са преводима, то су бољи резултати."
+
+msgid "Use suggestions from online collaborative TM"
+msgstr "Користи предлоге превода из интернет преводилачке меморије"
+
+msgid "Poedit uses a large online translation memory that includes both contributed human translations and state-of-the-art machine translations."
+msgstr "Poedit користи велику интернет преводилачку меморију која садржи и људске и машинске преводе."
+
+msgid "Contribute my translations to the online TM"
+msgstr "Шаљи моје преводе у интернет преводилачку меморију"
+
+msgid "Keep my translations private"
+msgstr "Задржи моје преводе приватним"
+
+msgid "Ask me for each file individually"
+msgstr "Питај ме за сваку датотеку понаособ"
+
+msgid "Terms of Service"
+msgstr "Услови коришћења"
+
+#. TRANSLATORS: This is part of footer that says in full "powered by MyMemory", with the MyMemory part being a logo
+msgid "powered by"
+msgstr "покреће"
msgid "Stored translations:"
msgstr "Сачувани преводи:"
@@ -1012,13 +1245,8 @@ msgstr "Очисти преводилачку меморију"
msgid "Are you sure you want to reset the translation memory?"
msgstr "Желите ли да очистите преводилачку меморију?"
-msgid ""
-"Resetting the translation memory will irrevocably delete all stored "
-"translations from it. You can’t undo this operation."
-msgstr ""
-
-msgid "Cancel"
-msgstr "&Откажи"
+msgid "Resetting the translation memory will irrevocably delete all stored translations from it. You can’t undo this operation."
+msgstr "Ако поништите преводилачку меморију, обрисаћете све преводе у њој. Ова радња је неповратна."
#. TRANSLATORS: This is abbreviation of "Translation Memory" used in Preferences on OS X.
#. Long text looks weird there, too short (like TM) too, but less so. "General" is about ideal
@@ -1026,12 +1254,8 @@ msgstr "&Откажи"
msgid "TM"
msgstr "Меморија"
-msgid ""
-"Source code extractors are used to find translatable strings in the source "
-"code files and extract them so that they can be translated."
-msgstr ""
-"Издвајачи се користе за проналажење и издвајање ниски за превођење у "
-"датотекама изворног кода, како бисте их касније могли превести."
+msgid "Source code extractors are used to find translatable strings in the source code files and extract them so that they can be translated."
+msgstr "Издвајачи се користе за проналажење и издвајање ниски за превођење у датотекама изворног кода, како бисте их касније могли превести."
msgid "New"
msgstr "&Ново"
@@ -1039,29 +1263,33 @@ msgstr "&Ново"
msgid "Edit"
msgstr "&Уреди"
+msgid "Delete extractor"
+msgstr "Обриши издвајач"
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr "Заиста желите да обришете издвајач „%s“?"
+
msgid "Extractors"
msgstr "Издвајачи"
+msgid "Accounts"
+msgstr "Налози"
+
msgid "Automatically check for updates"
msgstr "Аутоматски проверавај има ли ажурирања"
msgid "Include beta versions"
msgstr "Укључи &бета верзије"
-msgid ""
-"Beta versions contain the latest new features and improvements, but may be a "
-"bit less stable."
-msgstr ""
-"Бета верзије садрже најновије функције и побољшања, али могу бити мање "
-"стабилне."
+msgid "Beta versions contain the latest new features and improvements, but may be a bit less stable."
+msgstr "Бета верзије садрже најновије функције и побољшања, али могу бити мање стабилне."
msgid "Updates"
msgstr "Ажурирања"
-msgid ""
-"These settings affect internal formatting of PO files. Adjust them if you "
-"have specific requirements e.g. because of version control."
-msgstr ""
+msgid "These settings affect internal formatting of PO files. Adjust them if you have specific requirements e.g. because of version control."
+msgstr "Ове поставке утичу на унутрашње обликовање PO датотека. Прилагодите их својим потребама, нпр. ако користите систем за контролу верзија."
msgid "Line endings:"
msgstr "Завршеци редова:"
@@ -1074,13 +1302,37 @@ msgstr "Windows"
#. TRANSLATORS: Followed by text control for entering number; wraps text at given width
msgid "Wrap at:"
-msgstr ""
+msgstr "Прелом:"
msgid "Preserve formatting of existing files"
-msgstr ""
+msgstr "Очувај обликовање постојећих датотека"
msgid "Advanced"
-msgstr ""
+msgstr "Напредно"
+
+msgid "Add Files..."
+msgstr "Додај датотеке…"
+
+msgid "Add files..."
+msgstr "Додај датотеке…"
+
+msgid "Add Folders..."
+msgstr "Додај фасцикле…"
+
+msgid "Add folders..."
+msgstr "Додај фасцикле…"
+
+msgid "Add Wildcard..."
+msgstr "Додај заменски знак…"
+
+msgid "Add wildcard..."
+msgstr "Додај заменски знак…"
+
+msgid "<big>Drag and Drop Folders Here</big>\n\nor use the + button"
+msgstr "<big>Овде превуците фасцикле</big>\n\nили кликните на дугме „+“"
+
+msgid "<big>Drag and drop folders here</big>\n\nor use the + button"
+msgstr "<big>Овде превуците фасцикле</big>\n\nили кликните на дугме „+“"
msgid "Additional keywords"
msgstr "Додатне кључне речи"
@@ -1092,7 +1344,7 @@ msgid "Excluded paths"
msgstr "Изузете путање"
msgid "Name of the project the translation is for"
-msgstr "Име пројекта на који се односи превод."
+msgstr "Име пројекта који се преводи."
msgid "e.g. nplurals=2; plural=(n > 1);"
msgstr "нпр. nplurals=2; plural=(n > 1);"
@@ -1101,8 +1353,10 @@ msgid "UTF-8 (recommended)"
msgstr "UTF-8 (препоручује се)"
msgid "Please save the file first. This section cannot be edited until then."
-msgstr ""
-"Прво сачувајте датотеку. Овај одељак не може да се уређује док то не урадите."
+msgstr "Прво сачувајте датотеку. Овај одељак не може да се уређује док то не урадите."
+
+msgid "Comment:"
+msgstr "Коментар:"
msgid "OK"
msgstr "&У реду"
@@ -1113,42 +1367,6 @@ msgstr "О&чисти"
msgid "Clear the comment"
msgstr "Очистите коментар."
-msgid "Find..."
-msgstr "Проналажење"
-
-msgid "String to find:"
-msgstr "Жељени упит:"
-
-msgid "Case sensitive"
-msgstr "&Разликуј мала и велика слова"
-
-msgid "Start from the first item"
-msgstr "По&чни од прве ставке"
-
-msgid "Whole words only"
-msgstr "&Само целе речи"
-
-msgid "Find in original strings"
-msgstr "&Изворне поруке"
-
-msgid "Find in translations"
-msgstr "&Преводи"
-
-msgid "Find in comments"
-msgstr "&Коментари"
-
-msgid "Find in automatic comments"
-msgstr "&Аутоматски коментари"
-
-msgid "Close"
-msgstr "&Затвори"
-
-msgid "< &Previous"
-msgstr "< П&ретходно"
-
-msgid "&Next >"
-msgstr "&Следеће >"
-
msgid "Create new translations project"
msgstr "Креирајте нови пројекат за превођење."
@@ -1185,9 +1403,6 @@ msgstr "&Затвори"
msgid "E&xit"
msgstr "&Изађи"
-msgid "Quit"
-msgstr "Изађи"
-
msgid "&New..."
msgstr "&Ново…"
@@ -1197,12 +1412,24 @@ msgstr "Нови каталог из &POT датотеке…"
msgid "New From &POT/PO File..."
msgstr "Нови каталог из &POT датотеке…"
+msgid "New WordPress translation..."
+msgstr "Нови превод за &WordPress…"
+
+msgid "New WordPress Translation..."
+msgstr "Нови превод за &WordPress…"
+
msgid "&Open..."
msgstr "&Отвори…"
msgid "Open Recent"
msgstr "Отварање недавне датотеке"
+msgid "Open from Crowdin..."
+msgstr "Отвори из Crowdin-а…"
+
+msgid "Open From Crowdin..."
+msgstr "Отвори из Crowdin-а…"
+
msgid "&Save"
msgstr "&Сачувај"
@@ -1219,7 +1446,10 @@ msgid "E&xport as HTML..."
msgstr "Извези као &HTML…"
msgid "Check for updates..."
-msgstr "&Провери има ли ажурирања…"
+msgstr "&Потражи ажурирања…"
+
+msgid "&License..."
+msgstr "&Лиценца…"
msgid "Catalogs &manager"
msgstr "&Управљач каталозима"
@@ -1251,14 +1481,17 @@ msgstr "Прикажи &референце"
msgid "&Find..."
msgstr "&Пронађи…"
+msgid "Replace..."
+msgstr "Замени…"
+
msgid "Find next"
msgstr "Пронађи &следеће"
msgid "Find previous"
msgstr "Пронађи пр&етходно"
-msgid "Find"
-msgstr "П&ронађи"
+msgid "Find and Replace..."
+msgstr "Пронађи и замени…"
msgid "Find Next"
msgstr "Пронађи &следеће"
@@ -1299,6 +1532,12 @@ msgstr "&Групиши по контексту"
msgid "&Group By Context"
msgstr "&Групиши по контексту"
+msgid "Entries with errors first"
+msgstr "Прво ставке са грешкама"
+
+msgid "Entries with Errors First"
+msgstr "Прво ставке са грешкама"
+
msgid "&Untranslated entries first"
msgstr "Прво н&епреведене ставке"
@@ -1308,6 +1547,9 @@ msgstr "Прво н&епреведене ставке"
msgid "Show sidebar"
msgstr "Прикажи бочну траку"
+msgid "Show status bar"
+msgstr "Прикажи статусну траку"
+
msgid "C&atalog"
msgstr "&Каталог"
@@ -1323,11 +1565,14 @@ msgstr "Ажурирај помоћу &POT датотеке…"
msgid "Update from &POT File..."
msgstr "Ажурирај помоћу &POT датотеке…"
+msgid "Sync with Crowdin"
+msgstr "Синхронизуј са Crowdin-ом"
+
msgid "Fill missing translations from &TM..."
-msgstr ""
+msgstr "Копирај из &преводилачке меморије…"
msgid "Fill Missing Translations from &TM..."
-msgstr ""
+msgstr "Копирај из &преводилачке меморије…"
msgid "&Purge deleted translations"
msgstr "&Очисти обрисане преводе"
@@ -1341,6 +1586,9 @@ msgstr "Провери &ваљаност превода"
msgid "&Validate Translations"
msgstr "Провери &ваљаност превода"
+msgid "&Statistics"
+msgstr "С&татистика"
+
msgid "&Properties..."
msgstr "&Својства…"
@@ -1386,6 +1634,12 @@ msgstr "Упутство за &GNU gettext"
msgid "&GNU gettext Manual"
msgstr "Упутство за &GNU gettext"
+msgid "Email &support..."
+msgstr "&Контактирај подршку…"
+
+msgid "Email &Support..."
+msgstr "&Контактирај подршку…"
+
msgid "&About Poedit"
msgstr "&О Poedit-у"
@@ -1402,54 +1656,37 @@ msgid "Invocation:"
msgstr "Позивање"
msgid "Command to extract translations:"
-msgstr "Команда за издвајање превода:"
+msgstr "Команда за издвајање изворног текста:"
-msgid ""
-"This is the command used to launch the extractor.\n"
-"%o expands to the name of output file, %K to list\n"
-"of keywords, %F to list of input files,\n"
-"%C to charset flag (see below)."
-msgstr ""
-"Ова команда користи се за покретање издвајача.\n"
-"%o се проширује на име излазне датотеке, %K на списак\n"
-"кључних речи, %F на списак улазних датотека,\n"
-"%C на ознаку кодирања (погледајте испод)."
+msgid "This is the command used to launch the extractor.\n%o expands to the name of output file, %K to list\nof keywords, %F to list of input files,\n%C to charset flag (see below)."
+msgstr "Ова команда се користи за покретање издвајача.\n%o означава име излазне датотеке, %K списак\nкључних речи, %F списак улазних датотека,\n%C ознаку кодирања (погледајте испод)."
msgid "An item in keywords list:"
msgstr "Ставка у списку кључних речи:"
-msgid ""
-"This will be attached to the command line once\n"
-"for each keyword. %k expands to the keyword."
-msgstr ""
-"Ово ће бити прикључено на командну линију једном\n"
-"за сваку кључну реч. Ознака %k представља кључну реч."
+msgid "This will be attached to the command line once\nfor each keyword. %k expands to the keyword."
+msgstr "Ово ће бити прикачено на командну линију по једном\nза сваку кључну реч. Ознака %k представља кључну реч."
msgid "An item in input files list:"
msgstr "Ставка у списку улазних датотека:"
#, c-format
-msgid ""
-"This will be attached to the command line once\n"
-"for each input file. %f expands to the filename."
-msgstr ""
-"Ово ће бити прикључено на командну линију једном\n"
-"за сваку улазну датотеку. Ознака %f представља име датотеке."
+msgid "This will be attached to the command line once\nfor each input file. %f expands to the filename."
+msgstr "Ово ће бити прикачено на командну линију по једном\nза сваку улазну датотеку. Ознака %f представља име датотеке."
msgid "Source code charset:"
msgstr "Кодирање изворног кода:"
#, c-format
-msgid ""
-"This will be attached to the command line\n"
-"only if source codecharset was given. %c expands to charset value."
-msgstr ""
-"Ово ће бити прикључено на командну линију само ако је наведено\n"
-"кодирање извора. Ознака %c представља вредност скупа знакова."
+msgid "This will be attached to the command line\nonly if source codecharset was given. %c expands to charset value."
+msgstr "Ово ће бити прикачено на командну линију само ако је наведено\nкодирање извора. Ознака %c представља вредност скупа знакова."
msgid "Catalog properties"
msgstr "Својства каталога"
+msgid "Project name and version:"
+msgstr "Име пројекта и верзија:"
+
msgid "Plural Forms:"
msgstr "Облици за множину:"
@@ -1462,6 +1699,15 @@ msgstr "Прилагођени &израз:"
msgid "Learn about plural forms"
msgstr "Више о облицима за множину"
+msgid "Charset:"
+msgstr "Кодирање:"
+
+msgid "Team:"
+msgstr "Тим:"
+
+msgid "Team's email address:"
+msgstr "Е-адреса тима:"
+
msgid "Translation properties"
msgstr "Својства превода"
@@ -1474,12 +1720,8 @@ msgstr "Основна путања:"
msgid "Sources paths"
msgstr "Путање извора"
-msgid ""
-"Use these keywords (function names) to recognize translatable strings\n"
-"in source files:"
-msgstr ""
-"Користите ове кључне речи (имена функција) за препознавање\n"
-"преводивих порука у изворним датотекама."
+msgid "Use these keywords (function names) to recognize translatable strings\nin source files:"
+msgstr "Користите ове кључне речи (имена функција) за препознавање\nпреводивих ниски у изворним датотекама."
msgid "Learn about gettext keywords"
msgstr "Више о кључним речима gettext-а"
@@ -1490,25 +1732,17 @@ msgstr "Кључне речи извора"
msgid "Update summary"
msgstr "Резиме ажурирања"
-msgid ""
-"These strings were found in the sources but were not in the catalog.\n"
-"Poedit will add them to the catalog now."
-msgstr ""
-"Ове поруке су пронађене у изворној датотеци,\n"
-"али их нема у каталогу. Сада ће бити додате."
+msgid "These strings were found in the sources but were not in the catalog.\nPoedit will add them to the catalog now."
+msgstr "Ове ниске су пронађене у изворној датотеци,\nали их нема у каталогу. Сада ће бити додате."
msgid "New strings"
-msgstr "Нове поруке"
+msgstr "Нове ниске"
-msgid ""
-"These strings are no longer in the sources.\n"
-"Poedit will remove them from the catalog now."
-msgstr ""
-"Ове поруке више нису у изворној датотеци.\n"
-"Оне ће бити уклоњене из каталога."
+msgid "These strings are no longer in the sources.\nPoedit will remove them from the catalog now."
+msgstr "Ове ниске више нису у изворној датотеци.\nОне ће бити уклоњене из каталога."
msgid "Obsolete strings"
-msgstr "Застареле поруке"
+msgstr "Застареле ниске"
msgid "(0 new, 0 obsolete)"
msgstr "(0 нових, 0 застарелих)"
@@ -1525,6 +1759,12 @@ msgstr "Провери ваљаност"
msgid "Check for errors in the translation"
msgstr "Проверите има ли грешака у преводу."
+msgid "Statistics"
+msgstr "Статистика"
+
+msgid "Show translation statistics"
+msgstr "Прикажи статистику превода"
+
msgid "Update"
msgstr "Ажурирај"
@@ -1534,17 +1774,21 @@ msgstr "Ажурирајте каталог и ускладите га са из
msgid "Toggled if selected string has fuzzy translation"
msgstr "Поставите ознаку приближног превода или је уклоните."
-msgid "Show or hide the sidebar."
+msgid "Sidebar"
+msgstr "Бочна трака"
+
+msgid "Show or hide the sidebar"
msgstr "Прикажите или сакријте бочну траку."
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
msgid "Previous source text:"
msgstr "Претходна верзија изворног текста:"
-msgid ""
-"The old source text (before it changed during an update) that the fuzzy "
-"translation corresponds to."
-msgstr ""
+msgid "The old source text (before it changed during an update) that the fuzzy translation corresponds to."
+msgstr "Стари изворни текст (до ажурирања) на који се односи приближан превод."
+
+msgid "Notes for translators:"
+msgstr "Напомене за преводиоце:"
msgid "Add comment"
msgstr "Додај коментар"
@@ -1552,6 +1796,18 @@ msgstr "Додај коментар"
msgid "Add Comment"
msgstr "Додај коментар"
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(from your TM)"
+msgstr "(из ваше преводилачке меморије)"
+
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(machine translation)"
+msgstr "(машински превод)"
+
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(human translation)"
+msgstr "(људски превод)"
+
msgid "Translation suggestions:"
msgstr "Предлози преводa:"
@@ -1564,7 +1820,87 @@ msgid "No Matches Found"
msgstr "Нема резултата"
msgid "This string was found in Poedit’s translation memory."
-msgstr "Ова порука је пронађена у преводилачкој меморији Poedit-а."
+msgstr "Ова ниска је пронађена у преводилачкој меморији Poedit-а."
+
+msgid "This suggestion was contributed by another translator to the online TM."
+msgstr "Овај предлог је послао други преводилац у интернет преводилачку меморију."
+
+msgid "This suggestion was machine-translated online."
+msgstr "Овај предлог је машински преведен."
+
+#, c-format
+msgid "%d out of %d online suggestion left."
+msgid_plural "%d out of %d online suggestions left."
+msgstr[0] "Преостао %d од %d предлога на мрежи."
+msgstr[1] "Преостала %d од %d предлога на мрежи."
+msgstr[2] "Преостало %d од %d предлога на мрежи."
+msgstr[3] "Преостало %d од %d предлога на мрежи."
+
+msgid "Remove this limitation"
+msgstr "Уклони ово ограничење"
+
+msgid "Not showing additional online suggestions."
+msgstr "Додатни предлози са мреже нису приказани."
+
+msgid "Unlock online suggestions"
+msgstr "Откључај предлоге са мреже"
+
+msgid "Exceeded online TM daily limit."
+msgstr "Достигнуто је дневно ограничење интернет преводилачке меморије."
+
+msgid "Connect to the Internet to get additional suggestions."
+msgstr "Повежите се на интернет да бисте добили додатне предлоге."
+
+#. TRANSLATORS: Label indicating that translations made in the current file are contributed to the online translation memory. Related to the "Contribute my translations to the online TM" string.
+msgid "Contributing"
+msgstr "Допринос"
+
+msgid "Your translations are contributed to the online translation memory as you make them. Thanks for making the suggestions better!"
+msgstr "Ваши преводи се шаљу у интернет преводилачку меморију док их правите. Хвала вам што побољшавате предлоге!"
+
+#. TRANSLATORS: Label indicating that the current file
+msgid "Private"
+msgstr "Приватно"
+
+msgid "Translations from this file are not shared with the online translation memory."
+msgstr "Преводи из ове датотеке се не шаљу у интернет преводилачку меморију."
+
+msgid "Privacy settings"
+msgstr "Поставке приватности"
+
+#, c-format
+msgid "While editing the file “%s”:"
+msgstr "При уређивању датотеке „%s“:"
+
+msgid "Items"
+msgstr "Ставке"
+
+msgid "Words"
+msgstr "Речи"
+
+msgid "Translated"
+msgstr "Преведено"
+
+msgid "Needs review (fuzzy)"
+msgstr "Потребна рецензија (приближан превод)"
+
+msgid "Translations with errors"
+msgstr "Преводи са грешкама"
+
+msgid "Source Text"
+msgstr "Изворни текст"
+
+msgid "Strings in source language"
+msgstr "Ниске на изворном језику"
+
+msgid "Not translated"
+msgstr "Непреведено"
+
+msgid "Copy to clipboard"
+msgstr "Копирај"
+
+msgid "Copy to Clipboard"
+msgstr "Копирај"
#, c-format
msgid "(New: %i, obsolete: %i)"
@@ -1582,17 +1918,13 @@ msgstr "Припремам премештање…"
#, c-format
msgid "Migration exit status: %d"
-msgstr "Излазни статус премештања: %d"
+msgstr "Статус завршног премештања: %d"
msgid "Poedit needs to convert your translation memory to a new format."
msgstr "Poedit треба да конвертује вашу преводилачку меморију у нови формат."
-msgid ""
-"This must be done before Poedit can start. It may take a few minutes if you "
-"have lots of translations stored, but should normally be much faster."
-msgstr ""
-"Ово мора бити урађено пре покретања програма. Може потрајати и неколико "
-"минута ако имате сачувано доста превода, али је најчешће доста брже."
+msgid "This must be done before Poedit can start. It may take a few minutes if you have lots of translations stored, but should normally be much faster."
+msgstr "Ово мора бити урађено пре покретања програма. Радња може потрајати и неколико минута ако сте сачували много превода, али је обично доста брже."
msgid "Proceed"
msgstr "Настави"
@@ -1601,73 +1933,174 @@ msgid "Translation memory migration failed."
msgstr "Не могу да преместим преводилачку меморију."
#, c-format
-msgid ""
-"Your translation memory data couldn't be migrated. The error was:\n"
-"\n"
-"%s\n"
-"Please email help at poedit.net and we’ll get it fixed."
-msgstr ""
-"Не могу да преместим податке преводилачке меморије. Грешка:\n"
-"\n"
-"%s\n"
-"Пошаљите е-поруку на help at poedit.net а ми ћемо покушати да решимо проблем."
+msgid "Your translation memory data couldn't be migrated. The error was:\n\n%s\nPlease email help at poedit.net and we’ll get it fixed."
+msgstr "Не могу да преместим податке преводилачке меморије. Грешка:\n\n%s\nПошаљите е-поруку на help at poedit.net а ми ћемо покушати да решимо проблем."
msgid "Cannot create temporary directory."
msgstr "Не могу да креирам привремену фасциклу."
+msgid "Check theme or plugin compatibility"
+msgstr "Провери компатибилност теме или додатка"
+
msgid "Welcome to Poedit"
msgstr "Добро дошли у Poedit"
+msgid "Upgrade to Pro"
+msgstr "Надоградња на Pro верзију"
+
+msgid "Upgrade to Poedit Pro to get additional features and support Poedit's development."
+msgstr "Надоградите на Poedit Pro да бисте добили додатне функције и подржали развој програма."
+
msgid "Edit a translation"
msgstr "Уреди превод"
msgid "Open an existing PO file and edit the translation."
msgstr "Отворите постојећу PO датотеку и уредите превод."
-msgid "Create new translation"
-msgstr "Креирај нови превод"
-
-msgid ""
-"Take an existing PO file or POT template and create a new translation from "
-"it."
+msgid "Take an existing PO file or POT template and create a new translation from it."
msgstr "Креирајте нови превод из постојеће PO или POT датотеке."
+msgid "Translate WordPress theme or plugin"
+msgstr "Преведи тему или прикључак за WordPress"
+
+#. TRANSLATORS: Please don't use any form of "automatically" in the translation, it would mislead people.
+msgid "Create a new translation. Poedit will set everything up; you can focus on translating."
+msgstr "Креирајте нови превод. Poedit ће све подесити; ви се усредсредите на превођење."
+
+msgid "Collaborate on a translation with Crowdin"
+msgstr "Сарађујте у превођењу на Crowdin-у"
+
+msgid "Download a file from Crowdin project, translate and sync your changes back."
+msgstr "Преузмите датотеку са пројекта Crowdin, преведите је и синхронизујте своје измене."
+
+msgid "What is Crowdin?"
+msgstr "Шта је Crowdin?"
+
msgid "There are no translations. That’s unusual."
-msgstr "Нема превода. То је неуобичајено."
+msgstr "Нема превода. То је необично."
-msgid ""
-"Translatable entries aren't added manually in the Gettext system, but are "
-"automatically extracted\n"
-"from source code. This way, they stay up to date and accurate.\n"
-"Translators typically use PO template files (POTs) prepared for them by the "
-"developer."
-msgstr ""
-"Преводљиве ставке се не додају ручно у „Gettext“ систем, већ се аутоматски "
-"издвајају\n"
-"из изворног кода. На овај начин оне остају ажурне и тачне.\n"
-"Преводиоци углавном користе „PO“ шаблонске датотеке (POT) које припремају "
-"програмери."
+msgid "Translatable entries aren't added manually in the Gettext system, but are automatically extracted\nfrom source code. This way, they stay up to date and accurate.\nTranslators typically use PO template files (POTs) prepared for them by the developer."
+msgstr "Преводиве ставке се не додају ручно у gettext систем, већ се аутоматски издвајају\nиз изворног кода. На овај начин остају ажурне и тачне.\nПреводиоци углавном користе PO датотеке шаблона (POT) које припремају програмери."
msgid "(Learn more about GNU gettext)"
msgstr "(сазнајте више о GNU gettext-у)"
msgid "The simplest way to fill this catalog is to update it from a POT:"
-msgstr ""
-"Најједноставнији начин да попуните овај каталог јесте да га ажурирате помоћу "
-"POT датотеке:"
+msgstr "Најједноставнији начин да попуните овај каталог јесте да га ажурирате помоћу POT датотеке:"
msgid "Update from POT"
msgstr "Ажурирај помоћу POT датотеке"
msgid "Take translatable strings from an existing POT template."
-msgstr "Копирајте поруке за превођење из постојећег POT шаблона."
+msgstr "Копирајте преводиве ниске из постојећег POT шаблона."
-msgid ""
-"You can also extract translatable strings directly from the source code:"
-msgstr "Поруке за превођење такође можете директно издвојити из изворног кода:"
+msgid "You can also extract translatable strings directly from the source code:"
+msgstr "Преводиве ниске можете издвојити и директно из изворног кода:"
msgid "Extract from sources"
-msgstr "Издвоји из извора"
+msgstr "Издвој из извора"
msgid "Configure source code extraction in Properties."
-msgstr "Подесите издвајање изворног кода у „Својствима“."
+msgstr "Подесите издвајање из изворног кода у „Својствима“."
+
+#, c-format
+msgid "Failed to read file '%s'."
+msgstr "Не могу да прочитам датотеку „%s“."
+
+#, c-format
+msgid "Confused by ambiguous values of \"%s\" in %s."
+msgstr "Забуна због двосмислених вредности „%s“ у %s."
+
+#, c-format
+msgid "Couldn't detect POs location for \"%s\"."
+msgstr "Не могу да пронађем локацију PO датотека за „%s“."
+
+#, c-format
+msgid "The \"%s\" theme isn't localization-ready."
+msgstr "Тема „%s“ није спремна за локализацију."
+
+msgid "Confused: multiple main plugin files."
+msgstr "Забуна: вишестуке датотеке главног додатка."
+
+#, c-format
+msgid "The \"%s\" plugin isn't localization-ready."
+msgstr "Додатак „%s“ није спреман за локализацију."
+
+#, c-format
+msgid "Couldn't detect translation domain of the \"%s\" plugin."
+msgstr "Не могу да пронађем домен превода за додатак „%s“."
+
+msgid "Found neither WordPress theme nor plugin in the folder."
+msgstr "У фасцикли није пронађена ни тема ни додатак за WordPress."
+
+#, c-format
+msgid "Translations folder (%s) doesn't exist."
+msgstr "Фасцикла са преводима (%s) не постоји."
+
+msgid "<big>Drag and drop <b>theme or plugin folder</b> here</big>\n\nor use the “Choose folder” button"
+msgstr "<big>Овде превуците <b>фасциклу са темама или додацима</b> </big>\n\nили кликните на дугме „Изабери фасциклу“."
+
+msgid "<big>Drag and Drop <b>Theme or Plugin Folder</b> Here</big>\n\nor use the “Choose Folder” button"
+msgstr "<big>Овде превуците <b>фасциклу са темама или додацима</b> </big>\n\nили кликните на дугме „Изабери фасциклу“."
+
+#, c-format
+msgid "Folder “%s”"
+msgstr "Фасцикла „%s“"
+
+msgid "Choose Folder..."
+msgstr "Изабери фасциклу…"
+
+msgid "Choose folder..."
+msgstr "Изабери фасциклу…"
+
+msgid "Create a new translation"
+msgstr "Креирај нови превод"
+
+msgid "Choose this if you want to translate the theme or plugin into your language."
+msgstr "Изаберите ово ако желите да преведете тему или додатак на свој језик."
+
+msgid "Create a POT"
+msgstr "Креирај POT датотеку"
+
+msgid "This option is for theme and plugin developers. Poedit will create an empty template (POT) that translations can be based on."
+msgstr "Ова опција је намењена програмерима тема и додатака. Poedit ће направити празан шаблон (POT) који је база за преводе."
+
+msgid "Continue"
+msgstr "Настави"
+
+msgid "Failed to extract WordPress information."
+msgstr "Не могу да издвојим информације о WordPress-у."
+
+msgid "WordPress error"
+msgstr "Грешка WordPress-а"
+
+#, c-format
+msgid "Poedit couldn’t understand the content of the folder you selected. This may be a problem with the plugin/theme or it may be Poedit being silly. The error is:\n\n • %s\n\nPlease email help at poedit.net and we’ll sort it out."
+msgstr "Не могу да препознам садржај фасцикле коју сте изабрали. Можда је проблем до додатка/теме или се Poedit чудно понаша. Грешка:\n\n • %s\n\nПошаљите е-поруку на help at poedit.net а ми ћемо покушати да решимо проблем."
+
+#. TRANSLATORS: This is a button that sends an email to support when clicked
+msgid "Email support"
+msgstr "Контактирај подршку"
+
+msgid "View log"
+msgstr "Погледај евиденцију"
+
+#. TRANSLATORS: This is a button that sends an email to support when clicked
+msgid "Email Support"
+msgstr "Контактирај подршку"
+
+msgid "View Log"
+msgstr "Погледај евиденцију"
+
+msgid "WordPress Errors Log"
+msgstr "Евиденције са грешкама WordPress-а"
+
+msgid "Please email this log to help at poedit.net. Thank you!"
+msgstr "Молимо вас да пошаљете овај извештај на help at poedit.net. Хвала!"
+
+msgid "Sync"
+msgstr "Синхронизација"
+
+msgid "Synchronize the translation with Crowdin"
+msgstr "Синхронизујте превод са Crowdin-ом"
+
diff --git a/locales/sv.mo b/locales/sv.mo
index ae85d3f..bdf4960 100644
Binary files a/locales/sv.mo and b/locales/sv.mo differ
diff --git a/locales/sv.po b/locales/sv.po
index 1745318..3be5940 100644
--- a/locales/sv.po
+++ b/locales/sv.po
@@ -1,9 +1,9 @@
msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
-"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:42-0400\n"
+"Report-Msgid-Bugs-To: poedit at googlegroups.com\n"
+"POT-Creation-Date: 2015-05-11 08:48+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Swedish\n"
"Language: sv_SE\n"
@@ -16,6 +16,40 @@ msgstr ""
"X-Crowdin-Language: sv-SE\n"
"X-Crowdin-File: /locales/poedit.pot\n"
+#. TRANSLATORS: This is titlebar of about dialog, "%s" is application name
+#. ("Poedit" here, but please use "%s")
+#, c-format
+msgid "About %s"
+msgstr "Om %s"
+
+#. TRANSLATORS: This is version information in about dialog, "%s" will be
+#. version number when used
+#, c-format
+msgid "Version %s"
+msgstr "Version %s"
+
+msgid "Based on the open source version →"
+msgstr "Baserat på öppen källkodsversionen →"
+
+msgid "Acknowledgements"
+msgstr "Tack till"
+
+msgid "Rate on the App Store"
+msgstr "Betyg på App Store"
+
+msgid "License Agreement"
+msgstr "Licensavtal"
+
+#, c-format
+msgid "Licensed to %s"
+msgstr "Licensierad till %s"
+
+msgid "Purchased on the Mac App Store"
+msgstr "Köpt på Mac App Store"
+
+msgid "Free version (please upgrade!)"
+msgstr "Fri version (Vänligen uppgradera!)"
+
msgid "Hide this notification message"
msgstr "Dölj det här meddelandet"
@@ -39,57 +73,46 @@ msgstr "Rad %d i filen '%s' är skadad (inte giltig %s-data)."
msgid "Malformed header: '%s'"
msgstr "Felaktig header: '%s'"
-msgid ""
-"Broken catalog file: singular form msgstr used together with msgid_plural"
-msgstr ""
-"Trasig katalogfil: singularformen msgstr används tillsammans med msgid_plural"
+msgid "Broken catalog file: singular form msgstr used together with msgid_plural"
+msgstr "Trasig katalogfil: singularformen msgstr används tillsammans med msgid_plural"
msgid "Broken catalog file: plural form msgstr used without msgid_plural"
msgstr "Trasig katalogfil: pluralformen msgstr används utan msgid_plural"
-msgid ""
-"There were errors when loading the catalog. Some data may be missing or "
-"corrupted as the result."
-msgstr ""
-"Det uppstod fel vid läsning av katalogen. Som resultat kan vissa uppgifter "
-"saknas eller ha skadats."
+msgid "There were errors when loading the catalog. Some data may be missing or corrupted as the result."
+msgstr "Det uppstod fel vid läsning av katalogen. Som resultat kan vissa uppgifter saknas eller ha skadats."
#, c-format
msgid "Couldn't load file %s, it is probably corrupted."
msgstr "Det gick inte att läsa filen %s, den är förmodligen skadad."
#, c-format
-msgid ""
-"File '%s' is read-only and cannot be saved.\n"
-"Please save it under different name."
-msgstr ""
-"Filen '%s' är skrivskyddad och kan inte sparas.\n"
-"Spara den under ett annat namn."
+msgid "File '%s' is read-only and cannot be saved.\nPlease save it under different name."
+msgstr "Filen '%s' är skrivskyddad och kan inte sparas.\nSpara den under ett annat namn."
#, c-format
msgid "Couldn't save file %s."
msgstr "Det gick inte att spara filen %s."
-msgid ""
-"There was a problem formatting the file nicely (but it was saved all right)."
-msgstr ""
-"Det uppstod ett problem med att formatera filen snyggt (men den sparades "
-"okej)."
+msgid "There was a problem formatting the file nicely (but it was saved all right)."
+msgstr "Det uppstod ett problem med att formatera filen snyggt (men den sparades okej)."
#, c-format
-msgid ""
-"The catalog couldn't be saved in '%s' charset as specified in catalog "
-"settings.\n"
-"\n"
-"It was saved in UTF-8 instead and the setting was modified accordingly."
-msgstr ""
-"Katalogen kunde inte sparas i '%s' som anges i kataloginställningar. \n"
-"\n"
-"Den sparades i UTF-8 istället och inställningen ändrades därefter."
+msgid "The catalog couldn't be saved in '%s' charset as specified in catalog settings.\n\nIt was saved in UTF-8 instead and the setting was modified accordingly."
+msgstr "Katalogen kunde inte sparas i '%s' som anges i kataloginställningar. \n\nDen sparades i UTF-8 istället och inställningen ändrades därefter."
msgid "Error saving catalog"
msgstr "Fel vid sparande av katalog"
+msgid "PO Translation Files"
+msgstr "PO-översättningsfiler"
+
+msgid "POT Translation Templates"
+msgstr "POT-översättningsmallar"
+
+msgid "All Translation Files"
+msgstr "Alla översättningsfiler"
+
msgid "Merging differences..."
msgstr "Sammanfogar skillnader..."
@@ -109,6 +132,81 @@ msgstr "Språkval"
msgid "You must restart Poedit for this change to take effect."
msgstr "Du måste starta om Poedit för att denna ändring ska träda i kraft."
+msgid "Downloading translations is disabled in this project."
+msgstr "Nedladdning av översättningar är inaktiverade i detta projekt."
+
+msgid "Not authorized, please sign in again."
+msgstr "Inte behörig, vänligen logga in igen."
+
+msgid "Sign in to Crowdin"
+msgstr "Logga in till Crowdin"
+
+msgid "Crowdin is an online localization management platform and collaborative translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr "Crowdin är en online plattform för att hantera översättningar och ett verktyg för att samarbeta med översättningar. Poedit kan smidigt synkronisera PO-filer som hanteras på Crowdin."
+
+msgid "Sign In"
+msgstr "Logga in"
+
+msgid "Sign in"
+msgstr "Logga in"
+
+msgid "Sign Out"
+msgstr "Logga ut"
+
+msgid "Sign out"
+msgstr "Logga ut"
+
+msgid "Waiting for authentication…"
+msgstr "Väntar på verifiering…"
+
+msgid "Updating user information…"
+msgstr "Uppdaterar användarinformation…"
+
+msgid "Signed in as:"
+msgstr "Inloggad som:"
+
+msgid "Learn More About Crowdin"
+msgstr "Lär dig mer om Crowdin"
+
+msgid "Learn more about Crowdin"
+msgstr "Lär dig mer om Crowdin"
+
+msgid "Open Crowdin translation"
+msgstr "Öppna Crowdin-översättning"
+
+msgid "Project:"
+msgstr "Projekt:"
+
+msgid "Language:"
+msgstr "Språk:"
+
+msgid "File:"
+msgstr "Fil:"
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr "Inga översättningsprojekt finns på ditt Crowdin-konto."
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr "Detta projekt har inga filer som kan översättas i Poedit."
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr "Denna fil kan endast redigeras i Crowdin:s webbgränssnitt."
+
+msgid "Downloading latest translations…"
+msgstr "Hämtar senaste översättning…"
+
+msgid "Syncing with Crowdin"
+msgstr "Synkroniserar med Crowdin"
+
+msgid "Syncing with Crowdin failed."
+msgstr "Synkroniserar med Crowdin misslyckades."
+
+msgid "Crowdin error"
+msgstr "Crowdin-fel"
+
+msgid "Uploading translations…"
+msgstr "Laddar upp översättning…"
+
msgid "&Copy"
msgstr "&Kopiera"
@@ -136,25 +234,43 @@ msgstr "Parsar %s filer..."
msgid "Failed to load extracted catalog."
msgstr "Det gick inte att läsa extraherad katalog"
+#, c-format
+msgid "Failed to extract WordPress metadata from file %s."
+msgstr "Det gick inte att extrahera WordPress metadata från filen %s."
+
msgid "&Help"
msgstr "&Hjälp"
+msgid "Beta expired"
+msgstr "Betaperioden har löpt ut"
+
+msgid "This beta version of Poedit expired."
+msgstr "Betaperioden för Poedit har tagit slut."
+
+msgid "Please download a newer version from the Poedit website at http://poedit.net/download"
+msgstr "Vänligen ladda ner en nyare version från Poedits webbplats på http://poedit.net/download"
+
+msgid "Download"
+msgstr "Hämta"
+
+msgid "Quit"
+msgstr "Avsluta"
+
msgid "MO files can’t be directly edited in Poedit."
msgstr "MO-filer kan inte öppnas med Poedit."
msgid "Error opening file"
msgstr "Problem när filen lästes in"
-msgid ""
-"Please open and edit the corresponding PO file instead. When you save it, "
-"the MO file will be updated as well."
-msgstr ""
-"Öppna och redigera motsvarande PO-fil i stället. När du sparar den, "
-"uppdateras MO-filen också."
+msgid "Please open and edit the corresponding PO file instead. When you save it, the MO file will be updated as well."
+msgstr "Öppna och redigera motsvarande PO-fil i stället. När du sparar den, uppdateras MO-filen också."
msgid "don't delete temporary files (for debugging)"
msgstr "ta inte bort temporära filer (för felsökning)"
+msgid "handle a poedit:// URI"
+msgstr "hantera en poedit:// URI"
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr "Ohanterat undantag inträffade: %s"
@@ -165,34 +281,19 @@ msgstr "Ohanterat undantag inträffade."
msgid "Open catalog"
msgstr "Öppna katalog"
-msgid "All Files"
-msgstr "Alla filer"
-
-msgid "PO Translation Files"
-msgstr "PO-översättningsfiler"
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "Fil '%s' finns inte."
-#. TRANSLATORS: This is titlebar of about dialog, "%s" is application name
-#. ("Poedit" here, but please use "%s")
-#, c-format
-msgid "About %s"
-msgstr "Om %s"
-
-#. TRANSLATORS: This is version information in about dialog, "%s" will be
-#. version number when used
-#, c-format
-msgid "Version %s"
-msgstr "Version %s"
-
msgid "Poedit is an easy to use translations editor."
msgstr "Poedit är en lättanvänd översättningseditor."
msgid "Catalogs Manager"
msgstr "Kataloghanterare"
+msgid "License..."
+msgstr "Licens..."
+
msgid "Check for Updates..."
msgstr "Sök efter uppdateringar..."
@@ -274,6 +375,15 @@ msgstr "Sluta tala"
msgid "&View"
msgstr "&Visa"
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
+msgid "Show Toolbar"
+msgstr "Visa verktygsfält"
+
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
+msgid "Customize Toolbar…"
+msgstr "Anpassa verktygsfält…"
+
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
msgid "Enter Full Screen"
msgstr "Helskärm"
@@ -289,19 +399,28 @@ msgstr "Zooma"
msgid "Bring All to Front"
msgstr "Lägg alla överst"
+#. TRANSLATORS:File kind displayed in Finder/Explorer
msgid "PO Translation"
msgstr "PO-översättning"
+msgid "Invalid license data."
+msgstr "Ogiltiga licensdata."
+
+msgid "Poedit"
+msgstr "Poedit"
+
+#, c-format
+msgid "The link doesn't contain valid Poedit license. Try entering it manually or contact support at help at poedit.net.\n\n(%s)"
+msgstr "Länken innehåller ingen giltig Poedit-licens. Prova att ange den manuellt eller kontakta support på help at poedit.net.\n\n(%s)"
+
msgid "The file cannot be opened."
msgstr "Filen kan inte öppnas."
msgid "Invalid file"
msgstr "Ogiltig fil"
-msgid ""
-"The file may be either corrupted or in a format not recognized by Poedit."
-msgstr ""
-"Filen kan vara skadad eller i ett format som inte känns igen av Poedit."
+msgid "The file may be either corrupted or in a format not recognized by Poedit."
+msgstr "Filen kan vara skadad eller i ett format som inte känns igen av Poedit."
msgid "&Undo"
msgstr "&Ångra"
@@ -378,9 +497,6 @@ msgstr "Du kan inte släppa mer än en fil på fönstret för Poedit."
msgid "File '%s' is not a message catalog."
msgstr "Fil '%s' är inte en meddelandekatalog."
-msgid "Poedit"
-msgstr "Poedit"
-
msgid "&File"
msgstr "&Arkiv"
@@ -399,15 +515,21 @@ msgstr "Plural:"
msgid "Translation:"
msgstr "Översättning:"
+msgid "POT files are only templates and don’t contain any translations themselves.\nTo make a translation, create a new PO file based on the template."
+msgstr "POT-filer är endast mallar och innehåller inte själv några översättningar.\nFör att göra en översättning, skapa en ny PO-fil baserad på mallen."
+
+msgid "Create New Translation"
+msgstr "Skapa ny översättning"
+
+msgid "Create new translation"
+msgstr "Skapa ny översättning"
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
#, c-format
-msgid ""
-"Spellchecking is disabled, because the dictionary for %s isn’t installed."
-msgstr ""
-"Stavningskontroll är inaktiverad, eftersom ordboken för %s inte är "
-"installerad."
+msgid "Spellchecking is disabled, because the dictionary for %s isn’t installed."
+msgstr "Stavningskontroll är inaktiverad, eftersom ordboken för %s inte är installerad."
msgid "Install"
msgstr "Installera"
@@ -448,8 +570,30 @@ msgstr "HTML-filer"
msgid "Open catalog template"
msgstr "Öppna mall för katalog"
-msgid "POT Translation Templates"
-msgstr "POT-översättningsmallar"
+msgid "WordPress"
+msgstr "WordPress"
+
+msgid "Analyzing WordPress code..."
+msgstr "Analyserar WordPress-kod..."
+
+msgid "Select the folder with the WordPress theme or plugin"
+msgstr "Välj mappen med wordpresstemat eller insticksmodulen"
+
+#. TRANSLATORS: %s is name of a WordPress theme
+#, c-format
+msgid "The “%s” theme is compatible."
+msgstr "Temat \"%s\" är kompatibelt."
+
+#. TRANSLATORS: %s is name of a WordPress plugin
+#, c-format
+msgid "The “%s” plugin is compatible."
+msgstr "Insticksmodulen \"%s\" är kompatibel."
+
+msgid "The theme is translation-ready and compatible with Poedit’s WordPress support."
+msgstr "Temat är redo för översättning och kompatibel med Poedit's WordPress stöd."
+
+msgid "The plugin is translation-ready and compatible with Poedit’s WordPress support."
+msgstr "Plugin är översättning-klar och kompatibel med Poedit's WordPress stöd."
msgid "Updating catalog"
msgstr "Uppdaterar katalog"
@@ -460,19 +604,14 @@ msgstr "Ingen källkod tillgänglig."
msgid "Updating failed"
msgstr "Uppdatering misslyckades"
-msgid ""
-"Translations couldn’t be updated from the source code, because no code was "
-"found in the location specified in the catalog’s Properties."
-msgstr ""
-"Översättningar kunde inte uppdateras från källkoden, eftersom ingen kod "
-"hittades i den plats som anges i katalogens egenskaper."
+msgid "Translations couldn’t be updated from the source code, because no code was found in the location specified in the catalog’s Properties."
+msgstr "Översättningar kunde inte uppdateras från källkoden, eftersom ingen kod hittades i den plats som anges i katalogens egenskaper."
msgid "Entries in the catalog are probably incorrect."
msgstr "Poster i katalogen är troligen fel."
msgid "Updating the catalog failed. Click on 'Details >>' for details."
-msgstr ""
-"Uppdatering av katalogen misslyckades. Klicka på 'Detaljer >>' för detaljer."
+msgstr "Uppdatering av katalogen misslyckades. Klicka på 'Detaljer >>' för detaljer."
#, c-format
msgid "%d issue with the translation found."
@@ -483,36 +622,20 @@ msgstr[1] "%d problem med översättningen hittades."
msgid "Validation results"
msgstr "Valideringsresultat"
-msgid ""
-"Entries with errors were marked in red in the list. Details of the error "
-"will be shown when you select such an entry."
-msgstr ""
-"Poster med fel har rödmarkerats i listan. Detaljer om felet visas då en "
-"sådan post väljs."
+msgid "Entries with errors were marked in red in the list. Details of the error will be shown when you select such an entry."
+msgstr "Poster med fel har rödmarkerats i listan. Detaljer om felet visas då en sådan post väljs."
msgid "The file was saved safely."
msgstr "Filen har sparats på ett säkert sätt."
-msgid ""
-"The file was saved safely and compiled into the MO format, but it will "
-"probably not work correctly."
-msgstr ""
-"Filen var sparade säkert och sammanställts till MO-format, men det kommer "
-"förmodligen inte fungera korrekt."
+msgid "The file was saved safely and compiled into the MO format, but it will probably not work correctly."
+msgstr "Filen var sparade säkert och sammanställts till MO-format, men det kommer förmodligen inte fungera korrekt."
-msgid ""
-"The file was saved safely, but it cannot be compiled into the MO format and "
-"used."
-msgstr ""
-"Filen sparades säkert, men den kan inte kompileras till MO-formatet och "
-"användas."
+msgid "The file was saved safely, but it cannot be compiled into the MO format and used."
+msgstr "Filen sparades säkert, men den kan inte kompileras till MO-formatet och användas."
-msgid ""
-"The file was compiled into the MO format, but it will probably not work "
-"correctly."
-msgstr ""
-"Filen kompilerades till MO-format, men den kommer förmodligen inte fungera "
-"korrekt."
+msgid "The file was compiled into the MO format, but it will probably not work correctly."
+msgstr "Filen kompilerades till MO-format, men den kommer förmodligen inte fungera korrekt."
msgid "The file cannot be compiled into the MO format and used."
msgstr "Filen kan inte kompileras till MO-format och användas."
@@ -522,28 +645,41 @@ msgstr "Inga problem med översättningen hittades."
#, c-format
msgid "The translation is ready for use, but %d entry is not translated yet."
-msgid_plural ""
-"The translation is ready for use, but %d entries are not translated yet."
-msgstr[0] ""
-"Översättningen är klar att användas, men %d post är ännu inte översatt."
-msgstr[1] ""
-"Översättningen är klar att användas, men %d poster är ännu inte översatta."
+msgid_plural "The translation is ready for use, but %d entries are not translated yet."
+msgstr[0] "Översättningen är klar att användas, men %d post är ännu inte översatt."
+msgstr[1] "Översättningen är klar att användas, men %d poster är ännu inte översatta."
msgid "The translation is ready for use."
msgstr "Översättningen är klar för användning."
-msgid "No references to this string found."
-msgstr "Inga hänvisningar till denna sträng hittades."
+msgid "Contributing translations improves the quality of online suggestions for everybody — the more people do it, the better the suggestions can be. Your translations are submitted anonymously and are available to other translators using Poedit or other CAT tools."
+msgstr "Att bidra med översättningar förbättrar kvaliteten på online-förslag för alla – ju fler människor som gör det, desto bättre kan förslagen vara. Dina översättningar lämnas in anonymt och är tillgängliga för andra översättare som använder Poedit eller andra CAT-verktyg."
+
+msgid "Can Poedit contribute your translations of this file to the online translation memory?"
+msgstr "Kan Poedit bidra med dina översättningar av denna fil till översättningsminnet online?"
-msgid "Please choose the reference you want to show:"
-msgstr "Välj hänvisningar som du vill visa:"
+msgid "Apply to all files I edit"
+msgstr "Tillämpa på alla filer jag redigerar"
-msgid "References"
-msgstr "Hänvisningar"
+msgid "Contribute"
+msgstr "Bidra"
+
+msgid "Keep Private"
+msgstr "Behåll privat"
+
+msgid "Keep private"
+msgstr "Behåll privat"
msgid "Context:"
msgstr "Innehåll:"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr "Poedit fixade automatiskt ogiltigt innehåll i filen \"%s\"."
+
+msgid "The file contained duplicate items, which is not allowed in PO files and would prevent the file from being used. Poedit fixed the issue, but you should review translations of any items marked as fuzzy and correct them if necessary."
+msgstr "Filen innehöll dubbletter, vilket inte är tillåtet i PO-filer och skulle förhindra filen från att användas. Poedit fixade problemet, men du bör se över översättningar som har objekt markerade som luddiga och korrigera dem om det behövs."
+
msgid "Language of the translation isn't set."
msgstr "Språket i översättningen har inte angetts."
@@ -553,19 +689,24 @@ msgstr "Ange språk"
msgid "Set language"
msgstr "Ange språk"
-msgid ""
-"This catalog has entries with plural forms, but doesn't have Plural-Forms "
-"header configured."
-msgstr ""
-"Denna katalog innehåller poster med pluralformer, men har inte Plural-Former "
-"headern konfigurerad."
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid "Suggestions are not available if the translation language is not set correctly. Other features, such as plural forms, may be affected as well."
+msgstr "Förslag är inte tillgängliga om översättningsspråket inte är inställt på rätt sätt. Andra funktioner, såsom pluralformer, kan påverkas också."
-msgid ""
-"Entries in this catalog have different plural forms count from what "
-"catalog's Plural-Forms header says"
-msgstr ""
-"Poster i denna katalog har olika antal pluralformer än vad som anges i "
-"Plural-Former headern"
+msgid "Language of the translation is the same as source language."
+msgstr "Språket i översättningen är samma som källspråket."
+
+msgid "Fix Language"
+msgstr "Fixa språk"
+
+msgid "Fix language"
+msgstr "Fixa språk"
+
+msgid "This catalog has entries with plural forms, but doesn't have Plural-Forms header configured."
+msgstr "Denna katalog innehåller poster med pluralformer, men har inte Plural-Former headern konfigurerad."
+
+msgid "Entries in this catalog have different plural forms count from what catalog's Plural-Forms header says"
+msgstr "Poster i denna katalog har olika antal pluralformer än vad som anges i Plural-Former headern"
msgid "Required header Plural-Forms is missing."
msgstr "Nödvändig Plural-forms header saknas."
@@ -587,6 +728,7 @@ msgstr "Fixa header"
msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr "Pluralformsuttryck som används av katalogen är ovanligt för %s."
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr "Granska"
@@ -608,12 +750,22 @@ msgid_plural "%d errors"
msgstr[0] "%d fel"
msgstr[1] "%d fel"
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] "%d post"
+msgstr[1] "%d poster"
+
msgid " (unsaved)"
msgstr " (ej sparad)"
msgid " (modified)"
msgstr " (ändrad)"
+#, c-format
+msgid " (beta version expires %s)"
+msgstr " (betaperioden upphör %s)"
+
msgid "Go"
msgstr "Gå till"
@@ -627,14 +779,8 @@ msgstr "Rensa borttagna översättningar"
msgid "Do you want to remove all translations that are no longer used?"
msgstr "Vill du ta bort alla översättningar som inte längre används?"
-msgid ""
-"If you continue with purging, all translations marked as deleted will be "
-"permanently removed. You will have to translate them again if they are added "
-"back in the future."
-msgstr ""
-"Om du fortsätter med rensningen kommer alla översättningar som är markerade "
-"för borttagning att tas bort permanent. Du måste översätta dem igen om de "
-"läggs tillbaka i framtiden."
+msgid "If you continue with purging, all translations marked as deleted will be permanently removed. You will have to translate them again if they are added back in the future."
+msgstr "Om du fortsätter med rensningen kommer alla översättningar som är markerade för borttagning att tas bort permanent. Du måste översätta dem igen om de läggs tillbaka i framtiden."
msgid "Keep"
msgstr "Behåll"
@@ -648,23 +794,23 @@ msgstr "Fyll saknade översättningar från översättningsminnet"
msgid "Only fill in exact matches"
msgstr "Fyll endast i exakta matchningar"
-msgid ""
-"By default, inaccurate results are filled in as well and marked as fuzzy. "
-"Check this option to only include accurate matches."
-msgstr ""
-"Som standard fylls också felaktiga resultat i och markeras som luddiga. "
-"Markera detta alternativ för att endast inkludera korrekta matchningar."
+msgid "By default, inaccurate results are filled in as well and marked as fuzzy. Check this option to only include accurate matches."
+msgstr "Som standard fylls också felaktiga resultat i och markeras som luddiga. Markera detta alternativ för att endast inkludera korrekta matchningar."
msgid "Don’t mark exact matches as fuzzy"
msgstr "Markera inte exakta matchningar som luddiga"
-msgid ""
-"Only enable if you trust the quality of your TM. By default, all matches "
-"from the TM are marked as fuzzy and should be reviewed."
-msgstr ""
-"Aktivera endast om du litar på kvaliteten på ditt översättningsminne. Som "
-"standard markeras alla matchningar från översättningsminnet som luddiga och "
-"bör granskas."
+msgid "Only enable if you trust the quality of your TM. By default, all matches from the TM are marked as fuzzy and should be reviewed."
+msgstr "Aktivera endast om du litar på kvaliteten på ditt översättningsminne. Som standard markeras alla matchningar från översättningsminnet som luddiga och bör granskas."
+
+msgid "Use online suggestions"
+msgstr "Använd online-förslag"
+
+msgid "Use online suggestions (experimental)"
+msgstr "Använd online-förslag (experimentell)"
+
+msgid "Try to fetch translations from the online TM as well. Notice that the translations will not be perfect and will still need to be corrected by a human translator."
+msgstr "Prova att hämta översättningar från översättningsminnet online också. Observera att översättningarna inte blir perfekta och kommer fortfarande att behöva korrigeras av en mänsklig översättare."
msgid "Fill"
msgstr "Fyll"
@@ -675,24 +821,14 @@ msgid_plural "%d entries were filled from the translation memory."
msgstr[0] "%d post fylldes från översättningsminnet."
msgstr[1] "%d poster fylldes från översättningsminnet."
-msgid ""
-"The translations were marked as fuzzy, because they may be inaccurate. You "
-"should review them for correctness."
-msgstr ""
-"Översättningarna har markerats som luddiga, eftersom de kan vara felaktiga. "
-"Du bör granska att dom är korrekta."
+msgid "The translations were marked as fuzzy, because they may be inaccurate. You should review them for correctness."
+msgstr "Översättningarna har markerats som luddiga, eftersom de kan vara felaktiga. Du bör granska att dom är korrekta."
msgid "No entries could be filled from the translation memory."
msgstr "Inga poster kunde fyllas från översättningsminnet."
-msgid ""
-"The TM doesn’t contain any strings similar to the content of this file. It "
-"is only effective for semi-automatic translations after Poedit learns enough "
-"from files that you translated manually."
-msgstr ""
-"Översättningsminnet innehåller inga matchande strängar till innehållet i "
-"denna fil. Detta är bara effektivt för semi-automatiska översättningar efter "
-"att Poedit har lärt sig från filer som du tidigare har översatt manuellt."
+msgid "The TM doesn’t contain any strings similar to the content of this file. It is only effective for semi-automatic translations after Poedit learns enough from files that you translated manually."
+msgstr "Översättningsminnet innehåller inga matchande strängar till innehållet i denna fil. Detta är bara effektivt för semi-automatiska översättningar efter att Poedit har lärt sig från filer som du tidigare har översatt manuellt."
msgid "Translating"
msgstr "Översätter"
@@ -734,6 +870,9 @@ msgstr "Allt"
msgid "Form %i"
msgstr "Form %i"
+msgid "Singular"
+msgstr "Singular"
+
msgid "Zero"
msgstr "Noll"
@@ -743,6 +882,9 @@ msgstr "Ett"
msgid "Two"
msgstr "Två"
+msgid "Plural"
+msgstr "Plural"
+
msgid "Other"
msgstr "Övrigt"
@@ -771,6 +913,12 @@ msgstr "Dölj sidofält"
msgid "Show Sidebar"
msgstr "Visa sidofält"
+msgid "Hide Status Bar"
+msgstr "Dölj statusfältet"
+
+msgid "Show Status Bar"
+msgstr "Visa statusfältet"
+
msgid "Source text"
msgstr "Källtext"
@@ -780,6 +928,10 @@ msgstr "Översättning"
msgid "ID"
msgstr "ID"
+#, c-format
+msgid "Source text — %s"
+msgstr "Källtext — %s"
+
msgid "unknown language"
msgstr "okänt språk"
@@ -790,57 +942,73 @@ msgstr "Översättning — %s"
msgid "Error:"
msgstr "Fel:"
-msgid "Project info"
-msgstr "Projekt info"
+msgid "Source file"
+msgstr "Källfil"
-msgid "Project name and version:"
-msgstr "Projektnamn och version:"
+msgid "Source file occurrence:"
+msgstr "Förekomster källfil:"
-msgid "Language:"
-msgstr "Språk:"
+msgid "Open in Editor"
+msgstr "Öppna i editor"
-msgid "Team:"
-msgstr "Grupp:"
+msgid "Open in editor"
+msgstr "Öppna i editor"
-msgid "Team's email address:"
-msgstr "Gruppens e-postadress:"
+msgid "No references for the selected item."
+msgstr "Inga referenser för det markerade objektet."
-msgid "Charset:"
-msgstr "Teckenuppsättning:"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "Fel vid öppning av fil %s!"
-msgid "Source"
-msgstr "Källa"
+msgid "Find"
+msgstr "Hitta"
-msgid "Notes"
-msgstr "Anteckningar"
+msgid "Replace"
+msgstr "Ersätt"
-msgid "Automatic translation"
-msgstr "Automatisk översättning"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr "Alternativ"
-msgid "Fuzzy translation"
-msgstr "Luddig översättning"
+msgid "Ignore case"
+msgstr "Ignorera gemen/versal"
-msgid "Notes for translators:"
-msgstr "Anteckningar för översättare:"
+msgid "Wrap around"
+msgstr "Loopa"
-msgid "Comment:"
-msgstr "Kommentar:"
+msgid "Whole words only"
+msgstr "Endast hela ord"
-msgid "Source file"
-msgstr "Källfil"
+msgid "Find in source texts"
+msgstr "Hitta i källtexter"
-msgid "Source file occurrence:"
-msgstr "Förekomster källfil:"
+msgid "Find in translations"
+msgstr "Sök i översättningar"
-msgid "Open in Editor"
-msgstr "Öppna i editor"
+msgid "Find in comments"
+msgstr "Sök i kommentarer"
-msgid "Open in editor"
-msgstr "Öppna i editor"
+msgid "Close"
+msgstr "Stäng"
-#, c-format
-msgid "Error opening file %s!"
-msgstr "Fel vid öppning av fil %s!"
+msgid "Replace All"
+msgstr "Ersätt alla"
+
+msgid "Replace all"
+msgstr "Ersätt alla"
+
+msgid "< &Previous"
+msgstr "<Föregående"
+
+msgid "&Next >"
+msgstr "&Nästa >"
+
+msgid "String to find"
+msgstr "Sträng att hitta"
+
+msgid "Replacement string"
+msgstr "Ersättningssträng"
#, c-format
msgid "Cannot execute program: %s"
@@ -855,6 +1023,55 @@ msgstr "Översättningsspråk"
msgid "Language of the translation:"
msgstr "Språk i översättningen:"
+msgid "Poedit Registration"
+msgstr "Registrering av Poedit"
+
+msgid "Name"
+msgstr "Namn"
+
+msgid "License Key"
+msgstr "Produktnyckel"
+
+msgid "The registration key can be used on multiple computers you use personally or for multiple\naccounts on a single computer."
+msgstr "Produktnyckeln kan användas på flera datorer du använder privat eller för flera\nkonton på en och samma dator."
+
+msgid "Buy Online..."
+msgstr "Köp online..."
+
+msgid "Buy online..."
+msgstr "Köp online..."
+
+msgid "Cancel"
+msgstr "Avbryt"
+
+msgid "Register"
+msgstr "Registrera"
+
+msgid "Your copy is upgraded to Poedit Pro."
+msgstr "Din kopia uppgraderas till Poedit Pro."
+
+msgid "You’re awesome! Thank you so much\nfor purchasing Poedit Pro."
+msgstr "Du är fantastisk! Tack så mycket\nför ditt köp av Poedit Pro."
+
+msgid "View License Key"
+msgstr "Visa licensnyckel"
+
+msgid "View license key"
+msgstr "Visa licensnyckel"
+
+#, c-format
+msgid "Licensed to: %s"
+msgstr "Licensierad till: %s"
+
+msgid "Purchasing the full version will unlock more features\nin this and future versions of Poedit, including:\n\n"
+msgstr "Köp av den fulla versionen kommer att låsa upp flera funktioner\ni denna och framtida versioner av Poedit, inklusive:\n\n"
+
+msgid "Upgrade..."
+msgstr "Uppgradera..."
+
+msgid "No, thanks"
+msgstr "Nej tack"
+
msgid "Poedit - Catalogs manager"
msgstr "Poedit - Kataloghanterare"
@@ -891,12 +1108,8 @@ msgstr "Vill du ta bort projektet?"
msgid "Confirmation"
msgstr "Bekräftelse"
-msgid ""
-"Do you really want to do mass update of\n"
-"all catalogs in this project?"
-msgstr ""
-"Vill du verkligen göra en massuppdatering av\n"
-"alla kataloger i detta projekt?"
+msgid "Do you really want to do mass update of\nall catalogs in this project?"
+msgstr "Vill du verkligen göra en massuppdatering av\nalla kataloger i detta projekt?"
msgid "Information about the translator"
msgstr "Information om översättaren"
@@ -913,12 +1126,8 @@ msgstr "E-post:"
msgid "your_email at example.com"
msgstr "your_email at example.com"
-msgid ""
-"Your name and email address are only used to set the Last-Translator header "
-"of GNU gettext files."
-msgstr ""
-"Ditt namn och e-postadress används endast att ställa in i sista-översättare "
-"huvudet på GNU gettext-filer."
+msgid "Your name and email address are only used to set the Last-Translator header of GNU gettext files."
+msgstr "Ditt namn och e-postadress används endast att ställa in i sista-översättare huvudet på GNU gettext-filer."
msgid "Editing"
msgstr "Redigering"
@@ -935,14 +1144,8 @@ msgstr "Kontrollera stavning"
msgid "Always change focus to text input field"
msgstr "Ändra alltid fokus till textinmatningsfältet"
-msgid ""
-"Never let the list of strings take focus. If enabled, you must use Ctrl-"
-"arrows for keyboard navigation but you can also type text immediately, "
-"without having to press Tab to change focus."
-msgstr ""
-"Låt aldrig listan med strängar ta fokus. Om det är aktiverat, måste du "
-"använda Ctrl-pilar för tangentbordsnavigering men du kan också skriva text "
-"direkt, utan att behöva trycka Tabb för att byta fokus."
+msgid "Never let the list of strings take focus. If enabled, you must use Ctrl-arrows for keyboard navigation but you can also type text immediately, without having to press Tab to change focus."
+msgstr "Låt aldrig listan med strängar ta fokus. Om det är aktiverat, måste du använda Ctrl-pilar för tangentbordsnavigering men du kan också skriva text direkt, utan att behöva trycka Tabb för att byta fokus."
msgid "Appearance"
msgstr "Utseende"
@@ -979,18 +1182,30 @@ msgstr "Återställ"
msgid "Consult TM when updating from sources"
msgstr "Använd översättningsminnet när källor uppdateras"
-msgid ""
-"If enabled, Poedit will try to fill in new entries using your previous\n"
-"translations stored in the translation memory. If the TM is\n"
-"near-empty, it will not be very effective. The more translations\n"
-"you edit and the larger the TM grows, the better it gets."
-msgstr ""
-"Om aktiverad, kommer Poedit försöker fylla i nya poster med hjälp av dina "
-"tidigare\n"
-"översättningar som sparats i översättningsminnet. Om översättningsminnet är\n"
-"nästan tomt kommer det inte vara effektivt. Desto fler översättningar\n"
-"du redigerar och desto större översättningsminnet växer, desto bättre blir "
-"det."
+msgid "If enabled, Poedit will try to fill in new entries using your previous\ntranslations stored in the translation memory. If the TM is\nnear-empty, it will not be very effective. The more translations\nyou edit and the larger the TM grows, the better it gets."
+msgstr "Om aktiverad, kommer Poedit försöker fylla i nya poster med hjälp av dina tidigare\növersättningar som sparats i översättningsminnet. Om översättningsminnet är\nnästan tomt kommer det inte vara effektivt. Desto fler översättningar\ndu redigerar och desto större översättningsminnet växer, desto bättre blir det."
+
+msgid "Use suggestions from online collaborative TM"
+msgstr "Använd förslag från det webbaserade översättningsminnet"
+
+msgid "Poedit uses a large online translation memory that includes both contributed human translations and state-of-the-art machine translations."
+msgstr "Poedit använder ett stort översättningsminne online som inkluderar bidrag från både mänskliga översättningar och toppmoderna maskinöversättningar."
+
+msgid "Contribute my translations to the online TM"
+msgstr "Bidra med mina översättningar till översättningsminnet online"
+
+msgid "Keep my translations private"
+msgstr "Behåll mina översättningar privata"
+
+msgid "Ask me for each file individually"
+msgstr "Fråga mig för varje enskild fil"
+
+msgid "Terms of Service"
+msgstr "Användarvillkor"
+
+#. TRANSLATORS: This is part of footer that says in full "powered by MyMemory", with the MyMemory part being a logo
+msgid "powered by"
+msgstr "drivs av"
msgid "Stored translations:"
msgstr "Lagrade översättningar:"
@@ -1016,15 +1231,8 @@ msgstr "Återställ översättningsminne"
msgid "Are you sure you want to reset the translation memory?"
msgstr "Är du säker på att du vill återställa översättningsminnet?"
-msgid ""
-"Resetting the translation memory will irrevocably delete all stored "
-"translations from it. You can’t undo this operation."
-msgstr ""
-"Återställa översättningsminnet kommer oåterkalleligen ta bort alla lagrade "
-"översättningar från den. Du kan inte ångra åtgärden."
-
-msgid "Cancel"
-msgstr "Avbryt"
+msgid "Resetting the translation memory will irrevocably delete all stored translations from it. You can’t undo this operation."
+msgstr "Återställa översättningsminnet kommer oåterkalleligen ta bort alla lagrade översättningar från den. Du kan inte ångra åtgärden."
#. TRANSLATORS: This is abbreviation of "Translation Memory" used in Preferences on OS X.
#. Long text looks weird there, too short (like TM) too, but less so. "General" is about ideal
@@ -1032,12 +1240,8 @@ msgstr "Avbryt"
msgid "TM"
msgstr "TM"
-msgid ""
-"Source code extractors are used to find translatable strings in the source "
-"code files and extract them so that they can be translated."
-msgstr ""
-"Källkodsextrahering används för att hitta översättbara strängar i "
-"källkodsfiler och extrahera dem så att de kan översättas."
+msgid "Source code extractors are used to find translatable strings in the source code files and extract them so that they can be translated."
+msgstr "Källkodsextrahering används för att hitta översättbara strängar i källkodsfiler och extrahera dem så att de kan översättas."
msgid "New"
msgstr "Ny"
@@ -1045,31 +1249,33 @@ msgstr "Ny"
msgid "Edit"
msgstr "Redigera"
+msgid "Delete extractor"
+msgstr "Ta bort extraherare"
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr "Är du säker på att du vill ta bort extraherare \"%s\"?"
+
msgid "Extractors"
msgstr "Extraherare"
+msgid "Accounts"
+msgstr "Konton"
+
msgid "Automatically check for updates"
msgstr "Sök efter uppdateringar automatiskt"
msgid "Include beta versions"
msgstr "Inkludera betaversioner"
-msgid ""
-"Beta versions contain the latest new features and improvements, but may be a "
-"bit less stable."
-msgstr ""
-"Beta-versioner innehåller de senaste nya funktionerna och förbättringarna, "
-"men kan vara lite mindre stabila."
+msgid "Beta versions contain the latest new features and improvements, but may be a bit less stable."
+msgstr "Beta-versioner innehåller de senaste nya funktionerna och förbättringarna, men kan vara lite mindre stabila."
msgid "Updates"
msgstr "Uppdateringar"
-msgid ""
-"These settings affect internal formatting of PO files. Adjust them if you "
-"have specific requirements e.g. because of version control."
-msgstr ""
-"Dessa inställningar påverkar den interna formateringen av PO-filer. Justera "
-"dem om du har särskilda önskemål t.ex. på grund av versionskontroll."
+msgid "These settings affect internal formatting of PO files. Adjust them if you have specific requirements e.g. because of version control."
+msgstr "Dessa inställningar påverkar den interna formateringen av PO-filer. Justera dem om du har särskilda önskemål t.ex. på grund av versionskontroll."
msgid "Line endings:"
msgstr "Radslut:"
@@ -1090,6 +1296,30 @@ msgstr "Bevara formateringen av befintliga filer"
msgid "Advanced"
msgstr "Advancerat"
+msgid "Add Files..."
+msgstr "Lägg till filer..."
+
+msgid "Add files..."
+msgstr "Lägg till filer..."
+
+msgid "Add Folders..."
+msgstr "Lägg till mappar..."
+
+msgid "Add folders..."
+msgstr "Lägg till mappar..."
+
+msgid "Add Wildcard..."
+msgstr "Lägg till Jokertecken..."
+
+msgid "Add wildcard..."
+msgstr "Lägg till jokertecken..."
+
+msgid "<big>Drag and Drop Folders Here</big>\n\nor use the + button"
+msgstr "<big>Dra och Släpp Mappar Här</big>\n\neller använd +-knappen"
+
+msgid "<big>Drag and drop folders here</big>\n\nor use the + button"
+msgstr "<big>Dra och släpp mappar här</big>\n\neller använd +-knappen"
+
msgid "Additional keywords"
msgstr "Ytterligare sökord"
@@ -1109,8 +1339,10 @@ msgid "UTF-8 (recommended)"
msgstr "UTF-8 (rekommenderas)"
msgid "Please save the file first. This section cannot be edited until then."
-msgstr ""
-"Vänligen spara filen först. Det här avsnittet kan inte redigeras tills dess."
+msgstr "Vänligen spara filen först. Det här avsnittet kan inte redigeras tills dess."
+
+msgid "Comment:"
+msgstr "Kommentar:"
msgid "OK"
msgstr "OK"
@@ -1121,42 +1353,6 @@ msgstr "&Rensa"
msgid "Clear the comment"
msgstr "Rensa kommentaren"
-msgid "Find..."
-msgstr "Sök..."
-
-msgid "String to find:"
-msgstr "Sträng att hitta:"
-
-msgid "Case sensitive"
-msgstr "Skiftlägeskänslig"
-
-msgid "Start from the first item"
-msgstr "Utgå från det första objektet"
-
-msgid "Whole words only"
-msgstr "Endast hela ord"
-
-msgid "Find in original strings"
-msgstr "Sök i originalsträngar"
-
-msgid "Find in translations"
-msgstr "Sök i översättningar"
-
-msgid "Find in comments"
-msgstr "Sök i kommentarer"
-
-msgid "Find in automatic comments"
-msgstr "Sök i automatiska kommentarer"
-
-msgid "Close"
-msgstr "Stäng"
-
-msgid "< &Previous"
-msgstr "<Föregående"
-
-msgid "&Next >"
-msgstr "&Nästa >"
-
msgid "Create new translations project"
msgstr "Skapa ett nytt översättningsprojekt"
@@ -1193,9 +1389,6 @@ msgstr "&Stäng"
msgid "E&xit"
msgstr "&Avsluta"
-msgid "Quit"
-msgstr "Avsluta"
-
msgid "&New..."
msgstr "&Ny..."
@@ -1205,12 +1398,24 @@ msgstr "Nytt från &POT/PO-fil..."
msgid "New From &POT/PO File..."
msgstr "Nytt från &POT/PO-fil..."
+msgid "New WordPress translation..."
+msgstr "Ny WordPress översättning..."
+
+msgid "New WordPress Translation..."
+msgstr "Ny WordPress översättning..."
+
msgid "&Open..."
msgstr "&Öppna..."
msgid "Open Recent"
msgstr "Öppna senaste"
+msgid "Open from Crowdin..."
+msgstr "Öppna från Crowdin..."
+
+msgid "Open From Crowdin..."
+msgstr "Öppna från Crowdin..."
+
msgid "&Save"
msgstr "&Spara"
@@ -1229,6 +1434,9 @@ msgstr "E&xportera som HTML..."
msgid "Check for updates..."
msgstr "Sök efter uppdateringar..."
+msgid "&License..."
+msgstr "&Licens..."
+
msgid "Catalogs &manager"
msgstr "&Kataloghanterare"
@@ -1259,14 +1467,17 @@ msgstr "&Visa Källor"
msgid "&Find..."
msgstr "&Sök..."
+msgid "Replace..."
+msgstr "Ersätt..."
+
msgid "Find next"
msgstr "Sök nästa"
msgid "Find previous"
msgstr "Sök föregående"
-msgid "Find"
-msgstr "Hitta"
+msgid "Find and Replace..."
+msgstr "Sök och ersätt..."
msgid "Find Next"
msgstr "Sök nästa"
@@ -1307,6 +1518,12 @@ msgstr "&Gruppera efter innehåll"
msgid "&Group By Context"
msgstr "&Gruppera efter innehåll"
+msgid "Entries with errors first"
+msgstr "Poster med fel först"
+
+msgid "Entries with Errors First"
+msgstr "Poster med fel först"
+
msgid "&Untranslated entries first"
msgstr "&Oöversatta poster först"
@@ -1316,6 +1533,9 @@ msgstr "&Oöversatta Poster Först"
msgid "Show sidebar"
msgstr "Visa sidofält"
+msgid "Show status bar"
+msgstr "Visa statusfältet"
+
msgid "C&atalog"
msgstr "&Katalog"
@@ -1331,6 +1551,9 @@ msgstr "Uppdatera från &POT-fil..."
msgid "Update from &POT File..."
msgstr "Uppdatera från &POT-Fil..."
+msgid "Sync with Crowdin"
+msgstr "Synkronisera med Crowdin"
+
msgid "Fill missing translations from &TM..."
msgstr "Fyll saknade översättningar från ö&versättningsminnet..."
@@ -1349,6 +1572,9 @@ msgstr "&Validera översättningar"
msgid "&Validate Translations"
msgstr "&Validera Översättningar"
+msgid "&Statistics"
+msgstr "&Statistik"
+
msgid "&Properties..."
msgstr "&Egenskaper..."
@@ -1394,6 +1620,12 @@ msgstr "Manual &GNU gettext"
msgid "&GNU gettext Manual"
msgstr "Manual &GNU gettext"
+msgid "Email &support..."
+msgstr "E-posta &support..."
+
+msgid "Email &Support..."
+msgstr "E-posta &support..."
+
msgid "&About Poedit"
msgstr "&Om Poedit"
@@ -1412,53 +1644,35 @@ msgstr "Anrop:"
msgid "Command to extract translations:"
msgstr "Kommando för att extrahera översättningar:"
-msgid ""
-"This is the command used to launch the extractor.\n"
-"%o expands to the name of output file, %K to list\n"
-"of keywords, %F to list of input files,\n"
-"%C to charset flag (see below)."
-msgstr ""
-"Detta är kommandot som används för att starta extraheraren.\n"
-"%o expanderar till namnet på utdatafilen, %K till listan\n"
-"av sökord, %F till listan över indatafiler,\n"
-"%C till charset-flaggan (se nedan)."
+msgid "This is the command used to launch the extractor.\n%o expands to the name of output file, %K to list\nof keywords, %F to list of input files,\n%C to charset flag (see below)."
+msgstr "Detta är kommandot som används för att starta extraheraren.\n%o expanderar till namnet på utdatafilen, %K till listan\nav sökord, %F till listan över indatafiler,\n%C till charset-flaggan (se nedan)."
msgid "An item in keywords list:"
msgstr "Ett objekt i sökordslistan:"
-msgid ""
-"This will be attached to the command line once\n"
-"for each keyword. %k expands to the keyword."
-msgstr ""
-"Detta kommer att bifogas till kommandoraden en\n"
-"gång för varje sökord. %k expanderar till sökordet."
+msgid "This will be attached to the command line once\nfor each keyword. %k expands to the keyword."
+msgstr "Detta kommer att bifogas till kommandoraden en\ngång för varje sökord. %k expanderar till sökordet."
msgid "An item in input files list:"
msgstr "Ett objekt i indatafilslistan:"
#, c-format
-msgid ""
-"This will be attached to the command line once\n"
-"for each input file. %f expands to the filename."
-msgstr ""
-"Detta kommer att bifogas till kommandoraden en\n"
-"gång för varje indatafil. %f expanderar till filnamnet."
+msgid "This will be attached to the command line once\nfor each input file. %f expands to the filename."
+msgstr "Detta kommer att bifogas till kommandoraden en\ngång för varje indatafil. %f expanderar till filnamnet."
msgid "Source code charset:"
msgstr "Källkod teckenuppsättning:"
#, c-format
-msgid ""
-"This will be attached to the command line\n"
-"only if source codecharset was given. %c expands to charset value."
-msgstr ""
-"Detta kommer att bifogas till kommandoraden\n"
-"endast om källkodsteckenuppsättningen har angetts. %c expanderar till "
-"teckenuppsättningsvärdet."
+msgid "This will be attached to the command line\nonly if source codecharset was given. %c expands to charset value."
+msgstr "Detta kommer att bifogas till kommandoraden\nendast om källkodsteckenuppsättningen har angetts. %c expanderar till teckenuppsättningsvärdet."
msgid "Catalog properties"
msgstr "Katalogegenskaper"
+msgid "Project name and version:"
+msgstr "Projektnamn och version:"
+
msgid "Plural Forms:"
msgstr "Flertalsformer:"
@@ -1471,6 +1685,15 @@ msgstr "Använd anpassat uttryck"
msgid "Learn about plural forms"
msgstr "Lär dig mer om flertalsformer"
+msgid "Charset:"
+msgstr "Teckenuppsättning:"
+
+msgid "Team:"
+msgstr "Grupp:"
+
+msgid "Team's email address:"
+msgstr "Gruppens e-postadress:"
+
msgid "Translation properties"
msgstr "Översättningsegenskaper"
@@ -1483,13 +1706,8 @@ msgstr "Rotsökväg:"
msgid "Sources paths"
msgstr "Källor sökvägar"
-msgid ""
-"Use these keywords (function names) to recognize translatable strings\n"
-"in source files:"
-msgstr ""
-"Använd dessa sökord (funktionsnamn) att känna igen översättningsbara "
-"strängar\n"
-"i källfiler:"
+msgid "Use these keywords (function names) to recognize translatable strings\nin source files:"
+msgstr "Använd dessa sökord (funktionsnamn) att känna igen översättningsbara strängar\ni källfiler:"
msgid "Learn about gettext keywords"
msgstr "Lär dig mer om gettext sökord"
@@ -1500,22 +1718,14 @@ msgstr "Källor sökord"
msgid "Update summary"
msgstr "Uppdatera sammanfattning"
-msgid ""
-"These strings were found in the sources but were not in the catalog.\n"
-"Poedit will add them to the catalog now."
-msgstr ""
-"Dessa strängar hittades i källorna, men var inte i katalogen.\n"
-"Poedit kommer att lägga till dem i katalogen nu."
+msgid "These strings were found in the sources but were not in the catalog.\nPoedit will add them to the catalog now."
+msgstr "Dessa strängar hittades i källorna, men var inte i katalogen.\nPoedit kommer att lägga till dem i katalogen nu."
msgid "New strings"
msgstr "Nya strängar"
-msgid ""
-"These strings are no longer in the sources.\n"
-"Poedit will remove them from the catalog now."
-msgstr ""
-"Dessa strängar är inte i källorna längre.\n"
-"Poedit tar bort dem från katalogen nu."
+msgid "These strings are no longer in the sources.\nPoedit will remove them from the catalog now."
+msgstr "Dessa strängar är inte i källorna längre.\nPoedit tar bort dem från katalogen nu."
msgid "Obsolete strings"
msgstr "Föråldrade strängar"
@@ -1535,6 +1745,12 @@ msgstr "Validera"
msgid "Check for errors in the translation"
msgstr "Leta efter fel i översättning"
+msgid "Statistics"
+msgstr "Statistik"
+
+msgid "Show translation statistics"
+msgstr "Visa översättningsstatistik"
+
msgid "Update"
msgstr "Uppdatera"
@@ -1544,19 +1760,21 @@ msgstr "Uppdatera katalog - synkronisera den med källor"
msgid "Toggled if selected string has fuzzy translation"
msgstr "Växlas om vald sträng har luddig översättning"
-msgid "Show or hide the sidebar."
-msgstr "Visa eller dölj sidofält."
+msgid "Sidebar"
+msgstr "Sidofält"
+
+msgid "Show or hide the sidebar"
+msgstr "Visa eller dölj sidofält"
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
msgid "Previous source text:"
msgstr "Tidigare källtext:"
-msgid ""
-"The old source text (before it changed during an update) that the fuzzy "
-"translation corresponds to."
-msgstr ""
-"Den gamla källtexten (innan den ändrades under en uppdatering) som den "
-"luddiga översättningen motsvarar."
+msgid "The old source text (before it changed during an update) that the fuzzy translation corresponds to."
+msgstr "Den gamla källtexten (innan den ändrades under en uppdatering) som den luddiga översättningen motsvarar."
+
+msgid "Notes for translators:"
+msgstr "Anteckningar för översättare:"
msgid "Add comment"
msgstr "Lägg till kommentar"
@@ -1564,6 +1782,18 @@ msgstr "Lägg till kommentar"
msgid "Add Comment"
msgstr "Lägg till kommentar"
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(from your TM)"
+msgstr "(från ditt översättningsminne)"
+
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(machine translation)"
+msgstr "(maskinöversättning)"
+
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(human translation)"
+msgstr "(mänsklig översättning)"
+
msgid "Translation suggestions:"
msgstr "Översättningsförslag:"
@@ -1578,6 +1808,84 @@ msgstr "Inga träffar hittades"
msgid "This string was found in Poedit’s translation memory."
msgstr "Den här strängen hittades i Poedit:s översättningsminne."
+msgid "This suggestion was contributed by another translator to the online TM."
+msgstr "Detta förslag kom från en annan översättare till översättningsminnet online."
+
+msgid "This suggestion was machine-translated online."
+msgstr "Detta förslag var maskinöversatt online."
+
+#, c-format
+msgid "%d out of %d online suggestion left."
+msgid_plural "%d out of %d online suggestions left."
+msgstr[0] "%d av %d online-förslag kvar."
+msgstr[1] "%d av %d online-förslag kvar."
+
+msgid "Remove this limitation"
+msgstr "Ta bort denna begränsning"
+
+msgid "Not showing additional online suggestions."
+msgstr "Visar inte kompletterande online-förslag."
+
+msgid "Unlock online suggestions"
+msgstr "Lås upp online-förslag"
+
+msgid "Exceeded online TM daily limit."
+msgstr "Överskred den dagliga gränsen för översättningsminnet online."
+
+msgid "Connect to the Internet to get additional suggestions."
+msgstr "Anslut till internet för att få ytterligare förslag."
+
+#. TRANSLATORS: Label indicating that translations made in the current file are contributed to the online translation memory. Related to the "Contribute my translations to the online TM" string.
+msgid "Contributing"
+msgstr "Bidrar"
+
+msgid "Your translations are contributed to the online translation memory as you make them. Thanks for making the suggestions better!"
+msgstr "Dina översättningar bidras till online-översättningsminnet när du gör dem. Tack för att du gör förslagen bättre!"
+
+#. TRANSLATORS: Label indicating that the current file
+msgid "Private"
+msgstr "Privat"
+
+msgid "Translations from this file are not shared with the online translation memory."
+msgstr "Översättningar från denna fil delas inte med online-översättningsminnet."
+
+msgid "Privacy settings"
+msgstr "Sekretessinställningar"
+
+#, c-format
+msgid "While editing the file “%s”:"
+msgstr "Vid redigering av filen \"%s\":"
+
+msgid "Items"
+msgstr "Objekt"
+
+msgid "Words"
+msgstr "Ord"
+
+msgid "Translated"
+msgstr "Översatt"
+
+msgid "Needs review (fuzzy)"
+msgstr "Behöver granskning (luddig)"
+
+msgid "Translations with errors"
+msgstr "Översättningar med fel"
+
+msgid "Source Text"
+msgstr "Källtext"
+
+msgid "Strings in source language"
+msgstr "Strängar i källspråket"
+
+msgid "Not translated"
+msgstr "Inte översatt"
+
+msgid "Copy to clipboard"
+msgstr "Kopiera till urklipp"
+
+msgid "Copy to Clipboard"
+msgstr "Kopiera till urklipp"
+
#, c-format
msgid "(New: %i, obsolete: %i)"
msgstr "(Nya: %i, föråldrade: %i)"
@@ -1597,15 +1905,10 @@ msgid "Migration exit status: %d"
msgstr "Migrationens avslutningsstatus: %d"
msgid "Poedit needs to convert your translation memory to a new format."
-msgstr ""
-"Poedit behöver konvertera ditt översättningsminne till ett nytt format."
+msgstr "Poedit behöver konvertera ditt översättningsminne till ett nytt format."
-msgid ""
-"This must be done before Poedit can start. It may take a few minutes if you "
-"have lots of translations stored, but should normally be much faster."
-msgstr ""
-"Detta måste göras innan Poedit kan starta. Det kan ta några minuter om du "
-"har många lagrade översättningar, men bör normalt vara mycket snabbare."
+msgid "This must be done before Poedit can start. It may take a few minutes if you have lots of translations stored, but should normally be much faster."
+msgstr "Detta måste göras innan Poedit kan starta. Det kan ta några minuter om du har många lagrade översättningar, men bör normalt vara mycket snabbare."
msgid "Proceed"
msgstr "Fortsätt"
@@ -1614,61 +1917,60 @@ msgid "Translation memory migration failed."
msgstr "Det gick inte att migrera översättningsminnet."
#, c-format
-msgid ""
-"Your translation memory data couldn't be migrated. The error was:\n"
-"\n"
-"%s\n"
-"Please email help at poedit.net and we’ll get it fixed."
-msgstr ""
-"Översättningsminnet kunde inte migreras. Felet var:\n"
-"\n"
-"%s\n"
-"Var vänlig och skicka ett epost till help at poedit.net och vi kommer åtgärda "
-"problemet."
+msgid "Your translation memory data couldn't be migrated. The error was:\n\n%s\nPlease email help at poedit.net and we’ll get it fixed."
+msgstr "Översättningsminnet kunde inte migreras. Felet var:\n\n%s\nVar vänlig och skicka ett epost till help at poedit.net och vi kommer åtgärda problemet."
msgid "Cannot create temporary directory."
msgstr "Kan inte skapa temporär katalog."
+msgid "Check theme or plugin compatibility"
+msgstr "Kontrollera kompatibilitet för tema eller plugin"
+
msgid "Welcome to Poedit"
msgstr "Välkommen till Poedit"
+msgid "Upgrade to Pro"
+msgstr "Uppgradera till Pro"
+
+msgid "Upgrade to Poedit Pro to get additional features and support Poedit's development."
+msgstr "Uppgradera till Poedit Pro för att få ytterligare funktioner och stöd Poedits utveckling."
+
msgid "Edit a translation"
msgstr "Redigera en översättning"
msgid "Open an existing PO file and edit the translation."
msgstr "Öppna en befintlig PO-fil och redigera översättningen."
-msgid "Create new translation"
-msgstr "Skapa ny översättning"
+msgid "Take an existing PO file or POT template and create a new translation from it."
+msgstr "Ta en befintlig PO-fil eller POT-mall och skapa en ny översättning från den."
-msgid ""
-"Take an existing PO file or POT template and create a new translation from "
-"it."
-msgstr ""
-"Ta en befintlig PO-fil eller POT-mall och skapa en ny översättning från den."
+msgid "Translate WordPress theme or plugin"
+msgstr "Översätta wordpresstema eller plugin"
+
+#. TRANSLATORS: Please don't use any form of "automatically" in the translation, it would mislead people.
+msgid "Create a new translation. Poedit will set everything up; you can focus on translating."
+msgstr "Skapa en ny översättning. Poedit kommer konfigurera allt; Du kan fokusera på att översätta."
+
+msgid "Collaborate on a translation with Crowdin"
+msgstr "Samarbeta på en översättning med Crowdin"
+
+msgid "Download a file from Crowdin project, translate and sync your changes back."
+msgstr "Hämta en fil från ett Crowdin-projekt, översätt och synkronisera ändringarna."
+
+msgid "What is Crowdin?"
+msgstr "Vad är Crowdin?"
msgid "There are no translations. That’s unusual."
msgstr "Det finns inga översättningar. Det är ovanligt."
-msgid ""
-"Translatable entries aren't added manually in the Gettext system, but are "
-"automatically extracted\n"
-"from source code. This way, they stay up to date and accurate.\n"
-"Translators typically use PO template files (POTs) prepared for them by the "
-"developer."
-msgstr ""
-"Översättningsbara poster läggs inte till manuellt i Gettext-systemet, men "
-"extraheras automatiskt\n"
-"från källkoden. På detta sätt håller de sig uppdaterade och korrekta.\n"
-"Översättare använder vanligtvis PO-mallfiler (POTs) förberedda åt dem av "
-"utvecklaren."
+msgid "Translatable entries aren't added manually in the Gettext system, but are automatically extracted\nfrom source code. This way, they stay up to date and accurate.\nTranslators typically use PO template files (POTs) prepared for them by the developer."
+msgstr "Översättningsbara poster läggs inte till manuellt i Gettext-systemet, men extraheras automatiskt\nfrån källkoden. På detta sätt håller de sig uppdaterade och korrekta.\nÖversättare använder vanligtvis PO-mallfiler (POTs) förberedda åt dem av utvecklaren."
msgid "(Learn more about GNU gettext)"
msgstr "(Läs mer om GNU gettext)"
msgid "The simplest way to fill this catalog is to update it from a POT:"
-msgstr ""
-"Det enklaste sättet att fylla denna katalog är att uppdatera den från en POT:"
+msgstr "Det enklaste sättet att fylla denna katalog är att uppdatera den från en POT:"
msgid "Update from POT"
msgstr "Uppdatera från POT"
@@ -1676,13 +1978,113 @@ msgstr "Uppdatera från POT"
msgid "Take translatable strings from an existing POT template."
msgstr "Ta översättningsbara strängar från en befintlig POT-mall."
-msgid ""
-"You can also extract translatable strings directly from the source code:"
-msgstr ""
-"Du kan också extrahera översättningsbara strängar direkt från källkoden:"
+msgid "You can also extract translatable strings directly from the source code:"
+msgstr "Du kan också extrahera översättningsbara strängar direkt från källkoden:"
msgid "Extract from sources"
msgstr "Extrahera från källor"
msgid "Configure source code extraction in Properties."
msgstr "Konfigurera källkodsextrahering i egenskaper."
+
+#, c-format
+msgid "Failed to read file '%s'."
+msgstr "Misslyckades att läsa filen '%s'."
+
+#, c-format
+msgid "Confused by ambiguous values of \"%s\" in %s."
+msgstr "Förvirrad av tvetydiga värden för \"%s\" i %s."
+
+#, c-format
+msgid "Couldn't detect POs location for \"%s\"."
+msgstr "Kunde inte upptäcka POs läge för \"%s\"."
+
+#, c-format
+msgid "The \"%s\" theme isn't localization-ready."
+msgstr "Temat \"%s\" är inte redo för lokalisering."
+
+msgid "Confused: multiple main plugin files."
+msgstr "Förvirrad: flera huvudsakliga plugin-filer."
+
+#, c-format
+msgid "The \"%s\" plugin isn't localization-ready."
+msgstr "\"%s\"-plugin är inte redo för översättning."
+
+#, c-format
+msgid "Couldn't detect translation domain of the \"%s\" plugin."
+msgstr "Det gick inte att upptäcka översättningsdomänen av \"%s\"-plugin."
+
+msgid "Found neither WordPress theme nor plugin in the folder."
+msgstr "Hittade varken Wordpresstema eller plugin i mappen."
+
+#, c-format
+msgid "Translations folder (%s) doesn't exist."
+msgstr "Översättningsmapp (%s) finns inte."
+
+msgid "<big>Drag and drop <b>theme or plugin folder</b> here</big>\n\nor use the “Choose folder” button"
+msgstr "<big>Dra och släpp <b>tema eller insticksmodulsmapp</b> här</big>\n\neller använd knappen \"Välj mapp\""
+
+msgid "<big>Drag and Drop <b>Theme or Plugin Folder</b> Here</big>\n\nor use the “Choose Folder” button"
+msgstr "<big>Dra och Släpp <b>Tema eller Insticksmodulsmapp</b> här</big>\n\neller använd knappen \"Välj mapp\""
+
+#, c-format
+msgid "Folder “%s”"
+msgstr "Mapp \"%s\""
+
+msgid "Choose Folder..."
+msgstr "Välj mapp..."
+
+msgid "Choose folder..."
+msgstr "Välj mapp..."
+
+msgid "Create a new translation"
+msgstr "Skapa en ny översättning"
+
+msgid "Choose this if you want to translate the theme or plugin into your language."
+msgstr "Välj det här alternativet om du vill översätta ett tema eller plugin till ditt språk."
+
+msgid "Create a POT"
+msgstr "Skapa en POT"
+
+msgid "This option is for theme and plugin developers. Poedit will create an empty template (POT) that translations can be based on."
+msgstr "Det här alternativet är för utvecklare av tema och plugin. Poedit kommer att skapa en tom mall (POT) som översättningar kan baseras på."
+
+msgid "Continue"
+msgstr "Fortsätta"
+
+msgid "Failed to extract WordPress information."
+msgstr "Det gick inte att extrahera information om WordPress."
+
+msgid "WordPress error"
+msgstr "WordPress-fel"
+
+#, c-format
+msgid "Poedit couldn’t understand the content of the folder you selected. This may be a problem with the plugin/theme or it may be Poedit being silly. The error is:\n\n • %s\n\nPlease email help at poedit.net and we’ll sort it out."
+msgstr "Poedit kunde inte förstå innehållet i den mapp du valt. Detta kan vara ett problem med plugin/tema eller det kan var Poedit som är löjlig. Felet är:\n\n • %s\n\nVänligen e-posta help at poedit.net och vi kommer att reda ut det."
+
+#. TRANSLATORS: This is a button that sends an email to support when clicked
+msgid "Email support"
+msgstr "E-posta support"
+
+msgid "View log"
+msgstr "Visa logg"
+
+#. TRANSLATORS: This is a button that sends an email to support when clicked
+msgid "Email Support"
+msgstr "E-posta support"
+
+msgid "View Log"
+msgstr "Visa logg"
+
+msgid "WordPress Errors Log"
+msgstr "WordPress fel logg"
+
+msgid "Please email this log to help at poedit.net. Thank you!"
+msgstr "Var vänlig e-posta den här loggen till help at poedit.net. Tack!"
+
+msgid "Sync"
+msgstr "Synkronisera"
+
+msgid "Synchronize the translation with Crowdin"
+msgstr "Synkronisera översättningen med Crowdin"
+
diff --git a/locales/ta.mo b/locales/ta.mo
index 632ef5a..01ff25d 100644
Binary files a/locales/ta.mo and b/locales/ta.mo differ
diff --git a/locales/ta.po b/locales/ta.po
index 8a1af3e..98acdd1 100644
--- a/locales/ta.po
+++ b/locales/ta.po
@@ -1,9 +1,9 @@
msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
-"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:34-0400\n"
+"Report-Msgid-Bugs-To: poedit at googlegroups.com\n"
+"POT-Creation-Date: 2015-05-11 08:48+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Tamil\n"
"Language: ta_IN\n"
@@ -16,6 +16,40 @@ msgstr ""
"X-Crowdin-Language: ta\n"
"X-Crowdin-File: /locales/poedit.pot\n"
+#. TRANSLATORS: This is titlebar of about dialog, "%s" is application name
+#. ("Poedit" here, but please use "%s")
+#, c-format
+msgid "About %s"
+msgstr ""
+
+#. TRANSLATORS: This is version information in about dialog, "%s" will be
+#. version number when used
+#, c-format
+msgid "Version %s"
+msgstr ""
+
+msgid "Based on the open source version →"
+msgstr ""
+
+msgid "Acknowledgements"
+msgstr ""
+
+msgid "Rate on the App Store"
+msgstr ""
+
+msgid "License Agreement"
+msgstr ""
+
+#, c-format
+msgid "Licensed to %s"
+msgstr ""
+
+msgid "Purchased on the Mac App Store"
+msgstr ""
+
+msgid "Free version (please upgrade!)"
+msgstr ""
+
msgid "Hide this notification message"
msgstr ""
@@ -39,54 +73,46 @@ msgstr ""
msgid "Malformed header: '%s'"
msgstr "எசகு பிசகான தலைப்பு: '%s'"
-msgid ""
-"Broken catalog file: singular form msgstr used together with msgid_plural"
-msgstr ""
-"வழுவுடைய காடலாக் கோப்பு: msgid_plural பன்மையாக இருக்கும் போது msgstr ஒருமையாக "
-"உள்ளது."
+msgid "Broken catalog file: singular form msgstr used together with msgid_plural"
+msgstr "வழுவுடைய காடலாக் கோப்பு: msgid_plural பன்மையாக இருக்கும் போது msgstr ஒருமையாக உள்ளது."
msgid "Broken catalog file: plural form msgstr used without msgid_plural"
-msgstr ""
-"வழுவுடைய காடலாக் கோப்பு: msgid_plural பன்மையாக இல்லாத போது msgstr பன்மையாக உள்ளது."
+msgstr "வழுவுடைய காடலாக் கோப்பு: msgid_plural பன்மையாக இல்லாத போது msgstr பன்மையாக உள்ளது."
-msgid ""
-"There were errors when loading the catalog. Some data may be missing or "
-"corrupted as the result."
-msgstr ""
-"காடலாகினைப் புதுப்பிக்கையில் சிக்கல். தரவு விடுபட்டுப்போகவோ கெட்டுப் போகவோ "
-"வாய்ப்புகளுண்டு."
+msgid "There were errors when loading the catalog. Some data may be missing or corrupted as the result."
+msgstr "காடலாகினைப் புதுப்பிக்கையில் சிக்கல். தரவு விடுபட்டுப்போகவோ கெட்டுப் போகவோ வாய்ப்புகளுண்டு."
#, c-format
msgid "Couldn't load file %s, it is probably corrupted."
msgstr "%s பழுதடைந்துள்ளது போல் தெரிகிறது. ஏற்ற இயலவில்லை."
#, c-format
-msgid ""
-"File '%s' is read-only and cannot be saved.\n"
-"Please save it under different name."
-msgstr ""
-"'%s' னை வாசிக்க மட்டுமே உரிமம் உள்ளது. காக்க இயலாது. \n"
-" மாற்றுப் பெயரிட்டு காக்கவும்."
+msgid "File '%s' is read-only and cannot be saved.\nPlease save it under different name."
+msgstr "'%s' னை வாசிக்க மட்டுமே உரிமம் உள்ளது. காக்க இயலாது. \n மாற்றுப் பெயரிட்டு காக்கவும்."
#, c-format
msgid "Couldn't save file %s."
msgstr ""
-msgid ""
-"There was a problem formatting the file nicely (but it was saved all right)."
+msgid "There was a problem formatting the file nicely (but it was saved all right)."
msgstr ""
#, c-format
-msgid ""
-"The catalog couldn't be saved in '%s' charset as specified in catalog "
-"settings.\n"
-"\n"
-"It was saved in UTF-8 instead and the setting was modified accordingly."
+msgid "The catalog couldn't be saved in '%s' charset as specified in catalog settings.\n\nIt was saved in UTF-8 instead and the setting was modified accordingly."
msgstr ""
msgid "Error saving catalog"
msgstr "காடல்லகினை காப்பதில் சிக்கல்"
+msgid "PO Translation Files"
+msgstr ""
+
+msgid "POT Translation Templates"
+msgstr ""
+
+msgid "All Translation Files"
+msgstr ""
+
msgid "Merging differences..."
msgstr "வேறுபாடுகள் ஒன்றிணைக்கப் படுகின்றன..."
@@ -106,6 +132,81 @@ msgstr "மொழித் தேர்வு:"
msgid "You must restart Poedit for this change to take effect."
msgstr "இம்மாற்றம் செயற்படுத்தப் பட பி.ஓ.எடிட்டினைத் தாங்கள் மீண்டும் துவங்க வேண்டும்."
+msgid "Downloading translations is disabled in this project."
+msgstr ""
+
+msgid "Not authorized, please sign in again."
+msgstr ""
+
+msgid "Sign in to Crowdin"
+msgstr ""
+
+msgid "Crowdin is an online localization management platform and collaborative translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+
+msgid "Sign In"
+msgstr ""
+
+msgid "Sign in"
+msgstr ""
+
+msgid "Sign Out"
+msgstr ""
+
+msgid "Sign out"
+msgstr ""
+
+msgid "Waiting for authentication…"
+msgstr ""
+
+msgid "Updating user information…"
+msgstr ""
+
+msgid "Signed in as:"
+msgstr ""
+
+msgid "Learn More About Crowdin"
+msgstr ""
+
+msgid "Learn more about Crowdin"
+msgstr ""
+
+msgid "Open Crowdin translation"
+msgstr ""
+
+msgid "Project:"
+msgstr ""
+
+msgid "Language:"
+msgstr "மொழி:"
+
+msgid "File:"
+msgstr ""
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr ""
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr ""
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr ""
+
+msgid "Downloading latest translations…"
+msgstr ""
+
+msgid "Syncing with Crowdin"
+msgstr ""
+
+msgid "Syncing with Crowdin failed."
+msgstr ""
+
+msgid "Crowdin error"
+msgstr ""
+
+msgid "Uploading translations…"
+msgstr ""
+
msgid "&Copy"
msgstr ""
@@ -133,23 +234,43 @@ msgstr "%s கோப்புகள் சரவையிடப்படுக
msgid "Failed to load extracted catalog."
msgstr "வெளிக்கொணரப் பட்ட காடலாக்கினை ஏற்ற இயலவில்லை."
+#, c-format
+msgid "Failed to extract WordPress metadata from file %s."
+msgstr ""
+
msgid "&Help"
msgstr "&உதவி"
+msgid "Beta expired"
+msgstr ""
+
+msgid "This beta version of Poedit expired."
+msgstr ""
+
+msgid "Please download a newer version from the Poedit website at http://poedit.net/download"
+msgstr ""
+
+msgid "Download"
+msgstr ""
+
+msgid "Quit"
+msgstr ""
+
msgid "MO files can’t be directly edited in Poedit."
msgstr ""
msgid "Error opening file"
msgstr ""
-msgid ""
-"Please open and edit the corresponding PO file instead. When you save it, "
-"the MO file will be updated as well."
+msgid "Please open and edit the corresponding PO file instead. When you save it, the MO file will be updated as well."
msgstr ""
msgid "don't delete temporary files (for debugging)"
msgstr ""
+msgid "handle a poedit:// URI"
+msgstr ""
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr ""
@@ -160,34 +281,19 @@ msgstr ""
msgid "Open catalog"
msgstr "காடலாகினைத் திறக்கவும்"
-msgid "All Files"
-msgstr ""
-
-msgid "PO Translation Files"
-msgstr ""
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "'%s' எனும் கோப்பு இல்லை."
-#. TRANSLATORS: This is titlebar of about dialog, "%s" is application name
-#. ("Poedit" here, but please use "%s")
-#, c-format
-msgid "About %s"
-msgstr ""
-
-#. TRANSLATORS: This is version information in about dialog, "%s" will be
-#. version number when used
-#, c-format
-msgid "Version %s"
-msgstr ""
-
msgid "Poedit is an easy to use translations editor."
msgstr ""
msgid "Catalogs Manager"
msgstr ""
+msgid "License..."
+msgstr ""
+
msgid "Check for Updates..."
msgstr ""
@@ -269,6 +375,15 @@ msgstr ""
msgid "&View"
msgstr "&பார்வையிடு"
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
+msgid "Show Toolbar"
+msgstr ""
+
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
+msgid "Customize Toolbar…"
+msgstr ""
+
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
msgid "Enter Full Screen"
msgstr ""
@@ -284,17 +399,27 @@ msgstr ""
msgid "Bring All to Front"
msgstr ""
+#. TRANSLATORS:File kind displayed in Finder/Explorer
msgid "PO Translation"
msgstr ""
+msgid "Invalid license data."
+msgstr ""
+
+msgid "Poedit"
+msgstr "பி.ஓ.எடிட்"
+
+#, c-format
+msgid "The link doesn't contain valid Poedit license. Try entering it manually or contact support at help at poedit.net.\n\n(%s)"
+msgstr ""
+
msgid "The file cannot be opened."
msgstr ""
msgid "Invalid file"
msgstr ""
-msgid ""
-"The file may be either corrupted or in a format not recognized by Poedit."
+msgid "The file may be either corrupted or in a format not recognized by Poedit."
msgstr ""
msgid "&Undo"
@@ -372,9 +497,6 @@ msgstr "ஒன்றுக்கு மேற்பட்ட கோப்பு
msgid "File '%s' is not a message catalog."
msgstr ""
-msgid "Poedit"
-msgstr "பி.ஓ.எடிட்"
-
msgid "&File"
msgstr "&கோப்பினை"
@@ -393,12 +515,20 @@ msgstr "பன்மை:"
msgid "Translation:"
msgstr ""
+msgid "POT files are only templates and don’t contain any translations themselves.\nTo make a translation, create a new PO file based on the template."
+msgstr ""
+
+msgid "Create New Translation"
+msgstr ""
+
+msgid "Create new translation"
+msgstr ""
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
#, c-format
-msgid ""
-"Spellchecking is disabled, because the dictionary for %s isn’t installed."
+msgid "Spellchecking is disabled, because the dictionary for %s isn’t installed."
msgstr ""
msgid "Install"
@@ -440,7 +570,29 @@ msgstr ""
msgid "Open catalog template"
msgstr "காடலாக் வார்ப்பினைத் திறக்க"
-msgid "POT Translation Templates"
+msgid "WordPress"
+msgstr ""
+
+msgid "Analyzing WordPress code..."
+msgstr ""
+
+msgid "Select the folder with the WordPress theme or plugin"
+msgstr ""
+
+#. TRANSLATORS: %s is name of a WordPress theme
+#, c-format
+msgid "The “%s” theme is compatible."
+msgstr ""
+
+#. TRANSLATORS: %s is name of a WordPress plugin
+#, c-format
+msgid "The “%s” plugin is compatible."
+msgstr ""
+
+msgid "The theme is translation-ready and compatible with Poedit’s WordPress support."
+msgstr ""
+
+msgid "The plugin is translation-ready and compatible with Poedit’s WordPress support."
msgstr ""
msgid "Updating catalog"
@@ -452,9 +604,7 @@ msgstr ""
msgid "Updating failed"
msgstr ""
-msgid ""
-"Translations couldn’t be updated from the source code, because no code was "
-"found in the location specified in the catalog’s Properties."
+msgid "Translations couldn’t be updated from the source code, because no code was found in the location specified in the catalog’s Properties."
msgstr ""
msgid "Entries in the catalog are probably incorrect."
@@ -472,27 +622,19 @@ msgstr[1] ""
msgid "Validation results"
msgstr ""
-msgid ""
-"Entries with errors were marked in red in the list. Details of the error "
-"will be shown when you select such an entry."
+msgid "Entries with errors were marked in red in the list. Details of the error will be shown when you select such an entry."
msgstr ""
msgid "The file was saved safely."
msgstr ""
-msgid ""
-"The file was saved safely and compiled into the MO format, but it will "
-"probably not work correctly."
+msgid "The file was saved safely and compiled into the MO format, but it will probably not work correctly."
msgstr ""
-msgid ""
-"The file was saved safely, but it cannot be compiled into the MO format and "
-"used."
+msgid "The file was saved safely, but it cannot be compiled into the MO format and used."
msgstr ""
-msgid ""
-"The file was compiled into the MO format, but it will probably not work "
-"correctly."
+msgid "The file was compiled into the MO format, but it will probably not work correctly."
msgstr ""
msgid "The file cannot be compiled into the MO format and used."
@@ -503,26 +645,41 @@ msgstr ""
#, c-format
msgid "The translation is ready for use, but %d entry is not translated yet."
-msgid_plural ""
-"The translation is ready for use, but %d entries are not translated yet."
+msgid_plural "The translation is ready for use, but %d entries are not translated yet."
msgstr[0] ""
msgstr[1] ""
msgid "The translation is ready for use."
msgstr ""
-msgid "No references to this string found."
-msgstr "இச்சரத்திற்கு சுட்டிகள் எதுவும் கிடைக்கவில்லை."
+msgid "Contributing translations improves the quality of online suggestions for everybody — the more people do it, the better the suggestions can be. Your translations are submitted anonymously and are available to other translators using Poedit or other CAT tools."
+msgstr ""
+
+msgid "Can Poedit contribute your translations of this file to the online translation memory?"
+msgstr ""
+
+msgid "Apply to all files I edit"
+msgstr ""
+
+msgid "Contribute"
+msgstr ""
-msgid "Please choose the reference you want to show:"
-msgstr "காட்ட விரும்பும் சுட்டியினை தேர்வு செய்க:"
+msgid "Keep Private"
+msgstr ""
-msgid "References"
-msgstr "சுட்டிகள்"
+msgid "Keep private"
+msgstr ""
msgid "Context:"
msgstr ""
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr ""
+
+msgid "The file contained duplicate items, which is not allowed in PO files and would prevent the file from being used. Poedit fixed the issue, but you should review translations of any items marked as fuzzy and correct them if necessary."
+msgstr ""
+
msgid "Language of the translation isn't set."
msgstr ""
@@ -532,14 +689,23 @@ msgstr ""
msgid "Set language"
msgstr ""
-msgid ""
-"This catalog has entries with plural forms, but doesn't have Plural-Forms "
-"header configured."
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid "Suggestions are not available if the translation language is not set correctly. Other features, such as plural forms, may be affected as well."
msgstr ""
-msgid ""
-"Entries in this catalog have different plural forms count from what "
-"catalog's Plural-Forms header says"
+msgid "Language of the translation is the same as source language."
+msgstr ""
+
+msgid "Fix Language"
+msgstr ""
+
+msgid "Fix language"
+msgstr ""
+
+msgid "This catalog has entries with plural forms, but doesn't have Plural-Forms header configured."
+msgstr ""
+
+msgid "Entries in this catalog have different plural forms count from what catalog's Plural-Forms header says"
msgstr ""
msgid "Required header Plural-Forms is missing."
@@ -562,6 +728,7 @@ msgstr ""
msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr ""
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr ""
@@ -583,12 +750,22 @@ msgid_plural "%d errors"
msgstr[0] ""
msgstr[1] ""
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] ""
+msgstr[1] ""
+
msgid " (unsaved)"
msgstr ""
msgid " (modified)"
msgstr "(மாற்றப்பட்டவை)"
+#, c-format
+msgid " (beta version expires %s)"
+msgstr ""
+
msgid "Go"
msgstr ""
@@ -602,10 +779,7 @@ msgstr "அழிக்கப் பட்ட மொழிபெயர்ப்
msgid "Do you want to remove all translations that are no longer used?"
msgstr ""
-msgid ""
-"If you continue with purging, all translations marked as deleted will be "
-"permanently removed. You will have to translate them again if they are added "
-"back in the future."
+msgid "If you continue with purging, all translations marked as deleted will be permanently removed. You will have to translate them again if they are added back in the future."
msgstr ""
msgid "Keep"
@@ -620,17 +794,22 @@ msgstr ""
msgid "Only fill in exact matches"
msgstr ""
-msgid ""
-"By default, inaccurate results are filled in as well and marked as fuzzy. "
-"Check this option to only include accurate matches."
+msgid "By default, inaccurate results are filled in as well and marked as fuzzy. Check this option to only include accurate matches."
msgstr ""
msgid "Don’t mark exact matches as fuzzy"
msgstr ""
-msgid ""
-"Only enable if you trust the quality of your TM. By default, all matches "
-"from the TM are marked as fuzzy and should be reviewed."
+msgid "Only enable if you trust the quality of your TM. By default, all matches from the TM are marked as fuzzy and should be reviewed."
+msgstr ""
+
+msgid "Use online suggestions"
+msgstr ""
+
+msgid "Use online suggestions (experimental)"
+msgstr ""
+
+msgid "Try to fetch translations from the online TM as well. Notice that the translations will not be perfect and will still need to be corrected by a human translator."
msgstr ""
msgid "Fill"
@@ -642,18 +821,13 @@ msgid_plural "%d entries were filled from the translation memory."
msgstr[0] ""
msgstr[1] ""
-msgid ""
-"The translations were marked as fuzzy, because they may be inaccurate. You "
-"should review them for correctness."
+msgid "The translations were marked as fuzzy, because they may be inaccurate. You should review them for correctness."
msgstr ""
msgid "No entries could be filled from the translation memory."
msgstr ""
-msgid ""
-"The TM doesn’t contain any strings similar to the content of this file. It "
-"is only effective for semi-automatic translations after Poedit learns enough "
-"from files that you translated manually."
+msgid "The TM doesn’t contain any strings similar to the content of this file. It is only effective for semi-automatic translations after Poedit learns enough from files that you translated manually."
msgstr ""
msgid "Translating"
@@ -696,6 +870,9 @@ msgstr ""
msgid "Form %i"
msgstr "படிவம் %i"
+msgid "Singular"
+msgstr ""
+
msgid "Zero"
msgstr ""
@@ -705,6 +882,9 @@ msgstr ""
msgid "Two"
msgstr ""
+msgid "Plural"
+msgstr ""
+
msgid "Other"
msgstr ""
@@ -733,6 +913,12 @@ msgstr ""
msgid "Show Sidebar"
msgstr ""
+msgid "Hide Status Bar"
+msgstr ""
+
+msgid "Show Status Bar"
+msgstr ""
+
msgid "Source text"
msgstr ""
@@ -742,6 +928,10 @@ msgstr "மொழிபெயர்ப்பு"
msgid "ID"
msgstr ""
+#, c-format
+msgid "Source text — %s"
+msgstr ""
+
msgid "unknown language"
msgstr ""
@@ -752,57 +942,73 @@ msgstr ""
msgid "Error:"
msgstr ""
-msgid "Project info"
-msgstr "திட்ட விவரம்"
+msgid "Source file"
+msgstr "மூலக் கோப்பு"
-msgid "Project name and version:"
-msgstr "திட்டத்தின் பெயர் மற்றும் வெளியீட்டு எண்:"
+msgid "Source file occurrence:"
+msgstr ""
-msgid "Language:"
-msgstr "மொழி:"
+msgid "Open in Editor"
+msgstr ""
-msgid "Team:"
-msgstr "குழுமம்:"
+msgid "Open in editor"
+msgstr ""
-msgid "Team's email address:"
-msgstr "குழுமத்தின் மின்னஞ்சல் முகவரி:"
+msgid "No references for the selected item."
+msgstr ""
-msgid "Charset:"
-msgstr "எழுத்து வகை:"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "%s கோப்பினைத் திறப்பதில் சிக்கல்!"
-msgid "Source"
+msgid "Find"
msgstr ""
-msgid "Notes"
-msgstr "துப்புகள்"
+msgid "Replace"
+msgstr ""
-msgid "Automatic translation"
-msgstr "சுயமான மொழிபெயர்ப்பு"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr ""
-msgid "Fuzzy translation"
-msgstr "அரைகுறை மொழிபெயர்ப்பு"
+msgid "Ignore case"
+msgstr ""
-msgid "Notes for translators:"
+msgid "Wrap around"
msgstr ""
-msgid "Comment:"
-msgstr "குறிப்புகள்:"
+msgid "Whole words only"
+msgstr "முழுமையானச் சொற்கள் மாத்திரம்"
-msgid "Source file"
-msgstr "மூலக் கோப்பு"
+msgid "Find in source texts"
+msgstr ""
-msgid "Source file occurrence:"
+msgid "Find in translations"
+msgstr "மொழிபெயர்ப்புகளில் தேடுக"
+
+msgid "Find in comments"
+msgstr "குறிப்புகளில் தேடுக"
+
+msgid "Close"
msgstr ""
-msgid "Open in Editor"
+msgid "Replace All"
msgstr ""
-msgid "Open in editor"
+msgid "Replace all"
msgstr ""
-#, c-format
-msgid "Error opening file %s!"
-msgstr "%s கோப்பினைத் திறப்பதில் சிக்கல்!"
+msgid "< &Previous"
+msgstr ""
+
+msgid "&Next >"
+msgstr ""
+
+msgid "String to find"
+msgstr ""
+
+msgid "Replacement string"
+msgstr ""
#, c-format
msgid "Cannot execute program: %s"
@@ -817,6 +1023,55 @@ msgstr ""
msgid "Language of the translation:"
msgstr ""
+msgid "Poedit Registration"
+msgstr ""
+
+msgid "Name"
+msgstr ""
+
+msgid "License Key"
+msgstr ""
+
+msgid "The registration key can be used on multiple computers you use personally or for multiple\naccounts on a single computer."
+msgstr ""
+
+msgid "Buy Online..."
+msgstr ""
+
+msgid "Buy online..."
+msgstr ""
+
+msgid "Cancel"
+msgstr "தவிர்க்க"
+
+msgid "Register"
+msgstr ""
+
+msgid "Your copy is upgraded to Poedit Pro."
+msgstr ""
+
+msgid "You’re awesome! Thank you so much\nfor purchasing Poedit Pro."
+msgstr ""
+
+msgid "View License Key"
+msgstr ""
+
+msgid "View license key"
+msgstr ""
+
+#, c-format
+msgid "Licensed to: %s"
+msgstr ""
+
+msgid "Purchasing the full version will unlock more features\nin this and future versions of Poedit, including:\n\n"
+msgstr ""
+
+msgid "Upgrade..."
+msgstr ""
+
+msgid "No, thanks"
+msgstr ""
+
msgid "Poedit - Catalogs manager"
msgstr "பி.ஓ.எடிட் - காடலாக் நிர்வாகம்"
@@ -853,11 +1108,8 @@ msgstr "திட்டத்தினை அகற்ற விரும்ப
msgid "Confirmation"
msgstr "உறுதியாக"
-msgid ""
-"Do you really want to do mass update of\n"
-"all catalogs in this project?"
-msgstr ""
-"இத்திட்டத்திலுள்ள அனைத்து காடலாகினையும் ஒட்டுமொத்தமாக புதுப்பிக்க தாங்கள் விரும்புகிறீர்களா?"
+msgid "Do you really want to do mass update of\nall catalogs in this project?"
+msgstr "இத்திட்டத்திலுள்ள அனைத்து காடலாகினையும் ஒட்டுமொத்தமாக புதுப்பிக்க தாங்கள் விரும்புகிறீர்களா?"
msgid "Information about the translator"
msgstr ""
@@ -874,9 +1126,7 @@ msgstr ""
msgid "your_email at example.com"
msgstr ""
-msgid ""
-"Your name and email address are only used to set the Last-Translator header "
-"of GNU gettext files."
+msgid "Your name and email address are only used to set the Last-Translator header of GNU gettext files."
msgstr ""
msgid "Editing"
@@ -894,14 +1144,8 @@ msgstr ""
msgid "Always change focus to text input field"
msgstr "உரை உள்ளீட்டுக் களத்தில் எப்போதும் கவனம் இருக்கட்டும்"
-msgid ""
-"Never let the list of strings take focus. If enabled, you must use Ctrl-"
-"arrows for keyboard navigation but you can also type text immediately, "
-"without having to press Tab to change focus."
-msgstr ""
-"சரங்களின் பட்டியலில் கவனம் கொள்ளும் படிக்கு செய்ய வேண்டாம். அங்ஙனம் செய்தால் உலாவுவதற்கு, "
-"விசைப் பலகையின் Ctrl-arrows விசைகளை பயன்படுத்தவேண்டியிருக்கும். ஆயினும் தத்து "
-"விசையினை அழுத்தாது உடனுக்குடன் உரையிடவும் இது உதவும்."
+msgid "Never let the list of strings take focus. If enabled, you must use Ctrl-arrows for keyboard navigation but you can also type text immediately, without having to press Tab to change focus."
+msgstr "சரங்களின் பட்டியலில் கவனம் கொள்ளும் படிக்கு செய்ய வேண்டாம். அங்ஙனம் செய்தால் உலாவுவதற்கு, விசைப் பலகையின் Ctrl-arrows விசைகளை பயன்படுத்தவேண்டியிருக்கும். ஆயினும் தத்து விசையினை அழுத்தாது உடனுக்குடன் உரையிடவும் இது உதவும்."
msgid "Appearance"
msgstr ""
@@ -938,11 +1182,29 @@ msgstr ""
msgid "Consult TM when updating from sources"
msgstr ""
-msgid ""
-"If enabled, Poedit will try to fill in new entries using your previous\n"
-"translations stored in the translation memory. If the TM is\n"
-"near-empty, it will not be very effective. The more translations\n"
-"you edit and the larger the TM grows, the better it gets."
+msgid "If enabled, Poedit will try to fill in new entries using your previous\ntranslations stored in the translation memory. If the TM is\nnear-empty, it will not be very effective. The more translations\nyou edit and the larger the TM grows, the better it gets."
+msgstr ""
+
+msgid "Use suggestions from online collaborative TM"
+msgstr ""
+
+msgid "Poedit uses a large online translation memory that includes both contributed human translations and state-of-the-art machine translations."
+msgstr ""
+
+msgid "Contribute my translations to the online TM"
+msgstr ""
+
+msgid "Keep my translations private"
+msgstr ""
+
+msgid "Ask me for each file individually"
+msgstr ""
+
+msgid "Terms of Service"
+msgstr ""
+
+#. TRANSLATORS: This is part of footer that says in full "powered by MyMemory", with the MyMemory part being a logo
+msgid "powered by"
msgstr ""
msgid "Stored translations:"
@@ -969,23 +1231,16 @@ msgstr ""
msgid "Are you sure you want to reset the translation memory?"
msgstr ""
-msgid ""
-"Resetting the translation memory will irrevocably delete all stored "
-"translations from it. You can’t undo this operation."
+msgid "Resetting the translation memory will irrevocably delete all stored translations from it. You can’t undo this operation."
msgstr ""
-msgid "Cancel"
-msgstr "தவிர்க்க"
-
#. TRANSLATORS: This is abbreviation of "Translation Memory" used in Preferences on OS X.
#. Long text looks weird there, too short (like TM) too, but less so. "General" is about ideal
#. length there.
msgid "TM"
msgstr ""
-msgid ""
-"Source code extractors are used to find translatable strings in the source "
-"code files and extract them so that they can be translated."
+msgid "Source code extractors are used to find translatable strings in the source code files and extract them so that they can be translated."
msgstr ""
msgid "New"
@@ -994,26 +1249,32 @@ msgstr "புதியவை "
msgid "Edit"
msgstr "தொகுக்க"
+msgid "Delete extractor"
+msgstr ""
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr ""
+
msgid "Extractors"
msgstr ""
+msgid "Accounts"
+msgstr ""
+
msgid "Automatically check for updates"
msgstr ""
msgid "Include beta versions"
msgstr ""
-msgid ""
-"Beta versions contain the latest new features and improvements, but may be a "
-"bit less stable."
+msgid "Beta versions contain the latest new features and improvements, but may be a bit less stable."
msgstr ""
msgid "Updates"
msgstr ""
-msgid ""
-"These settings affect internal formatting of PO files. Adjust them if you "
-"have specific requirements e.g. because of version control."
+msgid "These settings affect internal formatting of PO files. Adjust them if you have specific requirements e.g. because of version control."
msgstr ""
msgid "Line endings:"
@@ -1035,6 +1296,30 @@ msgstr ""
msgid "Advanced"
msgstr ""
+msgid "Add Files..."
+msgstr ""
+
+msgid "Add files..."
+msgstr ""
+
+msgid "Add Folders..."
+msgstr ""
+
+msgid "Add folders..."
+msgstr ""
+
+msgid "Add Wildcard..."
+msgstr ""
+
+msgid "Add wildcard..."
+msgstr ""
+
+msgid "<big>Drag and Drop Folders Here</big>\n\nor use the + button"
+msgstr ""
+
+msgid "<big>Drag and drop folders here</big>\n\nor use the + button"
+msgstr ""
+
msgid "Additional keywords"
msgstr ""
@@ -1056,6 +1341,9 @@ msgstr ""
msgid "Please save the file first. This section cannot be edited until then."
msgstr ""
+msgid "Comment:"
+msgstr "குறிப்புகள்:"
+
msgid "OK"
msgstr "ஆம்"
@@ -1065,42 +1353,6 @@ msgstr ""
msgid "Clear the comment"
msgstr "குறிப்பினைத் துடைக்க"
-msgid "Find..."
-msgstr "தேடுக..."
-
-msgid "String to find:"
-msgstr "தேடப் பட வேண்டிய சரம்: "
-
-msgid "Case sensitive"
-msgstr "எழுத்தின் தன்மைச் சார்ந்தது"
-
-msgid "Start from the first item"
-msgstr "முதற் பொருளிலிருந்து துவக்குக"
-
-msgid "Whole words only"
-msgstr "முழுமையானச் சொற்கள் மாத்திரம்"
-
-msgid "Find in original strings"
-msgstr "மூலச் சரங்களில் தேடுக..."
-
-msgid "Find in translations"
-msgstr "மொழிபெயர்ப்புகளில் தேடுக"
-
-msgid "Find in comments"
-msgstr "குறிப்புகளில் தேடுக"
-
-msgid "Find in automatic comments"
-msgstr "சுய குறிப்புகளில் தேடுக"
-
-msgid "Close"
-msgstr ""
-
-msgid "< &Previous"
-msgstr ""
-
-msgid "&Next >"
-msgstr ""
-
msgid "Create new translations project"
msgstr "புதிய மொழிபெயர்ப்புத் திட்டங்களை உருவாக்குக"
@@ -1137,9 +1389,6 @@ msgstr "&நிறைவு செய்க"
msgid "E&xit"
msgstr ""
-msgid "Quit"
-msgstr ""
-
msgid "&New..."
msgstr ""
@@ -1149,12 +1398,24 @@ msgstr ""
msgid "New From &POT/PO File..."
msgstr ""
+msgid "New WordPress translation..."
+msgstr ""
+
+msgid "New WordPress Translation..."
+msgstr ""
+
msgid "&Open..."
msgstr "&திறக்க..."
msgid "Open Recent"
msgstr ""
+msgid "Open from Crowdin..."
+msgstr ""
+
+msgid "Open From Crowdin..."
+msgstr ""
+
msgid "&Save"
msgstr "&காக்க"
@@ -1173,6 +1434,9 @@ msgstr ""
msgid "Check for updates..."
msgstr ""
+msgid "&License..."
+msgstr ""
+
msgid "Catalogs &manager"
msgstr "காடலாக் &நிர்வாகம்"
@@ -1203,13 +1467,16 @@ msgstr ""
msgid "&Find..."
msgstr "தேடுக..."
+msgid "Replace..."
+msgstr ""
+
msgid "Find next"
msgstr ""
msgid "Find previous"
msgstr ""
-msgid "Find"
+msgid "Find and Replace..."
msgstr ""
msgid "Find Next"
@@ -1251,6 +1518,12 @@ msgstr ""
msgid "&Group By Context"
msgstr ""
+msgid "Entries with errors first"
+msgstr ""
+
+msgid "Entries with Errors First"
+msgstr ""
+
msgid "&Untranslated entries first"
msgstr ""
@@ -1260,6 +1533,9 @@ msgstr ""
msgid "Show sidebar"
msgstr ""
+msgid "Show status bar"
+msgstr ""
+
msgid "C&atalog"
msgstr "&காடலாக்"
@@ -1275,6 +1551,9 @@ msgstr "&POT கோப்பிலிருந்து புதுப்பி
msgid "Update from &POT File..."
msgstr ""
+msgid "Sync with Crowdin"
+msgstr ""
+
msgid "Fill missing translations from &TM..."
msgstr ""
@@ -1293,6 +1572,9 @@ msgstr ""
msgid "&Validate Translations"
msgstr ""
+msgid "&Statistics"
+msgstr ""
+
msgid "&Properties..."
msgstr ""
@@ -1338,6 +1620,12 @@ msgstr ""
msgid "&GNU gettext Manual"
msgstr ""
+msgid "Email &support..."
+msgstr ""
+
+msgid "Email &Support..."
+msgstr ""
+
msgid "&About Poedit"
msgstr ""
@@ -1356,51 +1644,35 @@ msgstr "சுழி:"
msgid "Command to extract translations:"
msgstr ""
-msgid ""
-"This is the command used to launch the extractor.\n"
-"%o expands to the name of output file, %K to list\n"
-"of keywords, %F to list of input files,\n"
-"%C to charset flag (see below)."
+msgid "This is the command used to launch the extractor.\n%o expands to the name of output file, %K to list\nof keywords, %F to list of input files,\n%C to charset flag (see below)."
msgstr ""
msgid "An item in keywords list:"
msgstr "துருப்புச் சொற்களின் பட்டியலில் பொருளினைச் சேர்க்கவும்:"
-msgid ""
-"This will be attached to the command line once\n"
-"for each keyword. %k expands to the keyword."
-msgstr ""
-"மூல நிரலின் எழுத்து வகை கொடுக்கப் பட்டிருந்தால் மாத்திரமே இது முனையத்தோடு இணைக்கப் "
-"படும். \n"
-" %k துருப்புச் சொல்லாக விரிகிறது. "
+msgid "This will be attached to the command line once\nfor each keyword. %k expands to the keyword."
+msgstr "மூல நிரலின் எழுத்து வகை கொடுக்கப் பட்டிருந்தால் மாத்திரமே இது முனையத்தோடு இணைக்கப் படும். \n %k துருப்புச் சொல்லாக விரிகிறது. "
msgid "An item in input files list:"
msgstr "உள்ளீட்டு கோப்புகள் பட்டியலில் பொருளினைச் சேர்க்கவும்:"
#, c-format
-msgid ""
-"This will be attached to the command line once\n"
-"for each input file. %f expands to the filename."
-msgstr ""
-"மூல நிரலின் எழுத்து வகை கொடுக்கப் பட்டிருந்தால் மாத்திரமே இது முனையத்தோடு இணைக்கப் "
-"படும். \n"
-" %f கோப்பின் பெயராக விரிகிறது. "
+msgid "This will be attached to the command line once\nfor each input file. %f expands to the filename."
+msgstr "மூல நிரலின் எழுத்து வகை கொடுக்கப் பட்டிருந்தால் மாத்திரமே இது முனையத்தோடு இணைக்கப் படும். \n %f கோப்பின் பெயராக விரிகிறது. "
msgid "Source code charset:"
msgstr "மூல நிரலின் எழுத்து வகை:"
#, c-format
-msgid ""
-"This will be attached to the command line\n"
-"only if source codecharset was given. %c expands to charset value."
-msgstr ""
-"மூல நிரலின் எழுத்து வகை கொடுக்கப் பட்டிருந்தால் மாத்திரமே இது முனையத்தோடு இணைக்கப் "
-"படும். \n"
-" %c எழுத்து வகையின் மதிப்பக விரிகிறது."
+msgid "This will be attached to the command line\nonly if source codecharset was given. %c expands to charset value."
+msgstr "மூல நிரலின் எழுத்து வகை கொடுக்கப் பட்டிருந்தால் மாத்திரமே இது முனையத்தோடு இணைக்கப் படும். \n %c எழுத்து வகையின் மதிப்பக விரிகிறது."
msgid "Catalog properties"
msgstr ""
+msgid "Project name and version:"
+msgstr "திட்டத்தின் பெயர் மற்றும் வெளியீட்டு எண்:"
+
msgid "Plural Forms:"
msgstr "பன்மை வடிவங்கள்:"
@@ -1413,6 +1685,15 @@ msgstr ""
msgid "Learn about plural forms"
msgstr ""
+msgid "Charset:"
+msgstr "எழுத்து வகை:"
+
+msgid "Team:"
+msgstr "குழுமம்:"
+
+msgid "Team's email address:"
+msgstr "குழுமத்தின் மின்னஞ்சல் முகவரி:"
+
msgid "Translation properties"
msgstr ""
@@ -1425,9 +1706,7 @@ msgstr "பிரதானப் பாதை:"
msgid "Sources paths"
msgstr ""
-msgid ""
-"Use these keywords (function names) to recognize translatable strings\n"
-"in source files:"
+msgid "Use these keywords (function names) to recognize translatable strings\nin source files:"
msgstr ""
msgid "Learn about gettext keywords"
@@ -1439,22 +1718,14 @@ msgstr ""
msgid "Update summary"
msgstr "தொகுப்புரையினை புதுப்பிக்கவும்"
-msgid ""
-"These strings were found in the sources but were not in the catalog.\n"
-"Poedit will add them to the catalog now."
-msgstr ""
-"இச்சரங்கள் மூல நிரலில் இருந்தும் காடலாகில் இல்லை. \n"
-"பி.ஓ.எடிட் அவற்றை தற்போது காடலாகில் சேர்க்கும்."
+msgid "These strings were found in the sources but were not in the catalog.\nPoedit will add them to the catalog now."
+msgstr "இச்சரங்கள் மூல நிரலில் இருந்தும் காடலாகில் இல்லை. \nபி.ஓ.எடிட் அவற்றை தற்போது காடலாகில் சேர்க்கும்."
msgid "New strings"
msgstr "புதிய சரங்கள்"
-msgid ""
-"These strings are no longer in the sources.\n"
-"Poedit will remove them from the catalog now."
-msgstr ""
-"இச்சரங்கள் மூல நிரலில் தற்பொழுது இல்லை.\n"
-"காடலாலிலிருந்து பி.ஓ. எடிட் அவற்றை தற்போது நீக்கிவிடும்."
+msgid "These strings are no longer in the sources.\nPoedit will remove them from the catalog now."
+msgstr "இச்சரங்கள் மூல நிரலில் தற்பொழுது இல்லை.\nகாடலாலிலிருந்து பி.ஓ. எடிட் அவற்றை தற்போது நீக்கிவிடும்."
msgid "Obsolete strings"
msgstr "காலாவதியான சரங்கள்"
@@ -1474,6 +1745,12 @@ msgstr ""
msgid "Check for errors in the translation"
msgstr ""
+msgid "Statistics"
+msgstr ""
+
+msgid "Show translation statistics"
+msgstr ""
+
msgid "Update"
msgstr "ுரையினை புதிக்கவும்"
@@ -1483,16 +1760,20 @@ msgstr "காடலாகினைப் புதுப்பிக்க -
msgid "Toggled if selected string has fuzzy translation"
msgstr "அரைகுறை மொழிபெயர்ப்பு இருக்குமாயின் மாற்றப்படும்"
-msgid "Show or hide the sidebar."
+msgid "Sidebar"
+msgstr ""
+
+msgid "Show or hide the sidebar"
msgstr ""
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
msgid "Previous source text:"
msgstr ""
-msgid ""
-"The old source text (before it changed during an update) that the fuzzy "
-"translation corresponds to."
+msgid "The old source text (before it changed during an update) that the fuzzy translation corresponds to."
+msgstr ""
+
+msgid "Notes for translators:"
msgstr ""
msgid "Add comment"
@@ -1501,6 +1782,18 @@ msgstr ""
msgid "Add Comment"
msgstr ""
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(from your TM)"
+msgstr ""
+
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(machine translation)"
+msgstr ""
+
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(human translation)"
+msgstr ""
+
msgid "Translation suggestions:"
msgstr ""
@@ -1515,6 +1808,84 @@ msgstr ""
msgid "This string was found in Poedit’s translation memory."
msgstr ""
+msgid "This suggestion was contributed by another translator to the online TM."
+msgstr ""
+
+msgid "This suggestion was machine-translated online."
+msgstr ""
+
+#, c-format
+msgid "%d out of %d online suggestion left."
+msgid_plural "%d out of %d online suggestions left."
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Remove this limitation"
+msgstr ""
+
+msgid "Not showing additional online suggestions."
+msgstr ""
+
+msgid "Unlock online suggestions"
+msgstr ""
+
+msgid "Exceeded online TM daily limit."
+msgstr ""
+
+msgid "Connect to the Internet to get additional suggestions."
+msgstr ""
+
+#. TRANSLATORS: Label indicating that translations made in the current file are contributed to the online translation memory. Related to the "Contribute my translations to the online TM" string.
+msgid "Contributing"
+msgstr ""
+
+msgid "Your translations are contributed to the online translation memory as you make them. Thanks for making the suggestions better!"
+msgstr ""
+
+#. TRANSLATORS: Label indicating that the current file
+msgid "Private"
+msgstr ""
+
+msgid "Translations from this file are not shared with the online translation memory."
+msgstr ""
+
+msgid "Privacy settings"
+msgstr ""
+
+#, c-format
+msgid "While editing the file “%s”:"
+msgstr ""
+
+msgid "Items"
+msgstr ""
+
+msgid "Words"
+msgstr ""
+
+msgid "Translated"
+msgstr ""
+
+msgid "Needs review (fuzzy)"
+msgstr ""
+
+msgid "Translations with errors"
+msgstr ""
+
+msgid "Source Text"
+msgstr ""
+
+msgid "Strings in source language"
+msgstr ""
+
+msgid "Not translated"
+msgstr ""
+
+msgid "Copy to clipboard"
+msgstr ""
+
+msgid "Copy to Clipboard"
+msgstr ""
+
#, c-format
msgid "(New: %i, obsolete: %i)"
msgstr ""
@@ -1536,9 +1907,7 @@ msgstr ""
msgid "Poedit needs to convert your translation memory to a new format."
msgstr ""
-msgid ""
-"This must be done before Poedit can start. It may take a few minutes if you "
-"have lots of translations stored, but should normally be much faster."
+msgid "This must be done before Poedit can start. It may take a few minutes if you have lots of translations stored, but should normally be much faster."
msgstr ""
msgid "Proceed"
@@ -1548,42 +1917,53 @@ msgid "Translation memory migration failed."
msgstr ""
#, c-format
-msgid ""
-"Your translation memory data couldn't be migrated. The error was:\n"
-"\n"
-"%s\n"
-"Please email help at poedit.net and we’ll get it fixed."
+msgid "Your translation memory data couldn't be migrated. The error was:\n\n%s\nPlease email help at poedit.net and we’ll get it fixed."
msgstr ""
msgid "Cannot create temporary directory."
msgstr ""
+msgid "Check theme or plugin compatibility"
+msgstr ""
+
msgid "Welcome to Poedit"
msgstr ""
+msgid "Upgrade to Pro"
+msgstr ""
+
+msgid "Upgrade to Poedit Pro to get additional features and support Poedit's development."
+msgstr ""
+
msgid "Edit a translation"
msgstr ""
msgid "Open an existing PO file and edit the translation."
msgstr ""
-msgid "Create new translation"
+msgid "Take an existing PO file or POT template and create a new translation from it."
msgstr ""
-msgid ""
-"Take an existing PO file or POT template and create a new translation from "
-"it."
+msgid "Translate WordPress theme or plugin"
+msgstr ""
+
+#. TRANSLATORS: Please don't use any form of "automatically" in the translation, it would mislead people.
+msgid "Create a new translation. Poedit will set everything up; you can focus on translating."
+msgstr ""
+
+msgid "Collaborate on a translation with Crowdin"
+msgstr ""
+
+msgid "Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+
+msgid "What is Crowdin?"
msgstr ""
msgid "There are no translations. That’s unusual."
msgstr ""
-msgid ""
-"Translatable entries aren't added manually in the Gettext system, but are "
-"automatically extracted\n"
-"from source code. This way, they stay up to date and accurate.\n"
-"Translators typically use PO template files (POTs) prepared for them by the "
-"developer."
+msgid "Translatable entries aren't added manually in the Gettext system, but are automatically extracted\nfrom source code. This way, they stay up to date and accurate.\nTranslators typically use PO template files (POTs) prepared for them by the developer."
msgstr ""
msgid "(Learn more about GNU gettext)"
@@ -1598,8 +1978,7 @@ msgstr ""
msgid "Take translatable strings from an existing POT template."
msgstr ""
-msgid ""
-"You can also extract translatable strings directly from the source code:"
+msgid "You can also extract translatable strings directly from the source code:"
msgstr ""
msgid "Extract from sources"
@@ -1607,3 +1986,105 @@ msgstr ""
msgid "Configure source code extraction in Properties."
msgstr ""
+
+#, c-format
+msgid "Failed to read file '%s'."
+msgstr ""
+
+#, c-format
+msgid "Confused by ambiguous values of \"%s\" in %s."
+msgstr ""
+
+#, c-format
+msgid "Couldn't detect POs location for \"%s\"."
+msgstr ""
+
+#, c-format
+msgid "The \"%s\" theme isn't localization-ready."
+msgstr ""
+
+msgid "Confused: multiple main plugin files."
+msgstr ""
+
+#, c-format
+msgid "The \"%s\" plugin isn't localization-ready."
+msgstr ""
+
+#, c-format
+msgid "Couldn't detect translation domain of the \"%s\" plugin."
+msgstr ""
+
+msgid "Found neither WordPress theme nor plugin in the folder."
+msgstr ""
+
+#, c-format
+msgid "Translations folder (%s) doesn't exist."
+msgstr ""
+
+msgid "<big>Drag and drop <b>theme or plugin folder</b> here</big>\n\nor use the “Choose folder” button"
+msgstr ""
+
+msgid "<big>Drag and Drop <b>Theme or Plugin Folder</b> Here</big>\n\nor use the “Choose Folder” button"
+msgstr ""
+
+#, c-format
+msgid "Folder “%s”"
+msgstr ""
+
+msgid "Choose Folder..."
+msgstr ""
+
+msgid "Choose folder..."
+msgstr ""
+
+msgid "Create a new translation"
+msgstr ""
+
+msgid "Choose this if you want to translate the theme or plugin into your language."
+msgstr ""
+
+msgid "Create a POT"
+msgstr ""
+
+msgid "This option is for theme and plugin developers. Poedit will create an empty template (POT) that translations can be based on."
+msgstr ""
+
+msgid "Continue"
+msgstr ""
+
+msgid "Failed to extract WordPress information."
+msgstr ""
+
+msgid "WordPress error"
+msgstr ""
+
+#, c-format
+msgid "Poedit couldn’t understand the content of the folder you selected. This may be a problem with the plugin/theme or it may be Poedit being silly. The error is:\n\n • %s\n\nPlease email help at poedit.net and we’ll sort it out."
+msgstr ""
+
+#. TRANSLATORS: This is a button that sends an email to support when clicked
+msgid "Email support"
+msgstr ""
+
+msgid "View log"
+msgstr ""
+
+#. TRANSLATORS: This is a button that sends an email to support when clicked
+msgid "Email Support"
+msgstr ""
+
+msgid "View Log"
+msgstr ""
+
+msgid "WordPress Errors Log"
+msgstr ""
+
+msgid "Please email this log to help at poedit.net. Thank you!"
+msgstr ""
+
+msgid "Sync"
+msgstr ""
+
+msgid "Synchronize the translation with Crowdin"
+msgstr ""
+
diff --git a/locales/tg.mo b/locales/tg.mo
index b09741b..279525a 100644
Binary files a/locales/tg.mo and b/locales/tg.mo differ
diff --git a/locales/tg.po b/locales/tg.po
index ac625ff..3046550 100644
--- a/locales/tg.po
+++ b/locales/tg.po
@@ -1,9 +1,9 @@
msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
-"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:34-0400\n"
+"Report-Msgid-Bugs-To: poedit at googlegroups.com\n"
+"POT-Creation-Date: 2015-05-11 08:48+0200\n"
+"PO-Revision-Date: 2015-05-19 10:49-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Tajik\n"
"Language: tg_TJ\n"
@@ -16,6 +16,40 @@ msgstr ""
"X-Crowdin-Language: tg\n"
"X-Crowdin-File: /locales/poedit.pot\n"
+#. TRANSLATORS: This is titlebar of about dialog, "%s" is application name
+#. ("Poedit" here, but please use "%s")
+#, c-format
+msgid "About %s"
+msgstr "Дар бораи %s"
+
+#. TRANSLATORS: This is version information in about dialog, "%s" will be
+#. version number when used
+#, c-format
+msgid "Version %s"
+msgstr "Версияи %s"
+
+msgid "Based on the open source version →"
+msgstr "Дар версияи рамзи кушод таъсис меёбад →"
+
+msgid "Acknowledgements"
+msgstr "Изҳорот"
+
+msgid "Rate on the App Store"
+msgstr "Баҳодиҳӣ дар App Store"
+
+msgid "License Agreement"
+msgstr "Шартномаи иҷозатнома"
+
+#, c-format
+msgid "Licensed to %s"
+msgstr "Иҷозатнома ба %s дода шудааст"
+
+msgid "Purchased on the Mac App Store"
+msgstr "Дар Mac App Store харид карда шуд"
+
+msgid "Free version (please upgrade!)"
+msgstr "Версияи ройгон (такмил диҳед!)"
+
msgid "Hide this notification message"
msgstr "Хабари огоҳии зеринро пинҳон кунед"
@@ -39,62 +73,50 @@ msgstr "Хати %d дар файли '%s' вайрон аст (санаи %s б
msgid "Malformed header: '%s'"
msgstr "Сарлавҳаи хатогӣ: '%s'"
-msgid ""
-"Broken catalog file: singular form msgstr used together with msgid_plural"
-msgstr ""
-"Файли тарҷума вайрон шудааст: шакли ҷамъи msgstr бо шакли ҷамъи msgid "
-"истифода шудааст"
+msgid "Broken catalog file: singular form msgstr used together with msgid_plural"
+msgstr "Файли тарҷума вайрон шудааст: шакли ҷамъи msgstr бо шакли ҷамъи msgid истифода шудааст"
msgid "Broken catalog file: plural form msgstr used without msgid_plural"
-msgstr ""
-"Файли тарҷума вайрон шудааст: шакли ҷамъи msgstr бе шакли ҷамъи msgid "
-"истифода шудааст"
+msgstr "Файли тарҷума вайрон шудааст: шакли ҷамъи msgstr бе шакли ҷамъи msgid истифода шудааст"
-msgid ""
-"There were errors when loading the catalog. Some data may be missing or "
-"corrupted as the result."
-msgstr ""
-"Ҳангоми боркунии каталог хатогӣ пайдо шуд. Эҳтимол баъзе маълумотҳо гум "
-"шудаанд ё ҳамчун натиҷа вайрон шудаанд."
+msgid "There were errors when loading the catalog. Some data may be missing or corrupted as the result."
+msgstr "Ҳангоми боркунии каталог хатогӣ пайдо шуд. Эҳтимол баъзе маълумотҳо гум шудаанд ё ҳамчун натиҷа вайрон шудаанд."
#, c-format
msgid "Couldn't load file %s, it is probably corrupted."
msgstr "Файли %s бор карда нашуд, эҳтимол он вайрон аст."
#, c-format
-msgid ""
-"File '%s' is read-only and cannot be saved.\n"
+msgid "File '%s' is read-only and cannot be saved.\n"
"Please save it under different name."
-msgstr ""
-"Файли '%s' танҳо барои хониш аст ва захира карда намешавад.\n"
+msgstr "Файли '%s' танҳо барои хониш аст ва захира карда намешавад.\n"
"Онро дар зери номи дигар захира кунед."
#, c-format
msgid "Couldn't save file %s."
msgstr "Файли %s захира карда нашуд."
-msgid ""
-"There was a problem formatting the file nicely (but it was saved all right)."
-msgstr ""
-"Барои шаклсозии хуби файли зерин мушкилиҳо пайдо шудаанд (аммо он хуб захира "
-"карда шуд)."
+msgid "There was a problem formatting the file nicely (but it was saved all right)."
+msgstr "Барои шаклсозии хуби файли зерин мушкилиҳо пайдо шудаанд (аммо он хуб захира карда шуд)."
#, c-format
-msgid ""
-"The catalog couldn't be saved in '%s' charset as specified in catalog "
-"settings.\n"
-"\n"
+msgid "The catalog couldn't be saved in '%s' charset as specified in catalog settings.\n\n"
"It was saved in UTF-8 instead and the setting was modified accordingly."
-msgstr ""
-"Файл дар маҷмӯи аломатҳои '%s', ки дар танзимоти файл татбиқ шудааст, захира "
-"намешавад.\n"
-"\n"
-"Файл ба ивази рамзгузории интихобшуда ба формати UTF-8 захира шудааст ва "
-"танзими файл мувофиқи ин формат тағйир ёфт."
+msgstr "Файл дар маҷмӯи аломатҳои '%s', ки дар танзимоти файл татбиқ шудааст, захира намешавад.\n\n"
+"Файл ба ивази рамзгузории интихобшуда ба формати UTF-8 захира шудааст ва танзими файл мувофиқи ин формат тағйир ёфт."
msgid "Error saving catalog"
msgstr "Захиракунии файл қатъ карда шуд"
+msgid "PO Translation Files"
+msgstr "Файлҳои тарҷумавии PO"
+
+msgid "POT Translation Templates"
+msgstr "Қолибҳои тарҷумавии POT"
+
+msgid "All Translation Files"
+msgstr "Ҳамаи файлҳои тарҷума"
+
msgid "Merging differences..."
msgstr "Муттаҳидшавии фарқиятҳо..."
@@ -114,8 +136,83 @@ msgstr "Интихоби забон"
msgid "You must restart Poedit for this change to take effect."
msgstr "Барои татбиқ кардани тағйирот Шумо бояд барномаро аз нав оғоз кунед."
+msgid "Downloading translations is disabled in this project."
+msgstr "Боргирии тарҷумаҳо барои ин лоиҳа ғайрифаъол шуд."
+
+msgid "Not authorized, please sign in again."
+msgstr "Ворид нашуд, лутфан аз нав ворид шавед."
+
+msgid "Sign in to Crowdin"
+msgstr "Ворид шудан ба Crowdin"
+
+msgid "Crowdin is an online localization management platform and collaborative translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr "Crowdin абзори тарҷумаҳои онлайни муштрак ва платформаи идоракунии маҳаллисозӣ мебошад. Poedit метавонад файлҳои PO-и идорашавандаро бо Crowdin ҳамвор ҳамоҳанг кунад."
+
+msgid "Sign In"
+msgstr "Ворид шудан"
+
+msgid "Sign in"
+msgstr "Ворид шудан"
+
+msgid "Sign Out"
+msgstr "Баромадан"
+
+msgid "Sign out"
+msgstr "Баромадан"
+
+msgid "Waiting for authentication…"
+msgstr "Дар ҳоли интизори санҷиши ҳаққоният…"
+
+msgid "Updating user information…"
+msgstr "Дар ҳоли навсозии маълумоти корбар…"
+
+msgid "Signed in as:"
+msgstr "Ворид шуд ҳамчун:"
+
+msgid "Learn More About Crowdin"
+msgstr "Маълумоти бештар дар бораи Crowdin"
+
+msgid "Learn more about Crowdin"
+msgstr "Маълумоти бештар дар бораи Crowdin"
+
+msgid "Open Crowdin translation"
+msgstr "Кушодани тарҷума дар Crowdin"
+
+msgid "Project:"
+msgstr "Лоиҳа:"
+
+msgid "Language:"
+msgstr "Забон:"
+
+msgid "File:"
+msgstr "Файл:"
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr "Дар ҳисоби Crowdin-и шумо ягон лоиҳаи тарҷума дар рӯйхат вуҷуд надорад."
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr "Ин лоиҳа ягон файле, ки матавонад дар Poedit тарҷума карда шавад, вуҷуд надорад."
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr "Ин файл метавонад танҳо дар интерфейси веби Crowdin таҳрир карда шавад."
+
+msgid "Downloading latest translations…"
+msgstr "Дар ҳоли боргирии тарҷумаҳои навтарин…"
+
+msgid "Syncing with Crowdin"
+msgstr "Ҳамоҳангсозӣ бо Crowdin"
+
+msgid "Syncing with Crowdin failed."
+msgstr "Ҳамоҳангсозӣ бо Crowdin иҷро нашуд."
+
+msgid "Crowdin error"
+msgstr "Хатои Crowdin"
+
+msgid "Uploading translations…"
+msgstr "Дар ҳоли боркунии тарҷумаҳо…"
+
msgid "&Copy"
-msgstr ""
+msgstr "&Нусха бардоштан"
msgid "Learn more"
msgstr "Маълумоти муфассал"
@@ -141,61 +238,66 @@ msgstr "%s файл таҷзия карда шудааст..."
msgid "Failed to load extracted catalog."
msgstr "Боркунии файлҳои баровардашуда баргузор нагашт."
+#, c-format
+msgid "Failed to extract WordPress metadata from file %s."
+msgstr "Баровардани метаиттилооти WordPress аз файли %s иҷро нашуд."
+
msgid "&Help"
msgstr "&Кӯмак"
+msgid "Beta expired"
+msgstr "Мӯҳлати версияи бета ба анҷом расид"
+
+msgid "This beta version of Poedit expired."
+msgstr "Мӯҳлати ин версияи Poedit ба анҷом расид."
+
+msgid "Please download a newer version from the Poedit website at http://poedit.net/download"
+msgstr "Лутфан, версияи навтаринро аз вебсати Poedit дар http://poedit.net/download боргирӣ намоед"
+
+msgid "Download"
+msgstr "Боргирӣ кардан"
+
+msgid "Quit"
+msgstr "Баромад"
+
msgid "MO files can’t be directly edited in Poedit."
-msgstr ""
+msgstr "Файлҳои MO метавонанд дар Poedit бевосита таҳрир карда шаванд."
msgid "Error opening file"
-msgstr ""
+msgstr "Хатои кушодани файл"
-msgid ""
-"Please open and edit the corresponding PO file instead. When you save it, "
-"the MO file will be updated as well."
-msgstr ""
+msgid "Please open and edit the corresponding PO file instead. When you save it, the MO file will be updated as well."
+msgstr "Лутфан, ба ҷояш ягон файли PO-и мувофиқро кушоед ва таҳрир кунед. Вақте ки шумо онро захира мекунед, файли MO низ навсозӣ карда мешавад."
msgid "don't delete temporary files (for debugging)"
msgstr "файлҳои муваққатиро (барои ислоҳкунии хатоҳо) нест накунед"
+msgid "handle a poedit:// URI"
+msgstr "коркарди poedit:// URI"
+
#, c-format
msgid "Unhandled exception occurred: %s"
-msgstr ""
+msgstr "Истиснои иҷронашуда ба амал омад: %s"
msgid "Unhandled exception occurred."
-msgstr ""
+msgstr "Истиснои иҷронашуда ба амал омад."
msgid "Open catalog"
msgstr "Кушодани файл"
-msgid "All Files"
-msgstr ""
-
-msgid "PO Translation Files"
-msgstr ""
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "Файли '%s' мавҷуд нест."
-#. TRANSLATORS: This is titlebar of about dialog, "%s" is application name
-#. ("Poedit" here, but please use "%s")
-#, c-format
-msgid "About %s"
-msgstr "Дар бораи %s"
-
-#. TRANSLATORS: This is version information in about dialog, "%s" will be
-#. version number when used
-#, c-format
-msgid "Version %s"
-msgstr "Версияи %s"
-
msgid "Poedit is an easy to use translations editor."
msgstr "Барномаи Poedit барои тарҷумаи файлҳо хеле осон аст."
msgid "Catalogs Manager"
msgstr "Мудири файлҳои тарҷума"
+msgid "License..."
+msgstr "Иҷозатнома..."
+
msgid "Check for Updates..."
msgstr "Санҷиши навсозиҳо..."
@@ -277,103 +379,122 @@ msgstr "Манъи талаффуз"
msgid "&View"
msgstr "&Намоиш"
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
+msgid "Show Toolbar"
+msgstr "Намоиш додани навори абзор"
+
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
+msgid "Customize Toolbar…"
+msgstr "Фармоиш додани навори абзор…"
+
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
msgid "Enter Full Screen"
-msgstr ""
+msgstr "Кушодан дар экрани пурра"
msgid "Window"
-msgstr ""
+msgstr "Равзана"
msgid "Minimize"
-msgstr ""
+msgstr "Ҳадди ақал сохтан"
msgid "Zoom"
-msgstr ""
+msgstr "Интихоби андоза"
msgid "Bring All to Front"
-msgstr ""
+msgstr "Ҳамаро ба пеш гузоред"
+#. TRANSLATORS:File kind displayed in Finder/Explorer
msgid "PO Translation"
msgstr ""
+msgid "Invalid license data."
+msgstr "Иттилооти иҷозатнома нодуруст аст."
+
+msgid "Poedit"
+msgstr "Барномаи Poedit"
+
+#, c-format
+msgid "The link doesn't contain valid Poedit license. Try entering it manually or contact support at help at poedit.net.\n\n"
+"(%s)"
+msgstr "Ин пайванд дорои иҷозатномаи боэътибори Poedit намебошад. Онро ба тарври дастӣ ворид намоед ё барои гирифтани кӯмак ба help at poedit.net нависед.\n\n"
+"(%s)"
+
msgid "The file cannot be opened."
msgstr "Файл кушода намешавад."
msgid "Invalid file"
msgstr "Файли нодуруст"
-msgid ""
-"The file may be either corrupted or in a format not recognized by Poedit."
-msgstr ""
-"Эҳтимол аст, ки файл вайрон шудааст ё дар формате мебошад, ки бо Poedit "
-"дастгирӣ намешавад."
+msgid "The file may be either corrupted or in a format not recognized by Poedit."
+msgstr "Эҳтимол аст, ки файл вайрон шудааст ё дар формате мебошад, ки бо Poedit дастгирӣ намешавад."
msgid "&Undo"
-msgstr ""
+msgstr "&Ботил сохтан"
msgid "&Redo"
-msgstr ""
+msgstr "&Дубора анҷом додан"
msgid "Cu&t"
-msgstr ""
+msgstr "&Буридан"
msgid "Cut"
-msgstr ""
+msgstr "Буридан"
msgid "Copy"
-msgstr ""
+msgstr "Нусха бардоштан"
msgid "&Paste"
-msgstr ""
+msgstr "&Гузоштан"
msgid "Paste"
-msgstr ""
+msgstr "Гузоштан"
msgid "&Delete"
-msgstr ""
+msgstr "&Нест кардан"
msgid "Select &All"
-msgstr ""
+msgstr "&Ҳамаро интихоб кардан"
msgid "Select All"
-msgstr ""
+msgstr "Ҳамаро интихоб кардан"
#. TRANSLATORS: Keyboard shortcut for display in Windows menus
#. TRANSLATORS: This is the key shortcut used in menus on Windows, some languages call them differently
msgid "Ctrl+"
-msgstr ""
+msgstr "Ctrl+"
#. TRANSLATORS: Keyboard shortcut for display in Windows menus
#. TRANSLATORS: This is the key shortcut used in menus on Windows, some languages call them differently
msgid "Alt+"
-msgstr ""
+msgstr "Alt+"
#. TRANSLATORS: Keyboard shortcut for display in Windows menus
msgid "Shift+"
-msgstr ""
+msgstr "Shift+"
#. TRANSLATORS: Keyboard shortcut for display in Windows menus
msgid "Enter"
-msgstr ""
+msgstr "Enter"
#. TRANSLATORS: Keyboard shortcut for display in Windows menus
msgid "Up"
-msgstr ""
+msgstr "Боло"
#. TRANSLATORS: Keyboard shortcut for display in Windows menus
msgid "Down"
-msgstr ""
+msgstr "Поён"
#. TRANSLATORS: Keyboard shortcut, must correspond to translation of "Ctrl+"
msgid "ctrl"
-msgstr ""
+msgstr "ctrl"
#. TRANSLATORS: Keyboard shortcut, must correspond to translation of "Alt+"
msgid "alt"
-msgstr ""
+msgstr "alt"
#. TRANSLATORS: Keyboard shortcut, must correspond to translation of "Shift+"
msgid "shift"
-msgstr ""
+msgstr "shift"
msgid "You can't drop more than one file on Poedit window."
msgstr "Шумо наметавонед зиёда аз як файл дар барномаи Poedit кушоед."
@@ -382,9 +503,6 @@ msgstr "Шумо наметавонед зиёда аз як файл дар б
msgid "File '%s' is not a message catalog."
msgstr "Файли '%s' барои тарҷума нест."
-msgid "Poedit"
-msgstr "Барномаи Poedit"
-
msgid "&File"
msgstr "&Файл"
@@ -403,16 +521,26 @@ msgstr "Шакли ҷамъ:"
msgid "Translation:"
msgstr "Тарҷума:"
+msgid "POT files are only templates and don’t contain any translations themselves.\n"
+"To make a translation, create a new PO file based on the template."
+msgstr "Файлҳои POT танҳо ҳамчун қолибҳо истифода мешаванд ва худаш тарҷумаҳоро дар бар намегиранд.\n"
+"Барои тарҷума кардан, файли PO-и наверо дар асоси қолиб эҷод кунед."
+
+msgid "Create New Translation"
+msgstr "Эҷоди тарҷумаи нав"
+
+msgid "Create new translation"
+msgstr "Аз нав тарҷума кардан"
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
#, c-format
-msgid ""
-"Spellchecking is disabled, because the dictionary for %s isn’t installed."
-msgstr ""
+msgid "Spellchecking is disabled, because the dictionary for %s isn’t installed."
+msgstr "Тафтиши имло ғайрифаъол аст, зеро ки луғат барои %s насб нашудааст."
msgid "Install"
-msgstr ""
+msgstr "Насб кардан"
msgid "Catalog modified. Do you want to save changes?"
msgstr "Файли тарҷума тағйир ёфт. Оё шумо мехоҳед, ки тағйиротро захира кунед?"
@@ -436,44 +564,62 @@ msgid "Save as..."
msgstr "Захира кардан ҳамчун..."
msgid "Compile to..."
-msgstr ""
+msgstr "Табдил додан ба..."
msgid "Compiled Translation Files"
-msgstr ""
+msgstr "Файлҳои тарҷумавии таҳияшуда"
msgid "Export as..."
msgstr "Барориш ҳамчун..."
msgid "HTML Files"
-msgstr ""
+msgstr "Файлҳои HTML"
msgid "Open catalog template"
msgstr "Кушодани қолиби файл"
-msgid "POT Translation Templates"
-msgstr ""
+msgid "WordPress"
+msgstr "WordPress"
+
+msgid "Analyzing WordPress code..."
+msgstr "Дар ҳоли таҷзияи рамзи WordPress..."
+
+msgid "Select the folder with the WordPress theme or plugin"
+msgstr "Интихоби ҷузвдон бо плагин ё мавзӯи WordPress"
+
+#. TRANSLATORS: %s is name of a WordPress theme
+#, c-format
+msgid "The “%s” theme is compatible."
+msgstr "Мавзӯи “%s” мувофиқ аст."
+
+#. TRANSLATORS: %s is name of a WordPress plugin
+#, c-format
+msgid "The “%s” plugin is compatible."
+msgstr "Плагини “%s” мувофиқ аст."
+
+msgid "The theme is translation-ready and compatible with Poedit’s WordPress support."
+msgstr "Ин мавзӯъ барои оғози тарҷума омода аст ва ба дастгирии Poedit WordPress мутобиқат мекунад."
+
+msgid "The plugin is translation-ready and compatible with Poedit’s WordPress support."
+msgstr "Ин плагин барои оғози тарҷума омода аст ва ба дастгирии Poedit WordPress мутобиқат мекунад."
msgid "Updating catalog"
msgstr "Навсозии каталог"
msgid "Source code not available."
-msgstr ""
+msgstr "Рамзи барнома дастнорас аст."
msgid "Updating failed"
-msgstr ""
+msgstr "Навсозӣ иҷро нашуд"
-msgid ""
-"Translations couldn’t be updated from the source code, because no code was "
-"found in the location specified in the catalog’s Properties."
-msgstr ""
+msgid "Translations couldn’t be updated from the source code, because no code was found in the location specified in the catalog’s Properties."
+msgstr "Тарҷумаҳо аз рамзи манбаъ навсозӣ карда намешаванд, зеро ки ягон рамз дар макони муайяншуда дар хусусиятҳои файл ёфт нашуд."
msgid "Entries in the catalog are probably incorrect."
msgstr "Вурудҳои файл эҳтимол нодуруст ҳастанд."
msgid "Updating the catalog failed. Click on 'Details >>' for details."
-msgstr ""
-"Навсозии файл қатъ карда шуд. Барои маълумот, тугмаи 'Тафсилот >>' -ро пашх "
-"кунед."
+msgstr "Навсозии файл қатъ карда шуд. Барои маълумот, тугмаи 'Тафсилот >>' -ро пашх кунед."
#, c-format
msgid "%d issue with the translation found."
@@ -484,87 +630,91 @@ msgstr[1] "%d масъалаи тарҷума пайдо шудааст."
msgid "Validation results"
msgstr "Натиҷаҳои санҷиш"
-msgid ""
-"Entries with errors were marked in red in the list. Details of the error "
-"will be shown when you select such an entry."
-msgstr ""
-"Тарҷумаҳои хатогӣ бо ранги сурх дар рӯйхат қайд карда шудаанд. Тафсилоти "
-"хатоҳо бо интихоби сатри тарҷумаи хатогӣ намоиш дода мешаванд."
+msgid "Entries with errors were marked in red in the list. Details of the error will be shown when you select such an entry."
+msgstr "Тарҷумаҳои хатогӣ бо ранги сурх дар рӯйхат қайд карда шудаанд. Тафсилоти хатоҳо бо интихоби сатри тарҷумаи хатогӣ намоиш дода мешаванд."
msgid "The file was saved safely."
msgstr "Файл бо муваффақият захира шудааст."
-msgid ""
-"The file was saved safely and compiled into the MO format, but it will "
-"probably not work correctly."
-msgstr ""
-"Файли тарҷумашуда бо муваффақият захира шудаааст ва ба формати МО табдил "
-"дода шудааст, вале эҳтимолан он дуруст кор намекунад."
+msgid "The file was saved safely and compiled into the MO format, but it will probably not work correctly."
+msgstr "Файли тарҷумашуда бо муваффақият захира шудаааст ва ба формати МО табдил дода шудааст, вале эҳтимолан он дуруст кор намекунад."
-msgid ""
-"The file was saved safely, but it cannot be compiled into the MO format and "
-"used."
-msgstr ""
-"Файли шумо бехатар захира шудааст, аммо ба формати МО барои истифода сохта "
-"намешавад."
+msgid "The file was saved safely, but it cannot be compiled into the MO format and used."
+msgstr "Файли шумо бехатар захира шудааст, аммо ба формати МО барои истифода сохта намешавад."
-msgid ""
-"The file was compiled into the MO format, but it will probably not work "
-"correctly."
-msgstr ""
+msgid "The file was compiled into the MO format, but it will probably not work correctly."
+msgstr "Ин файл ба формати MO табдил шудааст, вале метавонад дуруст кор накунад."
msgid "The file cannot be compiled into the MO format and used."
-msgstr ""
+msgstr "Файл ба формати MO табдил дода намешавад ва истифода намешавад."
msgid "No problems with the translation found."
msgstr "Ягон хатогӣ дар тарҷума ёфт нашудааст."
#, c-format
msgid "The translation is ready for use, but %d entry is not translated yet."
-msgid_plural ""
-"The translation is ready for use, but %d entries are not translated yet."
-msgstr[0] ""
-"Тарҷума барои истифода тайёр аст, вале %d сатр то ҳол тарҷума нашудааст."
-msgstr[1] ""
-"Тарҷума барои истифода тайёр аст, вале %d сатр то ҳол тарҷума нашудаанд."
+msgid_plural "The translation is ready for use, but %d entries are not translated yet."
+msgstr[0] "Тарҷума барои истифода тайёр аст, вале %d сатр то ҳол тарҷума нашудааст."
+msgstr[1] "Тарҷума барои истифода тайёр аст, вале %d сатр то ҳол тарҷума нашудаанд."
msgid "The translation is ready for use."
msgstr "Тарҷума барои истифода тайёр аст."
-msgid "No references to this string found."
-msgstr "Ягон истинод барои сатри ҷорӣ ёфт нашуд."
+msgid "Contributing translations improves the quality of online suggestions for everybody — the more people do it, the better the suggestions can be. Your translations are submitted anonymously and are available to other translators using Poedit or other CAT tools."
+msgstr "Саҳмгузории тарҷумаҳо сифати пешниҳодҳои онлайнро барои ҳар як кас беҳтар мекунад — чӣ қадар одамон саҳм мегузаранд, он қадар пешниҳодҳо беҳтар мешаванд. Тарҷумаҳои шумо ба таври махфӣ ворид карда мешаванд ва ба тарҷумонони дигар тавассути Poedit ё абзорҳои CAT-и дигар дастрас мешаванд."
+
+msgid "Can Poedit contribute your translations of this file to the online translation memory?"
+msgstr "Poedit метавонанд тарҷумаҳои шуморо аз ин файл ба ҳофизаи тарҷумаҳои онлайн саҳм гузорад. Иҷозат медиҳед?"
-msgid "Please choose the reference you want to show:"
-msgstr "Маълумоте, ки мехоҳед намоиш диҳед интихоб кунед:"
+msgid "Apply to all files I edit"
+msgstr "Татбиқ кардан ба ҳамаи файлҳое, ки ман таҳрир мекунам"
-msgid "References"
-msgstr "Ҳаволаҳо"
+msgid "Contribute"
+msgstr "Саҳм гузоштан"
+
+msgid "Keep Private"
+msgstr "Маҳфӣ нигоҳ доштан"
+
+msgid "Keep private"
+msgstr "Маҳфӣ нигоҳ доштан"
msgid "Context:"
msgstr "Контекст:"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr ""
+
+msgid "The file contained duplicate items, which is not allowed in PO files and would prevent the file from being used. Poedit fixed the issue, but you should review translations of any items marked as fuzzy and correct them if necessary."
+msgstr ""
+
msgid "Language of the translation isn't set."
msgstr "Забони тарҷума интихоб нашудааст."
msgid "Set Language"
-msgstr ""
+msgstr "Танзими забон"
msgid "Set language"
msgstr "Интихоби забон"
-msgid ""
-"This catalog has entries with plural forms, but doesn't have Plural-Forms "
-"header configured."
-msgstr ""
-"Файли зерин воридотҳоро дар шакли ҷамъ дорад, аммо Сарлавҳаи шакли ҷамъ "
-"сохта надорад."
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid "Suggestions are not available if the translation language is not set correctly. Other features, such as plural forms, may be affected as well."
+msgstr "Агар забони тарҷумаҳо нодуруст танзим карда бошад, пешниҳодҳо дастнорас мешаванд. Хусусиятҳои дигар, монанди шакли ҷамъ, метавонанд таъсир расонанд."
-msgid ""
-"Entries in this catalog have different plural forms count from what "
-"catalog's Plural-Forms header says"
-msgstr ""
-"Вурудҳои файли тарҷумаи зерин шаклҳои ҷамъи гуногунро дар бар мегирад ва "
-"сарлавҳаи шаклҳои ҷамъ маълумоти мазкур намоиш медиҳад:"
+msgid "Language of the translation is the same as source language."
+msgstr "Забони тарҷума ва забони манбаъ баробаранд."
+
+msgid "Fix Language"
+msgstr "Ислоҳ кадани забон"
+
+msgid "Fix language"
+msgstr "Ислоҳ кадани забон"
+
+msgid "This catalog has entries with plural forms, but doesn't have Plural-Forms header configured."
+msgstr "Файли зерин воридотҳоро дар шакли ҷамъ дорад, аммо Сарлавҳаи шакли ҷамъ сохта надорад."
+
+msgid "Entries in this catalog have different plural forms count from what catalog's Plural-Forms header says"
+msgstr "Вурудҳои файли тарҷумаи зерин шаклҳои ҷамъи гуногунро дар бар мегирад ва сарлавҳаи шаклҳои ҷамъ маълумоти мазкур намоиш медиҳад:"
msgid "Required header Plural-Forms is missing."
msgstr "Сарлавҳаи шакли ҷамъ лозим аст."
@@ -574,7 +724,7 @@ msgid "Syntax error in Plural-Forms header (\"%s\")."
msgstr "Хатогии синтаксисӣ дар шакли ҷамъи сарлавҳа (\"%s\")."
msgid "Fix the Header"
-msgstr ""
+msgstr "Сарварақро ислоҳ кунед"
msgid "Fix the header"
msgstr "Сарварақро ислоҳ кунед"
@@ -586,6 +736,7 @@ msgstr "Сарварақро ислоҳ кунед"
msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr "Шакли ҷамъ барои ибораи истифодашуда бо файл барои %s ғайриоддӣ аст."
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr "Тафтиш"
@@ -595,17 +746,23 @@ msgstr "Ҳангоми боркунии сатрҳои файли '%s' хато
#, c-format
msgid "Translated: %d of %d (%d %%)"
-msgstr ""
+msgstr "%d аз %d (%d %%) тарҷума шуд"
#, c-format
msgid "Remaining: %d"
-msgstr ""
+msgstr "Дар ҳоли ивази номи: %d"
#, c-format
msgid "%d error"
msgid_plural "%d errors"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "%d хато"
+msgstr[1] "%d хато"
+
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] "%d вуруд"
+msgstr[1] "%d вуруд"
msgid " (unsaved)"
msgstr " (захиранашуда)"
@@ -613,8 +770,12 @@ msgstr " (захиранашуда)"
msgid " (modified)"
msgstr " (тағйирёфта)"
+#, c-format
+msgid " (beta version expires %s)"
+msgstr " (анҷоми мӯҳлати версияи бета: %s)"
+
msgid "Go"
-msgstr ""
+msgstr "Гузариш"
#, c-format
msgid "Failed to update translation memory: %s"
@@ -624,18 +785,10 @@ msgid "Purge deleted translations"
msgstr "Пок кардани тарҷумаҳои нестшуда"
msgid "Do you want to remove all translations that are no longer used?"
-msgstr ""
-"Оё шумо мехоҳед, ки ҳамаи тарҷумаҳоеро, ки дигар истифода намешаванд, нест "
-"кунед?"
+msgstr "Оё шумо мехоҳед, ки ҳамаи тарҷумаҳоеро, ки дигар истифода намешаванд, нест кунед?"
-msgid ""
-"If you continue with purging, all translations marked as deleted will be "
-"permanently removed. You will have to translate them again if they are added "
-"back in the future."
-msgstr ""
-"Агар тоза карданро идома диҳед, ҳама тарҷумаҳои ҳамчун нест карда, бе "
-"бозгашт нест мешаванд. Агар онҳо дар оянда баргашта илова шаванд, шумо "
-"онҳоро дигар тарҷума карда наметавонед."
+msgid "If you continue with purging, all translations marked as deleted will be permanently removed. You will have to translate them again if they are added back in the future."
+msgstr "Агар тоза карданро идома диҳед, ҳама тарҷумаҳои ҳамчун нест карда, бе бозгашт нест мешаванд. Агар онҳо дар оянда баргашта илова шаванд, шумо онҳоро дигар тарҷума карда наметавонед."
msgid "Keep"
msgstr "Нигоҳ доштан"
@@ -644,26 +797,31 @@ msgid "Purge"
msgstr "Поксозӣ"
msgid "Fill missing translations from TM"
-msgstr ""
+msgstr "Ворид кардани тарҷумаҳои намерасидагӣ аз TM"
msgid "Only fill in exact matches"
-msgstr ""
+msgstr "Ворид кардани танҳо мутобиқати аниқ"
-msgid ""
-"By default, inaccurate results are filled in as well and marked as fuzzy. "
-"Check this option to only include accurate matches."
+msgid "By default, inaccurate results are filled in as well and marked as fuzzy. Check this option to only include accurate matches."
msgstr ""
msgid "Don’t mark exact matches as fuzzy"
+msgstr "Қайд накардани мутобиқати аниқ ҳамчун душворфаҳм"
+
+msgid "Only enable if you trust the quality of your TM. By default, all matches from the TM are marked as fuzzy and should be reviewed."
msgstr ""
-msgid ""
-"Only enable if you trust the quality of your TM. By default, all matches "
-"from the TM are marked as fuzzy and should be reviewed."
+msgid "Use online suggestions"
+msgstr "Истифодаи пешниҳодҳои онлайн"
+
+msgid "Use online suggestions (experimental)"
+msgstr "Истифодаи пешниҳодҳои онлайн (озмоишӣ)"
+
+msgid "Try to fetch translations from the online TM as well. Notice that the translations will not be perfect and will still need to be corrected by a human translator."
msgstr ""
msgid "Fill"
-msgstr ""
+msgstr "Ворид кардан"
#, c-format
msgid "%d entry was filled from the translation memory."
@@ -671,24 +829,14 @@ msgid_plural "%d entries were filled from the translation memory."
msgstr[0] "%d пешниҳод аз ҳофизаи тарҷумаҳо ворид шудааст."
msgstr[1] "%d пешниҳод аз ҳофизаи тарҷумаҳо ворид шудаанд."
-msgid ""
-"The translations were marked as fuzzy, because they may be inaccurate. You "
-"should review them for correctness."
-msgstr ""
-"Тарҷумаҳо ҳамчун душворфаҳм қайд карда шудаанд, зеро ки онҳо метавонанд "
-"носаҳеҳ бошанд. Шумо бояд онҳоро барои санҷиши хатоҳо аз назар гузаронед."
+msgid "The translations were marked as fuzzy, because they may be inaccurate. You should review them for correctness."
+msgstr "Тарҷумаҳо ҳамчун душворфаҳм қайд карда шудаанд, зеро ки онҳо метавонанд носаҳеҳ бошанд. Шумо бояд онҳоро барои санҷиши хатоҳо аз назар гузаронед."
msgid "No entries could be filled from the translation memory."
msgstr "Ягон пешниҳод аз ҳофизаи тарҷумаҳо ворид нашуд."
-msgid ""
-"The TM doesn’t contain any strings similar to the content of this file. It "
-"is only effective for semi-automatic translations after Poedit learns enough "
-"from files that you translated manually."
-msgstr ""
-"Ҳофизаи тарҷумаҳо (TM) ягон пешниҳоди мувофиқро барои сатрҳои ин файл дар "
-"бар намегирад. TM-и ҷорӣ танҳо тарҷумаҳои ҷузъӣ ба таври худкор пешниҳод "
-"мекунад, баъд аз оне ки Poedit тарҷумаҳоро аз файлҳои қаблӣ ҷамъ кунад."
+msgid "The TM doesn’t contain any strings similar to the content of this file. It is only effective for semi-automatic translations after Poedit learns enough from files that you translated manually."
+msgstr "Ҳофизаи тарҷумаҳо (TM) ягон пешниҳоди мувофиқро барои сатрҳои ин файл дар бар намегирад. TM-и ҷорӣ танҳо тарҷумаҳои ҷузъӣ ба таври худкор пешниҳод мекунад, баъд аз оне ки Poedit тарҷумаҳоро аз файлҳои қаблӣ ҷамъ кунад."
msgid "Translating"
msgstr "Дар ҳоли тарҷума"
@@ -699,8 +847,8 @@ msgstr "Воридкунии тарҷумаҳои намерасидагӣ аз
#, c-format
msgid "Translated %u string"
msgid_plural "Translated %u strings"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "%u сатр тарҷума шуд"
+msgstr[1] "%u сатр тарҷума шуд"
msgid "Copy from source text"
msgstr "Нусха бардоштан аз матни сатри аслӣ"
@@ -730,6 +878,9 @@ msgstr "Ҳама"
msgid "Form %i"
msgstr "Шакли %i"
+msgid "Singular"
+msgstr "Шумораи танҳо"
+
msgid "Zero"
msgstr "Сифр"
@@ -739,6 +890,9 @@ msgstr "Як"
msgid "Two"
msgstr "Ду"
+msgid "Plural"
+msgstr "Шумораи ҷамъ"
+
msgid "Other"
msgstr "Дигар"
@@ -747,25 +901,31 @@ msgstr "&Хатбаракҳо"
#, c-format
msgid "Set bookmark %i"
-msgstr ""
+msgstr "Танзими хатбараки %i"
#, c-format
msgid "Go to bookmark %i"
-msgstr ""
+msgstr "Гузариш ба хатбараки %i"
#, c-format
msgid "Set Bookmark %i"
-msgstr ""
+msgstr "Танзими хатбараки %i"
#, c-format
msgid "Go to Bookmark %i"
-msgstr ""
+msgstr "Гузариш ба хатбараки %i"
msgid "Hide Sidebar"
-msgstr ""
+msgstr "Пинҳон кардани навори ҷонибӣ"
msgid "Show Sidebar"
-msgstr ""
+msgstr "Намоиш додани навори ҷонибӣ"
+
+msgid "Hide Status Bar"
+msgstr "Пинҳон кардани навори вазъият"
+
+msgid "Show Status Bar"
+msgstr "Намоиш додани навори вазъият"
msgid "Source text"
msgstr "Матни сатри аслӣ"
@@ -776,6 +936,10 @@ msgstr "Тарҷума"
msgid "ID"
msgstr "Рақам"
+#, c-format
+msgid "Source text — %s"
+msgstr "Матни манбаъ — %s"
+
msgid "unknown language"
msgstr "забони номаълум"
@@ -786,70 +950,141 @@ msgstr "Тарҷума — %s"
msgid "Error:"
msgstr "Хато:"
-msgid "Project info"
-msgstr "Маълумоти лоиҳа"
+msgid "Source file"
+msgstr "Файли аслӣ"
-msgid "Project name and version:"
-msgstr "Номи лоиҳа ва версия:"
+msgid "Source file occurrence:"
+msgstr "Рӯйдодҳои файли аслӣ:"
-msgid "Language:"
-msgstr "Забон:"
+msgid "Open in Editor"
+msgstr "Кушодан дар муҳаррир"
-msgid "Team:"
-msgstr "Гурӯҳ:"
+msgid "Open in editor"
+msgstr "Кушодан дар муҳаррир"
-msgid "Team's email address:"
-msgstr "Почтаи электронии гурӯҳи корӣ:"
+msgid "No references for the selected item."
+msgstr "Ягон иқтибос барои объекти интихобшуда нест."
-msgid "Charset:"
-msgstr "Рамзгузорӣ:"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "Хатогӣ ҳангоми кушодани файли %s!"
-msgid "Source"
-msgstr "Сатри аслӣ"
+msgid "Find"
+msgstr "Ҷустуҷӯ"
-msgid "Notes"
-msgstr "Эзоҳ"
+msgid "Replace"
+msgstr "Ҷойгузин кардан"
-msgid "Automatic translation"
-msgstr "Тарҷумаи худкор"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr "Имконот"
-msgid "Fuzzy translation"
-msgstr "Тарҷумаи душворфаҳм"
+msgid "Ignore case"
+msgstr ""
-msgid "Notes for translators:"
-msgstr "Қайдҳои тарҷумон:"
+msgid "Wrap around"
+msgstr ""
-msgid "Comment:"
-msgstr "Шарҳ:"
+msgid "Whole words only"
+msgstr "Танҳо калимаҳои пурра"
-msgid "Source file"
-msgstr "Файли аслӣ"
+msgid "Find in source texts"
+msgstr "Ёфтан дар матнҳои манбаъ"
-msgid "Source file occurrence:"
-msgstr "Рӯйдодҳои файли аслӣ:"
+msgid "Find in translations"
+msgstr "Ҷустуҷӯ дар тарҷумаҳо"
-msgid "Open in Editor"
-msgstr ""
+msgid "Find in comments"
+msgstr "Ҷустуҷӯ дар шарҳҳо"
-msgid "Open in editor"
-msgstr ""
+msgid "Close"
+msgstr "Пӯшидан"
-#, c-format
-msgid "Error opening file %s!"
-msgstr "Хатогӣ ҳангоми кушодани файли %s!"
+msgid "Replace All"
+msgstr "Ҳамаро ҷойгузин кардан"
+
+msgid "Replace all"
+msgstr "Ҳамаро ҷойгузин кардан"
+
+msgid "< &Previous"
+msgstr "< &Қаблӣ"
+
+msgid "&Next >"
+msgstr "&Навбатӣ >"
+
+msgid "String to find"
+msgstr "Сатр барои ёфтан"
+
+msgid "Replacement string"
+msgstr "Сатри ҷойгузорӣ"
#, c-format
msgid "Cannot execute program: %s"
msgstr "Барнома иҷро карда намешавад: %s"
-msgid "Language Code or Name (e.g. en_GB)"
-msgstr "Рамзи забон ё номи забон (масалан, \"tg\" барои забони тоҷикӣ)"
+msgid "Language Code or Name (e.g. en_GB)"
+msgstr "Рамзи забон ё номи забон (масалан, \"tg\" барои забони тоҷикӣ)"
+
+msgid "Translation Language"
+msgstr "Забони тарҷума"
+
+msgid "Language of the translation:"
+msgstr "Забони тарҷума:"
+
+msgid "Poedit Registration"
+msgstr "Қайдкунии Poedit"
+
+msgid "Name"
+msgstr "Ном"
+
+msgid "License Key"
+msgstr "Калиди иҷозатнома"
+
+msgid "The registration key can be used on multiple computers you use personally or for multiple\n"
+"accounts on a single computer."
+msgstr "Шумо метавонед калиди қайдро дар якчанд компютери шахсӣ ё дар як компютер бо\n"
+"якчанд ҳисоб истифода баред."
+
+msgid "Buy Online..."
+msgstr "Хариди онлайн..."
+
+msgid "Buy online..."
+msgstr "Харидан дар онлайн..."
+
+msgid "Cancel"
+msgstr "Бекор кардан"
+
+msgid "Register"
+msgstr "Қайд кардан"
+
+msgid "Your copy is upgraded to Poedit Pro."
+msgstr "Барномаи шумо ба версияи Poedit Pro такмил шудааст."
+
+msgid "You’re awesome! Thank you so much\n"
+"for purchasing Poedit Pro."
+msgstr "Муборак бод! Ташаккур барои хариди\n"
+"версияи такмилёфтаи Poedit Pro."
+
+msgid "View License Key"
+msgstr "Дидани калиди иҷозатнома"
+
+msgid "View license key"
+msgstr "Дидани калиди иҷозатнома"
+
+#, c-format
+msgid "Licensed to: %s"
+msgstr "Иҷозатнома ба %s дода шудааст"
+
+msgid "Purchasing the full version will unlock more features\n"
+"in this and future versions of Poedit, including:\n\n"
+msgstr "Хариди версияи пурра хусусиятҳои иловагиро дар версияи ҷорӣ\n"
+"ва барои версияҳои ояндаи Poedit мекушояд, аз ҷумла:\n\n"
-msgid "Translation Language"
-msgstr "Забони тарҷума"
+msgid "Upgrade..."
+msgstr "Такмилдиҳӣ..."
-msgid "Language of the translation:"
-msgstr "Забони тарҷума:"
+msgid "No, thanks"
+msgstr "Не, ташаккур"
msgid "Poedit - Catalogs manager"
msgstr "Мудири файлҳо - Poedit"
@@ -887,35 +1122,30 @@ msgstr "Оё шумо мехоҳед, ки лоиҳаи зеринро нест
msgid "Confirmation"
msgstr "Тасдиқ"
-msgid ""
-"Do you really want to do mass update of\n"
+msgid "Do you really want to do mass update of\n"
"all catalogs in this project?"
-msgstr ""
-"Шумо дар ҳақиқат мехоҳед, ки ҳама файлҳои тарҷумаи лоиҳаи зеринро ба якбора "
-"навсозӣ кунед?"
+msgstr "Шумо дар ҳақиқат мехоҳед, ки ҳама файлҳои тарҷумаи лоиҳаи зеринро ба якбора навсозӣ кунед?"
msgid "Information about the translator"
-msgstr ""
+msgstr "Маълумот дар бораи тарҷумон"
msgid "Name:"
-msgstr ""
+msgstr "Ном:"
msgid "Your Name"
-msgstr ""
+msgstr "Номи шумо"
msgid "Email:"
-msgstr ""
+msgstr "Почтаи электронӣ:"
msgid "your_email at example.com"
-msgstr ""
+msgstr "your_email at example.com"
-msgid ""
-"Your name and email address are only used to set the Last-Translator header "
-"of GNU gettext files."
+msgid "Your name and email address are only used to set the Last-Translator header of GNU gettext files."
msgstr ""
msgid "Editing"
-msgstr ""
+msgstr "Таҳриркунӣ"
msgid "Automatically compile MO file when saving"
msgstr ""
@@ -929,21 +1159,14 @@ msgstr "Санҷиши имло"
msgid "Always change focus to text input field"
msgstr "Доимо тағйир додани маркази диққат ба ҳошияи матнгузорӣ"
-msgid ""
-"Never let the list of strings take focus. If enabled, you must use Ctrl-"
-"arrows for keyboard navigation but you can also type text immediately, "
-"without having to press Tab to change focus."
-msgstr ""
-"Ба рӯйхати сатр ҳаргиз нагузоред, ки маркази диққатро ишғол кунад. Агар "
-"фаъол бошад, шумо бояд Ctrl-ақрабаки идора кардан аз клавиатура истифода "
-"баред, аммо шумо инчунин имкони ворид кардани матнро бе зарурияти пахш "
-"кардани Tab барои тағйироти маркази диққат доред."
+msgid "Never let the list of strings take focus. If enabled, you must use Ctrl-arrows for keyboard navigation but you can also type text immediately, without having to press Tab to change focus."
+msgstr "Ба рӯйхати сатр ҳаргиз нагузоред, ки маркази диққатро ишғол кунад. Агар фаъол бошад, шумо бояд Ctrl-ақрабаки идора кардан аз клавиатура истифода баред, аммо шумо инчунин имкони ворид кардани матнро бе зарурияти пахш кардани Tab барои тағйироти маркази диққат доред."
msgid "Appearance"
-msgstr ""
+msgstr "Намуди зоҳирӣ"
msgid "Use custom list font:"
-msgstr ""
+msgstr "Истифодаи шрифти фармоишӣ:"
msgid "Use custom text fields font:"
msgstr ""
@@ -956,7 +1179,7 @@ msgid "(requires Windows 8 or newer)"
msgstr ""
msgid "General"
-msgstr ""
+msgstr "Умумӣ"
msgid "Use translation memory"
msgstr "Истифодаи ҳофизаи тарҷумаҳо"
@@ -965,26 +1188,45 @@ msgid "Learn From Files..."
msgstr "Илова кардан аз файлҳо..."
msgid "Learn from files..."
-msgstr ""
+msgstr "Ёфтан аз файлҳо..."
#. TRANSLATORS: This is a button that deletes everything in the translation memory (i.e. clears/resets it).
msgid "Reset"
-msgstr ""
+msgstr "Танзими дубора"
msgid "Consult TM when updating from sources"
msgstr "Пеш аз навсозӣ кардан аз манбаҳо, ҳофизаи тарҷумаҳоро (TM) санҷед"
-msgid ""
-"If enabled, Poedit will try to fill in new entries using your previous\n"
-"translations stored in the translation memory. If the TM is\n"
-"near-empty, it will not be very effective. The more translations\n"
+msgid "If enabled, Poedit will try to fill in new entries using your previous\n"
+"translations stored in the translation memory. If the TM is\n"
+"near-empty, it will not be very effective. The more translations\n"
"you edit and the larger the TM grows, the better it gets."
+msgstr "Агар фаъол бошад, Poedit ба воситаи тарҷумаҳои захирашуда аз\n"
+"ҳофизаи тарҷумаҳо сатрҳои навро тарҷума мекунад. Агар TM қариб\n"
+"холӣ бошад, тарҷума аз ҳофизаи тарҷумаҳо самарабахш намебошад. Агар бисёр\n"
+"тарҷума карда, ҳофизаи тарҷумаҳоро (TM) зиёд кунед, дар таниҷа пешниҳодҳои мувофиқтарро қабул мекунед."
+
+msgid "Use suggestions from online collaborative TM"
+msgstr ""
+
+msgid "Poedit uses a large online translation memory that includes both contributed human translations and state-of-the-art machine translations."
+msgstr ""
+
+msgid "Contribute my translations to the online TM"
+msgstr ""
+
+msgid "Keep my translations private"
+msgstr "Нигоҳ доштани тарҷумаҳои ман ба таври махфӣ"
+
+msgid "Ask me for each file individually"
+msgstr ""
+
+msgid "Terms of Service"
+msgstr "Шартҳои хидмат"
+
+#. TRANSLATORS: This is part of footer that says in full "powered by MyMemory", with the MyMemory part being a logo
+msgid "powered by"
msgstr ""
-"Агар фаъол бошад, Poedit ба воситаи тарҷумаҳои захирашуда аз\n"
-"ҳофизаи тарҷумаҳо сатрҳои навро тарҷума мекунад. Агар TM қариб\n"
-"холӣ бошад, тарҷума аз ҳофизаи тарҷумаҳо самарабахш намебошад. Агар бисёр\n"
-"тарҷума карда, ҳофизаи тарҷумаҳоро (TM) зиёд кунед, дар таниҷа пешниҳодҳои "
-"мувофиқтарро қабул мекунед."
msgid "Stored translations:"
msgstr "Тарҷумаҳои захрашуда:"
@@ -1005,28 +1247,21 @@ msgid "Finalizing..."
msgstr "Омодасозӣ..."
msgid "Reset translation memory"
-msgstr ""
+msgstr "Дубора танзим кардани ҳофизаи тарҷумаҳо"
msgid "Are you sure you want to reset the translation memory?"
-msgstr ""
+msgstr "Шумо мутмаин ҳастед, ки мехоҳед ҳофизаи тарҷумаро дубора танзим кунед?"
-msgid ""
-"Resetting the translation memory will irrevocably delete all stored "
-"translations from it. You can’t undo this operation."
+msgid "Resetting the translation memory will irrevocably delete all stored translations from it. You can’t undo this operation."
msgstr ""
-msgid "Cancel"
-msgstr "Бекор кардан"
-
#. TRANSLATORS: This is abbreviation of "Translation Memory" used in Preferences on OS X.
#. Long text looks weird there, too short (like TM) too, but less so. "General" is about ideal
#. length there.
msgid "TM"
-msgstr ""
+msgstr "TM"
-msgid ""
-"Source code extractors are used to find translatable strings in the source "
-"code files and extract them so that they can be translated."
+msgid "Source code extractors are used to find translatable strings in the source code files and extract them so that they can be translated."
msgstr ""
msgid "New"
@@ -1035,26 +1270,32 @@ msgstr "Нав"
msgid "Edit"
msgstr "Таҳрир"
+msgid "Delete extractor"
+msgstr "Нест кардани василаи барориш"
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr "Шумо мутмаин ҳастед, ки мехоҳед василаи барориши “%s”-ро нест кунед?"
+
msgid "Extractors"
-msgstr ""
+msgstr "Василаи барориш"
+
+msgid "Accounts"
+msgstr "Ҳисобҳо"
msgid "Automatically check for updates"
-msgstr ""
+msgstr "Санҷиши худкори навсозиҳо"
msgid "Include beta versions"
msgstr "Иловаи версияҳои бета"
-msgid ""
-"Beta versions contain the latest new features and improvements, but may be a "
-"bit less stable."
+msgid "Beta versions contain the latest new features and improvements, but may be a bit less stable."
msgstr ""
msgid "Updates"
-msgstr ""
+msgstr "Навсозиҳо"
-msgid ""
-"These settings affect internal formatting of PO files. Adjust them if you "
-"have specific requirements e.g. because of version control."
+msgid "These settings affect internal formatting of PO files. Adjust them if you have specific requirements e.g. because of version control."
msgstr ""
msgid "Line endings:"
@@ -1074,7 +1315,35 @@ msgid "Preserve formatting of existing files"
msgstr ""
msgid "Advanced"
-msgstr ""
+msgstr "Иловагӣ"
+
+msgid "Add Files..."
+msgstr "Илова кардани файлҳо..."
+
+msgid "Add files..."
+msgstr "Илова кардани файлҳо..."
+
+msgid "Add Folders..."
+msgstr "Илова кардани ҷузвдонҳо..."
+
+msgid "Add folders..."
+msgstr "Илова кардани ҷузвдонҳо..."
+
+msgid "Add Wildcard..."
+msgstr "Илова кардани рамзи махсус..."
+
+msgid "Add wildcard..."
+msgstr "Илова кардани рамзи махсус..."
+
+msgid "<big>Drag and Drop Folders Here</big>\n\n"
+"or use the + button"
+msgstr "<big>Ҷузвдонҳоро ба ин ҷо кашида гузоред</big>\n\n"
+"ё тугмаи \"+\" -ро зер кунед"
+
+msgid "<big>Drag and drop folders here</big>\n\n"
+"or use the + button"
+msgstr "<big>Ҷузвдонҳоро ба ин ҷо кашида гузоред</big>\n\n"
+"ё тугмаи \"+\" -ро зер кунед"
msgid "Additional keywords"
msgstr "Калидвожаҳои иловагӣ"
@@ -1083,7 +1352,7 @@ msgid "Paths"
msgstr "Масирҳо"
msgid "Excluded paths"
-msgstr ""
+msgstr "Масирҳои истисношуда"
msgid "Name of the project the translation is for"
msgstr "Номи лоиҳаи тарҷума барои"
@@ -1095,9 +1364,10 @@ msgid "UTF-8 (recommended)"
msgstr "UTF-8 (тавсия мешавад)"
msgid "Please save the file first. This section cannot be edited until then."
-msgstr ""
-"Лутфан, аввал файлро захира кунед. То он гоҳ ин қисмат таҳрир карда "
-"намешавад."
+msgstr "Лутфан, аввал файлро захира кунед. То он гоҳ ин қисмат таҳрир карда намешавад."
+
+msgid "Comment:"
+msgstr "Шарҳ:"
msgid "OK"
msgstr "Хуб"
@@ -1108,42 +1378,6 @@ msgstr "&Тоза кардан"
msgid "Clear the comment"
msgstr "Тоза кардани шарҳ"
-msgid "Find..."
-msgstr "Ҷустуҷӯ..."
-
-msgid "String to find:"
-msgstr "Ҷустуҷӯи сатр:"
-
-msgid "Case sensitive"
-msgstr "Ҳарфи хурду калон"
-
-msgid "Start from the first item"
-msgstr "Аз банди аввлин сар кунед"
-
-msgid "Whole words only"
-msgstr "Танҳо калимаҳои пурра"
-
-msgid "Find in original strings"
-msgstr "Ҷустуҷӯ дар сатрҳои аслӣ"
-
-msgid "Find in translations"
-msgstr "Ҷустуҷӯ дар тарҷумаҳо"
-
-msgid "Find in comments"
-msgstr "Ҷустуҷӯ дар шарҳҳо"
-
-msgid "Find in automatic comments"
-msgstr "Ҷустуҷӯ дар шарҳҳои худкор"
-
-msgid "Close"
-msgstr "Пӯшидан"
-
-msgid "< &Previous"
-msgstr "< &Қаблӣ"
-
-msgid "&Next >"
-msgstr "&Навбатӣ >"
-
msgid "Create new translations project"
msgstr "Эҷод кардани лоиҳаи тарҷумаи нав"
@@ -1180,9 +1414,6 @@ msgstr "&Пӯшидан"
msgid "E&xit"
msgstr "&Баромад"
-msgid "Quit"
-msgstr "Баромад"
-
msgid "&New..."
msgstr "&Лоиҳаи нав..."
@@ -1192,11 +1423,23 @@ msgstr "Файли нав аз &POT/PO..."
msgid "New From &POT/PO File..."
msgstr "Файли нав аз &POT/PO..."
+msgid "New WordPress translation..."
+msgstr "Тарҷумаи нав барои WordPress..."
+
+msgid "New WordPress Translation..."
+msgstr "Тарҷумаи нав барои WordPress..."
+
msgid "&Open..."
msgstr "&Кушодан..."
msgid "Open Recent"
-msgstr ""
+msgstr "Кушодани файлҳои охирин"
+
+msgid "Open from Crowdin..."
+msgstr "Кушодан аз Crowdin..."
+
+msgid "Open From Crowdin..."
+msgstr "Кушодан аз Crowdin..."
msgid "&Save"
msgstr "&Захира кардан"
@@ -1208,7 +1451,7 @@ msgid "Save &As..."
msgstr "&Захира кардан ҳамчун..."
msgid "Compile to MO..."
-msgstr ""
+msgstr "Таҳия кардани файли MO..."
msgid "E&xport as HTML..."
msgstr "&Захира кардан ҳамчун HTML..."
@@ -1216,6 +1459,9 @@ msgstr "&Захира кардан ҳамчун HTML..."
msgid "Check for updates..."
msgstr "Санҷидани навсозиҳо..."
+msgid "&License..."
+msgstr "&Иҷозатнома..."
+
msgid "Catalogs &manager"
msgstr "Мудири &файлҳои тарҷума"
@@ -1235,7 +1481,7 @@ msgid "Edit &Comment"
msgstr "&Таҳрир кардани шарҳ"
msgid "Suggestions"
-msgstr ""
+msgstr "Пешниҳодҳо"
msgid "&Show references"
msgstr "&Намоиши бартариҳо"
@@ -1246,14 +1492,17 @@ msgstr "&Намоиши бартариҳо"
msgid "&Find..."
msgstr "&Ҷустуҷӯ..."
+msgid "Replace..."
+msgstr "Ҷойгузин кардан..."
+
msgid "Find next"
msgstr "Ҷустуҷӯи навбатӣ"
msgid "Find previous"
msgstr "Ҷустуҷӯи қаблӣ"
-msgid "Find"
-msgstr "Ҷустуҷӯ"
+msgid "Find and Replace..."
+msgstr "Ёфтан ва ҷойгузин кардан..."
msgid "Find Next"
msgstr "Ҷустуҷӯи навбатӣ"
@@ -1289,9 +1538,15 @@ msgid "Sort by &Translation"
msgstr "Аз рӯи &тарҷумаҳо"
msgid "&Group by context"
-msgstr ""
+msgstr "&Гурӯҳбандӣ аз рӯи қарина"
msgid "&Group By Context"
+msgstr "&Гурӯҳбандӣ аз рӯи қарина"
+
+msgid "Entries with errors first"
+msgstr ""
+
+msgid "Entries with Errors First"
msgstr ""
msgid "&Untranslated entries first"
@@ -1301,7 +1556,10 @@ msgid "&Untranslated Entries First"
msgstr "&Аввал сатрҳои тарҷуманашуда"
msgid "Show sidebar"
-msgstr ""
+msgstr "Намоиш додани навори ҷонибӣ"
+
+msgid "Show status bar"
+msgstr "Намоиш додани навори вазъият"
msgid "C&atalog"
msgstr "&Файли тарҷума"
@@ -1318,6 +1576,9 @@ msgstr "Навсозӣ кардан аз файли &POT..."
msgid "Update from &POT File..."
msgstr "Навсозӣ кардан аз файли &POT..."
+msgid "Sync with Crowdin"
+msgstr "Ҳамоҳанг кардан бо Crowdin"
+
msgid "Fill missing translations from &TM..."
msgstr ""
@@ -1336,6 +1597,9 @@ msgstr "Санҷиши тарҷума"
msgid "&Validate Translations"
msgstr "&Санҷиши тарҷума"
+msgid "&Statistics"
+msgstr "&Омор"
+
msgid "&Properties..."
msgstr "&Хусусиятҳо..."
@@ -1346,16 +1610,16 @@ msgid "&Done and Next"
msgstr "&Татбиқ кардан ва ба сатри дигар гузарондан"
msgid "&Previous translation"
-msgstr ""
+msgstr "&Тарҷумаи қаблӣ"
msgid "&Previous Translation"
-msgstr ""
+msgstr "&Тарҷумаи қаблӣ"
msgid "&Next translation"
-msgstr ""
+msgstr "&Тарҷумаи навбатӣ"
msgid "&Next Translation"
-msgstr ""
+msgstr "&Тарҷумаи навбатӣ"
msgid "P&revious unfinished"
msgstr "&Тарҷуманашудаи пешина"
@@ -1381,6 +1645,12 @@ msgstr "&Кӯмаки GNU gettext"
msgid "&GNU gettext Manual"
msgstr "&Кӯмаки GNU gettext"
+msgid "Email &support..."
+msgstr "&Дастгирӣ тавассути почтаи электронӣ..."
+
+msgid "Email &Support..."
+msgstr "&Дастгирӣ тавассути почтаи электронӣ..."
+
msgid "&About Poedit"
msgstr "&Дар бораи Poedit"
@@ -1388,64 +1658,58 @@ msgid "&About"
msgstr "&Дар бораи PoEdit"
msgid "Extractor setup"
-msgstr ""
+msgstr "Танзими василаи барориш"
msgid "List of extensions separated by semicolons (e.g. *.cpp;*.h):"
-msgstr ""
-"Рӯйхати дарозкунии муддат бо нуқта-вергулҳо ҷудо карда мешаванд (мисол *.cpp;"
-"*.h):"
+msgstr "Рӯйхати дарозкунии муддат бо нуқта-вергулҳо ҷудо карда мешаванд (мисол *.cpp;*.h):"
msgid "Invocation:"
msgstr "Дархост:"
msgid "Command to extract translations:"
-msgstr ""
+msgstr "Фармон барои баровардани тарҷумаҳо:"
-msgid ""
-"This is the command used to launch the extractor.\n"
-"%o expands to the name of output file, %K to list\n"
-"of keywords, %F to list of input files,\n"
+msgid "This is the command used to launch the extractor.\n"
+"%o expands to the name of output file, %K to list\n"
+"of keywords, %F to list of input files,\n"
"%C to charset flag (see below)."
msgstr ""
msgid "An item in keywords list:"
msgstr "Илова кардани объект ба рӯйхати калидвожаҳо:"
-msgid ""
-"This will be attached to the command line once\n"
+msgid "This will be attached to the command line once\n"
"for each keyword. %k expands to the keyword."
-msgstr ""
-"Мазкур ба сатри фармонӣ як бор барои ҳар як\n"
-"калимаи калидӣ замима карда мешавад.\n"
+msgstr "Мазкур ба сатри фармонӣ як бор барои ҳар як\n"
+"калимаи калидӣ замима карда мешавад.\n"
"%k ба калимаи калидӣ васеъ мекунад."
msgid "An item in input files list:"
msgstr "Объект дар рӯйхати файлҳои вурудӣ:"
#, c-format
-msgid ""
-"This will be attached to the command line once\n"
+msgid "This will be attached to the command line once\n"
"for each input file. %f expands to the filename."
-msgstr ""
-"Мазкур ба сатри фармонӣ як бор барои ҳар як\n"
-"файли вурудӣ замима карда мешавад.\n"
+msgstr "Мазкур ба сатри фармонӣ як бор барои ҳар як\n"
+"файли вурудӣ замима карда мешавад.\n"
"%f ба номи файл васеъ мекунад."
msgid "Source code charset:"
msgstr "Рамзгузории сатрҳои аслӣ:"
#, c-format
-msgid ""
-"This will be attached to the command line\n"
+msgid "This will be attached to the command line\n"
"only if source codecharset was given. %c expands to charset value."
-msgstr ""
-"Мазкур ба сатри фармонӣ замима карда мешавад.\n"
-"бо шарте, ки агар рамзгузории сатри аслӣ дода шуда бошад.\n"
+msgstr "Мазкур ба сатри фармонӣ замима карда мешавад.\n"
+"бо шарте, ки агар рамзгузории сатри аслӣ дода шуда бошад.\n"
"%c бо воҳиди рамзгузорӣ иваз карда мешавад."
msgid "Catalog properties"
msgstr "Хусусиятҳои файли тарҷума"
+msgid "Project name and version:"
+msgstr "Номи лоиҳа ва версия:"
+
msgid "Plural Forms:"
msgstr "Шаклҳои ҷамъ:"
@@ -1458,6 +1722,15 @@ msgstr "Истифодаи ибораҳои шахсӣ"
msgid "Learn about plural forms"
msgstr "Маълумоти бештар дар бораи шаклҳои ҷамъ"
+msgid "Charset:"
+msgstr "Рамзгузорӣ:"
+
+msgid "Team:"
+msgstr "Гурӯҳ:"
+
+msgid "Team's email address:"
+msgstr "Почтаи электронии гурӯҳи корӣ:"
+
msgid "Translation properties"
msgstr "Хусусиятҳои тарҷума"
@@ -1470,11 +1743,9 @@ msgstr "Масири асосӣ:"
msgid "Sources paths"
msgstr "Масирҳои сатрҳои аслӣ"
-msgid ""
-"Use these keywords (function names) to recognize translatable strings\n"
+msgid "Use these keywords (function names) to recognize translatable strings\n"
"in source files:"
-msgstr ""
-"Истифодаи калидвожаҳои зерин (номҳои супориш) барои шинохтани\n"
+msgstr "Истифодаи калидвожаҳои зерин (номҳои супориш) барои шинохтани\n"
"сатрҳои тарҷумашаванда дар файлҳои манбаъ:"
msgid "Learn about gettext keywords"
@@ -1486,22 +1757,17 @@ msgstr "Луғати сатрҳои аслӣ"
msgid "Update summary"
msgstr "Хулосаи навсозӣ"
-msgid ""
-"These strings were found in the sources but were not in the catalog.\n"
+msgid "These strings were found in the sources but were not in the catalog.\n"
"Poedit will add them to the catalog now."
-msgstr ""
-"Сатрҳои зерин дар сатрҳои аслӣ дарёфт шудаанд, аммо дар файл вуҷуд "
-"надоранд.\n"
+msgstr "Сатрҳои зерин дар сатрҳои аслӣ дарёфт шудаанд, аммо дар файл вуҷуд надоранд.\n"
"Poedit онҳоро ҳоло ба файл илова мекунад."
msgid "New strings"
msgstr "Сатрҳои нав"
-msgid ""
-"These strings are no longer in the sources.\n"
+msgid "These strings are no longer in the sources.\n"
"Poedit will remove them from the catalog now."
-msgstr ""
-"Сатрҳои зерин дигар дар сатрҳои асосӣ мавҷуд нестанд.\n"
+msgstr "Сатрҳои зерин дигар дар сатрҳои асосӣ мавҷуд нестанд.\n"
"Poedit онҳоро ҳоло аз файл нест мекунад."
msgid "Obsolete strings"
@@ -1522,6 +1788,12 @@ msgstr "Санҷиш"
msgid "Check for errors in the translation"
msgstr "Санҷиши хатогиҳо дар тарҷума"
+msgid "Statistics"
+msgstr "Омор"
+
+msgid "Show translation statistics"
+msgstr "Намоиш додани омории тарҷума"
+
msgid "Update"
msgstr "Навсозӣ"
@@ -1531,42 +1803,136 @@ msgstr "Файлро навсозӣ кунед - бо файли аслӣ ҳам
msgid "Toggled if selected string has fuzzy translation"
msgstr "Ин нишона чӯкида меистад, агар тарҷумаи ҷориӣ душворфаҳм аст"
-msgid "Show or hide the sidebar."
-msgstr ""
+msgid "Sidebar"
+msgstr "Навори ҷонибӣ"
+
+msgid "Show or hide the sidebar"
+msgstr "Намоиш додан ё пинҳон кардани навори ҷонибӣ"
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
msgid "Previous source text:"
-msgstr ""
+msgstr "Матни манбаи қаблӣ:"
-msgid ""
-"The old source text (before it changed during an update) that the fuzzy "
-"translation corresponds to."
+msgid "The old source text (before it changed during an update) that the fuzzy translation corresponds to."
msgstr ""
+msgid "Notes for translators:"
+msgstr "Қайдҳои тарҷумон:"
+
msgid "Add comment"
-msgstr ""
+msgstr "Илова кардани шарҳ"
msgid "Add Comment"
-msgstr ""
+msgstr "Илова кардани шарҳ"
+
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(from your TM)"
+msgstr "(аз TM-и шумо)"
+
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(machine translation)"
+msgstr "(тарҷумаи компютерӣ)"
+
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(human translation)"
+msgstr "(тарҷумаи дастӣ)"
msgid "Translation suggestions:"
msgstr "Пешниҳодҳои тарҷума:"
#. TRANSLATORS: This is shown when no translation suggestions can be found in the TM (Windows).
msgid "No matches found"
-msgstr ""
+msgstr "Ягон мутобиқат ёфт нашуд"
#. TRANSLATORS: This is shown when no translation suggestions can be found in the TM (OS X, Linux).
msgid "No Matches Found"
-msgstr ""
+msgstr "Ягон мутобиқат ёфт нашуд"
msgid "This string was found in Poedit’s translation memory."
msgstr ""
+msgid "This suggestion was contributed by another translator to the online TM."
+msgstr ""
+
+msgid "This suggestion was machine-translated online."
+msgstr ""
+
#, c-format
-msgid "(New: %i, obsolete: %i)"
+msgid "%d out of %d online suggestion left."
+msgid_plural "%d out of %d online suggestions left."
+msgstr[0] "%d аз %d пешниҳоди онлайн боқӣ мондааст."
+msgstr[1] "%d аз %d пешниҳоди онлайн боқӣ мондаанд."
+
+msgid "Remove this limitation"
+msgstr "Тоза кардани ин маҳдудият"
+
+msgid "Not showing additional online suggestions."
+msgstr ""
+
+msgid "Unlock online suggestions"
+msgstr "Қулфкушоии пешниҳодҳои онлайн"
+
+msgid "Exceeded online TM daily limit."
+msgstr ""
+
+msgid "Connect to the Internet to get additional suggestions."
+msgstr ""
+
+#. TRANSLATORS: Label indicating that translations made in the current file are contributed to the online translation memory. Related to the "Contribute my translations to the online TM" string.
+msgid "Contributing"
+msgstr ""
+
+msgid "Your translations are contributed to the online translation memory as you make them. Thanks for making the suggestions better!"
msgstr ""
+#. TRANSLATORS: Label indicating that the current file
+msgid "Private"
+msgstr "Махфӣ"
+
+msgid "Translations from this file are not shared with the online translation memory."
+msgstr "Тарҷумаҳо аз ин файл бо ҳофизаи тарҷумаҳои онлайн мубодила намешаванд."
+
+msgid "Privacy settings"
+msgstr "Танзимоти махфият"
+
+#, c-format
+msgid "While editing the file “%s”:"
+msgstr "Ҳангоми таҳриркунии файли “%s”:"
+
+msgid "Items"
+msgstr "Объект"
+
+msgid "Words"
+msgstr "Калимаҳо"
+
+msgid "Translated"
+msgstr "Тарҷумашуда"
+
+msgid "Needs review (fuzzy)"
+msgstr "Бояд тафтиш карда шавад (душворфаҳм)"
+
+msgid "Translations with errors"
+msgstr "Тарҷумаҳо бо хатоҳо"
+
+msgid "Source Text"
+msgstr "Матни сатри аслӣ"
+
+msgid "Strings in source language"
+msgstr "Сатрҳо дар забони аслӣ"
+
+msgid "Not translated"
+msgstr "Тарҷуманашуда"
+
+msgid "Copy to clipboard"
+msgstr "Нусхабардорӣ ба ҳофизаи муваққатӣ"
+
+msgid "Copy to Clipboard"
+msgstr "Нусхабардорӣ ба ҳофизаи муваққатӣ"
+
+#, c-format
+msgid "(New: %i, obsolete: %i)"
+msgstr "(Нав: %i, куҳна: %i)"
+
#, c-format
msgid "Importing translations: %d"
msgstr "Воридкунии тарҷумаҳо: %d"
@@ -1584,13 +1950,8 @@ msgstr "Вазъияти хуруҷи интиқол: %d"
msgid "Poedit needs to convert your translation memory to a new format."
msgstr "Poedit бояд ҳофизаи тарҷумаҳои шуморо ба формати нав табдил кунад."
-msgid ""
-"This must be done before Poedit can start. It may take a few minutes if you "
-"have lots of translations stored, but should normally be much faster."
-msgstr ""
-"Ин амал бояд пеш аз оғози Poedit иҷро шавад. Агар шумо бисёр тарҷумаро дошта "
-"бошед, ин метавонад якчанд дақиқаро гирад, вале асосан ин амал бояд тезтар "
-"иҷро шавад."
+msgid "This must be done before Poedit can start. It may take a few minutes if you have lots of translations stored, but should normally be much faster."
+msgstr "Ин амал бояд пеш аз оғози Poedit иҷро шавад. Агар шумо бисёр тарҷумаро дошта бошед, ин метавонад якчанд дақиқаро гирад, вале асосан ин амал бояд тезтар иҷро шавад."
msgid "Proceed"
msgstr "Амал кардан"
@@ -1599,55 +1960,62 @@ msgid "Translation memory migration failed."
msgstr "Интиқоли ҳофизаи тарҷумаҳо қатъ шудааст."
#, c-format
-msgid ""
-"Your translation memory data couldn't be migrated. The error was:\n"
-"\n"
-"%s\n"
+msgid "Your translation memory data couldn't be migrated. The error was:\n\n"
+"%s\n"
"Please email help at poedit.net and we’ll get it fixed."
-msgstr ""
-"Иттилооти ҳофизаи тарҷумаҳо интиқол дода нашуд. Хатогӣ ба вуҷуд омад:\n"
-"\n"
-"%s\n"
+msgstr "Иттилооти ҳофизаи тарҷумаҳо интиқол дода нашуд. Хатогӣ ба вуҷуд омад:\n\n"
+"%s\n"
"Лутфан, ба суроғаи help at poedit.net хабар рсонед ва мо он хаторо ҳал мекунем."
msgid "Cannot create temporary directory."
msgstr "Директорияи муваққатӣ эҷод карда нашуд."
+msgid "Check theme or plugin compatibility"
+msgstr "Санҷиши мувофиқати мавзӯъ ё плагин"
+
msgid "Welcome to Poedit"
msgstr "Хуш омадед ба Poedit"
+msgid "Upgrade to Pro"
+msgstr "Такмил додан ба версияи \"Pro\""
+
+msgid "Upgrade to Poedit Pro to get additional features and support Poedit's development."
+msgstr "Барои истифодаи хусусиятҳои иловагӣ ва гирифтани дастгирӣ аз барномасози Poedit, лутфан версияи ҷориро ба Poedit Pro такмил диҳед."
+
msgid "Edit a translation"
msgstr "Таҳрир кардани тарҷума"
msgid "Open an existing PO file and edit the translation."
msgstr "Файли PO-и мавҷудбударо кушоед ва тарҷумаро таҳрир намоед."
-msgid "Create new translation"
-msgstr "Аз нав тарҷума кардан"
+msgid "Take an existing PO file or POT template and create a new translation from it."
+msgstr "Файли PO ё қолиби POT-и мавҷудбударо истифода баред ва тарҷумаи навро дар асоси он таҳия кунед."
-msgid ""
-"Take an existing PO file or POT template and create a new translation from "
-"it."
-msgstr ""
-"Файли PO ё қолиби POT-и мавҷудбударо истифода баред ва тарҷумаи навро дар "
-"асоси он таҳия кунед."
+msgid "Translate WordPress theme or plugin"
+msgstr "Тарҷума кардани плагин ё мавзӯи WordPress"
+
+#. TRANSLATORS: Please don't use any form of "automatically" in the translation, it would mislead people.
+msgid "Create a new translation. Poedit will set everything up; you can focus on translating."
+msgstr "Аз нав тарҷума кунед. Poedit ҳамаро аз нав ба таври худкор танзим мекунад. Шумо тарҷума кунед."
+
+msgid "Collaborate on a translation with Crowdin"
+msgstr "Якҷоя тарҷума кардан дар Crowdin"
+
+msgid "Download a file from Crowdin project, translate and sync your changes back."
+msgstr "Файлеро аз лоиҳаи Crowdin боргирӣ кунед, тарҷума намоед ва ҳамоҳанг созед."
+
+msgid "What is Crowdin?"
+msgstr "Crowdin чист?"
msgid "There are no translations. That’s unusual."
msgstr "Ягон тарҷума вуҷуд надорад. Ин ғайриоддӣ аст."
-msgid ""
-"Translatable entries aren't added manually in the Gettext system, but are "
-"automatically extracted\n"
-"from source code. This way, they stay up to date and accurate.\n"
-"Translators typically use PO template files (POTs) prepared for them by the "
-"developer."
-msgstr ""
-"Сатрҳое, ки метавонед тарҷума кунед аз системаи Gettext ба таври дастӣ илова "
-"намешаванд,\n"
-"онҳо аз рамзи манбаъ ба таври худкор бароварда мешаванд. Ин тавр онҳо дақиқ "
-"ва навшуда мебошанд.\n"
-"Асосан тарҷумон қолиби файлҳои PO (POTs)-ро истифода мебарад, ки аз ҷониби "
-"барномасозон таҳия мешаванд."
+msgid "Translatable entries aren't added manually in the Gettext system, but are automatically extracted\n"
+"from source code. This way, they stay up to date and accurate.\n"
+"Translators typically use PO template files (POTs) prepared for them by the developer."
+msgstr "Сатрҳое, ки метавонед тарҷума кунед аз системаи Gettext ба таври дастӣ илова намешаванд,\n"
+"онҳо аз рамзи манбаъ ба таври худкор бароварда мешаванд. Ин тавр онҳо дақиқ ва навшуда мебошанд.\n"
+"Асосан тарҷумон қолиби файлҳои PO (POTs)-ро истифода мебарад, ки аз ҷониби барномасозон таҳия мешаванд."
msgid "(Learn more about GNU gettext)"
msgstr "(Маълумоти муфассал дар бораи GNU gettext)"
@@ -1661,14 +2029,121 @@ msgstr "Навсозӣ кардан аз POT"
msgid "Take translatable strings from an existing POT template."
msgstr "Сатрҳоро барои тарҷума аз қолиби POT-и мавҷудбуда истифода баред."
-msgid ""
-"You can also extract translatable strings directly from the source code:"
-msgstr ""
-"Шумо инчунин метавонед сатрҳоро барои тарҷума аз рамзи манбъ бевосита "
-"бароред:"
+msgid "You can also extract translatable strings directly from the source code:"
+msgstr "Шумо инчунин метавонед сатрҳоро барои тарҷума аз рамзи манбъ бевосита бароред:"
msgid "Extract from sources"
msgstr "Баровардан аз манбаҳо"
msgid "Configure source code extraction in Properties."
msgstr "Баровардани рамзи манбаро дар Танзимот танзим кунед."
+
+#, c-format
+msgid "Failed to read file '%s'."
+msgstr "Файли '%s' кушода нашуд."
+
+#, c-format
+msgid "Confused by ambiguous values of \"%s\" in %s."
+msgstr "Қиматҳои думаънодори \"%s\" дар %s аралаш кард."
+
+#, c-format
+msgid "Couldn't detect POs location for \"%s\"."
+msgstr "Ягон файли PO барои макони \"%s\" муайян нашуд."
+
+#, c-format
+msgid "The \"%s\" theme isn't localization-ready."
+msgstr "Мавзӯи \"%s\" ҳоло барои тарҷума омода нест."
+
+msgid "Confused: multiple main plugin files."
+msgstr "Ихтилоф: якчанд файли плагини асосӣ мавҷуданд."
+
+#, c-format
+msgid "The \"%s\" plugin isn't localization-ready."
+msgstr "Плагини \"%s\" ҳоло барои тарҷума омода нест."
+
+#, c-format
+msgid "Couldn't detect translation domain of the \"%s\" plugin."
+msgstr "Домени тарҷума аз плагини \"%s\" муайян карда нашуд."
+
+msgid "Found neither WordPress theme nor plugin in the folder."
+msgstr "Чунин менамояд, ки ҷузвдон плагин ва мавзӯи WordPress-ро дар бар мегирад."
+
+#, c-format
+msgid "Translations folder (%s) doesn't exist."
+msgstr "Ҷузвдони тарҷумаҳо (%s) вуҷуд надорад."
+
+msgid "<big>Drag and drop <b>theme or plugin folder</b> here</big>\n\n"
+"or use the “Choose folder” button"
+msgstr "<big><b>Ҷузвдони мавзӯъҳо ё плагинҳоро</b> ба ин ҷо кашида гузоред</big>\n\n"
+"ё тугмаи “Интихоб кардани ҷузвдон”-ро истифода баред"
+
+msgid "<big>Drag and Drop <b>Theme or Plugin Folder</b> Here</big>\n\n"
+"or use the “Choose Folder” button"
+msgstr "<big><b>Ҷузвдони мавзӯъҳо ё плагинҳоро</b> ба ин ҷо кашида гузоред</big>\n\n"
+"ё тугмаи “Интихоб кардани ҷузвдон”-ро истифода баред"
+
+#, c-format
+msgid "Folder “%s”"
+msgstr "Ҷузвдони “%s”"
+
+msgid "Choose Folder..."
+msgstr "Интихоб кардани ҷузвдон..."
+
+msgid "Choose folder..."
+msgstr "Интихоб кардани ҷузвдон..."
+
+msgid "Create a new translation"
+msgstr "Ворид кардани тарҷумаи нав"
+
+msgid "Choose this if you want to translate the theme or plugin into your language."
+msgstr "Агар шумо хоҳед, ки мавзӯъ ё плагинро ба забони худ тарҷума кунед, инро интихоб кунед."
+
+msgid "Create a POT"
+msgstr "Таҳия кардани файли POT"
+
+msgid "This option is for theme and plugin developers. Poedit will create an empty template (POT) that translations can be based on."
+msgstr "Имкони зерин барои барномасозони плагинҳо ва мавзӯъҳо истифода мешавад. Poedit қолаби файли холиеро (POT) таҳия мекунад, ки метавонад барои тарҷумаҳо истифода шавад."
+
+msgid "Continue"
+msgstr "Идома додан"
+
+msgid "Failed to extract WordPress information."
+msgstr "Баровардани иттилооти WordPress қатъ шудааст."
+
+msgid "WordPress error"
+msgstr "Хатои WordPress"
+
+#, c-format
+msgid "Poedit couldn’t understand the content of the folder you selected. This may be a problem with the plugin/theme or it may be Poedit being silly. The error is:\n\n"
+" • %s\n\n"
+"Please email help at poedit.net and we’ll sort it out."
+msgstr "Poedit мӯҳтаворо аз ҷузвдони интихобшуда муайян накард. Эҳтимол аст, ки плагин ё мавзӯъ хато дорад ё Poedit онҳоро коркард наметавонад. Тавсифи хато:\n\n"
+" • %s\n\n"
+"Лутфан, барои ҳал кардани ин мушкилӣ ба help at poedit.net нависед."
+
+#. TRANSLATORS: This is a button that sends an email to support when clicked
+msgid "Email support"
+msgstr "Дастгирӣ тавассути почтаи электронӣ"
+
+msgid "View log"
+msgstr "Дидани сабти рӯйдодҳо"
+
+#. TRANSLATORS: This is a button that sends an email to support when clicked
+msgid "Email Support"
+msgstr "Дастгирӣ тавассути почтаи электронӣ"
+
+msgid "View Log"
+msgstr "Дидани сабти рӯйдодҳо"
+
+msgid "WordPress Errors Log"
+msgstr "Қайди рӯйдодҳои хатоҳои WordPress"
+
+msgid "Please email this log to help at poedit.net. Thank you!"
+msgstr "Лутфан, ин сабти рӯйдодро ба help at poedit.net фиристонед. Ташаккур!"
+
+msgid "Sync"
+msgstr "Ҳамоҳангсозӣ"
+
+msgid "Synchronize the translation with Crowdin"
+msgstr "Ҳамоҳангсозии тарҷума бо Crowdin"
+
diff --git a/locales/th.mo b/locales/th.mo
index 8a75755..cdb326d 100644
Binary files a/locales/th.mo and b/locales/th.mo differ
diff --git a/locales/th.po b/locales/th.po
index 251a09a..3ec9701 100644
--- a/locales/th.po
+++ b/locales/th.po
@@ -1,9 +1,9 @@
msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
-"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:34-0400\n"
+"Report-Msgid-Bugs-To: poedit at googlegroups.com\n"
+"POT-Creation-Date: 2015-05-11 08:48+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Thai\n"
"Language: th_TH\n"
@@ -16,6 +16,40 @@ msgstr ""
"X-Crowdin-Language: th\n"
"X-Crowdin-File: /locales/poedit.pot\n"
+#. TRANSLATORS: This is titlebar of about dialog, "%s" is application name
+#. ("Poedit" here, but please use "%s")
+#, c-format
+msgid "About %s"
+msgstr "เกี่ยวกับ %s"
+
+#. TRANSLATORS: This is version information in about dialog, "%s" will be
+#. version number when used
+#, c-format
+msgid "Version %s"
+msgstr "เวอร์ชั่น %s"
+
+msgid "Based on the open source version →"
+msgstr ""
+
+msgid "Acknowledgements"
+msgstr "กิตติกรรมประกาศ"
+
+msgid "Rate on the App Store"
+msgstr "ให้คะแนนบน App Store"
+
+msgid "License Agreement"
+msgstr ""
+
+#, c-format
+msgid "Licensed to %s"
+msgstr ""
+
+msgid "Purchased on the Mac App Store"
+msgstr ""
+
+msgid "Free version (please upgrade!)"
+msgstr ""
+
msgid "Hide this notification message"
msgstr ""
@@ -38,16 +72,13 @@ msgstr ""
msgid "Malformed header: '%s'"
msgstr "หัวข้อที่ผิดปกติ: '%s'"
-msgid ""
-"Broken catalog file: singular form msgstr used together with msgid_plural"
+msgid "Broken catalog file: singular form msgstr used together with msgid_plural"
msgstr "แฟ้มรายการที่เสียหาย: รูปแบบเอกพจน์ถูกใชเรวมกับรูปแบบพหูพจน์"
msgid "Broken catalog file: plural form msgstr used without msgid_plural"
msgstr "แฟ้มรายการที่เสียหาย: รูปแบบพหูพจน์สำหรับ msgstr ถูกใช้โดยไม่มี msgid_plural"
-msgid ""
-"There were errors when loading the catalog. Some data may be missing or "
-"corrupted as the result."
+msgid "There were errors when loading the catalog. Some data may be missing or corrupted as the result."
msgstr "ผิดผลาดระหว่างมีการโหลดรายการ ข้อมูลบางอันอาจจะหายหรือไม่สามารถใช้การได้"
#, c-format
@@ -55,32 +86,32 @@ msgid "Couldn't load file %s, it is probably corrupted."
msgstr "ไม่สามารถโหลดแฟ้ม %s อาจจะเป็นเพราะว่าแฟ้มเสียหาย"
#, c-format
-msgid ""
-"File '%s' is read-only and cannot be saved.\n"
-"Please save it under different name."
-msgstr ""
-"แฟ้ม '%s' เป็นแบบอ่านอย่างเดียวและไม่สามารถบันทึกได้\n"
-"กรุณาบันทึกภายใต้ชื่ออื่น"
+msgid "File '%s' is read-only and cannot be saved.\nPlease save it under different name."
+msgstr "แฟ้ม '%s' เป็นแบบอ่านอย่างเดียวและไม่สามารถบันทึกได้\nกรุณาบันทึกภายใต้ชื่ออื่น"
#, c-format
msgid "Couldn't save file %s."
msgstr ""
-msgid ""
-"There was a problem formatting the file nicely (but it was saved all right)."
+msgid "There was a problem formatting the file nicely (but it was saved all right)."
msgstr ""
#, c-format
-msgid ""
-"The catalog couldn't be saved in '%s' charset as specified in catalog "
-"settings.\n"
-"\n"
-"It was saved in UTF-8 instead and the setting was modified accordingly."
+msgid "The catalog couldn't be saved in '%s' charset as specified in catalog settings.\n\nIt was saved in UTF-8 instead and the setting was modified accordingly."
msgstr ""
msgid "Error saving catalog"
msgstr "ข้อผิดผลาดในการบันทึกรายการ"
+msgid "PO Translation Files"
+msgstr "ไฟล์แปลภาษา PO"
+
+msgid "POT Translation Templates"
+msgstr ""
+
+msgid "All Translation Files"
+msgstr ""
+
msgid "Merging differences..."
msgstr "กำลังเมชรความแตกต่าง..."
@@ -100,6 +131,81 @@ msgstr "การเลือกภาษา"
msgid "You must restart Poedit for this change to take effect."
msgstr "คุณต้องเริ่มต้น Poedit ใหม่เพื่อให้การเปลี่ยนแปลงมีผล"
+msgid "Downloading translations is disabled in this project."
+msgstr ""
+
+msgid "Not authorized, please sign in again."
+msgstr ""
+
+msgid "Sign in to Crowdin"
+msgstr ""
+
+msgid "Crowdin is an online localization management platform and collaborative translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+
+msgid "Sign In"
+msgstr ""
+
+msgid "Sign in"
+msgstr ""
+
+msgid "Sign Out"
+msgstr ""
+
+msgid "Sign out"
+msgstr ""
+
+msgid "Waiting for authentication…"
+msgstr ""
+
+msgid "Updating user information…"
+msgstr ""
+
+msgid "Signed in as:"
+msgstr ""
+
+msgid "Learn More About Crowdin"
+msgstr ""
+
+msgid "Learn more about Crowdin"
+msgstr ""
+
+msgid "Open Crowdin translation"
+msgstr ""
+
+msgid "Project:"
+msgstr ""
+
+msgid "Language:"
+msgstr "ภาษา:"
+
+msgid "File:"
+msgstr ""
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr ""
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr ""
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr ""
+
+msgid "Downloading latest translations…"
+msgstr ""
+
+msgid "Syncing with Crowdin"
+msgstr ""
+
+msgid "Syncing with Crowdin failed."
+msgstr ""
+
+msgid "Crowdin error"
+msgstr ""
+
+msgid "Uploading translations…"
+msgstr ""
+
msgid "&Copy"
msgstr "&คัดลอก"
@@ -117,7 +223,7 @@ msgid "Failed to merge gettext catalogs."
msgstr "ล้มเหลวที่จะรวมรายการ gettext"
msgid "Scanning files..."
-msgstr "กำลังสแกนแฟ้ม: "
+msgstr "กำลังสแกนไฟล์..."
#. TRANSLATORS: '%s' is replaced with the kind of the files (e.g. C++, PHP, ...)
#, c-format
@@ -127,8 +233,27 @@ msgstr "กำลังพลาส %s แฟ้ม..."
msgid "Failed to load extracted catalog."
msgstr "ล้มเหลวในการโหลดรายการที่ขยาย"
+#, c-format
+msgid "Failed to extract WordPress metadata from file %s."
+msgstr ""
+
msgid "&Help"
-msgstr "วิธี&ใช้"
+msgstr "&ช่วยเหลือ"
+
+msgid "Beta expired"
+msgstr "รุ่นเบต้าหมดอายุแล้ว"
+
+msgid "This beta version of Poedit expired."
+msgstr ""
+
+msgid "Please download a newer version from the Poedit website at http://poedit.net/download"
+msgstr ""
+
+msgid "Download"
+msgstr "ดาวน์โหลด"
+
+msgid "Quit"
+msgstr "ออก"
msgid "MO files can’t be directly edited in Poedit."
msgstr ""
@@ -136,14 +261,15 @@ msgstr ""
msgid "Error opening file"
msgstr ""
-msgid ""
-"Please open and edit the corresponding PO file instead. When you save it, "
-"the MO file will be updated as well."
+msgid "Please open and edit the corresponding PO file instead. When you save it, the MO file will be updated as well."
msgstr ""
msgid "don't delete temporary files (for debugging)"
msgstr ""
+msgid "handle a poedit:// URI"
+msgstr ""
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr ""
@@ -152,41 +278,26 @@ msgid "Unhandled exception occurred."
msgstr ""
msgid "Open catalog"
-msgstr "เปิดรายการ"
-
-msgid "All Files"
-msgstr "ทุกไฟล์"
-
-msgid "PO Translation Files"
-msgstr "ไฟล์แปลภาษา PO"
+msgstr "เปิดแค็ตตาล็อก"
#, c-format
msgid "File '%s' doesn't exist."
msgstr "แฟ้ม '%s' ไม่มีอยู่จริง"
-#. TRANSLATORS: This is titlebar of about dialog, "%s" is application name
-#. ("Poedit" here, but please use "%s")
-#, c-format
-msgid "About %s"
-msgstr "เกี่ยวกับ %s"
-
-#. TRANSLATORS: This is version information in about dialog, "%s" will be
-#. version number when used
-#, c-format
-msgid "Version %s"
-msgstr "เวอร์ชั่น %s"
-
msgid "Poedit is an easy to use translations editor."
msgstr "Poedit เป็นโปรแกรมแปลภาษาที่ง่ายต่อการใช้งาน"
msgid "Catalogs Manager"
msgstr "ตัวจัดการแค็ตตาล็อก"
+msgid "License..."
+msgstr "ใบอนุญาต..."
+
msgid "Check for Updates..."
msgstr "ตรวจหาการอัพเดท..."
msgid "&Edit"
-msgstr "แก้ไ&ข"
+msgstr "&แก้ไข"
msgid "Undo"
msgstr "เลิกทำ"
@@ -263,6 +374,15 @@ msgstr ""
msgid "&View"
msgstr "&มุมมอง"
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
+msgid "Show Toolbar"
+msgstr ""
+
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
+msgid "Customize Toolbar…"
+msgstr ""
+
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
msgid "Enter Full Screen"
msgstr ""
@@ -278,17 +398,27 @@ msgstr "ย่อ/ขยาย"
msgid "Bring All to Front"
msgstr ""
+#. TRANSLATORS:File kind displayed in Finder/Explorer
msgid "PO Translation"
msgstr ""
+msgid "Invalid license data."
+msgstr ""
+
+msgid "Poedit"
+msgstr "Poedit"
+
+#, c-format
+msgid "The link doesn't contain valid Poedit license. Try entering it manually or contact support at help at poedit.net.\n\n(%s)"
+msgstr ""
+
msgid "The file cannot be opened."
msgstr ""
msgid "Invalid file"
msgstr ""
-msgid ""
-"The file may be either corrupted or in a format not recognized by Poedit."
+msgid "The file may be either corrupted or in a format not recognized by Poedit."
msgstr ""
msgid "&Undo"
@@ -366,11 +496,8 @@ msgstr "คุณไม่สามารถวางแฟ้มมากกว
msgid "File '%s' is not a message catalog."
msgstr ""
-msgid "Poedit"
-msgstr "Poedit"
-
msgid "&File"
-msgstr "แฟ้&ม"
+msgstr "&ไฟล์"
msgid "&Go"
msgstr ""
@@ -387,12 +514,20 @@ msgstr "พหูพจน์:"
msgid "Translation:"
msgstr "การแปล:"
+msgid "POT files are only templates and don’t contain any translations themselves.\nTo make a translation, create a new PO file based on the template."
+msgstr ""
+
+msgid "Create New Translation"
+msgstr ""
+
+msgid "Create new translation"
+msgstr ""
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
#, c-format
-msgid ""
-"Spellchecking is disabled, because the dictionary for %s isn’t installed."
+msgid "Spellchecking is disabled, because the dictionary for %s isn’t installed."
msgstr ""
msgid "Install"
@@ -434,7 +569,29 @@ msgstr ""
msgid "Open catalog template"
msgstr "เปิดรายการแม่แบบ"
-msgid "POT Translation Templates"
+msgid "WordPress"
+msgstr "WordPress"
+
+msgid "Analyzing WordPress code..."
+msgstr ""
+
+msgid "Select the folder with the WordPress theme or plugin"
+msgstr ""
+
+#. TRANSLATORS: %s is name of a WordPress theme
+#, c-format
+msgid "The “%s” theme is compatible."
+msgstr ""
+
+#. TRANSLATORS: %s is name of a WordPress plugin
+#, c-format
+msgid "The “%s” plugin is compatible."
+msgstr ""
+
+msgid "The theme is translation-ready and compatible with Poedit’s WordPress support."
+msgstr ""
+
+msgid "The plugin is translation-ready and compatible with Poedit’s WordPress support."
msgstr ""
msgid "Updating catalog"
@@ -446,9 +603,7 @@ msgstr ""
msgid "Updating failed"
msgstr ""
-msgid ""
-"Translations couldn’t be updated from the source code, because no code was "
-"found in the location specified in the catalog’s Properties."
+msgid "Translations couldn’t be updated from the source code, because no code was found in the location specified in the catalog’s Properties."
msgstr ""
msgid "Entries in the catalog are probably incorrect."
@@ -465,27 +620,19 @@ msgstr[0] ""
msgid "Validation results"
msgstr "ผลการตรวจสอบ"
-msgid ""
-"Entries with errors were marked in red in the list. Details of the error "
-"will be shown when you select such an entry."
+msgid "Entries with errors were marked in red in the list. Details of the error will be shown when you select such an entry."
msgstr ""
msgid "The file was saved safely."
msgstr ""
-msgid ""
-"The file was saved safely and compiled into the MO format, but it will "
-"probably not work correctly."
+msgid "The file was saved safely and compiled into the MO format, but it will probably not work correctly."
msgstr ""
-msgid ""
-"The file was saved safely, but it cannot be compiled into the MO format and "
-"used."
+msgid "The file was saved safely, but it cannot be compiled into the MO format and used."
msgstr ""
-msgid ""
-"The file was compiled into the MO format, but it will probably not work "
-"correctly."
+msgid "The file was compiled into the MO format, but it will probably not work correctly."
msgstr ""
msgid "The file cannot be compiled into the MO format and used."
@@ -496,25 +643,40 @@ msgstr ""
#, c-format
msgid "The translation is ready for use, but %d entry is not translated yet."
-msgid_plural ""
-"The translation is ready for use, but %d entries are not translated yet."
+msgid_plural "The translation is ready for use, but %d entries are not translated yet."
msgstr[0] ""
msgid "The translation is ready for use."
msgstr ""
-msgid "No references to this string found."
-msgstr "ไม่พบการอ้างอิงบนข้อมูลนี้"
+msgid "Contributing translations improves the quality of online suggestions for everybody — the more people do it, the better the suggestions can be. Your translations are submitted anonymously and are available to other translators using Poedit or other CAT tools."
+msgstr ""
+
+msgid "Can Poedit contribute your translations of this file to the online translation memory?"
+msgstr ""
+
+msgid "Apply to all files I edit"
+msgstr ""
+
+msgid "Contribute"
+msgstr ""
-msgid "Please choose the reference you want to show:"
-msgstr "กรุณาเลือกการอ้างอิงที่คุณต้องการแสดง:"
+msgid "Keep Private"
+msgstr ""
-msgid "References"
-msgstr "การอ้างอิง"
+msgid "Keep private"
+msgstr ""
msgid "Context:"
msgstr ""
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr ""
+
+msgid "The file contained duplicate items, which is not allowed in PO files and would prevent the file from being used. Poedit fixed the issue, but you should review translations of any items marked as fuzzy and correct them if necessary."
+msgstr ""
+
msgid "Language of the translation isn't set."
msgstr ""
@@ -524,14 +686,23 @@ msgstr ""
msgid "Set language"
msgstr "กำหนดภาษา"
-msgid ""
-"This catalog has entries with plural forms, but doesn't have Plural-Forms "
-"header configured."
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid "Suggestions are not available if the translation language is not set correctly. Other features, such as plural forms, may be affected as well."
msgstr ""
-msgid ""
-"Entries in this catalog have different plural forms count from what "
-"catalog's Plural-Forms header says"
+msgid "Language of the translation is the same as source language."
+msgstr ""
+
+msgid "Fix Language"
+msgstr ""
+
+msgid "Fix language"
+msgstr ""
+
+msgid "This catalog has entries with plural forms, but doesn't have Plural-Forms header configured."
+msgstr ""
+
+msgid "Entries in this catalog have different plural forms count from what catalog's Plural-Forms header says"
msgstr ""
msgid "Required header Plural-Forms is missing."
@@ -554,6 +725,7 @@ msgstr ""
msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr ""
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr ""
@@ -574,12 +746,21 @@ msgid "%d error"
msgid_plural "%d errors"
msgstr[0] ""
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] ""
+
msgid " (unsaved)"
msgstr ""
msgid " (modified)"
msgstr "(ที่ถูกปรับเปลี่ยน)"
+#, c-format
+msgid " (beta version expires %s)"
+msgstr ""
+
msgid "Go"
msgstr ""
@@ -593,10 +774,7 @@ msgstr "ลบการแปลที่ลบถาวร"
msgid "Do you want to remove all translations that are no longer used?"
msgstr ""
-msgid ""
-"If you continue with purging, all translations marked as deleted will be "
-"permanently removed. You will have to translate them again if they are added "
-"back in the future."
+msgid "If you continue with purging, all translations marked as deleted will be permanently removed. You will have to translate them again if they are added back in the future."
msgstr ""
msgid "Keep"
@@ -611,17 +789,22 @@ msgstr ""
msgid "Only fill in exact matches"
msgstr ""
-msgid ""
-"By default, inaccurate results are filled in as well and marked as fuzzy. "
-"Check this option to only include accurate matches."
+msgid "By default, inaccurate results are filled in as well and marked as fuzzy. Check this option to only include accurate matches."
msgstr ""
msgid "Don’t mark exact matches as fuzzy"
msgstr ""
-msgid ""
-"Only enable if you trust the quality of your TM. By default, all matches "
-"from the TM are marked as fuzzy and should be reviewed."
+msgid "Only enable if you trust the quality of your TM. By default, all matches from the TM are marked as fuzzy and should be reviewed."
+msgstr ""
+
+msgid "Use online suggestions"
+msgstr ""
+
+msgid "Use online suggestions (experimental)"
+msgstr ""
+
+msgid "Try to fetch translations from the online TM as well. Notice that the translations will not be perfect and will still need to be corrected by a human translator."
msgstr ""
msgid "Fill"
@@ -632,18 +815,13 @@ msgid "%d entry was filled from the translation memory."
msgid_plural "%d entries were filled from the translation memory."
msgstr[0] ""
-msgid ""
-"The translations were marked as fuzzy, because they may be inaccurate. You "
-"should review them for correctness."
+msgid "The translations were marked as fuzzy, because they may be inaccurate. You should review them for correctness."
msgstr ""
msgid "No entries could be filled from the translation memory."
msgstr ""
-msgid ""
-"The TM doesn’t contain any strings similar to the content of this file. It "
-"is only effective for semi-automatic translations after Poedit learns enough "
-"from files that you translated manually."
+msgid "The TM doesn’t contain any strings similar to the content of this file. It is only effective for semi-automatic translations after Poedit learns enough from files that you translated manually."
msgstr ""
msgid "Translating"
@@ -683,7 +861,10 @@ msgstr ""
#, c-format
msgid "Form %i"
-msgstr "จาก %i"
+msgstr "ฟอร์ม %i"
+
+msgid "Singular"
+msgstr ""
msgid "Zero"
msgstr "ศูนย์"
@@ -694,6 +875,9 @@ msgstr ""
msgid "Two"
msgstr "สอง"
+msgid "Plural"
+msgstr ""
+
msgid "Other"
msgstr ""
@@ -722,6 +906,12 @@ msgstr ""
msgid "Show Sidebar"
msgstr ""
+msgid "Hide Status Bar"
+msgstr ""
+
+msgid "Show Status Bar"
+msgstr ""
+
msgid "Source text"
msgstr ""
@@ -731,6 +921,10 @@ msgstr "การแปล"
msgid "ID"
msgstr ""
+#, c-format
+msgid "Source text — %s"
+msgstr ""
+
msgid "unknown language"
msgstr "ภาษาที่ไม่รู้จัก"
@@ -741,42 +935,6 @@ msgstr "การแปล — %s"
msgid "Error:"
msgstr ""
-msgid "Project info"
-msgstr "ข้อมูลโครงการ"
-
-msgid "Project name and version:"
-msgstr "ชื่อและรุ่นของโครงการ:"
-
-msgid "Language:"
-msgstr "ภาษา:"
-
-msgid "Team:"
-msgstr "ทีมงาน:"
-
-msgid "Team's email address:"
-msgstr "ที่อยู่อีเมลของทีมงาน:"
-
-msgid "Charset:"
-msgstr "รูปแบบอักขระ:"
-
-msgid "Source"
-msgstr ""
-
-msgid "Notes"
-msgstr "บันทึก"
-
-msgid "Automatic translation"
-msgstr "การแปลอัตโนมัติ"
-
-msgid "Fuzzy translation"
-msgstr "คำแปลที่ไม่ชัดเจน"
-
-msgid "Notes for translators:"
-msgstr ""
-
-msgid "Comment:"
-msgstr "คำแนะนำ:"
-
msgid "Source file"
msgstr "แฟ้มดั้งเดิม"
@@ -789,27 +947,128 @@ msgstr ""
msgid "Open in editor"
msgstr ""
+msgid "No references for the selected item."
+msgstr ""
+
#, c-format
msgid "Error opening file %s!"
msgstr "ข้อผิดลากในการเปิดแฟ้ม %s!"
-#, c-format
-msgid "Cannot execute program: %s"
+msgid "Find"
msgstr ""
-msgid "Language Code or Name (e.g. en_GB)"
+msgid "Replace"
msgstr ""
-msgid "Translation Language"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
msgstr ""
-msgid "Language of the translation:"
+msgid "Ignore case"
msgstr ""
-msgid "Poedit - Catalogs manager"
-msgstr "Poedit - ตัวจัดการรายการ"
+msgid "Wrap around"
+msgstr ""
-msgid "Catalog"
+msgid "Whole words only"
+msgstr "ศัพท์อย่างเต็มเท่านั้น"
+
+msgid "Find in source texts"
+msgstr ""
+
+msgid "Find in translations"
+msgstr "ค้นหาในการแปล"
+
+msgid "Find in comments"
+msgstr "ค้นหาในความคิดเห็น"
+
+msgid "Close"
+msgstr ""
+
+msgid "Replace All"
+msgstr ""
+
+msgid "Replace all"
+msgstr ""
+
+msgid "< &Previous"
+msgstr ""
+
+msgid "&Next >"
+msgstr "&ถัดไป >"
+
+msgid "String to find"
+msgstr ""
+
+msgid "Replacement string"
+msgstr ""
+
+#, c-format
+msgid "Cannot execute program: %s"
+msgstr ""
+
+msgid "Language Code or Name (e.g. en_GB)"
+msgstr ""
+
+msgid "Translation Language"
+msgstr ""
+
+msgid "Language of the translation:"
+msgstr ""
+
+msgid "Poedit Registration"
+msgstr ""
+
+msgid "Name"
+msgstr ""
+
+msgid "License Key"
+msgstr ""
+
+msgid "The registration key can be used on multiple computers you use personally or for multiple\naccounts on a single computer."
+msgstr ""
+
+msgid "Buy Online..."
+msgstr ""
+
+msgid "Buy online..."
+msgstr ""
+
+msgid "Cancel"
+msgstr "ยกเลิก"
+
+msgid "Register"
+msgstr "ลงทะเบียน"
+
+msgid "Your copy is upgraded to Poedit Pro."
+msgstr ""
+
+msgid "You’re awesome! Thank you so much\nfor purchasing Poedit Pro."
+msgstr ""
+
+msgid "View License Key"
+msgstr "ดูคีย์ใบอนุญาต"
+
+msgid "View license key"
+msgstr "ดูคีย์ใบอนุญาต"
+
+#, c-format
+msgid "Licensed to: %s"
+msgstr ""
+
+msgid "Purchasing the full version will unlock more features\nin this and future versions of Poedit, including:\n\n"
+msgstr ""
+
+msgid "Upgrade..."
+msgstr "อัพเกรด..."
+
+msgid "No, thanks"
+msgstr ""
+
+msgid "Poedit - Catalogs manager"
+msgstr "Poedit - ตัวจัดการรายการ"
+
+msgid "Catalog"
msgstr "รายการ"
msgid "Total"
@@ -819,7 +1078,7 @@ msgid "Untrans"
msgstr "ไม่ได้แปล"
msgid "Fuzzy"
-msgstr "ไม่ชัดเจน"
+msgstr "Fuzzy"
msgid "Bad Tokens"
msgstr "สัญลักษณ์เสียหาย"
@@ -828,7 +1087,7 @@ msgid "Last modified"
msgstr "ปรับเปลี่ยนล่าสุด"
msgid "Select directory"
-msgstr "เลือกตำแหน่ง"
+msgstr "เลือกไดเรกทอรี"
msgid "Directories:"
msgstr "ที่ตั้ง:"
@@ -842,12 +1101,8 @@ msgstr "คุณต้องการจะลบโครงการหรื
msgid "Confirmation"
msgstr "การยืนยัน"
-msgid ""
-"Do you really want to do mass update of\n"
-"all catalogs in this project?"
-msgstr ""
-"คุณต้องการจะปรับปรุงข้อมูลปรับปรุงทั้งหมดของ\n"
-"รายการทั้งหมดในโครงการหรือไม่?"
+msgid "Do you really want to do mass update of\nall catalogs in this project?"
+msgstr "คุณต้องการจะปรับปรุงข้อมูลปรับปรุงทั้งหมดของ\nรายการทั้งหมดในโครงการหรือไม่?"
msgid "Information about the translator"
msgstr ""
@@ -864,9 +1119,7 @@ msgstr ""
msgid "your_email at example.com"
msgstr ""
-msgid ""
-"Your name and email address are only used to set the Last-Translator header "
-"of GNU gettext files."
+msgid "Your name and email address are only used to set the Last-Translator header of GNU gettext files."
msgstr ""
msgid "Editing"
@@ -884,13 +1137,8 @@ msgstr ""
msgid "Always change focus to text input field"
msgstr "เปลี่ยนความละเอียดไปยังพื้นที่ของข้อความ"
-msgid ""
-"Never let the list of strings take focus. If enabled, you must use Ctrl-"
-"arrows for keyboard navigation but you can also type text immediately, "
-"without having to press Tab to change focus."
-msgstr ""
-"อย่าทำให้รายการของข้อมูลมีความละเอียด ถ้าเปิการใช้งาน คุณจะต้องใช้ลูกศรและ Ctr "
-"เพื่อการเคลือนที่เท่านั้นแต่คุณก็สามารถพิมพ์ข้อความได้ทันที โดยไม่ต้องในการปุ่ม Tab "
+msgid "Never let the list of strings take focus. If enabled, you must use Ctrl-arrows for keyboard navigation but you can also type text immediately, without having to press Tab to change focus."
+msgstr "อย่าทำให้รายการของข้อมูลมีความละเอียด ถ้าเปิการใช้งาน คุณจะต้องใช้ลูกศรและ Ctr เพื่อการเคลือนที่เท่านั้นแต่คุณก็สามารถพิมพ์ข้อความได้ทันที โดยไม่ต้องในการปุ่ม Tab "
msgid "Appearance"
msgstr ""
@@ -927,11 +1175,29 @@ msgstr ""
msgid "Consult TM when updating from sources"
msgstr ""
-msgid ""
-"If enabled, Poedit will try to fill in new entries using your previous\n"
-"translations stored in the translation memory. If the TM is\n"
-"near-empty, it will not be very effective. The more translations\n"
-"you edit and the larger the TM grows, the better it gets."
+msgid "If enabled, Poedit will try to fill in new entries using your previous\ntranslations stored in the translation memory. If the TM is\nnear-empty, it will not be very effective. The more translations\nyou edit and the larger the TM grows, the better it gets."
+msgstr ""
+
+msgid "Use suggestions from online collaborative TM"
+msgstr ""
+
+msgid "Poedit uses a large online translation memory that includes both contributed human translations and state-of-the-art machine translations."
+msgstr ""
+
+msgid "Contribute my translations to the online TM"
+msgstr ""
+
+msgid "Keep my translations private"
+msgstr ""
+
+msgid "Ask me for each file individually"
+msgstr ""
+
+msgid "Terms of Service"
+msgstr ""
+
+#. TRANSLATORS: This is part of footer that says in full "powered by MyMemory", with the MyMemory part being a logo
+msgid "powered by"
msgstr ""
msgid "Stored translations:"
@@ -958,23 +1224,16 @@ msgstr ""
msgid "Are you sure you want to reset the translation memory?"
msgstr ""
-msgid ""
-"Resetting the translation memory will irrevocably delete all stored "
-"translations from it. You can’t undo this operation."
+msgid "Resetting the translation memory will irrevocably delete all stored translations from it. You can’t undo this operation."
msgstr ""
-msgid "Cancel"
-msgstr "ยกเลิก"
-
#. TRANSLATORS: This is abbreviation of "Translation Memory" used in Preferences on OS X.
#. Long text looks weird there, too short (like TM) too, but less so. "General" is about ideal
#. length there.
msgid "TM"
msgstr ""
-msgid ""
-"Source code extractors are used to find translatable strings in the source "
-"code files and extract them so that they can be translated."
+msgid "Source code extractors are used to find translatable strings in the source code files and extract them so that they can be translated."
msgstr ""
msgid "New"
@@ -983,26 +1242,32 @@ msgstr "สร้างใหม่"
msgid "Edit"
msgstr "แก้ไข"
+msgid "Delete extractor"
+msgstr ""
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr ""
+
msgid "Extractors"
msgstr ""
+msgid "Accounts"
+msgstr ""
+
msgid "Automatically check for updates"
msgstr ""
msgid "Include beta versions"
msgstr ""
-msgid ""
-"Beta versions contain the latest new features and improvements, but may be a "
-"bit less stable."
+msgid "Beta versions contain the latest new features and improvements, but may be a bit less stable."
msgstr ""
msgid "Updates"
msgstr ""
-msgid ""
-"These settings affect internal formatting of PO files. Adjust them if you "
-"have specific requirements e.g. because of version control."
+msgid "These settings affect internal formatting of PO files. Adjust them if you have specific requirements e.g. because of version control."
msgstr ""
msgid "Line endings:"
@@ -1024,6 +1289,30 @@ msgstr ""
msgid "Advanced"
msgstr ""
+msgid "Add Files..."
+msgstr ""
+
+msgid "Add files..."
+msgstr ""
+
+msgid "Add Folders..."
+msgstr ""
+
+msgid "Add folders..."
+msgstr ""
+
+msgid "Add Wildcard..."
+msgstr ""
+
+msgid "Add wildcard..."
+msgstr ""
+
+msgid "<big>Drag and Drop Folders Here</big>\n\nor use the + button"
+msgstr ""
+
+msgid "<big>Drag and drop folders here</big>\n\nor use the + button"
+msgstr ""
+
msgid "Additional keywords"
msgstr ""
@@ -1045,6 +1334,9 @@ msgstr "UTF-8 (แนะนำ)"
msgid "Please save the file first. This section cannot be edited until then."
msgstr ""
+msgid "Comment:"
+msgstr "คำแนะนำ:"
+
msgid "OK"
msgstr "ตกลง"
@@ -1054,42 +1346,6 @@ msgstr ""
msgid "Clear the comment"
msgstr "ลบคำแนะนำ"
-msgid "Find..."
-msgstr "ค้นหา..."
-
-msgid "String to find:"
-msgstr "ข้อมูลที่จะค้นหา:"
-
-msgid "Case sensitive"
-msgstr "เจาะจงตัวพิมพ์เล็กใหญ่"
-
-msgid "Start from the first item"
-msgstr "เริ่มต้นจากรายการแรก"
-
-msgid "Whole words only"
-msgstr "ศัพท์อย่างเต็มเท่านั้น"
-
-msgid "Find in original strings"
-msgstr "ค้นหาในข้อความดั้งเดิม"
-
-msgid "Find in translations"
-msgstr "ค้นหาในการแปล"
-
-msgid "Find in comments"
-msgstr "ค้นหาคำแนะนำ"
-
-msgid "Find in automatic comments"
-msgstr "ค้นหาคำแนะนำอัตโนมัติ"
-
-msgid "Close"
-msgstr ""
-
-msgid "< &Previous"
-msgstr ""
-
-msgid "&Next >"
-msgstr "&ถัดไป >"
-
msgid "Create new translations project"
msgstr "สร้างโครงการแปลใหม่"
@@ -1100,7 +1356,7 @@ msgid "Delete the project"
msgstr "ลบโครงการ"
msgid "Update all"
-msgstr "ปรับปรุงทั้งหมด"
+msgstr "อัพเดททั้งหมด"
msgid "Update all catalogs in the project"
msgstr "ปรับปรุงรายการทั้งหมดในโครงการ"
@@ -1118,17 +1374,14 @@ msgid "Add directory to the list"
msgstr "เพิ่มตำแหน่งไปยังรายการ"
msgid "&Preferences..."
-msgstr "ตั&วเลือก..."
+msgstr "&ตั้งค่า..."
msgid "&Close"
-msgstr "ปิ&ด"
+msgstr "&ปิด"
msgid "E&xit"
msgstr ""
-msgid "Quit"
-msgstr "ออก"
-
msgid "&New..."
msgstr "&สร้างใหม่..."
@@ -1138,17 +1391,29 @@ msgstr ""
msgid "New From &POT/PO File..."
msgstr ""
+msgid "New WordPress translation..."
+msgstr ""
+
+msgid "New WordPress Translation..."
+msgstr ""
+
msgid "&Open..."
-msgstr "เปิ&ด..."
+msgstr "&เปิด..."
msgid "Open Recent"
msgstr ""
+msgid "Open from Crowdin..."
+msgstr ""
+
+msgid "Open From Crowdin..."
+msgstr ""
+
msgid "&Save"
-msgstr "บั&นทึก"
+msgstr "&บันทึก"
msgid "Save &as..."
-msgstr "บันทึกเป็&น..."
+msgstr "บันทึกเป็น..."
msgid "Save &As..."
msgstr "บันทึก&เป็น..."
@@ -1162,8 +1427,11 @@ msgstr ""
msgid "Check for updates..."
msgstr ""
+msgid "&License..."
+msgstr "&ใบอนุญาต..."
+
msgid "Catalogs &manager"
-msgstr "ตัวจัด&การรายการ"
+msgstr "ตัวจัดการ&แค็ตตาล็อก"
msgid "Catalogs &Manager"
msgstr "ตัวจัดการ&แค็ตตาล็อก"
@@ -1190,7 +1458,10 @@ msgid "&Show References"
msgstr ""
msgid "&Find..."
-msgstr "ค้&นหา"
+msgstr "&ค้นหา..."
+
+msgid "Replace..."
+msgstr ""
msgid "Find next"
msgstr ""
@@ -1198,7 +1469,7 @@ msgstr ""
msgid "Find previous"
msgstr ""
-msgid "Find"
+msgid "Find and Replace..."
msgstr ""
msgid "Find Next"
@@ -1208,7 +1479,7 @@ msgid "Find Previous"
msgstr ""
msgid "&Preferences"
-msgstr "ตัวเลื&อก"
+msgstr "&ตั้งค่า"
msgid "Display entry &IDs"
msgstr ""
@@ -1240,6 +1511,12 @@ msgstr ""
msgid "&Group By Context"
msgstr ""
+msgid "Entries with errors first"
+msgstr ""
+
+msgid "Entries with Errors First"
+msgstr ""
+
msgid "&Untranslated entries first"
msgstr ""
@@ -1249,6 +1526,9 @@ msgstr ""
msgid "Show sidebar"
msgstr ""
+msgid "Show status bar"
+msgstr ""
+
msgid "C&atalog"
msgstr "รา&ยการ"
@@ -1264,6 +1544,9 @@ msgstr "ปรับปรุ&งจากแฟ้ม POT"
msgid "Update from &POT File..."
msgstr ""
+msgid "Sync with Crowdin"
+msgstr ""
+
msgid "Fill missing translations from &TM..."
msgstr ""
@@ -1282,6 +1565,9 @@ msgstr ""
msgid "&Validate Translations"
msgstr ""
+msgid "&Statistics"
+msgstr ""
+
msgid "&Properties..."
msgstr ""
@@ -1327,6 +1613,12 @@ msgstr ""
msgid "&GNU gettext Manual"
msgstr ""
+msgid "Email &support..."
+msgstr ""
+
+msgid "Email &Support..."
+msgstr ""
+
msgid "&About Poedit"
msgstr ""
@@ -1345,48 +1637,35 @@ msgstr "การร้องขอ:"
msgid "Command to extract translations:"
msgstr ""
-msgid ""
-"This is the command used to launch the extractor.\n"
-"%o expands to the name of output file, %K to list\n"
-"of keywords, %F to list of input files,\n"
-"%C to charset flag (see below)."
+msgid "This is the command used to launch the extractor.\n%o expands to the name of output file, %K to list\nof keywords, %F to list of input files,\n%C to charset flag (see below)."
msgstr ""
msgid "An item in keywords list:"
msgstr "รายการในรายการของศัพท์:"
-msgid ""
-"This will be attached to the command line once\n"
-"for each keyword. %k expands to the keyword."
-msgstr ""
-"นี้จะแนบแฟ้มไปยังคำสั่งหนึ่งครั้ง\n"
-"ต่อศัพท์ที่ใช้แต่ละคำ %k จะขยายไปยังชื่อของศัพท์ที่ใช้"
+msgid "This will be attached to the command line once\nfor each keyword. %k expands to the keyword."
+msgstr "นี้จะแนบแฟ้มไปยังคำสั่งหนึ่งครั้ง\nต่อศัพท์ที่ใช้แต่ละคำ %k จะขยายไปยังชื่อของศัพท์ที่ใช้"
msgid "An item in input files list:"
msgstr "รายการในรายการของแฟ้ม:"
#, c-format
-msgid ""
-"This will be attached to the command line once\n"
-"for each input file. %f expands to the filename."
-msgstr ""
-"นี้จะแนบแฟ้มคำสั่งไปยังรายการหนึ่งครั้ง\n"
-"สำหรับแฟ้มแต่ละแฟ้ม %f จะขยายไปยังชื่อของแฟ้ม"
+msgid "This will be attached to the command line once\nfor each input file. %f expands to the filename."
+msgstr "นี้จะแนบแฟ้มคำสั่งไปยังรายการหนึ่งครั้ง\nสำหรับแฟ้มแต่ละแฟ้ม %f จะขยายไปยังชื่อของแฟ้ม"
msgid "Source code charset:"
msgstr "รหัสอักขระดั้งเดิม:"
#, c-format
-msgid ""
-"This will be attached to the command line\n"
-"only if source codecharset was given. %c expands to charset value."
-msgstr ""
-"นี้จะแนบแฟ้มคำสั่งของรายการ\n"
-"เมื่อรหัสชุดอักขระถูกมให้มาเท่านั้น %c จะขยายไปยังค่าของชุดอักขระ"
+msgid "This will be attached to the command line\nonly if source codecharset was given. %c expands to charset value."
+msgstr "นี้จะแนบแฟ้มคำสั่งของรายการ\nเมื่อรหัสชุดอักขระถูกมให้มาเท่านั้น %c จะขยายไปยังค่าของชุดอักขระ"
msgid "Catalog properties"
msgstr ""
+msgid "Project name and version:"
+msgstr "ชื่อและรุ่นของโครงการ:"
+
msgid "Plural Forms:"
msgstr "แบบพหูพจน์:"
@@ -1399,6 +1678,15 @@ msgstr ""
msgid "Learn about plural forms"
msgstr ""
+msgid "Charset:"
+msgstr "รูปแบบอักขระ:"
+
+msgid "Team:"
+msgstr "ทีม:"
+
+msgid "Team's email address:"
+msgstr "ที่อยู่อีเมลของทีมงาน:"
+
msgid "Translation properties"
msgstr ""
@@ -1411,9 +1699,7 @@ msgstr "ส่วนฐาน:"
msgid "Sources paths"
msgstr ""
-msgid ""
-"Use these keywords (function names) to recognize translatable strings\n"
-"in source files:"
+msgid "Use these keywords (function names) to recognize translatable strings\nin source files:"
msgstr ""
msgid "Learn about gettext keywords"
@@ -1425,22 +1711,14 @@ msgstr ""
msgid "Update summary"
msgstr "ปรับปรุงผลลัพธ์"
-msgid ""
-"These strings were found in the sources but were not in the catalog.\n"
-"Poedit will add them to the catalog now."
-msgstr ""
-"ข้อมูลพบในรายการดั้งเดิมแต่ไปได้อยู่ในรายการ\n"
-"Poedit จะเพิ่มแฟ้มไปยังรายการเดี๋ยวนี้"
+msgid "These strings were found in the sources but were not in the catalog.\nPoedit will add them to the catalog now."
+msgstr "ข้อมูลพบในรายการดั้งเดิมแต่ไปได้อยู่ในรายการ\nPoedit จะเพิ่มแฟ้มไปยังรายการเดี๋ยวนี้"
msgid "New strings"
-msgstr "ข้อมูลใหม่"
+msgstr "สตริงใหม่"
-msgid ""
-"These strings are no longer in the sources.\n"
-"Poedit will remove them from the catalog now."
-msgstr ""
-"ข้อมูลที่ไม่ได้อยู่ในรายการดั้งเดิมนี้อีกต่อไป\n"
-"Poedit จะเอาแฟ้มออกจากรายการเดี๋ยวนี้"
+msgid "These strings are no longer in the sources.\nPoedit will remove them from the catalog now."
+msgstr "ข้อมูลที่ไม่ได้อยู่ในรายการดั้งเดิมนี้อีกต่อไป\nPoedit จะเอาแฟ้มออกจากรายการเดี๋ยวนี้"
msgid "Obsolete strings"
msgstr "ข้อมูลโดยแท้"
@@ -1452,7 +1730,7 @@ msgid "Open"
msgstr "เปิด"
msgid "Save catalog"
-msgstr "บันทึกรายการ"
+msgstr "บันทึกแค็ตตาล็อก"
msgid "Validate"
msgstr "ตรวจสอบ"
@@ -1460,8 +1738,14 @@ msgstr "ตรวจสอบ"
msgid "Check for errors in the translation"
msgstr ""
+msgid "Statistics"
+msgstr ""
+
+msgid "Show translation statistics"
+msgstr ""
+
msgid "Update"
-msgstr "ปรับปรุง"
+msgstr "อัพเดท"
msgid "Update catalog - synchronize it with sources"
msgstr "ปรับปรุงรายการ - เชื่อมต่อกับแฟ้มดั้งเดิม"
@@ -1469,16 +1753,20 @@ msgstr "ปรับปรุงรายการ - เชื่อมต่อ
msgid "Toggled if selected string has fuzzy translation"
msgstr "เลือกถ้าข้อมูลที่เลือกเป็นการแปลที่ไมชัดเจน"
-msgid "Show or hide the sidebar."
+msgid "Sidebar"
+msgstr ""
+
+msgid "Show or hide the sidebar"
msgstr ""
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
msgid "Previous source text:"
msgstr ""
-msgid ""
-"The old source text (before it changed during an update) that the fuzzy "
-"translation corresponds to."
+msgid "The old source text (before it changed during an update) that the fuzzy translation corresponds to."
+msgstr ""
+
+msgid "Notes for translators:"
msgstr ""
msgid "Add comment"
@@ -1487,6 +1775,18 @@ msgstr ""
msgid "Add Comment"
msgstr ""
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(from your TM)"
+msgstr ""
+
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(machine translation)"
+msgstr ""
+
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(human translation)"
+msgstr ""
+
msgid "Translation suggestions:"
msgstr ""
@@ -1501,6 +1801,83 @@ msgstr ""
msgid "This string was found in Poedit’s translation memory."
msgstr ""
+msgid "This suggestion was contributed by another translator to the online TM."
+msgstr ""
+
+msgid "This suggestion was machine-translated online."
+msgstr ""
+
+#, c-format
+msgid "%d out of %d online suggestion left."
+msgid_plural "%d out of %d online suggestions left."
+msgstr[0] ""
+
+msgid "Remove this limitation"
+msgstr ""
+
+msgid "Not showing additional online suggestions."
+msgstr ""
+
+msgid "Unlock online suggestions"
+msgstr ""
+
+msgid "Exceeded online TM daily limit."
+msgstr ""
+
+msgid "Connect to the Internet to get additional suggestions."
+msgstr ""
+
+#. TRANSLATORS: Label indicating that translations made in the current file are contributed to the online translation memory. Related to the "Contribute my translations to the online TM" string.
+msgid "Contributing"
+msgstr ""
+
+msgid "Your translations are contributed to the online translation memory as you make them. Thanks for making the suggestions better!"
+msgstr ""
+
+#. TRANSLATORS: Label indicating that the current file
+msgid "Private"
+msgstr ""
+
+msgid "Translations from this file are not shared with the online translation memory."
+msgstr ""
+
+msgid "Privacy settings"
+msgstr ""
+
+#, c-format
+msgid "While editing the file “%s”:"
+msgstr ""
+
+msgid "Items"
+msgstr ""
+
+msgid "Words"
+msgstr "คำ"
+
+msgid "Translated"
+msgstr ""
+
+msgid "Needs review (fuzzy)"
+msgstr ""
+
+msgid "Translations with errors"
+msgstr ""
+
+msgid "Source Text"
+msgstr ""
+
+msgid "Strings in source language"
+msgstr ""
+
+msgid "Not translated"
+msgstr ""
+
+msgid "Copy to clipboard"
+msgstr ""
+
+msgid "Copy to Clipboard"
+msgstr ""
+
#, c-format
msgid "(New: %i, obsolete: %i)"
msgstr ""
@@ -1522,9 +1899,7 @@ msgstr ""
msgid "Poedit needs to convert your translation memory to a new format."
msgstr ""
-msgid ""
-"This must be done before Poedit can start. It may take a few minutes if you "
-"have lots of translations stored, but should normally be much faster."
+msgid "This must be done before Poedit can start. It may take a few minutes if you have lots of translations stored, but should normally be much faster."
msgstr ""
msgid "Proceed"
@@ -1534,42 +1909,53 @@ msgid "Translation memory migration failed."
msgstr ""
#, c-format
-msgid ""
-"Your translation memory data couldn't be migrated. The error was:\n"
-"\n"
-"%s\n"
-"Please email help at poedit.net and we’ll get it fixed."
+msgid "Your translation memory data couldn't be migrated. The error was:\n\n%s\nPlease email help at poedit.net and we’ll get it fixed."
msgstr ""
msgid "Cannot create temporary directory."
msgstr ""
+msgid "Check theme or plugin compatibility"
+msgstr ""
+
msgid "Welcome to Poedit"
msgstr "ยินดีต้อนรับสู่ Poedit"
+msgid "Upgrade to Pro"
+msgstr ""
+
+msgid "Upgrade to Poedit Pro to get additional features and support Poedit's development."
+msgstr ""
+
msgid "Edit a translation"
msgstr ""
msgid "Open an existing PO file and edit the translation."
msgstr ""
-msgid "Create new translation"
+msgid "Take an existing PO file or POT template and create a new translation from it."
msgstr ""
-msgid ""
-"Take an existing PO file or POT template and create a new translation from "
-"it."
+msgid "Translate WordPress theme or plugin"
+msgstr ""
+
+#. TRANSLATORS: Please don't use any form of "automatically" in the translation, it would mislead people.
+msgid "Create a new translation. Poedit will set everything up; you can focus on translating."
+msgstr ""
+
+msgid "Collaborate on a translation with Crowdin"
+msgstr ""
+
+msgid "Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+
+msgid "What is Crowdin?"
msgstr ""
msgid "There are no translations. That’s unusual."
msgstr ""
-msgid ""
-"Translatable entries aren't added manually in the Gettext system, but are "
-"automatically extracted\n"
-"from source code. This way, they stay up to date and accurate.\n"
-"Translators typically use PO template files (POTs) prepared for them by the "
-"developer."
+msgid "Translatable entries aren't added manually in the Gettext system, but are automatically extracted\nfrom source code. This way, they stay up to date and accurate.\nTranslators typically use PO template files (POTs) prepared for them by the developer."
msgstr ""
msgid "(Learn more about GNU gettext)"
@@ -1584,8 +1970,7 @@ msgstr ""
msgid "Take translatable strings from an existing POT template."
msgstr ""
-msgid ""
-"You can also extract translatable strings directly from the source code:"
+msgid "You can also extract translatable strings directly from the source code:"
msgstr ""
msgid "Extract from sources"
@@ -1593,3 +1978,105 @@ msgstr "แตกไฟล์จากแหล่งข้อมูล"
msgid "Configure source code extraction in Properties."
msgstr "กำหนดค่าการแตกไฟล์โค้ดต้นฉบับในคุณสมบัติ"
+
+#, c-format
+msgid "Failed to read file '%s'."
+msgstr "ล้มเหลวในการอ่านไฟล์ '%s'"
+
+#, c-format
+msgid "Confused by ambiguous values of \"%s\" in %s."
+msgstr "สับสนค่าที่ไม่ชัดเจนของ \"%s\" ใน %s"
+
+#, c-format
+msgid "Couldn't detect POs location for \"%s\"."
+msgstr "ไม่สามารถที่จะตรวจหาตำแหน่งของ POs ได้สำหรับ \"%s\""
+
+#, c-format
+msgid "The \"%s\" theme isn't localization-ready."
+msgstr "ธีม \"%s\" ยังไม่พร้อมทีจะแปล"
+
+msgid "Confused: multiple main plugin files."
+msgstr "สับสน: มีไฟล์ปลั๊กอินหลักหลายรายการ"
+
+#, c-format
+msgid "The \"%s\" plugin isn't localization-ready."
+msgstr "ปลั๊กอิน \"%s\" ยังไม่พร้อมทีจะแปล"
+
+#, c-format
+msgid "Couldn't detect translation domain of the \"%s\" plugin."
+msgstr "ไม่สามารถที่จะตรวจหาโดเมนการแปลของปลั๊กอิน \"%s\" ได้"
+
+msgid "Found neither WordPress theme nor plugin in the folder."
+msgstr "ไม่พบธีมหรือปลั๊กอินของ WordPress ในโฟลเดอร์"
+
+#, c-format
+msgid "Translations folder (%s) doesn't exist."
+msgstr "ไม่มีโฟลเดอร์แปล (%s)"
+
+msgid "<big>Drag and drop <b>theme or plugin folder</b> here</big>\n\nor use the “Choose folder” button"
+msgstr ""
+
+msgid "<big>Drag and Drop <b>Theme or Plugin Folder</b> Here</big>\n\nor use the “Choose Folder” button"
+msgstr ""
+
+#, c-format
+msgid "Folder “%s”"
+msgstr ""
+
+msgid "Choose Folder..."
+msgstr ""
+
+msgid "Choose folder..."
+msgstr ""
+
+msgid "Create a new translation"
+msgstr ""
+
+msgid "Choose this if you want to translate the theme or plugin into your language."
+msgstr ""
+
+msgid "Create a POT"
+msgstr ""
+
+msgid "This option is for theme and plugin developers. Poedit will create an empty template (POT) that translations can be based on."
+msgstr ""
+
+msgid "Continue"
+msgstr ""
+
+msgid "Failed to extract WordPress information."
+msgstr "ล้มเหลวในการแตกไฟล์ข้อมูลของ WordPress"
+
+msgid "WordPress error"
+msgstr "ข้อผิดพลาดของ WordPress"
+
+#, c-format
+msgid "Poedit couldn’t understand the content of the folder you selected. This may be a problem with the plugin/theme or it may be Poedit being silly. The error is:\n\n • %s\n\nPlease email help at poedit.net and we’ll sort it out."
+msgstr "Poedit ไม่เข้าใจในเนื้อหาของโฟลเดอร์ที่คุณเลือก ซึ่งอาจจะเป็นปัญหาของปลั๊กอิน/ธีมหรือ Poedit อาจจะไม่เข้าใจเอง หากเกิดข้อผิดพลาด:\n\n • %s\n\nกรุณาส่งอีเมลไปที่ help at poedit.net แล้วเราจะคัดออก"
+
+#. TRANSLATORS: This is a button that sends an email to support when clicked
+msgid "Email support"
+msgstr "อีเมลของฝ่ายสนับสนุน"
+
+msgid "View log"
+msgstr "ดูไฟล์บันทึก"
+
+#. TRANSLATORS: This is a button that sends an email to support when clicked
+msgid "Email Support"
+msgstr "อีเมลของฝ่ายสนับสนุน"
+
+msgid "View Log"
+msgstr "ดูไฟล์บันทึก"
+
+msgid "WordPress Errors Log"
+msgstr "ไฟล์บันทึกข้อผิดพลาดของ WordPress"
+
+msgid "Please email this log to help at poedit.net. Thank you!"
+msgstr "กรุณาส่งไฟล์บันทึกนี้ไปที่ help at poedit.net ขอบคุณ!"
+
+msgid "Sync"
+msgstr ""
+
+msgid "Synchronize the translation with Crowdin"
+msgstr ""
+
diff --git a/locales/tr.mo b/locales/tr.mo
index a0335b1..f167213 100644
Binary files a/locales/tr.mo and b/locales/tr.mo differ
diff --git a/locales/tr.po b/locales/tr.po
index 0a712ac..298b16e 100644
--- a/locales/tr.po
+++ b/locales/tr.po
@@ -1,22 +1,55 @@
msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
-"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:34-0400\n"
+"Report-Msgid-Bugs-To: poedit at googlegroups.com\n"
+"POT-Creation-Date: 2015-05-11 08:48+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Turkish\n"
"Language: tr_TR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n\n"
"X-Generator: crowdin.com\n"
"X-Crowdin-Project: poedit\n"
"X-Crowdin-Language: tr\n"
"X-Crowdin-File: /locales/poedit.pot\n"
+#. TRANSLATORS: This is titlebar of about dialog, "%s" is application name
+#. ("Poedit" here, but please use "%s")
+#, c-format
+msgid "About %s"
+msgstr "%s Hakkında"
+
+#. TRANSLATORS: This is version information in about dialog, "%s" will be
+#. version number when used
+#, c-format
+msgid "Version %s"
+msgstr "Sürüm %s"
+
+msgid "Based on the open source version →"
+msgstr "Açık kaynaklı sürüme dayanır →"
+
+msgid "Acknowledgements"
+msgstr "Teşekkürler"
+
+msgid "Rate on the App Store"
+msgstr "App Store üzerinde değerlendirin"
+
+msgid "License Agreement"
+msgstr "Lisans Sözleşmesi"
+
+#, c-format
+msgid "Licensed to %s"
+msgstr "Lisans sahibi: %s"
+
+msgid "Purchased on the Mac App Store"
+msgstr "Mac App Store üzerinden satın alındı"
+
+msgid "Free version (please upgrade!)"
+msgstr "Ücretsiz sürüm (lütfen yükseltin!)"
+
msgid "Hide this notification message"
msgstr "Bu uyarı iletisini gizle"
@@ -40,59 +73,46 @@ msgstr "%d satırı, '%s' dosyasında bozulmuş (%s verisi geçerli değil)."
msgid "Malformed header: '%s'"
msgstr "Hatalı oluşturulmuş başlık: '%s'"
-msgid ""
-"Broken catalog file: singular form msgstr used together with msgid_plural"
-msgstr ""
-"Bozuk katalog dosyası: tekil biçim msgstr, msgid_plural ile birlikte "
-"kullanılmış"
+msgid "Broken catalog file: singular form msgstr used together with msgid_plural"
+msgstr "Bozuk katalog dosyası: tekil biçim msgstr, msgid_plural ile birlikte kullanılmış"
msgid "Broken catalog file: plural form msgstr used without msgid_plural"
-msgstr ""
-"Bozuk katalog dosyası: çoğul biçim msgstr, msgid_plural olmadan kullanılmış"
+msgstr "Bozuk katalog dosyası: çoğul biçim msgstr, msgid_plural olmadan kullanılmış"
-msgid ""
-"There were errors when loading the catalog. Some data may be missing or "
-"corrupted as the result."
-msgstr ""
-"Katalog yüklenirken hatalar oldu. Bazı veriler sonuçta kayıp veya bozuk "
-"olabilir."
+msgid "There were errors when loading the catalog. Some data may be missing or corrupted as the result."
+msgstr "Katalog yüklenirken hatalar oldu. Bazı veriler sonuçta kayıp veya bozuk olabilir."
#, c-format
msgid "Couldn't load file %s, it is probably corrupted."
msgstr "%s dosyası yüklenemedi, muhtemelen bozuk."
#, c-format
-msgid ""
-"File '%s' is read-only and cannot be saved.\n"
-"Please save it under different name."
-msgstr ""
-"'%s' dosyası salt-okunur ve kaydedilemez.\n"
-"Lütfen farklı bir isim altında kaydedin."
+msgid "File '%s' is read-only and cannot be saved.\nPlease save it under different name."
+msgstr "'%s' dosyası salt-okunur ve kaydedilemez.\nLütfen farklı bir isim altında kaydedin."
#, c-format
msgid "Couldn't save file %s."
msgstr "%s dosyası kaydedilemedi."
-msgid ""
-"There was a problem formatting the file nicely (but it was saved all right)."
-msgstr ""
-"Dosyayı güzelce biçimlendirmede bir sorun oldu (ama sorunsuz kaydedildi)."
+msgid "There was a problem formatting the file nicely (but it was saved all right)."
+msgstr "Dosyayı güzelce biçimlendirmede bir sorun oldu (ama sorunsuz kaydedildi)."
#, c-format
-msgid ""
-"The catalog couldn't be saved in '%s' charset as specified in catalog "
-"settings.\n"
-"\n"
-"It was saved in UTF-8 instead and the setting was modified accordingly."
-msgstr ""
-"Katalog, katalog ayarlarında belirtildiği gibi '%s' karakter kümesine "
-"kaydedilemedi.\n"
-"\n"
-"Bunun yerine UTF-8 olarak kaydedildi ve ayar buna göre değiştirildi."
+msgid "The catalog couldn't be saved in '%s' charset as specified in catalog settings.\n\nIt was saved in UTF-8 instead and the setting was modified accordingly."
+msgstr "Katalog, katalog ayarlarında belirtildiği gibi '%s' karakter kümesine kaydedilemedi.\n\nBunun yerine UTF-8 olarak kaydedildi ve ayar buna göre değiştirildi."
msgid "Error saving catalog"
msgstr "Katalog kaydedilirken hata"
+msgid "PO Translation Files"
+msgstr "PO Çeviri Dosyaları"
+
+msgid "POT Translation Templates"
+msgstr "POT Çeviri Şablonları"
+
+msgid "All Translation Files"
+msgstr "Tüm Çeviri Dosyaları"
+
msgid "Merging differences..."
msgstr "Farklılıklar birleştiriliyor..."
@@ -110,8 +130,82 @@ msgid "Language selection"
msgstr "Dil seçimi"
msgid "You must restart Poedit for this change to take effect."
-msgstr ""
-"Bu değişikliğin etkili olması için Poedit'i yeniden başlatmak zorundasınız."
+msgstr "Bu değişikliğin etkili olması için Poedit'i yeniden başlatmak zorundasınız."
+
+msgid "Downloading translations is disabled in this project."
+msgstr "Bu projede çevirileri indirmek etkisizleştirildi."
+
+msgid "Not authorized, please sign in again."
+msgstr "Yetkiniz yok, lütfen tekrar giriş yapın."
+
+msgid "Sign in to Crowdin"
+msgstr "Crowdin'e giriş yapın"
+
+msgid "Crowdin is an online localization management platform and collaborative translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr "Crowdin bir çevrimiçi yerelleştirme yönetimi platformu ve işbirliğine dayalı bir çeviri aracıdır. Poedit sorunsuz olarak Crowdin'de yönetilen PO dosyalarını eşitleyebilir."
+
+msgid "Sign In"
+msgstr "Giriş Yap"
+
+msgid "Sign in"
+msgstr "Giriş yap"
+
+msgid "Sign Out"
+msgstr "Çıkış Yap"
+
+msgid "Sign out"
+msgstr "Çıkış yap"
+
+msgid "Waiting for authentication…"
+msgstr "Kimlik doğrulaması için bekleniyor…"
+
+msgid "Updating user information…"
+msgstr "Kullanıcı bilgileri güncelleniyor…"
+
+msgid "Signed in as:"
+msgstr "Giriş yapan:"
+
+msgid "Learn More About Crowdin"
+msgstr "Crowdin Hakkında Bilgi Edinin"
+
+msgid "Learn more about Crowdin"
+msgstr "Crowdin hakkında bilgi edinin"
+
+msgid "Open Crowdin translation"
+msgstr "Crowdin çevirisini aç"
+
+msgid "Project:"
+msgstr "Proje:"
+
+msgid "Language:"
+msgstr "Dil:"
+
+msgid "File:"
+msgstr "Dosya:"
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr "Crowdin hesabınızda listelenen hiç çeviri projesi yok."
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr "Bu proje, Poedit içinde çevrilebilir hiç bir dosyaya sahip değil."
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr "Bu dosya sadece Crowdin'in web arayüzünde düzenlenebilir."
+
+msgid "Downloading latest translations…"
+msgstr "En son çeviriler indiriliyor…"
+
+msgid "Syncing with Crowdin"
+msgstr "Crowdin ile eşitleniyor"
+
+msgid "Syncing with Crowdin failed."
+msgstr "Crowdin ile eşitleme başarısız oldu."
+
+msgid "Crowdin error"
+msgstr "Crowdin hatası"
+
+msgid "Uploading translations…"
+msgstr "Çeviriler gönderiliyor…"
msgid "&Copy"
msgstr "K&opyala"
@@ -140,25 +234,43 @@ msgstr "%s dosya ayrıştırılıyor..."
msgid "Failed to load extracted catalog."
msgstr "Çıkartılan kataloğu yükleme başarısız."
+#, c-format
+msgid "Failed to extract WordPress metadata from file %s."
+msgstr "%s dosyasından WordPress üstverisini çıkartma başarısız."
+
msgid "&Help"
msgstr "&Yardım"
+msgid "Beta expired"
+msgstr "Beta süresi doldu"
+
+msgid "This beta version of Poedit expired."
+msgstr "Poedit'in bu beta sürümü süresi doldu."
+
+msgid "Please download a newer version from the Poedit website at http://poedit.net/download"
+msgstr "Lütfen http://poedit.net/download adresindeki Poedit web sitesinden daha yeni bir sürümü indirin"
+
+msgid "Download"
+msgstr "İndir"
+
+msgid "Quit"
+msgstr "Çık"
+
msgid "MO files can’t be directly edited in Poedit."
msgstr "MO dosyaları doğrudan Poedit içinde düzenlenemez."
msgid "Error opening file"
msgstr "Dosya açılırken hata oldu"
-msgid ""
-"Please open and edit the corresponding PO file instead. When you save it, "
-"the MO file will be updated as well."
-msgstr ""
-"Lütfen bunun yerine ilgili PO dosyasını açın ve düzenleyin. Kaydettiğiniz "
-"zaman, MO dosyası da güncellenecektir."
+msgid "Please open and edit the corresponding PO file instead. When you save it, the MO file will be updated as well."
+msgstr "Lütfen bunun yerine ilgili PO dosyasını açın ve düzenleyin. Kaydettiğiniz zaman, MO dosyası da güncellenecektir."
msgid "don't delete temporary files (for debugging)"
msgstr "geçici dosyaları silme (hata ayıklama için)"
+msgid "handle a poedit:// URI"
+msgstr "Bir poedit:// URI'si kullan"
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr "Beklenmeyen bir hata oluştu: %s"
@@ -169,39 +281,24 @@ msgstr "Beklenmeyen bir hata oluştu."
msgid "Open catalog"
msgstr "Kataloğu aç"
-msgid "All Files"
-msgstr "Tüm Dosyalar"
-
-msgid "PO Translation Files"
-msgstr "PO Çeviri Dosyaları"
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "'%s' dosyası yok."
-#. TRANSLATORS: This is titlebar of about dialog, "%s" is application name
-#. ("Poedit" here, but please use "%s")
-#, c-format
-msgid "About %s"
-msgstr "%s Hakkında"
-
-#. TRANSLATORS: This is version information in about dialog, "%s" will be
-#. version number when used
-#, c-format
-msgid "Version %s"
-msgstr "Sürüm %s"
-
msgid "Poedit is an easy to use translations editor."
msgstr "Poedit kollanımı kolay bir çeviri düzenleyicisidir."
msgid "Catalogs Manager"
msgstr "Katalog Yöneticisi"
+msgid "License..."
+msgstr "Lisans..."
+
msgid "Check for Updates..."
msgstr "Güncellemeleri Kontrol Et..."
msgid "&Edit"
-msgstr "Düz&enleyin"
+msgstr "Düz&en"
msgid "Undo"
msgstr "Geri al"
@@ -278,6 +375,15 @@ msgstr "Konuşmayı Bırakın"
msgid "&View"
msgstr "&Görünüm"
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
+msgid "Show Toolbar"
+msgstr "Araç çubuğunu göster"
+
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
+msgid "Customize Toolbar…"
+msgstr "Araç Çubuğunu özelleştir…"
+
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
msgid "Enter Full Screen"
msgstr "Tam Ekran Girin"
@@ -293,17 +399,27 @@ msgstr "Yakınlaştır"
msgid "Bring All to Front"
msgstr "Tümünü Öne Getir"
+#. TRANSLATORS:File kind displayed in Finder/Explorer
msgid "PO Translation"
msgstr "PO Çeviri"
+msgid "Invalid license data."
+msgstr "Geçersiz lisans verisi."
+
+msgid "Poedit"
+msgstr "Poedit"
+
+#, c-format
+msgid "The link doesn't contain valid Poedit license. Try entering it manually or contact support at help at poedit.net.\n\n(%s)"
+msgstr "Bağlantı geçerli bir Poedit lisansı içermiyor. Lütfen el ile girin ya da help at poedit.net adresinden destekle irtibata geçin.\n\n(%s)"
+
msgid "The file cannot be opened."
msgstr "Dosya açılamaz."
msgid "Invalid file"
msgstr "Geçersiz dosya"
-msgid ""
-"The file may be either corrupted or in a format not recognized by Poedit."
+msgid "The file may be either corrupted or in a format not recognized by Poedit."
msgstr "Dosya ya bozulmuş ya da biçimi Poedit tarafından tanınamıyor."
msgid "&Undo"
@@ -381,9 +497,6 @@ msgstr "Poedit penceresine birden fazla dosyayı sürükleyip bırakamazsınız.
msgid "File '%s' is not a message catalog."
msgstr "'%s' dosyası bir ileti kataloğu değil."
-msgid "Poedit"
-msgstr "Poedit"
-
msgid "&File"
msgstr "&Dosya"
@@ -402,12 +515,20 @@ msgstr "Çoğul:"
msgid "Translation:"
msgstr "Çeviri:"
+msgid "POT files are only templates and don’t contain any translations themselves.\nTo make a translation, create a new PO file based on the template."
+msgstr "POT dosyaları sadece şablonlardır ve kendiliğinden herhangi bir çeviri içermezler.\nBir çeviri yapmak için şablonu temel alan yeni bir PO dosyası oluşturun."
+
+msgid "Create New Translation"
+msgstr "Yeni Çeviri Oluştur"
+
+msgid "Create new translation"
+msgstr "Yeni çeviri oluştur"
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
#, c-format
-msgid ""
-"Spellchecking is disabled, because the dictionary for %s isn’t installed."
+msgid "Spellchecking is disabled, because the dictionary for %s isn’t installed."
msgstr "Yazım denetimi etkisizleştirildi, çünkü %s için sözlük yüklü değil."
msgid "Install"
@@ -449,8 +570,30 @@ msgstr "HTML Dosyaları"
msgid "Open catalog template"
msgstr "Katalog şablonu aç"
-msgid "POT Translation Templates"
-msgstr "POT Çeviri Şablonları"
+msgid "WordPress"
+msgstr "WordPress"
+
+msgid "Analyzing WordPress code..."
+msgstr "WordPress kodu inceleniyor..."
+
+msgid "Select the folder with the WordPress theme or plugin"
+msgstr "WordPress temaası ya da eklentisinin bulunduğu klasörü seçin"
+
+#. TRANSLATORS: %s is name of a WordPress theme
+#, c-format
+msgid "The “%s” theme is compatible."
+msgstr "\"%s\" teması uyumlu."
+
+#. TRANSLATORS: %s is name of a WordPress plugin
+#, c-format
+msgid "The “%s” plugin is compatible."
+msgstr "\"%s\" eklentisi uyumlu."
+
+msgid "The theme is translation-ready and compatible with Poedit’s WordPress support."
+msgstr "Tema çevirisi hazır ve Poedit’in WordPress desteği ile uyumlu."
+
+msgid "The plugin is translation-ready and compatible with Poedit’s WordPress support."
+msgstr "Eklenti çevirisi hazır ve Poedit’in WordPress desteği ile uyumlu."
msgid "Updating catalog"
msgstr "Katalog güncelleniyor"
@@ -461,20 +604,14 @@ msgstr "Kaynak kodu mevcut değil."
msgid "Updating failed"
msgstr "Güncelleme başarısız oldu"
-msgid ""
-"Translations couldn’t be updated from the source code, because no code was "
-"found in the location specified in the catalog’s Properties."
-msgstr ""
-"Çeviriler kaynak kodundan güncellenemedi, çünkü kataloğun Özelliklerinde "
-"belirtilen konumda hiç kod bulunamadı."
+msgid "Translations couldn’t be updated from the source code, because no code was found in the location specified in the catalog’s Properties."
+msgstr "Çeviriler kaynak kodundan güncellenemedi, çünkü kataloğun Özelliklerinde belirtilen konumda hiç kod bulunamadı."
msgid "Entries in the catalog are probably incorrect."
msgstr "Katalogdaki girişler muhtemelen yanlış."
msgid "Updating the catalog failed. Click on 'Details >>' for details."
-msgstr ""
-"Kataloğu güncelleme başarısız. Ayrıntılar için 'Ayrıntılar >>' düğmesine "
-"tıklayın."
+msgstr "Kataloğu güncelleme başarısız. Ayrıntılar için 'Ayrıntılar >>' düğmesine tıklayın."
#, c-format
msgid "%d issue with the translation found."
@@ -485,35 +622,20 @@ msgstr[1] "Çeviride %d sorun bulundu."
msgid "Validation results"
msgstr "Doğrulama sonuçları"
-msgid ""
-"Entries with errors were marked in red in the list. Details of the error "
-"will be shown when you select such an entry."
-msgstr ""
-"Hatalı girişler listede kırmızı renkle işaretlendi. Hatanın ayrıntıları "
-"böyle bir girişi seçtiğinizde gösterilecektir."
+msgid "Entries with errors were marked in red in the list. Details of the error will be shown when you select such an entry."
+msgstr "Hatalı girişler listede kırmızı renkle işaretlendi. Hatanın ayrıntıları böyle bir girişi seçtiğinizde gösterilecektir."
msgid "The file was saved safely."
msgstr "Dosya güvenli bir şekilde kaydedildi."
-msgid ""
-"The file was saved safely and compiled into the MO format, but it will "
-"probably not work correctly."
-msgstr ""
-"Dosya güvenli bir şekilde kaydedildi ve MO biçiminde derlendi, ancak büyük "
-"olasılıkla doğru olarak çalışmayacak."
+msgid "The file was saved safely and compiled into the MO format, but it will probably not work correctly."
+msgstr "Dosya güvenli bir şekilde kaydedildi ve MO biçiminde derlendi, ancak büyük olasılıkla doğru olarak çalışmayacak."
-msgid ""
-"The file was saved safely, but it cannot be compiled into the MO format and "
-"used."
-msgstr ""
-"Dosya güvenli bir şekilde kaydedildi, ancak MO biçiminde derlenemez ve "
-"kullanılamaz."
+msgid "The file was saved safely, but it cannot be compiled into the MO format and used."
+msgstr "Dosya güvenli bir şekilde kaydedildi, ancak MO biçiminde derlenemez ve kullanılamaz."
-msgid ""
-"The file was compiled into the MO format, but it will probably not work "
-"correctly."
-msgstr ""
-"Dosya, MO biçiminde derlendi, ancak muhtemelen doğru olarak çalışmayacak."
+msgid "The file was compiled into the MO format, but it will probably not work correctly."
+msgstr "Dosya, MO biçiminde derlendi, ancak muhtemelen doğru olarak çalışmayacak."
msgid "The file cannot be compiled into the MO format and used."
msgstr "Dosya, MO biçiminde derlenemez ve kullanılamaz."
@@ -523,26 +645,41 @@ msgstr "Çeviri ile ilgili hiç sorun bulunmadı."
#, c-format
msgid "The translation is ready for use, but %d entry is not translated yet."
-msgid_plural ""
-"The translation is ready for use, but %d entries are not translated yet."
+msgid_plural "The translation is ready for use, but %d entries are not translated yet."
msgstr[0] "Çeviri kullanıma hazır, ancak henüz %d giriş çevrilmemiş."
msgstr[1] "Çeviri kullanıma hazır, ancak henüz %d giriş çevrilmemiş."
msgid "The translation is ready for use."
msgstr "Çeviri kullanıma hazır."
-msgid "No references to this string found."
-msgstr "Bu dizge için kaynaklar bulunamadı."
+msgid "Contributing translations improves the quality of online suggestions for everybody — the more people do it, the better the suggestions can be. Your translations are submitted anonymously and are available to other translators using Poedit or other CAT tools."
+msgstr "Çevirilere katkıda bulunmak herkes için çevrimiçi öneri kalitesini artırır — bunu daha fazla insanın yapması, önerileri daha iyi yapabilir. Çevirileriniz isimsiz olarak gönderilir ve Poedit ya da diğer CAT araçlarını kullanmak diğer çevirmenler için mevcuttur."
+
+msgid "Can Poedit contribute your translations of this file to the online translation memory?"
+msgstr "Poedit bu dosyanın çevirilerini çevrimiçi çeviri belleğine katabilir mi?"
-msgid "Please choose the reference you want to show:"
-msgstr "Lütfen görüntülenmesini istediğiniz kaynağı seçin:"
+msgid "Apply to all files I edit"
+msgstr "Düzenlediğim tüm dosyalara uygula"
-msgid "References"
-msgstr "Kaynaklar"
+msgid "Contribute"
+msgstr "Katkıda bulun"
+
+msgid "Keep Private"
+msgstr "Gizli Tut"
+
+msgid "Keep private"
+msgstr "Gizli tut"
msgid "Context:"
msgstr "Bağlam:"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr "Poedit, “%s” dosyasındaki geçersiz içeriği otomatik olarak düzeltti."
+
+msgid "The file contained duplicate items, which is not allowed in PO files and would prevent the file from being used. Poedit fixed the issue, but you should review translations of any items marked as fuzzy and correct them if necessary."
+msgstr "Dosya, PO dosyalarında izin verilmeyen ve dosyanın kullanılmasını engelleyen kopya öğeleri içermekte. Poedit sorunu düzeltti, ancak belirsiz olarak işaretlenen her bir öğenin çevirisini gözden geçirmeli ve gerekirse düzeltmelisiniz."
+
msgid "Language of the translation isn't set."
msgstr "Çeviri dili ayarlanmamış."
@@ -552,19 +689,24 @@ msgstr "Dili ayarla"
msgid "Set language"
msgstr "Dili ayarla"
-msgid ""
-"This catalog has entries with plural forms, but doesn't have Plural-Forms "
-"header configured."
-msgstr ""
-"Bu katalogda çoğul biçimleri olan girişler var, ancak Çoğul-Biçimli başlık "
-"yapılandırılmamış."
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid "Suggestions are not available if the translation language is not set correctly. Other features, such as plural forms, may be affected as well."
+msgstr "Çeviri dili doğru olarak ayarlanmazsa, öneriler kullanılabilir olmaz. Çoğul biçimler gibi, diğer özellikler de etkilenebilir."
-msgid ""
-"Entries in this catalog have different plural forms count from what "
-"catalog's Plural-Forms header says"
-msgstr ""
-"Bu katalogdaki girişlerde, kataloğun Çoğul-Biçim başlığında belirtilen "
-"sayıdan farklı çoğul biçimler var"
+msgid "Language of the translation is the same as source language."
+msgstr "Çeviri dili kaynak dil ile aynı."
+
+msgid "Fix Language"
+msgstr "Dili Düzelt"
+
+msgid "Fix language"
+msgstr "Dili düzelt"
+
+msgid "This catalog has entries with plural forms, but doesn't have Plural-Forms header configured."
+msgstr "Bu katalogda çoğul biçimleri olan girişler var, ancak Çoğul-Biçimli başlık yapılandırılmamış."
+
+msgid "Entries in this catalog have different plural forms count from what catalog's Plural-Forms header says"
+msgstr "Bu katalogdaki girişlerde, kataloğun Çoğul-Biçim başlığında belirtilen sayıdan farklı çoğul biçimler var"
msgid "Required header Plural-Forms is missing."
msgstr "Gereken Çoğul-Biçin başlık bilgisi eksik."
@@ -586,6 +728,7 @@ msgstr "Başlığı düzelt"
msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr "Katalog tarafından %s için kullanılan çoğul biçim ifadesi alışılmadık."
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr "Gözden Geçir"
@@ -607,12 +750,22 @@ msgid_plural "%d errors"
msgstr[0] "%d hata"
msgstr[1] "%d hata"
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] "%d giriş"
+msgstr[1] "%d giriş"
+
msgid " (unsaved)"
msgstr " (kaydedilmedi)"
msgid " (modified)"
msgstr " (değiştirildi)"
+#, c-format
+msgid " (beta version expires %s)"
+msgstr " (beta sürümün sona erme süresi %s)"
+
msgid "Go"
msgstr "Git"
@@ -624,17 +777,10 @@ msgid "Purge deleted translations"
msgstr "Silinmiş çevirileri temizle"
msgid "Do you want to remove all translations that are no longer used?"
-msgstr ""
-"Artık kullanılmayan tüm çevirileri kaldırmak istediğinize emin misiniz?"
+msgstr "Artık kullanılmayan tüm çevirileri kaldırmak istediğinize emin misiniz?"
-msgid ""
-"If you continue with purging, all translations marked as deleted will be "
-"permanently removed. You will have to translate them again if they are added "
-"back in the future."
-msgstr ""
-"Temizleyerek devam ederseniz, silinmek üzere işaretlenmiş tüm çeviriler "
-"kalıcı olarak kaldırılacaktır. Gelecekte bunlar geri eklenirse, tekrar "
-"çevirmek zorunda kalacaksınız."
+msgid "If you continue with purging, all translations marked as deleted will be permanently removed. You will have to translate them again if they are added back in the future."
+msgstr "Temizleyerek devam ederseniz, silinmek üzere işaretlenmiş tüm çeviriler kalıcı olarak kaldırılacaktır. Gelecekte bunlar geri eklenirse, tekrar çevirmek zorunda kalacaksınız."
msgid "Keep"
msgstr "Tut"
@@ -648,24 +794,23 @@ msgstr "Eksik çevirileri Çeviri Belleğinden doldur"
msgid "Only fill in exact matches"
msgstr "Sadece tam eşleşmeleri doldur"
-msgid ""
-"By default, inaccurate results are filled in as well and marked as fuzzy. "
-"Check this option to only include accurate matches."
-msgstr ""
-"Varsayılan olarak, doğru olmayan sonuçlar da doldurulur ve belirsiz olarak "
-"işaretlenir. Sadece doğru eşleşmeleri dahil etmek için bu seçeneği "
-"işaretleyin."
+msgid "By default, inaccurate results are filled in as well and marked as fuzzy. Check this option to only include accurate matches."
+msgstr "Varsayılan olarak, doğru olmayan sonuçlar da doldurulur ve belirsiz olarak işaretlenir. Sadece doğru eşleşmeleri dahil etmek için bu seçeneği işaretleyin."
msgid "Don’t mark exact matches as fuzzy"
msgstr "Tam eşleşmeleri belirsiz olarak işaretleme"
-msgid ""
-"Only enable if you trust the quality of your TM. By default, all matches "
-"from the TM are marked as fuzzy and should be reviewed."
-msgstr ""
-"Sadece ÇB'nizin kalitesine güveniyorsanız etkinleştirin. Varsayılan olarak, "
-"ÇB'den olan tüm eşleşmeler belirsiz olarak işaretlenir ve gözden "
-"geçirilmelidir."
+msgid "Only enable if you trust the quality of your TM. By default, all matches from the TM are marked as fuzzy and should be reviewed."
+msgstr "Sadece ÇB'nizin kalitesine güveniyorsanız etkinleştirin. Varsayılan olarak, ÇB'den olan tüm eşleşmeler belirsiz olarak işaretlenir ve gözden geçirilmelidir."
+
+msgid "Use online suggestions"
+msgstr "Çevrimiçi önerileri kullan"
+
+msgid "Use online suggestions (experimental)"
+msgstr "Çevrimiçi önerileri kullan (deneysel)"
+
+msgid "Try to fetch translations from the online TM as well. Notice that the translations will not be perfect and will still need to be corrected by a human translator."
+msgstr "Çevirileri çevrimiçi ÇB'den almayı da deneyin. Çevirilerin kusursuz olmayağını ve hala bir insan çevirmen tarafından düzeltilmesi gerekeceğini unutmayın."
msgid "Fill"
msgstr "Doldur"
@@ -676,24 +821,14 @@ msgid_plural "%d entries were filled from the translation memory."
msgstr[0] "Çeviri belleği kullanılarak %d giriş dolduruldu."
msgstr[1] "Çeviri belleği kullanılarak %d giriş dolduruldu."
-msgid ""
-"The translations were marked as fuzzy, because they may be inaccurate. You "
-"should review them for correctness."
-msgstr ""
-"Çeviriler belirsiz olarak işaretlendi çünkü yanlış olabilirler. Doğruluğu "
-"için gözden geçirmelisiniz."
+msgid "The translations were marked as fuzzy, because they may be inaccurate. You should review them for correctness."
+msgstr "Çeviriler belirsiz olarak işaretlendi çünkü yanlış olabilirler. Doğruluğu için gözden geçirmelisiniz."
msgid "No entries could be filled from the translation memory."
msgstr "Çeviri belleği kullanılarak hiç giriş doldurulamadı."
-msgid ""
-"The TM doesn’t contain any strings similar to the content of this file. It "
-"is only effective for semi-automatic translations after Poedit learns enough "
-"from files that you translated manually."
-msgstr ""
-"Çeviri belleği bu dosyanın içeriğine uygun herhangi bir dizge içermiyor. El "
-"ile yaptığınız çeviriler Poedit tarafından yeterince öğrenildikten sonra "
-"yarı otomatik çeviriler etkili olur."
+msgid "The TM doesn’t contain any strings similar to the content of this file. It is only effective for semi-automatic translations after Poedit learns enough from files that you translated manually."
+msgstr "Çeviri belleği bu dosyanın içeriğine uygun herhangi bir dizge içermiyor. El ile yaptığınız çeviriler Poedit tarafından yeterince öğrenildikten sonra yarı otomatik çeviriler etkili olur."
msgid "Translating"
msgstr "Çevriliyor"
@@ -735,6 +870,9 @@ msgstr "Herşey"
msgid "Form %i"
msgstr "Biçim %i"
+msgid "Singular"
+msgstr "Tekil"
+
msgid "Zero"
msgstr "Sıfır"
@@ -744,6 +882,9 @@ msgstr "Bir"
msgid "Two"
msgstr "İki"
+msgid "Plural"
+msgstr "Çoğul"
+
msgid "Other"
msgstr "Diğer"
@@ -772,6 +913,12 @@ msgstr "Kenar çubuğunu gizle"
msgid "Show Sidebar"
msgstr "Kenar çubuğunu göster"
+msgid "Hide Status Bar"
+msgstr "Durum Çubuğunu Gizle"
+
+msgid "Show Status Bar"
+msgstr "Durum Çubuğunu Göster"
+
msgid "Source text"
msgstr "Kaynak metin"
@@ -781,6 +928,10 @@ msgstr "Çeviri"
msgid "ID"
msgstr "KİMLİK"
+#, c-format
+msgid "Source text — %s"
+msgstr "Kaynak metin — %s"
+
msgid "unknown language"
msgstr "bilinmeyen dil"
@@ -791,57 +942,73 @@ msgstr "Çeviri — %s"
msgid "Error:"
msgstr "Hata:"
-msgid "Project info"
-msgstr "Proje bilgisi"
+msgid "Source file"
+msgstr "Kaynak dosyası"
-msgid "Project name and version:"
-msgstr "Proje adı ve sürümü:"
+msgid "Source file occurrence:"
+msgstr "Kaynak dosya oluşumu:"
-msgid "Language:"
-msgstr "Dil:"
+msgid "Open in Editor"
+msgstr "Düzenleyicide Aç"
-msgid "Team:"
-msgstr "Ekip:"
+msgid "Open in editor"
+msgstr "Düzenleyicide aç"
-msgid "Team's email address:"
-msgstr "Ekibin e-posta adresi:"
+msgid "No references for the selected item."
+msgstr "Seçilen öğe için hiç kaynak yok."
-msgid "Charset:"
-msgstr "Karakter kümesi:"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "%s dosyası açılırken hata!"
-msgid "Source"
-msgstr "Kaynak"
+msgid "Find"
+msgstr "Bul"
-msgid "Notes"
-msgstr "Notlar"
+msgid "Replace"
+msgstr "Değiştir"
-msgid "Automatic translation"
-msgstr "Otomatik çeviri"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr "Seçenekler"
-msgid "Fuzzy translation"
-msgstr "Belirsiz çeviri"
+msgid "Ignore case"
+msgstr "Büyük küçük harfi yoksay"
-msgid "Notes for translators:"
-msgstr "Çevirmenler için notlar:"
+msgid "Wrap around"
+msgstr "Çevresinde kaydır"
-msgid "Comment:"
-msgstr "Açıklama:"
+msgid "Whole words only"
+msgstr "Sadece bütün kelime"
-msgid "Source file"
-msgstr "Kaynak dosyası"
+msgid "Find in source texts"
+msgstr "Kaynak metinlerde bul"
-msgid "Source file occurrence:"
-msgstr "Kaynak dosya oluşumu:"
+msgid "Find in translations"
+msgstr "Çevirilerde bul"
-msgid "Open in Editor"
-msgstr "Düzenleyicide Aç"
+msgid "Find in comments"
+msgstr "Açıklamalarda bul"
-msgid "Open in editor"
-msgstr "Düzenleyicide aç"
+msgid "Close"
+msgstr "Kapat"
-#, c-format
-msgid "Error opening file %s!"
-msgstr "%s dosyası açılırken hata!"
+msgid "Replace All"
+msgstr "Tümünü Değiştir"
+
+msgid "Replace all"
+msgstr "Tümünü değiştir"
+
+msgid "< &Previous"
+msgstr "< Ön&ceki"
+
+msgid "&Next >"
+msgstr "So&nraki >"
+
+msgid "String to find"
+msgstr "Bulunacak dizge"
+
+msgid "Replacement string"
+msgstr "Değiştirme dizgesi"
#, c-format
msgid "Cannot execute program: %s"
@@ -856,6 +1023,55 @@ msgstr "Çeviri Dili"
msgid "Language of the translation:"
msgstr "Çeviri dili:"
+msgid "Poedit Registration"
+msgstr "Poedit Kaydı"
+
+msgid "Name"
+msgstr "Ad"
+
+msgid "License Key"
+msgstr "Lisans Anahtarı"
+
+msgid "The registration key can be used on multiple computers you use personally or for multiple\naccounts on a single computer."
+msgstr "Kayıt anahtarı kişisel olarak kullandığınız bir kaç bilgisayarda ya da\nbir bilgisayar üzerindeki bir kaç farklı hesapta kullanılabilir."
+
+msgid "Buy Online..."
+msgstr "Çevrimiçi Satın Al..."
+
+msgid "Buy online..."
+msgstr "Çevrimiçi satın al..."
+
+msgid "Cancel"
+msgstr "İptal"
+
+msgid "Register"
+msgstr "Kaydettir"
+
+msgid "Your copy is upgraded to Poedit Pro."
+msgstr "Yazılımınız Poedit Pro sürümüne yükseltildi."
+
+msgid "You’re awesome! Thank you so much\nfor purchasing Poedit Pro."
+msgstr "Harikasınız! Poedit Pro'yu satın aldığınız\niçin çok teşekkür ederiz."
+
+msgid "View License Key"
+msgstr "Lisans Anahtarını Göster"
+
+msgid "View license key"
+msgstr "Lisans anahtarını göster"
+
+#, c-format
+msgid "Licensed to: %s"
+msgstr "Lisans sahibi: %s"
+
+msgid "Purchasing the full version will unlock more features\nin this and future versions of Poedit, including:\n\n"
+msgstr "Tam sürümü satın almak Poedit'in şimdiki ve gelecekteki sürümlerinde\nşunlar gibi daha fazla özelliğin kilidini açacak:\n\n"
+
+msgid "Upgrade..."
+msgstr "Yükselt..."
+
+msgid "No, thanks"
+msgstr "Hayır, teşekkürler"
+
msgid "Poedit - Catalogs manager"
msgstr "Poedit - Katalog yöneticisi"
@@ -892,12 +1108,8 @@ msgstr "Projeyi silmek istiyor musunuz?"
msgid "Confirmation"
msgstr "Onaylama"
-msgid ""
-"Do you really want to do mass update of\n"
-"all catalogs in this project?"
-msgstr ""
-"Bu projedeki tüm katalogları toplu güncellemeyi\n"
-"gerçekten istiyor musunuz?"
+msgid "Do you really want to do mass update of\nall catalogs in this project?"
+msgstr "Bu projedeki tüm katalogları toplu güncellemeyi\ngerçekten istiyor musunuz?"
msgid "Information about the translator"
msgstr "Çevirmen hakkında bilgi"
@@ -914,12 +1126,8 @@ msgstr "E-posta:"
msgid "your_email at example.com"
msgstr "epostaniz at ornek.com"
-msgid ""
-"Your name and email address are only used to set the Last-Translator header "
-"of GNU gettext files."
-msgstr ""
-"Adınız ve e-postanız sadece GNU gettext dosyalarının Last-Translator\n"
-"üstbilgisini ayarlamak için kullanılır."
+msgid "Your name and email address are only used to set the Last-Translator header of GNU gettext files."
+msgstr "Adınız ve e-postanız sadece GNU gettext dosyalarının Last-Translator\nüstbilgisini ayarlamak için kullanılır."
msgid "Editing"
msgstr "Düzenleme"
@@ -936,15 +1144,8 @@ msgstr "Yazım denetimi yap"
msgid "Always change focus to text input field"
msgstr "İmleç hep çeviri alanına odaklansın"
-msgid ""
-"Never let the list of strings take focus. If enabled, you must use Ctrl-"
-"arrows for keyboard navigation but you can also type text immediately, "
-"without having to press Tab to change focus."
-msgstr ""
-"Bu seçenek etkinleştirildiğinde, imleç asla dizge listesine odaklanmaz. "
-"Böylece odağı değiştirmek için sekme (Tab) tuşuna basmadan çeviriyi hemen "
-"yazabilirsiniz. Gezinmek için Ctrl-Aşağı/Yukarı ok tuşlarını "
-"kullanmalısınız. "
+msgid "Never let the list of strings take focus. If enabled, you must use Ctrl-arrows for keyboard navigation but you can also type text immediately, without having to press Tab to change focus."
+msgstr "Bu seçenek etkinleştirildiğinde, imleç asla dizge listesine odaklanmaz. Böylece odağı değiştirmek için sekme (Tab) tuşuna basmadan çeviriyi hemen yazabilirsiniz. Gezinmek için Ctrl-Aşağı/Yukarı ok tuşlarını kullanmalısınız. "
msgid "Appearance"
msgstr "Görünüm"
@@ -969,7 +1170,7 @@ msgid "Use translation memory"
msgstr "Çeviri belleğini kullan"
msgid "Learn From Files..."
-msgstr "Dosyalardan Öğrenilsin..."
+msgstr "Dosyalardan Öğren..."
msgid "Learn from files..."
msgstr "Dosyalardan öğren..."
@@ -981,16 +1182,30 @@ msgstr "Sıfırla"
msgid "Consult TM when updating from sources"
msgstr "Kaynaklardan güncellerken Çeviri Belleğine başvur"
-msgid ""
-"If enabled, Poedit will try to fill in new entries using your previous\n"
-"translations stored in the translation memory. If the TM is\n"
-"near-empty, it will not be very effective. The more translations\n"
-"you edit and the larger the TM grows, the better it gets."
-msgstr ""
-"Bu seçenek etkinleştirildiğinde, Yeni kayıtlar, çeviri belleğinde\n"
-"bulunan önceki çeviriler kullanılarak doldurulmaya çalışılır.\n"
-"Çeviri belleği neredeyse boş ise bu özellik pek etkili olmaz.\n"
-"Çeviri yaptıkça bu özelliğin etkisi de artar."
+msgid "If enabled, Poedit will try to fill in new entries using your previous\ntranslations stored in the translation memory. If the TM is\nnear-empty, it will not be very effective. The more translations\nyou edit and the larger the TM grows, the better it gets."
+msgstr "Bu seçenek etkinleştirildiğinde, Yeni kayıtlar, çeviri belleğinde\nbulunan önceki çeviriler kullanılarak doldurulmaya çalışılır.\nÇeviri belleği neredeyse boş ise bu özellik pek etkili olmaz.\nÇeviri yaptıkça bu özelliğin etkisi de artar."
+
+msgid "Use suggestions from online collaborative TM"
+msgstr "Çevrimiçi işbirliğine dayalı ÇB'den önerileri kullan"
+
+msgid "Poedit uses a large online translation memory that includes both contributed human translations and state-of-the-art machine translations."
+msgstr "Poedit, hem insanlardan gelen çevirileri hem de en gelişmiş makine çevirilerini içeren büyük bir çevrimiçi çeviri belleği kullanır."
+
+msgid "Contribute my translations to the online TM"
+msgstr "Çevirilerimi çevrimiçi Çeviri Belleğine kat"
+
+msgid "Keep my translations private"
+msgstr "Çevirilerimi gizli tut"
+
+msgid "Ask me for each file individually"
+msgstr "Tek tek her bir dosya için sor"
+
+msgid "Terms of Service"
+msgstr "Hizmet Koşulları"
+
+#. TRANSLATORS: This is part of footer that says in full "powered by MyMemory", with the MyMemory part being a logo
+msgid "powered by"
+msgstr "destekleyen"
msgid "Stored translations:"
msgstr "Saklanan çeviri:"
@@ -1016,15 +1231,8 @@ msgstr "Çeviri belleğini sıfırla"
msgid "Are you sure you want to reset the translation memory?"
msgstr "Çeviri belleğini sıfırlamak istediğinize emin misiniz?"
-msgid ""
-"Resetting the translation memory will irrevocably delete all stored "
-"translations from it. You can’t undo this operation."
-msgstr ""
-"Çeviri belleğini sıfırlama tüm saklanan çevirileri geri dönülmez bir şekilde "
-"bundan silecek. Bu işlemi geri alamazsınız."
-
-msgid "Cancel"
-msgstr "İptal"
+msgid "Resetting the translation memory will irrevocably delete all stored translations from it. You can’t undo this operation."
+msgstr "Çeviri belleğini sıfırlama tüm saklanan çevirileri geri dönülmez bir şekilde bundan silecek. Bu işlemi geri alamazsınız."
#. TRANSLATORS: This is abbreviation of "Translation Memory" used in Preferences on OS X.
#. Long text looks weird there, too short (like TM) too, but less so. "General" is about ideal
@@ -1032,12 +1240,8 @@ msgstr "İptal"
msgid "TM"
msgstr "ÇBelleği"
-msgid ""
-"Source code extractors are used to find translatable strings in the source "
-"code files and extract them so that they can be translated."
-msgstr ""
-"Kaynak kodu çıkarıcıları kaynak kodu dosyalarında çevrilebilir dizgeleri "
-"bulmak ve onları çıkarmak için kullanılır böylece çevrilebilirler."
+msgid "Source code extractors are used to find translatable strings in the source code files and extract them so that they can be translated."
+msgstr "Kaynak kodu çıkarıcıları kaynak kodu dosyalarında çevrilebilir dizgeleri bulmak ve onları çıkarmak için kullanılır böylece çevrilebilirler."
msgid "New"
msgstr "Yeni"
@@ -1045,31 +1249,33 @@ msgstr "Yeni"
msgid "Edit"
msgstr "Düzenle"
+msgid "Delete extractor"
+msgstr "Çıkartıcıyı sil"
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr "\"%s\" çıkartıcısını silmek istediğinize emin misiniz?"
+
msgid "Extractors"
msgstr "Çıkarıcılar"
+msgid "Accounts"
+msgstr "Hesaplar"
+
msgid "Automatically check for updates"
msgstr "Güncellemeleri otomatik olarak kontrol et"
msgid "Include beta versions"
msgstr "Beta sürümleri dahil et"
-msgid ""
-"Beta versions contain the latest new features and improvements, but may be a "
-"bit less stable."
-msgstr ""
-"Beta sürümleri en son yeni özellikleri ve geliştirmeleri içerir, ancak daha "
-"az istikrarlı olabilirler."
+msgid "Beta versions contain the latest new features and improvements, but may be a bit less stable."
+msgstr "Beta sürümleri en son yeni özellikleri ve geliştirmeleri içerir, ancak daha az istikrarlı olabilirler."
msgid "Updates"
msgstr "Güncellemeler"
-msgid ""
-"These settings affect internal formatting of PO files. Adjust them if you "
-"have specific requirements e.g. because of version control."
-msgstr ""
-"Bu ayarlar, PO dosyalarının iç biçimlendirmesini etkiler. Örneğin sürüm "
-"denetimi nedeniyle özel gereksinimleriniz varsa, bunları ayarlayın."
+msgid "These settings affect internal formatting of PO files. Adjust them if you have specific requirements e.g. because of version control."
+msgstr "Bu ayarlar, PO dosyalarının iç biçimlendirmesini etkiler. Örneğin sürüm denetimi nedeniyle özel gereksinimleriniz varsa, bunları ayarlayın."
msgid "Line endings:"
msgstr "Satır sonları:"
@@ -1082,7 +1288,7 @@ msgstr "Windows"
#. TRANSLATORS: Followed by text control for entering number; wraps text at given width
msgid "Wrap at:"
-msgstr "Kaydırma yönü:"
+msgstr "Kaydırma yeri:"
msgid "Preserve formatting of existing files"
msgstr "Varolan dosyaların biçimini koru"
@@ -1090,6 +1296,30 @@ msgstr "Varolan dosyaların biçimini koru"
msgid "Advanced"
msgstr "Gelişmiş"
+msgid "Add Files..."
+msgstr "Dosyaları Ekle..."
+
+msgid "Add files..."
+msgstr "Dosyaları ekle..."
+
+msgid "Add Folders..."
+msgstr "Klasörleri Ekle..."
+
+msgid "Add folders..."
+msgstr "Klasörleri ekle..."
+
+msgid "Add Wildcard..."
+msgstr "Joker Karakter Ekle..."
+
+msgid "Add wildcard..."
+msgstr "Joker karakter ekle..."
+
+msgid "<big>Drag and Drop Folders Here</big>\n\nor use the + button"
+msgstr "<big>Klasörleri Buraya Sürükleyin ve Bırakın</big>\n\nya da + düğmesini kullanın"
+
+msgid "<big>Drag and drop folders here</big>\n\nor use the + button"
+msgstr "<big>Klasörleri buraya sürükleyin ve bırakın</big>\n\nya da + düğmesini kullanın"
+
msgid "Additional keywords"
msgstr "Ek anahtar kelimeler"
@@ -1111,6 +1341,9 @@ msgstr "UTF-8 (önerilir)"
msgid "Please save the file first. This section cannot be edited until then."
msgstr "Lütfen önce dosyayı kaydedin. O zamana kadar bu bölüm düzenlenemez."
+msgid "Comment:"
+msgstr "Açıklama:"
+
msgid "OK"
msgstr "TAMAM"
@@ -1120,42 +1353,6 @@ msgstr "&Temizle"
msgid "Clear the comment"
msgstr "Açıklamayı temizle"
-msgid "Find..."
-msgstr "Bul..."
-
-msgid "String to find:"
-msgstr "Bulunacak dizge:"
-
-msgid "Case sensitive"
-msgstr "BÜYÜK/küçük harfe duyarlı"
-
-msgid "Start from the first item"
-msgstr "İlk öğeden başlat"
-
-msgid "Whole words only"
-msgstr "Sadece bütün kelime"
-
-msgid "Find in original strings"
-msgstr "Özgün dizgelerde bul"
-
-msgid "Find in translations"
-msgstr "Çevirilerde bul"
-
-msgid "Find in comments"
-msgstr "Açıklamalarda bul"
-
-msgid "Find in automatic comments"
-msgstr "Otomatik açıklamalarda bul"
-
-msgid "Close"
-msgstr "Kapat"
-
-msgid "< &Previous"
-msgstr "< Ön&ceki"
-
-msgid "&Next >"
-msgstr "So&nraki >"
-
msgid "Create new translations project"
msgstr "Yeni çeviri projesi oluştur"
@@ -1192,9 +1389,6 @@ msgstr "&Kapat"
msgid "E&xit"
msgstr "Çı&kış"
-msgid "Quit"
-msgstr "Çık"
-
msgid "&New..."
msgstr "&Yeni..."
@@ -1204,12 +1398,24 @@ msgstr "&POT/PO dosyasından oluştur..."
msgid "New From &POT/PO File..."
msgstr "&POT/PO Dosyasından Oluştur..."
+msgid "New WordPress translation..."
+msgstr "Yeni WordPress çevirisi..."
+
+msgid "New WordPress Translation..."
+msgstr "Yeni WordPress Çevirisi..."
+
msgid "&Open..."
msgstr "&Aç..."
msgid "Open Recent"
msgstr "Son Kullanılanları Açın"
+msgid "Open from Crowdin..."
+msgstr "Crowdin'den aç..."
+
+msgid "Open From Crowdin..."
+msgstr "Crowdin'den Aç..."
+
msgid "&Save"
msgstr "Kay&det"
@@ -1223,10 +1429,13 @@ msgid "Compile to MO..."
msgstr "MO olarak derle..."
msgid "E&xport as HTML..."
-msgstr "HTML olarak &verin..."
+msgstr "HTML olarak &dışa aktar..."
msgid "Check for updates..."
-msgstr "Güncellemeleri denetleyin..."
+msgstr "Güncellemeleri kontrol et..."
+
+msgid "&License..."
+msgstr "&Lisans..."
msgid "Catalogs &manager"
msgstr "&Katalog yöneticisi"
@@ -1258,14 +1467,17 @@ msgstr "Referansları Gö&ster"
msgid "&Find..."
msgstr "B&ul..."
+msgid "Replace..."
+msgstr "Değiştir..."
+
msgid "Find next"
msgstr "Sonrakini bul"
msgid "Find previous"
msgstr "Öncekini bul"
-msgid "Find"
-msgstr "Bul"
+msgid "Find and Replace..."
+msgstr "Bul ve Değiştir..."
msgid "Find Next"
msgstr "Sonrakini Bul"
@@ -1306,6 +1518,12 @@ msgstr "Bağlama göre &grupla"
msgid "&Group By Context"
msgstr "Bağlama Göre &Grupla"
+msgid "Entries with errors first"
+msgstr "Önce hataları olan girişler"
+
+msgid "Entries with Errors First"
+msgstr "Önce Hataları olan Girişler"
+
msgid "&Untranslated entries first"
msgstr "Ç&evrilmemiş dizgeler en üstte görüntülensin"
@@ -1315,6 +1533,9 @@ msgstr "Ç&evrilmemiş Dizgeler En Üstte Görüntülensin"
msgid "Show sidebar"
msgstr "Kenar çubuğunu göster"
+msgid "Show status bar"
+msgstr "Durum çubuğunu göster"
+
msgid "C&atalog"
msgstr "&Katalog"
@@ -1330,6 +1551,9 @@ msgstr "&POT dosyasından güncelle..."
msgid "Update from &POT File..."
msgstr "&POT Dosyasından Güncelle..."
+msgid "Sync with Crowdin"
+msgstr "Crowdin ile eşitle"
+
msgid "Fill missing translations from &TM..."
msgstr "Eksik çevirileri çeviri belleğinden &doldur..."
@@ -1348,6 +1572,9 @@ msgstr "Çevirileri &doğrula"
msgid "&Validate Translations"
msgstr "Çevirileri &Doğrula"
+msgid "&Statistics"
+msgstr "İ&statistikler"
+
msgid "&Properties..."
msgstr "Ö&zellikler..."
@@ -1393,6 +1620,12 @@ msgstr "&GNU gettext kılavuzu"
msgid "&GNU gettext Manual"
msgstr "&GNU gettext Kılavuzu"
+msgid "Email &support..."
+msgstr "E-po&sta desteği..."
+
+msgid "Email &Support..."
+msgstr "E-po&sta Desteği..."
+
msgid "&About Poedit"
msgstr "PoEdit H&akkında"
@@ -1411,53 +1644,35 @@ msgstr "Çağrı:"
msgid "Command to extract translations:"
msgstr "Çevirileri çıkarmak için komut:"
-msgid ""
-"This is the command used to launch the extractor.\n"
-"%o expands to the name of output file, %K to list\n"
-"of keywords, %F to list of input files,\n"
-"%C to charset flag (see below)."
-msgstr ""
-"Bu, çıkarıcıyı çalıştırmak için kullanılan komuttur.\n"
-"%o çıktı dosyası adına, %K anahtar kelimelerin listesine,\n"
-"%F girdi dosyalarının listesine, %C karakter kümesi\n"
-"işaretine dönüşür (aşağıya bakınız)."
+msgid "This is the command used to launch the extractor.\n%o expands to the name of output file, %K to list\nof keywords, %F to list of input files,\n%C to charset flag (see below)."
+msgstr "Bu, çıkarıcıyı çalıştırmak için kullanılan komuttur.\n%o çıktı dosyası adına, %K anahtar kelimelerin listesine,\n%F girdi dosyalarının listesine, %C karakter kümesi\nişaretine dönüşür (aşağıya bakınız)."
msgid "An item in keywords list:"
msgstr "Anahtar kelimeleri listesindeki bir öğe:"
-msgid ""
-"This will be attached to the command line once\n"
-"for each keyword. %k expands to the keyword."
-msgstr ""
-"Bu, her anahtar kelime için bir kez komut satırına\n"
-"eklenecektir. %k anahtar kelimeyi yazar."
+msgid "This will be attached to the command line once\nfor each keyword. %k expands to the keyword."
+msgstr "Bu, her anahtar kelime için bir kez komut satırına\neklenecektir. %k anahtar kelimeyi yazar."
msgid "An item in input files list:"
msgstr "Girdi dosyaları listesindeki bir öğe:"
#, c-format
-msgid ""
-"This will be attached to the command line once\n"
-"for each input file. %f expands to the filename."
-msgstr ""
-"Bu, her girdi dosyası için bir kez komut satırına\n"
-"eklenecektir. %f dosya adını yazar."
+msgid "This will be attached to the command line once\nfor each input file. %f expands to the filename."
+msgstr "Bu, her girdi dosyası için bir kez komut satırına\neklenecektir. %f dosya adını yazar."
msgid "Source code charset:"
msgstr "Kaynak kod karakter kümesi:"
#, c-format
-msgid ""
-"This will be attached to the command line\n"
-"only if source codecharset was given. %c expands to charset value."
-msgstr ""
-"Kaynak kodu karakter kümesi verildiyse,\n"
-"bu komut satırına eklenecektir.\n"
-"%c karakter kümesi değerini yazar."
+msgid "This will be attached to the command line\nonly if source codecharset was given. %c expands to charset value."
+msgstr "Kaynak kodu karakter kümesi verildiyse,\nbu komut satırına eklenecektir.\n%c karakter kümesi değerini yazar."
msgid "Catalog properties"
msgstr "Katalog özellikleri"
+msgid "Project name and version:"
+msgstr "Proje adı ve sürümü:"
+
msgid "Plural Forms:"
msgstr "Çoğul Biçimler:"
@@ -1470,6 +1685,15 @@ msgstr "Özel ifade kullan"
msgid "Learn about plural forms"
msgstr "Çoğul biçimler hakkında bilgi edinin"
+msgid "Charset:"
+msgstr "Karakter kümesi:"
+
+msgid "Team:"
+msgstr "Ekip:"
+
+msgid "Team's email address:"
+msgstr "Ekibin e-posta adresi:"
+
msgid "Translation properties"
msgstr "Çeviri özellikleri"
@@ -1482,12 +1706,8 @@ msgstr "Temel yol:"
msgid "Sources paths"
msgstr "Kaynak yolları"
-msgid ""
-"Use these keywords (function names) to recognize translatable strings\n"
-"in source files:"
-msgstr ""
-"Kaynak dosyalardaki çevrilebilir dizgeleri tanımak için,\n"
-"şu anahtar kelimeleri (işlev adları) kullan:"
+msgid "Use these keywords (function names) to recognize translatable strings\nin source files:"
+msgstr "Kaynak dosyalardaki çevrilebilir dizgeleri tanımak için,\nşu anahtar kelimeleri (işlev adları) kullan:"
msgid "Learn about gettext keywords"
msgstr "Gettext anahtar kelimeleri hakkında bilgi edinin"
@@ -1498,22 +1718,14 @@ msgstr "Kaynak anahtar kelimeleri"
msgid "Update summary"
msgstr "Güncelleme özeti"
-msgid ""
-"These strings were found in the sources but were not in the catalog.\n"
-"Poedit will add them to the catalog now."
-msgstr ""
-"Bu dizgeler kaynaklarda bulundu ancak katalogda bulunamadı.\n"
-"Poedit bunları şimdi kataloğa ekleyecek."
+msgid "These strings were found in the sources but were not in the catalog.\nPoedit will add them to the catalog now."
+msgstr "Bu dizgeler kaynaklarda bulundu ancak katalogda bulunamadı.\nPoedit bunları şimdi kataloğa ekleyecek."
msgid "New strings"
msgstr "Yeni dizgeler"
-msgid ""
-"These strings are no longer in the sources.\n"
-"Poedit will remove them from the catalog now."
-msgstr ""
-"Bu dizgeler artık kaynaklarda yok.\n"
-"Poedit bunları şimdi katalogdan kaldıracak."
+msgid "These strings are no longer in the sources.\nPoedit will remove them from the catalog now."
+msgstr "Bu dizgeler artık kaynaklarda yok.\nPoedit bunları şimdi katalogdan kaldıracak."
msgid "Obsolete strings"
msgstr "Eski dizgeler"
@@ -1533,6 +1745,12 @@ msgstr "Doğrula"
msgid "Check for errors in the translation"
msgstr "Çeviri içindeki hataları kontrol et"
+msgid "Statistics"
+msgstr "İstatistikler"
+
+msgid "Show translation statistics"
+msgstr "Çeviri istatistiklerini göster"
+
msgid "Update"
msgstr "Güncelle"
@@ -1542,19 +1760,21 @@ msgstr "Kataloğu güncelleyin - kaynak dosyalarla eşitleyin"
msgid "Toggled if selected string has fuzzy translation"
msgstr "Seçilen satır eğer belirsiz çeviri ise değiştirilir"
-msgid "Show or hide the sidebar."
-msgstr "Kenar çubuğunu göster veya gizle."
+msgid "Sidebar"
+msgstr "Kenar çubuğu"
+
+msgid "Show or hide the sidebar"
+msgstr "Kenar çubuğunu göster veya gizle"
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
msgid "Previous source text:"
msgstr "Önceki kaynak metin:"
-msgid ""
-"The old source text (before it changed during an update) that the fuzzy "
-"translation corresponds to."
-msgstr ""
-"Belirsiz çevirinin karşılık geldiği eski kaynak metin (bir güncelleme "
-"sırasında değiştirilmeden önceki hali)."
+msgid "The old source text (before it changed during an update) that the fuzzy translation corresponds to."
+msgstr "Belirsiz çevirinin karşılık geldiği eski kaynak metin (bir güncelleme sırasında değiştirilmeden önceki hali)."
+
+msgid "Notes for translators:"
+msgstr "Çevirmenler için notlar:"
msgid "Add comment"
msgstr "Yorum ekle"
@@ -1562,6 +1782,18 @@ msgstr "Yorum ekle"
msgid "Add Comment"
msgstr "Yorum Ekle"
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(from your TM)"
+msgstr "(ÇBelleğinizden)"
+
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(machine translation)"
+msgstr "(makine çevirisi)"
+
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(human translation)"
+msgstr "(şahıs çevirisi)"
+
msgid "Translation suggestions:"
msgstr "Çeviri önerileri:"
@@ -1576,6 +1808,84 @@ msgstr "Bulunan Eşleşmeler Yok"
msgid "This string was found in Poedit’s translation memory."
msgstr "Bu dizge Poedit'in çeviri belleğinde bulundu."
+msgid "This suggestion was contributed by another translator to the online TM."
+msgstr "Bu öneri başka bir çevirmen tarafından çevrimiçi ÇB'ye katıldı."
+
+msgid "This suggestion was machine-translated online."
+msgstr "Bu öneriyi çevrimiçi makine çevirdi."
+
+#, c-format
+msgid "%d out of %d online suggestion left."
+msgid_plural "%d out of %d online suggestions left."
+msgstr[0] "%d / %d çevrimiçi öneri kaldı."
+msgstr[1] "%d / %d çevrimiçi öneri kaldı."
+
+msgid "Remove this limitation"
+msgstr "Bu sınırlamayı kaldır"
+
+msgid "Not showing additional online suggestions."
+msgstr "Ek çevrimiçi öneriler gösterilemiyor."
+
+msgid "Unlock online suggestions"
+msgstr "Çevrimiçi önerilerin kilidini aç"
+
+msgid "Exceeded online TM daily limit."
+msgstr "Çevrimiçi Çeveiri Belleği günlük sınırı aşıldı."
+
+msgid "Connect to the Internet to get additional suggestions."
+msgstr "Ek öneriler almak için Internet'e bağlanın."
+
+#. TRANSLATORS: Label indicating that translations made in the current file are contributed to the online translation memory. Related to the "Contribute my translations to the online TM" string.
+msgid "Contributing"
+msgstr "Katkıda bulunuyor"
+
+msgid "Your translations are contributed to the online translation memory as you make them. Thanks for making the suggestions better!"
+msgstr "Yaptığınız çevirileriniz çevrimiçi çeviri belleğine katıldı. Önerileri daha iyi hale getirdiğiniz için teşekkürler!"
+
+#. TRANSLATORS: Label indicating that the current file
+msgid "Private"
+msgstr "Özel"
+
+msgid "Translations from this file are not shared with the online translation memory."
+msgstr "Bu dosyadan yapılan çeviriler çevrimiçi çeviri belleği ile paylaşılmıyor."
+
+msgid "Privacy settings"
+msgstr "Gizlilik ayarları"
+
+#, c-format
+msgid "While editing the file “%s”:"
+msgstr "\"%s\" dosyası düzenlenirken:"
+
+msgid "Items"
+msgstr "Öge"
+
+msgid "Words"
+msgstr "Kelime"
+
+msgid "Translated"
+msgstr "Çevrilmiş"
+
+msgid "Needs review (fuzzy)"
+msgstr "Gözden geçirilmesi gereken (belirsiz)"
+
+msgid "Translations with errors"
+msgstr "Hatalı çeviri"
+
+msgid "Source Text"
+msgstr "Kaynak Metin"
+
+msgid "Strings in source language"
+msgstr "Kaynak dildeki dizge"
+
+msgid "Not translated"
+msgstr "Çevrilmemiş"
+
+msgid "Copy to clipboard"
+msgstr "Panoya kopyala"
+
+msgid "Copy to Clipboard"
+msgstr "Panoya Kopyala"
+
#, c-format
msgid "(New: %i, obsolete: %i)"
msgstr "(Yeni: %i, eski: %i)"
@@ -1597,13 +1907,8 @@ msgstr "Geçiş çıkış durumu: %d"
msgid "Poedit needs to convert your translation memory to a new format."
msgstr "Poedit'in çeviri belleğinizi yeni bir biçime dönüştürmesi gerekiyor."
-msgid ""
-"This must be done before Poedit can start. It may take a few minutes if you "
-"have lots of translations stored, but should normally be much faster."
-msgstr ""
-"Bu işlem Poedit başlatılmadan önce yapılmalıdır. Çok fazla sayıda çeviri "
-"kaydedilmiş ise bu işlem bir kaç dakika sürebilir, ancak genellikle daha "
-"kısa sürede tamamlanır."
+msgid "This must be done before Poedit can start. It may take a few minutes if you have lots of translations stored, but should normally be much faster."
+msgstr "Bu işlem Poedit başlatılmadan önce yapılmalıdır. Çok fazla sayıda çeviri kaydedilmiş ise bu işlem bir kaç dakika sürebilir, ancak genellikle daha kısa sürede tamamlanır."
msgid "Proceed"
msgstr "Devam edin"
@@ -1612,60 +1917,60 @@ msgid "Translation memory migration failed."
msgstr "Çeviri belleği geçişi başarısız oldu."
#, c-format
-msgid ""
-"Your translation memory data couldn't be migrated. The error was:\n"
-"\n"
-"%s\n"
-"Please email help at poedit.net and we’ll get it fixed."
-msgstr ""
-"Çeviri belleği verileriniz geçirilemedi. Hata:\n"
-"\n"
-"%s\n"
-"Lütfen help at poedit.net adresine eposta gönderin ve bu sorunu düzeltelim."
+msgid "Your translation memory data couldn't be migrated. The error was:\n\n%s\nPlease email help at poedit.net and we’ll get it fixed."
+msgstr "Çeviri belleği verileriniz geçirilemedi. Hata:\n\n%s\nLütfen help at poedit.net adresine eposta gönderin ve bu sorunu düzeltelim."
msgid "Cannot create temporary directory."
msgstr "Geçici dizin oluşturulamıyor."
+msgid "Check theme or plugin compatibility"
+msgstr "Tema veya eklenti uyumluluğunu kontrol et"
+
msgid "Welcome to Poedit"
msgstr "Poedit'e Hoş Geldiniz"
+msgid "Upgrade to Pro"
+msgstr "Pro'ya Yükselt"
+
+msgid "Upgrade to Poedit Pro to get additional features and support Poedit's development."
+msgstr "Poedit'in geliştirilmesini desteklemek ve ek özellikler almak için Poedit Pro sürümüne yükseltin."
+
msgid "Edit a translation"
msgstr "Çeviriyi düzenle"
msgid "Open an existing PO file and edit the translation."
msgstr "Varolan bir PO dosyasını açın ve çeviriyi düzenleyin."
-msgid "Create new translation"
-msgstr "Yeni çeviri oluştur"
+msgid "Take an existing PO file or POT template and create a new translation from it."
+msgstr "Varolan bir PO dosyası ya da POT şablonu alın ve bundan yeni bir çeviri oluşturun."
-msgid ""
-"Take an existing PO file or POT template and create a new translation from "
-"it."
-msgstr ""
-"Varolan bir PO dosyası ya da POT şablonu alın ve bundan yeni bir çeviri "
-"oluşturun."
+msgid "Translate WordPress theme or plugin"
+msgstr "WordPress teması ya da eklentisini çevir"
+
+#. TRANSLATORS: Please don't use any form of "automatically" in the translation, it would mislead people.
+msgid "Create a new translation. Poedit will set everything up; you can focus on translating."
+msgstr "Yeni bir çeviri oluşturun. Poedit herşeyi kendiliğinden ayarlayacak ve çeviriye odaklanabileceksiniz."
+
+msgid "Collaborate on a translation with Crowdin"
+msgstr "Crowdin ile bir çeviri üzerinde ortak çalış"
+
+msgid "Download a file from Crowdin project, translate and sync your changes back."
+msgstr "Crowdin projesinden bir dosya indirin, çevirin ve tekrar değişikliklerinizi eşitleyin."
+
+msgid "What is Crowdin?"
+msgstr "Crowdin nedir?"
msgid "There are no translations. That’s unusual."
msgstr "Çeviriler yok. Bu olağandışı bir durum."
-msgid ""
-"Translatable entries aren't added manually in the Gettext system, but are "
-"automatically extracted\n"
-"from source code. This way, they stay up to date and accurate.\n"
-"Translators typically use PO template files (POTs) prepared for them by the "
-"developer."
-msgstr ""
-"Çevrilebilir girişler Gettext sistemine el ile eklenemedi ancak kaynak "
-"kodundan otomatik olarak\n"
-"çıkartıldı. Bu yolla, güncel ve doğru kalırlar. Çevirmenler genellikle\n"
-"geliştirici tarafından hazırlanan PO şablon dosyalarını (POT) kullanırlar."
+msgid "Translatable entries aren't added manually in the Gettext system, but are automatically extracted\nfrom source code. This way, they stay up to date and accurate.\nTranslators typically use PO template files (POTs) prepared for them by the developer."
+msgstr "Çevrilebilir girişler Gettext sistemine el ile eklenemedi ancak kaynak kodundan otomatik olarak\nçıkartıldı. Bu yolla, güncel ve doğru kalırlar. Çevirmenler genellikle\ngeliştirici tarafından hazırlanan PO şablon dosyalarını (POT) kullanırlar."
msgid "(Learn more about GNU gettext)"
msgstr "(GNU gettext hakkında bildi edinin)"
msgid "The simplest way to fill this catalog is to update it from a POT:"
-msgstr ""
-"Bu kataloğu doldurmanın en kolay yolu bir POT dosyasından güncellemektir:"
+msgstr "Bu kataloğu doldurmanın en kolay yolu bir POT dosyasından güncellemektir:"
msgid "Update from POT"
msgstr "POT dosyasından güncelle"
@@ -1673,8 +1978,7 @@ msgstr "POT dosyasından güncelle"
msgid "Take translatable strings from an existing POT template."
msgstr "Çevrilebilir dizgeleri varolan bir POT şablonundan alın."
-msgid ""
-"You can also extract translatable strings directly from the source code:"
+msgid "You can also extract translatable strings directly from the source code:"
msgstr "Çevrilebilir dizgeleri doğrudan kaynak kodundan çıkartabilirsiniz:"
msgid "Extract from sources"
@@ -1682,3 +1986,105 @@ msgstr "Kaynaklardan aktar"
msgid "Configure source code extraction in Properties."
msgstr "Özellikler'de kaynak kod çıkartmayı yapılandırın."
+
+#, c-format
+msgid "Failed to read file '%s'."
+msgstr "'%s' dosyasını okuma başarısız."
+
+#, c-format
+msgid "Confused by ambiguous values of \"%s\" in %s."
+msgstr "Anlaşılması güç \"%s\" değerleri %s içinde karıştırıldı."
+
+#, c-format
+msgid "Couldn't detect POs location for \"%s\"."
+msgstr "\"%s\" için PO konumu algılanamadı."
+
+#, c-format
+msgid "The \"%s\" theme isn't localization-ready."
+msgstr "\"%s\" teması yerelleştirmeye hazır değil."
+
+msgid "Confused: multiple main plugin files."
+msgstr "Karıştı: birden çok ana eklenti dosyaları."
+
+#, c-format
+msgid "The \"%s\" plugin isn't localization-ready."
+msgstr "\"%s\" eklentisi yerelleştirmeye hazır değil."
+
+#, c-format
+msgid "Couldn't detect translation domain of the \"%s\" plugin."
+msgstr "\"%s\" eklentisinin çeviri etki alanı algılanamadı."
+
+msgid "Found neither WordPress theme nor plugin in the folder."
+msgstr "Klasörde ne bir WordPress teması ne de eklenti bulundu."
+
+#, c-format
+msgid "Translations folder (%s) doesn't exist."
+msgstr "Çeviri klasörü (%s) mevcut değil."
+
+msgid "<big>Drag and drop <b>theme or plugin folder</b> here</big>\n\nor use the “Choose folder” button"
+msgstr "<big><b>Tema veya eklenti klasörünü</b> buraya sürükleyin ve bırakın</big>\n\nya da “Klasör seçin” düğmesini kullanın"
+
+msgid "<big>Drag and Drop <b>Theme or Plugin Folder</b> Here</big>\n\nor use the “Choose Folder” button"
+msgstr "<big><b>Tema veya Eklenti Klasörünü</b> Buraya Sürükleyin ve Bırakın</big>\n\nya da “Klasör Seçin” düğmesini kullanın"
+
+#, c-format
+msgid "Folder “%s”"
+msgstr "Klasör \"%s\""
+
+msgid "Choose Folder..."
+msgstr "Klasör Seçin..."
+
+msgid "Choose folder..."
+msgstr "Klasör seçin..."
+
+msgid "Create a new translation"
+msgstr "Yeni bir çeviri oluştur"
+
+msgid "Choose this if you want to translate the theme or plugin into your language."
+msgstr "Eğer temayı veya eklentiyi dilinize çevirmek istiyorsanız bunu seçin."
+
+msgid "Create a POT"
+msgstr "Bir POT dosyası oluştur"
+
+msgid "This option is for theme and plugin developers. Poedit will create an empty template (POT) that translations can be based on."
+msgstr "Bu seçenek tema ve eklenti geliştiricileri içindir. Poedit çevirilerin temelini oluşturan bir boş şablon (POT) oluşturacak."
+
+msgid "Continue"
+msgstr "Devam"
+
+msgid "Failed to extract WordPress information."
+msgstr "WordPress bilgilerinı çıkartma başarısız."
+
+msgid "WordPress error"
+msgstr "WordPress hatası"
+
+#, c-format
+msgid "Poedit couldn’t understand the content of the folder you selected. This may be a problem with the plugin/theme or it may be Poedit being silly. The error is:\n\n • %s\n\nPlease email help at poedit.net and we’ll sort it out."
+msgstr "Poedit seçtiğiniz klasörün içeriğini anlayamadı. Bu bir eklenti/tema ile ilgili bir sorun olabilir ya da Poedit'in saçmalamasına neden olabilir. Hata:\n\n• %s\n\nBu sorunu help at poedit.net adresine bildirin ve bizde halledelim."
+
+#. TRANSLATORS: This is a button that sends an email to support when clicked
+msgid "Email support"
+msgstr "E-posta desteği"
+
+msgid "View log"
+msgstr "Günlüğü göster"
+
+#. TRANSLATORS: This is a button that sends an email to support when clicked
+msgid "Email Support"
+msgstr "E-posta Desteği"
+
+msgid "View Log"
+msgstr "Günlüğe Göster"
+
+msgid "WordPress Errors Log"
+msgstr "WordPress Hata Günlüğü"
+
+msgid "Please email this log to help at poedit.net. Thank you!"
+msgstr "Lütfen bu günlüğü help at poedit.net adresine gönderin. Teşekkür ederiz!"
+
+msgid "Sync"
+msgstr "Eşitle"
+
+msgid "Synchronize the translation with Crowdin"
+msgstr "Çeviriyi Crowdin ile eşitle"
+
diff --git a/locales/tt.mo b/locales/tt.mo
index a0a0533..cf1e66b 100644
Binary files a/locales/tt.mo and b/locales/tt.mo differ
diff --git a/locales/tt.po b/locales/tt.po
index 854a6f9..31ff25b 100644
--- a/locales/tt.po
+++ b/locales/tt.po
@@ -1,9 +1,9 @@
msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
-"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:34-0400\n"
+"Report-Msgid-Bugs-To: poedit at googlegroups.com\n"
+"POT-Creation-Date: 2015-05-11 08:48+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Tatar\n"
"Language: tt_RU\n"
@@ -16,6 +16,40 @@ msgstr ""
"X-Crowdin-Language: tt-RU\n"
"X-Crowdin-File: /locales/poedit.pot\n"
+#. TRANSLATORS: This is titlebar of about dialog, "%s" is application name
+#. ("Poedit" here, but please use "%s")
+#, c-format
+msgid "About %s"
+msgstr ""
+
+#. TRANSLATORS: This is version information in about dialog, "%s" will be
+#. version number when used
+#, c-format
+msgid "Version %s"
+msgstr ""
+
+msgid "Based on the open source version →"
+msgstr ""
+
+msgid "Acknowledgements"
+msgstr ""
+
+msgid "Rate on the App Store"
+msgstr ""
+
+msgid "License Agreement"
+msgstr ""
+
+#, c-format
+msgid "Licensed to %s"
+msgstr ""
+
+msgid "Purchased on the Mac App Store"
+msgstr ""
+
+msgid "Free version (please upgrade!)"
+msgstr ""
+
msgid "Hide this notification message"
msgstr ""
@@ -38,55 +72,46 @@ msgstr ""
msgid "Malformed header: '%s'"
msgstr "Yalğış tözelgän başlıq: '%s'"
-msgid ""
-"Broken catalog file: singular form msgstr used together with msgid_plural"
-msgstr ""
-"Tuplama bireme watıq axrısı: «msgid_plural» belän bergä ber genä «msgstr» "
-"qullanılğan"
+msgid "Broken catalog file: singular form msgstr used together with msgid_plural"
+msgstr "Tuplama bireme watıq axrısı: «msgid_plural» belän bergä ber genä «msgstr» qullanılğan"
msgid "Broken catalog file: plural form msgstr used without msgid_plural"
-msgstr ""
-"Tuplama bireme watıq axrısı: «msgid_plural» bulmíça, berniçä «msgstr» "
-"qullanılğan"
+msgstr "Tuplama bireme watıq axrısı: «msgid_plural» bulmíça, berniçä «msgstr» qullanılğan"
-msgid ""
-"There were errors when loading the catalog. Some data may be missing or "
-"corrupted as the result."
-msgstr ""
-"Tuplamanı yöklägändä xatalar oçradı. Şuña kürä, qayber öleşläreneñ yä "
-"yuğaluı, yä bozıq buluı bar."
+msgid "There were errors when loading the catalog. Some data may be missing or corrupted as the result."
+msgstr "Tuplamanı yöklägändä xatalar oçradı. Şuña kürä, qayber öleşläreneñ yä yuğaluı, yä bozıq buluı bar."
#, c-format
msgid "Couldn't load file %s, it is probably corrupted."
msgstr ""
#, c-format
-msgid ""
-"File '%s' is read-only and cannot be saved.\n"
-"Please save it under different name."
-msgstr ""
-"'%s' bireme uqulı-ğına bulğaç, saqlana almí\n"
-"Başqa adı belän saqlap qara."
+msgid "File '%s' is read-only and cannot be saved.\nPlease save it under different name."
+msgstr "'%s' bireme uqulı-ğına bulğaç, saqlana almí\nBaşqa adı belän saqlap qara."
#, c-format
msgid "Couldn't save file %s."
msgstr ""
-msgid ""
-"There was a problem formatting the file nicely (but it was saved all right)."
+msgid "There was a problem formatting the file nicely (but it was saved all right)."
msgstr ""
#, c-format
-msgid ""
-"The catalog couldn't be saved in '%s' charset as specified in catalog "
-"settings.\n"
-"\n"
-"It was saved in UTF-8 instead and the setting was modified accordingly."
+msgid "The catalog couldn't be saved in '%s' charset as specified in catalog settings.\n\nIt was saved in UTF-8 instead and the setting was modified accordingly."
msgstr ""
msgid "Error saving catalog"
msgstr "Birem saqlağanda xata çıqtı"
+msgid "PO Translation Files"
+msgstr ""
+
+msgid "POT Translation Templates"
+msgstr ""
+
+msgid "All Translation Files"
+msgstr ""
+
msgid "Merging differences..."
msgstr "Ayırmalar östäw..."
@@ -106,6 +131,81 @@ msgstr "Tel saylaw"
msgid "You must restart Poedit for this change to take effect."
msgstr "Poedit yañadan ciberelgäç genä, bu üzgärtülär köçkä kerer."
+msgid "Downloading translations is disabled in this project."
+msgstr ""
+
+msgid "Not authorized, please sign in again."
+msgstr ""
+
+msgid "Sign in to Crowdin"
+msgstr ""
+
+msgid "Crowdin is an online localization management platform and collaborative translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+
+msgid "Sign In"
+msgstr ""
+
+msgid "Sign in"
+msgstr ""
+
+msgid "Sign Out"
+msgstr ""
+
+msgid "Sign out"
+msgstr ""
+
+msgid "Waiting for authentication…"
+msgstr ""
+
+msgid "Updating user information…"
+msgstr ""
+
+msgid "Signed in as:"
+msgstr ""
+
+msgid "Learn More About Crowdin"
+msgstr ""
+
+msgid "Learn more about Crowdin"
+msgstr ""
+
+msgid "Open Crowdin translation"
+msgstr ""
+
+msgid "Project:"
+msgstr ""
+
+msgid "Language:"
+msgstr "Tel:"
+
+msgid "File:"
+msgstr ""
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr ""
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr ""
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr ""
+
+msgid "Downloading latest translations…"
+msgstr ""
+
+msgid "Syncing with Crowdin"
+msgstr ""
+
+msgid "Syncing with Crowdin failed."
+msgstr ""
+
+msgid "Crowdin error"
+msgstr ""
+
+msgid "Uploading translations…"
+msgstr ""
+
msgid "&Copy"
msgstr ""
@@ -133,23 +233,43 @@ msgstr ""
msgid "Failed to load extracted catalog."
msgstr ""
+#, c-format
+msgid "Failed to extract WordPress metadata from file %s."
+msgstr ""
+
msgid "&Help"
msgstr "&Yärdäm"
+msgid "Beta expired"
+msgstr ""
+
+msgid "This beta version of Poedit expired."
+msgstr ""
+
+msgid "Please download a newer version from the Poedit website at http://poedit.net/download"
+msgstr ""
+
+msgid "Download"
+msgstr ""
+
+msgid "Quit"
+msgstr ""
+
msgid "MO files can’t be directly edited in Poedit."
msgstr ""
msgid "Error opening file"
msgstr ""
-msgid ""
-"Please open and edit the corresponding PO file instead. When you save it, "
-"the MO file will be updated as well."
+msgid "Please open and edit the corresponding PO file instead. When you save it, the MO file will be updated as well."
msgstr ""
msgid "don't delete temporary files (for debugging)"
msgstr ""
+msgid "handle a poedit:// URI"
+msgstr ""
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr ""
@@ -160,34 +280,19 @@ msgstr ""
msgid "Open catalog"
msgstr "Tuplama açu..."
-msgid "All Files"
-msgstr ""
-
-msgid "PO Translation Files"
-msgstr ""
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "'%s' bireme barlıqta yuq."
-#. TRANSLATORS: This is titlebar of about dialog, "%s" is application name
-#. ("Poedit" here, but please use "%s")
-#, c-format
-msgid "About %s"
-msgstr ""
-
-#. TRANSLATORS: This is version information in about dialog, "%s" will be
-#. version number when used
-#, c-format
-msgid "Version %s"
-msgstr ""
-
msgid "Poedit is an easy to use translations editor."
msgstr ""
msgid "Catalogs Manager"
msgstr ""
+msgid "License..."
+msgstr ""
+
msgid "Check for Updates..."
msgstr ""
@@ -269,6 +374,15 @@ msgstr ""
msgid "&View"
msgstr "&Küreneş"
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
+msgid "Show Toolbar"
+msgstr ""
+
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
+msgid "Customize Toolbar…"
+msgstr ""
+
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
msgid "Enter Full Screen"
msgstr ""
@@ -284,17 +398,27 @@ msgstr ""
msgid "Bring All to Front"
msgstr ""
+#. TRANSLATORS:File kind displayed in Finder/Explorer
msgid "PO Translation"
msgstr ""
+msgid "Invalid license data."
+msgstr ""
+
+msgid "Poedit"
+msgstr "Poedit"
+
+#, c-format
+msgid "The link doesn't contain valid Poedit license. Try entering it manually or contact support at help at poedit.net.\n\n(%s)"
+msgstr ""
+
msgid "The file cannot be opened."
msgstr ""
msgid "Invalid file"
msgstr ""
-msgid ""
-"The file may be either corrupted or in a format not recognized by Poedit."
+msgid "The file may be either corrupted or in a format not recognized by Poedit."
msgstr ""
msgid "&Undo"
@@ -372,9 +496,6 @@ msgstr "Poedit täräzäsenä biremnärne berläp kenä taşlarğa yarí."
msgid "File '%s' is not a message catalog."
msgstr ""
-msgid "Poedit"
-msgstr "Poedit"
-
msgid "&File"
msgstr "&Birem"
@@ -393,12 +514,20 @@ msgstr "Törle:"
msgid "Translation:"
msgstr ""
+msgid "POT files are only templates and don’t contain any translations themselves.\nTo make a translation, create a new PO file based on the template."
+msgstr ""
+
+msgid "Create New Translation"
+msgstr ""
+
+msgid "Create new translation"
+msgstr ""
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
#, c-format
-msgid ""
-"Spellchecking is disabled, because the dictionary for %s isn’t installed."
+msgid "Spellchecking is disabled, because the dictionary for %s isn’t installed."
msgstr ""
msgid "Install"
@@ -440,7 +569,29 @@ msgstr ""
msgid "Open catalog template"
msgstr "Tuplama ürçetmäsen açu"
-msgid "POT Translation Templates"
+msgid "WordPress"
+msgstr ""
+
+msgid "Analyzing WordPress code..."
+msgstr ""
+
+msgid "Select the folder with the WordPress theme or plugin"
+msgstr ""
+
+#. TRANSLATORS: %s is name of a WordPress theme
+#, c-format
+msgid "The “%s” theme is compatible."
+msgstr ""
+
+#. TRANSLATORS: %s is name of a WordPress plugin
+#, c-format
+msgid "The “%s” plugin is compatible."
+msgstr ""
+
+msgid "The theme is translation-ready and compatible with Poedit’s WordPress support."
+msgstr ""
+
+msgid "The plugin is translation-ready and compatible with Poedit’s WordPress support."
msgstr ""
msgid "Updating catalog"
@@ -452,9 +603,7 @@ msgstr ""
msgid "Updating failed"
msgstr ""
-msgid ""
-"Translations couldn’t be updated from the source code, because no code was "
-"found in the location specified in the catalog’s Properties."
+msgid "Translations couldn’t be updated from the source code, because no code was found in the location specified in the catalog’s Properties."
msgstr ""
msgid "Entries in the catalog are probably incorrect."
@@ -471,27 +620,19 @@ msgstr[0] ""
msgid "Validation results"
msgstr ""
-msgid ""
-"Entries with errors were marked in red in the list. Details of the error "
-"will be shown when you select such an entry."
+msgid "Entries with errors were marked in red in the list. Details of the error will be shown when you select such an entry."
msgstr ""
msgid "The file was saved safely."
msgstr ""
-msgid ""
-"The file was saved safely and compiled into the MO format, but it will "
-"probably not work correctly."
+msgid "The file was saved safely and compiled into the MO format, but it will probably not work correctly."
msgstr ""
-msgid ""
-"The file was saved safely, but it cannot be compiled into the MO format and "
-"used."
+msgid "The file was saved safely, but it cannot be compiled into the MO format and used."
msgstr ""
-msgid ""
-"The file was compiled into the MO format, but it will probably not work "
-"correctly."
+msgid "The file was compiled into the MO format, but it will probably not work correctly."
msgstr ""
msgid "The file cannot be compiled into the MO format and used."
@@ -502,25 +643,40 @@ msgstr ""
#, c-format
msgid "The translation is ready for use, but %d entry is not translated yet."
-msgid_plural ""
-"The translation is ready for use, but %d entries are not translated yet."
+msgid_plural "The translation is ready for use, but %d entries are not translated yet."
msgstr[0] ""
msgid "The translation is ready for use."
msgstr ""
-msgid "No references to this string found."
-msgstr "Bu kerem qullanu oçraqları tabılmadı."
+msgid "Contributing translations improves the quality of online suggestions for everybody — the more people do it, the better the suggestions can be. Your translations are submitted anonymously and are available to other translators using Poedit or other CAT tools."
+msgstr ""
+
+msgid "Can Poedit contribute your translations of this file to the online translation memory?"
+msgstr ""
+
+msgid "Apply to all files I edit"
+msgstr ""
+
+msgid "Contribute"
+msgstr ""
-msgid "Please choose the reference you want to show:"
-msgstr "Qarísı kilgäne qullanu oçrağın sayla zínhar:"
+msgid "Keep Private"
+msgstr ""
-msgid "References"
-msgstr "Qullanılular"
+msgid "Keep private"
+msgstr ""
msgid "Context:"
msgstr ""
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr ""
+
+msgid "The file contained duplicate items, which is not allowed in PO files and would prevent the file from being used. Poedit fixed the issue, but you should review translations of any items marked as fuzzy and correct them if necessary."
+msgstr ""
+
msgid "Language of the translation isn't set."
msgstr ""
@@ -530,14 +686,23 @@ msgstr ""
msgid "Set language"
msgstr ""
-msgid ""
-"This catalog has entries with plural forms, but doesn't have Plural-Forms "
-"header configured."
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid "Suggestions are not available if the translation language is not set correctly. Other features, such as plural forms, may be affected as well."
msgstr ""
-msgid ""
-"Entries in this catalog have different plural forms count from what "
-"catalog's Plural-Forms header says"
+msgid "Language of the translation is the same as source language."
+msgstr ""
+
+msgid "Fix Language"
+msgstr ""
+
+msgid "Fix language"
+msgstr ""
+
+msgid "This catalog has entries with plural forms, but doesn't have Plural-Forms header configured."
+msgstr ""
+
+msgid "Entries in this catalog have different plural forms count from what catalog's Plural-Forms header says"
msgstr ""
msgid "Required header Plural-Forms is missing."
@@ -560,6 +725,7 @@ msgstr ""
msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr ""
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr ""
@@ -580,12 +746,21 @@ msgid "%d error"
msgid_plural "%d errors"
msgstr[0] ""
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] ""
+
msgid " (unsaved)"
msgstr ""
msgid " (modified)"
msgstr " (üzgärelde)"
+#, c-format
+msgid " (beta version expires %s)"
+msgstr ""
+
msgid "Go"
msgstr ""
@@ -599,10 +774,7 @@ msgstr ""
msgid "Do you want to remove all translations that are no longer used?"
msgstr ""
-msgid ""
-"If you continue with purging, all translations marked as deleted will be "
-"permanently removed. You will have to translate them again if they are added "
-"back in the future."
+msgid "If you continue with purging, all translations marked as deleted will be permanently removed. You will have to translate them again if they are added back in the future."
msgstr ""
msgid "Keep"
@@ -617,17 +789,22 @@ msgstr ""
msgid "Only fill in exact matches"
msgstr ""
-msgid ""
-"By default, inaccurate results are filled in as well and marked as fuzzy. "
-"Check this option to only include accurate matches."
+msgid "By default, inaccurate results are filled in as well and marked as fuzzy. Check this option to only include accurate matches."
msgstr ""
msgid "Don’t mark exact matches as fuzzy"
msgstr ""
-msgid ""
-"Only enable if you trust the quality of your TM. By default, all matches "
-"from the TM are marked as fuzzy and should be reviewed."
+msgid "Only enable if you trust the quality of your TM. By default, all matches from the TM are marked as fuzzy and should be reviewed."
+msgstr ""
+
+msgid "Use online suggestions"
+msgstr ""
+
+msgid "Use online suggestions (experimental)"
+msgstr ""
+
+msgid "Try to fetch translations from the online TM as well. Notice that the translations will not be perfect and will still need to be corrected by a human translator."
msgstr ""
msgid "Fill"
@@ -638,18 +815,13 @@ msgid "%d entry was filled from the translation memory."
msgid_plural "%d entries were filled from the translation memory."
msgstr[0] ""
-msgid ""
-"The translations were marked as fuzzy, because they may be inaccurate. You "
-"should review them for correctness."
+msgid "The translations were marked as fuzzy, because they may be inaccurate. You should review them for correctness."
msgstr ""
msgid "No entries could be filled from the translation memory."
msgstr ""
-msgid ""
-"The TM doesn’t contain any strings similar to the content of this file. It "
-"is only effective for semi-automatic translations after Poedit learns enough "
-"from files that you translated manually."
+msgid "The TM doesn’t contain any strings similar to the content of this file. It is only effective for semi-automatic translations after Poedit learns enough from files that you translated manually."
msgstr ""
msgid "Translating"
@@ -691,6 +863,9 @@ msgstr ""
msgid "Form %i"
msgstr ""
+msgid "Singular"
+msgstr ""
+
msgid "Zero"
msgstr ""
@@ -700,6 +875,9 @@ msgstr ""
msgid "Two"
msgstr ""
+msgid "Plural"
+msgstr ""
+
msgid "Other"
msgstr ""
@@ -728,6 +906,12 @@ msgstr ""
msgid "Show Sidebar"
msgstr ""
+msgid "Hide Status Bar"
+msgstr ""
+
+msgid "Show Status Bar"
+msgstr ""
+
msgid "Source text"
msgstr ""
@@ -737,6 +921,10 @@ msgstr "Tärcemä"
msgid "ID"
msgstr ""
+#, c-format
+msgid "Source text — %s"
+msgstr ""
+
msgid "unknown language"
msgstr ""
@@ -747,42 +935,6 @@ msgstr ""
msgid "Error:"
msgstr ""
-msgid "Project info"
-msgstr "Projekt turında"
-
-msgid "Project name and version:"
-msgstr "Projektnıñ adı-söreme:"
-
-msgid "Language:"
-msgstr "Tel:"
-
-msgid "Team:"
-msgstr "Törkem:"
-
-msgid "Team's email address:"
-msgstr "Törkemneñ email-adresı"
-
-msgid "Charset:"
-msgstr "Bilgelämä:"
-
-msgid "Source"
-msgstr ""
-
-msgid "Notes"
-msgstr "Xäbärlär"
-
-msgid "Automatic translation"
-msgstr "Aqıllı tärcemä"
-
-msgid "Fuzzy translation"
-msgstr "Aqıllı tärcemä"
-
-msgid "Notes for translators:"
-msgstr ""
-
-msgid "Comment:"
-msgstr "Añlatma:"
-
msgid "Source file"
msgstr "Çığanaq bireme"
@@ -795,10 +947,62 @@ msgstr ""
msgid "Open in editor"
msgstr ""
+msgid "No references for the selected item."
+msgstr ""
+
#, c-format
msgid "Error opening file %s!"
msgstr "%s biremen açqanda qata!"
+msgid "Find"
+msgstr ""
+
+msgid "Replace"
+msgstr ""
+
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr ""
+
+msgid "Ignore case"
+msgstr ""
+
+msgid "Wrap around"
+msgstr ""
+
+msgid "Whole words only"
+msgstr "Tulı süzlär genä"
+
+msgid "Find in source texts"
+msgstr ""
+
+msgid "Find in translations"
+msgstr "Tärcemälär arasında"
+
+msgid "Find in comments"
+msgstr "Añlatmada ezlise"
+
+msgid "Close"
+msgstr ""
+
+msgid "Replace All"
+msgstr ""
+
+msgid "Replace all"
+msgstr ""
+
+msgid "< &Previous"
+msgstr ""
+
+msgid "&Next >"
+msgstr ""
+
+msgid "String to find"
+msgstr ""
+
+msgid "Replacement string"
+msgstr ""
+
#, c-format
msgid "Cannot execute program: %s"
msgstr ""
@@ -812,6 +1016,55 @@ msgstr ""
msgid "Language of the translation:"
msgstr ""
+msgid "Poedit Registration"
+msgstr ""
+
+msgid "Name"
+msgstr ""
+
+msgid "License Key"
+msgstr ""
+
+msgid "The registration key can be used on multiple computers you use personally or for multiple\naccounts on a single computer."
+msgstr ""
+
+msgid "Buy Online..."
+msgstr ""
+
+msgid "Buy online..."
+msgstr ""
+
+msgid "Cancel"
+msgstr "Kiräkmi"
+
+msgid "Register"
+msgstr ""
+
+msgid "Your copy is upgraded to Poedit Pro."
+msgstr ""
+
+msgid "You’re awesome! Thank you so much\nfor purchasing Poedit Pro."
+msgstr ""
+
+msgid "View License Key"
+msgstr ""
+
+msgid "View license key"
+msgstr ""
+
+#, c-format
+msgid "Licensed to: %s"
+msgstr ""
+
+msgid "Purchasing the full version will unlock more features\nin this and future versions of Poedit, including:\n\n"
+msgstr ""
+
+msgid "Upgrade..."
+msgstr ""
+
+msgid "No, thanks"
+msgstr ""
+
msgid "Poedit - Catalogs manager"
msgstr "Poedit - Tuplama idäräçese"
@@ -848,12 +1101,8 @@ msgstr "Bu projektnı çınlap ta beteräseme?"
msgid "Confirmation"
msgstr "Raslaw"
-msgid ""
-"Do you really want to do mass update of\n"
-"all catalogs in this project?"
-msgstr ""
-"Bu projekta bulğan bar tuplamalarnı\n"
-"çınlap ta beryulı yañartırğa teliseñme?"
+msgid "Do you really want to do mass update of\nall catalogs in this project?"
+msgstr "Bu projekta bulğan bar tuplamalarnı\nçınlap ta beryulı yañartırğa teliseñme?"
msgid "Information about the translator"
msgstr ""
@@ -870,9 +1119,7 @@ msgstr ""
msgid "your_email at example.com"
msgstr ""
-msgid ""
-"Your name and email address are only used to set the Last-Translator header "
-"of GNU gettext files."
+msgid "Your name and email address are only used to set the Last-Translator header of GNU gettext files."
msgstr ""
msgid "Editing"
@@ -890,13 +1137,8 @@ msgstr ""
msgid "Always change focus to text input field"
msgstr "Kertü qırın barçaqta fokusta totası"
-msgid ""
-"Never let the list of strings take focus. If enabled, you must use Ctrl-"
-"arrows for keyboard navigation but you can also type text immediately, "
-"without having to press Tab to change focus."
-msgstr ""
-"Keremnär tezmäsenä fokus alırğa birmi. Açılğan çaqta, keremnär arasında Ctrl-"
-"uq töymäläre aşa ğına yörise bula."
+msgid "Never let the list of strings take focus. If enabled, you must use Ctrl-arrows for keyboard navigation but you can also type text immediately, without having to press Tab to change focus."
+msgstr "Keremnär tezmäsenä fokus alırğa birmi. Açılğan çaqta, keremnär arasında Ctrl-uq töymäläre aşa ğına yörise bula."
msgid "Appearance"
msgstr ""
@@ -933,11 +1175,29 @@ msgstr ""
msgid "Consult TM when updating from sources"
msgstr ""
-msgid ""
-"If enabled, Poedit will try to fill in new entries using your previous\n"
-"translations stored in the translation memory. If the TM is\n"
-"near-empty, it will not be very effective. The more translations\n"
-"you edit and the larger the TM grows, the better it gets."
+msgid "If enabled, Poedit will try to fill in new entries using your previous\ntranslations stored in the translation memory. If the TM is\nnear-empty, it will not be very effective. The more translations\nyou edit and the larger the TM grows, the better it gets."
+msgstr ""
+
+msgid "Use suggestions from online collaborative TM"
+msgstr ""
+
+msgid "Poedit uses a large online translation memory that includes both contributed human translations and state-of-the-art machine translations."
+msgstr ""
+
+msgid "Contribute my translations to the online TM"
+msgstr ""
+
+msgid "Keep my translations private"
+msgstr ""
+
+msgid "Ask me for each file individually"
+msgstr ""
+
+msgid "Terms of Service"
+msgstr ""
+
+#. TRANSLATORS: This is part of footer that says in full "powered by MyMemory", with the MyMemory part being a logo
+msgid "powered by"
msgstr ""
msgid "Stored translations:"
@@ -964,23 +1224,16 @@ msgstr ""
msgid "Are you sure you want to reset the translation memory?"
msgstr ""
-msgid ""
-"Resetting the translation memory will irrevocably delete all stored "
-"translations from it. You can’t undo this operation."
+msgid "Resetting the translation memory will irrevocably delete all stored translations from it. You can’t undo this operation."
msgstr ""
-msgid "Cancel"
-msgstr "Kiräkmi"
-
#. TRANSLATORS: This is abbreviation of "Translation Memory" used in Preferences on OS X.
#. Long text looks weird there, too short (like TM) too, but less so. "General" is about ideal
#. length there.
msgid "TM"
msgstr ""
-msgid ""
-"Source code extractors are used to find translatable strings in the source "
-"code files and extract them so that they can be translated."
+msgid "Source code extractors are used to find translatable strings in the source code files and extract them so that they can be translated."
msgstr ""
msgid "New"
@@ -989,26 +1242,32 @@ msgstr "Yaña"
msgid "Edit"
msgstr "Üzgärtü..."
+msgid "Delete extractor"
+msgstr ""
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr ""
+
msgid "Extractors"
msgstr ""
+msgid "Accounts"
+msgstr ""
+
msgid "Automatically check for updates"
msgstr ""
msgid "Include beta versions"
msgstr ""
-msgid ""
-"Beta versions contain the latest new features and improvements, but may be a "
-"bit less stable."
+msgid "Beta versions contain the latest new features and improvements, but may be a bit less stable."
msgstr ""
msgid "Updates"
msgstr ""
-msgid ""
-"These settings affect internal formatting of PO files. Adjust them if you "
-"have specific requirements e.g. because of version control."
+msgid "These settings affect internal formatting of PO files. Adjust them if you have specific requirements e.g. because of version control."
msgstr ""
msgid "Line endings:"
@@ -1030,6 +1289,30 @@ msgstr ""
msgid "Advanced"
msgstr ""
+msgid "Add Files..."
+msgstr ""
+
+msgid "Add files..."
+msgstr ""
+
+msgid "Add Folders..."
+msgstr ""
+
+msgid "Add folders..."
+msgstr ""
+
+msgid "Add Wildcard..."
+msgstr ""
+
+msgid "Add wildcard..."
+msgstr ""
+
+msgid "<big>Drag and Drop Folders Here</big>\n\nor use the + button"
+msgstr ""
+
+msgid "<big>Drag and drop folders here</big>\n\nor use the + button"
+msgstr ""
+
msgid "Additional keywords"
msgstr ""
@@ -1051,6 +1334,9 @@ msgstr ""
msgid "Please save the file first. This section cannot be edited until then."
msgstr ""
+msgid "Comment:"
+msgstr "Añlatma:"
+
msgid "OK"
msgstr "OK"
@@ -1060,42 +1346,6 @@ msgstr ""
msgid "Clear the comment"
msgstr "Beter bu añlatmanı"
-msgid "Find..."
-msgstr "Ezläw..."
-
-msgid "String to find:"
-msgstr "Ni ezlise:"
-
-msgid "Case sensitive"
-msgstr "Bieklegen ayırıp"
-
-msgid "Start from the first item"
-msgstr "Berençedän başlap"
-
-msgid "Whole words only"
-msgstr "Tulı süzlär genä"
-
-msgid "Find in original strings"
-msgstr "Çığanaq süzlärendä ezlise"
-
-msgid "Find in translations"
-msgstr "Tärcemälär arasında"
-
-msgid "Find in comments"
-msgstr "Añlatmada ezlise"
-
-msgid "Find in automatic comments"
-msgstr "Program östägän añlatmada ezlise"
-
-msgid "Close"
-msgstr ""
-
-msgid "< &Previous"
-msgstr ""
-
-msgid "&Next >"
-msgstr ""
-
msgid "Create new translations project"
msgstr "Yaña tärcemä projektın yasa"
@@ -1132,9 +1382,6 @@ msgstr "&Çığış"
msgid "E&xit"
msgstr ""
-msgid "Quit"
-msgstr ""
-
msgid "&New..."
msgstr ""
@@ -1144,12 +1391,24 @@ msgstr ""
msgid "New From &POT/PO File..."
msgstr ""
+msgid "New WordPress translation..."
+msgstr ""
+
+msgid "New WordPress Translation..."
+msgstr ""
+
msgid "&Open..."
msgstr ""
msgid "Open Recent"
msgstr ""
+msgid "Open from Crowdin..."
+msgstr ""
+
+msgid "Open From Crowdin..."
+msgstr ""
+
msgid "&Save"
msgstr "&Saqla"
@@ -1168,6 +1427,9 @@ msgstr ""
msgid "Check for updates..."
msgstr ""
+msgid "&License..."
+msgstr ""
+
msgid "Catalogs &manager"
msgstr "Tuplama &idäräçese..."
@@ -1198,13 +1460,16 @@ msgstr ""
msgid "&Find..."
msgstr "&Ezläw..."
+msgid "Replace..."
+msgstr ""
+
msgid "Find next"
msgstr ""
msgid "Find previous"
msgstr ""
-msgid "Find"
+msgid "Find and Replace..."
msgstr ""
msgid "Find Next"
@@ -1246,6 +1511,12 @@ msgstr ""
msgid "&Group By Context"
msgstr ""
+msgid "Entries with errors first"
+msgstr ""
+
+msgid "Entries with Errors First"
+msgstr ""
+
msgid "&Untranslated entries first"
msgstr ""
@@ -1255,6 +1526,9 @@ msgstr ""
msgid "Show sidebar"
msgstr ""
+msgid "Show status bar"
+msgstr ""
+
msgid "C&atalog"
msgstr "&Tuplama"
@@ -1270,6 +1544,9 @@ msgstr "&POT biremennän yañartu..."
msgid "Update from &POT File..."
msgstr ""
+msgid "Sync with Crowdin"
+msgstr ""
+
msgid "Fill missing translations from &TM..."
msgstr ""
@@ -1288,6 +1565,9 @@ msgstr ""
msgid "&Validate Translations"
msgstr ""
+msgid "&Statistics"
+msgstr ""
+
msgid "&Properties..."
msgstr ""
@@ -1333,6 +1613,12 @@ msgstr ""
msgid "&GNU gettext Manual"
msgstr ""
+msgid "Email &support..."
+msgstr ""
+
+msgid "Email &Support..."
+msgstr ""
+
msgid "&About Poedit"
msgstr ""
@@ -1351,48 +1637,35 @@ msgstr "Çaqırtu:"
msgid "Command to extract translations:"
msgstr ""
-msgid ""
-"This is the command used to launch the extractor.\n"
-"%o expands to the name of output file, %K to list\n"
-"of keywords, %F to list of input files,\n"
-"%C to charset flag (see below)."
+msgid "This is the command used to launch the extractor.\n%o expands to the name of output file, %K to list\nof keywords, %F to list of input files,\n%C to charset flag (see below)."
msgstr ""
msgid "An item in keywords list:"
msgstr "Töp-süz tezmä kereme:"
-msgid ""
-"This will be attached to the command line once\n"
-"for each keyword. %k expands to the keyword."
-msgstr ""
-"Bu närsä ämer yulına töpsüz sayın quşıla.\n"
-"%k urınına töpsüz salına."
+msgid "This will be attached to the command line once\nfor each keyword. %k expands to the keyword."
+msgstr "Bu närsä ämer yulına töpsüz sayın quşıla.\n%k urınına töpsüz salına."
msgid "An item in input files list:"
msgstr "Birem tezmäse kereme:"
#, c-format
-msgid ""
-"This will be attached to the command line once\n"
-"for each input file. %f expands to the filename."
-msgstr ""
-"Bu närsä ämer yulına kereş-birem sayın quşıla.\n"
-"%f urınına birem adı salına."
+msgid "This will be attached to the command line once\nfor each input file. %f expands to the filename."
+msgstr "Bu närsä ämer yulına kereş-birem sayın quşıla.\n%f urınına birem adı salına."
msgid "Source code charset:"
msgstr "Çığanaq kod bilgelämäse:"
#, c-format
-msgid ""
-"This will be attached to the command line\n"
-"only if source codecharset was given. %c expands to charset value."
-msgstr ""
-"Çığanaq bilgelämäse äytelgän bulsa ğına\n"
-"bu närsä ämer yulına quşıla. %c urınına bilgelämä adı salına."
+msgid "This will be attached to the command line\nonly if source codecharset was given. %c expands to charset value."
+msgstr "Çığanaq bilgelämäse äytelgän bulsa ğına\nbu närsä ämer yulına quşıla. %c urınına bilgelämä adı salına."
msgid "Catalog properties"
msgstr ""
+msgid "Project name and version:"
+msgstr "Projektnıñ adı-söreme:"
+
msgid "Plural Forms:"
msgstr "Bar Törläre:"
@@ -1405,6 +1678,15 @@ msgstr ""
msgid "Learn about plural forms"
msgstr ""
+msgid "Charset:"
+msgstr "Bilgelämä:"
+
+msgid "Team:"
+msgstr "Törkem:"
+
+msgid "Team's email address:"
+msgstr "Törkemneñ email-adresı"
+
msgid "Translation properties"
msgstr ""
@@ -1417,9 +1699,7 @@ msgstr "Töp yul:"
msgid "Sources paths"
msgstr ""
-msgid ""
-"Use these keywords (function names) to recognize translatable strings\n"
-"in source files:"
+msgid "Use these keywords (function names) to recognize translatable strings\nin source files:"
msgstr ""
msgid "Learn about gettext keywords"
@@ -1431,22 +1711,14 @@ msgstr ""
msgid "Update summary"
msgstr "Yomğağın yañart"
-msgid ""
-"These strings were found in the sources but were not in the catalog.\n"
-"Poedit will add them to the catalog now."
-msgstr ""
-"Çığanaqlarda äle genä tabılğan bu keremnär tuplamada yuq äle.\n"
-"Poedit alarnı xäzer tuplamağa östär."
+msgid "These strings were found in the sources but were not in the catalog.\nPoedit will add them to the catalog now."
+msgstr "Çığanaqlarda äle genä tabılğan bu keremnär tuplamada yuq äle.\nPoedit alarnı xäzer tuplamağa östär."
msgid "New strings"
msgstr "Yaña sätirlär"
-msgid ""
-"These strings are no longer in the sources.\n"
-"Poedit will remove them from the catalog now."
-msgstr ""
-"Bu keremnär çığanaqlar arasında bütän yuq inde.\n"
-"Poedit alarnı bu tuplamadan xäzer beteräçäk."
+msgid "These strings are no longer in the sources.\nPoedit will remove them from the catalog now."
+msgstr "Bu keremnär çığanaqlar arasında bütän yuq inde.\nPoedit alarnı bu tuplamadan xäzer beteräçäk."
msgid "Obsolete strings"
msgstr "İskergän sätirlär"
@@ -1466,6 +1738,12 @@ msgstr ""
msgid "Check for errors in the translation"
msgstr ""
+msgid "Statistics"
+msgstr ""
+
+msgid "Show translation statistics"
+msgstr ""
+
msgid "Update"
msgstr ""
@@ -1475,16 +1753,20 @@ msgstr "Tuplamanı çığanaqlardan yañartu..."
msgid "Toggled if selected string has fuzzy translation"
msgstr "Saylanğan kerem tärcemäseneñ \"aqıllı\" bilgese"
-msgid "Show or hide the sidebar."
+msgid "Sidebar"
+msgstr ""
+
+msgid "Show or hide the sidebar"
msgstr ""
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
msgid "Previous source text:"
msgstr ""
-msgid ""
-"The old source text (before it changed during an update) that the fuzzy "
-"translation corresponds to."
+msgid "The old source text (before it changed during an update) that the fuzzy translation corresponds to."
+msgstr ""
+
+msgid "Notes for translators:"
msgstr ""
msgid "Add comment"
@@ -1493,6 +1775,18 @@ msgstr ""
msgid "Add Comment"
msgstr ""
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(from your TM)"
+msgstr ""
+
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(machine translation)"
+msgstr ""
+
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(human translation)"
+msgstr ""
+
msgid "Translation suggestions:"
msgstr ""
@@ -1507,6 +1801,83 @@ msgstr ""
msgid "This string was found in Poedit’s translation memory."
msgstr ""
+msgid "This suggestion was contributed by another translator to the online TM."
+msgstr ""
+
+msgid "This suggestion was machine-translated online."
+msgstr ""
+
+#, c-format
+msgid "%d out of %d online suggestion left."
+msgid_plural "%d out of %d online suggestions left."
+msgstr[0] ""
+
+msgid "Remove this limitation"
+msgstr ""
+
+msgid "Not showing additional online suggestions."
+msgstr ""
+
+msgid "Unlock online suggestions"
+msgstr ""
+
+msgid "Exceeded online TM daily limit."
+msgstr ""
+
+msgid "Connect to the Internet to get additional suggestions."
+msgstr ""
+
+#. TRANSLATORS: Label indicating that translations made in the current file are contributed to the online translation memory. Related to the "Contribute my translations to the online TM" string.
+msgid "Contributing"
+msgstr ""
+
+msgid "Your translations are contributed to the online translation memory as you make them. Thanks for making the suggestions better!"
+msgstr ""
+
+#. TRANSLATORS: Label indicating that the current file
+msgid "Private"
+msgstr ""
+
+msgid "Translations from this file are not shared with the online translation memory."
+msgstr ""
+
+msgid "Privacy settings"
+msgstr ""
+
+#, c-format
+msgid "While editing the file “%s”:"
+msgstr ""
+
+msgid "Items"
+msgstr ""
+
+msgid "Words"
+msgstr ""
+
+msgid "Translated"
+msgstr ""
+
+msgid "Needs review (fuzzy)"
+msgstr ""
+
+msgid "Translations with errors"
+msgstr ""
+
+msgid "Source Text"
+msgstr ""
+
+msgid "Strings in source language"
+msgstr ""
+
+msgid "Not translated"
+msgstr ""
+
+msgid "Copy to clipboard"
+msgstr ""
+
+msgid "Copy to Clipboard"
+msgstr ""
+
#, c-format
msgid "(New: %i, obsolete: %i)"
msgstr ""
@@ -1528,9 +1899,7 @@ msgstr ""
msgid "Poedit needs to convert your translation memory to a new format."
msgstr ""
-msgid ""
-"This must be done before Poedit can start. It may take a few minutes if you "
-"have lots of translations stored, but should normally be much faster."
+msgid "This must be done before Poedit can start. It may take a few minutes if you have lots of translations stored, but should normally be much faster."
msgstr ""
msgid "Proceed"
@@ -1540,42 +1909,53 @@ msgid "Translation memory migration failed."
msgstr ""
#, c-format
-msgid ""
-"Your translation memory data couldn't be migrated. The error was:\n"
-"\n"
-"%s\n"
-"Please email help at poedit.net and we’ll get it fixed."
+msgid "Your translation memory data couldn't be migrated. The error was:\n\n%s\nPlease email help at poedit.net and we’ll get it fixed."
msgstr ""
msgid "Cannot create temporary directory."
msgstr ""
+msgid "Check theme or plugin compatibility"
+msgstr ""
+
msgid "Welcome to Poedit"
msgstr ""
+msgid "Upgrade to Pro"
+msgstr ""
+
+msgid "Upgrade to Poedit Pro to get additional features and support Poedit's development."
+msgstr ""
+
msgid "Edit a translation"
msgstr ""
msgid "Open an existing PO file and edit the translation."
msgstr ""
-msgid "Create new translation"
+msgid "Take an existing PO file or POT template and create a new translation from it."
msgstr ""
-msgid ""
-"Take an existing PO file or POT template and create a new translation from "
-"it."
+msgid "Translate WordPress theme or plugin"
+msgstr ""
+
+#. TRANSLATORS: Please don't use any form of "automatically" in the translation, it would mislead people.
+msgid "Create a new translation. Poedit will set everything up; you can focus on translating."
+msgstr ""
+
+msgid "Collaborate on a translation with Crowdin"
+msgstr ""
+
+msgid "Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+
+msgid "What is Crowdin?"
msgstr ""
msgid "There are no translations. That’s unusual."
msgstr ""
-msgid ""
-"Translatable entries aren't added manually in the Gettext system, but are "
-"automatically extracted\n"
-"from source code. This way, they stay up to date and accurate.\n"
-"Translators typically use PO template files (POTs) prepared for them by the "
-"developer."
+msgid "Translatable entries aren't added manually in the Gettext system, but are automatically extracted\nfrom source code. This way, they stay up to date and accurate.\nTranslators typically use PO template files (POTs) prepared for them by the developer."
msgstr ""
msgid "(Learn more about GNU gettext)"
@@ -1590,8 +1970,7 @@ msgstr ""
msgid "Take translatable strings from an existing POT template."
msgstr ""
-msgid ""
-"You can also extract translatable strings directly from the source code:"
+msgid "You can also extract translatable strings directly from the source code:"
msgstr ""
msgid "Extract from sources"
@@ -1599,3 +1978,105 @@ msgstr ""
msgid "Configure source code extraction in Properties."
msgstr ""
+
+#, c-format
+msgid "Failed to read file '%s'."
+msgstr ""
+
+#, c-format
+msgid "Confused by ambiguous values of \"%s\" in %s."
+msgstr ""
+
+#, c-format
+msgid "Couldn't detect POs location for \"%s\"."
+msgstr ""
+
+#, c-format
+msgid "The \"%s\" theme isn't localization-ready."
+msgstr ""
+
+msgid "Confused: multiple main plugin files."
+msgstr ""
+
+#, c-format
+msgid "The \"%s\" plugin isn't localization-ready."
+msgstr ""
+
+#, c-format
+msgid "Couldn't detect translation domain of the \"%s\" plugin."
+msgstr ""
+
+msgid "Found neither WordPress theme nor plugin in the folder."
+msgstr ""
+
+#, c-format
+msgid "Translations folder (%s) doesn't exist."
+msgstr ""
+
+msgid "<big>Drag and drop <b>theme or plugin folder</b> here</big>\n\nor use the “Choose folder” button"
+msgstr ""
+
+msgid "<big>Drag and Drop <b>Theme or Plugin Folder</b> Here</big>\n\nor use the “Choose Folder” button"
+msgstr ""
+
+#, c-format
+msgid "Folder “%s”"
+msgstr ""
+
+msgid "Choose Folder..."
+msgstr ""
+
+msgid "Choose folder..."
+msgstr ""
+
+msgid "Create a new translation"
+msgstr ""
+
+msgid "Choose this if you want to translate the theme or plugin into your language."
+msgstr ""
+
+msgid "Create a POT"
+msgstr ""
+
+msgid "This option is for theme and plugin developers. Poedit will create an empty template (POT) that translations can be based on."
+msgstr ""
+
+msgid "Continue"
+msgstr ""
+
+msgid "Failed to extract WordPress information."
+msgstr ""
+
+msgid "WordPress error"
+msgstr ""
+
+#, c-format
+msgid "Poedit couldn’t understand the content of the folder you selected. This may be a problem with the plugin/theme or it may be Poedit being silly. The error is:\n\n • %s\n\nPlease email help at poedit.net and we’ll sort it out."
+msgstr ""
+
+#. TRANSLATORS: This is a button that sends an email to support when clicked
+msgid "Email support"
+msgstr ""
+
+msgid "View log"
+msgstr ""
+
+#. TRANSLATORS: This is a button that sends an email to support when clicked
+msgid "Email Support"
+msgstr ""
+
+msgid "View Log"
+msgstr ""
+
+msgid "WordPress Errors Log"
+msgstr ""
+
+msgid "Please email this log to help at poedit.net. Thank you!"
+msgstr ""
+
+msgid "Sync"
+msgstr ""
+
+msgid "Synchronize the translation with Crowdin"
+msgstr ""
+
diff --git a/locales/ug.mo b/locales/ug.mo
index a9e6f34..ba17f5c 100644
Binary files a/locales/ug.mo and b/locales/ug.mo differ
diff --git a/locales/ug.po b/locales/ug.po
index ab8ee2e..e90ce2c 100644
--- a/locales/ug.po
+++ b/locales/ug.po
@@ -1,9 +1,9 @@
msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
-"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:34-0400\n"
+"Report-Msgid-Bugs-To: poedit at googlegroups.com\n"
+"POT-Creation-Date: 2015-05-11 08:48+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Uyghur\n"
"Language: ug_CN\n"
@@ -16,6 +16,40 @@ msgstr ""
"X-Crowdin-Language: ug\n"
"X-Crowdin-File: /locales/poedit.pot\n"
+#. TRANSLATORS: This is titlebar of about dialog, "%s" is application name
+#. ("Poedit" here, but please use "%s")
+#, c-format
+msgid "About %s"
+msgstr "%s ھەققىدە"
+
+#. TRANSLATORS: This is version information in about dialog, "%s" will be
+#. version number when used
+#, c-format
+msgid "Version %s"
+msgstr "نەشر %s"
+
+msgid "Based on the open source version →"
+msgstr ""
+
+msgid "Acknowledgements"
+msgstr ""
+
+msgid "Rate on the App Store"
+msgstr ""
+
+msgid "License Agreement"
+msgstr ""
+
+#, c-format
+msgid "Licensed to %s"
+msgstr ""
+
+msgid "Purchased on the Mac App Store"
+msgstr ""
+
+msgid "Free version (please upgrade!)"
+msgstr ""
+
msgid "Hide this notification message"
msgstr "بۇ ئۇقتۇرۇش ئۇچۇرىنى يوشۇر"
@@ -38,55 +72,46 @@ msgstr ""
msgid "Malformed header: '%s'"
msgstr "كۆرۈمسىز تېما: '%s'"
-msgid ""
-"Broken catalog file: singular form msgstr used together with msgid_plural"
-msgstr ""
-"تۈر ھۆججىتى بۇزۇلغان: بىرلىك شەكلىدە msgstr بىلەن msgid_plural بىللە "
-"ئىشلىتىلگەن"
+msgid "Broken catalog file: singular form msgstr used together with msgid_plural"
+msgstr "تۈر ھۆججىتى بۇزۇلغان: بىرلىك شەكلىدە msgstr بىلەن msgid_plural بىللە ئىشلىتىلگەن"
msgid "Broken catalog file: plural form msgstr used without msgid_plural"
-msgstr ""
-"تۈر ھۆججىتى بۇزۇلغان: كۆپلۈك سان شەكلىدە msgstr ئىشلىتىپ msgid_plural "
-"ئىشلەتمىگەن"
+msgstr "تۈر ھۆججىتى بۇزۇلغان: كۆپلۈك سان شەكلىدە msgstr ئىشلىتىپ msgid_plural ئىشلەتمىگەن"
-msgid ""
-"There were errors when loading the catalog. Some data may be missing or "
-"corrupted as the result."
-msgstr ""
-"كاتالوگ ئەكىرىشتە خاتالىق يۈز بەردى. شۇ سەۋەپتىن بىر قىسىم سانلىق مەلۇمات "
-"يوقاپ كېتىشى ياكى بۇزۇلۇشى مۇمكىن."
+msgid "There were errors when loading the catalog. Some data may be missing or corrupted as the result."
+msgstr "كاتالوگ ئەكىرىشتە خاتالىق يۈز بەردى. شۇ سەۋەپتىن بىر قىسىم سانلىق مەلۇمات يوقاپ كېتىشى ياكى بۇزۇلۇشى مۇمكىن."
#, c-format
msgid "Couldn't load file %s, it is probably corrupted."
msgstr "%s ھۆججەتنى يۈكلىيەلمىدى. بۇزۇلغان بولۇشى مۇمكىن."
#, c-format
-msgid ""
-"File '%s' is read-only and cannot be saved.\n"
-"Please save it under different name."
-msgstr ""
-"'%s' ھۆججىتىنى ئوقۇشقىلا بولىدۇ ساقلاشقا بولمايدۇ.\n"
-"باشقا ئىسىمدا ساقلاڭ."
+msgid "File '%s' is read-only and cannot be saved.\nPlease save it under different name."
+msgstr "'%s' ھۆججىتىنى ئوقۇشقىلا بولىدۇ ساقلاشقا بولمايدۇ.\nباشقا ئىسىمدا ساقلاڭ."
#, c-format
msgid "Couldn't save file %s."
msgstr "%s ھۆججەتنى ساقلىيالمىدى."
-msgid ""
-"There was a problem formatting the file nicely (but it was saved all right)."
+msgid "There was a problem formatting the file nicely (but it was saved all right)."
msgstr "ھۆججەت فورماتىدا مەسىلە بار(ئەمما ئۇ مۇۋەپپەقىيەتلىك ساقلاندى)."
#, c-format
-msgid ""
-"The catalog couldn't be saved in '%s' charset as specified in catalog "
-"settings.\n"
-"\n"
-"It was saved in UTF-8 instead and the setting was modified accordingly."
+msgid "The catalog couldn't be saved in '%s' charset as specified in catalog settings.\n\nIt was saved in UTF-8 instead and the setting was modified accordingly."
msgstr ""
msgid "Error saving catalog"
msgstr "كاتالوگ ساقلاش خاتالىقى"
+msgid "PO Translation Files"
+msgstr ""
+
+msgid "POT Translation Templates"
+msgstr ""
+
+msgid "All Translation Files"
+msgstr ""
+
msgid "Merging differences..."
msgstr "پەرقنى بىرلەشتۈرۈۋاتىدۇ…"
@@ -106,6 +131,81 @@ msgstr "تىل تاللاش"
msgid "You must restart Poedit for this change to take effect."
msgstr "بۇ ئۆزگەرتىش كۈچكە ئىگە بولۇشى ئۈچۈن Poedit نى چوقۇم قايتا قوزغىتىڭ."
+msgid "Downloading translations is disabled in this project."
+msgstr ""
+
+msgid "Not authorized, please sign in again."
+msgstr ""
+
+msgid "Sign in to Crowdin"
+msgstr ""
+
+msgid "Crowdin is an online localization management platform and collaborative translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+
+msgid "Sign In"
+msgstr ""
+
+msgid "Sign in"
+msgstr ""
+
+msgid "Sign Out"
+msgstr ""
+
+msgid "Sign out"
+msgstr ""
+
+msgid "Waiting for authentication…"
+msgstr ""
+
+msgid "Updating user information…"
+msgstr ""
+
+msgid "Signed in as:"
+msgstr ""
+
+msgid "Learn More About Crowdin"
+msgstr ""
+
+msgid "Learn more about Crowdin"
+msgstr ""
+
+msgid "Open Crowdin translation"
+msgstr ""
+
+msgid "Project:"
+msgstr ""
+
+msgid "Language:"
+msgstr "تىل:"
+
+msgid "File:"
+msgstr ""
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr ""
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr ""
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr ""
+
+msgid "Downloading latest translations…"
+msgstr ""
+
+msgid "Syncing with Crowdin"
+msgstr ""
+
+msgid "Syncing with Crowdin failed."
+msgstr ""
+
+msgid "Crowdin error"
+msgstr ""
+
+msgid "Uploading translations…"
+msgstr ""
+
msgid "&Copy"
msgstr ""
@@ -133,23 +233,43 @@ msgstr "%s ھۆججەتنى يېشىۋاتىدۇ…"
msgid "Failed to load extracted catalog."
msgstr "يەشكەن كاتالوگنى يۈكلەش مەغلۇپ بولدى."
+#, c-format
+msgid "Failed to extract WordPress metadata from file %s."
+msgstr ""
+
msgid "&Help"
msgstr "ياردەم(&H)"
+msgid "Beta expired"
+msgstr ""
+
+msgid "This beta version of Poedit expired."
+msgstr ""
+
+msgid "Please download a newer version from the Poedit website at http://poedit.net/download"
+msgstr ""
+
+msgid "Download"
+msgstr ""
+
+msgid "Quit"
+msgstr "چېكىن"
+
msgid "MO files can’t be directly edited in Poedit."
msgstr ""
msgid "Error opening file"
msgstr ""
-msgid ""
-"Please open and edit the corresponding PO file instead. When you save it, "
-"the MO file will be updated as well."
+msgid "Please open and edit the corresponding PO file instead. When you save it, the MO file will be updated as well."
msgstr ""
msgid "don't delete temporary files (for debugging)"
msgstr "ۋاقىتلىق ھۆججەتلەرنى ئۆچۈرمە (سازلاش ئۈچۈن)"
+msgid "handle a poedit:// URI"
+msgstr ""
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr ""
@@ -160,34 +280,19 @@ msgstr ""
msgid "Open catalog"
msgstr "كاتالوگ ئاچ"
-msgid "All Files"
-msgstr ""
-
-msgid "PO Translation Files"
-msgstr ""
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "'%s' ھۆججەت مەۋجۇد ئەمەس."
-#. TRANSLATORS: This is titlebar of about dialog, "%s" is application name
-#. ("Poedit" here, but please use "%s")
-#, c-format
-msgid "About %s"
-msgstr "%s ھەققىدە"
-
-#. TRANSLATORS: This is version information in about dialog, "%s" will be
-#. version number when used
-#, c-format
-msgid "Version %s"
-msgstr "نەشر %s"
-
msgid "Poedit is an easy to use translations editor."
msgstr "Poedit ئىشلىتىش ناھايىتى ئوڭاي بولغان تەرجىمە تەھرىرلىگۈچ"
msgid "Catalogs Manager"
msgstr ""
+msgid "License..."
+msgstr ""
+
msgid "Check for Updates..."
msgstr ""
@@ -269,6 +374,15 @@ msgstr ""
msgid "&View"
msgstr "ﻛﯚﺭﯛﻧﯜﺵ(&V)"
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
+msgid "Show Toolbar"
+msgstr ""
+
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
+msgid "Customize Toolbar…"
+msgstr ""
+
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
msgid "Enter Full Screen"
msgstr ""
@@ -284,17 +398,27 @@ msgstr ""
msgid "Bring All to Front"
msgstr ""
+#. TRANSLATORS:File kind displayed in Finder/Explorer
msgid "PO Translation"
msgstr ""
+msgid "Invalid license data."
+msgstr ""
+
+msgid "Poedit"
+msgstr "Poedit"
+
+#, c-format
+msgid "The link doesn't contain valid Poedit license. Try entering it manually or contact support at help at poedit.net.\n\n(%s)"
+msgstr ""
+
msgid "The file cannot be opened."
msgstr ""
msgid "Invalid file"
msgstr ""
-msgid ""
-"The file may be either corrupted or in a format not recognized by Poedit."
+msgid "The file may be either corrupted or in a format not recognized by Poedit."
msgstr ""
msgid "&Undo"
@@ -372,9 +496,6 @@ msgstr "Poedit كۆزنىكىگە بىردىن ئارتۇق ھۆججەت تاش
msgid "File '%s' is not a message catalog."
msgstr "'%s' ھۆججىتى ئۇچۇر كاتالوگى ئەمەس."
-msgid "Poedit"
-msgstr "Poedit"
-
msgid "&File"
msgstr "ھۆججەت(&F)"
@@ -393,12 +514,20 @@ msgstr "كۆپلۈك:"
msgid "Translation:"
msgstr "تەرجىمە:"
+msgid "POT files are only templates and don’t contain any translations themselves.\nTo make a translation, create a new PO file based on the template."
+msgstr ""
+
+msgid "Create New Translation"
+msgstr ""
+
+msgid "Create new translation"
+msgstr ""
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
#, c-format
-msgid ""
-"Spellchecking is disabled, because the dictionary for %s isn’t installed."
+msgid "Spellchecking is disabled, because the dictionary for %s isn’t installed."
msgstr ""
msgid "Install"
@@ -440,7 +569,29 @@ msgstr ""
msgid "Open catalog template"
msgstr "كاتالوگ قېلىپىنى ئاچ"
-msgid "POT Translation Templates"
+msgid "WordPress"
+msgstr ""
+
+msgid "Analyzing WordPress code..."
+msgstr ""
+
+msgid "Select the folder with the WordPress theme or plugin"
+msgstr ""
+
+#. TRANSLATORS: %s is name of a WordPress theme
+#, c-format
+msgid "The “%s” theme is compatible."
+msgstr ""
+
+#. TRANSLATORS: %s is name of a WordPress plugin
+#, c-format
+msgid "The “%s” plugin is compatible."
+msgstr ""
+
+msgid "The theme is translation-ready and compatible with Poedit’s WordPress support."
+msgstr ""
+
+msgid "The plugin is translation-ready and compatible with Poedit’s WordPress support."
msgstr ""
msgid "Updating catalog"
@@ -452,18 +603,14 @@ msgstr ""
msgid "Updating failed"
msgstr ""
-msgid ""
-"Translations couldn’t be updated from the source code, because no code was "
-"found in the location specified in the catalog’s Properties."
+msgid "Translations couldn’t be updated from the source code, because no code was found in the location specified in the catalog’s Properties."
msgstr ""
msgid "Entries in the catalog are probably incorrect."
msgstr "كاتالوگدىكى تۈرلەر توغرا بولماسلىقى مۇمكىن."
msgid "Updating the catalog failed. Click on 'Details >>' for details."
-msgstr ""
-"كاتالوگنى يېڭىلاش مەغلۇپ بولدى. 'تەپسىلاتى››' نى چېكىپ تەپسىلىي ئۇچۇرغا "
-"ئېرىشىڭ."
+msgstr "كاتالوگنى يېڭىلاش مەغلۇپ بولدى. 'تەپسىلاتى››' نى چېكىپ تەپسىلىي ئۇچۇرغا ئېرىشىڭ."
#, c-format
msgid "%d issue with the translation found."
@@ -473,27 +620,19 @@ msgstr[0] ""
msgid "Validation results"
msgstr ""
-msgid ""
-"Entries with errors were marked in red in the list. Details of the error "
-"will be shown when you select such an entry."
+msgid "Entries with errors were marked in red in the list. Details of the error will be shown when you select such an entry."
msgstr ""
msgid "The file was saved safely."
msgstr ""
-msgid ""
-"The file was saved safely and compiled into the MO format, but it will "
-"probably not work correctly."
+msgid "The file was saved safely and compiled into the MO format, but it will probably not work correctly."
msgstr ""
-msgid ""
-"The file was saved safely, but it cannot be compiled into the MO format and "
-"used."
+msgid "The file was saved safely, but it cannot be compiled into the MO format and used."
msgstr ""
-msgid ""
-"The file was compiled into the MO format, but it will probably not work "
-"correctly."
+msgid "The file was compiled into the MO format, but it will probably not work correctly."
msgstr ""
msgid "The file cannot be compiled into the MO format and used."
@@ -504,25 +643,40 @@ msgstr ""
#, c-format
msgid "The translation is ready for use, but %d entry is not translated yet."
-msgid_plural ""
-"The translation is ready for use, but %d entries are not translated yet."
+msgid_plural "The translation is ready for use, but %d entries are not translated yet."
msgstr[0] ""
msgid "The translation is ready for use."
msgstr ""
-msgid "No references to this string found."
-msgstr "بۇ ھەرپ تىزمىسىنىڭ پايدىلانمىسى تېپىلمىدى"
+msgid "Contributing translations improves the quality of online suggestions for everybody — the more people do it, the better the suggestions can be. Your translations are submitted anonymously and are available to other translators using Poedit or other CAT tools."
+msgstr ""
+
+msgid "Can Poedit contribute your translations of this file to the online translation memory?"
+msgstr ""
+
+msgid "Apply to all files I edit"
+msgstr ""
+
+msgid "Contribute"
+msgstr ""
-msgid "Please choose the reference you want to show:"
-msgstr "سىز كۆرسەتمەكچى بولغان پايدىلانمىنى تاللاڭ:"
+msgid "Keep Private"
+msgstr ""
-msgid "References"
-msgstr "نەقىل"
+msgid "Keep private"
+msgstr ""
msgid "Context:"
msgstr ""
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr ""
+
+msgid "The file contained duplicate items, which is not allowed in PO files and would prevent the file from being used. Poedit fixed the issue, but you should review translations of any items marked as fuzzy and correct them if necessary."
+msgstr ""
+
msgid "Language of the translation isn't set."
msgstr ""
@@ -532,19 +686,24 @@ msgstr ""
msgid "Set language"
msgstr ""
-msgid ""
-"This catalog has entries with plural forms, but doesn't have Plural-Forms "
-"header configured."
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid "Suggestions are not available if the translation language is not set correctly. Other features, such as plural forms, may be affected as well."
msgstr ""
-"بۇ كاتالوگنىڭ كۆپلۈك شەكلىدىكى تۈرلىرى بار ئىكەن ئەمما كۆپلۈك شەكلىنىڭ باش "
-"سەپلىمىسى يوقكەن."
-msgid ""
-"Entries in this catalog have different plural forms count from what "
-"catalog's Plural-Forms header says"
+msgid "Language of the translation is the same as source language."
msgstr ""
-"كاتالوگ كۆپلۈك شەكىل بېشىدا كاتالوگ تۈرلىرىنىڭ ئوخشاش بولمىغان كۆپلۈك "
-"شەكلىدىكى سانىغۇچ تۈرلىرى بار ئىكەن"
+
+msgid "Fix Language"
+msgstr ""
+
+msgid "Fix language"
+msgstr ""
+
+msgid "This catalog has entries with plural forms, but doesn't have Plural-Forms header configured."
+msgstr "بۇ كاتالوگنىڭ كۆپلۈك شەكلىدىكى تۈرلىرى بار ئىكەن ئەمما كۆپلۈك شەكلىنىڭ باش سەپلىمىسى يوقكەن."
+
+msgid "Entries in this catalog have different plural forms count from what catalog's Plural-Forms header says"
+msgstr "كاتالوگ كۆپلۈك شەكىل بېشىدا كاتالوگ تۈرلىرىنىڭ ئوخشاش بولمىغان كۆپلۈك شەكلىدىكى سانىغۇچ تۈرلىرى بار ئىكەن"
msgid "Required header Plural-Forms is missing."
msgstr ""
@@ -566,6 +725,7 @@ msgstr "باشنى ئوڭشا"
msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr ""
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr ""
@@ -586,12 +746,21 @@ msgid "%d error"
msgid_plural "%d errors"
msgstr[0] ""
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] ""
+
msgid " (unsaved)"
msgstr ""
msgid " (modified)"
msgstr " (ئۆزگەرتىلگەن)"
+#, c-format
+msgid " (beta version expires %s)"
+msgstr ""
+
msgid "Go"
msgstr ""
@@ -605,14 +774,8 @@ msgstr "ئۆچۈرۈلگەن تەرجىمىنى تازىلا"
msgid "Do you want to remove all translations that are no longer used?"
msgstr "ئىشلىتىلمەيدىغان ھەممە تەرجىمىنى ئۆچۈرەمسىز؟"
-msgid ""
-"If you continue with purging, all translations marked as deleted will be "
-"permanently removed. You will have to translate them again if they are added "
-"back in the future."
-msgstr ""
-"ئەگەر تازىلاشنى داۋاملاشتۇرسىڭىز، ئۆچۈرۈلدى بەلگىسى سېلىنغان ھەممە تەرجىمە "
-"مەڭگۈلۈك ئۆچۈرۈلىدۇ. ئەگەر كەلگۈسىدە ئۇلارنى قايتا قوشسىڭىز يەنە باشتىن "
-"تەرجىمە قىلىشقا توغرا كېلىدۇ."
+msgid "If you continue with purging, all translations marked as deleted will be permanently removed. You will have to translate them again if they are added back in the future."
+msgstr "ئەگەر تازىلاشنى داۋاملاشتۇرسىڭىز، ئۆچۈرۈلدى بەلگىسى سېلىنغان ھەممە تەرجىمە مەڭگۈلۈك ئۆچۈرۈلىدۇ. ئەگەر كەلگۈسىدە ئۇلارنى قايتا قوشسىڭىز يەنە باشتىن تەرجىمە قىلىشقا توغرا كېلىدۇ."
msgid "Keep"
msgstr "ساقلاپ قال"
@@ -626,17 +789,22 @@ msgstr ""
msgid "Only fill in exact matches"
msgstr ""
-msgid ""
-"By default, inaccurate results are filled in as well and marked as fuzzy. "
-"Check this option to only include accurate matches."
+msgid "By default, inaccurate results are filled in as well and marked as fuzzy. Check this option to only include accurate matches."
msgstr ""
msgid "Don’t mark exact matches as fuzzy"
msgstr ""
-msgid ""
-"Only enable if you trust the quality of your TM. By default, all matches "
-"from the TM are marked as fuzzy and should be reviewed."
+msgid "Only enable if you trust the quality of your TM. By default, all matches from the TM are marked as fuzzy and should be reviewed."
+msgstr ""
+
+msgid "Use online suggestions"
+msgstr ""
+
+msgid "Use online suggestions (experimental)"
+msgstr ""
+
+msgid "Try to fetch translations from the online TM as well. Notice that the translations will not be perfect and will still need to be corrected by a human translator."
msgstr ""
msgid "Fill"
@@ -647,18 +815,13 @@ msgid "%d entry was filled from the translation memory."
msgid_plural "%d entries were filled from the translation memory."
msgstr[0] ""
-msgid ""
-"The translations were marked as fuzzy, because they may be inaccurate. You "
-"should review them for correctness."
+msgid "The translations were marked as fuzzy, because they may be inaccurate. You should review them for correctness."
msgstr ""
msgid "No entries could be filled from the translation memory."
msgstr ""
-msgid ""
-"The TM doesn’t contain any strings similar to the content of this file. It "
-"is only effective for semi-automatic translations after Poedit learns enough "
-"from files that you translated manually."
+msgid "The TM doesn’t contain any strings similar to the content of this file. It is only effective for semi-automatic translations after Poedit learns enough from files that you translated manually."
msgstr ""
msgid "Translating"
@@ -700,6 +863,9 @@ msgstr ""
msgid "Form %i"
msgstr "شەكىل %i"
+msgid "Singular"
+msgstr ""
+
msgid "Zero"
msgstr ""
@@ -709,6 +875,9 @@ msgstr ""
msgid "Two"
msgstr ""
+msgid "Plural"
+msgstr ""
+
msgid "Other"
msgstr ""
@@ -737,6 +906,12 @@ msgstr ""
msgid "Show Sidebar"
msgstr ""
+msgid "Hide Status Bar"
+msgstr ""
+
+msgid "Show Status Bar"
+msgstr ""
+
msgid "Source text"
msgstr "مەنبە تېكست"
@@ -746,6 +921,10 @@ msgstr "تەرجىمىسى"
msgid "ID"
msgstr ""
+#, c-format
+msgid "Source text — %s"
+msgstr ""
+
msgid "unknown language"
msgstr ""
@@ -756,42 +935,6 @@ msgstr ""
msgid "Error:"
msgstr ""
-msgid "Project info"
-msgstr "قۇرۇلۇش ئۇچۇرى"
-
-msgid "Project name and version:"
-msgstr "قۇرۇلۇش ئاتى ۋە نەشرى:"
-
-msgid "Language:"
-msgstr "تىل:"
-
-msgid "Team:"
-msgstr "قوشۇن:"
-
-msgid "Team's email address:"
-msgstr "قوشۇن ئېلخەت ئادرېسى:"
-
-msgid "Charset:"
-msgstr "كودلاش:"
-
-msgid "Source"
-msgstr "مەنبە"
-
-msgid "Notes"
-msgstr "ئىزاھاتلار"
-
-msgid "Automatic translation"
-msgstr "ئۆزلۈكىدىن تەرجىمە"
-
-msgid "Fuzzy translation"
-msgstr "مۈجمەل تەرجىمە"
-
-msgid "Notes for translators:"
-msgstr ""
-
-msgid "Comment:"
-msgstr "ئىزاھات:"
-
msgid "Source file"
msgstr "مەنبە ھۆججەت"
@@ -804,11 +947,63 @@ msgstr ""
msgid "Open in editor"
msgstr ""
+msgid "No references for the selected item."
+msgstr ""
+
#, c-format
msgid "Error opening file %s!"
msgstr "%s ھۆججەت ئېچىش خاتالىقى!"
-#, c-format
+msgid "Find"
+msgstr ""
+
+msgid "Replace"
+msgstr ""
+
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr ""
+
+msgid "Ignore case"
+msgstr ""
+
+msgid "Wrap around"
+msgstr ""
+
+msgid "Whole words only"
+msgstr "بارلىق سۆزلەرلا"
+
+msgid "Find in source texts"
+msgstr ""
+
+msgid "Find in translations"
+msgstr "تەرجىمىدىن ئىزدە"
+
+msgid "Find in comments"
+msgstr "ئىزاھاتتىن ئىزدە"
+
+msgid "Close"
+msgstr "ياپ"
+
+msgid "Replace All"
+msgstr ""
+
+msgid "Replace all"
+msgstr ""
+
+msgid "< &Previous"
+msgstr ""
+
+msgid "&Next >"
+msgstr ""
+
+msgid "String to find"
+msgstr ""
+
+msgid "Replacement string"
+msgstr ""
+
+#, c-format
msgid "Cannot execute program: %s"
msgstr "پروگراممىنى ئىجرا قىلالمايدۇ: %s"
@@ -821,6 +1016,55 @@ msgstr ""
msgid "Language of the translation:"
msgstr ""
+msgid "Poedit Registration"
+msgstr ""
+
+msgid "Name"
+msgstr ""
+
+msgid "License Key"
+msgstr ""
+
+msgid "The registration key can be used on multiple computers you use personally or for multiple\naccounts on a single computer."
+msgstr ""
+
+msgid "Buy Online..."
+msgstr ""
+
+msgid "Buy online..."
+msgstr ""
+
+msgid "Cancel"
+msgstr "ۋاز كەچ"
+
+msgid "Register"
+msgstr ""
+
+msgid "Your copy is upgraded to Poedit Pro."
+msgstr ""
+
+msgid "You’re awesome! Thank you so much\nfor purchasing Poedit Pro."
+msgstr ""
+
+msgid "View License Key"
+msgstr ""
+
+msgid "View license key"
+msgstr ""
+
+#, c-format
+msgid "Licensed to: %s"
+msgstr ""
+
+msgid "Purchasing the full version will unlock more features\nin this and future versions of Poedit, including:\n\n"
+msgstr ""
+
+msgid "Upgrade..."
+msgstr ""
+
+msgid "No, thanks"
+msgstr ""
+
msgid "Poedit - Catalogs manager"
msgstr "Poedit - كاتالوگ باشقۇرغۇچ"
@@ -857,9 +1101,7 @@ msgstr "بۇ تۈرنى ئۆچۈرەمسىز؟"
msgid "Confirmation"
msgstr "جەزملە"
-msgid ""
-"Do you really want to do mass update of\n"
-"all catalogs in this project?"
+msgid "Do you really want to do mass update of\nall catalogs in this project?"
msgstr "بۇ قۇرۇلۇشتىكى بارلىق تۈرلەرنى راستىنلا توپ يېڭىلامسىز؟"
msgid "Information about the translator"
@@ -877,9 +1119,7 @@ msgstr ""
msgid "your_email at example.com"
msgstr ""
-msgid ""
-"Your name and email address are only used to set the Last-Translator header "
-"of GNU gettext files."
+msgid "Your name and email address are only used to set the Last-Translator header of GNU gettext files."
msgstr ""
msgid "Editing"
@@ -897,15 +1137,8 @@ msgstr ""
msgid "Always change focus to text input field"
msgstr "خەت كىرگۈزۈش رايونىدىكى مەركىزى نۇقتىسىنى دائىم ئۆزگەرت"
-msgid ""
-"Never let the list of strings take focus. If enabled, you must use Ctrl-"
-"arrows for keyboard navigation but you can also type text immediately, "
-"without having to press Tab to change focus."
-msgstr ""
-"مەركىزى نۇقتىنى ھەرپ تىزمىسى جەدۋىلىدە توختاتماڭ. ئەگەر قوزغاتسىڭىز، چوقۇم "
-"Ctrl بىلەن يۆنىلىش كۇنۇپكىسىنى ئىشلىتىپ يول باشلىيالايسىز، ئەمما بۇنداق "
-"قىلسىڭىز دەرھال تېكست كىرگۈزەلەيسىز، Tab نى بېسىپ مەركىزىي نۇقتىنى "
-"يۆتكىمىسىڭىزمۇ بولىدۇ."
+msgid "Never let the list of strings take focus. If enabled, you must use Ctrl-arrows for keyboard navigation but you can also type text immediately, without having to press Tab to change focus."
+msgstr "مەركىزى نۇقتىنى ھەرپ تىزمىسى جەدۋىلىدە توختاتماڭ. ئەگەر قوزغاتسىڭىز، چوقۇم Ctrl بىلەن يۆنىلىش كۇنۇپكىسىنى ئىشلىتىپ يول باشلىيالايسىز، ئەمما بۇنداق قىلسىڭىز دەرھال تېكست كىرگۈزەلەيسىز، Tab نى بېسىپ مەركىزىي نۇقتىنى يۆتكىمىسىڭىزمۇ بولىدۇ."
msgid "Appearance"
msgstr ""
@@ -942,11 +1175,29 @@ msgstr ""
msgid "Consult TM when updating from sources"
msgstr ""
-msgid ""
-"If enabled, Poedit will try to fill in new entries using your previous\n"
-"translations stored in the translation memory. If the TM is\n"
-"near-empty, it will not be very effective. The more translations\n"
-"you edit and the larger the TM grows, the better it gets."
+msgid "If enabled, Poedit will try to fill in new entries using your previous\ntranslations stored in the translation memory. If the TM is\nnear-empty, it will not be very effective. The more translations\nyou edit and the larger the TM grows, the better it gets."
+msgstr ""
+
+msgid "Use suggestions from online collaborative TM"
+msgstr ""
+
+msgid "Poedit uses a large online translation memory that includes both contributed human translations and state-of-the-art machine translations."
+msgstr ""
+
+msgid "Contribute my translations to the online TM"
+msgstr ""
+
+msgid "Keep my translations private"
+msgstr ""
+
+msgid "Ask me for each file individually"
+msgstr ""
+
+msgid "Terms of Service"
+msgstr ""
+
+#. TRANSLATORS: This is part of footer that says in full "powered by MyMemory", with the MyMemory part being a logo
+msgid "powered by"
msgstr ""
msgid "Stored translations:"
@@ -973,23 +1224,16 @@ msgstr ""
msgid "Are you sure you want to reset the translation memory?"
msgstr ""
-msgid ""
-"Resetting the translation memory will irrevocably delete all stored "
-"translations from it. You can’t undo this operation."
+msgid "Resetting the translation memory will irrevocably delete all stored translations from it. You can’t undo this operation."
msgstr ""
-msgid "Cancel"
-msgstr "ۋاز كەچ"
-
#. TRANSLATORS: This is abbreviation of "Translation Memory" used in Preferences on OS X.
#. Long text looks weird there, too short (like TM) too, but less so. "General" is about ideal
#. length there.
msgid "TM"
msgstr ""
-msgid ""
-"Source code extractors are used to find translatable strings in the source "
-"code files and extract them so that they can be translated."
+msgid "Source code extractors are used to find translatable strings in the source code files and extract them so that they can be translated."
msgstr ""
msgid "New"
@@ -998,26 +1242,32 @@ msgstr "يېڭى"
msgid "Edit"
msgstr "تەھرىر"
+msgid "Delete extractor"
+msgstr ""
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr ""
+
msgid "Extractors"
msgstr ""
+msgid "Accounts"
+msgstr ""
+
msgid "Automatically check for updates"
msgstr ""
msgid "Include beta versions"
msgstr ""
-msgid ""
-"Beta versions contain the latest new features and improvements, but may be a "
-"bit less stable."
+msgid "Beta versions contain the latest new features and improvements, but may be a bit less stable."
msgstr ""
msgid "Updates"
msgstr ""
-msgid ""
-"These settings affect internal formatting of PO files. Adjust them if you "
-"have specific requirements e.g. because of version control."
+msgid "These settings affect internal formatting of PO files. Adjust them if you have specific requirements e.g. because of version control."
msgstr ""
msgid "Line endings:"
@@ -1039,6 +1289,30 @@ msgstr ""
msgid "Advanced"
msgstr ""
+msgid "Add Files..."
+msgstr ""
+
+msgid "Add files..."
+msgstr ""
+
+msgid "Add Folders..."
+msgstr ""
+
+msgid "Add folders..."
+msgstr ""
+
+msgid "Add Wildcard..."
+msgstr ""
+
+msgid "Add wildcard..."
+msgstr ""
+
+msgid "<big>Drag and Drop Folders Here</big>\n\nor use the + button"
+msgstr ""
+
+msgid "<big>Drag and drop folders here</big>\n\nor use the + button"
+msgstr ""
+
msgid "Additional keywords"
msgstr ""
@@ -1060,6 +1334,9 @@ msgstr "UTF-8 (تەۋسىيە)"
msgid "Please save the file first. This section cannot be edited until then."
msgstr ""
+msgid "Comment:"
+msgstr "ئىزاھات:"
+
msgid "OK"
msgstr "جەزملە"
@@ -1069,42 +1346,6 @@ msgstr ""
msgid "Clear the comment"
msgstr "ئىزاھاتنى تازىلا"
-msgid "Find..."
-msgstr "ئىزدە…"
-
-msgid "String to find:"
-msgstr "ھەرپ تىزمىسى ئىزدە:"
-
-msgid "Case sensitive"
-msgstr "چوڭ كىچىك يېزىلىشنى پەرقلەندۈر"
-
-msgid "Start from the first item"
-msgstr "بىرىنچى تۈردىن باشلا"
-
-msgid "Whole words only"
-msgstr "بارلىق سۆزلەرلا"
-
-msgid "Find in original strings"
-msgstr "ئەسلى تېكستتىن ئىزدە"
-
-msgid "Find in translations"
-msgstr "تەرجىمىدىن ئىزدە"
-
-msgid "Find in comments"
-msgstr "ئىزاھاتتىن ئىزدە"
-
-msgid "Find in automatic comments"
-msgstr "ئاپتوماتىك ئىزاھاتتىن ئىزدە"
-
-msgid "Close"
-msgstr "ياپ"
-
-msgid "< &Previous"
-msgstr ""
-
-msgid "&Next >"
-msgstr ""
-
msgid "Create new translations project"
msgstr "يېڭى تەرجىمە قۇرۇلۇشى قۇر"
@@ -1141,9 +1382,6 @@ msgstr "ياپ(&C)"
msgid "E&xit"
msgstr "ﭼﯧﻜﯩﻦ(&X)"
-msgid "Quit"
-msgstr "چېكىن"
-
msgid "&New..."
msgstr ""
@@ -1153,12 +1391,24 @@ msgstr ""
msgid "New From &POT/PO File..."
msgstr ""
+msgid "New WordPress translation..."
+msgstr ""
+
+msgid "New WordPress Translation..."
+msgstr ""
+
msgid "&Open..."
msgstr "ئاچ(&O)…"
msgid "Open Recent"
msgstr ""
+msgid "Open from Crowdin..."
+msgstr ""
+
+msgid "Open From Crowdin..."
+msgstr ""
+
msgid "&Save"
msgstr "ساقلا(&S)"
@@ -1177,6 +1427,9 @@ msgstr ""
msgid "Check for updates..."
msgstr ""
+msgid "&License..."
+msgstr ""
+
msgid "Catalogs &manager"
msgstr "كاتالوگ باشقۇرغۇچ(&M)"
@@ -1207,13 +1460,16 @@ msgstr "نەقىل ﻛﯚﺭﺳﻪﺕ(&S)"
msgid "&Find..."
msgstr "ئىزدە(&F)…"
+msgid "Replace..."
+msgstr ""
+
msgid "Find next"
msgstr ""
msgid "Find previous"
msgstr ""
-msgid "Find"
+msgid "Find and Replace..."
msgstr ""
msgid "Find Next"
@@ -1255,6 +1511,12 @@ msgstr ""
msgid "&Group By Context"
msgstr ""
+msgid "Entries with errors first"
+msgstr ""
+
+msgid "Entries with Errors First"
+msgstr ""
+
msgid "&Untranslated entries first"
msgstr "تەرجىمە قىلىنمىغان بىرىنچى تۈر(&U)"
@@ -1264,6 +1526,9 @@ msgstr "تەرجىمە قىلىنمىغان بىرىنچى تۈر(&U)"
msgid "Show sidebar"
msgstr ""
+msgid "Show status bar"
+msgstr ""
+
msgid "C&atalog"
msgstr "كاتالوگ(&A)"
@@ -1279,6 +1544,9 @@ msgstr "&POT ھۆججەتتىن يېڭىلا…"
msgid "Update from &POT File..."
msgstr "&POT ھۆججەتتىن يېڭىلا…"
+msgid "Sync with Crowdin"
+msgstr ""
+
msgid "Fill missing translations from &TM..."
msgstr ""
@@ -1297,6 +1565,9 @@ msgstr ""
msgid "&Validate Translations"
msgstr ""
+msgid "&Statistics"
+msgstr ""
+
msgid "&Properties..."
msgstr "خاسلىق(&P)…"
@@ -1342,6 +1613,12 @@ msgstr ""
msgid "&GNU gettext Manual"
msgstr ""
+msgid "Email &support..."
+msgstr ""
+
+msgid "Email &Support..."
+msgstr ""
+
msgid "&About Poedit"
msgstr ""
@@ -1360,48 +1637,35 @@ msgstr "يۆتكەپ ئىشلىتىش جەريانى:"
msgid "Command to extract translations:"
msgstr ""
-msgid ""
-"This is the command used to launch the extractor.\n"
-"%o expands to the name of output file, %K to list\n"
-"of keywords, %F to list of input files,\n"
-"%C to charset flag (see below)."
+msgid "This is the command used to launch the extractor.\n%o expands to the name of output file, %K to list\nof keywords, %F to list of input files,\n%C to charset flag (see below)."
msgstr ""
msgid "An item in keywords list:"
msgstr "ھالقىلىق سۆز تىزىملىكىدىكى بىر تۈر:"
-msgid ""
-"This will be attached to the command line once\n"
-"for each keyword. %k expands to the keyword."
-msgstr ""
-"ھەر بىر ھالقىلىق سۆزگە قارىتا يۇقىرىدىكى مەزمۇن بۇيرۇق\n"
-"قۇرىنىڭ كەينىگە قوشۇلىدۇ. %k ھالقىلىق سۆز بولۇپ يېشىلىدۇ.."
+msgid "This will be attached to the command line once\nfor each keyword. %k expands to the keyword."
+msgstr "ھەر بىر ھالقىلىق سۆزگە قارىتا يۇقىرىدىكى مەزمۇن بۇيرۇق\nقۇرىنىڭ كەينىگە قوشۇلىدۇ. %k ھالقىلىق سۆز بولۇپ يېشىلىدۇ.."
msgid "An item in input files list:"
msgstr "ھۆججەت تىزىملىكى كىرگۈزۈشتىكى بىر تۈر:"
#, c-format
-msgid ""
-"This will be attached to the command line once\n"
-"for each input file. %f expands to the filename."
-msgstr ""
-"كىرگۈزگەن ھەر بىر ھۆججەتكە نىسبەتەن يۇقىرىدىكى مەزمۇن بۇيرۇق\n"
-"قۇرىنىڭ كەينىگە قوشۇلىدۇ. %f ھۆججەت نامى بولۇپ يېشىلىدۇ."
+msgid "This will be attached to the command line once\nfor each input file. %f expands to the filename."
+msgstr "كىرگۈزگەن ھەر بىر ھۆججەتكە نىسبەتەن يۇقىرىدىكى مەزمۇن بۇيرۇق\nقۇرىنىڭ كەينىگە قوشۇلىدۇ. %f ھۆججەت نامى بولۇپ يېشىلىدۇ."
msgid "Source code charset:"
msgstr "مەنبە كودىنىڭ كودلىنىشى:"
#, c-format
-msgid ""
-"This will be attached to the command line\n"
-"only if source codecharset was given. %c expands to charset value."
-msgstr ""
-"بۇ مەزمۇن بۇيرۇق قۇرىغا قوشۇلىدۇ\n"
-"مەنبە كودى بېرىلگەندىلا. %c ھەرپ بەلگە تىزمىسى قىممىتى قىلىپ يېيىلىدۇ."
+msgid "This will be attached to the command line\nonly if source codecharset was given. %c expands to charset value."
+msgstr "بۇ مەزمۇن بۇيرۇق قۇرىغا قوشۇلىدۇ\nمەنبە كودى بېرىلگەندىلا. %c ھەرپ بەلگە تىزمىسى قىممىتى قىلىپ يېيىلىدۇ."
msgid "Catalog properties"
msgstr "كاتالوگ خاسلىقى"
+msgid "Project name and version:"
+msgstr "قۇرۇلۇش ئاتى ۋە نەشرى:"
+
msgid "Plural Forms:"
msgstr "كۆپلۈك شەكلى:"
@@ -1414,6 +1678,15 @@ msgstr ""
msgid "Learn about plural forms"
msgstr ""
+msgid "Charset:"
+msgstr "كودلاش:"
+
+msgid "Team:"
+msgstr "قوشۇن:"
+
+msgid "Team's email address:"
+msgstr "قوشۇن ئېلخەت ئادرېسى:"
+
msgid "Translation properties"
msgstr "تەرجىمە خاسلىقى"
@@ -1426,12 +1699,8 @@ msgstr "ئاساسىي يول:"
msgid "Sources paths"
msgstr "مەنبە يول"
-msgid ""
-"Use these keywords (function names) to recognize translatable strings\n"
-"in source files:"
-msgstr ""
-"بۇ ئاچقۇچلۇق سۆزلەر (فۇنكىتسىيە نامى)نى ئىشلىتىش ئارقىلىق مەنبە "
-"ھۆججەتلەردىكى تەرجىمە قىلغىلى بولىدىغان ھەرپ تىزمىسىنى تونۇيدۇ:"
+msgid "Use these keywords (function names) to recognize translatable strings\nin source files:"
+msgstr "بۇ ئاچقۇچلۇق سۆزلەر (فۇنكىتسىيە نامى)نى ئىشلىتىش ئارقىلىق مەنبە ھۆججەتلەردىكى تەرجىمە قىلغىلى بولىدىغان ھەرپ تىزمىسىنى تونۇيدۇ:"
msgid "Learn about gettext keywords"
msgstr ""
@@ -1442,22 +1711,14 @@ msgstr "مەنبە ئاچقۇچلۇق سۆز"
msgid "Update summary"
msgstr "قىسقىچە مەزمۇننى يېڭىلا"
-msgid ""
-"These strings were found in the sources but were not in the catalog.\n"
-"Poedit will add them to the catalog now."
-msgstr ""
-"بۇ ھەرپ تىزمىسى مەنبە ھۆججەتتە بايقالدى ئەمما كاتالوگدا يوق.\n"
-"Poedit ھازىر ئۇلارنى كاتالوگغا قوشىدۇ."
+msgid "These strings were found in the sources but were not in the catalog.\nPoedit will add them to the catalog now."
+msgstr "بۇ ھەرپ تىزمىسى مەنبە ھۆججەتتە بايقالدى ئەمما كاتالوگدا يوق.\nPoedit ھازىر ئۇلارنى كاتالوگغا قوشىدۇ."
msgid "New strings"
msgstr "يېڭى ھەرپ تىزمىسى"
-msgid ""
-"These strings are no longer in the sources.\n"
-"Poedit will remove them from the catalog now."
-msgstr ""
-"بۇ ھەرپ تىزمىسى مەنبە ھۆججەتتە يوق\n"
-"Poedit ھازىر بۇ ئۇچۇرلارنى كاتالوگدىن چىقىرىۋېتىدۇ."
+msgid "These strings are no longer in the sources.\nPoedit will remove them from the catalog now."
+msgstr "بۇ ھەرپ تىزمىسى مەنبە ھۆججەتتە يوق\nPoedit ھازىر بۇ ئۇچۇرلارنى كاتالوگدىن چىقىرىۋېتىدۇ."
msgid "Obsolete strings"
msgstr "كونا ھەرپ تىزمىسى"
@@ -1477,6 +1738,12 @@ msgstr ""
msgid "Check for errors in the translation"
msgstr ""
+msgid "Statistics"
+msgstr ""
+
+msgid "Show translation statistics"
+msgstr ""
+
msgid "Update"
msgstr "يېڭىلا"
@@ -1486,16 +1753,20 @@ msgstr "كاتالوگ يېڭىلاش - ئەسلى ھۆججەت بويىچە ق
msgid "Toggled if selected string has fuzzy translation"
msgstr "تاللىغان ھەرپ تىزمىسىنىڭ مۈجمەل تەرجىمىسى بولسا ئالماشتۇرىدۇ"
-msgid "Show or hide the sidebar."
+msgid "Sidebar"
+msgstr ""
+
+msgid "Show or hide the sidebar"
msgstr ""
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
msgid "Previous source text:"
msgstr ""
-msgid ""
-"The old source text (before it changed during an update) that the fuzzy "
-"translation corresponds to."
+msgid "The old source text (before it changed during an update) that the fuzzy translation corresponds to."
+msgstr ""
+
+msgid "Notes for translators:"
msgstr ""
msgid "Add comment"
@@ -1504,6 +1775,18 @@ msgstr ""
msgid "Add Comment"
msgstr ""
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(from your TM)"
+msgstr ""
+
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(machine translation)"
+msgstr ""
+
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(human translation)"
+msgstr ""
+
msgid "Translation suggestions:"
msgstr ""
@@ -1518,6 +1801,83 @@ msgstr ""
msgid "This string was found in Poedit’s translation memory."
msgstr ""
+msgid "This suggestion was contributed by another translator to the online TM."
+msgstr ""
+
+msgid "This suggestion was machine-translated online."
+msgstr ""
+
+#, c-format
+msgid "%d out of %d online suggestion left."
+msgid_plural "%d out of %d online suggestions left."
+msgstr[0] ""
+
+msgid "Remove this limitation"
+msgstr ""
+
+msgid "Not showing additional online suggestions."
+msgstr ""
+
+msgid "Unlock online suggestions"
+msgstr ""
+
+msgid "Exceeded online TM daily limit."
+msgstr ""
+
+msgid "Connect to the Internet to get additional suggestions."
+msgstr ""
+
+#. TRANSLATORS: Label indicating that translations made in the current file are contributed to the online translation memory. Related to the "Contribute my translations to the online TM" string.
+msgid "Contributing"
+msgstr ""
+
+msgid "Your translations are contributed to the online translation memory as you make them. Thanks for making the suggestions better!"
+msgstr ""
+
+#. TRANSLATORS: Label indicating that the current file
+msgid "Private"
+msgstr ""
+
+msgid "Translations from this file are not shared with the online translation memory."
+msgstr ""
+
+msgid "Privacy settings"
+msgstr ""
+
+#, c-format
+msgid "While editing the file “%s”:"
+msgstr ""
+
+msgid "Items"
+msgstr ""
+
+msgid "Words"
+msgstr ""
+
+msgid "Translated"
+msgstr ""
+
+msgid "Needs review (fuzzy)"
+msgstr ""
+
+msgid "Translations with errors"
+msgstr ""
+
+msgid "Source Text"
+msgstr ""
+
+msgid "Strings in source language"
+msgstr ""
+
+msgid "Not translated"
+msgstr ""
+
+msgid "Copy to clipboard"
+msgstr ""
+
+msgid "Copy to Clipboard"
+msgstr ""
+
#, c-format
msgid "(New: %i, obsolete: %i)"
msgstr ""
@@ -1539,9 +1899,7 @@ msgstr ""
msgid "Poedit needs to convert your translation memory to a new format."
msgstr ""
-msgid ""
-"This must be done before Poedit can start. It may take a few minutes if you "
-"have lots of translations stored, but should normally be much faster."
+msgid "This must be done before Poedit can start. It may take a few minutes if you have lots of translations stored, but should normally be much faster."
msgstr ""
msgid "Proceed"
@@ -1551,42 +1909,53 @@ msgid "Translation memory migration failed."
msgstr ""
#, c-format
-msgid ""
-"Your translation memory data couldn't be migrated. The error was:\n"
-"\n"
-"%s\n"
-"Please email help at poedit.net and we’ll get it fixed."
+msgid "Your translation memory data couldn't be migrated. The error was:\n\n%s\nPlease email help at poedit.net and we’ll get it fixed."
msgstr ""
msgid "Cannot create temporary directory."
msgstr "ۋاقىتلىق قىسقۇچىنى قۇرالمىدى."
+msgid "Check theme or plugin compatibility"
+msgstr ""
+
msgid "Welcome to Poedit"
msgstr ""
+msgid "Upgrade to Pro"
+msgstr ""
+
+msgid "Upgrade to Poedit Pro to get additional features and support Poedit's development."
+msgstr ""
+
msgid "Edit a translation"
msgstr ""
msgid "Open an existing PO file and edit the translation."
msgstr ""
-msgid "Create new translation"
+msgid "Take an existing PO file or POT template and create a new translation from it."
msgstr ""
-msgid ""
-"Take an existing PO file or POT template and create a new translation from "
-"it."
+msgid "Translate WordPress theme or plugin"
+msgstr ""
+
+#. TRANSLATORS: Please don't use any form of "automatically" in the translation, it would mislead people.
+msgid "Create a new translation. Poedit will set everything up; you can focus on translating."
+msgstr ""
+
+msgid "Collaborate on a translation with Crowdin"
+msgstr ""
+
+msgid "Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+
+msgid "What is Crowdin?"
msgstr ""
msgid "There are no translations. That’s unusual."
msgstr ""
-msgid ""
-"Translatable entries aren't added manually in the Gettext system, but are "
-"automatically extracted\n"
-"from source code. This way, they stay up to date and accurate.\n"
-"Translators typically use PO template files (POTs) prepared for them by the "
-"developer."
+msgid "Translatable entries aren't added manually in the Gettext system, but are automatically extracted\nfrom source code. This way, they stay up to date and accurate.\nTranslators typically use PO template files (POTs) prepared for them by the developer."
msgstr ""
msgid "(Learn more about GNU gettext)"
@@ -1601,8 +1970,7 @@ msgstr ""
msgid "Take translatable strings from an existing POT template."
msgstr ""
-msgid ""
-"You can also extract translatable strings directly from the source code:"
+msgid "You can also extract translatable strings directly from the source code:"
msgstr ""
msgid "Extract from sources"
@@ -1610,3 +1978,105 @@ msgstr ""
msgid "Configure source code extraction in Properties."
msgstr ""
+
+#, c-format
+msgid "Failed to read file '%s'."
+msgstr ""
+
+#, c-format
+msgid "Confused by ambiguous values of \"%s\" in %s."
+msgstr ""
+
+#, c-format
+msgid "Couldn't detect POs location for \"%s\"."
+msgstr ""
+
+#, c-format
+msgid "The \"%s\" theme isn't localization-ready."
+msgstr ""
+
+msgid "Confused: multiple main plugin files."
+msgstr ""
+
+#, c-format
+msgid "The \"%s\" plugin isn't localization-ready."
+msgstr ""
+
+#, c-format
+msgid "Couldn't detect translation domain of the \"%s\" plugin."
+msgstr ""
+
+msgid "Found neither WordPress theme nor plugin in the folder."
+msgstr ""
+
+#, c-format
+msgid "Translations folder (%s) doesn't exist."
+msgstr ""
+
+msgid "<big>Drag and drop <b>theme or plugin folder</b> here</big>\n\nor use the “Choose folder” button"
+msgstr ""
+
+msgid "<big>Drag and Drop <b>Theme or Plugin Folder</b> Here</big>\n\nor use the “Choose Folder” button"
+msgstr ""
+
+#, c-format
+msgid "Folder “%s”"
+msgstr ""
+
+msgid "Choose Folder..."
+msgstr ""
+
+msgid "Choose folder..."
+msgstr ""
+
+msgid "Create a new translation"
+msgstr ""
+
+msgid "Choose this if you want to translate the theme or plugin into your language."
+msgstr ""
+
+msgid "Create a POT"
+msgstr ""
+
+msgid "This option is for theme and plugin developers. Poedit will create an empty template (POT) that translations can be based on."
+msgstr ""
+
+msgid "Continue"
+msgstr ""
+
+msgid "Failed to extract WordPress information."
+msgstr ""
+
+msgid "WordPress error"
+msgstr ""
+
+#, c-format
+msgid "Poedit couldn’t understand the content of the folder you selected. This may be a problem with the plugin/theme or it may be Poedit being silly. The error is:\n\n • %s\n\nPlease email help at poedit.net and we’ll sort it out."
+msgstr ""
+
+#. TRANSLATORS: This is a button that sends an email to support when clicked
+msgid "Email support"
+msgstr ""
+
+msgid "View log"
+msgstr ""
+
+#. TRANSLATORS: This is a button that sends an email to support when clicked
+msgid "Email Support"
+msgstr ""
+
+msgid "View Log"
+msgstr ""
+
+msgid "WordPress Errors Log"
+msgstr ""
+
+msgid "Please email this log to help at poedit.net. Thank you!"
+msgstr ""
+
+msgid "Sync"
+msgstr ""
+
+msgid "Synchronize the translation with Crowdin"
+msgstr ""
+
diff --git a/locales/uk.mo b/locales/uk.mo
index 198a56f..f60b8b3 100644
Binary files a/locales/uk.mo and b/locales/uk.mo differ
diff --git a/locales/uk.po b/locales/uk.po
index 3ddb334..ef74646 100644
--- a/locales/uk.po
+++ b/locales/uk.po
@@ -1,22 +1,55 @@
msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
-"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:34-0400\n"
+"Report-Msgid-Bugs-To: poedit at googlegroups.com\n"
+"POT-Creation-Date: 2015-05-11 08:48+0200\n"
+"PO-Revision-Date: 2015-05-19 10:48-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Ukrainian\n"
"Language: uk_UA\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: crowdin.com\n"
"X-Crowdin-Project: poedit\n"
"X-Crowdin-Language: uk\n"
"X-Crowdin-File: /locales/poedit.pot\n"
+#. TRANSLATORS: This is titlebar of about dialog, "%s" is application name
+#. ("Poedit" here, but please use "%s")
+#, c-format
+msgid "About %s"
+msgstr "Про %s"
+
+#. TRANSLATORS: This is version information in about dialog, "%s" will be
+#. version number when used
+#, c-format
+msgid "Version %s"
+msgstr "Версія %s"
+
+msgid "Based on the open source version →"
+msgstr "Побудовано на версії з відкритим кодом →"
+
+msgid "Acknowledgements"
+msgstr "Подяки"
+
+msgid "Rate on the App Store"
+msgstr "Оцінка на App Store"
+
+msgid "License Agreement"
+msgstr "Ліцензійна угода"
+
+#, c-format
+msgid "Licensed to %s"
+msgstr "Ліцензія зареєстрована %s"
+
+msgid "Purchased on the Mac App Store"
+msgstr "Придбано у Mac App Store"
+
+msgid "Free version (please upgrade!)"
+msgstr "Безкоштовна версія (оновіть, будь ласка!)"
+
msgid "Hide this notification message"
msgstr "Сховати це повідомлення"
@@ -41,61 +74,50 @@ msgstr "Рядок %d файлу \"%s\" пошкоджений (недійсні
msgid "Malformed header: '%s'"
msgstr "Невірний заголовок '%s'"
-msgid ""
-"Broken catalog file: singular form msgstr used together with msgid_plural"
-msgstr ""
-"Зіпсований файл каталогу: msgstr у однині використана разом із формою "
-"множини msgid_plural"
+msgid "Broken catalog file: singular form msgstr used together with msgid_plural"
+msgstr "Зіпсований файл каталогу: msgstr у однині використана разом із формою множини msgid_plural"
msgid "Broken catalog file: plural form msgstr used without msgid_plural"
-msgstr ""
-"Зіпсований файл каталогу: msgstr у множині використано без msgid_plural"
+msgstr "Зіпсований файл каталогу: msgstr у множині використано без msgid_plural"
-msgid ""
-"There were errors when loading the catalog. Some data may be missing or "
-"corrupted as the result."
-msgstr ""
-"При завантаженні каталогу виникли помилки. В результаті деякі дані можуть "
-"бути відсутніми або бути пошкоджені."
+msgid "There were errors when loading the catalog. Some data may be missing or corrupted as the result."
+msgstr "При завантаженні каталогу виникли помилки. В результаті деякі дані можуть бути відсутніми або бути пошкоджені."
#, c-format
msgid "Couldn't load file %s, it is probably corrupted."
msgstr "Не вдається завантажити файл %s. Можливо він пошкоджений."
#, c-format
-msgid ""
-"File '%s' is read-only and cannot be saved.\n"
+msgid "File '%s' is read-only and cannot be saved.\n"
"Please save it under different name."
-msgstr ""
-"Файл '%s' доступний лише для читання і не може бути збережений.\n"
+msgstr "Файл '%s' доступний лише для читання і не може бути збережений.\n"
"Будь ласка, збережіть його під іншим іменем."
#, c-format
msgid "Couldn't save file %s."
msgstr "Не вдалося зберегти файл %s."
-msgid ""
-"There was a problem formatting the file nicely (but it was saved all right)."
-msgstr ""
-"Сталися негаразди при спробі правильного форматування файлу (але його все "
-"одно збережено)."
+msgid "There was a problem formatting the file nicely (but it was saved all right)."
+msgstr "Сталися негаразди при спробі правильного форматування файлу (але його все одно збережено)."
#, c-format
-msgid ""
-"The catalog couldn't be saved in '%s' charset as specified in catalog "
-"settings.\n"
-"\n"
+msgid "The catalog couldn't be saved in '%s' charset as specified in catalog settings.\n\n"
"It was saved in UTF-8 instead and the setting was modified accordingly."
-msgstr ""
-"Каталог не вдалося зберегти в кодуванні '%s' як зазначено в налаштування "
-"каталогу. \n"
-"\n"
-"Він був збережений в кодуванні UTF-8, і відповідним чином налаштування були "
-"змінені."
+msgstr "Каталог не вдалося зберегти в кодуванні '%s' як зазначено в налаштування каталогу. \n\n"
+"Він був збережений в кодуванні UTF-8, і відповідним чином налаштування були змінені."
msgid "Error saving catalog"
msgstr "Помилка збереження каталогу"
+msgid "PO Translation Files"
+msgstr "Файли перекладу PO"
+
+msgid "POT Translation Templates"
+msgstr "Шаблони перекладу POT"
+
+msgid "All Translation Files"
+msgstr "Всі файли перекладу"
+
msgid "Merging differences..."
msgstr "Злиття відмінностей..."
@@ -115,6 +137,81 @@ msgstr "Вибір мови"
msgid "You must restart Poedit for this change to take effect."
msgstr "Зміни набудуть чинності після перезапуску Poedit."
+msgid "Downloading translations is disabled in this project."
+msgstr "Завантаження перекладів відключена в цьому проекті."
+
+msgid "Not authorized, please sign in again."
+msgstr "Не авторизовані, повторіть вхід до будь ласка."
+
+msgid "Sign in to Crowdin"
+msgstr "Увійти до Crowdin"
+
+msgid "Crowdin is an online localization management platform and collaborative translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr "Crowdin це онлайн платформа управління локалізаціями та інструмент для спільного перекладу. Poedit можна легко синхронізувати файли PO керованих в Crowdin."
+
+msgid "Sign In"
+msgstr "Увійти"
+
+msgid "Sign in"
+msgstr "Увійти"
+
+msgid "Sign Out"
+msgstr "Вийти"
+
+msgid "Sign out"
+msgstr "Вийти"
+
+msgid "Waiting for authentication…"
+msgstr "Очікування автентифікації…"
+
+msgid "Updating user information…"
+msgstr "Оновлення відомостей про користувача…"
+
+msgid "Signed in as:"
+msgstr "Увійшли як:"
+
+msgid "Learn More About Crowdin"
+msgstr "Дізнатися більше про Crowdin"
+
+msgid "Learn more about Crowdin"
+msgstr "Дізнатися більше про Crowdin"
+
+msgid "Open Crowdin translation"
+msgstr "Відкрити переклад Crowdin"
+
+msgid "Project:"
+msgstr "Проект:"
+
+msgid "Language:"
+msgstr "Мова:"
+
+msgid "File:"
+msgstr "Файл:"
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr "Немає перекладацьких проектів у вашому обліковому записі Crowdin."
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr "Цей проект не немає файлів, які можуть бути переведені в Poedit."
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr "Цей файл можна редагувати тільки за допомогою веб-інтерфейсу Crowdin."
+
+msgid "Downloading latest translations…"
+msgstr "Завантажити найновіший переклад…"
+
+msgid "Syncing with Crowdin"
+msgstr "Синхронізація з Crowdin"
+
+msgid "Syncing with Crowdin failed."
+msgstr "Не вдалось синхронізувати з Crowdin."
+
+msgid "Crowdin error"
+msgstr "Помилка Crowdin"
+
+msgid "Uploading translations…"
+msgstr "Відправка перекладу…"
+
msgid "&Copy"
msgstr "&Копіювати"
@@ -142,25 +239,43 @@ msgstr "Аналіз %s файлів..."
msgid "Failed to load extracted catalog."
msgstr "Не вдалося завантажити добутий каталог."
+#, c-format
+msgid "Failed to extract WordPress metadata from file %s."
+msgstr ""
+
msgid "&Help"
msgstr "&Довідка"
+msgid "Beta expired"
+msgstr "Випробувальний період закінчився"
+
+msgid "This beta version of Poedit expired."
+msgstr "Ця бета-версія Poedit прострочена."
+
+msgid "Please download a newer version from the Poedit website at http://poedit.net/download"
+msgstr "Ви можете завантажити нову версію Poedit з сайту http://poedit.net/download"
+
+msgid "Download"
+msgstr "Завантажити"
+
+msgid "Quit"
+msgstr "Вийти"
+
msgid "MO files can’t be directly edited in Poedit."
msgstr "Файли MO не можна редагувати безпосередньо в Poedit."
msgid "Error opening file"
msgstr "Не вдалося відкрити файл"
-msgid ""
-"Please open and edit the corresponding PO file instead. When you save it, "
-"the MO file will be updated as well."
-msgstr ""
-"Будь ласка, відкрийте і редагуйте відповідний PO файл. Коли ви збережете "
-"його, MO файл також оновиться."
+msgid "Please open and edit the corresponding PO file instead. When you save it, the MO file will be updated as well."
+msgstr "Будь ласка, відкрийте і редагуйте відповідний PO файл. Коли ви збережете його, MO файл також оновиться."
msgid "don't delete temporary files (for debugging)"
msgstr "не стирати тимчасові файли (для зневадження)"
+msgid "handle a poedit:// URI"
+msgstr "handle a poedit:// URI"
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr "Сталося непередбачене виключення: %s"
@@ -171,34 +286,19 @@ msgstr "Сталося непередбачене виключення."
msgid "Open catalog"
msgstr "Відкрити каталог"
-msgid "All Files"
-msgstr "Усі файли"
-
-msgid "PO Translation Files"
-msgstr "Файли перекладу PO"
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "Файл '%s' не існує."
-#. TRANSLATORS: This is titlebar of about dialog, "%s" is application name
-#. ("Poedit" here, but please use "%s")
-#, c-format
-msgid "About %s"
-msgstr "Про %s"
-
-#. TRANSLATORS: This is version information in about dialog, "%s" will be
-#. version number when used
-#, c-format
-msgid "Version %s"
-msgstr "Версія %s"
-
msgid "Poedit is an easy to use translations editor."
msgstr "Poedit — простий редактор перекладів."
msgid "Catalogs Manager"
msgstr "Менеджер каталогів"
+msgid "License..."
+msgstr "Ліцензія..."
+
msgid "Check for Updates..."
msgstr "Перевірити оновлення."
@@ -280,6 +380,15 @@ msgstr "Зупинити озвучування"
msgid "&View"
msgstr "&Вигляд"
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
+msgid "Show Toolbar"
+msgstr "Показати панель інструментів"
+
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
+msgid "Customize Toolbar…"
+msgstr "Налаштувати панель інструментів…"
+
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
msgid "Enter Full Screen"
msgstr "Перейти в повноекранний режим"
@@ -295,19 +404,30 @@ msgstr "Наблизити"
msgid "Bring All to Front"
msgstr "Вивести всі передній план"
+#. TRANSLATORS:File kind displayed in Finder/Explorer
msgid "PO Translation"
msgstr "PO переклад"
+msgid "Invalid license data."
+msgstr "Неприпустимі дані ліцензії."
+
+msgid "Poedit"
+msgstr "Poedit"
+
+#, c-format
+msgid "The link doesn't contain valid Poedit license. Try entering it manually or contact support at help at poedit.net.\n\n"
+"(%s)"
+msgstr "Посилання не містить дійсну ліцензію Poedit. Спробуйте ввести його вручну, або зверніться до служби підтримки на help at poedit.net.\n\n"
+"(%s)"
+
msgid "The file cannot be opened."
msgstr "Файл не може бути відкритий."
msgid "Invalid file"
msgstr "Неправильний файл"
-msgid ""
-"The file may be either corrupted or in a format not recognized by Poedit."
-msgstr ""
-"Файл може бути або пошкоджений, або у форматі, який не підтримується Poedit."
+msgid "The file may be either corrupted or in a format not recognized by Poedit."
+msgstr "Файл може бути або пошкоджений, або у форматі, який не підтримується Poedit."
msgid "&Undo"
msgstr "&Скасувати"
@@ -367,15 +487,15 @@ msgstr "Down"
#. TRANSLATORS: Keyboard shortcut, must correspond to translation of "Ctrl+"
msgid "ctrl"
-msgstr "Ctrl"
+msgstr "ctrl"
#. TRANSLATORS: Keyboard shortcut, must correspond to translation of "Alt+"
msgid "alt"
-msgstr "Alt"
+msgstr "alt"
#. TRANSLATORS: Keyboard shortcut, must correspond to translation of "Shift+"
msgid "shift"
-msgstr "Shift"
+msgstr "shift"
msgid "You can't drop more than one file on Poedit window."
msgstr "Не можна перетягувати на вікно Poedit більш аніж один файл."
@@ -384,9 +504,6 @@ msgstr "Не можна перетягувати на вікно Poedit біль
msgid "File '%s' is not a message catalog."
msgstr "«%s» не є каталогом повідомлень."
-msgid "Poedit"
-msgstr "Poedit"
-
msgid "&File"
msgstr "&Файл"
@@ -405,14 +522,23 @@ msgstr "Множина:"
msgid "Translation:"
msgstr "Переклад:"
+msgid "POT files are only templates and don’t contain any translations themselves.\n"
+"To make a translation, create a new PO file based on the template."
+msgstr "POT файли - лише шаблони і самі не містять будь-яких перекладів.\n"
+" Щоб зробити переклад, створіть новий файл PO, заснованому на цьому шаблоні."
+
+msgid "Create New Translation"
+msgstr "Створити новий переклад"
+
+msgid "Create new translation"
+msgstr "Створити новий переклад"
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
#, c-format
-msgid ""
-"Spellchecking is disabled, because the dictionary for %s isn’t installed."
-msgstr ""
-"Перевірка орфографії відключена, тому що словник для %s не встановлений."
+msgid "Spellchecking is disabled, because the dictionary for %s isn’t installed."
+msgstr "Перевірка орфографії відключена, тому що словник для %s не встановлений."
msgid "Install"
msgstr "Встановити"
@@ -453,8 +579,30 @@ msgstr "HTML файли"
msgid "Open catalog template"
msgstr "Відкрити шаблон каталогу"
-msgid "POT Translation Templates"
-msgstr "Шаблони перекладу POT"
+msgid "WordPress"
+msgstr "WordPress"
+
+msgid "Analyzing WordPress code..."
+msgstr "Аналіз коду WordPress..."
+
+msgid "Select the folder with the WordPress theme or plugin"
+msgstr "Виберіть папку з темою або плагіном WordPress"
+
+#. TRANSLATORS: %s is name of a WordPress theme
+#, c-format
+msgid "The “%s” theme is compatible."
+msgstr "\"%s\" тема сумісна."
+
+#. TRANSLATORS: %s is name of a WordPress plugin
+#, c-format
+msgid "The “%s” plugin is compatible."
+msgstr "\"%s\" плагін сумісний."
+
+msgid "The theme is translation-ready and compatible with Poedit’s WordPress support."
+msgstr "Тема готова до перекладу і сумісна з Poedit."
+
+msgid "The plugin is translation-ready and compatible with Poedit’s WordPress support."
+msgstr "Плагін готовий до перекладу і сумісний з Poedit."
msgid "Updating catalog"
msgstr "Поновлюю каталог..."
@@ -465,20 +613,14 @@ msgstr "Вихідний код не доступний."
msgid "Updating failed"
msgstr "Оновлення не вдалося"
-msgid ""
-"Translations couldn’t be updated from the source code, because no code was "
-"found in the location specified in the catalog’s Properties."
-msgstr ""
-"Переклади не можуть бути оновлені з вихідного коду, тому вихідний код не був "
-"знайдений в папці, зазначеної у властивостях каталогу."
+msgid "Translations couldn’t be updated from the source code, because no code was found in the location specified in the catalog’s Properties."
+msgstr "Переклади не можуть бути оновлені з вихідного коду, тому вихідний код не був знайдений в папці, зазначеної у властивостях каталогу."
msgid "Entries in the catalog are probably incorrect."
msgstr "Напевне, у каталозі є неправильні записи."
msgid "Updating the catalog failed. Click on 'Details >>' for details."
-msgstr ""
-"Не вдалося поновити каталог. Отримайте детальнішу інформацію, натиснувши "
-"«Деталі»."
+msgstr "Не вдалося поновити каталог. Отримайте детальнішу інформацію, натиснувши «Деталі»."
#, c-format
msgid "%d issue with the translation found."
@@ -490,46 +632,30 @@ msgstr[2] "Знайдено %d проблем із перекладом."
msgid "Validation results"
msgstr "Результати перевірки"
-msgid ""
-"Entries with errors were marked in red in the list. Details of the error "
-"will be shown when you select such an entry."
-msgstr ""
-"Елементи з помилками позначені червоним у списку. Перегляньте деталі "
-"помилки, виділивши елемент."
+msgid "Entries with errors were marked in red in the list. Details of the error will be shown when you select such an entry."
+msgstr "Елементи з помилками позначені червоним у списку. Перегляньте деталі помилки, виділивши елемент."
msgid "The file was saved safely."
msgstr "Файл був успішно збережений."
-msgid ""
-"The file was saved safely and compiled into the MO format, but it will "
-"probably not work correctly."
-msgstr ""
-"Файл був збережений і скомпільований в формат MO. Але він може працювати "
-"некоректно."
+msgid "The file was saved safely and compiled into the MO format, but it will probably not work correctly."
+msgstr "Файл був збережений і скомпільований в формат MO. Але він може працювати некоректно."
-msgid ""
-"The file was saved safely, but it cannot be compiled into the MO format and "
-"used."
+msgid "The file was saved safely, but it cannot be compiled into the MO format and used."
msgstr "Файл збережений, але не може бути зібраний як MO та використаний."
-msgid ""
-"The file was compiled into the MO format, but it will probably not work "
-"correctly."
-msgstr ""
-"Файл був скомпільований в формат MO, але швидше за все не буде правильно "
-"працювати."
+msgid "The file was compiled into the MO format, but it will probably not work correctly."
+msgstr "Файл був скомпільований в формат MO, але швидше за все не буде правильно працювати."
msgid "The file cannot be compiled into the MO format and used."
-msgstr ""
-"Не вдається скомпілювати даний файл у формат MO для подальшого використання."
+msgstr "Не вдається скомпілювати даний файл у формат MO для подальшого використання."
msgid "No problems with the translation found."
msgstr "Переклад не має проблем. :)"
#, c-format
msgid "The translation is ready for use, but %d entry is not translated yet."
-msgid_plural ""
-"The translation is ready for use, but %d entries are not translated yet."
+msgid_plural "The translation is ready for use, but %d entries are not translated yet."
msgstr[0] "Переклад готовий до використання, але %d запис ще не перекладено."
msgstr[1] "Переклад готовий до використання, але %d записи ще не перекладено."
msgstr[2] "Переклад готовий до використання, але %d записів ще не перекладено."
@@ -537,18 +663,34 @@ msgstr[2] "Переклад готовий до використання, але
msgid "The translation is ready for use."
msgstr "Переклад готовий до використання."
-msgid "No references to this string found."
-msgstr "Посилань на цей рядок не знайдено."
+msgid "Contributing translations improves the quality of online suggestions for everybody — the more people do it, the better the suggestions can be. Your translations are submitted anonymously and are available to other translators using Poedit or other CAT tools."
+msgstr "Відправлення перекладу покращує якість онлайн пропозицій перекладу: чим більше людей в цьому бере участь, тим краще стають пропозиції. Дані відправляються анонімно і доступні іншим перекладачам, які використовують Poedit або інші інструменти автоматизованого перекладу."
+
+msgid "Can Poedit contribute your translations of this file to the online translation memory?"
+msgstr "Дозволити Poedit відправляти ваші переклади з даного файлу в онлайн пам'ять перекладів?"
+
+msgid "Apply to all files I edit"
+msgstr "Застосовувати до всіх файлів які я редагую"
-msgid "Please choose the reference you want to show:"
-msgstr "Виберіть посилання, яке Ви хочете переглянути:"
+msgid "Contribute"
+msgstr "Зробити внесок"
-msgid "References"
-msgstr "Посилання"
+msgid "Keep Private"
+msgstr "Зберегти особистим"
+
+msgid "Keep private"
+msgstr "Зберегти особистим"
msgid "Context:"
msgstr "Контекст:"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr ""
+
+msgid "The file contained duplicate items, which is not allowed in PO files and would prevent the file from being used. Poedit fixed the issue, but you should review translations of any items marked as fuzzy and correct them if necessary."
+msgstr ""
+
msgid "Language of the translation isn't set."
msgstr "Мова перекладу не вказана."
@@ -558,19 +700,24 @@ msgstr "Вибрати мову"
msgid "Set language"
msgstr "Вибрати мову"
-msgid ""
-"This catalog has entries with plural forms, but doesn't have Plural-Forms "
-"header configured."
-msgstr ""
-"Каталог містить елементи з формами множини, але не має налаштованого "
-"заголовку Plural-Forms."
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid "Suggestions are not available if the translation language is not set correctly. Other features, such as plural forms, may be affected as well."
+msgstr "Пропозиції будуть недоступними, якщо неправильно вказано мову перекладу. Інші функції, такі як форми множини, також можуть бути порушені."
-msgid ""
-"Entries in this catalog have different plural forms count from what "
-"catalog's Plural-Forms header says"
-msgstr ""
-"Елементи цього каталогу мають форми множини, відмінні від вказаних у "
-"заголовку Plural-Forms."
+msgid "Language of the translation is the same as source language."
+msgstr "Мова перекладу така сама, як і вихідна мова."
+
+msgid "Fix Language"
+msgstr "Встановити мову"
+
+msgid "Fix language"
+msgstr "Встановити мову"
+
+msgid "This catalog has entries with plural forms, but doesn't have Plural-Forms header configured."
+msgstr "Каталог містить елементи з формами множини, але не має налаштованого заголовку Plural-Forms."
+
+msgid "Entries in this catalog have different plural forms count from what catalog's Plural-Forms header says"
+msgstr "Елементи цього каталогу мають форми множини, відмінні від вказаних у заголовку Plural-Forms."
msgid "Required header Plural-Forms is missing."
msgstr "Відсутній обов’язковий заголовок Plural-Forms."
@@ -592,6 +739,7 @@ msgstr "Виправити заголовок"
msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr "Вираз форми множини, вжитий у каталозі, незвичний для %s."
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr "Огляд"
@@ -614,12 +762,23 @@ msgstr[0] "%d помилка"
msgstr[1] "%d помилки"
msgstr[2] "%d помилок"
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
msgid " (unsaved)"
msgstr " (не збережено)"
msgid " (modified)"
msgstr " (змінено)"
+#, c-format
+msgid " (beta version expires %s)"
+msgstr " (випробувальний період закінчується %s)"
+
msgid "Go"
msgstr "Перейти"
@@ -633,13 +792,8 @@ msgstr "Знищити вилучені переклади"
msgid "Do you want to remove all translations that are no longer used?"
msgstr "Що робити з невикористаним перекладом?"
-msgid ""
-"If you continue with purging, all translations marked as deleted will be "
-"permanently removed. You will have to translate them again if they are added "
-"back in the future."
-msgstr ""
-"Точно вилучити з каталогу усі невикористані переклади? Якщо вони знову "
-"знадобляться в майбутньому, вам доведеться ще раз перекладати їх."
+msgid "If you continue with purging, all translations marked as deleted will be permanently removed. You will have to translate them again if they are added back in the future."
+msgstr "Точно вилучити з каталогу усі невикористані переклади? Якщо вони знову знадобляться в майбутньому, вам доведеться ще раз перекладати їх."
msgid "Keep"
msgstr "Залишити"
@@ -653,23 +807,23 @@ msgstr "Заповнити відсутні переклади з пам'яті
msgid "Only fill in exact matches"
msgstr "Заповнити тільки при точних спвпадіннях"
-msgid ""
-"By default, inaccurate results are filled in as well and marked as fuzzy. "
-"Check this option to only include accurate matches."
-msgstr ""
-"По-замовчуванням результати які не повністю співпадають всеодно будуть "
-"заповнені але помічені неточними."
+msgid "By default, inaccurate results are filled in as well and marked as fuzzy. Check this option to only include accurate matches."
+msgstr "По-замовчуванням результати які не повністю співпадають всеодно будуть заповнені але помічені неточними."
msgid "Don’t mark exact matches as fuzzy"
msgstr "Не позначати точні співпадіння неточними"
-msgid ""
-"Only enable if you trust the quality of your TM. By default, all matches "
-"from the TM are marked as fuzzy and should be reviewed."
-msgstr ""
-"Увімкніть це тільки якщо ви впевнені в якості вашій пам'яті перекладів. За "
-"замовчуванням всі збіги з пам'яті перекладів помічаються як неточні і "
-"підлягають перевірці."
+msgid "Only enable if you trust the quality of your TM. By default, all matches from the TM are marked as fuzzy and should be reviewed."
+msgstr "Увімкніть це тільки якщо ви впевнені в якості вашій пам'яті перекладів. За замовчуванням всі збіги з пам'яті перекладів помічаються як неточні і підлягають перевірці."
+
+msgid "Use online suggestions"
+msgstr "Використовувати онлайн пропозиції"
+
+msgid "Use online suggestions (experimental)"
+msgstr "Використовувати онлайн пропозиції (експериментальна)"
+
+msgid "Try to fetch translations from the online TM as well. Notice that the translations will not be perfect and will still need to be corrected by a human translator."
+msgstr "Спробувати отримати переклади з онлайн ТМ. Зверніть увагу, що переклад не буде точним і ще буде необхідне коригування людиною-перекладачем."
msgid "Fill"
msgstr "Заповнити"
@@ -681,22 +835,14 @@ msgstr[0] "%d елемент було заповнено з пам'яті пер
msgstr[1] "%d елементи було заповнено з пам'яті перекладів."
msgstr[2] "%d елементів було заповнено з пам'яті перекладів."
-msgid ""
-"The translations were marked as fuzzy, because they may be inaccurate. You "
-"should review them for correctness."
+msgid "The translations were marked as fuzzy, because they may be inaccurate. You should review them for correctness."
msgstr "Переклади були відзначені як неточні. Перевірте їх правильність."
msgid "No entries could be filled from the translation memory."
msgstr "Немає елементів, які можуть бути заповнені з пам'яті перекладів."
-msgid ""
-"The TM doesn’t contain any strings similar to the content of this file. It "
-"is only effective for semi-automatic translations after Poedit learns enough "
-"from files that you translated manually."
-msgstr ""
-"Пам'ять перекладів не містить ніяких рядків, схожих на вміст цього файлу. "
-"Вона підходить тільки для напівавтоматичного перекладу після того, як Poedit "
-"збере достатньо даних з файлів, які ви перевели самостійно."
+msgid "The TM doesn’t contain any strings similar to the content of this file. It is only effective for semi-automatic translations after Poedit learns enough from files that you translated manually."
+msgstr "Пам'ять перекладів не містить ніяких рядків, схожих на вміст цього файлу. Вона підходить тільки для напівавтоматичного перекладу після того, як Poedit збере достатньо даних з файлів, які ви перевели самостійно."
msgid "Translating"
msgstr "Перекладається"
@@ -739,6 +885,9 @@ msgstr "Усе"
msgid "Form %i"
msgstr "Форма %i"
+msgid "Singular"
+msgstr "Однина"
+
msgid "Zero"
msgstr "Нуль"
@@ -748,6 +897,9 @@ msgstr "Один"
msgid "Two"
msgstr "Два"
+msgid "Plural"
+msgstr "Множина"
+
msgid "Other"
msgstr "Інше"
@@ -776,6 +928,12 @@ msgstr "Приховати бічну панель"
msgid "Show Sidebar"
msgstr "Показати бічну панель"
+msgid "Hide Status Bar"
+msgstr ""
+
+msgid "Show Status Bar"
+msgstr ""
+
msgid "Source text"
msgstr "Оригінал"
@@ -785,6 +943,10 @@ msgstr "Переклад"
msgid "ID"
msgstr "Ідентифікатор"
+#, c-format
+msgid "Source text — %s"
+msgstr "Вихідний текст — %s"
+
msgid "unknown language"
msgstr "невідома мова"
@@ -795,57 +957,73 @@ msgstr "Переклад — %s"
msgid "Error:"
msgstr "Збій:"
-msgid "Project info"
-msgstr "Інформація про проект"
+msgid "Source file"
+msgstr "Джерельний файл"
-msgid "Project name and version:"
-msgstr "Назва та версія проекту:"
+msgid "Source file occurrence:"
+msgstr "Розташування джерельного файлу:"
-msgid "Language:"
-msgstr "Мова:"
+msgid "Open in Editor"
+msgstr "Відкрити в редакторі"
-msgid "Team:"
-msgstr "Команда:"
+msgid "Open in editor"
+msgstr "Відкрити в редакторі"
-msgid "Team's email address:"
-msgstr "Електронна пошта команди:"
+msgid "No references for the selected item."
+msgstr "Немає посилання для вибраного елемента."
-msgid "Charset:"
-msgstr "Кодування каталогу:"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "Помилка при відкритті файлу '%s'!"
-msgid "Source"
-msgstr "Джерело"
+msgid "Find"
+msgstr "Знайти"
-msgid "Notes"
-msgstr "Нотатки"
+msgid "Replace"
+msgstr "Замінити"
-msgid "Automatic translation"
-msgstr "Автоматичний переклад"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr "Опції"
-msgid "Fuzzy translation"
-msgstr "Неточний переклад"
+msgid "Ignore case"
+msgstr "Ігнорувати регістр"
-msgid "Notes for translators:"
-msgstr "Примітка для перекладачів:"
+msgid "Wrap around"
+msgstr "По колу"
-msgid "Comment:"
-msgstr "Коментар:"
+msgid "Whole words only"
+msgstr "Лише повні слова"
-msgid "Source file"
-msgstr "Джерельний файл"
+msgid "Find in source texts"
+msgstr "Шукати у вихідних текстах"
-msgid "Source file occurrence:"
-msgstr "Розташування джерельного файлу:"
+msgid "Find in translations"
+msgstr "Пошук у перекладах"
-msgid "Open in Editor"
-msgstr "Відкрити в редакторі"
+msgid "Find in comments"
+msgstr "Шукати в коментарях"
-msgid "Open in editor"
-msgstr "Відкрити в редакторі"
+msgid "Close"
+msgstr "Закрити"
-#, c-format
-msgid "Error opening file %s!"
-msgstr "Помилка при відкритті файлу '%s'!"
+msgid "Replace All"
+msgstr "Замінити всі"
+
+msgid "Replace all"
+msgstr "Замінити всі"
+
+msgid "< &Previous"
+msgstr "< &Попереднє"
+
+msgid "&Next >"
+msgstr "&Наступне >"
+
+msgid "String to find"
+msgstr "Рядок пошуку"
+
+msgid "Replacement string"
+msgstr "Рядок заміни"
#, c-format
msgid "Cannot execute program: %s"
@@ -860,6 +1038,60 @@ msgstr "Мова перекладу"
msgid "Language of the translation:"
msgstr "Мова перекладу:"
+msgid "Poedit Registration"
+msgstr "Реєстрація у Poedit"
+
+msgid "Name"
+msgstr "Назва"
+
+msgid "License Key"
+msgstr "Ліцензійний ключ"
+
+msgid "The registration key can be used on multiple computers you use personally or for multiple\n"
+"accounts on a single computer."
+msgstr "Реєстраційний ключ може бути використаний на декількох комп'ютерах, які ви використовуєте особисто \n"
+" або декількох облікових записів на одному комп'ютері."
+
+msgid "Buy Online..."
+msgstr "Придбати онлайн..."
+
+msgid "Buy online..."
+msgstr "Придбати онлайн..."
+
+msgid "Cancel"
+msgstr "Скасувати"
+
+msgid "Register"
+msgstr "Зареєструвати"
+
+msgid "Your copy is upgraded to Poedit Pro."
+msgstr "Вашу копію оновлено до Poedit Pro."
+
+msgid "You’re awesome! Thank you so much\n"
+"for purchasing Poedit Pro."
+msgstr "Відмінно! Дякуємо за покупку Poedit Pro."
+
+msgid "View License Key"
+msgstr "Переглянути ліцензійний ключ"
+
+msgid "View license key"
+msgstr "Переглянути ліцензійний ключ"
+
+#, c-format
+msgid "Licensed to: %s"
+msgstr "Ліцензія зареєстрована: %s"
+
+msgid "Purchasing the full version will unlock more features\n"
+"in this and future versions of Poedit, including:\n\n"
+msgstr "Придбання повної версії розблокує більше функцій\n"
+"у цій і майбутніх версіях Poedit, у тому числі:\n\n"
+
+msgid "Upgrade..."
+msgstr "Оновлення..."
+
+msgid "No, thanks"
+msgstr "Ні, дякую"
+
msgid "Poedit - Catalogs manager"
msgstr "Poedit. Менеджер каталогів"
@@ -896,11 +1128,9 @@ msgstr "Ви дійсно хочете вилучити проект?"
msgid "Confirmation"
msgstr "Підтвердження"
-msgid ""
-"Do you really want to do mass update of\n"
+msgid "Do you really want to do mass update of\n"
"all catalogs in this project?"
-msgstr ""
-"Ви дійсно хочете поновити\n"
+msgstr "Ви дійсно хочете поновити\n"
"всі каталоги цього проекту?"
msgid "Information about the translator"
@@ -918,12 +1148,8 @@ msgstr "Emaіl:"
msgid "your_email at example.com"
msgstr "your_email at example.com"
-msgid ""
-"Your name and email address are only used to set the Last-Translator header "
-"of GNU gettext files."
-msgstr ""
-"Ваше ім'я та пошта будуть використовуватися тільки при вказівці останнього "
-"перекладача в заголовках GNU gettext файлів."
+msgid "Your name and email address are only used to set the Last-Translator header of GNU gettext files."
+msgstr "Ваше ім'я та пошта будуть використовуватися тільки при вказівці останнього перекладача в заголовках GNU gettext файлів."
msgid "Editing"
msgstr "Редагування"
@@ -940,14 +1166,8 @@ msgstr "Перевірка правопису"
msgid "Always change focus to text input field"
msgstr "Завжди встановлювати фокус у поле вводу тесту"
-msgid ""
-"Never let the list of strings take focus. If enabled, you must use Ctrl-"
-"arrows for keyboard navigation but you can also type text immediately, "
-"without having to press Tab to change focus."
-msgstr ""
-"Ніколи не давати фокус списку рядків. Якщо активовано, можна використовувати "
-"Ctrl+стрілки для навігації за допомогою клавіатури, але ввід тексту можна "
-"починати одразу не натискаючи Tab для зміни фокусу."
+msgid "Never let the list of strings take focus. If enabled, you must use Ctrl-arrows for keyboard navigation but you can also type text immediately, without having to press Tab to change focus."
+msgstr "Ніколи не дозволяйте списку рядків отримати фокус. Якщо активовано, можна використовувати Ctrl+стрілки для навігації за допомогою клавіатури, але ввід тексту можна починати одразу не натискаючи Tab для зміни фокусу."
msgid "Appearance"
msgstr "Зовнішній вигляд"
@@ -984,18 +1204,37 @@ msgstr "Скинути"
msgid "Consult TM when updating from sources"
msgstr "Використовувати пам'ять перекладів при оновленні з вихідного коду"
-msgid ""
-"If enabled, Poedit will try to fill in new entries using your previous\n"
-"translations stored in the translation memory. If the TM is\n"
-"near-empty, it will not be very effective. The more translations\n"
+msgid "If enabled, Poedit will try to fill in new entries using your previous\n"
+"translations stored in the translation memory. If the TM is\n"
+"near-empty, it will not be very effective. The more translations\n"
"you edit and the larger the TM grows, the better it gets."
-msgstr ""
-"Якщо відмічена ця опція, Poedit спробує заповнити нові елементи, "
-"використовуючи ваші попередні\n"
-"переклади, збережені у пам'яті перекладів. Якщо пам'ять перекладів \n"
-"майже порожня, це буде не дуже ефективно. Чим більше перекладів\n"
+msgstr "Якщо відмічена ця опція, Poedit спробує заповнити нові елементи, використовуючи ваші попередні\n"
+"переклади, збережені у пам'яті перекладів. Якщо пам'ять перекладів \n"
+"майже порожня, це буде не дуже ефективно. Чим більше перекладів\n"
"ви редагуєте і чим більшою стає пам'ять перекладів, тим кращою стає ця опція."
+msgid "Use suggestions from online collaborative TM"
+msgstr "Використовувати запропоновані варіанти з онлайн пам'яті перекладів"
+
+msgid "Poedit uses a large online translation memory that includes both contributed human translations and state-of-the-art machine translations."
+msgstr "Poedit використовує велику базу пам'яті перекладів, що включає і переклади людьми, і машинні переклади."
+
+msgid "Contribute my translations to the online TM"
+msgstr "Додавати мої переклади до онлайн пам'ять перекладів"
+
+msgid "Keep my translations private"
+msgstr "Лишати мої переклади приватними"
+
+msgid "Ask me for each file individually"
+msgstr ""
+
+msgid "Terms of Service"
+msgstr "Умови надання послуг"
+
+#. TRANSLATORS: This is part of footer that says in full "powered by MyMemory", with the MyMemory part being a logo
+msgid "powered by"
+msgstr "працює на платформі"
+
msgid "Stored translations:"
msgstr "Збережені переклади:"
@@ -1020,15 +1259,8 @@ msgstr "Скинути па'ять перекладів"
msgid "Are you sure you want to reset the translation memory?"
msgstr "Ви впевнені, що хочете очистити пам'ять перекладів?"
-msgid ""
-"Resetting the translation memory will irrevocably delete all stored "
-"translations from it. You can’t undo this operation."
-msgstr ""
-"При очищені пам'яті перекладів будуть безповоротно видалені всі збережені "
-"переклади. Ви не зможете скасувати цю операцію."
-
-msgid "Cancel"
-msgstr "Скасувати"
+msgid "Resetting the translation memory will irrevocably delete all stored translations from it. You can’t undo this operation."
+msgstr "При очищені пам'яті перекладів будуть безповоротно видалені всі збережені переклади. Ви не зможете скасувати цю операцію."
#. TRANSLATORS: This is abbreviation of "Translation Memory" used in Preferences on OS X.
#. Long text looks weird there, too short (like TM) too, but less so. "General" is about ideal
@@ -1036,12 +1268,8 @@ msgstr "Скасувати"
msgid "TM"
msgstr "Пам'ять перекладів"
-msgid ""
-"Source code extractors are used to find translatable strings in the source "
-"code files and extract them so that they can be translated."
-msgstr ""
-"Екстрактори використовуються для пошуку рядків, що перекладаються, у файлах "
-"вихідного коду і витягують їх так, щоб їх можна було перевести."
+msgid "Source code extractors are used to find translatable strings in the source code files and extract them so that they can be translated."
+msgstr "Екстрактори використовуються для пошуку рядків, що перекладаються, у файлах вихідного коду і витягують їх так, щоб їх можна було перевести."
msgid "New"
msgstr "Новий"
@@ -1049,32 +1277,33 @@ msgstr "Новий"
msgid "Edit"
msgstr "Редагувати"
+msgid "Delete extractor"
+msgstr "Видалити екстрактор"
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr "Ви впевнені, що бажаєте видалити екстрактор \"%s\"?"
+
msgid "Extractors"
msgstr "Екстрактори"
+msgid "Accounts"
+msgstr "Облікові записи"
+
msgid "Automatically check for updates"
msgstr "Автоматично перевіряти оновлення"
msgid "Include beta versions"
msgstr "Включити бета-версії"
-msgid ""
-"Beta versions contain the latest new features and improvements, but may be a "
-"bit less stable."
-msgstr ""
-"Бета-версії містять новітні функції і поліпшення, але можуть бути менш "
-"стабільними."
+msgid "Beta versions contain the latest new features and improvements, but may be a bit less stable."
+msgstr "Бета-версії містять новітні функції і поліпшення, але можуть бути менш стабільними."
msgid "Updates"
msgstr "Оновлення"
-msgid ""
-"These settings affect internal formatting of PO files. Adjust them if you "
-"have specific requirements e.g. because of version control."
-msgstr ""
-"Ці параметри впливають на внутрішнє форматування файлів PO. Скоректуйте їх, "
-"якщо у вас є спеціальні вимоги, наприклад, якщо ви користуєтеся системою "
-"контролю версій."
+msgid "These settings affect internal formatting of PO files. Adjust them if you have specific requirements e.g. because of version control."
+msgstr "Ці параметри впливають на внутрішнє форматування файлів PO. Скоректуйте їх, якщо у вас є спеціальні вимоги, наприклад, якщо ви користуєтеся системою контролю версій."
msgid "Line endings:"
msgstr "Закінчення рядків:"
@@ -1095,6 +1324,32 @@ msgstr "Зберігати форматування існуючих файлі
msgid "Advanced"
msgstr "Розширені параметри"
+msgid "Add Files..."
+msgstr ""
+
+msgid "Add files..."
+msgstr ""
+
+msgid "Add Folders..."
+msgstr ""
+
+msgid "Add folders..."
+msgstr ""
+
+msgid "Add Wildcard..."
+msgstr ""
+
+msgid "Add wildcard..."
+msgstr ""
+
+msgid "<big>Drag and Drop Folders Here</big>\n\n"
+"or use the + button"
+msgstr ""
+
+msgid "<big>Drag and drop folders here</big>\n\n"
+"or use the + button"
+msgstr ""
+
msgid "Additional keywords"
msgstr "Додаткові ключові слова"
@@ -1114,8 +1369,10 @@ msgid "UTF-8 (recommended)"
msgstr "UTF-8 (рекомендовано)"
msgid "Please save the file first. This section cannot be edited until then."
-msgstr ""
-"Будь ласка, спершу збережіть файл. Цей розділ не можна редагувати до тих пір."
+msgstr "Будь ласка, спершу збережіть файл. Цей розділ не можна редагувати до тих пір."
+
+msgid "Comment:"
+msgstr "Коментар:"
msgid "OK"
msgstr "Гаразд"
@@ -1126,42 +1383,6 @@ msgstr "&Стерти"
msgid "Clear the comment"
msgstr "Очистити коментар"
-msgid "Find..."
-msgstr "Пошук..."
-
-msgid "String to find:"
-msgstr "Знайти рядок:"
-
-msgid "Case sensitive"
-msgstr "Враховувати регістр"
-
-msgid "Start from the first item"
-msgstr "Почати з першого елементу"
-
-msgid "Whole words only"
-msgstr "Лише повні слова"
-
-msgid "Find in original strings"
-msgstr "Пошук у початкових рядках"
-
-msgid "Find in translations"
-msgstr "Пошук у перекладах"
-
-msgid "Find in comments"
-msgstr "Шукати в коментарях"
-
-msgid "Find in automatic comments"
-msgstr "Шукати в автоматичних коментарях"
-
-msgid "Close"
-msgstr "Закрити"
-
-msgid "< &Previous"
-msgstr "< &Попереднє"
-
-msgid "&Next >"
-msgstr "&Наступне >"
-
msgid "Create new translations project"
msgstr "Створити новий проект перекладів"
@@ -1198,9 +1419,6 @@ msgstr "З&акрити"
msgid "E&xit"
msgstr "&Вихід"
-msgid "Quit"
-msgstr "Вийти"
-
msgid "&New..."
msgstr "&Нові..."
@@ -1210,12 +1428,24 @@ msgstr "Новий з &POT/PO-файлу..."
msgid "New From &POT/PO File..."
msgstr "Новий з &POT/PO-файлу..."
+msgid "New WordPress translation..."
+msgstr "Новий переклад WordPress..."
+
+msgid "New WordPress Translation..."
+msgstr "Новий переклад WordPress..."
+
msgid "&Open..."
msgstr "&Відкрити..."
msgid "Open Recent"
msgstr "Відкрити нещодавні"
+msgid "Open from Crowdin..."
+msgstr "Відкрити на Crowdin..."
+
+msgid "Open From Crowdin..."
+msgstr "Відкрити на Crowdin..."
+
msgid "&Save"
msgstr "&Зберегти"
@@ -1234,6 +1464,9 @@ msgstr "E&кспортувати як HTML..."
msgid "Check for updates..."
msgstr "Перевірити наявність оновлень..."
+msgid "&License..."
+msgstr "&Ліцензія..."
+
msgid "Catalogs &manager"
msgstr "Менеджер &каталогів"
@@ -1264,14 +1497,17 @@ msgstr "&Показувати посилання"
msgid "&Find..."
msgstr "&Знайти..."
+msgid "Replace..."
+msgstr "Замінити..."
+
msgid "Find next"
msgstr "Знайти наступне"
msgid "Find previous"
msgstr "Знайти попереднє"
-msgid "Find"
-msgstr "Знайти"
+msgid "Find and Replace..."
+msgstr "Знайти і замінити..."
msgid "Find Next"
msgstr "Знайти наступне"
@@ -1312,6 +1548,12 @@ msgstr "&Групувати по контексту"
msgid "&Group By Context"
msgstr "&Групувати по контексту"
+msgid "Entries with errors first"
+msgstr "Записи з помилками - згори"
+
+msgid "Entries with Errors First"
+msgstr "Записи з помилками - згори"
+
msgid "&Untranslated entries first"
msgstr "&Неперекладене — згори"
@@ -1321,6 +1563,9 @@ msgstr "Неперекладене — &згори"
msgid "Show sidebar"
msgstr "Показати бічну панель"
+msgid "Show status bar"
+msgstr "Показати панель стану"
+
msgid "C&atalog"
msgstr "&Каталог"
@@ -1336,6 +1581,9 @@ msgstr "Поновити з POT-файлу..."
msgid "Update from &POT File..."
msgstr "Поновити з POT-&файлу..."
+msgid "Sync with Crowdin"
+msgstr "Синхронізація з Crowdin"
+
msgid "Fill missing translations from &TM..."
msgstr "Заповнити відсутні переклади з пам'яті перекладів..."
@@ -1354,6 +1602,9 @@ msgstr "&Перевірити переклад"
msgid "&Validate Translations"
msgstr "&Перевірити переклад"
+msgid "&Statistics"
+msgstr "&Статистика"
+
msgid "&Properties..."
msgstr "&Властивості..."
@@ -1399,6 +1650,12 @@ msgstr "&Документація GNU gettext"
msgid "&GNU gettext Manual"
msgstr "&Документація GNU gettext"
+msgid "Email &support..."
+msgstr "Надіслати ел. листа у &службу підтримки..."
+
+msgid "Email &Support..."
+msgstr "Надіслати ел. листа у &Службу підтримки..."
+
msgid "&About Poedit"
msgstr "&Про Poedit..."
@@ -1417,52 +1674,47 @@ msgstr "Виклик:"
msgid "Command to extract translations:"
msgstr "Команда для видобування перекладу:"
-msgid ""
-"This is the command used to launch the extractor.\n"
-"%o expands to the name of output file, %K to list\n"
-"of keywords, %F to list of input files,\n"
+msgid "This is the command used to launch the extractor.\n"
+"%o expands to the name of output file, %K to list\n"
+"of keywords, %F to list of input files,\n"
"%C to charset flag (see below)."
-msgstr ""
-"Ця команда запускає екстрактор.\n"
-"%o означає назву вихідного файлу, %K — список\n"
-"ключових слів, %F — список вхідних файлів,\n"
+msgstr "Ця команда запускає екстрактор.\n"
+"%o означає назву вихідного файлу, %K — список\n"
+"ключових слів, %F — список вхідних файлів,\n"
"%C — кодування (див. нижче)."
msgid "An item in keywords list:"
msgstr "Елемент списку ключових слів:"
-msgid ""
-"This will be attached to the command line once\n"
+msgid "This will be attached to the command line once\n"
"for each keyword. %k expands to the keyword."
-msgstr ""
-"Це буде додано до командного рядку для кожного\n"
+msgstr "Це буде додано до командного рядку для кожного\n"
"ключового слова. %k замінюється на ключове слово."
msgid "An item in input files list:"
msgstr "Елемент в списку вхідних файлів:"
#, c-format
-msgid ""
-"This will be attached to the command line once\n"
+msgid "This will be attached to the command line once\n"
"for each input file. %f expands to the filename."
-msgstr ""
-"Це буде додано до командного рядку для кожного\n"
+msgstr "Це буде додано до командного рядку для кожного\n"
"вхідного файлу. %f замінюється на ім'я файлу."
msgid "Source code charset:"
msgstr "Кодування файлів з джерельним кодом:"
#, c-format
-msgid ""
-"This will be attached to the command line\n"
+msgid "This will be attached to the command line\n"
"only if source codecharset was given. %c expands to charset value."
-msgstr ""
-"Це буде додано до командного рядку лише якщо вказано\n"
+msgstr "Це буде додано до командного рядку лише якщо вказано\n"
"кодування файлів з джерельними кодами. %c замінюється на кодування."
msgid "Catalog properties"
msgstr "Властивості каталогу"
+msgid "Project name and version:"
+msgstr "Назва та версія проекту:"
+
msgid "Plural Forms:"
msgstr "Форми множини:"
@@ -1475,6 +1727,15 @@ msgstr "Використовувати користувальницький ви
msgid "Learn about plural forms"
msgstr "Дізнатися більше про форми множини"
+msgid "Charset:"
+msgstr "Кодування каталогу:"
+
+msgid "Team:"
+msgstr "Команда:"
+
+msgid "Team's email address:"
+msgstr "Електронна пошта команди:"
+
msgid "Translation properties"
msgstr "Властивості перекладу"
@@ -1487,12 +1748,10 @@ msgstr "Базовий шлях:"
msgid "Sources paths"
msgstr "Шлях до джерела"
-msgid ""
-"Use these keywords (function names) to recognize translatable strings\n"
+msgid "Use these keywords (function names) to recognize translatable strings\n"
"in source files:"
-msgstr ""
-"Використовувати ці ключові слова (назви функцій) додатково до\n"
-"типових для розпізнавання у джерельних файлах рядків,\n"
+msgstr "Використовувати ці ключові слова (назви функцій) додатково до\n"
+"типових для розпізнавання у джерельних файлах рядків,\n"
"придатних для перекладу."
msgid "Learn about gettext keywords"
@@ -1504,21 +1763,17 @@ msgstr "Ключові слова"
msgid "Update summary"
msgstr "Підсумок про поновлення"
-msgid ""
-"These strings were found in the sources but were not in the catalog.\n"
+msgid "These strings were found in the sources but were not in the catalog.\n"
"Poedit will add them to the catalog now."
-msgstr ""
-"Ці рядки було знайдено у джерельних текстах, але вони відсутні у каталозі.\n"
+msgstr "Ці рядки було знайдено у джерельних текстах, але вони відсутні у каталозі.\n"
"Poedit додасть їх до каталогу."
msgid "New strings"
msgstr "Нові рядки"
-msgid ""
-"These strings are no longer in the sources.\n"
+msgid "These strings are no longer in the sources.\n"
"Poedit will remove them from the catalog now."
-msgstr ""
-"Цих рядків вже немає у джерельних текстах.\n"
+msgstr "Цих рядків вже немає у джерельних текстах.\n"
"Poedit вилучить їх з каталогу."
msgid "Obsolete strings"
@@ -1539,6 +1794,12 @@ msgstr "Перевірити"
msgid "Check for errors in the translation"
msgstr "Первірити переклад на наявність помилок"
+msgid "Statistics"
+msgstr "Статистика"
+
+msgid "Show translation statistics"
+msgstr "Показати статистику перекладів"
+
msgid "Update"
msgstr "Поновити"
@@ -1548,18 +1809,21 @@ msgstr "Поновлення каталогу — синхронізація з
msgid "Toggled if selected string has fuzzy translation"
msgstr "Натиснуто, якщо рядок містить неточний переклад"
-msgid "Show or hide the sidebar."
+msgid "Sidebar"
+msgstr "Бічна панель"
+
+msgid "Show or hide the sidebar"
msgstr "Показати або сховати бічну панель"
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
msgid "Previous source text:"
msgstr "Попередній вихідний текст:"
-msgid ""
-"The old source text (before it changed during an update) that the fuzzy "
-"translation corresponds to."
-msgstr ""
-"Старий вихідний текст (до оновлення), якому відповідає нечіткий переклад."
+msgid "The old source text (before it changed during an update) that the fuzzy translation corresponds to."
+msgstr "Старий вихідний текст (до оновлення), якому відповідає нечіткий переклад."
+
+msgid "Notes for translators:"
+msgstr "Примітка для перекладачів:"
msgid "Add comment"
msgstr "Додати коментар"
@@ -1567,6 +1831,18 @@ msgstr "Додати коментар"
msgid "Add Comment"
msgstr "Додати коментар"
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(from your TM)"
+msgstr "(з вашої пам'яті перекладів)"
+
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(machine translation)"
+msgstr "(машинний переклад)"
+
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(human translation)"
+msgstr "(людський переклад)"
+
msgid "Translation suggestions:"
msgstr "Варіанти перекладу:"
@@ -1581,6 +1857,85 @@ msgstr "Збігів не знайдено"
msgid "This string was found in Poedit’s translation memory."
msgstr "Цей рядок був знайдений в пам'яті перекладів Poedit."
+msgid "This suggestion was contributed by another translator to the online TM."
+msgstr "Ця пропозиція була внесена іншим перекладачем в онлайн пам'ять перекладів."
+
+msgid "This suggestion was machine-translated online."
+msgstr "Ця пропозиція від онлайн машинного перекладу."
+
+#, c-format
+msgid "%d out of %d online suggestion left."
+msgid_plural "%d out of %d online suggestions left."
+msgstr[0] "Лишилось %d з %d онлайн-пропозицій."
+msgstr[1] "Лишилось %d з %d онлайн-пропозицій."
+msgstr[2] "Лишилось %d з %d онлайн-пропозицій."
+
+msgid "Remove this limitation"
+msgstr "Видалити це обмеження"
+
+msgid "Not showing additional online suggestions."
+msgstr "Не показані додаткові пропозиції переведення з онлайн пам'яті перекладів."
+
+msgid "Unlock online suggestions"
+msgstr "Розблокувати онлайн пропозиції"
+
+msgid "Exceeded online TM daily limit."
+msgstr "Досягнутий добовий ліміт онлайн пам'яті перекладів."
+
+msgid "Connect to the Internet to get additional suggestions."
+msgstr "Підключіться до Інтернету, щоб отримати додаткові пропозиції перекладу."
+
+#. TRANSLATORS: Label indicating that translations made in the current file are contributed to the online translation memory. Related to the "Contribute my translations to the online TM" string.
+msgid "Contributing"
+msgstr ""
+
+msgid "Your translations are contributed to the online translation memory as you make them. Thanks for making the suggestions better!"
+msgstr ""
+
+#. TRANSLATORS: Label indicating that the current file
+msgid "Private"
+msgstr ""
+
+msgid "Translations from this file are not shared with the online translation memory."
+msgstr ""
+
+msgid "Privacy settings"
+msgstr ""
+
+#, c-format
+msgid "While editing the file “%s”:"
+msgstr ""
+
+msgid "Items"
+msgstr "Записи"
+
+msgid "Words"
+msgstr "Слів"
+
+msgid "Translated"
+msgstr "Перекладено"
+
+msgid "Needs review (fuzzy)"
+msgstr "Потребує перегляду (застаріло)"
+
+msgid "Translations with errors"
+msgstr "Перекладено з помилками"
+
+msgid "Source Text"
+msgstr "Вихідний текст"
+
+msgid "Strings in source language"
+msgstr "Рядків в мові оригіналу"
+
+msgid "Not translated"
+msgstr "Не перекладено"
+
+msgid "Copy to clipboard"
+msgstr "Копіювати до буферу обміну"
+
+msgid "Copy to Clipboard"
+msgstr "Копіювати до буфера обміну"
+
#, c-format
msgid "(New: %i, obsolete: %i)"
msgstr "(Нових: %i, застарілих: %i)"
@@ -1602,13 +1957,8 @@ msgstr "Статус закінчення міграції: %d"
msgid "Poedit needs to convert your translation memory to a new format."
msgstr "PoEdit необхідно перетворити вашу пам'ять перекладів у новий формат."
-msgid ""
-"This must be done before Poedit can start. It may take a few minutes if you "
-"have lots of translations stored, but should normally be much faster."
-msgstr ""
-"Це необхідно зробити перед запуском Poedit. Якщо у вас збережено багато "
-"перекладів, на це може знадобитися кілька хвилин. Але зазвичай це "
-"виконується набагато швидше."
+msgid "This must be done before Poedit can start. It may take a few minutes if you have lots of translations stored, but should normally be much faster."
+msgstr "Це необхідно зробити перед запуском Poedit. Якщо у вас збережено багато перекладів, на це може знадобитися кілька хвилин. Але зазвичай це виконується набагато швидше."
msgid "Proceed"
msgstr "Продовжити"
@@ -1617,52 +1967,62 @@ msgid "Translation memory migration failed."
msgstr "Міграція пам'яті перекладів не вдалась."
#, c-format
-msgid ""
-"Your translation memory data couldn't be migrated. The error was:\n"
-"\n"
-"%s\n"
+msgid "Your translation memory data couldn't be migrated. The error was:\n\n"
+"%s\n"
"Please email help at poedit.net and we’ll get it fixed."
-msgstr ""
-"Дані пам'яті перекладів не вдалося мігрувати. Виникла помилка: \n"
-"\n"
-"%s \n"
+msgstr "Дані пам'яті перекладів не вдалося мігрувати. Виникла помилка: \n\n"
+"%s \n"
"Відправте цю помилку за адресою help at poedit.net, і ми займемося її рішенням."
msgid "Cannot create temporary directory."
msgstr "Не вдалося створити тимчасову теку."
+msgid "Check theme or plugin compatibility"
+msgstr "Перевірка сумісності теми або плагіна"
+
msgid "Welcome to Poedit"
msgstr "Ласкаво просимо в Poedit"
+msgid "Upgrade to Pro"
+msgstr "Обновити до версії Pro"
+
+msgid "Upgrade to Poedit Pro to get additional features and support Poedit's development."
+msgstr "Оновіться до Poedit Pro щоб отримати додаткові функції і підтримки розробників Poedit."
+
msgid "Edit a translation"
msgstr "Редагувати переклад"
msgid "Open an existing PO file and edit the translation."
msgstr "Відкрити наявний PO-файл та редагувати переклад."
-msgid "Create new translation"
-msgstr "Створити новий переклад"
-
-msgid ""
-"Take an existing PO file or POT template and create a new translation from "
-"it."
+msgid "Take an existing PO file or POT template and create a new translation from it."
msgstr "Створення перекладу на основі існуючого PO-файлу або POT-шаблону."
+msgid "Translate WordPress theme or plugin"
+msgstr "Перекладу WordPress теми або плагіна"
+
+#. TRANSLATORS: Please don't use any form of "automatically" in the translation, it would mislead people.
+msgid "Create a new translation. Poedit will set everything up; you can focus on translating."
+msgstr "Створити новий переклад. PoEdit сама все налаштує; ви можете зосередитися на перекладі."
+
+msgid "Collaborate on a translation with Crowdin"
+msgstr "Спільна робота над перекладом з Crowdin"
+
+msgid "Download a file from Crowdin project, translate and sync your changes back."
+msgstr "Завантажити файл з проекту Crowdin, перекласти та синхронізувати зміни назад."
+
+msgid "What is Crowdin?"
+msgstr "Що таке Crowdin?"
+
msgid "There are no translations. That’s unusual."
msgstr "Дивно, але переклад відсутній."
-msgid ""
-"Translatable entries aren't added manually in the Gettext system, but are "
-"automatically extracted\n"
-"from source code. This way, they stay up to date and accurate.\n"
-"Translators typically use PO template files (POTs) prepared for them by the "
-"developer."
-msgstr ""
-"Записи, що перекладаються, не додаються вручну в систему Gettext, а "
-"автоматично витягуються з вихідного коду. \n"
-"Таким чином забезпечується їх актуальність і точність. \n"
-"Перекладачі зазвичай працюють з PO-файлами (POT-шаблони), які підготував для "
-"них розробник."
+msgid "Translatable entries aren't added manually in the Gettext system, but are automatically extracted\n"
+"from source code. This way, they stay up to date and accurate.\n"
+"Translators typically use PO template files (POTs) prepared for them by the developer."
+msgstr "Записи, що перекладаються, не додаються вручну в систему Gettext, а автоматично витягуються з вихідного коду. \n"
+"Таким чином забезпечується їх актуальність і точність. \n"
+"Перекладачі зазвичай працюють з PO-файлами (POT-шаблони), які підготував для них розробник."
msgid "(Learn more about GNU gettext)"
msgstr "(Більше про GNU gettext)"
@@ -1676,13 +2036,119 @@ msgstr "Оновити з &POT-файлу..."
msgid "Take translatable strings from an existing POT template."
msgstr "Витяг рядків для перекладу з існуючого POT-шаблону."
-msgid ""
-"You can also extract translatable strings directly from the source code:"
-msgstr ""
-"Рядки що перекладаються можна також отримати безпосередньо з вихідного коду:"
+msgid "You can also extract translatable strings directly from the source code:"
+msgstr "Рядки що перекладаються можна також отримати безпосередньо з вихідного коду:"
msgid "Extract from sources"
msgstr "Видобути з джерел"
msgid "Configure source code extraction in Properties."
msgstr "Налаштувати видобуток вихідного коду у Властивостях."
+
+#, c-format
+msgid "Failed to read file '%s'."
+msgstr "Не вдалося прочитати файл \"%s\"."
+
+#, c-format
+msgid "Confused by ambiguous values of \"%s\" in %s."
+msgstr "Неоднозначні значення \"%s\" у %s."
+
+#, c-format
+msgid "Couldn't detect POs location for \"%s\"."
+msgstr "Не вдалося визначити місцезнаходження PO-файлів для \"%s\"."
+
+#, c-format
+msgid "The \"%s\" theme isn't localization-ready."
+msgstr "Тема «%s» не підготовлена до локалізації."
+
+msgid "Confused: multiple main plugin files."
+msgstr "Неоднозначність: декілька файлів головного плагіна."
+
+#, c-format
+msgid "The \"%s\" plugin isn't localization-ready."
+msgstr "Плагін «%s» не підготовлений до локалізації."
+
+#, c-format
+msgid "Couldn't detect translation domain of the \"%s\" plugin."
+msgstr "Не вдалося виявити область перекладу плагіна \"%s\"."
+
+msgid "Found neither WordPress theme nor plugin in the folder."
+msgstr "У папці не знайдено ні теми WordPress, ні плагіна."
+
+#, c-format
+msgid "Translations folder (%s) doesn't exist."
+msgstr "Папка перекладу (%s) не існує."
+
+msgid "<big>Drag and drop <b>theme or plugin folder</b> here</big>\n\n"
+"or use the “Choose folder” button"
+msgstr ""
+
+msgid "<big>Drag and Drop <b>Theme or Plugin Folder</b> Here</big>\n\n"
+"or use the “Choose Folder” button"
+msgstr ""
+
+#, c-format
+msgid "Folder “%s”"
+msgstr ""
+
+msgid "Choose Folder..."
+msgstr ""
+
+msgid "Choose folder..."
+msgstr ""
+
+msgid "Create a new translation"
+msgstr ""
+
+msgid "Choose this if you want to translate the theme or plugin into your language."
+msgstr ""
+
+msgid "Create a POT"
+msgstr "Створити POT"
+
+msgid "This option is for theme and plugin developers. Poedit will create an empty template (POT) that translations can be based on."
+msgstr ""
+
+msgid "Continue"
+msgstr "Продовжити"
+
+msgid "Failed to extract WordPress information."
+msgstr "Не вдалося видобути інформацію WordPress."
+
+msgid "WordPress error"
+msgstr "Помилка WordPress"
+
+#, c-format
+msgid "Poedit couldn’t understand the content of the folder you selected. This may be a problem with the plugin/theme or it may be Poedit being silly. The error is:\n\n"
+" • %s\n\n"
+"Please email help at poedit.net and we’ll sort it out."
+msgstr "PoEdit не зміг зрозуміти вміст папки, яку ви вибрали. Це може бути проблема з плагіном/темою або ж Poedit нерозумний. Помилка::\n\n"
+" • %s\n\n"
+"Будь ласка, надішліть ел. листа на help at poedit.net, і ми розберемося."
+
+#. TRANSLATORS: This is a button that sends an email to support when clicked
+msgid "Email support"
+msgstr "Надіслати ел. листа у службу підтримки"
+
+msgid "View log"
+msgstr "Переглянути журнал"
+
+#. TRANSLATORS: This is a button that sends an email to support when clicked
+msgid "Email Support"
+msgstr "Надіслати ел. листа у службу підтримки"
+
+msgid "View Log"
+msgstr "Переглянути журнал"
+
+msgid "WordPress Errors Log"
+msgstr "Журнал помилок WordPress"
+
+msgid "Please email this log to help at poedit.net. Thank you!"
+msgstr "Будь ласка, вишліть цей журнал ел. листом на help at poedit.net. Дякуємо!"
+
+msgid "Sync"
+msgstr "Синхронізувати"
+
+msgid "Synchronize the translation with Crowdin"
+msgstr "Синхронізувати переклад з Crowdin"
+
diff --git a/locales/ur.mo b/locales/ur.mo
index 16e772f..2a655a8 100644
Binary files a/locales/ur.mo and b/locales/ur.mo differ
diff --git a/locales/ur.po b/locales/ur.po
index e8003e9..e603d37 100644
--- a/locales/ur.po
+++ b/locales/ur.po
@@ -1,9 +1,9 @@
msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
-"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:34-0400\n"
+"Report-Msgid-Bugs-To: poedit at googlegroups.com\n"
+"POT-Creation-Date: 2015-05-11 08:48+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Urdu (Pakistan)\n"
"Language: ur_PK\n"
@@ -16,6 +16,40 @@ msgstr ""
"X-Crowdin-Language: ur-PK\n"
"X-Crowdin-File: /locales/poedit.pot\n"
+#. TRANSLATORS: This is titlebar of about dialog, "%s" is application name
+#. ("Poedit" here, but please use "%s")
+#, c-format
+msgid "About %s"
+msgstr "متعلق %s"
+
+#. TRANSLATORS: This is version information in about dialog, "%s" will be
+#. version number when used
+#, c-format
+msgid "Version %s"
+msgstr "ورژن %s"
+
+msgid "Based on the open source version →"
+msgstr "اوپن سورس ورژن کی بنیاد پر"
+
+msgid "Acknowledgements"
+msgstr "منظوری"
+
+msgid "Rate on the App Store"
+msgstr "ایپ سٹور پر درجہ بندی کریں"
+
+msgid "License Agreement"
+msgstr "اجازت نامے کا معاہدہ"
+
+#, c-format
+msgid "Licensed to %s"
+msgstr "%s کے لیے اجازت نامہ"
+
+msgid "Purchased on the Mac App Store"
+msgstr "میک ایپ سٹور سے خریدا ہوا"
+
+msgid "Free version (please upgrade!)"
+msgstr "مفت ورژن (اپ گریڈ کریں!)"
+
msgid "Hide this notification message"
msgstr "یہ اطلاعی پیغام چھپائیں"
@@ -39,51 +73,46 @@ msgstr ""
msgid "Malformed header: '%s'"
msgstr "ناقص ساختہ سرورق: '%s'"
-msgid ""
-"Broken catalog file: singular form msgstr used together with msgid_plural"
+msgid "Broken catalog file: singular form msgstr used together with msgid_plural"
msgstr "شکستہ فرد فائل، msgid_plural کے ساتھ msgstr کے واحد کا استعمال۔"
msgid "Broken catalog file: plural form msgstr used without msgid_plural"
msgstr "شکستہ فرد فائل، بغیر msgid_ کی جمع کے، msgstr سے جمع کا استعمال"
-msgid ""
-"There were errors when loading the catalog. Some data may be missing or "
-"corrupted as the result."
-msgstr ""
-"فرد لادنے میں غلطیوں کا سامنا تھا۔جس کے نتیجہ میں کچھ کوائف نقص زدہ یا گم "
-"ہوسکتے ہیں۔"
+msgid "There were errors when loading the catalog. Some data may be missing or corrupted as the result."
+msgstr "فرد لادنے میں غلطیوں کا سامنا تھا۔جس کے نتیجہ میں کچھ کوائف نقص زدہ یا گم ہوسکتے ہیں۔"
#, c-format
msgid "Couldn't load file %s, it is probably corrupted."
msgstr " %s فائل کو لادا نہیں جاسکتا، غالبًا یہ نقص زدہ ہے۔"
#, c-format
-msgid ""
-"File '%s' is read-only and cannot be saved.\n"
-"Please save it under different name."
-msgstr ""
-"'%s' فائل صرف قابل مطالعہ ہے اس لیے محفوظ نہیں کی جاسکتی۔\n"
-"براہ کرم اسے کسی دوسرے نام کے تحت محفوظ کریں۔"
+msgid "File '%s' is read-only and cannot be saved.\nPlease save it under different name."
+msgstr "'%s' فائل صرف قابل مطالعہ ہے اس لیے محفوظ نہیں کی جاسکتی۔\nبراہ کرم اسے کسی دوسرے نام کے تحت محفوظ کریں۔"
#, c-format
msgid "Couldn't save file %s."
msgstr "%s فائل محفوظ نہیں کر سکا۔"
-msgid ""
-"There was a problem formatting the file nicely (but it was saved all right)."
+msgid "There was a problem formatting the file nicely (but it was saved all right)."
msgstr "فائل کی بہتر فارمیٹنگ میں ایک مسئلہ تھا (لیکن یہ محفوظ کر لی گئی ہے) ۔"
#, c-format
-msgid ""
-"The catalog couldn't be saved in '%s' charset as specified in catalog "
-"settings.\n"
-"\n"
-"It was saved in UTF-8 instead and the setting was modified accordingly."
+msgid "The catalog couldn't be saved in '%s' charset as specified in catalog settings.\n\nIt was saved in UTF-8 instead and the setting was modified accordingly."
msgstr ""
msgid "Error saving catalog"
msgstr "فرد محفوظ کرنے میں غلطی"
+msgid "PO Translation Files"
+msgstr ""
+
+msgid "POT Translation Templates"
+msgstr ""
+
+msgid "All Translation Files"
+msgstr ""
+
msgid "Merging differences..."
msgstr "انجذاب کے فرق۔۔۔"
@@ -103,6 +132,81 @@ msgstr "انتخابِ زبان"
msgid "You must restart Poedit for this change to take effect."
msgstr "اس تبدیلی کو اطلاق پذیر بنانے کے لیے آپ کو پو ایڈٹ دوبارہ چلانا ہوگا۔"
+msgid "Downloading translations is disabled in this project."
+msgstr ""
+
+msgid "Not authorized, please sign in again."
+msgstr ""
+
+msgid "Sign in to Crowdin"
+msgstr ""
+
+msgid "Crowdin is an online localization management platform and collaborative translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+
+msgid "Sign In"
+msgstr ""
+
+msgid "Sign in"
+msgstr ""
+
+msgid "Sign Out"
+msgstr ""
+
+msgid "Sign out"
+msgstr ""
+
+msgid "Waiting for authentication…"
+msgstr ""
+
+msgid "Updating user information…"
+msgstr ""
+
+msgid "Signed in as:"
+msgstr ""
+
+msgid "Learn More About Crowdin"
+msgstr ""
+
+msgid "Learn more about Crowdin"
+msgstr ""
+
+msgid "Open Crowdin translation"
+msgstr ""
+
+msgid "Project:"
+msgstr ""
+
+msgid "Language:"
+msgstr "زبان:"
+
+msgid "File:"
+msgstr ""
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr ""
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr ""
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr ""
+
+msgid "Downloading latest translations…"
+msgstr ""
+
+msgid "Syncing with Crowdin"
+msgstr ""
+
+msgid "Syncing with Crowdin failed."
+msgstr ""
+
+msgid "Crowdin error"
+msgstr ""
+
+msgid "Uploading translations…"
+msgstr ""
+
msgid "&Copy"
msgstr ""
@@ -130,23 +234,43 @@ msgstr ""
msgid "Failed to load extracted catalog."
msgstr "نکالا ہوا کیٹلوگ لوڈ نہیں کر سکا ۔"
+#, c-format
+msgid "Failed to extract WordPress metadata from file %s."
+msgstr ""
+
msgid "&Help"
msgstr "&مدد"
+msgid "Beta expired"
+msgstr ""
+
+msgid "This beta version of Poedit expired."
+msgstr ""
+
+msgid "Please download a newer version from the Poedit website at http://poedit.net/download"
+msgstr ""
+
+msgid "Download"
+msgstr ""
+
+msgid "Quit"
+msgstr "بند کریں"
+
msgid "MO files can’t be directly edited in Poedit."
msgstr ""
msgid "Error opening file"
msgstr ""
-msgid ""
-"Please open and edit the corresponding PO file instead. When you save it, "
-"the MO file will be updated as well."
+msgid "Please open and edit the corresponding PO file instead. When you save it, the MO file will be updated as well."
msgstr ""
msgid "don't delete temporary files (for debugging)"
msgstr ""
+msgid "handle a poedit:// URI"
+msgstr ""
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr ""
@@ -157,34 +281,19 @@ msgstr ""
msgid "Open catalog"
msgstr "فرد کھولیں"
-msgid "All Files"
-msgstr "تمام فائلیں"
-
-msgid "PO Translation Files"
-msgstr ""
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "'%s' فائل وجود نہیں رکھتی"
-#. TRANSLATORS: This is titlebar of about dialog, "%s" is application name
-#. ("Poedit" here, but please use "%s")
-#, c-format
-msgid "About %s"
-msgstr "متعلق %s"
-
-#. TRANSLATORS: This is version information in about dialog, "%s" will be
-#. version number when used
-#, c-format
-msgid "Version %s"
-msgstr "ورژن %s"
-
msgid "Poedit is an easy to use translations editor."
msgstr ""
msgid "Catalogs Manager"
msgstr ""
+msgid "License..."
+msgstr ""
+
msgid "Check for Updates..."
msgstr ""
@@ -266,6 +375,15 @@ msgstr ""
msgid "&View"
msgstr "&منظر"
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
+msgid "Show Toolbar"
+msgstr ""
+
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
+msgid "Customize Toolbar…"
+msgstr ""
+
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
msgid "Enter Full Screen"
msgstr ""
@@ -281,17 +399,27 @@ msgstr ""
msgid "Bring All to Front"
msgstr ""
+#. TRANSLATORS:File kind displayed in Finder/Explorer
msgid "PO Translation"
msgstr ""
+msgid "Invalid license data."
+msgstr ""
+
+msgid "Poedit"
+msgstr "پوایڈٹ"
+
+#, c-format
+msgid "The link doesn't contain valid Poedit license. Try entering it manually or contact support at help at poedit.net.\n\n(%s)"
+msgstr ""
+
msgid "The file cannot be opened."
msgstr ""
msgid "Invalid file"
msgstr ""
-msgid ""
-"The file may be either corrupted or in a format not recognized by Poedit."
+msgid "The file may be either corrupted or in a format not recognized by Poedit."
msgstr ""
msgid "&Undo"
@@ -369,9 +497,6 @@ msgstr "آپ ایک سے زیادہ فائلیں پو ایڈٹ کے دریچے
msgid "File '%s' is not a message catalog."
msgstr ""
-msgid "Poedit"
-msgstr "پوایڈٹ"
-
msgid "&File"
msgstr "&فائل"
@@ -390,12 +515,20 @@ msgstr "جمع:"
msgid "Translation:"
msgstr ""
+msgid "POT files are only templates and don’t contain any translations themselves.\nTo make a translation, create a new PO file based on the template."
+msgstr ""
+
+msgid "Create New Translation"
+msgstr ""
+
+msgid "Create new translation"
+msgstr ""
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
#, c-format
-msgid ""
-"Spellchecking is disabled, because the dictionary for %s isn’t installed."
+msgid "Spellchecking is disabled, because the dictionary for %s isn’t installed."
msgstr ""
msgid "Install"
@@ -437,7 +570,29 @@ msgstr ""
msgid "Open catalog template"
msgstr "فردی سانچہ کھولیں"
-msgid "POT Translation Templates"
+msgid "WordPress"
+msgstr ""
+
+msgid "Analyzing WordPress code..."
+msgstr ""
+
+msgid "Select the folder with the WordPress theme or plugin"
+msgstr ""
+
+#. TRANSLATORS: %s is name of a WordPress theme
+#, c-format
+msgid "The “%s” theme is compatible."
+msgstr ""
+
+#. TRANSLATORS: %s is name of a WordPress plugin
+#, c-format
+msgid "The “%s” plugin is compatible."
+msgstr ""
+
+msgid "The theme is translation-ready and compatible with Poedit’s WordPress support."
+msgstr ""
+
+msgid "The plugin is translation-ready and compatible with Poedit’s WordPress support."
msgstr ""
msgid "Updating catalog"
@@ -449,9 +604,7 @@ msgstr ""
msgid "Updating failed"
msgstr ""
-msgid ""
-"Translations couldn’t be updated from the source code, because no code was "
-"found in the location specified in the catalog’s Properties."
+msgid "Translations couldn’t be updated from the source code, because no code was found in the location specified in the catalog’s Properties."
msgstr ""
msgid "Entries in the catalog are probably incorrect."
@@ -469,27 +622,19 @@ msgstr[1] ""
msgid "Validation results"
msgstr ""
-msgid ""
-"Entries with errors were marked in red in the list. Details of the error "
-"will be shown when you select such an entry."
+msgid "Entries with errors were marked in red in the list. Details of the error will be shown when you select such an entry."
msgstr ""
msgid "The file was saved safely."
msgstr ""
-msgid ""
-"The file was saved safely and compiled into the MO format, but it will "
-"probably not work correctly."
+msgid "The file was saved safely and compiled into the MO format, but it will probably not work correctly."
msgstr ""
-msgid ""
-"The file was saved safely, but it cannot be compiled into the MO format and "
-"used."
+msgid "The file was saved safely, but it cannot be compiled into the MO format and used."
msgstr ""
-msgid ""
-"The file was compiled into the MO format, but it will probably not work "
-"correctly."
+msgid "The file was compiled into the MO format, but it will probably not work correctly."
msgstr ""
msgid "The file cannot be compiled into the MO format and used."
@@ -500,26 +645,41 @@ msgstr ""
#, c-format
msgid "The translation is ready for use, but %d entry is not translated yet."
-msgid_plural ""
-"The translation is ready for use, but %d entries are not translated yet."
+msgid_plural "The translation is ready for use, but %d entries are not translated yet."
msgstr[0] ""
msgstr[1] ""
msgid "The translation is ready for use."
msgstr ""
-msgid "No references to this string found."
-msgstr "اس ڈورے کے کوئی حوالہ جات نہیں ملے۔"
+msgid "Contributing translations improves the quality of online suggestions for everybody — the more people do it, the better the suggestions can be. Your translations are submitted anonymously and are available to other translators using Poedit or other CAT tools."
+msgstr ""
+
+msgid "Can Poedit contribute your translations of this file to the online translation memory?"
+msgstr ""
+
+msgid "Apply to all files I edit"
+msgstr ""
+
+msgid "Contribute"
+msgstr ""
-msgid "Please choose the reference you want to show:"
-msgstr "براہ کرم حوالہ منتخب کریں جو آپ دکھانا چاہتے ہیں:"
+msgid "Keep Private"
+msgstr ""
-msgid "References"
-msgstr "حوالہ جات"
+msgid "Keep private"
+msgstr ""
msgid "Context:"
msgstr ""
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr ""
+
+msgid "The file contained duplicate items, which is not allowed in PO files and would prevent the file from being used. Poedit fixed the issue, but you should review translations of any items marked as fuzzy and correct them if necessary."
+msgstr ""
+
msgid "Language of the translation isn't set."
msgstr ""
@@ -529,14 +689,23 @@ msgstr ""
msgid "Set language"
msgstr ""
-msgid ""
-"This catalog has entries with plural forms, but doesn't have Plural-Forms "
-"header configured."
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid "Suggestions are not available if the translation language is not set correctly. Other features, such as plural forms, may be affected as well."
msgstr ""
-msgid ""
-"Entries in this catalog have different plural forms count from what "
-"catalog's Plural-Forms header says"
+msgid "Language of the translation is the same as source language."
+msgstr ""
+
+msgid "Fix Language"
+msgstr ""
+
+msgid "Fix language"
+msgstr ""
+
+msgid "This catalog has entries with plural forms, but doesn't have Plural-Forms header configured."
+msgstr ""
+
+msgid "Entries in this catalog have different plural forms count from what catalog's Plural-Forms header says"
msgstr ""
msgid "Required header Plural-Forms is missing."
@@ -559,6 +728,7 @@ msgstr ""
msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr ""
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr ""
@@ -580,12 +750,22 @@ msgid_plural "%d errors"
msgstr[0] ""
msgstr[1] ""
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] ""
+msgstr[1] ""
+
msgid " (unsaved)"
msgstr ""
msgid " (modified)"
msgstr "(تبدیل شدہ)"
+#, c-format
+msgid " (beta version expires %s)"
+msgstr ""
+
msgid "Go"
msgstr ""
@@ -599,10 +779,7 @@ msgstr ""
msgid "Do you want to remove all translations that are no longer used?"
msgstr ""
-msgid ""
-"If you continue with purging, all translations marked as deleted will be "
-"permanently removed. You will have to translate them again if they are added "
-"back in the future."
+msgid "If you continue with purging, all translations marked as deleted will be permanently removed. You will have to translate them again if they are added back in the future."
msgstr ""
msgid "Keep"
@@ -617,17 +794,22 @@ msgstr ""
msgid "Only fill in exact matches"
msgstr ""
-msgid ""
-"By default, inaccurate results are filled in as well and marked as fuzzy. "
-"Check this option to only include accurate matches."
+msgid "By default, inaccurate results are filled in as well and marked as fuzzy. Check this option to only include accurate matches."
msgstr ""
msgid "Don’t mark exact matches as fuzzy"
msgstr ""
-msgid ""
-"Only enable if you trust the quality of your TM. By default, all matches "
-"from the TM are marked as fuzzy and should be reviewed."
+msgid "Only enable if you trust the quality of your TM. By default, all matches from the TM are marked as fuzzy and should be reviewed."
+msgstr ""
+
+msgid "Use online suggestions"
+msgstr ""
+
+msgid "Use online suggestions (experimental)"
+msgstr ""
+
+msgid "Try to fetch translations from the online TM as well. Notice that the translations will not be perfect and will still need to be corrected by a human translator."
msgstr ""
msgid "Fill"
@@ -639,18 +821,13 @@ msgid_plural "%d entries were filled from the translation memory."
msgstr[0] ""
msgstr[1] ""
-msgid ""
-"The translations were marked as fuzzy, because they may be inaccurate. You "
-"should review them for correctness."
+msgid "The translations were marked as fuzzy, because they may be inaccurate. You should review them for correctness."
msgstr ""
msgid "No entries could be filled from the translation memory."
msgstr ""
-msgid ""
-"The TM doesn’t contain any strings similar to the content of this file. It "
-"is only effective for semi-automatic translations after Poedit learns enough "
-"from files that you translated manually."
+msgid "The TM doesn’t contain any strings similar to the content of this file. It is only effective for semi-automatic translations after Poedit learns enough from files that you translated manually."
msgstr ""
msgid "Translating"
@@ -693,6 +870,9 @@ msgstr ""
msgid "Form %i"
msgstr ""
+msgid "Singular"
+msgstr ""
+
msgid "Zero"
msgstr ""
@@ -702,6 +882,9 @@ msgstr ""
msgid "Two"
msgstr ""
+msgid "Plural"
+msgstr ""
+
msgid "Other"
msgstr ""
@@ -730,6 +913,12 @@ msgstr ""
msgid "Show Sidebar"
msgstr ""
+msgid "Hide Status Bar"
+msgstr ""
+
+msgid "Show Status Bar"
+msgstr ""
+
msgid "Source text"
msgstr ""
@@ -739,6 +928,10 @@ msgstr "ترجمہ"
msgid "ID"
msgstr ""
+#, c-format
+msgid "Source text — %s"
+msgstr ""
+
msgid "unknown language"
msgstr ""
@@ -749,42 +942,6 @@ msgstr ""
msgid "Error:"
msgstr ""
-msgid "Project info"
-msgstr "منصوبہ جاتی معلومات"
-
-msgid "Project name and version:"
-msgstr "منصوبے کا نام اور نسخہ(ورژن):"
-
-msgid "Language:"
-msgstr "زبان:"
-
-msgid "Team:"
-msgstr "ٹیم:"
-
-msgid "Team's email address:"
-msgstr "ٹیم کا برقی پتہ:"
-
-msgid "Charset:"
-msgstr "کیریکٹر سیٹ:"
-
-msgid "Source"
-msgstr ""
-
-msgid "Notes"
-msgstr "نوٹس"
-
-msgid "Automatic translation"
-msgstr "خودکار ترجمہ"
-
-msgid "Fuzzy translation"
-msgstr "غیر واضح ترجمہ"
-
-msgid "Notes for translators:"
-msgstr ""
-
-msgid "Comment:"
-msgstr "تبصرہ:"
-
msgid "Source file"
msgstr "ماخذی فائل"
@@ -797,25 +954,126 @@ msgstr ""
msgid "Open in editor"
msgstr ""
+msgid "No references for the selected item."
+msgstr ""
+
#, c-format
msgid "Error opening file %s!"
msgstr "فائل %s کھولنے میں غلطی!"
-#, c-format
-msgid "Cannot execute program: %s"
+msgid "Find"
msgstr ""
-msgid "Language Code or Name (e.g. en_GB)"
+msgid "Replace"
msgstr ""
-msgid "Translation Language"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
msgstr ""
-msgid "Language of the translation:"
+msgid "Ignore case"
msgstr ""
-msgid "Poedit - Catalogs manager"
-msgstr "پو ایڈٹ فردی ناظم"
+msgid "Wrap around"
+msgstr ""
+
+msgid "Whole words only"
+msgstr "صرف پورے الفاظ"
+
+msgid "Find in source texts"
+msgstr ""
+
+msgid "Find in translations"
+msgstr "ترجموں میں ڈھونڈیں"
+
+msgid "Find in comments"
+msgstr "تبصروں میں ڈھونڈیں"
+
+msgid "Close"
+msgstr ""
+
+msgid "Replace All"
+msgstr ""
+
+msgid "Replace all"
+msgstr ""
+
+msgid "< &Previous"
+msgstr ""
+
+msgid "&Next >"
+msgstr ""
+
+msgid "String to find"
+msgstr ""
+
+msgid "Replacement string"
+msgstr ""
+
+#, c-format
+msgid "Cannot execute program: %s"
+msgstr ""
+
+msgid "Language Code or Name (e.g. en_GB)"
+msgstr ""
+
+msgid "Translation Language"
+msgstr ""
+
+msgid "Language of the translation:"
+msgstr ""
+
+msgid "Poedit Registration"
+msgstr ""
+
+msgid "Name"
+msgstr ""
+
+msgid "License Key"
+msgstr ""
+
+msgid "The registration key can be used on multiple computers you use personally or for multiple\naccounts on a single computer."
+msgstr ""
+
+msgid "Buy Online..."
+msgstr ""
+
+msgid "Buy online..."
+msgstr ""
+
+msgid "Cancel"
+msgstr "مسترد"
+
+msgid "Register"
+msgstr ""
+
+msgid "Your copy is upgraded to Poedit Pro."
+msgstr ""
+
+msgid "You’re awesome! Thank you so much\nfor purchasing Poedit Pro."
+msgstr ""
+
+msgid "View License Key"
+msgstr ""
+
+msgid "View license key"
+msgstr ""
+
+#, c-format
+msgid "Licensed to: %s"
+msgstr ""
+
+msgid "Purchasing the full version will unlock more features\nin this and future versions of Poedit, including:\n\n"
+msgstr ""
+
+msgid "Upgrade..."
+msgstr ""
+
+msgid "No, thanks"
+msgstr ""
+
+msgid "Poedit - Catalogs manager"
+msgstr "پو ایڈٹ فردی ناظم"
msgid "Catalog"
msgstr "فرد"
@@ -850,12 +1108,8 @@ msgstr "کیا آپ منصوبے کو ختم کرنا چاہتے ہیں؟"
msgid "Confirmation"
msgstr "تصدیق"
-msgid ""
-"Do you really want to do mass update of\n"
-"all catalogs in this project?"
-msgstr ""
-"کیا آپ واقعی ساری تازہ کاری چاہتے ہیں\n"
-"منصوبے میں تمام فردوں کی؟"
+msgid "Do you really want to do mass update of\nall catalogs in this project?"
+msgstr "کیا آپ واقعی ساری تازہ کاری چاہتے ہیں\nمنصوبے میں تمام فردوں کی؟"
msgid "Information about the translator"
msgstr ""
@@ -872,9 +1126,7 @@ msgstr ""
msgid "your_email at example.com"
msgstr ""
-msgid ""
-"Your name and email address are only used to set the Last-Translator header "
-"of GNU gettext files."
+msgid "Your name and email address are only used to set the Last-Translator header of GNU gettext files."
msgstr ""
msgid "Editing"
@@ -892,14 +1144,8 @@ msgstr ""
msgid "Always change focus to text input field"
msgstr "ہمیشہ عبارتی مداخَل قطعے کی طرف مرکز نگاہ بدلیں"
-msgid ""
-"Never let the list of strings take focus. If enabled, you must use Ctrl-"
-"arrows for keyboard navigation but you can also type text immediately, "
-"without having to press Tab to change focus."
-msgstr ""
-"ڈوروں کی لسٹ کو کبھی نمایاں نہ ہونے دیں۔ اگر فعال ہے تو آپ کو کلیدی تختے سے "
-"کنٹرول ایرو دبا کر نوردی کرنا پڑے گی لیکن آپ ٹیب دبا کر مرکز نگاہ بدلنے سے "
-"فورًا عبارت لکھ بھی سکتے ہیں۔"
+msgid "Never let the list of strings take focus. If enabled, you must use Ctrl-arrows for keyboard navigation but you can also type text immediately, without having to press Tab to change focus."
+msgstr "ڈوروں کی لسٹ کو کبھی نمایاں نہ ہونے دیں۔ اگر فعال ہے تو آپ کو کلیدی تختے سے کنٹرول ایرو دبا کر نوردی کرنا پڑے گی لیکن آپ ٹیب دبا کر مرکز نگاہ بدلنے سے فورًا عبارت لکھ بھی سکتے ہیں۔"
msgid "Appearance"
msgstr ""
@@ -936,11 +1182,29 @@ msgstr ""
msgid "Consult TM when updating from sources"
msgstr ""
-msgid ""
-"If enabled, Poedit will try to fill in new entries using your previous\n"
-"translations stored in the translation memory. If the TM is\n"
-"near-empty, it will not be very effective. The more translations\n"
-"you edit and the larger the TM grows, the better it gets."
+msgid "If enabled, Poedit will try to fill in new entries using your previous\ntranslations stored in the translation memory. If the TM is\nnear-empty, it will not be very effective. The more translations\nyou edit and the larger the TM grows, the better it gets."
+msgstr ""
+
+msgid "Use suggestions from online collaborative TM"
+msgstr ""
+
+msgid "Poedit uses a large online translation memory that includes both contributed human translations and state-of-the-art machine translations."
+msgstr ""
+
+msgid "Contribute my translations to the online TM"
+msgstr ""
+
+msgid "Keep my translations private"
+msgstr ""
+
+msgid "Ask me for each file individually"
+msgstr ""
+
+msgid "Terms of Service"
+msgstr ""
+
+#. TRANSLATORS: This is part of footer that says in full "powered by MyMemory", with the MyMemory part being a logo
+msgid "powered by"
msgstr ""
msgid "Stored translations:"
@@ -967,23 +1231,16 @@ msgstr ""
msgid "Are you sure you want to reset the translation memory?"
msgstr ""
-msgid ""
-"Resetting the translation memory will irrevocably delete all stored "
-"translations from it. You can’t undo this operation."
+msgid "Resetting the translation memory will irrevocably delete all stored translations from it. You can’t undo this operation."
msgstr ""
-msgid "Cancel"
-msgstr "مسترد"
-
#. TRANSLATORS: This is abbreviation of "Translation Memory" used in Preferences on OS X.
#. Long text looks weird there, too short (like TM) too, but less so. "General" is about ideal
#. length there.
msgid "TM"
msgstr ""
-msgid ""
-"Source code extractors are used to find translatable strings in the source "
-"code files and extract them so that they can be translated."
+msgid "Source code extractors are used to find translatable strings in the source code files and extract them so that they can be translated."
msgstr ""
msgid "New"
@@ -992,26 +1249,32 @@ msgstr "نیا"
msgid "Edit"
msgstr "تدوین"
+msgid "Delete extractor"
+msgstr ""
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr ""
+
msgid "Extractors"
msgstr ""
+msgid "Accounts"
+msgstr ""
+
msgid "Automatically check for updates"
msgstr ""
msgid "Include beta versions"
msgstr ""
-msgid ""
-"Beta versions contain the latest new features and improvements, but may be a "
-"bit less stable."
+msgid "Beta versions contain the latest new features and improvements, but may be a bit less stable."
msgstr ""
msgid "Updates"
msgstr ""
-msgid ""
-"These settings affect internal formatting of PO files. Adjust them if you "
-"have specific requirements e.g. because of version control."
+msgid "These settings affect internal formatting of PO files. Adjust them if you have specific requirements e.g. because of version control."
msgstr ""
msgid "Line endings:"
@@ -1033,6 +1296,30 @@ msgstr ""
msgid "Advanced"
msgstr ""
+msgid "Add Files..."
+msgstr ""
+
+msgid "Add files..."
+msgstr ""
+
+msgid "Add Folders..."
+msgstr ""
+
+msgid "Add folders..."
+msgstr ""
+
+msgid "Add Wildcard..."
+msgstr ""
+
+msgid "Add wildcard..."
+msgstr ""
+
+msgid "<big>Drag and Drop Folders Here</big>\n\nor use the + button"
+msgstr ""
+
+msgid "<big>Drag and drop folders here</big>\n\nor use the + button"
+msgstr ""
+
msgid "Additional keywords"
msgstr ""
@@ -1054,6 +1341,9 @@ msgstr ""
msgid "Please save the file first. This section cannot be edited until then."
msgstr ""
+msgid "Comment:"
+msgstr "تبصرہ:"
+
msgid "OK"
msgstr "ٹھیک ہے"
@@ -1063,42 +1353,6 @@ msgstr ""
msgid "Clear the comment"
msgstr "تبصرہ صاف کریں"
-msgid "Find..."
-msgstr "ڈھونڈیں۔۔۔"
-
-msgid "String to find:"
-msgstr "ڈورا جو ڈھونڈنا ہے:"
-
-msgid "Case sensitive"
-msgstr "معاملاتی حساس"
-
-msgid "Start from the first item"
-msgstr "پہلی آئیٹم سے آغاز کریں"
-
-msgid "Whole words only"
-msgstr "صرف پورے الفاظ"
-
-msgid "Find in original strings"
-msgstr "اصلی ڈوروں میں ڈھونڈیں"
-
-msgid "Find in translations"
-msgstr "ترجموں میں ڈھونڈیں"
-
-msgid "Find in comments"
-msgstr "تبصروں میں ڈھونڈیں"
-
-msgid "Find in automatic comments"
-msgstr "خودکار تبصروں میں ڈھونڈیں"
-
-msgid "Close"
-msgstr ""
-
-msgid "< &Previous"
-msgstr ""
-
-msgid "&Next >"
-msgstr ""
-
msgid "Create new translations project"
msgstr "نیا ترجمہ جاتی منصوبہ تخلیق کریں"
@@ -1135,9 +1389,6 @@ msgstr "بند کریں"
msgid "E&xit"
msgstr ""
-msgid "Quit"
-msgstr "بند کریں"
-
msgid "&New..."
msgstr ""
@@ -1147,12 +1398,24 @@ msgstr ""
msgid "New From &POT/PO File..."
msgstr ""
+msgid "New WordPress translation..."
+msgstr ""
+
+msgid "New WordPress Translation..."
+msgstr ""
+
msgid "&Open..."
msgstr ""
msgid "Open Recent"
msgstr ""
+msgid "Open from Crowdin..."
+msgstr ""
+
+msgid "Open From Crowdin..."
+msgstr ""
+
msgid "&Save"
msgstr "&محفوظ"
@@ -1171,6 +1434,9 @@ msgstr ""
msgid "Check for updates..."
msgstr ""
+msgid "&License..."
+msgstr ""
+
msgid "Catalogs &manager"
msgstr "فردی &ناظم"
@@ -1201,13 +1467,16 @@ msgstr ""
msgid "&Find..."
msgstr "&ڈھونڈیں۔۔۔"
+msgid "Replace..."
+msgstr ""
+
msgid "Find next"
msgstr ""
msgid "Find previous"
msgstr ""
-msgid "Find"
+msgid "Find and Replace..."
msgstr ""
msgid "Find Next"
@@ -1249,6 +1518,12 @@ msgstr ""
msgid "&Group By Context"
msgstr ""
+msgid "Entries with errors first"
+msgstr ""
+
+msgid "Entries with Errors First"
+msgstr ""
+
msgid "&Untranslated entries first"
msgstr ""
@@ -1258,6 +1533,9 @@ msgstr ""
msgid "Show sidebar"
msgstr ""
+msgid "Show status bar"
+msgstr ""
+
msgid "C&atalog"
msgstr "فر&د"
@@ -1273,6 +1551,9 @@ msgstr "&پی او ٹی فائل سے تازہ کریں۔۔۔"
msgid "Update from &POT File..."
msgstr ""
+msgid "Sync with Crowdin"
+msgstr ""
+
msgid "Fill missing translations from &TM..."
msgstr ""
@@ -1291,6 +1572,9 @@ msgstr ""
msgid "&Validate Translations"
msgstr ""
+msgid "&Statistics"
+msgstr ""
+
msgid "&Properties..."
msgstr ""
@@ -1336,6 +1620,12 @@ msgstr ""
msgid "&GNU gettext Manual"
msgstr ""
+msgid "Email &support..."
+msgstr ""
+
+msgid "Email &Support..."
+msgstr ""
+
msgid "&About Poedit"
msgstr ""
@@ -1354,49 +1644,35 @@ msgstr "فریاد:"
msgid "Command to extract translations:"
msgstr ""
-msgid ""
-"This is the command used to launch the extractor.\n"
-"%o expands to the name of output file, %K to list\n"
-"of keywords, %F to list of input files,\n"
-"%C to charset flag (see below)."
+msgid "This is the command used to launch the extractor.\n%o expands to the name of output file, %K to list\nof keywords, %F to list of input files,\n%C to charset flag (see below)."
msgstr ""
msgid "An item in keywords list:"
msgstr "کلیدی الفاظ کی فہرست میں ایک آئیٹم:"
-msgid ""
-"This will be attached to the command line once\n"
-"for each keyword. %k expands to the keyword."
-msgstr ""
-"اسے ایک بار تحریری مواجے سے جوڑ دیا جائے گا\n"
-"ہر کلیدی لفظ کے لیے. %k کلیدی لفظ تک پھیل جائے گا۔"
+msgid "This will be attached to the command line once\nfor each keyword. %k expands to the keyword."
+msgstr "اسے ایک بار تحریری مواجے سے جوڑ دیا جائے گا\nہر کلیدی لفظ کے لیے. %k کلیدی لفظ تک پھیل جائے گا۔"
msgid "An item in input files list:"
msgstr "مداخلی فائلوں کی فہرست میں ایک آئیٹم:"
#, c-format
-msgid ""
-"This will be attached to the command line once\n"
-"for each input file. %f expands to the filename."
-msgstr ""
-"اس کو ایک بار تحریری مواجے سے جوڑ دیا جائے گا\n"
-"ہر مداخَل فائل کے لیے۔%f فائل نام تک پھیل جائے گا۔"
+msgid "This will be attached to the command line once\nfor each input file. %f expands to the filename."
+msgstr "اس کو ایک بار تحریری مواجے سے جوڑ دیا جائے گا\nہر مداخَل فائل کے لیے۔%f فائل نام تک پھیل جائے گا۔"
msgid "Source code charset:"
msgstr "ماخذ کوڈ کا کیریکڑ سیٹ:"
#, c-format
-msgid ""
-"This will be attached to the command line\n"
-"only if source codecharset was given. %c expands to charset value."
-msgstr ""
-"اس کو تحریری مواجے سے جوڑ دیا جائے گا\n"
-"اگر رمزی ماخذ اور حرفی معیار دئیے گئے ہوں۔ %c حرفی معیار کی قدر تک پھیل جائے "
-"گا۔"
+msgid "This will be attached to the command line\nonly if source codecharset was given. %c expands to charset value."
+msgstr "اس کو تحریری مواجے سے جوڑ دیا جائے گا\nاگر رمزی ماخذ اور حرفی معیار دئیے گئے ہوں۔ %c حرفی معیار کی قدر تک پھیل جائے گا۔"
msgid "Catalog properties"
msgstr ""
+msgid "Project name and version:"
+msgstr "منصوبے کا نام اور نسخہ(ورژن):"
+
msgid "Plural Forms:"
msgstr "جمعی حالتیں:"
@@ -1409,6 +1685,15 @@ msgstr ""
msgid "Learn about plural forms"
msgstr ""
+msgid "Charset:"
+msgstr "کیریکٹر سیٹ:"
+
+msgid "Team:"
+msgstr "ٹیم:"
+
+msgid "Team's email address:"
+msgstr "ٹیم کا برقی پتہ:"
+
msgid "Translation properties"
msgstr ""
@@ -1421,9 +1706,7 @@ msgstr "بنیادی راہ:"
msgid "Sources paths"
msgstr ""
-msgid ""
-"Use these keywords (function names) to recognize translatable strings\n"
-"in source files:"
+msgid "Use these keywords (function names) to recognize translatable strings\nin source files:"
msgstr ""
msgid "Learn about gettext keywords"
@@ -1435,22 +1718,14 @@ msgstr ""
msgid "Update summary"
msgstr "تازہ کاری کا خلاصہ"
-msgid ""
-"These strings were found in the sources but were not in the catalog.\n"
-"Poedit will add them to the catalog now."
-msgstr ""
-"یہ ڈورے ماخذ میں موجود تھے لیکن فرد میں نہیں ملے۔\n"
-"پو ایڈٹ اب انھیں فرد میں شامل کردے گا۔"
+msgid "These strings were found in the sources but were not in the catalog.\nPoedit will add them to the catalog now."
+msgstr "یہ ڈورے ماخذ میں موجود تھے لیکن فرد میں نہیں ملے۔\nپو ایڈٹ اب انھیں فرد میں شامل کردے گا۔"
msgid "New strings"
msgstr "نئے ڈورے"
-msgid ""
-"These strings are no longer in the sources.\n"
-"Poedit will remove them from the catalog now."
-msgstr ""
-"یہ تراتیب اب ماخذ میں نہیں رہیں۔\n"
-"پو ایڈٹ انھیں اب فرد سے بھی ختم کردے گا۔"
+msgid "These strings are no longer in the sources.\nPoedit will remove them from the catalog now."
+msgstr "یہ تراتیب اب ماخذ میں نہیں رہیں۔\nپو ایڈٹ انھیں اب فرد سے بھی ختم کردے گا۔"
msgid "Obsolete strings"
msgstr "متروک ڈورے"
@@ -1470,6 +1745,12 @@ msgstr ""
msgid "Check for errors in the translation"
msgstr ""
+msgid "Statistics"
+msgstr ""
+
+msgid "Show translation statistics"
+msgstr ""
+
msgid "Update"
msgstr ""
@@ -1479,16 +1760,20 @@ msgstr "فرد تازہ کریں۔اسے ماخذ کے ساتھ ہم آہنگ ک
msgid "Toggled if selected string has fuzzy translation"
msgstr "اگر منتخب ڈورے کا ترجمہ غیر واضح ہے تو الٹ دیا جائے گا۔"
-msgid "Show or hide the sidebar."
+msgid "Sidebar"
+msgstr ""
+
+msgid "Show or hide the sidebar"
msgstr ""
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
msgid "Previous source text:"
msgstr ""
-msgid ""
-"The old source text (before it changed during an update) that the fuzzy "
-"translation corresponds to."
+msgid "The old source text (before it changed during an update) that the fuzzy translation corresponds to."
+msgstr ""
+
+msgid "Notes for translators:"
msgstr ""
msgid "Add comment"
@@ -1497,6 +1782,18 @@ msgstr ""
msgid "Add Comment"
msgstr ""
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(from your TM)"
+msgstr ""
+
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(machine translation)"
+msgstr ""
+
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(human translation)"
+msgstr ""
+
msgid "Translation suggestions:"
msgstr ""
@@ -1511,6 +1808,84 @@ msgstr ""
msgid "This string was found in Poedit’s translation memory."
msgstr ""
+msgid "This suggestion was contributed by another translator to the online TM."
+msgstr ""
+
+msgid "This suggestion was machine-translated online."
+msgstr ""
+
+#, c-format
+msgid "%d out of %d online suggestion left."
+msgid_plural "%d out of %d online suggestions left."
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Remove this limitation"
+msgstr ""
+
+msgid "Not showing additional online suggestions."
+msgstr ""
+
+msgid "Unlock online suggestions"
+msgstr ""
+
+msgid "Exceeded online TM daily limit."
+msgstr ""
+
+msgid "Connect to the Internet to get additional suggestions."
+msgstr ""
+
+#. TRANSLATORS: Label indicating that translations made in the current file are contributed to the online translation memory. Related to the "Contribute my translations to the online TM" string.
+msgid "Contributing"
+msgstr ""
+
+msgid "Your translations are contributed to the online translation memory as you make them. Thanks for making the suggestions better!"
+msgstr ""
+
+#. TRANSLATORS: Label indicating that the current file
+msgid "Private"
+msgstr ""
+
+msgid "Translations from this file are not shared with the online translation memory."
+msgstr ""
+
+msgid "Privacy settings"
+msgstr ""
+
+#, c-format
+msgid "While editing the file “%s”:"
+msgstr ""
+
+msgid "Items"
+msgstr ""
+
+msgid "Words"
+msgstr ""
+
+msgid "Translated"
+msgstr ""
+
+msgid "Needs review (fuzzy)"
+msgstr ""
+
+msgid "Translations with errors"
+msgstr ""
+
+msgid "Source Text"
+msgstr ""
+
+msgid "Strings in source language"
+msgstr ""
+
+msgid "Not translated"
+msgstr ""
+
+msgid "Copy to clipboard"
+msgstr ""
+
+msgid "Copy to Clipboard"
+msgstr ""
+
#, c-format
msgid "(New: %i, obsolete: %i)"
msgstr ""
@@ -1532,9 +1907,7 @@ msgstr ""
msgid "Poedit needs to convert your translation memory to a new format."
msgstr ""
-msgid ""
-"This must be done before Poedit can start. It may take a few minutes if you "
-"have lots of translations stored, but should normally be much faster."
+msgid "This must be done before Poedit can start. It may take a few minutes if you have lots of translations stored, but should normally be much faster."
msgstr ""
msgid "Proceed"
@@ -1544,42 +1917,53 @@ msgid "Translation memory migration failed."
msgstr ""
#, c-format
-msgid ""
-"Your translation memory data couldn't be migrated. The error was:\n"
-"\n"
-"%s\n"
-"Please email help at poedit.net and we’ll get it fixed."
+msgid "Your translation memory data couldn't be migrated. The error was:\n\n%s\nPlease email help at poedit.net and we’ll get it fixed."
msgstr ""
msgid "Cannot create temporary directory."
msgstr ""
+msgid "Check theme or plugin compatibility"
+msgstr "موضوع یا پلگ ان کی مطابقت کی پڑتال کریں"
+
msgid "Welcome to Poedit"
msgstr ""
+msgid "Upgrade to Pro"
+msgstr ""
+
+msgid "Upgrade to Poedit Pro to get additional features and support Poedit's development."
+msgstr ""
+
msgid "Edit a translation"
msgstr ""
msgid "Open an existing PO file and edit the translation."
msgstr ""
-msgid "Create new translation"
+msgid "Take an existing PO file or POT template and create a new translation from it."
msgstr ""
-msgid ""
-"Take an existing PO file or POT template and create a new translation from "
-"it."
+msgid "Translate WordPress theme or plugin"
+msgstr ""
+
+#. TRANSLATORS: Please don't use any form of "automatically" in the translation, it would mislead people.
+msgid "Create a new translation. Poedit will set everything up; you can focus on translating."
+msgstr ""
+
+msgid "Collaborate on a translation with Crowdin"
+msgstr ""
+
+msgid "Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+
+msgid "What is Crowdin?"
msgstr ""
msgid "There are no translations. That’s unusual."
msgstr ""
-msgid ""
-"Translatable entries aren't added manually in the Gettext system, but are "
-"automatically extracted\n"
-"from source code. This way, they stay up to date and accurate.\n"
-"Translators typically use PO template files (POTs) prepared for them by the "
-"developer."
+msgid "Translatable entries aren't added manually in the Gettext system, but are automatically extracted\nfrom source code. This way, they stay up to date and accurate.\nTranslators typically use PO template files (POTs) prepared for them by the developer."
msgstr ""
msgid "(Learn more about GNU gettext)"
@@ -1594,8 +1978,7 @@ msgstr ""
msgid "Take translatable strings from an existing POT template."
msgstr ""
-msgid ""
-"You can also extract translatable strings directly from the source code:"
+msgid "You can also extract translatable strings directly from the source code:"
msgstr ""
msgid "Extract from sources"
@@ -1603,3 +1986,105 @@ msgstr ""
msgid "Configure source code extraction in Properties."
msgstr ""
+
+#, c-format
+msgid "Failed to read file '%s'."
+msgstr ""
+
+#, c-format
+msgid "Confused by ambiguous values of \"%s\" in %s."
+msgstr ""
+
+#, c-format
+msgid "Couldn't detect POs location for \"%s\"."
+msgstr ""
+
+#, c-format
+msgid "The \"%s\" theme isn't localization-ready."
+msgstr ""
+
+msgid "Confused: multiple main plugin files."
+msgstr ""
+
+#, c-format
+msgid "The \"%s\" plugin isn't localization-ready."
+msgstr ""
+
+#, c-format
+msgid "Couldn't detect translation domain of the \"%s\" plugin."
+msgstr ""
+
+msgid "Found neither WordPress theme nor plugin in the folder."
+msgstr ""
+
+#, c-format
+msgid "Translations folder (%s) doesn't exist."
+msgstr ""
+
+msgid "<big>Drag and drop <b>theme or plugin folder</b> here</big>\n\nor use the “Choose folder” button"
+msgstr ""
+
+msgid "<big>Drag and Drop <b>Theme or Plugin Folder</b> Here</big>\n\nor use the “Choose Folder” button"
+msgstr ""
+
+#, c-format
+msgid "Folder “%s”"
+msgstr ""
+
+msgid "Choose Folder..."
+msgstr ""
+
+msgid "Choose folder..."
+msgstr ""
+
+msgid "Create a new translation"
+msgstr ""
+
+msgid "Choose this if you want to translate the theme or plugin into your language."
+msgstr ""
+
+msgid "Create a POT"
+msgstr ""
+
+msgid "This option is for theme and plugin developers. Poedit will create an empty template (POT) that translations can be based on."
+msgstr ""
+
+msgid "Continue"
+msgstr ""
+
+msgid "Failed to extract WordPress information."
+msgstr ""
+
+msgid "WordPress error"
+msgstr ""
+
+#, c-format
+msgid "Poedit couldn’t understand the content of the folder you selected. This may be a problem with the plugin/theme or it may be Poedit being silly. The error is:\n\n • %s\n\nPlease email help at poedit.net and we’ll sort it out."
+msgstr ""
+
+#. TRANSLATORS: This is a button that sends an email to support when clicked
+msgid "Email support"
+msgstr ""
+
+msgid "View log"
+msgstr ""
+
+#. TRANSLATORS: This is a button that sends an email to support when clicked
+msgid "Email Support"
+msgstr ""
+
+msgid "View Log"
+msgstr ""
+
+msgid "WordPress Errors Log"
+msgstr ""
+
+msgid "Please email this log to help at poedit.net. Thank you!"
+msgstr ""
+
+msgid "Sync"
+msgstr ""
+
+msgid "Synchronize the translation with Crowdin"
+msgstr ""
+
diff --git a/locales/uz.mo b/locales/uz.mo
index 23fbaa4..ffa90f8 100644
Binary files a/locales/uz.mo and b/locales/uz.mo differ
diff --git a/locales/uz.po b/locales/uz.po
index 2555d09..5f85001 100644
--- a/locales/uz.po
+++ b/locales/uz.po
@@ -1,9 +1,9 @@
msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
-"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:34-0400\n"
+"Report-Msgid-Bugs-To: poedit at googlegroups.com\n"
+"POT-Creation-Date: 2015-05-11 08:48+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Uzbek\n"
"Language: uz_UZ\n"
@@ -16,6 +16,40 @@ msgstr ""
"X-Crowdin-Language: uz\n"
"X-Crowdin-File: /locales/poedit.pot\n"
+#. TRANSLATORS: This is titlebar of about dialog, "%s" is application name
+#. ("Poedit" here, but please use "%s")
+#, c-format
+msgid "About %s"
+msgstr "%s haqida"
+
+#. TRANSLATORS: This is version information in about dialog, "%s" will be
+#. version number when used
+#, c-format
+msgid "Version %s"
+msgstr "%s versiya"
+
+msgid "Based on the open source version →"
+msgstr "Ochiq manbali versiyaga asoslangan →"
+
+msgid "Acknowledgements"
+msgstr "Minnatdorchilik bildiramiz"
+
+msgid "Rate on the App Store"
+msgstr "App Store’da baholang"
+
+msgid "License Agreement"
+msgstr "Litsenziya bitimi"
+
+#, c-format
+msgid "Licensed to %s"
+msgstr "%sga litsenziyalangan"
+
+msgid "Purchased on the Mac App Store"
+msgstr "Mac App Store orqali xarid qilingan"
+
+msgid "Free version (please upgrade!)"
+msgstr "Bepul versiya (marhamat, yangilang!)"
+
msgid "Hide this notification message"
msgstr "Ushbu ogohlantirish xabarini yashirish"
@@ -37,70 +71,57 @@ msgstr "%d-qator ('%s' fayldagi) buzilgan (to‘g‘ri %s ma’lumotlar emas)."
#, c-format
msgid "Malformed header: '%s'"
-msgstr "Sarlavhaning noto'g'ri formati: '%s'"
+msgstr "Noto‘g‘ri formatdagi bosh qator: '%s'"
-msgid ""
-"Broken catalog file: singular form msgstr used together with msgid_plural"
-msgstr ""
-"Katalog faylida xatolik: msgstr ning birlik shakli msgid_plural bilan "
-"ishlatilgan"
+msgid "Broken catalog file: singular form msgstr used together with msgid_plural"
+msgstr "Buzilgan katalog fayli: msgstr’ning birlik shakli msgid_plural bilan birga ishlatilgan"
msgid "Broken catalog file: plural form msgstr used without msgid_plural"
-msgstr ""
-"Katalog faylida xatolik: msgstr ning ko'plik shakli msgid_plural siz "
-"ishlatilgan"
+msgstr "Katalog faylida xatolik: msgstr ning ko'plik shakli msgid_plural siz ishlatilgan"
-msgid ""
-"There were errors when loading the catalog. Some data may be missing or "
-"corrupted as the result."
-msgstr ""
-"Katalogni yuklashda xatolik ro'y berdi. Natijada ba'zi ma'lumotlar "
-"bo'lmasligi yoki noto'g'ri bo'lishi mumkin."
+msgid "There were errors when loading the catalog. Some data may be missing or corrupted as the result."
+msgstr "Katalogni yuklashda xatolik ro‘y berdi. Ba’zi ma’lumotlar bo'lmasligi yoki natija sifatida buzilgan bo‘lishi mumkin."
#, c-format
msgid "Couldn't load file %s, it is probably corrupted."
-msgstr "%s faylini yuklash mumkin emas, balkim u shikastlangan."
+msgstr "%s faylini yuklab bo‘lmaydi, u buzilgan bo‘lishi mumkin."
#, c-format
-msgid ""
-"File '%s' is read-only and cannot be saved.\n"
-"Please save it under different name."
-msgstr ""
-"'%s' fayli faqat o'qish uchun va uni saqlab bo'lmaydi.\n"
-"Iltimos uni boshqa nom bilan saqlang."
+msgid "File '%s' is read-only and cannot be saved.\nPlease save it under different name."
+msgstr "'%s' fayli faqat o‘qish uchun, shuning uchun uni saqlab bo‘lmaydi.\nUni boshqa nom bilan saqlang."
#, c-format
msgid "Couldn't save file %s."
msgstr "%s fayl saqlanmadi."
-msgid ""
-"There was a problem formatting the file nicely (but it was saved all right)."
+msgid "There was a problem formatting the file nicely (but it was saved all right)."
msgstr "Faylni formatlashda muammo yuz berdi (ammo u yaxshi saqlangandi)."
#, c-format
-msgid ""
-"The catalog couldn't be saved in '%s' charset as specified in catalog "
-"settings.\n"
-"\n"
-"It was saved in UTF-8 instead and the setting was modified accordingly."
-msgstr ""
-"Ushbu katalogni katalog sozlamalarida %s kodlash usulida saqlab bo‘lmaydi. \n"
-"\n"
-"O‘rniga UTF-8 kodlash usulida saqlandi va sozlash muvofiq ravishda "
-"o‘zgartirildi."
+msgid "The catalog couldn't be saved in '%s' charset as specified in catalog settings.\n\nIt was saved in UTF-8 instead and the setting was modified accordingly."
+msgstr "Ushbu katalogni katalog sozlamalarida %s kodlash usulida saqlab bo‘lmaydi. \n\nO‘rniga UTF-8 kodlash usulida saqlandi va sozlash muvofiq ravishda o‘zgartirildi."
msgid "Error saving catalog"
msgstr "Katalogni saqlashda xatolik"
+msgid "PO Translation Files"
+msgstr "PO tarjima fayllari"
+
+msgid "POT Translation Templates"
+msgstr "POT tarjima shablonlari"
+
+msgid "All Translation Files"
+msgstr "Barcha tarjima fayllari"
+
msgid "Merging differences..."
-msgstr "Farqlani birlashtirish..."
+msgstr "Farqlar birlashtirilmoqda..."
#, c-format
msgid "'%s' is not a valid POT file."
-msgstr "'%s' noto'g'ri POT fayli."
+msgstr "'%s' noto‘g‘ri POT fayli."
msgid "(Use default language)"
-msgstr "(Sukut bo'yicha tilni tanlash)"
+msgstr "(Standart tildan foydalanish)"
msgid "Select your preferred language"
msgstr "Siznig avfzal tilingizni tanlash"
@@ -109,7 +130,82 @@ msgid "Language selection"
msgstr "Tilni tanlash"
msgid "You must restart Poedit for this change to take effect."
-msgstr "Ushbu o'zgarish natijasini ko'rish uchun Poeditni qayta yuklash lozim."
+msgstr "O‘zgartirish amalga oshishi uchun Poedit’ni qayta ishga tushirishingiz kerak."
+
+msgid "Downloading translations is disabled in this project."
+msgstr "Tarjimalarni yuklab olish ushbu loyihada o‘chirib qo‘yilgan."
+
+msgid "Not authorized, please sign in again."
+msgstr "Tasdiqdan o‘tmagan, yana kiring."
+
+msgid "Sign in to Crowdin"
+msgstr "Crowdin saytiga kiring"
+
+msgid "Crowdin is an online localization management platform and collaborative translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr "Crowdin onlayn tarjimalarni boshqarish platformasi va hamkorlikda tarjima qilish vositasi hisoblanadi. Poedit PO fayllar bilan ishlash uchun Crowdin tarmog‘i bilan muammosiz sinxronlay oladi."
+
+msgid "Sign In"
+msgstr "Kirish"
+
+msgid "Sign in"
+msgstr "Kirish"
+
+msgid "Sign Out"
+msgstr "Chiqish"
+
+msgid "Sign out"
+msgstr "Chiqish"
+
+msgid "Waiting for authentication…"
+msgstr "Tasdiqdan o‘tkazilmoqda…"
+
+msgid "Updating user information…"
+msgstr "Foydalanuvchi ma’lumoti yangilanmoqda…"
+
+msgid "Signed in as:"
+msgstr "Foydalanuvchi:"
+
+msgid "Learn More About Crowdin"
+msgstr "Crowdin haqida ko‘proq ma’lumot olish"
+
+msgid "Learn more about Crowdin"
+msgstr "Crowdin haqida ko‘proq ma’lumot olish"
+
+msgid "Open Crowdin translation"
+msgstr "Crowdin tarjimasini ochish"
+
+msgid "Project:"
+msgstr "Loyiha:"
+
+msgid "Language:"
+msgstr "Til:"
+
+msgid "File:"
+msgstr "Fayl:"
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr "Crowdin hisobingizda birorta ham tarjima loyihalari keltirilmagan."
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr "Ushbu loyihada Poedit dasturida tarjima qilish uchun birorta ham fayl yo‘q."
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr "Ushbu faylni faqat Crowdin veb interfeysida tahrirlash mumkin."
+
+msgid "Downloading latest translations…"
+msgstr "So‘nggi tarjimalar yuklab olinmoqda…"
+
+msgid "Syncing with Crowdin"
+msgstr "Crowdin bilan sinxronlanmoqda"
+
+msgid "Syncing with Crowdin failed."
+msgstr "Crowdin bilan sinxronlash amalga oshmadi."
+
+msgid "Crowdin error"
+msgstr "Crowdin’da xatolik"
+
+msgid "Uploading translations…"
+msgstr "Tarjimalar yuklab qo‘yilmoqda…"
msgid "&Copy"
msgstr "&Nusxa olish"
@@ -122,41 +218,59 @@ msgstr "Batafsil ma’lumot"
#, c-format
msgid "Failed command: %s"
-msgstr "Buyrug'ida xatolik: %s"
+msgstr "Xato buyruq: %s"
msgid "Failed to merge gettext catalogs."
msgstr "Gettext kataloglarini birlashtirishda xatolik."
msgid "Scanning files..."
-msgstr "Faylni skanerlash..."
+msgstr "Fayllar tekshirilmoqda..."
#. TRANSLATORS: '%s' is replaced with the kind of the files (e.g. C++, PHP, ...)
#, c-format
msgid "Parsing %s files..."
-msgstr "%s fayllarni tahlil qilish..."
+msgstr "%s ta fayl ajratilmoqda..."
msgid "Failed to load extracted catalog."
-msgstr "Ajratib olingan katalogni yuklash mumkin emas."
+msgstr "Ajratilgan katalog yuklanmadi."
+
+#, c-format
+msgid "Failed to extract WordPress metadata from file %s."
+msgstr ""
msgid "&Help"
msgstr "&Yordam"
+msgid "Beta expired"
+msgstr "Beta muddati eskirdi"
+
+msgid "This beta version of Poedit expired."
+msgstr "Poedit’ning ushbu beta versiyasi eskirdi."
+
+msgid "Please download a newer version from the Poedit website at http://poedit.net/download"
+msgstr "Marhamat, yangiroq versiyasini Poedit vebsaytidan - http://poedit.net/download linkidan yuklab oling"
+
+msgid "Download"
+msgstr "Yuklab olish"
+
+msgid "Quit"
+msgstr "Chiqish"
+
msgid "MO files can’t be directly edited in Poedit."
msgstr "Poedit’da MO fayllarni to‘g‘ridan-to‘g‘ri tahrirlab bo‘lmaydi."
msgid "Error opening file"
msgstr "Faylni ochishda xato yuz berdi"
-msgid ""
-"Please open and edit the corresponding PO file instead. When you save it, "
-"the MO file will be updated as well."
-msgstr ""
-"O‘rniga mavjud PO faylini oching va tahrirlang. Uni saqlaganingizda, MO fayl "
-"ham yangilanadi."
+msgid "Please open and edit the corresponding PO file instead. When you save it, the MO file will be updated as well."
+msgstr "O‘rniga mavjud PO faylini oching va tahrirlang. Uni saqlaganingizda, MO fayl ham yangilanadi."
msgid "don't delete temporary files (for debugging)"
msgstr "vaqtinchalik fayllarni o‘chirmang (nosozlikni hal qilish uchun)"
+msgid "handle a poedit:// URI"
+msgstr "poedit:// URI bilan ishlash"
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr "Qayta ishlab bo‘lmaydigan istisno yuz berdi: %s"
@@ -167,42 +281,27 @@ msgstr "Qayta ishlab bo‘lmaydigan istisno ro‘y berdi."
msgid "Open catalog"
msgstr "Katalogni ochish"
-msgid "All Files"
-msgstr "Barcha fayllar"
-
-msgid "PO Translation Files"
-msgstr "PO tarjima fayllari"
-
#, c-format
msgid "File '%s' doesn't exist."
-msgstr "'%s' fayl mavjud emas."
-
-#. TRANSLATORS: This is titlebar of about dialog, "%s" is application name
-#. ("Poedit" here, but please use "%s")
-#, c-format
-msgid "About %s"
-msgstr "%s haqida"
-
-#. TRANSLATORS: This is version information in about dialog, "%s" will be
-#. version number when used
-#, c-format
-msgid "Version %s"
-msgstr "%s versiya"
+msgstr "'%s' fayli mavjud emas."
msgid "Poedit is an easy to use translations editor."
-msgstr "Poedit foydalanishda oson bo'lgan tarjima taxrirlagichidir."
+msgstr "Poedit qulay va oson tarjimalar tahrirlagichidir."
msgid "Catalogs Manager"
msgstr "Kataloglar menejeri"
+msgid "License..."
+msgstr "Litsenziya..."
+
msgid "Check for Updates..."
msgstr "Yangilanishlar uchun tekshirish..."
msgid "&Edit"
-msgstr "&Taxrirlash"
+msgstr "&Tahrirlash"
msgid "Undo"
-msgstr "Orqaga"
+msgstr "Orqaga qaytarish"
msgid "Redo"
msgstr "Qayta bajarish"
@@ -211,7 +310,7 @@ msgid "Paste and Match Style"
msgstr "Qo‘yish va uslubni topish"
msgid "Delete"
-msgstr "O'chirish"
+msgstr "O‘chirish"
msgid "Spelling and Grammar"
msgstr "Imlo va grammatika"
@@ -274,8 +373,17 @@ msgid "Stop Speaking"
msgstr "Gapirishni to‘xtatish"
msgid "&View"
-msgstr "&Ko'rinish"
+msgstr "&Ko‘rinishi"
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
+msgid "Show Toolbar"
+msgstr "Asboblar panelini ko‘rsatish"
+
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
+msgid "Customize Toolbar…"
+msgstr "Asboblar panelini moslash"
+
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
msgid "Enter Full Screen"
msgstr "\"Butun ekranda\" usuliga o‘tish"
@@ -291,19 +399,28 @@ msgstr "Kattalashtirish/Kichiklashtirish"
msgid "Bring All to Front"
msgstr "Hammasini oldga o‘tkazish"
+#. TRANSLATORS:File kind displayed in Finder/Explorer
msgid "PO Translation"
msgstr "PO tarjima"
+msgid "Invalid license data."
+msgstr "Litsenziya ma’lumotlari noto‘g‘ri."
+
+msgid "Poedit"
+msgstr "Poedit"
+
+#, c-format
+msgid "The link doesn't contain valid Poedit license. Try entering it manually or contact support at help at poedit.net.\n\n(%s)"
+msgstr "Linkda yaroqli Poedit litsenziyasi mavjud emas. Uni o‘zingiz kiritishga urinib ko‘ring yoki yordam uchun ushbu e-pochtaga xat yozing: help at poedit.net.\n\n(%s)"
+
msgid "The file cannot be opened."
msgstr "Faylni ochib bo‘lmaydi."
msgid "Invalid file"
msgstr "Noto‘g‘ri fayl"
-msgid ""
-"The file may be either corrupted or in a format not recognized by Poedit."
-msgstr ""
-"Fayl buzilgan bo‘lishi mumkin yoki ushbu formatni Poedit aniqlay olmadi."
+msgid "The file may be either corrupted or in a format not recognized by Poedit."
+msgstr "Fayl buzilgan bo‘lishi mumkin yoki ushbu formatni Poedit aniqlay olmadi."
msgid "&Undo"
msgstr "&Qaytarish"
@@ -374,15 +491,12 @@ msgid "shift"
msgstr "shift"
msgid "You can't drop more than one file on Poedit window."
-msgstr "Poedit darchasiga bittadan ortiq faylni olib tashlab bo'lmaydi."
+msgstr "Poedit oynasiga bittadan ortiq faylni tashlab bo‘lmaydi."
#, c-format
msgid "File '%s' is not a message catalog."
msgstr "'%s' fayli xabar katalogi emas."
-msgid "Poedit"
-msgstr "Poedit"
-
msgid "&File"
msgstr "&Fayl"
@@ -396,28 +510,35 @@ msgid "Singular:"
msgstr "Birlik:"
msgid "Plural:"
-msgstr "Ko'plik:"
+msgstr "Ko‘plik:"
msgid "Translation:"
msgstr "Tarjima:"
+msgid "POT files are only templates and don’t contain any translations themselves.\nTo make a translation, create a new PO file based on the template."
+msgstr ""
+
+msgid "Create New Translation"
+msgstr ""
+
+msgid "Create new translation"
+msgstr "Yangi tarjima yaratish"
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
#, c-format
-msgid ""
-"Spellchecking is disabled, because the dictionary for %s isn’t installed."
-msgstr ""
-"Imloni tekshirish o‘chirib qo‘yildi, chunki %s uchun lug‘at o‘rnatilmagan."
+msgid "Spellchecking is disabled, because the dictionary for %s isn’t installed."
+msgstr "Imloni tekshirish o‘chirib qo‘yildi, chunki %s uchun lug‘at o‘rnatilmagan."
msgid "Install"
msgstr "O‘rnatish"
msgid "Catalog modified. Do you want to save changes?"
-msgstr "Katalog o'zgartirildi. O'zgarishlarni saqlashni xohlaysizmi?"
+msgstr "Katalog o‘zgartirildi. O‘zgarishlarni saqlashni xohlaysizmi?"
msgid "Save changes"
-msgstr "O'zgarishlarni saqlash"
+msgstr "O‘zgarishlarni saqlash"
msgid "Your changes will be lost if you don't save them."
msgstr "Agar o‘zgarishlarni saqlamasangiz, ular yo‘qoladi."
@@ -432,7 +553,7 @@ msgid "Don't Save"
msgstr "Saqlanmasin"
msgid "Save as..."
-msgstr "Kabi saqlash..."
+msgstr "Boshqacha saqlash"
msgid "Compile to..."
msgstr "Quyidagiga kompilyatsiya qilish..."
@@ -441,16 +562,38 @@ msgid "Compiled Translation Files"
msgstr "Kompilyatsiya qilingan tarjima fayllari"
msgid "Export as..."
-msgstr "...kabi eksport qilish"
+msgstr "Eksport qilish"
msgid "HTML Files"
msgstr "HTML fayllar"
msgid "Open catalog template"
-msgstr "Andoza katalogini ochish"
+msgstr "Andoza namunasini ochish"
-msgid "POT Translation Templates"
-msgstr "POT tarjima shablonlari"
+msgid "WordPress"
+msgstr "WordPress"
+
+msgid "Analyzing WordPress code..."
+msgstr "WordPress kodi tahlil qilinmoqda..."
+
+msgid "Select the folder with the WordPress theme or plugin"
+msgstr "WordPress mavzusi yoki plagini bor jildni tanlang"
+
+#. TRANSLATORS: %s is name of a WordPress theme
+#, c-format
+msgid "The “%s” theme is compatible."
+msgstr "“%s” mavzusi mos keladi."
+
+#. TRANSLATORS: %s is name of a WordPress plugin
+#, c-format
+msgid "The “%s” plugin is compatible."
+msgstr "“%s” plagini mos keladi."
+
+msgid "The theme is translation-ready and compatible with Poedit’s WordPress support."
+msgstr "Ushbu plagin tarjima qilish uchun tayyor va Poedit’ning WordPress yordami bilan mos."
+
+msgid "The plugin is translation-ready and compatible with Poedit’s WordPress support."
+msgstr "Ushbu plagin tarjima qilish uchun tayyor va Poedit’ning WordPress yordami bilan mos."
msgid "Updating catalog"
msgstr "Katalogni yangilash"
@@ -461,20 +604,14 @@ msgstr "Manba kodi mavjud emas."
msgid "Updating failed"
msgstr "Yuklash amalga oshmadi"
-msgid ""
-"Translations couldn’t be updated from the source code, because no code was "
-"found in the location specified in the catalog’s Properties."
-msgstr ""
-"Tarjimalarni manba kodidan yuklab bo‘lmaydi, chunki katalogning xossalarida "
-"ko‘rsatilgan manzildan hech qanday kod topilmadi."
+msgid "Translations couldn’t be updated from the source code, because no code was found in the location specified in the catalog’s Properties."
+msgstr "Tarjimalarni manba kodidan yuklab bo‘lmaydi, chunki katalogning xossalarida ko‘rsatilgan manzildan hech qanday kod topilmadi."
msgid "Entries in the catalog are probably incorrect."
-msgstr "Katalog tarkibi ehtimol noto'g'ri."
+msgstr "Katalogga kiritilganlar noto‘g‘ri bo‘lishi mumkin."
msgid "Updating the catalog failed. Click on 'Details >>' for details."
-msgstr ""
-"Katalogni yangilab bo‘lmadi. Batafsil ma’lumotlar uchun 'Tafsilotlar >>'ga "
-"bosing."
+msgstr "Katalogni yangilab bo‘lmadi. Batafsil ma’lumotlar uchun 'Tafsilotlar >>'ga bosing."
#, c-format
msgid "%d issue with the translation found."
@@ -485,68 +622,64 @@ msgstr[1] "Tarjima bilan %d ta muammo topildi."
msgid "Validation results"
msgstr "To‘g‘rilash natijalari"
-msgid ""
-"Entries with errors were marked in red in the list. Details of the error "
-"will be shown when you select such an entry."
-msgstr ""
-"Xato kiritilganlar ro‘yxatda qizil bilan belgilangan. Xatolik tafsilotlari "
-"kiritilganni tanlasangiz ko‘rinadi."
+msgid "Entries with errors were marked in red in the list. Details of the error will be shown when you select such an entry."
+msgstr "Xato kiritilganlar ro‘yxatda qizil bilan belgilangan. Xatolik tafsilotlari kiritilganni tanlasangiz ko‘rinadi."
msgid "The file was saved safely."
msgstr "Fayl xavfsiz saqlandi."
-msgid ""
-"The file was saved safely and compiled into the MO format, but it will "
-"probably not work correctly."
-msgstr ""
-"Fayl xavfsiz saqlandi va MO formatga o‘zgartirildi, ammo u to‘g‘ri "
-"ishlamasligi mumkin."
+msgid "The file was saved safely and compiled into the MO format, but it will probably not work correctly."
+msgstr "Fayl xavfsiz saqlandi va MO formatga o‘zgartirildi, ammo u to‘g‘ri ishlamasligi mumkin."
-msgid ""
-"The file was saved safely, but it cannot be compiled into the MO format and "
-"used."
-msgstr ""
-"Fayl xavfsiz saqlandi, ammo MO formatga o‘zgartirilmadi va undan foydalanib "
-"bo‘lmaydi."
+msgid "The file was saved safely, but it cannot be compiled into the MO format and used."
+msgstr "Fayl xavfsiz saqlandi, ammo MO formatga o‘zgartirilmadi va undan foydalanib bo‘lmaydi."
-msgid ""
-"The file was compiled into the MO format, but it will probably not work "
-"correctly."
-msgstr ""
-"Fayl MO formatga kompilyatsiya qilindi, ammo u to‘g‘ri ishlamasligi mumkin."
+msgid "The file was compiled into the MO format, but it will probably not work correctly."
+msgstr "Fayl MO formatga kompilyatsiya qilindi, ammo u to‘g‘ri ishlamasligi mumkin."
msgid "The file cannot be compiled into the MO format and used."
-msgstr ""
-"Faylni MO formatga kompilyatsiya qilib bo‘lmaydi va undan foydalanib ham "
-"bo‘lmaydi."
+msgstr "Faylni MO formatga kompilyatsiya qilib bo‘lmaydi va undan foydalanib ham bo‘lmaydi."
msgid "No problems with the translation found."
msgstr "Tarjima bilan bog‘liq hech qanday muammo topilmadi."
#, c-format
msgid "The translation is ready for use, but %d entry is not translated yet."
-msgid_plural ""
-"The translation is ready for use, but %d entries are not translated yet."
-msgstr[0] ""
-"Tarjima foydalanish uchun tayyor, ammo %d ta kiritilgan tarjima qilinmagan."
-msgstr[1] ""
-"Tarjima foydalanish uchun tayyor, ammo %d ta kiritilgan tarjima qilinmagan."
+msgid_plural "The translation is ready for use, but %d entries are not translated yet."
+msgstr[0] "Tarjima foydalanish uchun tayyor, ammo %d ta kiritilgan tarjima qilinmagan."
+msgstr[1] "Tarjima foydalanish uchun tayyor, ammo %d ta kiritilgan tarjima qilinmagan."
msgid "The translation is ready for use."
msgstr "Tarjima foydalanish uchun tayyor."
-msgid "No references to this string found."
-msgstr "Ushbu qator uchun bog'lanishlar topilmadi."
+msgid "Contributing translations improves the quality of online suggestions for everybody — the more people do it, the better the suggestions can be. Your translations are submitted anonymously and are available to other translators using Poedit or other CAT tools."
+msgstr "Tarjimalarga hissa qo‘shish har kim uchun tavsiyalarning sifatini yaxshilaydi — ko‘pgina odamlar tavsiyalarni yaxshilashadi. Tarjimalaringiz anonim tarzda yaratiladi va Poedit yoki boshqa CAT vositalaridan foydalanuvchi tarjimonlar uchun mavjud bo‘ladi."
-msgid "Please choose the reference you want to show:"
-msgstr "Ko'rsatish lozim bo'lgan bog'lanishni tanlang:"
+msgid "Can Poedit contribute your translations of this file to the online translation memory?"
+msgstr "Poedit ushbu fayldagi tarjimalaringizni onlayn tarjima xotirasiga qo‘shishiga ruxsat berasizmi?"
-msgid "References"
-msgstr "Sozlashlar"
+msgid "Apply to all files I edit"
+msgstr "Barcha fayllarga qo‘llash I tahrirlash"
+
+msgid "Contribute"
+msgstr "Hissa qo‘shish"
+
+msgid "Keep Private"
+msgstr "Shaxsiylikni saqlash"
+
+msgid "Keep private"
+msgstr "Shaxsiylikni saqlash"
msgid "Context:"
msgstr "Matn:"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr ""
+
+msgid "The file contained duplicate items, which is not allowed in PO files and would prevent the file from being used. Poedit fixed the issue, but you should review translations of any items marked as fuzzy and correct them if necessary."
+msgstr ""
+
msgid "Language of the translation isn't set."
msgstr "Tarjima nomi kiritilmagan."
@@ -556,19 +689,24 @@ msgstr "Til o‘rnatish"
msgid "Set language"
msgstr "Tilni kiritish"
-msgid ""
-"This catalog has entries with plural forms, but doesn't have Plural-Forms "
-"header configured."
-msgstr ""
-"Katalogdagilar ko‘plik shaklida, ammo ko‘plik shakllari bosh qatori "
-"moslanmagan."
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid "Suggestions are not available if the translation language is not set correctly. Other features, such as plural forms, may be affected as well."
+msgstr "Tarjima tili noto‘g‘ri bo‘lsa, tavsiyalar mavjud bo‘lmaydi. Boshqa xususiyatlar, masalan, ko‘plik shahkli yaxshi bo‘lishi mumkin."
-msgid ""
-"Entries in this catalog have different plural forms count from what "
-"catalog's Plural-Forms header says"
-msgstr ""
-"Ko‘plik shakllari bosh qatori bilan tarjima qilinganda foydalanilayotgan "
-"ko‘plik shakllari farq qilmoqda"
+msgid "Language of the translation is the same as source language."
+msgstr "Til nomi manba tildagi bilan bir xil."
+
+msgid "Fix Language"
+msgstr "Tilni to‘g‘rilash"
+
+msgid "Fix language"
+msgstr "Tilni to‘g‘rilash"
+
+msgid "This catalog has entries with plural forms, but doesn't have Plural-Forms header configured."
+msgstr "Katalogdagilar ko‘plik shaklida, ammo ko‘plik shakllari bosh qatori moslanmagan."
+
+msgid "Entries in this catalog have different plural forms count from what catalog's Plural-Forms header says"
+msgstr "Ko‘plik shakllari bosh qatori bilan tarjima qilinganda foydalanilayotgan ko‘plik shakllari farq qilmoqda"
msgid "Required header Plural-Forms is missing."
msgstr "Ko‘plik shakllari yo‘q bosh qatori talab qilinmoqda."
@@ -590,12 +728,13 @@ msgstr "Bosh qatorni to‘g‘rilash"
msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr "Katalogda foydalanilgan ko‘plik shakllari ifodasi %s uchun noodatiy."
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr "Ko‘rib chiqish"
#, c-format
msgid "Error loading message catalog file '%s'."
-msgstr "'%s' xabarlar fayl katalogini yuklashda xatolik"
+msgstr "'%s' katalog fayli xabarini yuklashda xatolik yuz berdi."
#, c-format
msgid "Translated: %d of %d (%d %%)"
@@ -611,11 +750,21 @@ msgid_plural "%d errors"
msgstr[0] "%d ta xato"
msgstr[1] "%d ta xato"
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] ""
+msgstr[1] ""
+
msgid " (unsaved)"
msgstr " (saqlanmagan)"
msgid " (modified)"
-msgstr " (o'zgartirilgan)"
+msgstr " (o‘zgartirilgan)"
+
+#, c-format
+msgid " (beta version expires %s)"
+msgstr " (beta versiya muddati %s da tugaydi)"
msgid "Go"
msgstr "O‘tish"
@@ -625,19 +774,13 @@ msgid "Failed to update translation memory: %s"
msgstr "Tarjima xotirasi yangilanmadi: %s"
msgid "Purge deleted translations"
-msgstr "O'chirilgan tarjimalarni yo'q qilish"
+msgstr "O‘chirilgan tarjimalarni tozalash"
msgid "Do you want to remove all translations that are no longer used?"
msgstr "Uzoq vaqt foydalanilmagan barcha tarjimalarni o‘chirishni xohlaysizmi?"
-msgid ""
-"If you continue with purging, all translations marked as deleted will be "
-"permanently removed. You will have to translate them again if they are added "
-"back in the future."
-msgstr ""
-"Agar tozalashda davom etsangiz, barcha o‘chirish uchun belgilangan "
-"tarjimalar butunlay o‘chiriladi. Agar ular keyinchalik kerak bo‘lib qolsa, "
-"yana tarjima qilishingiz kerak bo‘ladi."
+msgid "If you continue with purging, all translations marked as deleted will be permanently removed. You will have to translate them again if they are added back in the future."
+msgstr "Agar tozalashda davom etsangiz, barcha o‘chirish uchun belgilangan tarjimalar butunlay o‘chiriladi. Agar ular keyinchalik kerak bo‘lib qolsa, yana tarjima qilishingiz kerak bo‘ladi."
msgid "Keep"
msgstr "Saqlab qo‘yish"
@@ -651,24 +794,23 @@ msgstr "TX orqali tarjima qilish"
msgid "Only fill in exact matches"
msgstr "Faqat to‘liq mos kelganlar bilan to‘ldirilsin"
-msgid ""
-"By default, inaccurate results are filled in as well and marked as fuzzy. "
-"Check this option to only include accurate matches."
-msgstr ""
-"Standart holat bo‘yicha, aniq bo‘lmagan natijalar odatda \"noaniq\" sifatida "
-"belgilanadi. Ushbu tanlovni faqat to‘liq mos tushganlarni qo‘shish uchun "
-"tanlang."
+msgid "By default, inaccurate results are filled in as well and marked as fuzzy. Check this option to only include accurate matches."
+msgstr "Standart holat bo‘yicha, aniq bo‘lmagan natijalar odatda \"noaniq\" sifatida belgilanadi. Ushbu tanlovni faqat to‘liq mos tushganlarni qo‘shish uchun tanlang."
msgid "Don’t mark exact matches as fuzzy"
msgstr "To‘liq mos tushganlar \"noaniq\" sifatida belgilanmasin"
-msgid ""
-"Only enable if you trust the quality of your TM. By default, all matches "
-"from the TM are marked as fuzzy and should be reviewed."
+msgid "Only enable if you trust the quality of your TM. By default, all matches from the TM are marked as fuzzy and should be reviewed."
+msgstr "Agar TX sifatiga to‘liq ishonsangiz, uni yoqib qo‘ying. Standart holat bo‘yicha, barcha TX’dan topilgan tarjimalar \"noaniq\" sifatida belgilanadi va qaytadan ko‘rib chiqish kerak bo‘ladi."
+
+msgid "Use online suggestions"
+msgstr ""
+
+msgid "Use online suggestions (experimental)"
+msgstr ""
+
+msgid "Try to fetch translations from the online TM as well. Notice that the translations will not be perfect and will still need to be corrected by a human translator."
msgstr ""
-"Agar TX sifatiga to‘liq ishonsangiz, uni yoqib qo‘ying. Standart holat "
-"bo‘yicha, barcha TX’dan topilgan tarjimalar \"noaniq\" sifatida belgilanadi "
-"va qaytadan ko‘rib chiqish kerak bo‘ladi."
msgid "Fill"
msgstr "To‘ldirish"
@@ -679,24 +821,14 @@ msgid_plural "%d entries were filled from the translation memory."
msgstr[0] "%d ta tarjima xotirasidan kiritildi."
msgstr[1] "%d ta tarjima xotirasidan kiritildi."
-msgid ""
-"The translations were marked as fuzzy, because they may be inaccurate. You "
-"should review them for correctness."
-msgstr ""
-"Tarjimalar noaniq sifatida belgilangan, chunki ularda kamchiliklar bo‘lishi "
-"mumkin. Ularni bexato bo‘lishini ta’minlash uchun ko‘rib chiqishingiz kerak."
+msgid "The translations were marked as fuzzy, because they may be inaccurate. You should review them for correctness."
+msgstr "Tarjimalar noaniq sifatida belgilangan, chunki ularda kamchiliklar bo‘lishi mumkin. Ularni bexato bo‘lishini ta’minlash uchun ko‘rib chiqishingiz kerak."
msgid "No entries could be filled from the translation memory."
msgstr "Tarjima xotirasidan birorta ham tarjima kiritilmagan."
-msgid ""
-"The TM doesn’t contain any strings similar to the content of this file. It "
-"is only effective for semi-automatic translations after Poedit learns enough "
-"from files that you translated manually."
-msgstr ""
-"TXda ushbu fayl tarkibi bilan bir xil qatorlar mavjud emas. U faqat Poedit "
-"siz tarjima qilgan fayllardan yetarlicha o‘rgangandan so‘ng avtomatik "
-"tarjima qilishida samaralidir."
+msgid "The TM doesn’t contain any strings similar to the content of this file. It is only effective for semi-automatic translations after Poedit learns enough from files that you translated manually."
+msgstr "TXda ushbu fayl tarkibi bilan bir xil qatorlar mavjud emas. U faqat Poedit siz tarjima qilgan fayllardan yetarlicha o‘rgangandan so‘ng avtomatik tarjima qilishida samaralidir."
msgid "Translating"
msgstr "Tarjima qilinmoqda"
@@ -723,20 +855,23 @@ msgid "Clear Translation"
msgstr "Tarjimani tozalash"
msgid "Edit comment"
-msgstr "Izohni taxrirlash"
+msgstr "Sharhni tahrirlash"
msgid "Edit Comment"
msgstr "Sharhni tahrirlash"
msgid "References:"
-msgstr "Sozlashlar:"
+msgstr "Bog‘lanishlar:"
msgid "Everything"
msgstr "Hammasi"
#, c-format
msgid "Form %i"
-msgstr "Shakl %i"
+msgstr "%i shakli "
+
+msgid "Singular"
+msgstr ""
msgid "Zero"
msgstr "Nol"
@@ -747,11 +882,14 @@ msgstr "Bir"
msgid "Two"
msgstr "Ikki"
+msgid "Plural"
+msgstr ""
+
msgid "Other"
msgstr "Boshqa"
msgid "&Bookmarks"
-msgstr "&Xatcho'plar"
+msgstr "&Xatcho‘plar"
#, c-format
msgid "Set bookmark %i"
@@ -775,6 +913,12 @@ msgstr "Yon panelni yashirish"
msgid "Show Sidebar"
msgstr "Yon panelni ko‘rsatish"
+msgid "Hide Status Bar"
+msgstr ""
+
+msgid "Show Status Bar"
+msgstr ""
+
msgid "Source text"
msgstr "Manba matni"
@@ -784,6 +928,10 @@ msgstr "Tarjima"
msgid "ID"
msgstr "ID"
+#, c-format
+msgid "Source text — %s"
+msgstr "Manba matn — %s"
+
msgid "unknown language"
msgstr "noma’lum til"
@@ -794,57 +942,73 @@ msgstr "Tarjima — %s"
msgid "Error:"
msgstr "Xato:"
-msgid "Project info"
-msgstr "Loiha haqida ma'limot"
+msgid "Source file"
+msgstr "Manba fayl"
-msgid "Project name and version:"
-msgstr "Loiha nomi va versiyasi:"
+msgid "Source file occurrence:"
+msgstr "Manba fayli hodisalari:"
-msgid "Language:"
-msgstr "Til:"
+msgid "Open in Editor"
+msgstr "Tahrirlagichda ochish"
-msgid "Team:"
-msgstr "Guruh:"
+msgid "Open in editor"
+msgstr "Tahrirlagichda ochish"
-msgid "Team's email address:"
-msgstr "Guruh email manzillari:"
+msgid "No references for the selected item."
+msgstr "Tanlangan band uchun ma’lumotlar yo‘q."
-msgid "Charset:"
-msgstr "Kodirovka:"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "%s faylini ochishda xatolik!"
-msgid "Source"
-msgstr "Manba"
+msgid "Find"
+msgstr "Topish"
-msgid "Notes"
-msgstr "Izohlar"
+msgid "Replace"
+msgstr "Almashtirish"
-msgid "Automatic translation"
-msgstr "Avtomatik tarjima"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr "Tanlamalar"
-msgid "Fuzzy translation"
-msgstr "Noaniq tarjimalar"
+msgid "Ignore case"
+msgstr "Katta-kichiklikni rad qilish"
-msgid "Notes for translators:"
-msgstr "Tarjimonlar uchun eslatmalar:"
+msgid "Wrap around"
+msgstr "Uzun qidiruv"
-msgid "Comment:"
-msgstr "Izoh:"
+msgid "Whole words only"
+msgstr "Faqat to‘liq so‘zlar"
-msgid "Source file"
-msgstr "Boshlang'ich fayl"
+msgid "Find in source texts"
+msgstr "Manba matnlaridan topish"
-msgid "Source file occurrence:"
-msgstr "Manba fayli hodisalari:"
+msgid "Find in translations"
+msgstr "Tarjimalardan topish"
-msgid "Open in Editor"
-msgstr "Tahrirlagichda ochish"
+msgid "Find in comments"
+msgstr "Sharhlardan qidirish"
-msgid "Open in editor"
-msgstr "Tahrirlagichda ochish"
+msgid "Close"
+msgstr "Yopish"
-#, c-format
-msgid "Error opening file %s!"
-msgstr "%s faylini ochishda xatolik!"
+msgid "Replace All"
+msgstr "Barchasini almashtirish"
+
+msgid "Replace all"
+msgstr "Barchasini almashtirish"
+
+msgid "< &Previous"
+msgstr "< &Oldingi"
+
+msgid "&Next >"
+msgstr "&Keyingi >"
+
+msgid "String to find"
+msgstr "Topish uchun qator"
+
+msgid "Replacement string"
+msgstr "Almashadigan qator"
#, c-format
msgid "Cannot execute program: %s"
@@ -859,6 +1023,55 @@ msgstr "Tarjima tili"
msgid "Language of the translation:"
msgstr "Tarjima tili:"
+msgid "Poedit Registration"
+msgstr "Poedit’ni ro‘yxatdan o‘tkazish"
+
+msgid "Name"
+msgstr "Nomi"
+
+msgid "License Key"
+msgstr "Litsenziya kaliti"
+
+msgid "The registration key can be used on multiple computers you use personally or for multiple\naccounts on a single computer."
+msgstr "Ro‘yxatdan o‘tish kalitidan bir necha kompyuterlarda bitta hisob yoki bitta kompyuterda bir necha\nhisoblar ishlash uchun foydalanish mumkin."
+
+msgid "Buy Online..."
+msgstr "Onlayn sotib olish"
+
+msgid "Buy online..."
+msgstr "Onlayn sotib olish"
+
+msgid "Cancel"
+msgstr "Bekor qilish"
+
+msgid "Register"
+msgstr "Ro‘yxatdan o‘tish"
+
+msgid "Your copy is upgraded to Poedit Pro."
+msgstr "Dasturingiz nusxasi Poedit Pro’ga yangilandi."
+
+msgid "You’re awesome! Thank you so much\nfor purchasing Poedit Pro."
+msgstr "Siz ajoyibsiz! Poedit Pro’ni sotib \nolganingiz uchun katta rahmat."
+
+msgid "View License Key"
+msgstr "Litsenziya kalitini ko‘rish"
+
+msgid "View license key"
+msgstr "Litsenziya kalitini ko‘rish"
+
+#, c-format
+msgid "Licensed to: %s"
+msgstr "Litsenziyalangan: %s"
+
+msgid "Purchasing the full version will unlock more features\nin this and future versions of Poedit, including:\n\n"
+msgstr "To‘liq versiyasini sotib olish ko‘plab xususiyatlarni ochib beradi\nushbu va keyingi Poedit versiyalariga qo‘shilgan:\n\n"
+
+msgid "Upgrade..."
+msgstr "Yangilash..."
+
+msgid "No, thanks"
+msgstr "Yo‘q, kerak emas"
+
msgid "Poedit - Catalogs manager"
msgstr "Poedit - kataloglar boshqaruvchisi"
@@ -866,7 +1079,7 @@ msgid "Catalog"
msgstr "Katalog"
msgid "Total"
-msgstr "Umumiy"
+msgstr "Jami"
msgid "Untrans"
msgstr "Tarjima qilinmagan"
@@ -875,32 +1088,28 @@ msgid "Fuzzy"
msgstr "Noaniq"
msgid "Bad Tokens"
-msgstr "Notog'ri belgilar"
+msgstr "Noto‘g‘ri belgilar"
msgid "Last modified"
-msgstr "Oxirgi o'zgarish"
+msgstr "So‘nggi o‘zgartirish"
msgid "Select directory"
-msgstr "Katalogni tanlash"
+msgstr "Direktoriyani tanlash"
msgid "Directories:"
-msgstr "Kataloglar:"
+msgstr "Direktoriyalar:"
msgid "<unnamed>"
msgstr "<nomlanmagan>"
msgid "Do you want to delete the project?"
-msgstr "Loihani haqiqatdan ham o'chirmoqchimisiz?"
+msgstr "Loyihani o‘chirishni xohlaysizmi?"
msgid "Confirmation"
msgstr "Tasdiqlash"
-msgid ""
-"Do you really want to do mass update of\n"
-"all catalogs in this project?"
-msgstr ""
-"Siz haqiqatdan ushbu loihadagi barcha\n"
-"kataloglarni yangilamoqchimisiz?"
+msgid "Do you really want to do mass update of\nall catalogs in this project?"
+msgstr "Siz rostdan ushbu loyihadagi barcha\nkataloglarni yangilamoqchimisiz?"
msgid "Information about the translator"
msgstr "Tarjimon haqida ma’lumot"
@@ -917,12 +1126,8 @@ msgstr "E-pochtangiz:"
msgid "your_email at example.com"
msgstr "e-pochtangiz at masalan.com"
-msgid ""
-"Your name and email address are only used to set the Last-Translator header "
-"of GNU gettext files."
-msgstr ""
-"Ismingiz va e-pochtangiz manzilidan faqat GNU gettext fayllaridagi \"Last-"
-"Translator\" bosh qatorida foydalaniladi."
+msgid "Your name and email address are only used to set the Last-Translator header of GNU gettext files."
+msgstr "Ismingiz va e-pochtangiz manzilidan faqat GNU gettext fayllaridagi \"Last-Translator\" bosh qatorida foydalaniladi."
msgid "Editing"
msgstr "Tahrirlanmoqda"
@@ -931,22 +1136,16 @@ msgid "Automatically compile MO file when saving"
msgstr "Saylayotganda avtomatik tarzda MO fayl yaratilsin"
msgid "Show summary after catalog update"
-msgstr "Katalog yangilangandan so'ng xulosani ko'rsatish"
+msgstr "Katalog yangilangandan so‘ng natijani ko‘rsatish"
msgid "Check spelling"
msgstr "Imloni tekshirish"
msgid "Always change focus to text input field"
-msgstr "Matnni kiritish maydoniga doimo fokusni o'rnatish"
+msgstr "Fokusni doimo matnni kiritish maydoniga o‘zgartirish"
-msgid ""
-"Never let the list of strings take focus. If enabled, you must use Ctrl-"
-"arrows for keyboard navigation but you can also type text immediately, "
-"without having to press Tab to change focus."
-msgstr ""
-"Never let the list of strings take focus. If enabled, you must use Ctrl-"
-"arrows for keyboard navigation but you can also type text immediately, "
-"without having to press Tab to change focus."
+msgid "Never let the list of strings take focus. If enabled, you must use Ctrl-arrows for keyboard navigation but you can also type text immediately, without having to press Tab to change focus."
+msgstr "Hech qachon qatorlar ro‘yxatiga fokusni olishiga yo‘l qo‘yilmasin. Agar u yoqib qo‘yilsa, klaviaturadan boshqarish uchun Ctrl-ko‘rsatkichlar’dan foydalanishingiz kerak, ammo siz, shuningdek, fokusni o‘zgartirish uchun Tab tugmasini bosmasdan ham matnni tez yozishingiz mumkin."
msgid "Appearance"
msgstr "Ko‘rinishi"
@@ -958,7 +1157,7 @@ msgid "Use custom text fields font:"
msgstr "Matn maydonlari shriftini o‘zgartirish:"
msgid "Change UI language"
-msgstr "UI tilini o'zgartirish"
+msgstr "Grafik interfeys tilini o‘zgartirish"
#. TRANSLATORS: This is a note appended to "Check spelling" when running on older Windows versions
msgid "(requires Windows 8 or newer)"
@@ -983,17 +1182,30 @@ msgstr "Tiklash"
msgid "Consult TM when updating from sources"
msgstr "Manbalardan yangilanganda TX tavsiya qilsin"
-msgid ""
-"If enabled, Poedit will try to fill in new entries using your previous\n"
-"translations stored in the translation memory. If the TM is\n"
-"near-empty, it will not be very effective. The more translations\n"
-"you edit and the larger the TM grows, the better it gets."
+msgid "If enabled, Poedit will try to fill in new entries using your previous\ntranslations stored in the translation memory. If the TM is\nnear-empty, it will not be very effective. The more translations\nyou edit and the larger the TM grows, the better it gets."
+msgstr "Agar yoqib qo‘yilsa, Poedit tarjima xotirasida joylashgan oldingi\ntarjimalaringizdan foydalanib tarjima qilishga urinadi. Agar tarjima xotirasi endi tuzilgan bo‘lsa samarasi kam bo‘ladi. Siz \nko‘plab tarjimalarni tahrirlasangiz va TX kattalashib borsa,\n shuncha tarjima sifatli bo‘lib boradi."
+
+msgid "Use suggestions from online collaborative TM"
+msgstr "Onlayn hamkorlikdagi TXdagi tavsiyalardan foydalanish"
+
+msgid "Poedit uses a large online translation memory that includes both contributed human translations and state-of-the-art machine translations."
+msgstr "Poedit odamlar amalga oshirgan tarjimalar va mashina tarjimalaridan iborat katta onlayn tarjimalari xotirasidan foydalanadi."
+
+msgid "Contribute my translations to the online TM"
+msgstr "Tarjimalarimni onlayn TXga qo‘shish"
+
+msgid "Keep my translations private"
+msgstr "Tarjimalarimni maxfiy saqlash"
+
+msgid "Ask me for each file individually"
msgstr ""
-"Agar yoqib qo‘yilsa, Poedit tarjima xotirasida joylashgan oldingi\n"
-"tarjimalaringizdan foydalanib tarjima qilishga urinadi. Agar tarjima "
-"xotirasi endi tuzilgan bo‘lsa samarasi kam bo‘ladi. Siz \n"
-"ko‘plab tarjimalarni tahrirlasangiz va TX kattalashib borsa,\n"
-" shuncha tarjima sifatli bo‘lib boradi."
+
+msgid "Terms of Service"
+msgstr "Xizmat shartlari"
+
+#. TRANSLATORS: This is part of footer that says in full "powered by MyMemory", with the MyMemory part being a logo
+msgid "powered by"
+msgstr "ushbu yordamida yaratilgan:"
msgid "Stored translations:"
msgstr "Saqlangan tarjimalar:"
@@ -1019,15 +1231,8 @@ msgstr "Tarjima xotirasini tiklash"
msgid "Are you sure you want to reset the translation memory?"
msgstr "Tarjima xotirasini tiklamoqchi ekanligingizga ishonchingiz komilmi?"
-msgid ""
-"Resetting the translation memory will irrevocably delete all stored "
-"translations from it. You can’t undo this operation."
-msgstr ""
-"Tarjima xotirasini tiklash barcha joylashgan tarjimalarni xotiradan butunlay "
-"o‘chiradi. Siz bu jarayonni iziga qaytara olmaysiz."
-
-msgid "Cancel"
-msgstr "Bekor qilish"
+msgid "Resetting the translation memory will irrevocably delete all stored translations from it. You can’t undo this operation."
+msgstr "Tarjima xotirasini tiklash barcha joylashgan tarjimalarni xotiradan butunlay o‘chiradi. Siz bu jarayonni iziga qaytara olmaysiz."
#. TRANSLATORS: This is abbreviation of "Translation Memory" used in Preferences on OS X.
#. Long text looks weird there, too short (like TM) too, but less so. "General" is about ideal
@@ -1035,45 +1240,42 @@ msgstr "Bekor qilish"
msgid "TM"
msgstr "TX"
-msgid ""
-"Source code extractors are used to find translatable strings in the source "
-"code files and extract them so that they can be translated."
-msgstr ""
-"Manba kodi ajratgichlari manba kodi fayllaridagi tarjima qilinadigan "
-"qatorlarni topishda foydalaniladi va ularni tarjima qilish uchun ajratadi."
+msgid "Source code extractors are used to find translatable strings in the source code files and extract them so that they can be translated."
+msgstr "Manba kodi ajratgichlari manba kodi fayllaridagi tarjima qilinadigan qatorlarni topishda foydalaniladi va ularni tarjima qilish uchun ajratadi."
msgid "New"
-msgstr "Yaratish"
+msgstr "Yangi"
msgid "Edit"
msgstr "Tahrirlash"
+msgid "Delete extractor"
+msgstr "Ajratkichni o‘chirish"
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr "“%s” ajratkichni o‘chirmoqchimisiz?"
+
msgid "Extractors"
msgstr "Ajratgichlar"
+msgid "Accounts"
+msgstr "Hisoblar"
+
msgid "Automatically check for updates"
msgstr "Yangilanishlar avtomatik tekshirilsin"
msgid "Include beta versions"
msgstr "Beta versiyalari ham"
-msgid ""
-"Beta versions contain the latest new features and improvements, but may be a "
-"bit less stable."
-msgstr ""
-"Beta versiyalarda so‘nggi yangi xususiyatlar va yaxshilanishlar bo‘ladi, "
-"ammo biroz barqaror bo‘lmasligi mumkin."
+msgid "Beta versions contain the latest new features and improvements, but may be a bit less stable."
+msgstr "Beta versiyalarda so‘nggi yangi xususiyatlar va yaxshilanishlar bo‘ladi, ammo biroz barqaror bo‘lmasligi mumkin."
msgid "Updates"
msgstr "Yangilanishlar"
-msgid ""
-"These settings affect internal formatting of PO files. Adjust them if you "
-"have specific requirements e.g. because of version control."
-msgstr ""
-"Ushbu sozlamalar PO fayllarni ichki formatlashga ta’sir qiladi. Agar "
-"versiyani boshgarishga o‘xshagan maxsus talablaringiz bo‘lsa, uni "
-"to‘g‘rilang."
+msgid "These settings affect internal formatting of PO files. Adjust them if you have specific requirements e.g. because of version control."
+msgstr "Ushbu sozlamalar PO fayllarni ichki formatlashga ta’sir qiladi. Agar versiyani boshgarishga o‘xshagan maxsus talablaringiz bo‘lsa, uni to‘g‘rilang."
msgid "Line endings:"
msgstr "Qator tugashi:"
@@ -1082,7 +1284,7 @@ msgid "Unix (recommended)"
msgstr "Unix (tavsiya qilingan)"
msgid "Windows"
-msgstr "Darchalar"
+msgstr "Oynalar"
#. TRANSLATORS: Followed by text control for entering number; wraps text at given width
msgid "Wrap at:"
@@ -1094,11 +1296,35 @@ msgstr "Mavjud fayllarni formatlashni saqlash"
msgid "Advanced"
msgstr "Qo‘shimcha"
+msgid "Add Files..."
+msgstr ""
+
+msgid "Add files..."
+msgstr ""
+
+msgid "Add Folders..."
+msgstr ""
+
+msgid "Add folders..."
+msgstr ""
+
+msgid "Add Wildcard..."
+msgstr ""
+
+msgid "Add wildcard..."
+msgstr ""
+
+msgid "<big>Drag and Drop Folders Here</big>\n\nor use the + button"
+msgstr ""
+
+msgid "<big>Drag and drop folders here</big>\n\nor use the + button"
+msgstr ""
+
msgid "Additional keywords"
msgstr "Qo‘shimcha kalit so‘zlar"
msgid "Paths"
-msgstr "Yo'llar"
+msgstr "Yo‘llar"
msgid "Excluded paths"
msgstr "Qo‘shilmagan yo‘llar"
@@ -1115,6 +1341,9 @@ msgstr "UTF-8 (tavsiya qilinadi)"
msgid "Please save the file first. This section cannot be edited until then."
msgstr "Avval faylni saqlang, Saqlamasangiz uchbu qismni tahrirlay olmaysiz."
+msgid "Comment:"
+msgstr "Sharh:"
+
msgid "OK"
msgstr "OK"
@@ -1122,73 +1351,37 @@ msgid "C&lear"
msgstr "Toza&lash"
msgid "Clear the comment"
-msgstr "Izohni tozalash"
-
-msgid "Find..."
-msgstr "Qidirish..."
-
-msgid "String to find:"
-msgstr "Qatorni topish:"
-
-msgid "Case sensitive"
-msgstr "Registrga ta'sirchan"
-
-msgid "Start from the first item"
-msgstr "Birinchi elementdan boshlash"
-
-msgid "Whole words only"
-msgstr "Faqat to'liq so'zlar"
-
-msgid "Find in original strings"
-msgstr "Original qatorlarda qidirish"
-
-msgid "Find in translations"
-msgstr "Tarjimalarda qidirish"
-
-msgid "Find in comments"
-msgstr "Izohlarda qidirish"
-
-msgid "Find in automatic comments"
-msgstr "Avtomatik izohlarda qidirish"
-
-msgid "Close"
-msgstr "Yopish"
-
-msgid "< &Previous"
-msgstr "< &Oldingi"
-
-msgid "&Next >"
-msgstr "&Keyingi >"
+msgstr "Sharhni tozalash"
msgid "Create new translations project"
-msgstr "Yangi tarjimalar loihasini yararish"
+msgstr "Yangi tarjimalar loyihasini yaratish"
msgid "Edit the project"
-msgstr "Loihani taxrirlash"
+msgstr "Loyihani tahrirlash"
msgid "Delete the project"
-msgstr "Loihani o'chirish"
+msgstr "Loyihani o‘chirish"
msgid "Update all"
msgstr "Barchasini yangilash"
msgid "Update all catalogs in the project"
-msgstr "Loihada barcha kataloglarni yangilash"
+msgstr "Loyihadagi barcha kataloglarni yangilash"
msgid "Edit project"
-msgstr "Loihani taxrirlash"
+msgstr "Loyihani tahrirlash"
msgid "Project name:"
-msgstr "Loiha nomi:"
+msgstr "Loyiha nomi:"
msgid "Browse"
-msgstr "Ko'rib chiqish"
+msgstr "Ko‘rish"
msgid "Add directory to the list"
-msgstr "Ro'yxatga katalog qo'shish"
+msgstr "Ro‘yxatga direktoriyani qo‘shish"
msgid "&Preferences..."
-msgstr "&Sozlashlar..."
+msgstr "&Parametrlar..."
msgid "&Close"
msgstr "&Yopish"
@@ -1196,9 +1389,6 @@ msgstr "&Yopish"
msgid "E&xit"
msgstr "Chi&qish"
-msgid "Quit"
-msgstr "Chiqish"
-
msgid "&New..."
msgstr "&Yangi..."
@@ -1208,17 +1398,29 @@ msgstr "&POT/PO fayldan yangi..."
msgid "New From &POT/PO File..."
msgstr "&POT/PO fayldan yangi..."
+msgid "New WordPress translation..."
+msgstr "Yangi WordPress tarjimasi..."
+
+msgid "New WordPress Translation..."
+msgstr "Yangi WordPress tarjimasi..."
+
msgid "&Open..."
msgstr "&Ochish..."
msgid "Open Recent"
msgstr "So‘nggisini ochish"
+msgid "Open from Crowdin..."
+msgstr "Crowdin saytidan ochish..."
+
+msgid "Open From Crowdin..."
+msgstr "Crowdin saytidan ochish..."
+
msgid "&Save"
msgstr "&Saqlash"
msgid "Save &as..."
-msgstr "Kabi saqlash..."
+msgstr "Boshqa forma&tda saqlash..."
msgid "Save &As..."
msgstr "Boshqacha s&aqlash..."
@@ -1232,20 +1434,23 @@ msgstr "HTML sifatida e&ksport qilish..."
msgid "Check for updates..."
msgstr "Yangilanishlar uchun tekshirish..."
+msgid "&License..."
+msgstr "&Litsenziya..."
+
msgid "Catalogs &manager"
-msgstr "Kataloglar &boshqaruvchisi"
+msgstr "Kataloglar &menejeri"
msgid "Catalogs &Manager"
msgstr "Kataloglar &menejeri"
msgid "Translation is &fuzzy"
-msgstr "Noaniq tarjima"
+msgstr "Tarjima &noaniq"
msgid "Translation Is &Fuzzy"
msgstr "Tarjima &noaniq"
msgid "Edit &comment"
-msgstr "&Izohni taxrirlash"
+msgstr "&Sharhni tahrirlash"
msgid "Edit &Comment"
msgstr "&Sharhni tahrirlash"
@@ -1254,13 +1459,16 @@ msgid "Suggestions"
msgstr "Tavsiyalar"
msgid "&Show references"
-msgstr "&Bog'lanishlarni ko'rsatish"
+msgstr "&Bog‘lanishlarni ko‘rsatish"
msgid "&Show References"
msgstr "Linklarni ko‘rsati&sh"
msgid "&Find..."
-msgstr "&Qidirish..."
+msgstr "&Topish..."
+
+msgid "Replace..."
+msgstr "Almashtirish..."
msgid "Find next"
msgstr "Keyingisini topish"
@@ -1268,8 +1476,8 @@ msgstr "Keyingisini topish"
msgid "Find previous"
msgstr "Oldingisini topish"
-msgid "Find"
-msgstr "Topish"
+msgid "Find and Replace..."
+msgstr "Topish va almashtirish"
msgid "Find Next"
msgstr "Keyingisini topish"
@@ -1278,7 +1486,7 @@ msgid "Find Previous"
msgstr "Oldingisini topish"
msgid "&Preferences"
-msgstr "&Sozlashlar"
+msgstr "&Parametrlar"
msgid "Display entry &IDs"
msgstr "Kiritilganlarning ID’sini ko‘rsatish"
@@ -1310,6 +1518,12 @@ msgstr "Matn bo‘yicha &guruhlash"
msgid "&Group By Context"
msgstr "Matn bo‘yicha &guruhlash"
+msgid "Entries with errors first"
+msgstr "Xato kiritilganlar birinchi"
+
+msgid "Entries with Errors First"
+msgstr "Xato kiritilganlar birinchi"
+
msgid "&Untranslated entries first"
msgstr "Avval &tarjima qilinmaganlar"
@@ -1319,11 +1533,14 @@ msgstr "Avval &tarjima qilinmaganlar"
msgid "Show sidebar"
msgstr "Yon panelni ko‘rsatish"
+msgid "Show status bar"
+msgstr ""
+
msgid "C&atalog"
msgstr "K&atalog"
msgid "&Update from sources"
-msgstr "&Manbadan yangilash"
+msgstr "&Manbalardan yangilash"
msgid "&Update from Sources"
msgstr "&Manbalardan yangilash"
@@ -1334,6 +1551,9 @@ msgstr "&POT faylidan yangilash..."
msgid "Update from &POT File..."
msgstr "&POT faylidan yangilash..."
+msgid "Sync with Crowdin"
+msgstr "Crowdin bilan sinxronlash"
+
msgid "Fill missing translations from &TM..."
msgstr "Kerakli tarjimalarni &TX’dan to‘ldirish"
@@ -1341,7 +1561,7 @@ msgid "Fill Missing Translations from &TM..."
msgstr "Kerakli tarjimalarni &TX’dan to‘ldirish"
msgid "&Purge deleted translations"
-msgstr "&O'chirilgan tarjimalarni yo'q qilish"
+msgstr "&O‘chirilgan tarjimalarni tozalash"
msgid "&Purge Deleted Translations"
msgstr "&O‘chirilgan tarjimalarni tozalash"
@@ -1352,6 +1572,9 @@ msgstr "Tarjimalarni to‘g‘rilash"
msgid "&Validate Translations"
msgstr "Tarjimalarni &to‘g‘rilash"
+msgid "&Statistics"
+msgstr "&Statistika"
+
msgid "&Properties..."
msgstr "&Xossalari..."
@@ -1397,6 +1620,12 @@ msgstr "&GNU gettext yo‘riqnomasi"
msgid "&GNU gettext Manual"
msgstr "&GNU gettext yo‘riqnomasi"
+msgid "Email &support..."
+msgstr "&Yordam xizmatiga xat yozish..."
+
+msgid "Email &Support..."
+msgstr "&Yordam xizmatiga xat yozish..."
+
msgid "&About Poedit"
msgstr "Poedit h&aqida"
@@ -1407,7 +1636,7 @@ msgid "Extractor setup"
msgstr "Ajratgichni o‘rnatish"
msgid "List of extensions separated by semicolons (e.g. *.cpp;*.h):"
-msgstr "Nuqta vergul bilan ajratilgan kengaytmalar ro'yxati (m.u. *.cpp;*.h):"
+msgstr "Nuqtali vergul bilan ajratilgan kengaytmalar ro‘yxati (masalan: *.cpp;*.h):"
msgid "Invocation:"
msgstr "Chaqirish:"
@@ -1415,54 +1644,37 @@ msgstr "Chaqirish:"
msgid "Command to extract translations:"
msgstr "Tarjimalarni ajratish buyrug‘i:"
-msgid ""
-"This is the command used to launch the extractor.\n"
-"%o expands to the name of output file, %K to list\n"
-"of keywords, %F to list of input files,\n"
-"%C to charset flag (see below)."
-msgstr ""
-"Ushbu buyruqdan ajratgichni ishga tushirish uchun foydalaniladi.\n"
-"%o chiquvchi fayl nomiga, %K kalit so‘zlar ro‘yxatiga\n"
-"%F kiruvchi fayllar ro‘yxatiga,\n"
-"%C kodlash bayrog‘iga (quyidagini ko‘ring) ajratiladi."
+msgid "This is the command used to launch the extractor.\n%o expands to the name of output file, %K to list\nof keywords, %F to list of input files,\n%C to charset flag (see below)."
+msgstr "Ushbu buyruqdan ajratgichni ishga tushirish uchun foydalaniladi.\n%o chiquvchi fayl nomiga, %K kalit so‘zlar ro‘yxatiga\n%F kiruvchi fayllar ro‘yxatiga,\n%C kodlash bayrog‘iga (quyidagini ko‘ring) ajratiladi."
msgid "An item in keywords list:"
-msgstr "Kalitlar ro'yxatida element:"
+msgstr "Kalit so‘zlar ro‘yxatidagi band:"
-msgid ""
-"This will be attached to the command line once\n"
-"for each keyword. %k expands to the keyword."
-msgstr ""
-"Har bir kalit so'zi uchun bir marta buyruq\n"
-"satriga ilova qilinadi. %k kalit so'z."
+msgid "This will be attached to the command line once\nfor each keyword. %k expands to the keyword."
+msgstr "Har bir kalit so'zi uchun bir marta buyruq\nsatriga ilova qilinadi. %k kalit so'z."
msgid "An item in input files list:"
msgstr "Kirish fayllari ro'yxatida element:"
#, c-format
-msgid ""
-"This will be attached to the command line once\n"
-"for each input file. %f expands to the filename."
-msgstr ""
-"Har bir kirish fayli uchun bir marta buyruq\n"
-"satriga ilova qilinadi. %f fayl nomi."
+msgid "This will be attached to the command line once\nfor each input file. %f expands to the filename."
+msgstr "U har bir kiruvchi fayl uchun buyruq satriga qo‘shiladi. %f fayl nomini anglatadi."
msgid "Source code charset:"
-msgstr "Boshlang'ich kod kodirovkasi:"
+msgstr "Manba kodi kodlash usuli:"
#, c-format
-msgid ""
-"This will be attached to the command line\n"
-"only if source codecharset was given. %c expands to charset value."
-msgstr ""
-"Agar manba kodi berilgan bo'lsagina buyruq satriga\n"
-"ilova qilinadi. %c kodirovka qiymati."
+msgid "This will be attached to the command line\nonly if source codecharset was given. %c expands to charset value."
+msgstr "Agar manba kodlash usuli berilgan bo‘lsa, u buyruq satriga\nilova qilinadi. %c kodlash usuli qiymatini anglatadi."
msgid "Catalog properties"
msgstr "Katalog xossalari"
+msgid "Project name and version:"
+msgstr "Loyiha nomi va versiyasi:"
+
msgid "Plural Forms:"
-msgstr "Ko'plik shakllar:"
+msgstr "Ko‘plik shakllari:"
msgid "Use default rules for this language"
msgstr "Ushbu til uchun standart qoidalardan foydalanish"
@@ -1473,6 +1685,15 @@ msgstr "Boshqa ifodadan foydalanish"
msgid "Learn about plural forms"
msgstr "Ko‘plik shakllari haqida o‘rganish"
+msgid "Charset:"
+msgstr "Kodlash usuli:"
+
+msgid "Team:"
+msgstr "Guruh:"
+
+msgid "Team's email address:"
+msgstr "Guruhning e-pochta manzili:"
+
msgid "Translation properties"
msgstr "Tarjima xossalari"
@@ -1480,17 +1701,13 @@ msgid "Extract text from source files in the following directories:"
msgstr "Quyidagi direktoriyalardagi manba fayllaridan matnni ajratish:"
msgid "Base path:"
-msgstr "Bazaga yo'l:"
+msgstr "Asosiy yo‘l:"
msgid "Sources paths"
msgstr "Manbalar yo‘llari"
-msgid ""
-"Use these keywords (function names) to recognize translatable strings\n"
-"in source files:"
-msgstr ""
-"Ushbu kalit so‘zlar (funksiya nomlari)dan manba fayllaridagi\n"
-"tarjima qilinadigan qatorlarni tanish uchun foydalaning:"
+msgid "Use these keywords (function names) to recognize translatable strings\nin source files:"
+msgstr "Ushbu kalit so‘zlar (funksiya nomlari)dan manba fayllaridagi\ntarjima qilinadigan qatorlarni tanish uchun foydalaning:"
msgid "Learn about gettext keywords"
msgstr "gettext kalit so‘lari haqida o‘rganish"
@@ -1499,30 +1716,22 @@ msgid "Sources keywords"
msgstr "Manbalar kalit so‘zlari"
msgid "Update summary"
-msgstr "Yangilash haqida xisobot"
+msgstr "Yangilash hisoboti"
-msgid ""
-"These strings were found in the sources but were not in the catalog.\n"
-"Poedit will add them to the catalog now."
-msgstr ""
-"Ushbu qatorlar manbalardan topildi, ammo katalogdan topilmadi.\n"
-"Poedit katalogka qo'shib qo'yadi."
+msgid "These strings were found in the sources but were not in the catalog.\nPoedit will add them to the catalog now."
+msgstr "Ushbu qatorlar manbalardan topildi, ammo katalogdan topilmadi.\nPoedit katalogka qo'shib qo'yadi."
msgid "New strings"
-msgstr "Qatorlar yaratish"
+msgstr "Yangi qatorlar"
-msgid ""
-"These strings are no longer in the sources.\n"
-"Poedit will remove them from the catalog now."
-msgstr ""
-"Ushbu qatorlar manbalarda mavjud emas.\n"
-"Ular katalogdan o'chiriladi."
+msgid "These strings are no longer in the sources.\nPoedit will remove them from the catalog now."
+msgstr "Ushbu qatorlar endi manbalarda mavjud emas.\nPoedit ularni hozir katalogdan o‘chiradi."
msgid "Obsolete strings"
-msgstr "Mutlaq qatorlar"
+msgstr "Eski qatorlar"
msgid "(0 new, 0 obsolete)"
-msgstr "(0 yangi, 0 mutlaq)"
+msgstr "(0 ta yangi, 0 ta eski)"
msgid "Open"
msgstr "Ochish"
@@ -1536,28 +1745,36 @@ msgstr "To‘g‘rilash"
msgid "Check for errors in the translation"
msgstr "Tarjimadagi xatolarni tekshirish"
+msgid "Statistics"
+msgstr "Statistika"
+
+msgid "Show translation statistics"
+msgstr "Tarjima statistikasini ko‘rsatish"
+
msgid "Update"
msgstr "Yangilash"
msgid "Update catalog - synchronize it with sources"
-msgstr "Katalogni manbalar bilan sinxron ravishda yangilash"
+msgstr "Katalogni yangilash - uni manbalar bilan sinxronlash"
msgid "Toggled if selected string has fuzzy translation"
-msgstr "Agar belgilangan qator noaniq tarjimaga ega bo'lsa yoqiladi."
+msgstr "Agar belgilangan qator noaniq tarjimaga ega bo‘lsa, yoqiladi"
-msgid "Show or hide the sidebar."
-msgstr "Yon panelni ko‘rsatish yoki yashirish."
+msgid "Sidebar"
+msgstr "Yon panel"
+
+msgid "Show or hide the sidebar"
+msgstr "Yon panelni ko‘rsatish yoki yashirish"
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
msgid "Previous source text:"
msgstr "Oldingi manba matni:"
-msgid ""
-"The old source text (before it changed during an update) that the fuzzy "
-"translation corresponds to."
-msgstr ""
-"Noaniq tarjima ham javob beradigan eski manba matni (yangilash davomida uni "
-"o‘zgartirishdan oldin)."
+msgid "The old source text (before it changed during an update) that the fuzzy translation corresponds to."
+msgstr "Noaniq tarjima ham javob beradigan eski manba matni (yangilash davomida uni o‘zgartirishdan oldin)."
+
+msgid "Notes for translators:"
+msgstr "Tarjimonlar uchun eslatmalar:"
msgid "Add comment"
msgstr "Sharh qo‘shish"
@@ -1565,6 +1782,18 @@ msgstr "Sharh qo‘shish"
msgid "Add Comment"
msgstr "Sharh qo‘shish"
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(from your TM)"
+msgstr "(TX dan)"
+
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(machine translation)"
+msgstr "(kompyuter tarjimasi)"
+
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(human translation)"
+msgstr "(inson tomonidan tarjima)"
+
msgid "Translation suggestions:"
msgstr "Tarjima takliflari:"
@@ -1579,6 +1808,84 @@ msgstr "Topilmadi"
msgid "This string was found in Poedit’s translation memory."
msgstr "Ushbu qator Poedit’ning tarjima xotirasida topildi."
+msgid "This suggestion was contributed by another translator to the online TM."
+msgstr "Ushbu tavsiya boshqa tarjimon tomonidan onlayn TX ga qo‘shilgan."
+
+msgid "This suggestion was machine-translated online."
+msgstr "Ushbu tavsiya mashina tomonidan onlayn tarjima qilingan."
+
+#, c-format
+msgid "%d out of %d online suggestion left."
+msgid_plural "%d out of %d online suggestions left."
+msgstr[0] ""
+msgstr[1] "%d/%d onlayn tavsiya."
+
+msgid "Remove this limitation"
+msgstr "Ushbu cheklovni olib tashlash"
+
+msgid "Not showing additional online suggestions."
+msgstr "Qo‘shimcha onlayn tavsiyalar ko‘rsatilmayapti."
+
+msgid "Unlock online suggestions"
+msgstr "Onlayn tavsiyalarni ochish"
+
+msgid "Exceeded online TM daily limit."
+msgstr "Onlayn TX kunlik cheklovidan oshib ketdi."
+
+msgid "Connect to the Internet to get additional suggestions."
+msgstr "Qo‘shimcha tavsiyalar olish uchun internetga ulaning."
+
+#. TRANSLATORS: Label indicating that translations made in the current file are contributed to the online translation memory. Related to the "Contribute my translations to the online TM" string.
+msgid "Contributing"
+msgstr ""
+
+msgid "Your translations are contributed to the online translation memory as you make them. Thanks for making the suggestions better!"
+msgstr ""
+
+#. TRANSLATORS: Label indicating that the current file
+msgid "Private"
+msgstr ""
+
+msgid "Translations from this file are not shared with the online translation memory."
+msgstr ""
+
+msgid "Privacy settings"
+msgstr ""
+
+#, c-format
+msgid "While editing the file “%s”:"
+msgstr ""
+
+msgid "Items"
+msgstr "Bandlar"
+
+msgid "Words"
+msgstr "So‘zlar"
+
+msgid "Translated"
+msgstr "Tarjima qilingan"
+
+msgid "Needs review (fuzzy)"
+msgstr "Ko‘rish kerak (noaniq)"
+
+msgid "Translations with errors"
+msgstr "Xatosi bor tarjimalar"
+
+msgid "Source Text"
+msgstr "Manba matni"
+
+msgid "Strings in source language"
+msgstr "Manba tildagi qatorlar"
+
+msgid "Not translated"
+msgstr "Tarjima qilinmagan"
+
+msgid "Copy to clipboard"
+msgstr "Vaqtinchalik xotiraga nusxa olish"
+
+msgid "Copy to Clipboard"
+msgstr "Vaqtinchalik xotiraga nusxa olish"
+
#, c-format
msgid "(New: %i, obsolete: %i)"
msgstr "(Yangi: %i, eskirgan: %i)"
@@ -1600,13 +1907,8 @@ msgstr "Migratsiya chiqish holati: %d"
msgid "Poedit needs to convert your translation memory to a new format."
msgstr "Poedit tarjimalaringiz xotirasini yangi formatga o‘girishi kerak."
-msgid ""
-"This must be done before Poedit can start. It may take a few minutes if you "
-"have lots of translations stored, but should normally be much faster."
-msgstr ""
-"Bu Poedit ishga tushishidan oldin tayyor bo‘lishi kerak. Agar sizda juda "
-"ko‘p tarjimalar bo‘lsa, u bir necha daqiqa olishi mumkin, lekin yetarlicha "
-"tez bo‘lishi kerak."
+msgid "This must be done before Poedit can start. It may take a few minutes if you have lots of translations stored, but should normally be much faster."
+msgstr "Bu Poedit ishga tushishidan oldin tayyor bo‘lishi kerak. Agar sizda juda ko‘p tarjimalar bo‘lsa, u bir necha daqiqa olishi mumkin, lekin yetarlicha tez bo‘lishi kerak."
msgid "Proceed"
msgstr "Davom ettirish"
@@ -1615,61 +1917,60 @@ msgid "Translation memory migration failed."
msgstr "Tarjima xotirasini ko‘chirib o‘tkazish amalga oshmadi."
#, c-format
-msgid ""
-"Your translation memory data couldn't be migrated. The error was:\n"
-"\n"
-"%s\n"
-"Please email help at poedit.net and we’ll get it fixed."
-msgstr ""
-"Tarjima xotirasi ma’lumotlari ko‘chirib o‘tkazilmadi. Xatolik:\n"
-"\n"
-"%s\n"
-"help at poedit.net manziliga xat yozing va biz uni tezda to‘g‘rilaymiz."
+msgid "Your translation memory data couldn't be migrated. The error was:\n\n%s\nPlease email help at poedit.net and we’ll get it fixed."
+msgstr "Tarjima xotirasi ma’lumotlari ko‘chirib o‘tkazilmadi. Xatolik:\n\n%s\nhelp at poedit.net manziliga xat yozing va biz uni tezda to‘g‘rilaymiz."
msgid "Cannot create temporary directory."
msgstr "Vaqtinchalik direktoriya yaratilmadi."
+msgid "Check theme or plugin compatibility"
+msgstr "Mavzu yoki plagin mosligini tekshirish"
+
msgid "Welcome to Poedit"
msgstr "Poedit’ga xush kelibsiz"
+msgid "Upgrade to Pro"
+msgstr ""
+
+msgid "Upgrade to Poedit Pro to get additional features and support Poedit's development."
+msgstr "Qo‘shimcha xususiyatlar olish va Poedit’ning rivojlanishiga hissa qo‘shish uchun Poedit Pro’ga yangilang."
+
msgid "Edit a translation"
msgstr "Tarjimani tahrirlash"
msgid "Open an existing PO file and edit the translation."
msgstr "Mavjud PO faylni oching va tarjimani tahrirlang."
-msgid "Create new translation"
-msgstr "Yangi tarjima yaratish"
+msgid "Take an existing PO file or POT template and create a new translation from it."
+msgstr "Mavjud PO fayl yoki POT namunani oling va undan yangi tarjima yarating."
-msgid ""
-"Take an existing PO file or POT template and create a new translation from "
-"it."
-msgstr ""
-"Mavjud PO fayl yoki POT namunani oling va undan yangi tarjima yarating."
+msgid "Translate WordPress theme or plugin"
+msgstr "WordPress mavzusi yoki plaginini tarjima qilish"
+
+#. TRANSLATORS: Please don't use any form of "automatically" in the translation, it would mislead people.
+msgid "Create a new translation. Poedit will set everything up; you can focus on translating."
+msgstr "Yangi tarjima yarating. Poedit hammasini o‘zi o‘rnatadi; siz tarjimaga diqqatingizni qaratishingiz mumkin."
+
+msgid "Collaborate on a translation with Crowdin"
+msgstr "Crowdin bilan tarjimalarda hamkorlik qilish"
+
+msgid "Download a file from Crowdin project, translate and sync your changes back."
+msgstr "Crowdin loyihasidan fayl import qilish, uni tarjima qilish va o‘zgarishlarni sinxronlash."
+
+msgid "What is Crowdin?"
+msgstr "Crowdin nima?"
msgid "There are no translations. That’s unusual."
msgstr "Tarjimalar yo‘q. Bu noodatiy."
-msgid ""
-"Translatable entries aren't added manually in the Gettext system, but are "
-"automatically extracted\n"
-"from source code. This way, they stay up to date and accurate.\n"
-"Translators typically use PO template files (POTs) prepared for them by the "
-"developer."
-msgstr ""
-"Tarjima qilinadigan kiritishlar Gettext tizimiga qo‘lbola qo‘shilmagan, ammo "
-"avtomatik ravishda\n"
-"manba kodidan ajratilgan. Bunday usulda, ular yangilanishi va taxlanishi "
-"kerak.\n"
-"Tarjimonlar odatda dasturchilar tomonidan tayyorlangan PO namuna fayllari "
-"(POTlar)dan foydalanishiadi."
+msgid "Translatable entries aren't added manually in the Gettext system, but are automatically extracted\nfrom source code. This way, they stay up to date and accurate.\nTranslators typically use PO template files (POTs) prepared for them by the developer."
+msgstr "Tarjima qilinadigan kiritishlar Gettext tizimiga qo‘lbola qo‘shilmagan, ammo avtomatik ravishda\nmanba kodidan ajratilgan. Bunday usulda, ular yangilanishi va taxlanishi kerak.\nTarjimonlar odatda dasturchilar tomonidan tayyorlangan PO namuna fayllari (POTlar)dan foydalanishiadi."
msgid "(Learn more about GNU gettext)"
msgstr "(GNU gettext haqida ko‘proq o‘rganing)"
msgid "The simplest way to fill this catalog is to update it from a POT:"
-msgstr ""
-"Ushbu katalogni eng oson to‘ldirish yo‘li - uni POT fayldan yangilashdir:"
+msgstr "Ushbu katalogni eng oson to‘ldirish yo‘li - uni POT fayldan yangilashdir:"
msgid "Update from POT"
msgstr "POT fayldan yangilash"
@@ -1677,14 +1978,113 @@ msgstr "POT fayldan yangilash"
msgid "Take translatable strings from an existing POT template."
msgstr "Mavjud POT namunasidan tarjima qilinadigan qatorlarni oling."
-msgid ""
-"You can also extract translatable strings directly from the source code:"
-msgstr ""
-"Shuningdek, siz tarjima qilinadigan qatorlarni to‘g‘ridan to‘g‘ri manba "
-"kodidan ajratishingiz mumkin:"
+msgid "You can also extract translatable strings directly from the source code:"
+msgstr "Shuningdek, siz tarjima qilinadigan qatorlarni to‘g‘ridan to‘g‘ri manba kodidan ajratishingiz mumkin:"
msgid "Extract from sources"
msgstr "Manbalardan ajratish"
msgid "Configure source code extraction in Properties."
msgstr "Xossalardan manba kodini ajratishni moslang."
+
+#, c-format
+msgid "Failed to read file '%s'."
+msgstr "'%s' faylini o‘qib bo‘llmadi."
+
+#, c-format
+msgid "Confused by ambiguous values of \"%s\" in %s."
+msgstr "\"%s\" (%sdagi) ko‘p qiymatli qiymatlar chalkashtirib qo‘ydi."
+
+#, c-format
+msgid "Couldn't detect POs location for \"%s\"."
+msgstr "\"%s\" uchun POlarning manzilini aniqlab bo‘lmadi."
+
+#, c-format
+msgid "The \"%s\" theme isn't localization-ready."
+msgstr "\"%s\" mavzusi hali tarjima qilish uchun tayyor emas."
+
+msgid "Confused: multiple main plugin files."
+msgstr "Chalkashtirildi: bir nechta asosiy plagin fayllari."
+
+#, c-format
+msgid "The \"%s\" plugin isn't localization-ready."
+msgstr "\"%s\" plagini tarjima qilish uchun tayyor emas."
+
+#, c-format
+msgid "Couldn't detect translation domain of the \"%s\" plugin."
+msgstr "\"%s\" plagini tarjima domenini aniqlab bo‘lmadi."
+
+msgid "Found neither WordPress theme nor plugin in the folder."
+msgstr "Jilddan WordPress mavzusi ham, plagini ham topilmadi."
+
+#, c-format
+msgid "Translations folder (%s) doesn't exist."
+msgstr "Tarjimalar jildi (%s) mavjud emas."
+
+msgid "<big>Drag and drop <b>theme or plugin folder</b> here</big>\n\nor use the “Choose folder” button"
+msgstr ""
+
+msgid "<big>Drag and Drop <b>Theme or Plugin Folder</b> Here</big>\n\nor use the “Choose Folder” button"
+msgstr ""
+
+#, c-format
+msgid "Folder “%s”"
+msgstr ""
+
+msgid "Choose Folder..."
+msgstr ""
+
+msgid "Choose folder..."
+msgstr ""
+
+msgid "Create a new translation"
+msgstr ""
+
+msgid "Choose this if you want to translate the theme or plugin into your language."
+msgstr ""
+
+msgid "Create a POT"
+msgstr ""
+
+msgid "This option is for theme and plugin developers. Poedit will create an empty template (POT) that translations can be based on."
+msgstr ""
+
+msgid "Continue"
+msgstr ""
+
+msgid "Failed to extract WordPress information."
+msgstr "WordPress ma’lumoti ajratilmadi."
+
+msgid "WordPress error"
+msgstr "WordPress xatoligi"
+
+#, c-format
+msgid "Poedit couldn’t understand the content of the folder you selected. This may be a problem with the plugin/theme or it may be Poedit being silly. The error is:\n\n • %s\n\nPlease email help at poedit.net and we’ll sort it out."
+msgstr "Poedit siz tanlagan jild tarkibini tushunmadi. Bunga sabab plagin/mavzu sabab bo‘lishi mumkin yoki Poedit jinni bo‘lmoqda. Xato:\n\n • %s\n\nyordam at poedit.net manziliga xat yozing va biz uni to‘g‘rilaymiz."
+
+#. TRANSLATORS: This is a button that sends an email to support when clicked
+msgid "Email support"
+msgstr "Yordam markaziga xat yozish"
+
+msgid "View log"
+msgstr "jurnalni ko‘rish"
+
+#. TRANSLATORS: This is a button that sends an email to support when clicked
+msgid "Email Support"
+msgstr "Yordam markaziga xat yozish"
+
+msgid "View Log"
+msgstr "jurnalni ko‘rish"
+
+msgid "WordPress Errors Log"
+msgstr "WordPress xatolari jurnali"
+
+msgid "Please email this log to help at poedit.net. Thank you!"
+msgstr "Iltimos, ushbu jurnalni help at poedit.net manziliga jo‘nating. Rahmat!"
+
+msgid "Sync"
+msgstr "Sinxronlash"
+
+msgid "Synchronize the translation with Crowdin"
+msgstr "Tarjimani Crowdin bilan sinxronlash"
+
diff --git a/locales/vi.mo b/locales/vi.mo
index 72121cd..88f1187 100644
Binary files a/locales/vi.mo and b/locales/vi.mo differ
diff --git a/locales/vi.po b/locales/vi.po
index 728269b..03e6cc1 100644
--- a/locales/vi.po
+++ b/locales/vi.po
@@ -1,9 +1,9 @@
msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
-"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:34-0400\n"
+"Report-Msgid-Bugs-To: poedit at googlegroups.com\n"
+"POT-Creation-Date: 2015-05-11 08:48+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Vietnamese\n"
"Language: vi_VN\n"
@@ -16,6 +16,40 @@ msgstr ""
"X-Crowdin-Language: vi\n"
"X-Crowdin-File: /locales/poedit.pot\n"
+#. TRANSLATORS: This is titlebar of about dialog, "%s" is application name
+#. ("Poedit" here, but please use "%s")
+#, c-format
+msgid "About %s"
+msgstr "Giới thiệu về %s"
+
+#. TRANSLATORS: This is version information in about dialog, "%s" will be
+#. version number when used
+#, c-format
+msgid "Version %s"
+msgstr "Phiên bản %s"
+
+msgid "Based on the open source version →"
+msgstr "Dựa trên phiên bản mã nguồn mở →"
+
+msgid "Acknowledgements"
+msgstr ""
+
+msgid "Rate on the App Store"
+msgstr "Xếp hạng trên App Store"
+
+msgid "License Agreement"
+msgstr "Giấy phép"
+
+#, c-format
+msgid "Licensed to %s"
+msgstr ""
+
+msgid "Purchased on the Mac App Store"
+msgstr "Mua trên Mac App Store"
+
+msgid "Free version (please upgrade!)"
+msgstr "Phiên bản miễn phí (vui lòng nâng cấp!)"
+
msgid "Hide this notification message"
msgstr "Ẩn lời cảnh báo này đi"
@@ -38,56 +72,46 @@ msgstr ""
msgid "Malformed header: '%s'"
msgstr "Phần đầu dị hình: '%s'"
-msgid ""
-"Broken catalog file: singular form msgstr used together with msgid_plural"
+msgid "Broken catalog file: singular form msgstr used together with msgid_plural"
msgstr "Tập tin catalog hỏng: dạng số ít msgstr mà sử dụng với msgid_plural"
msgid "Broken catalog file: plural form msgstr used without msgid_plural"
-msgstr ""
-"Tập tin catalog hỏng: dạng số nhiều msgstr được sử dụng mà không có "
-"msgid_plural"
+msgstr "Tập tin catalog hỏng: dạng số nhiều msgstr được sử dụng mà không có msgid_plural"
-msgid ""
-"There were errors when loading the catalog. Some data may be missing or "
-"corrupted as the result."
-msgstr ""
-"Có nhiều lỗi khi tải lên tập tin catalog. Một số dữ liệu bị mất hay sai lạc."
+msgid "There were errors when loading the catalog. Some data may be missing or corrupted as the result."
+msgstr "Có nhiều lỗi khi tải lên tập tin catalog. Một số dữ liệu bị mất hay sai lạc."
#, c-format
msgid "Couldn't load file %s, it is probably corrupted."
msgstr "Không thể tải tập tin %s, nó gần như chắc chắn là đã bị hỏng."
#, c-format
-msgid ""
-"File '%s' is read-only and cannot be saved.\n"
-"Please save it under different name."
-msgstr ""
-"Tập tin '%s' chỉ cho phép đọc và không thể ghi lại được.\n"
-"Xin hãy ghi lại dưới một cái tên mới."
+msgid "File '%s' is read-only and cannot be saved.\nPlease save it under different name."
+msgstr "Tập tin '%s' chỉ cho phép đọc và không thể ghi lại được.\nXin hãy ghi lại dưới một cái tên mới."
#, c-format
msgid "Couldn't save file %s."
msgstr "Không thể lưu tập tin %s."
-msgid ""
-"There was a problem formatting the file nicely (but it was saved all right)."
+msgid "There was a problem formatting the file nicely (but it was saved all right)."
msgstr "Có vấn đề với định dạng (nhưng vẫn có thể ghi lại)."
#, c-format
-msgid ""
-"The catalog couldn't be saved in '%s' charset as specified in catalog "
-"settings.\n"
-"\n"
-"It was saved in UTF-8 instead and the setting was modified accordingly."
-msgstr ""
-"Catalog không ghi lại được theo danh nghĩa bộ ký tự '%s' như trong cài đặt.\n"
-"\n"
-"Thay vào đó, nó được ghi lại bằng kiểu UTF-8 và cài đặt sẽ được chỉnh sửa "
-"lại cho phù hợp."
+msgid "The catalog couldn't be saved in '%s' charset as specified in catalog settings.\n\nIt was saved in UTF-8 instead and the setting was modified accordingly."
+msgstr "Catalog không ghi lại được theo danh nghĩa bộ ký tự '%s' như trong cài đặt.\n\nThay vào đó, nó được ghi lại bằng kiểu UTF-8 và cài đặt sẽ được chỉnh sửa lại cho phù hợp."
msgid "Error saving catalog"
msgstr "Gặp lỗi khi đang ghi lại catalog"
+msgid "PO Translation Files"
+msgstr ""
+
+msgid "POT Translation Templates"
+msgstr ""
+
+msgid "All Translation Files"
+msgstr ""
+
msgid "Merging differences..."
msgstr "Đang trộn các khác biệt..."
@@ -107,6 +131,81 @@ msgstr "Lựa chọn ngôn ngữ"
msgid "You must restart Poedit for this change to take effect."
msgstr "Bạn phải khởi động lại Poedit để các thay đổi có tác dụng."
+msgid "Downloading translations is disabled in this project."
+msgstr ""
+
+msgid "Not authorized, please sign in again."
+msgstr ""
+
+msgid "Sign in to Crowdin"
+msgstr ""
+
+msgid "Crowdin is an online localization management platform and collaborative translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+
+msgid "Sign In"
+msgstr ""
+
+msgid "Sign in"
+msgstr ""
+
+msgid "Sign Out"
+msgstr ""
+
+msgid "Sign out"
+msgstr ""
+
+msgid "Waiting for authentication…"
+msgstr ""
+
+msgid "Updating user information…"
+msgstr ""
+
+msgid "Signed in as:"
+msgstr ""
+
+msgid "Learn More About Crowdin"
+msgstr ""
+
+msgid "Learn more about Crowdin"
+msgstr ""
+
+msgid "Open Crowdin translation"
+msgstr ""
+
+msgid "Project:"
+msgstr ""
+
+msgid "Language:"
+msgstr "Ngôn ngữ:"
+
+msgid "File:"
+msgstr ""
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr ""
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr ""
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr ""
+
+msgid "Downloading latest translations…"
+msgstr ""
+
+msgid "Syncing with Crowdin"
+msgstr ""
+
+msgid "Syncing with Crowdin failed."
+msgstr ""
+
+msgid "Crowdin error"
+msgstr ""
+
+msgid "Uploading translations…"
+msgstr ""
+
msgid "&Copy"
msgstr ""
@@ -134,23 +233,43 @@ msgstr "Đang phân tích cú pháp tập tin %s..."
msgid "Failed to load extracted catalog."
msgstr "Lỗi rút trích catalog."
+#, c-format
+msgid "Failed to extract WordPress metadata from file %s."
+msgstr ""
+
msgid "&Help"
msgstr "T&rợ giúp"
+msgid "Beta expired"
+msgstr "Bản thử nghiệm đã hết hạn"
+
+msgid "This beta version of Poedit expired."
+msgstr "Phiên bản beta này của Poedit đã hết hạn."
+
+msgid "Please download a newer version from the Poedit website at http://poedit.net/download"
+msgstr ""
+
+msgid "Download"
+msgstr "Tải về"
+
+msgid "Quit"
+msgstr "Thoát"
+
msgid "MO files can’t be directly edited in Poedit."
msgstr ""
msgid "Error opening file"
msgstr ""
-msgid ""
-"Please open and edit the corresponding PO file instead. When you save it, "
-"the MO file will be updated as well."
+msgid "Please open and edit the corresponding PO file instead. When you save it, the MO file will be updated as well."
msgstr ""
msgid "don't delete temporary files (for debugging)"
msgstr "không xóa tập tin tạm (để gỡ lỗi)"
+msgid "handle a poedit:// URI"
+msgstr ""
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr ""
@@ -161,34 +280,19 @@ msgstr ""
msgid "Open catalog"
msgstr "Mở catalog"
-msgid "All Files"
-msgstr ""
-
-msgid "PO Translation Files"
-msgstr ""
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "Tập tin '%s' không tồn tại."
-#. TRANSLATORS: This is titlebar of about dialog, "%s" is application name
-#. ("Poedit" here, but please use "%s")
-#, c-format
-msgid "About %s"
-msgstr "Giới thiệu về %s"
-
-#. TRANSLATORS: This is version information in about dialog, "%s" will be
-#. version number when used
-#, c-format
-msgid "Version %s"
-msgstr "Phiên bản %s"
-
msgid "Poedit is an easy to use translations editor."
msgstr "Poedit rất dễ dùng cho việc biên tập bản dịch."
msgid "Catalogs Manager"
msgstr "Quản lý các catalog"
+msgid "License..."
+msgstr ""
+
msgid "Check for Updates..."
msgstr "Kiểm tra phiên bản mới..."
@@ -270,6 +374,15 @@ msgstr ""
msgid "&View"
msgstr "&Trình bày"
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
+msgid "Show Toolbar"
+msgstr ""
+
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
+msgid "Customize Toolbar…"
+msgstr ""
+
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
msgid "Enter Full Screen"
msgstr ""
@@ -285,17 +398,27 @@ msgstr ""
msgid "Bring All to Front"
msgstr ""
+#. TRANSLATORS:File kind displayed in Finder/Explorer
msgid "PO Translation"
msgstr ""
+msgid "Invalid license data."
+msgstr ""
+
+msgid "Poedit"
+msgstr "Poedit"
+
+#, c-format
+msgid "The link doesn't contain valid Poedit license. Try entering it manually or contact support at help at poedit.net.\n\n(%s)"
+msgstr ""
+
msgid "The file cannot be opened."
msgstr "Không thể mở tập-tin."
msgid "Invalid file"
msgstr "Tập tin không hợp lệ"
-msgid ""
-"The file may be either corrupted or in a format not recognized by Poedit."
+msgid "The file may be either corrupted or in a format not recognized by Poedit."
msgstr "Tập tin có lẽ đã hư hỏng hoặc là Poedit không chấp nhận định dạng này."
msgid "&Undo"
@@ -373,9 +496,6 @@ msgstr "Bạn không thể kéo thả nhiều hơn một tập tin vào trong c
msgid "File '%s' is not a message catalog."
msgstr "Tập tin '%s' không phải là catalog."
-msgid "Poedit"
-msgstr "Poedit"
-
msgid "&File"
msgstr "&Chính"
@@ -394,12 +514,20 @@ msgstr "Số nhiều:"
msgid "Translation:"
msgstr "Bản dịch:"
+msgid "POT files are only templates and don’t contain any translations themselves.\nTo make a translation, create a new PO file based on the template."
+msgstr ""
+
+msgid "Create New Translation"
+msgstr ""
+
+msgid "Create new translation"
+msgstr "Tạo bản dịch mới"
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
#, c-format
-msgid ""
-"Spellchecking is disabled, because the dictionary for %s isn’t installed."
+msgid "Spellchecking is disabled, because the dictionary for %s isn’t installed."
msgstr ""
msgid "Install"
@@ -441,7 +569,29 @@ msgstr ""
msgid "Open catalog template"
msgstr "Mở tập tin catalog mẫu"
-msgid "POT Translation Templates"
+msgid "WordPress"
+msgstr ""
+
+msgid "Analyzing WordPress code..."
+msgstr ""
+
+msgid "Select the folder with the WordPress theme or plugin"
+msgstr "Chọn thư mục có phần bổ xung hay theme WordPress"
+
+#. TRANSLATORS: %s is name of a WordPress theme
+#, c-format
+msgid "The “%s” theme is compatible."
+msgstr ""
+
+#. TRANSLATORS: %s is name of a WordPress plugin
+#, c-format
+msgid "The “%s” plugin is compatible."
+msgstr ""
+
+msgid "The theme is translation-ready and compatible with Poedit’s WordPress support."
+msgstr ""
+
+msgid "The plugin is translation-ready and compatible with Poedit’s WordPress support."
msgstr ""
msgid "Updating catalog"
@@ -453,18 +603,14 @@ msgstr ""
msgid "Updating failed"
msgstr ""
-msgid ""
-"Translations couldn’t be updated from the source code, because no code was "
-"found in the location specified in the catalog’s Properties."
+msgid "Translations couldn’t be updated from the source code, because no code was found in the location specified in the catalog’s Properties."
msgstr ""
msgid "Entries in the catalog are probably incorrect."
msgstr "Các mục từ trong catalog chắc chắn là không đúng."
msgid "Updating the catalog failed. Click on 'Details >>' for details."
-msgstr ""
-"Cập nhật catalog không thành công. Bấm chuột vào 'Chi tiết >>' để có thông "
-"tin đầy đủ."
+msgstr "Cập nhật catalog không thành công. Bấm chuột vào 'Chi tiết >>' để có thông tin đầy đủ."
#, c-format
msgid "%d issue with the translation found."
@@ -474,31 +620,19 @@ msgstr[0] "Tìm thấy trong bản dịch %d lỗi."
msgid "Validation results"
msgstr "Kết quả xác nhận"
-msgid ""
-"Entries with errors were marked in red in the list. Details of the error "
-"will be shown when you select such an entry."
-msgstr ""
-"Các mục có lỗi được đánh dấu màu đỏ trong danh sách. Chi tiết về lỗi sẽ hiển "
-"thị khi bạn chọn mục tương ứng đó."
+msgid "Entries with errors were marked in red in the list. Details of the error will be shown when you select such an entry."
+msgstr "Các mục có lỗi được đánh dấu màu đỏ trong danh sách. Chi tiết về lỗi sẽ hiển thị khi bạn chọn mục tương ứng đó."
msgid "The file was saved safely."
msgstr ""
-msgid ""
-"The file was saved safely and compiled into the MO format, but it will "
-"probably not work correctly."
+msgid "The file was saved safely and compiled into the MO format, but it will probably not work correctly."
msgstr ""
-msgid ""
-"The file was saved safely, but it cannot be compiled into the MO format and "
-"used."
-msgstr ""
-"Tập tin đã được ghi lại một cách an toàn, nhưng nó không thể được dịch thành "
-"tập tin có định dạng MO để có thể dùng được."
+msgid "The file was saved safely, but it cannot be compiled into the MO format and used."
+msgstr "Tập tin đã được ghi lại một cách an toàn, nhưng nó không thể được dịch thành tập tin có định dạng MO để có thể dùng được."
-msgid ""
-"The file was compiled into the MO format, but it will probably not work "
-"correctly."
+msgid "The file was compiled into the MO format, but it will probably not work correctly."
msgstr ""
msgid "The file cannot be compiled into the MO format and used."
@@ -509,25 +643,40 @@ msgstr "Không tìm thấy lỗi nào trong bản dịch."
#, c-format
msgid "The translation is ready for use, but %d entry is not translated yet."
-msgid_plural ""
-"The translation is ready for use, but %d entries are not translated yet."
+msgid_plural "The translation is ready for use, but %d entries are not translated yet."
msgstr[0] ""
msgid "The translation is ready for use."
msgstr "Bản dịch đã sẵn sàng để dùng"
-msgid "No references to this string found."
-msgstr "Không tìm thấy chuỗi có liên quan."
+msgid "Contributing translations improves the quality of online suggestions for everybody — the more people do it, the better the suggestions can be. Your translations are submitted anonymously and are available to other translators using Poedit or other CAT tools."
+msgstr ""
+
+msgid "Can Poedit contribute your translations of this file to the online translation memory?"
+msgstr ""
+
+msgid "Apply to all files I edit"
+msgstr ""
+
+msgid "Contribute"
+msgstr ""
-msgid "Please choose the reference you want to show:"
-msgstr "Xin hãy chọn tham chiếu bạn muốn hiển thị:"
+msgid "Keep Private"
+msgstr ""
-msgid "References"
-msgstr "Tham chiếu"
+msgid "Keep private"
+msgstr ""
msgid "Context:"
msgstr "Ngữ cảnh:"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr ""
+
+msgid "The file contained duplicate items, which is not allowed in PO files and would prevent the file from being used. Poedit fixed the issue, but you should review translations of any items marked as fuzzy and correct them if necessary."
+msgstr ""
+
msgid "Language of the translation isn't set."
msgstr "Ngôn ngữ của bản dịch chưa được đặt."
@@ -537,19 +686,24 @@ msgstr ""
msgid "Set language"
msgstr "Đặt ngôn ngữ"
-msgid ""
-"This catalog has entries with plural forms, but doesn't have Plural-Forms "
-"header configured."
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid "Suggestions are not available if the translation language is not set correctly. Other features, such as plural forms, may be affected as well."
msgstr ""
-"Có các mục tin dạng số nhiều, nhưng chưa được khai báo ở phần đầu (Plural-"
-"Form)"
-msgid ""
-"Entries in this catalog have different plural forms count from what "
-"catalog's Plural-Forms header says"
+msgid "Language of the translation is the same as source language."
+msgstr ""
+
+msgid "Fix Language"
+msgstr ""
+
+msgid "Fix language"
msgstr ""
-"Các mục từ trong catalog có dạng số nhiều khác với phần khai báo ở phần đầu "
-"tập tin (Plural-Forms)"
+
+msgid "This catalog has entries with plural forms, but doesn't have Plural-Forms header configured."
+msgstr "Có các mục tin dạng số nhiều, nhưng chưa được khai báo ở phần đầu (Plural-Form)"
+
+msgid "Entries in this catalog have different plural forms count from what catalog's Plural-Forms header says"
+msgstr "Các mục từ trong catalog có dạng số nhiều khác với phần khai báo ở phần đầu tập tin (Plural-Forms)"
msgid "Required header Plural-Forms is missing."
msgstr "Phần đầu Plural-Forms đã yêu cầu bị thiếu."
@@ -571,6 +725,7 @@ msgstr "Sửa phần đầu"
msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr "Dạng thức số nhiều được dùng cho catalog là bất thường đối với %s."
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr "Xem lại"
@@ -591,12 +746,21 @@ msgid "%d error"
msgid_plural "%d errors"
msgstr[0] ""
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] ""
+
msgid " (unsaved)"
msgstr " (chưa lưu)"
msgid " (modified)"
msgstr " (đã sửa)"
+#, c-format
+msgid " (beta version expires %s)"
+msgstr " (phiên bản thử nghiệm %s hết hạn)"
+
msgid "Go"
msgstr ""
@@ -610,14 +774,8 @@ msgstr "Xóa bỏ các chuỗi dịch bị đánh dấu là không dùng nữa"
msgid "Do you want to remove all translations that are no longer used?"
msgstr "Bạn có muốn loại bỏ tất cả các chuỗi không còn sử dụng nữa không?"
-msgid ""
-"If you continue with purging, all translations marked as deleted will be "
-"permanently removed. You will have to translate them again if they are added "
-"back in the future."
-msgstr ""
-"Nếu bạn vẫn muốn thanh lọc, tất cả các chuỗi dịch mà được đánh dấu là đã xoá "
-"sẽ bị gỡ bỏ hoàn toàn khỏi tập tin. Bạn sẽ phải dịch lại chúng nếu người lập "
-"trình sử dụng lại nó trong tương lai."
+msgid "If you continue with purging, all translations marked as deleted will be permanently removed. You will have to translate them again if they are added back in the future."
+msgstr "Nếu bạn vẫn muốn thanh lọc, tất cả các chuỗi dịch mà được đánh dấu là đã xoá sẽ bị gỡ bỏ hoàn toàn khỏi tập tin. Bạn sẽ phải dịch lại chúng nếu người lập trình sử dụng lại nó trong tương lai."
msgid "Keep"
msgstr "Giữ lại"
@@ -631,17 +789,22 @@ msgstr ""
msgid "Only fill in exact matches"
msgstr ""
-msgid ""
-"By default, inaccurate results are filled in as well and marked as fuzzy. "
-"Check this option to only include accurate matches."
+msgid "By default, inaccurate results are filled in as well and marked as fuzzy. Check this option to only include accurate matches."
msgstr ""
msgid "Don’t mark exact matches as fuzzy"
msgstr ""
-msgid ""
-"Only enable if you trust the quality of your TM. By default, all matches "
-"from the TM are marked as fuzzy and should be reviewed."
+msgid "Only enable if you trust the quality of your TM. By default, all matches from the TM are marked as fuzzy and should be reviewed."
+msgstr ""
+
+msgid "Use online suggestions"
+msgstr ""
+
+msgid "Use online suggestions (experimental)"
+msgstr ""
+
+msgid "Try to fetch translations from the online TM as well. Notice that the translations will not be perfect and will still need to be corrected by a human translator."
msgstr ""
msgid "Fill"
@@ -652,18 +815,13 @@ msgid "%d entry was filled from the translation memory."
msgid_plural "%d entries were filled from the translation memory."
msgstr[0] ""
-msgid ""
-"The translations were marked as fuzzy, because they may be inaccurate. You "
-"should review them for correctness."
+msgid "The translations were marked as fuzzy, because they may be inaccurate. You should review them for correctness."
msgstr ""
msgid "No entries could be filled from the translation memory."
msgstr ""
-msgid ""
-"The TM doesn’t contain any strings similar to the content of this file. It "
-"is only effective for semi-automatic translations after Poedit learns enough "
-"from files that you translated manually."
+msgid "The TM doesn’t contain any strings similar to the content of this file. It is only effective for semi-automatic translations after Poedit learns enough from files that you translated manually."
msgstr ""
msgid "Translating"
@@ -705,6 +863,9 @@ msgstr "Mọi thứ"
msgid "Form %i"
msgstr "Dạng %i"
+msgid "Singular"
+msgstr ""
+
msgid "Zero"
msgstr "Số không"
@@ -714,6 +875,9 @@ msgstr "Một"
msgid "Two"
msgstr "Hai"
+msgid "Plural"
+msgstr ""
+
msgid "Other"
msgstr "Khác"
@@ -742,6 +906,12 @@ msgstr ""
msgid "Show Sidebar"
msgstr ""
+msgid "Hide Status Bar"
+msgstr ""
+
+msgid "Show Status Bar"
+msgstr ""
+
msgid "Source text"
msgstr "Văn bản nguồn"
@@ -751,6 +921,10 @@ msgstr "Bản dịch"
msgid "ID"
msgstr "ID"
+#, c-format
+msgid "Source text — %s"
+msgstr ""
+
msgid "unknown language"
msgstr "không hiểu ngôn ngữ"
@@ -761,42 +935,6 @@ msgstr "Bản dịch — %s"
msgid "Error:"
msgstr "Lỗi:"
-msgid "Project info"
-msgstr "Thông tin về dự án"
-
-msgid "Project name and version:"
-msgstr "Tên và phiên bản của dự án:"
-
-msgid "Language:"
-msgstr "Ngôn ngữ:"
-
-msgid "Team:"
-msgstr "Nhóm:"
-
-msgid "Team's email address:"
-msgstr "Địa chỉ thư điện tử của nhóm"
-
-msgid "Charset:"
-msgstr "Bảng mã ký tự:"
-
-msgid "Source"
-msgstr "Nguồn"
-
-msgid "Notes"
-msgstr "Chú ý"
-
-msgid "Automatic translation"
-msgstr "Chuỗi dịch tự động"
-
-msgid "Fuzzy translation"
-msgstr "Chuỗi tạm dịch"
-
-msgid "Notes for translators:"
-msgstr "Ghi chú dành cho người dịch:"
-
-msgid "Comment:"
-msgstr "Chú thích:"
-
msgid "Source file"
msgstr "Tập tin mã nguồn"
@@ -809,23 +947,124 @@ msgstr ""
msgid "Open in editor"
msgstr ""
+msgid "No references for the selected item."
+msgstr ""
+
#, c-format
msgid "Error opening file %s!"
msgstr "Gặp lỗi khi đang mở tập tin %s!"
-#, c-format
-msgid "Cannot execute program: %s"
-msgstr "Không thể thi hành chương trình: %s"
+msgid "Find"
+msgstr "Tìm"
-msgid "Language Code or Name (e.g. en_GB)"
-msgstr "Mã ngôn ngữ hoặc tên (ví dụ: vi_VN)"
+msgid "Replace"
+msgstr ""
-msgid "Translation Language"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr ""
+
+msgid "Ignore case"
+msgstr ""
+
+msgid "Wrap around"
+msgstr ""
+
+msgid "Whole words only"
+msgstr "Phải khớp toàn bộ các từ"
+
+msgid "Find in source texts"
+msgstr ""
+
+msgid "Find in translations"
+msgstr "Tìm trong phần dịch"
+
+msgid "Find in comments"
+msgstr "Tìm trong chú thích"
+
+msgid "Close"
+msgstr "Đóng"
+
+msgid "Replace All"
+msgstr ""
+
+msgid "Replace all"
+msgstr ""
+
+msgid "< &Previous"
+msgstr "< &Trước"
+
+msgid "&Next >"
+msgstr "&Tiếp theo >"
+
+msgid "String to find"
+msgstr ""
+
+msgid "Replacement string"
+msgstr ""
+
+#, c-format
+msgid "Cannot execute program: %s"
+msgstr "Không thể thi hành chương trình: %s"
+
+msgid "Language Code or Name (e.g. en_GB)"
+msgstr "Mã ngôn ngữ hoặc tên (ví dụ: vi_VN)"
+
+msgid "Translation Language"
msgstr "Ngôn ngữ bản dịch"
msgid "Language of the translation:"
msgstr "Ngôn ngữ của bản dịch:"
+msgid "Poedit Registration"
+msgstr ""
+
+msgid "Name"
+msgstr ""
+
+msgid "License Key"
+msgstr ""
+
+msgid "The registration key can be used on multiple computers you use personally or for multiple\naccounts on a single computer."
+msgstr ""
+
+msgid "Buy Online..."
+msgstr ""
+
+msgid "Buy online..."
+msgstr ""
+
+msgid "Cancel"
+msgstr "Hủy bỏ"
+
+msgid "Register"
+msgstr ""
+
+msgid "Your copy is upgraded to Poedit Pro."
+msgstr ""
+
+msgid "You’re awesome! Thank you so much\nfor purchasing Poedit Pro."
+msgstr ""
+
+msgid "View License Key"
+msgstr ""
+
+msgid "View license key"
+msgstr ""
+
+#, c-format
+msgid "Licensed to: %s"
+msgstr ""
+
+msgid "Purchasing the full version will unlock more features\nin this and future versions of Poedit, including:\n\n"
+msgstr ""
+
+msgid "Upgrade..."
+msgstr ""
+
+msgid "No, thanks"
+msgstr "Không, cảm ơn"
+
msgid "Poedit - Catalogs manager"
msgstr "Poedit - Quản lý catalog"
@@ -862,12 +1101,8 @@ msgstr "Bạn có muốn xóa bỏ dự án không?"
msgid "Confirmation"
msgstr "Sự xác thực"
-msgid ""
-"Do you really want to do mass update of\n"
-"all catalogs in this project?"
-msgstr ""
-"Bạn có muốn cập nhật hàng loạt\n"
-"tất cả các catalog trong dự án này?"
+msgid "Do you really want to do mass update of\nall catalogs in this project?"
+msgstr "Bạn có muốn cập nhật hàng loạt\ntất cả các catalog trong dự án này?"
msgid "Information about the translator"
msgstr ""
@@ -884,9 +1119,7 @@ msgstr ""
msgid "your_email at example.com"
msgstr ""
-msgid ""
-"Your name and email address are only used to set the Last-Translator header "
-"of GNU gettext files."
+msgid "Your name and email address are only used to set the Last-Translator header of GNU gettext files."
msgstr ""
msgid "Editing"
@@ -904,14 +1137,8 @@ msgstr "Kiểm tra lỗi chính tả"
msgid "Always change focus to text input field"
msgstr "Luôn luôn để focus vào ô nhập liệu"
-msgid ""
-"Never let the list of strings take focus. If enabled, you must use Ctrl-"
-"arrows for keyboard navigation but you can also type text immediately, "
-"without having to press Tab to change focus."
-msgstr ""
-"Đừng bao giờ để danh sách chuỗi nhận focus. Nếu cho phép, bạn phải sử dụng "
-"Ctrl-Phím mũi tên để có thể di chuyển bằng bàn phím nhưng bạn lại có thể "
-"nhập chữ một cách trực tiếp, mà không cần phải nhấn Tab để thay đổi focus."
+msgid "Never let the list of strings take focus. If enabled, you must use Ctrl-arrows for keyboard navigation but you can also type text immediately, without having to press Tab to change focus."
+msgstr "Đừng bao giờ để danh sách chuỗi nhận focus. Nếu cho phép, bạn phải sử dụng Ctrl-Phím mũi tên để có thể di chuyển bằng bàn phím nhưng bạn lại có thể nhập chữ một cách trực tiếp, mà không cần phải nhấn Tab để thay đổi focus."
msgid "Appearance"
msgstr ""
@@ -948,11 +1175,29 @@ msgstr ""
msgid "Consult TM when updating from sources"
msgstr "Tham khảo TM khi cập nhật từ nguồn"
-msgid ""
-"If enabled, Poedit will try to fill in new entries using your previous\n"
-"translations stored in the translation memory. If the TM is\n"
-"near-empty, it will not be very effective. The more translations\n"
-"you edit and the larger the TM grows, the better it gets."
+msgid "If enabled, Poedit will try to fill in new entries using your previous\ntranslations stored in the translation memory. If the TM is\nnear-empty, it will not be very effective. The more translations\nyou edit and the larger the TM grows, the better it gets."
+msgstr ""
+
+msgid "Use suggestions from online collaborative TM"
+msgstr ""
+
+msgid "Poedit uses a large online translation memory that includes both contributed human translations and state-of-the-art machine translations."
+msgstr ""
+
+msgid "Contribute my translations to the online TM"
+msgstr ""
+
+msgid "Keep my translations private"
+msgstr ""
+
+msgid "Ask me for each file individually"
+msgstr ""
+
+msgid "Terms of Service"
+msgstr ""
+
+#. TRANSLATORS: This is part of footer that says in full "powered by MyMemory", with the MyMemory part being a logo
+msgid "powered by"
msgstr ""
msgid "Stored translations:"
@@ -979,23 +1224,16 @@ msgstr ""
msgid "Are you sure you want to reset the translation memory?"
msgstr ""
-msgid ""
-"Resetting the translation memory will irrevocably delete all stored "
-"translations from it. You can’t undo this operation."
+msgid "Resetting the translation memory will irrevocably delete all stored translations from it. You can’t undo this operation."
msgstr ""
-msgid "Cancel"
-msgstr "Hủy bỏ"
-
#. TRANSLATORS: This is abbreviation of "Translation Memory" used in Preferences on OS X.
#. Long text looks weird there, too short (like TM) too, but less so. "General" is about ideal
#. length there.
msgid "TM"
msgstr ""
-msgid ""
-"Source code extractors are used to find translatable strings in the source "
-"code files and extract them so that they can be translated."
+msgid "Source code extractors are used to find translatable strings in the source code files and extract them so that they can be translated."
msgstr ""
msgid "New"
@@ -1004,26 +1242,32 @@ msgstr "Tạo mới"
msgid "Edit"
msgstr "Biên tập"
+msgid "Delete extractor"
+msgstr ""
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr ""
+
msgid "Extractors"
msgstr ""
+msgid "Accounts"
+msgstr ""
+
msgid "Automatically check for updates"
msgstr ""
msgid "Include beta versions"
msgstr "Bao gồm cả bản thử nghiệm"
-msgid ""
-"Beta versions contain the latest new features and improvements, but may be a "
-"bit less stable."
+msgid "Beta versions contain the latest new features and improvements, but may be a bit less stable."
msgstr ""
msgid "Updates"
msgstr ""
-msgid ""
-"These settings affect internal formatting of PO files. Adjust them if you "
-"have specific requirements e.g. because of version control."
+msgid "These settings affect internal formatting of PO files. Adjust them if you have specific requirements e.g. because of version control."
msgstr ""
msgid "Line endings:"
@@ -1045,6 +1289,30 @@ msgstr ""
msgid "Advanced"
msgstr ""
+msgid "Add Files..."
+msgstr ""
+
+msgid "Add files..."
+msgstr ""
+
+msgid "Add Folders..."
+msgstr ""
+
+msgid "Add folders..."
+msgstr ""
+
+msgid "Add Wildcard..."
+msgstr ""
+
+msgid "Add wildcard..."
+msgstr ""
+
+msgid "<big>Drag and Drop Folders Here</big>\n\nor use the + button"
+msgstr ""
+
+msgid "<big>Drag and drop folders here</big>\n\nor use the + button"
+msgstr ""
+
msgid "Additional keywords"
msgstr "Từ khoá bổ xung"
@@ -1064,8 +1332,10 @@ msgid "UTF-8 (recommended)"
msgstr "UTF-8 (nên dùng)"
msgid "Please save the file first. This section cannot be edited until then."
-msgstr ""
-"Hãy ghi lại tập tin trước. Phần này không thể được sửa chữa cho đến sau này."
+msgstr "Hãy ghi lại tập tin trước. Phần này không thể được sửa chữa cho đến sau này."
+
+msgid "Comment:"
+msgstr "Chú thích:"
msgid "OK"
msgstr "Đồng ý"
@@ -1076,42 +1346,6 @@ msgstr "&Dọn dẹp"
msgid "Clear the comment"
msgstr "Xóa phần chú thích"
-msgid "Find..."
-msgstr "Tìm kiếm..."
-
-msgid "String to find:"
-msgstr "Chuỗi cần tìm:"
-
-msgid "Case sensitive"
-msgstr "Phân biệt HOA/thường"
-
-msgid "Start from the first item"
-msgstr "Bắt đầu từ mục tin đầu tiên"
-
-msgid "Whole words only"
-msgstr "Phải khớp toàn bộ các từ"
-
-msgid "Find in original strings"
-msgstr "Tìm trong nguyên bản"
-
-msgid "Find in translations"
-msgstr "Tìm trong phần dịch"
-
-msgid "Find in comments"
-msgstr "Tìm trong chú thích"
-
-msgid "Find in automatic comments"
-msgstr "Tìm trong chú thích tự động"
-
-msgid "Close"
-msgstr "Đóng"
-
-msgid "< &Previous"
-msgstr "< &Trước"
-
-msgid "&Next >"
-msgstr "&Tiếp theo >"
-
msgid "Create new translations project"
msgstr "Tạo một dự án dịch mới"
@@ -1148,9 +1382,6 @@ msgstr "Đó&ng"
msgid "E&xit"
msgstr "Thoát r&a"
-msgid "Quit"
-msgstr "Thoát"
-
msgid "&New..."
msgstr "&Mới..."
@@ -1160,12 +1391,24 @@ msgstr "Tạo cái mới từ tệp tin &POT/PO..."
msgid "New From &POT/PO File..."
msgstr "Tạo cái mới từ tệp tin &POT/PO..."
+msgid "New WordPress translation..."
+msgstr "Tạo bản dịch WordPress mới..."
+
+msgid "New WordPress Translation..."
+msgstr "Tạo bản dịch WordPress mới..."
+
msgid "&Open..."
msgstr "&Mở..."
msgid "Open Recent"
msgstr ""
+msgid "Open from Crowdin..."
+msgstr ""
+
+msgid "Open From Crowdin..."
+msgstr ""
+
msgid "&Save"
msgstr "&Ghi lại"
@@ -1184,6 +1427,9 @@ msgstr "&Xuất ra định dạng HTML..."
msgid "Check for updates..."
msgstr "Kiểm tra cập nhật..."
+msgid "&License..."
+msgstr ""
+
msgid "Catalogs &manager"
msgstr "&Quản lý các catalog"
@@ -1214,14 +1460,17 @@ msgstr "&Hiển thị tham chiếu"
msgid "&Find..."
msgstr "&Tìm kiếm..."
+msgid "Replace..."
+msgstr ""
+
msgid "Find next"
msgstr "Tìm tiếp"
msgid "Find previous"
msgstr "Tìm lùi"
-msgid "Find"
-msgstr "Tìm"
+msgid "Find and Replace..."
+msgstr ""
msgid "Find Next"
msgstr "Tìm tiếp"
@@ -1262,6 +1511,12 @@ msgstr ""
msgid "&Group By Context"
msgstr ""
+msgid "Entries with errors first"
+msgstr ""
+
+msgid "Entries with Errors First"
+msgstr ""
+
msgid "&Untranslated entries first"
msgstr "Mục &chưa dịch đầu tiên"
@@ -1271,6 +1526,9 @@ msgstr "Mục &chưa dịch đầu tiên"
msgid "Show sidebar"
msgstr ""
+msgid "Show status bar"
+msgstr ""
+
msgid "C&atalog"
msgstr "C&atalog"
@@ -1286,6 +1544,9 @@ msgstr "Cập nhật từ tập tin &POT..."
msgid "Update from &POT File..."
msgstr "Cập nhật từ tập tin &POT..."
+msgid "Sync with Crowdin"
+msgstr ""
+
msgid "Fill missing translations from &TM..."
msgstr ""
@@ -1304,6 +1565,9 @@ msgstr "&Thẩm tra bản dịch"
msgid "&Validate Translations"
msgstr "&Thẩm tra bản dịch"
+msgid "&Statistics"
+msgstr "Thống &kê"
+
msgid "&Properties..."
msgstr "&Thuộc tính..."
@@ -1349,6 +1613,12 @@ msgstr "Sổ tay hướng dẫn sử dụng &GNU gettext"
msgid "&GNU gettext Manual"
msgstr "Sổ tay hướng dẫn sử dụng &GNU gettext"
+msgid "Email &support..."
+msgstr "Hỗ t&rợ bằng thư điện tử..."
+
+msgid "Email &Support..."
+msgstr "Hỗ t&rợ bằng thư điện tử..."
+
msgid "&About Poedit"
msgstr "&Giới thiệu về Poedit"
@@ -1367,48 +1637,35 @@ msgstr "Lệnh gọi:"
msgid "Command to extract translations:"
msgstr ""
-msgid ""
-"This is the command used to launch the extractor.\n"
-"%o expands to the name of output file, %K to list\n"
-"of keywords, %F to list of input files,\n"
-"%C to charset flag (see below)."
+msgid "This is the command used to launch the extractor.\n%o expands to the name of output file, %K to list\nof keywords, %F to list of input files,\n%C to charset flag (see below)."
msgstr ""
msgid "An item in keywords list:"
msgstr "Một mục tin trong danh sách các từ khóa:"
-msgid ""
-"This will be attached to the command line once\n"
-"for each keyword. %k expands to the keyword."
-msgstr ""
-"Cái này sẽ gắn với dòng lệnh một lần\n"
-"cho mỗi từ khóa. %k được triển khai thành từ khóa."
+msgid "This will be attached to the command line once\nfor each keyword. %k expands to the keyword."
+msgstr "Cái này sẽ gắn với dòng lệnh một lần\ncho mỗi từ khóa. %k được triển khai thành từ khóa."
msgid "An item in input files list:"
msgstr "Một mục tin trong danh sách các tập tin nguồn vào:"
#, c-format
-msgid ""
-"This will be attached to the command line once\n"
-"for each input file. %f expands to the filename."
-msgstr ""
-"Cái này sẽ gắn với dòng lệnh một lần với mỗi\n"
-"tập tin đầu vào. %f được triển khai thành tên tập tin."
+msgid "This will be attached to the command line once\nfor each input file. %f expands to the filename."
+msgstr "Cái này sẽ gắn với dòng lệnh một lần với mỗi\ntập tin đầu vào. %f được triển khai thành tên tập tin."
msgid "Source code charset:"
msgstr "Bảng mã dữ liệu nguồn:"
#, c-format
-msgid ""
-"This will be attached to the command line\n"
-"only if source codecharset was given. %c expands to charset value."
-msgstr ""
-"Cái này sẽ gắn với dòng lệnh chỉ khi bộ mã ký tự\n"
-"nguồn được đưa ra. %c được triển khai thành giá trị bộ ký tự."
+msgid "This will be attached to the command line\nonly if source codecharset was given. %c expands to charset value."
+msgstr "Cái này sẽ gắn với dòng lệnh chỉ khi bộ mã ký tự\nnguồn được đưa ra. %c được triển khai thành giá trị bộ ký tự."
msgid "Catalog properties"
msgstr "Các thuộc tính của catalog"
+msgid "Project name and version:"
+msgstr "Tên và phiên bản của dự án:"
+
msgid "Plural Forms:"
msgstr "Dạng số nhiều:"
@@ -1421,6 +1678,15 @@ msgstr "Dùng biểu thức tự chọn"
msgid "Learn about plural forms"
msgstr "Tìm hiểu dạng thức số nhiều"
+msgid "Charset:"
+msgstr "Bảng mã ký tự:"
+
+msgid "Team:"
+msgstr "Nhóm:"
+
+msgid "Team's email address:"
+msgstr "Địa chỉ thư điện tử của nhóm"
+
msgid "Translation properties"
msgstr "Thuộc tính bản dịch"
@@ -1433,12 +1699,8 @@ msgstr "Đường dẫn cơ sở:"
msgid "Sources paths"
msgstr "Đường dẫn mã nguồn"
-msgid ""
-"Use these keywords (function names) to recognize translatable strings\n"
-"in source files:"
-msgstr ""
-"Sử dụng những từ khóa (tên hàm) để nó có thể nhận ra các chuỗi có thể dịch\n"
-"trong tập tin mã nguồn:"
+msgid "Use these keywords (function names) to recognize translatable strings\nin source files:"
+msgstr "Sử dụng những từ khóa (tên hàm) để nó có thể nhận ra các chuỗi có thể dịch\ntrong tập tin mã nguồn:"
msgid "Learn about gettext keywords"
msgstr "Học thêm về các từ khóa của GNU gettext"
@@ -1449,22 +1711,14 @@ msgstr "Từ khóa dùng cho mã nguồn"
msgid "Update summary"
msgstr "Tóm tắt sơ lược quá trình cập nhật"
-msgid ""
-"These strings were found in the sources but were not in the catalog.\n"
-"Poedit will add them to the catalog now."
-msgstr ""
-"Các chuỗi tìm thấy trong tập tin nguồn nhưng không có trong catalog.\n"
-"Poedit sẽ thêm vào ngay bây giờ."
+msgid "These strings were found in the sources but were not in the catalog.\nPoedit will add them to the catalog now."
+msgstr "Các chuỗi tìm thấy trong tập tin nguồn nhưng không có trong catalog.\nPoedit sẽ thêm vào ngay bây giờ."
msgid "New strings"
msgstr "Chuỗi mới"
-msgid ""
-"These strings are no longer in the sources.\n"
-"Poedit will remove them from the catalog now."
-msgstr ""
-"Những chuỗi này không còn tồn tại trong tập tin nguồn nữa.\n"
-"Poedit sẽ loại bỏ chúng bây giờ."
+msgid "These strings are no longer in the sources.\nPoedit will remove them from the catalog now."
+msgstr "Những chuỗi này không còn tồn tại trong tập tin nguồn nữa.\nPoedit sẽ loại bỏ chúng bây giờ."
msgid "Obsolete strings"
msgstr "Chuỗi đã cũ"
@@ -1484,6 +1738,12 @@ msgstr "Thẩm tra"
msgid "Check for errors in the translation"
msgstr "Tìm kiếm các lỗi trong bản dịch"
+msgid "Statistics"
+msgstr "Thống kê"
+
+msgid "Show translation statistics"
+msgstr ""
+
msgid "Update"
msgstr "Cập nhật"
@@ -1493,24 +1753,40 @@ msgstr "Cập nhật catalog - đồng bộ hóa nó với mã nguồn"
msgid "Toggled if selected string has fuzzy translation"
msgstr "Đặt/Tắt trạng thái của một chuỗi là tạm dịch"
-msgid "Show or hide the sidebar."
+msgid "Sidebar"
+msgstr ""
+
+msgid "Show or hide the sidebar"
msgstr ""
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
msgid "Previous source text:"
msgstr ""
-msgid ""
-"The old source text (before it changed during an update) that the fuzzy "
-"translation corresponds to."
+msgid "The old source text (before it changed during an update) that the fuzzy translation corresponds to."
msgstr ""
+msgid "Notes for translators:"
+msgstr "Ghi chú dành cho người dịch:"
+
msgid "Add comment"
msgstr ""
msgid "Add Comment"
msgstr ""
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(from your TM)"
+msgstr ""
+
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(machine translation)"
+msgstr ""
+
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(human translation)"
+msgstr ""
+
msgid "Translation suggestions:"
msgstr ""
@@ -1525,6 +1801,83 @@ msgstr ""
msgid "This string was found in Poedit’s translation memory."
msgstr ""
+msgid "This suggestion was contributed by another translator to the online TM."
+msgstr ""
+
+msgid "This suggestion was machine-translated online."
+msgstr ""
+
+#, c-format
+msgid "%d out of %d online suggestion left."
+msgid_plural "%d out of %d online suggestions left."
+msgstr[0] ""
+
+msgid "Remove this limitation"
+msgstr ""
+
+msgid "Not showing additional online suggestions."
+msgstr ""
+
+msgid "Unlock online suggestions"
+msgstr ""
+
+msgid "Exceeded online TM daily limit."
+msgstr ""
+
+msgid "Connect to the Internet to get additional suggestions."
+msgstr ""
+
+#. TRANSLATORS: Label indicating that translations made in the current file are contributed to the online translation memory. Related to the "Contribute my translations to the online TM" string.
+msgid "Contributing"
+msgstr ""
+
+msgid "Your translations are contributed to the online translation memory as you make them. Thanks for making the suggestions better!"
+msgstr ""
+
+#. TRANSLATORS: Label indicating that the current file
+msgid "Private"
+msgstr ""
+
+msgid "Translations from this file are not shared with the online translation memory."
+msgstr ""
+
+msgid "Privacy settings"
+msgstr ""
+
+#, c-format
+msgid "While editing the file “%s”:"
+msgstr ""
+
+msgid "Items"
+msgstr "Mục"
+
+msgid "Words"
+msgstr "Từ"
+
+msgid "Translated"
+msgstr "Đã dịch"
+
+msgid "Needs review (fuzzy)"
+msgstr "Cần xem lại (fuzzy)"
+
+msgid "Translations with errors"
+msgstr "Các chuỗi dịch có lỗi"
+
+msgid "Source Text"
+msgstr "Chữ nguồn"
+
+msgid "Strings in source language"
+msgstr "Các chuỗi trong ngôn ngữ nguồn"
+
+msgid "Not translated"
+msgstr "Chưa dịch"
+
+msgid "Copy to clipboard"
+msgstr ""
+
+msgid "Copy to Clipboard"
+msgstr ""
+
#, c-format
msgid "(New: %i, obsolete: %i)"
msgstr ""
@@ -1546,12 +1899,8 @@ msgstr ""
msgid "Poedit needs to convert your translation memory to a new format."
msgstr "Poedit cần chuyển đổi bộ nhớ bản dịch sang một định dạng mới."
-msgid ""
-"This must be done before Poedit can start. It may take a few minutes if you "
-"have lots of translations stored, but should normally be much faster."
-msgstr ""
-"Điều này phải được thực hiện trước khi Poedit có thể khởi động. Nó có thể "
-"mất vài phút nếu bạn có nhiều bạn dịch được lưu, nhưng thường thì nhanh hơn."
+msgid "This must be done before Poedit can start. It may take a few minutes if you have lots of translations stored, but should normally be much faster."
+msgstr "Điều này phải được thực hiện trước khi Poedit có thể khởi động. Nó có thể mất vài phút nếu bạn có nhiều bạn dịch được lưu, nhưng thường thì nhanh hơn."
msgid "Proceed"
msgstr "Tiếp tục"
@@ -1560,57 +1909,60 @@ msgid "Translation memory migration failed."
msgstr "Chuyển đổi bộ nhớ bản dịch gặp lỗi."
#, c-format
-msgid ""
-"Your translation memory data couldn't be migrated. The error was:\n"
-"\n"
-"%s\n"
-"Please email help at poedit.net and we’ll get it fixed."
+msgid "Your translation memory data couldn't be migrated. The error was:\n\n%s\nPlease email help at poedit.net and we’ll get it fixed."
msgstr ""
msgid "Cannot create temporary directory."
msgstr "Không thể tạo thư mục tạm."
+msgid "Check theme or plugin compatibility"
+msgstr ""
+
msgid "Welcome to Poedit"
msgstr "Chào mừng bạn dùng Poedit"
+msgid "Upgrade to Pro"
+msgstr ""
+
+msgid "Upgrade to Poedit Pro to get additional features and support Poedit's development."
+msgstr ""
+
msgid "Edit a translation"
msgstr "Sửa một bản dịch"
msgid "Open an existing PO file and edit the translation."
msgstr "Mở một tập tin PO sẵn có và sửa bản dịch."
-msgid "Create new translation"
-msgstr "Tạo bản dịch mới"
-
-msgid ""
-"Take an existing PO file or POT template and create a new translation from "
-"it."
+msgid "Take an existing PO file or POT template and create a new translation from it."
msgstr "Lấy một tập tin PO hay mẫu POT và tạo bản dịch mới từ đó."
+msgid "Translate WordPress theme or plugin"
+msgstr "Dịch phần bổ xung hay theme cho WordPress"
+
+#. TRANSLATORS: Please don't use any form of "automatically" in the translation, it would mislead people.
+msgid "Create a new translation. Poedit will set everything up; you can focus on translating."
+msgstr ""
+
+msgid "Collaborate on a translation with Crowdin"
+msgstr ""
+
+msgid "Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+
+msgid "What is Crowdin?"
+msgstr ""
+
msgid "There are no translations. That’s unusual."
msgstr "Ở đây không có bản dịch nào cả. Điều này là bất thường."
-msgid ""
-"Translatable entries aren't added manually in the Gettext system, but are "
-"automatically extracted\n"
-"from source code. This way, they stay up to date and accurate.\n"
-"Translators typically use PO template files (POTs) prepared for them by the "
-"developer."
-msgstr ""
-"Các chuỗi có thể dịch không được tự động thêm vào trong hệ thống Gettext, "
-"nhưng lại có thể tự động\n"
-"rút trích ra từ mã nguồn. Theo cách này chúng luôn được cập nhật và chính "
-"xác.\n"
-"Những người dịch thường dùng các tập tin mẫu PO (POT) được chuẩn bị sẵn dành "
-"cho họ từ người phát triển."
+msgid "Translatable entries aren't added manually in the Gettext system, but are automatically extracted\nfrom source code. This way, they stay up to date and accurate.\nTranslators typically use PO template files (POTs) prepared for them by the developer."
+msgstr "Các chuỗi có thể dịch không được tự động thêm vào trong hệ thống Gettext, nhưng lại có thể tự động\nrút trích ra từ mã nguồn. Theo cách này chúng luôn được cập nhật và chính xác.\nNhững người dịch thường dùng các tập tin mẫu PO (POT) được chuẩn bị sẵn dành cho họ từ người phát triển."
msgid "(Learn more about GNU gettext)"
msgstr "(Học thêm về GNU gettext)"
msgid "The simplest way to fill this catalog is to update it from a POT:"
-msgstr ""
-"Cách đơn giản nhất để điền thông tin cho catalog này là cập nhật nó từ một "
-"tập tin POT:"
+msgstr "Cách đơn giản nhất để điền thông tin cho catalog này là cập nhật nó từ một tập tin POT:"
msgid "Update from POT"
msgstr "Cập nhật từ tệp tin POT"
@@ -1618,14 +1970,113 @@ msgstr "Cập nhật từ tệp tin POT"
msgid "Take translatable strings from an existing POT template."
msgstr "Lấy các chuỗi có thể dịch được từ một mẫu POT sẵn có."
-msgid ""
-"You can also extract translatable strings directly from the source code:"
-msgstr ""
-"Bạn đồng thời có thể rút trích các chuỗi có thể dịch được trực tiếp từ mã "
-"nguồn:"
+msgid "You can also extract translatable strings directly from the source code:"
+msgstr "Bạn đồng thời có thể rút trích các chuỗi có thể dịch được trực tiếp từ mã nguồn:"
msgid "Extract from sources"
msgstr "Trích từ mã nguồn"
msgid "Configure source code extraction in Properties."
msgstr "Cấu hình việc rút trích mã nguồn trong `Thuộc tính'."
+
+#, c-format
+msgid "Failed to read file '%s'."
+msgstr "Gặp lỗi khi đọc tập tin '%s'."
+
+#, c-format
+msgid "Confused by ambiguous values of \"%s\" in %s."
+msgstr "Lẫn lộn bởi các giá trị chưa rõ ràng của \"%s\" trong %s."
+
+#, c-format
+msgid "Couldn't detect POs location for \"%s\"."
+msgstr ""
+
+#, c-format
+msgid "The \"%s\" theme isn't localization-ready."
+msgstr "Theme \"%s\" không sẵn sàng để bản địa hóa."
+
+msgid "Confused: multiple main plugin files."
+msgstr "Chưa rõ ràng: nhiều tập tin chính cho phần bổ xung."
+
+#, c-format
+msgid "The \"%s\" plugin isn't localization-ready."
+msgstr "Phần bổ xung \"%s\" không sẵn sàng để bản địa hóa."
+
+#, c-format
+msgid "Couldn't detect translation domain of the \"%s\" plugin."
+msgstr "Không thể dò tìm tên miền bản dịch của phần bổ xung \"%s\"."
+
+msgid "Found neither WordPress theme nor plugin in the folder."
+msgstr "Không tìn thấy theme mà cũng chẳng thấy phần bổ xung WordPress trong thư mục này."
+
+#, c-format
+msgid "Translations folder (%s) doesn't exist."
+msgstr "Thư mục chứa bản dịch '%s' không tồn tại."
+
+msgid "<big>Drag and drop <b>theme or plugin folder</b> here</big>\n\nor use the “Choose folder” button"
+msgstr ""
+
+msgid "<big>Drag and Drop <b>Theme or Plugin Folder</b> Here</big>\n\nor use the “Choose Folder” button"
+msgstr ""
+
+#, c-format
+msgid "Folder “%s”"
+msgstr ""
+
+msgid "Choose Folder..."
+msgstr ""
+
+msgid "Choose folder..."
+msgstr ""
+
+msgid "Create a new translation"
+msgstr ""
+
+msgid "Choose this if you want to translate the theme or plugin into your language."
+msgstr ""
+
+msgid "Create a POT"
+msgstr ""
+
+msgid "This option is for theme and plugin developers. Poedit will create an empty template (POT) that translations can be based on."
+msgstr ""
+
+msgid "Continue"
+msgstr ""
+
+msgid "Failed to extract WordPress information."
+msgstr "Gặp lỗi khi rút trích thông tin WordPress."
+
+msgid "WordPress error"
+msgstr "Lỗi WordPress"
+
+#, c-format
+msgid "Poedit couldn’t understand the content of the folder you selected. This may be a problem with the plugin/theme or it may be Poedit being silly. The error is:\n\n • %s\n\nPlease email help at poedit.net and we’ll sort it out."
+msgstr "Poedit không thể hiểu được nội dung của thư mục bạn đã chọn. Có lẽ ở đây có vấn đề với theme hay phần bổ xung hoặc là Poedit mắc lỗi gì đó. Lỗi là:\n\n • %s\n\nHãy gửi thư cho <help at poedit.net> và chúng tôi sẽ xem xét chúng."
+
+#. TRANSLATORS: This is a button that sends an email to support when clicked
+msgid "Email support"
+msgstr "Hỗ trợ bằng thư điện tử"
+
+msgid "View log"
+msgstr "Xem nhật ký"
+
+#. TRANSLATORS: This is a button that sends an email to support when clicked
+msgid "Email Support"
+msgstr "Hỗ trợ bằng thư điện tử"
+
+msgid "View Log"
+msgstr "Xem nhật ký"
+
+msgid "WordPress Errors Log"
+msgstr "Nhật ký lỗi WordPress"
+
+msgid "Please email this log to help at poedit.net. Thank you!"
+msgstr "Hãy gửi nhật ký này qua thư đến địa chỉ <help at poedit.net>. Cảm ơn!"
+
+msgid "Sync"
+msgstr ""
+
+msgid "Synchronize the translation with Crowdin"
+msgstr ""
+
diff --git a/locales/wa.mo b/locales/wa.mo
index 3153211..6d91d6e 100644
Binary files a/locales/wa.mo and b/locales/wa.mo differ
diff --git a/locales/wa.po b/locales/wa.po
index 0cab378..e90de04 100644
--- a/locales/wa.po
+++ b/locales/wa.po
@@ -1,9 +1,9 @@
msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
-"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:34-0400\n"
+"Report-Msgid-Bugs-To: poedit at googlegroups.com\n"
+"POT-Creation-Date: 2015-05-11 08:48+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Walloon\n"
"Language: wa_BE\n"
@@ -16,6 +16,40 @@ msgstr ""
"X-Crowdin-Language: wa\n"
"X-Crowdin-File: /locales/poedit.pot\n"
+#. TRANSLATORS: This is titlebar of about dialog, "%s" is application name
+#. ("Poedit" here, but please use "%s")
+#, c-format
+msgid "About %s"
+msgstr ""
+
+#. TRANSLATORS: This is version information in about dialog, "%s" will be
+#. version number when used
+#, c-format
+msgid "Version %s"
+msgstr ""
+
+msgid "Based on the open source version →"
+msgstr ""
+
+msgid "Acknowledgements"
+msgstr ""
+
+msgid "Rate on the App Store"
+msgstr ""
+
+msgid "License Agreement"
+msgstr ""
+
+#, c-format
+msgid "Licensed to %s"
+msgstr ""
+
+msgid "Purchased on the Mac App Store"
+msgstr ""
+
+msgid "Free version (please upgrade!)"
+msgstr ""
+
msgid "Hide this notification message"
msgstr ""
@@ -39,16 +73,13 @@ msgstr ""
msgid "Malformed header: '%s'"
msgstr ""
-msgid ""
-"Broken catalog file: singular form msgstr used together with msgid_plural"
+msgid "Broken catalog file: singular form msgstr used together with msgid_plural"
msgstr ""
msgid "Broken catalog file: plural form msgstr used without msgid_plural"
msgstr ""
-msgid ""
-"There were errors when loading the catalog. Some data may be missing or "
-"corrupted as the result."
+msgid "There were errors when loading the catalog. Some data may be missing or corrupted as the result."
msgstr ""
#, c-format
@@ -56,30 +87,32 @@ msgid "Couldn't load file %s, it is probably corrupted."
msgstr ""
#, c-format
-msgid ""
-"File '%s' is read-only and cannot be saved.\n"
-"Please save it under different name."
+msgid "File '%s' is read-only and cannot be saved.\nPlease save it under different name."
msgstr ""
#, c-format
msgid "Couldn't save file %s."
msgstr ""
-msgid ""
-"There was a problem formatting the file nicely (but it was saved all right)."
+msgid "There was a problem formatting the file nicely (but it was saved all right)."
msgstr ""
#, c-format
-msgid ""
-"The catalog couldn't be saved in '%s' charset as specified in catalog "
-"settings.\n"
-"\n"
-"It was saved in UTF-8 instead and the setting was modified accordingly."
+msgid "The catalog couldn't be saved in '%s' charset as specified in catalog settings.\n\nIt was saved in UTF-8 instead and the setting was modified accordingly."
msgstr ""
msgid "Error saving catalog"
msgstr "Åk n' a nén stî tot schapant l' catalogue"
+msgid "PO Translation Files"
+msgstr ""
+
+msgid "POT Translation Templates"
+msgstr ""
+
+msgid "All Translation Files"
+msgstr ""
+
msgid "Merging differences..."
msgstr "Maxhaedje des diferinces..."
@@ -99,6 +132,81 @@ msgstr "Tchoezixhaedje do lingaedje"
msgid "You must restart Poedit for this change to take effect."
msgstr "Vos dvoz renonder Poedit po k' ci candjmint ci soeye en alaedje."
+msgid "Downloading translations is disabled in this project."
+msgstr ""
+
+msgid "Not authorized, please sign in again."
+msgstr ""
+
+msgid "Sign in to Crowdin"
+msgstr ""
+
+msgid "Crowdin is an online localization management platform and collaborative translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr ""
+
+msgid "Sign In"
+msgstr ""
+
+msgid "Sign in"
+msgstr ""
+
+msgid "Sign Out"
+msgstr ""
+
+msgid "Sign out"
+msgstr ""
+
+msgid "Waiting for authentication…"
+msgstr ""
+
+msgid "Updating user information…"
+msgstr ""
+
+msgid "Signed in as:"
+msgstr ""
+
+msgid "Learn More About Crowdin"
+msgstr ""
+
+msgid "Learn more about Crowdin"
+msgstr ""
+
+msgid "Open Crowdin translation"
+msgstr ""
+
+msgid "Project:"
+msgstr ""
+
+msgid "Language:"
+msgstr "Lingaedje:"
+
+msgid "File:"
+msgstr ""
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr ""
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr ""
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr ""
+
+msgid "Downloading latest translations…"
+msgstr ""
+
+msgid "Syncing with Crowdin"
+msgstr ""
+
+msgid "Syncing with Crowdin failed."
+msgstr ""
+
+msgid "Crowdin error"
+msgstr ""
+
+msgid "Uploading translations…"
+msgstr ""
+
msgid "&Copy"
msgstr ""
@@ -126,23 +234,43 @@ msgstr ""
msgid "Failed to load extracted catalog."
msgstr ""
+#, c-format
+msgid "Failed to extract WordPress metadata from file %s."
+msgstr ""
+
msgid "&Help"
msgstr "&Aidance"
+msgid "Beta expired"
+msgstr ""
+
+msgid "This beta version of Poedit expired."
+msgstr ""
+
+msgid "Please download a newer version from the Poedit website at http://poedit.net/download"
+msgstr ""
+
+msgid "Download"
+msgstr ""
+
+msgid "Quit"
+msgstr ""
+
msgid "MO files can’t be directly edited in Poedit."
msgstr ""
msgid "Error opening file"
msgstr ""
-msgid ""
-"Please open and edit the corresponding PO file instead. When you save it, "
-"the MO file will be updated as well."
+msgid "Please open and edit the corresponding PO file instead. When you save it, the MO file will be updated as well."
msgstr ""
msgid "don't delete temporary files (for debugging)"
msgstr ""
+msgid "handle a poedit:// URI"
+msgstr ""
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr ""
@@ -153,34 +281,19 @@ msgstr ""
msgid "Open catalog"
msgstr "Drovi catalogue"
-msgid "All Files"
-msgstr ""
-
-msgid "PO Translation Files"
-msgstr ""
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "Li fitchî «%s» n' egzistêye nén."
-#. TRANSLATORS: This is titlebar of about dialog, "%s" is application name
-#. ("Poedit" here, but please use "%s")
-#, c-format
-msgid "About %s"
-msgstr ""
-
-#. TRANSLATORS: This is version information in about dialog, "%s" will be
-#. version number when used
-#, c-format
-msgid "Version %s"
-msgstr ""
-
msgid "Poedit is an easy to use translations editor."
msgstr ""
msgid "Catalogs Manager"
msgstr ""
+msgid "License..."
+msgstr ""
+
msgid "Check for Updates..."
msgstr ""
@@ -262,6 +375,15 @@ msgstr ""
msgid "&View"
msgstr "&Vey"
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
+msgid "Show Toolbar"
+msgstr ""
+
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
+msgid "Customize Toolbar…"
+msgstr ""
+
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
msgid "Enter Full Screen"
msgstr ""
@@ -277,17 +399,27 @@ msgstr ""
msgid "Bring All to Front"
msgstr ""
+#. TRANSLATORS:File kind displayed in Finder/Explorer
msgid "PO Translation"
msgstr ""
+msgid "Invalid license data."
+msgstr ""
+
+msgid "Poedit"
+msgstr "Poedit"
+
+#, c-format
+msgid "The link doesn't contain valid Poedit license. Try entering it manually or contact support at help at poedit.net.\n\n(%s)"
+msgstr ""
+
msgid "The file cannot be opened."
msgstr ""
msgid "Invalid file"
msgstr ""
-msgid ""
-"The file may be either corrupted or in a format not recognized by Poedit."
+msgid "The file may be either corrupted or in a format not recognized by Poedit."
msgstr ""
msgid "&Undo"
@@ -359,17 +491,12 @@ msgid "shift"
msgstr ""
msgid "You can't drop more than one file on Poedit window."
-msgstr ""
-"Vos n' poloz nén saetchî et bodjî sol purnea di Poedit pus d' on fitchî pa "
-"côp."
+msgstr "Vos n' poloz nén saetchî et bodjî sol purnea di Poedit pus d' on fitchî pa côp."
#, c-format
msgid "File '%s' is not a message catalog."
msgstr ""
-msgid "Poedit"
-msgstr "Poedit"
-
msgid "&File"
msgstr "&Fitchî"
@@ -388,12 +515,20 @@ msgstr ""
msgid "Translation:"
msgstr ""
+msgid "POT files are only templates and don’t contain any translations themselves.\nTo make a translation, create a new PO file based on the template."
+msgstr ""
+
+msgid "Create New Translation"
+msgstr ""
+
+msgid "Create new translation"
+msgstr ""
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
#, c-format
-msgid ""
-"Spellchecking is disabled, because the dictionary for %s isn’t installed."
+msgid "Spellchecking is disabled, because the dictionary for %s isn’t installed."
msgstr ""
msgid "Install"
@@ -435,7 +570,29 @@ msgstr ""
msgid "Open catalog template"
msgstr "Drovi modele di catalogue"
-msgid "POT Translation Templates"
+msgid "WordPress"
+msgstr ""
+
+msgid "Analyzing WordPress code..."
+msgstr ""
+
+msgid "Select the folder with the WordPress theme or plugin"
+msgstr ""
+
+#. TRANSLATORS: %s is name of a WordPress theme
+#, c-format
+msgid "The “%s” theme is compatible."
+msgstr ""
+
+#. TRANSLATORS: %s is name of a WordPress plugin
+#, c-format
+msgid "The “%s” plugin is compatible."
+msgstr ""
+
+msgid "The theme is translation-ready and compatible with Poedit’s WordPress support."
+msgstr ""
+
+msgid "The plugin is translation-ready and compatible with Poedit’s WordPress support."
msgstr ""
msgid "Updating catalog"
@@ -447,9 +604,7 @@ msgstr ""
msgid "Updating failed"
msgstr ""
-msgid ""
-"Translations couldn’t be updated from the source code, because no code was "
-"found in the location specified in the catalog’s Properties."
+msgid "Translations couldn’t be updated from the source code, because no code was found in the location specified in the catalog’s Properties."
msgstr ""
msgid "Entries in the catalog are probably incorrect."
@@ -467,27 +622,19 @@ msgstr[1] ""
msgid "Validation results"
msgstr ""
-msgid ""
-"Entries with errors were marked in red in the list. Details of the error "
-"will be shown when you select such an entry."
+msgid "Entries with errors were marked in red in the list. Details of the error will be shown when you select such an entry."
msgstr ""
msgid "The file was saved safely."
msgstr ""
-msgid ""
-"The file was saved safely and compiled into the MO format, but it will "
-"probably not work correctly."
+msgid "The file was saved safely and compiled into the MO format, but it will probably not work correctly."
msgstr ""
-msgid ""
-"The file was saved safely, but it cannot be compiled into the MO format and "
-"used."
+msgid "The file was saved safely, but it cannot be compiled into the MO format and used."
msgstr ""
-msgid ""
-"The file was compiled into the MO format, but it will probably not work "
-"correctly."
+msgid "The file was compiled into the MO format, but it will probably not work correctly."
msgstr ""
msgid "The file cannot be compiled into the MO format and used."
@@ -498,26 +645,41 @@ msgstr ""
#, c-format
msgid "The translation is ready for use, but %d entry is not translated yet."
-msgid_plural ""
-"The translation is ready for use, but %d entries are not translated yet."
+msgid_plural "The translation is ready for use, but %d entries are not translated yet."
msgstr[0] ""
msgstr[1] ""
msgid "The translation is ready for use."
msgstr ""
-msgid "No references to this string found."
-msgstr "Nole referince di trovêye po cisse tchinne ci."
+msgid "Contributing translations improves the quality of online suggestions for everybody — the more people do it, the better the suggestions can be. Your translations are submitted anonymously and are available to other translators using Poedit or other CAT tools."
+msgstr ""
+
+msgid "Can Poedit contribute your translations of this file to the online translation memory?"
+msgstr ""
+
+msgid "Apply to all files I edit"
+msgstr ""
+
+msgid "Contribute"
+msgstr ""
-msgid "Please choose the reference you want to show:"
-msgstr "Tchoezixhoz l' referince ki vos vloz vey:"
+msgid "Keep Private"
+msgstr ""
-msgid "References"
-msgstr "Referinces"
+msgid "Keep private"
+msgstr ""
msgid "Context:"
msgstr ""
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr ""
+
+msgid "The file contained duplicate items, which is not allowed in PO files and would prevent the file from being used. Poedit fixed the issue, but you should review translations of any items marked as fuzzy and correct them if necessary."
+msgstr ""
+
msgid "Language of the translation isn't set."
msgstr ""
@@ -527,14 +689,23 @@ msgstr ""
msgid "Set language"
msgstr ""
-msgid ""
-"This catalog has entries with plural forms, but doesn't have Plural-Forms "
-"header configured."
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid "Suggestions are not available if the translation language is not set correctly. Other features, such as plural forms, may be affected as well."
msgstr ""
-msgid ""
-"Entries in this catalog have different plural forms count from what "
-"catalog's Plural-Forms header says"
+msgid "Language of the translation is the same as source language."
+msgstr ""
+
+msgid "Fix Language"
+msgstr ""
+
+msgid "Fix language"
+msgstr ""
+
+msgid "This catalog has entries with plural forms, but doesn't have Plural-Forms header configured."
+msgstr ""
+
+msgid "Entries in this catalog have different plural forms count from what catalog's Plural-Forms header says"
msgstr ""
msgid "Required header Plural-Forms is missing."
@@ -557,6 +728,7 @@ msgstr ""
msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr ""
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr ""
@@ -578,12 +750,22 @@ msgid_plural "%d errors"
msgstr[0] ""
msgstr[1] ""
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] ""
+msgstr[1] ""
+
msgid " (unsaved)"
msgstr ""
msgid " (modified)"
msgstr " (candjî)"
+#, c-format
+msgid " (beta version expires %s)"
+msgstr ""
+
msgid "Go"
msgstr ""
@@ -597,10 +779,7 @@ msgstr ""
msgid "Do you want to remove all translations that are no longer used?"
msgstr ""
-msgid ""
-"If you continue with purging, all translations marked as deleted will be "
-"permanently removed. You will have to translate them again if they are added "
-"back in the future."
+msgid "If you continue with purging, all translations marked as deleted will be permanently removed. You will have to translate them again if they are added back in the future."
msgstr ""
msgid "Keep"
@@ -615,17 +794,22 @@ msgstr ""
msgid "Only fill in exact matches"
msgstr ""
-msgid ""
-"By default, inaccurate results are filled in as well and marked as fuzzy. "
-"Check this option to only include accurate matches."
+msgid "By default, inaccurate results are filled in as well and marked as fuzzy. Check this option to only include accurate matches."
msgstr ""
msgid "Don’t mark exact matches as fuzzy"
msgstr ""
-msgid ""
-"Only enable if you trust the quality of your TM. By default, all matches "
-"from the TM are marked as fuzzy and should be reviewed."
+msgid "Only enable if you trust the quality of your TM. By default, all matches from the TM are marked as fuzzy and should be reviewed."
+msgstr ""
+
+msgid "Use online suggestions"
+msgstr ""
+
+msgid "Use online suggestions (experimental)"
+msgstr ""
+
+msgid "Try to fetch translations from the online TM as well. Notice that the translations will not be perfect and will still need to be corrected by a human translator."
msgstr ""
msgid "Fill"
@@ -637,18 +821,13 @@ msgid_plural "%d entries were filled from the translation memory."
msgstr[0] ""
msgstr[1] ""
-msgid ""
-"The translations were marked as fuzzy, because they may be inaccurate. You "
-"should review them for correctness."
+msgid "The translations were marked as fuzzy, because they may be inaccurate. You should review them for correctness."
msgstr ""
msgid "No entries could be filled from the translation memory."
msgstr ""
-msgid ""
-"The TM doesn’t contain any strings similar to the content of this file. It "
-"is only effective for semi-automatic translations after Poedit learns enough "
-"from files that you translated manually."
+msgid "The TM doesn’t contain any strings similar to the content of this file. It is only effective for semi-automatic translations after Poedit learns enough from files that you translated manually."
msgstr ""
msgid "Translating"
@@ -691,6 +870,9 @@ msgstr ""
msgid "Form %i"
msgstr ""
+msgid "Singular"
+msgstr ""
+
msgid "Zero"
msgstr ""
@@ -700,6 +882,9 @@ msgstr ""
msgid "Two"
msgstr ""
+msgid "Plural"
+msgstr ""
+
msgid "Other"
msgstr ""
@@ -728,6 +913,12 @@ msgstr ""
msgid "Show Sidebar"
msgstr ""
+msgid "Hide Status Bar"
+msgstr ""
+
+msgid "Show Status Bar"
+msgstr ""
+
msgid "Source text"
msgstr ""
@@ -737,6 +928,10 @@ msgstr "Ratournaedje"
msgid "ID"
msgstr ""
+#, c-format
+msgid "Source text — %s"
+msgstr ""
+
msgid "unknown language"
msgstr ""
@@ -747,42 +942,6 @@ msgstr ""
msgid "Error:"
msgstr ""
-msgid "Project info"
-msgstr "Informåcions do pordjet"
-
-msgid "Project name and version:"
-msgstr "No eyet modêye do pordjet:"
-
-msgid "Language:"
-msgstr "Lingaedje:"
-
-msgid "Team:"
-msgstr "Ekipe:"
-
-msgid "Team's email address:"
-msgstr "Adresse emile di l' ekipe:"
-
-msgid "Charset:"
-msgstr "Ecôdaedje:"
-
-msgid "Source"
-msgstr ""
-
-msgid "Notes"
-msgstr "Notes"
-
-msgid "Automatic translation"
-msgstr "Ratournaedje otomatike"
-
-msgid "Fuzzy translation"
-msgstr "Ratournaedje «fuzzy»"
-
-msgid "Notes for translators:"
-msgstr ""
-
-msgid "Comment:"
-msgstr "Rawete:"
-
msgid "Source file"
msgstr "Fitchî sourdant"
@@ -795,12 +954,64 @@ msgstr ""
msgid "Open in editor"
msgstr ""
+msgid "No references for the selected item."
+msgstr ""
+
#, c-format
msgid "Error opening file %s!"
msgstr "Åk n' a nén stî tot drovant l' fitchî «%s»!"
-#, c-format
-msgid "Cannot execute program: %s"
+msgid "Find"
+msgstr ""
+
+msgid "Replace"
+msgstr ""
+
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr ""
+
+msgid "Ignore case"
+msgstr ""
+
+msgid "Wrap around"
+msgstr ""
+
+msgid "Whole words only"
+msgstr ""
+
+msgid "Find in source texts"
+msgstr ""
+
+msgid "Find in translations"
+msgstr "Trover ezès ratournaedjes"
+
+msgid "Find in comments"
+msgstr ""
+
+msgid "Close"
+msgstr ""
+
+msgid "Replace All"
+msgstr ""
+
+msgid "Replace all"
+msgstr ""
+
+msgid "< &Previous"
+msgstr ""
+
+msgid "&Next >"
+msgstr ""
+
+msgid "String to find"
+msgstr ""
+
+msgid "Replacement string"
+msgstr ""
+
+#, c-format
+msgid "Cannot execute program: %s"
msgstr ""
msgid "Language Code or Name (e.g. en_GB)"
@@ -812,6 +1023,55 @@ msgstr ""
msgid "Language of the translation:"
msgstr ""
+msgid "Poedit Registration"
+msgstr ""
+
+msgid "Name"
+msgstr ""
+
+msgid "License Key"
+msgstr ""
+
+msgid "The registration key can be used on multiple computers you use personally or for multiple\naccounts on a single computer."
+msgstr ""
+
+msgid "Buy Online..."
+msgstr ""
+
+msgid "Buy online..."
+msgstr ""
+
+msgid "Cancel"
+msgstr "Rinoncî"
+
+msgid "Register"
+msgstr ""
+
+msgid "Your copy is upgraded to Poedit Pro."
+msgstr ""
+
+msgid "You’re awesome! Thank you so much\nfor purchasing Poedit Pro."
+msgstr ""
+
+msgid "View License Key"
+msgstr ""
+
+msgid "View license key"
+msgstr ""
+
+#, c-format
+msgid "Licensed to: %s"
+msgstr ""
+
+msgid "Purchasing the full version will unlock more features\nin this and future versions of Poedit, including:\n\n"
+msgstr ""
+
+msgid "Upgrade..."
+msgstr ""
+
+msgid "No, thanks"
+msgstr ""
+
msgid "Poedit - Catalogs manager"
msgstr "Poedit - Manaedjeu di catalogues"
@@ -848,12 +1108,8 @@ msgstr "Voloz vs disfacer l' pordjet?"
msgid "Confirmation"
msgstr "Racertinaedje"
-msgid ""
-"Do you really want to do mass update of\n"
-"all catalogs in this project?"
-msgstr ""
-"Voloz vs vormint fé on metaedje a djoû\n"
-"di masse di tos les catalogues do pordjet?"
+msgid "Do you really want to do mass update of\nall catalogs in this project?"
+msgstr "Voloz vs vormint fé on metaedje a djoû\ndi masse di tos les catalogues do pordjet?"
msgid "Information about the translator"
msgstr ""
@@ -870,9 +1126,7 @@ msgstr ""
msgid "your_email at example.com"
msgstr ""
-msgid ""
-"Your name and email address are only used to set the Last-Translator header "
-"of GNU gettext files."
+msgid "Your name and email address are only used to set the Last-Translator header of GNU gettext files."
msgstr ""
msgid "Editing"
@@ -890,14 +1144,8 @@ msgstr ""
msgid "Always change focus to text input field"
msgstr "Tofer candjî l' focusse viè l' tchamp d' intrêye di tecse"
-msgid ""
-"Never let the list of strings take focus. If enabled, you must use Ctrl-"
-"arrows for keyboard navigation but you can also type text immediately, "
-"without having to press Tab to change focus."
-msgstr ""
-"Èn måy permete kel djivêye des tchinnes åye li focusse. Si metou, vos dvoz "
-"eployî Ctrl-fletches pol naiviaedje avou l' taprece mins vos ploz eto taper "
-"l' tecse do côp, sins dveur tchôkî sol tape tabulåcion po candjî l' focusse."
+msgid "Never let the list of strings take focus. If enabled, you must use Ctrl-arrows for keyboard navigation but you can also type text immediately, without having to press Tab to change focus."
+msgstr "Èn måy permete kel djivêye des tchinnes åye li focusse. Si metou, vos dvoz eployî Ctrl-fletches pol naiviaedje avou l' taprece mins vos ploz eto taper l' tecse do côp, sins dveur tchôkî sol tape tabulåcion po candjî l' focusse."
msgid "Appearance"
msgstr ""
@@ -934,11 +1182,29 @@ msgstr ""
msgid "Consult TM when updating from sources"
msgstr ""
-msgid ""
-"If enabled, Poedit will try to fill in new entries using your previous\n"
-"translations stored in the translation memory. If the TM is\n"
-"near-empty, it will not be very effective. The more translations\n"
-"you edit and the larger the TM grows, the better it gets."
+msgid "If enabled, Poedit will try to fill in new entries using your previous\ntranslations stored in the translation memory. If the TM is\nnear-empty, it will not be very effective. The more translations\nyou edit and the larger the TM grows, the better it gets."
+msgstr ""
+
+msgid "Use suggestions from online collaborative TM"
+msgstr ""
+
+msgid "Poedit uses a large online translation memory that includes both contributed human translations and state-of-the-art machine translations."
+msgstr ""
+
+msgid "Contribute my translations to the online TM"
+msgstr ""
+
+msgid "Keep my translations private"
+msgstr ""
+
+msgid "Ask me for each file individually"
+msgstr ""
+
+msgid "Terms of Service"
+msgstr ""
+
+#. TRANSLATORS: This is part of footer that says in full "powered by MyMemory", with the MyMemory part being a logo
+msgid "powered by"
msgstr ""
msgid "Stored translations:"
@@ -965,23 +1231,16 @@ msgstr ""
msgid "Are you sure you want to reset the translation memory?"
msgstr ""
-msgid ""
-"Resetting the translation memory will irrevocably delete all stored "
-"translations from it. You can’t undo this operation."
+msgid "Resetting the translation memory will irrevocably delete all stored translations from it. You can’t undo this operation."
msgstr ""
-msgid "Cancel"
-msgstr "Rinoncî"
-
#. TRANSLATORS: This is abbreviation of "Translation Memory" used in Preferences on OS X.
#. Long text looks weird there, too short (like TM) too, but less so. "General" is about ideal
#. length there.
msgid "TM"
msgstr ""
-msgid ""
-"Source code extractors are used to find translatable strings in the source "
-"code files and extract them so that they can be translated."
+msgid "Source code extractors are used to find translatable strings in the source code files and extract them so that they can be translated."
msgstr ""
msgid "New"
@@ -990,26 +1249,32 @@ msgstr "Novea"
msgid "Edit"
msgstr "Candjî"
+msgid "Delete extractor"
+msgstr ""
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr ""
+
msgid "Extractors"
msgstr ""
+msgid "Accounts"
+msgstr ""
+
msgid "Automatically check for updates"
msgstr ""
msgid "Include beta versions"
msgstr ""
-msgid ""
-"Beta versions contain the latest new features and improvements, but may be a "
-"bit less stable."
+msgid "Beta versions contain the latest new features and improvements, but may be a bit less stable."
msgstr ""
msgid "Updates"
msgstr ""
-msgid ""
-"These settings affect internal formatting of PO files. Adjust them if you "
-"have specific requirements e.g. because of version control."
+msgid "These settings affect internal formatting of PO files. Adjust them if you have specific requirements e.g. because of version control."
msgstr ""
msgid "Line endings:"
@@ -1031,72 +1296,63 @@ msgstr ""
msgid "Advanced"
msgstr ""
-msgid "Additional keywords"
+msgid "Add Files..."
msgstr ""
-msgid "Paths"
-msgstr "Tchimins"
-
-msgid "Excluded paths"
+msgid "Add files..."
msgstr ""
-msgid "Name of the project the translation is for"
+msgid "Add Folders..."
msgstr ""
-msgid "e.g. nplurals=2; plural=(n > 1);"
+msgid "Add folders..."
msgstr ""
-msgid "UTF-8 (recommended)"
+msgid "Add Wildcard..."
msgstr ""
-msgid "Please save the file first. This section cannot be edited until then."
+msgid "Add wildcard..."
msgstr ""
-msgid "OK"
-msgstr "'l est bon"
-
-msgid "C&lear"
+msgid "<big>Drag and Drop Folders Here</big>\n\nor use the + button"
msgstr ""
-msgid "Clear the comment"
-msgstr "Netyî l' rawete"
-
-msgid "Find..."
-msgstr "Trover..."
-
-msgid "String to find:"
-msgstr "Tchinne a trover:"
-
-msgid "Case sensitive"
-msgstr "Diferince po ptitès et grandès letes"
-
-msgid "Start from the first item"
+msgid "<big>Drag and drop folders here</big>\n\nor use the + button"
msgstr ""
-msgid "Whole words only"
+msgid "Additional keywords"
msgstr ""
-msgid "Find in original strings"
-msgstr "Trover ezès tchinnes d' oridjinne"
+msgid "Paths"
+msgstr "Tchimins"
-msgid "Find in translations"
-msgstr "Trover ezès ratournaedjes"
+msgid "Excluded paths"
+msgstr ""
-msgid "Find in comments"
+msgid "Name of the project the translation is for"
msgstr ""
-msgid "Find in automatic comments"
+msgid "e.g. nplurals=2; plural=(n > 1);"
msgstr ""
-msgid "Close"
+msgid "UTF-8 (recommended)"
msgstr ""
-msgid "< &Previous"
+msgid "Please save the file first. This section cannot be edited until then."
msgstr ""
-msgid "&Next >"
+msgid "Comment:"
+msgstr "Rawete:"
+
+msgid "OK"
+msgstr "'l est bon"
+
+msgid "C&lear"
msgstr ""
+msgid "Clear the comment"
+msgstr "Netyî l' rawete"
+
msgid "Create new translations project"
msgstr "Askepyî on novea pordjet d' ratournaedje"
@@ -1133,9 +1389,6 @@ msgstr "&Clôre"
msgid "E&xit"
msgstr ""
-msgid "Quit"
-msgstr ""
-
msgid "&New..."
msgstr ""
@@ -1145,12 +1398,24 @@ msgstr ""
msgid "New From &POT/PO File..."
msgstr ""
+msgid "New WordPress translation..."
+msgstr ""
+
+msgid "New WordPress Translation..."
+msgstr ""
+
msgid "&Open..."
msgstr ""
msgid "Open Recent"
msgstr ""
+msgid "Open from Crowdin..."
+msgstr ""
+
+msgid "Open From Crowdin..."
+msgstr ""
+
msgid "&Save"
msgstr "&Schaper"
@@ -1169,6 +1434,9 @@ msgstr ""
msgid "Check for updates..."
msgstr ""
+msgid "&License..."
+msgstr ""
+
msgid "Catalogs &manager"
msgstr "&Manaedjeu di catalogues"
@@ -1199,13 +1467,16 @@ msgstr ""
msgid "&Find..."
msgstr "&Trover..."
+msgid "Replace..."
+msgstr ""
+
msgid "Find next"
msgstr ""
msgid "Find previous"
msgstr ""
-msgid "Find"
+msgid "Find and Replace..."
msgstr ""
msgid "Find Next"
@@ -1247,6 +1518,12 @@ msgstr ""
msgid "&Group By Context"
msgstr ""
+msgid "Entries with errors first"
+msgstr ""
+
+msgid "Entries with Errors First"
+msgstr ""
+
msgid "&Untranslated entries first"
msgstr ""
@@ -1256,6 +1533,9 @@ msgstr ""
msgid "Show sidebar"
msgstr ""
+msgid "Show status bar"
+msgstr ""
+
msgid "C&atalog"
msgstr ""
@@ -1271,6 +1551,9 @@ msgstr "Mete a djoû a pårti d' on fitchî &POT..."
msgid "Update from &POT File..."
msgstr ""
+msgid "Sync with Crowdin"
+msgstr ""
+
msgid "Fill missing translations from &TM..."
msgstr ""
@@ -1289,6 +1572,9 @@ msgstr ""
msgid "&Validate Translations"
msgstr ""
+msgid "&Statistics"
+msgstr ""
+
msgid "&Properties..."
msgstr ""
@@ -1334,6 +1620,12 @@ msgstr ""
msgid "&GNU gettext Manual"
msgstr ""
+msgid "Email &support..."
+msgstr ""
+
+msgid "Email &Support..."
+msgstr ""
+
msgid "&About Poedit"
msgstr ""
@@ -1352,48 +1644,35 @@ msgstr "Invocåcion:"
msgid "Command to extract translations:"
msgstr ""
-msgid ""
-"This is the command used to launch the extractor.\n"
-"%o expands to the name of output file, %K to list\n"
-"of keywords, %F to list of input files,\n"
-"%C to charset flag (see below)."
+msgid "This is the command used to launch the extractor.\n%o expands to the name of output file, %K to list\nof keywords, %F to list of input files,\n%C to charset flag (see below)."
msgstr ""
msgid "An item in keywords list:"
msgstr "On cayet dins l' djivêye di mots clés:"
-msgid ""
-"This will be attached to the command line once\n"
-"for each keyword. %k expands to the keyword."
-msgstr ""
-"Çouci srè aclapé al comande on côp po tchaeke\n"
-"mot clé. %k serè replaecî avou l' mot clé."
+msgid "This will be attached to the command line once\nfor each keyword. %k expands to the keyword."
+msgstr "Çouci srè aclapé al comande on côp po tchaeke\nmot clé. %k serè replaecî avou l' mot clé."
msgid "An item in input files list:"
msgstr "On cayet dins l' djivêye di fitchîs d' intrêye:"
#, c-format
-msgid ""
-"This will be attached to the command line once\n"
-"for each input file. %f expands to the filename."
-msgstr ""
-"Çouci srè aclapé al comande on côp po tchaeke\n"
-"fitchî d' intrêye. %f serè replaecî avou l' no do fitchî."
+msgid "This will be attached to the command line once\nfor each input file. %f expands to the filename."
+msgstr "Çouci srè aclapé al comande on côp po tchaeke\nfitchî d' intrêye. %f serè replaecî avou l' no do fitchî."
msgid "Source code charset:"
msgstr "Ecôdaedje do côde sourdant:"
#, c-format
-msgid ""
-"This will be attached to the command line\n"
-"only if source codecharset was given. %c expands to charset value."
-msgstr ""
-"Çouci srè aclapé al comande seulmint si l' ecôdaedje do côde\n"
-"sourdant a stî dné. %c serè replaecî avou l' valixhance di l' ecôdaedje."
+msgid "This will be attached to the command line\nonly if source codecharset was given. %c expands to charset value."
+msgstr "Çouci srè aclapé al comande seulmint si l' ecôdaedje do côde\nsourdant a stî dné. %c serè replaecî avou l' valixhance di l' ecôdaedje."
msgid "Catalog properties"
msgstr ""
+msgid "Project name and version:"
+msgstr "No eyet modêye do pordjet:"
+
msgid "Plural Forms:"
msgstr ""
@@ -1406,6 +1685,15 @@ msgstr ""
msgid "Learn about plural forms"
msgstr ""
+msgid "Charset:"
+msgstr "Ecôdaedje:"
+
+msgid "Team:"
+msgstr "Ekipe:"
+
+msgid "Team's email address:"
+msgstr "Adresse emile di l' ekipe:"
+
msgid "Translation properties"
msgstr ""
@@ -1418,9 +1706,7 @@ msgstr "Tchimin d' båze:"
msgid "Sources paths"
msgstr ""
-msgid ""
-"Use these keywords (function names) to recognize translatable strings\n"
-"in source files:"
+msgid "Use these keywords (function names) to recognize translatable strings\nin source files:"
msgstr ""
msgid "Learn about gettext keywords"
@@ -1432,23 +1718,14 @@ msgstr ""
msgid "Update summary"
msgstr "Mete a djoû l' rascourti"
-msgid ""
-"These strings were found in the sources but were not in the catalog.\n"
-"Poedit will add them to the catalog now."
-msgstr ""
-"Ces tchinnes ci ont stî trovêyes dins l' côde sourdant mins n' estént nén co "
-"e catalogue.\n"
-"Poedit elzès radjoutrè e catalogue do côp."
+msgid "These strings were found in the sources but were not in the catalog.\nPoedit will add them to the catalog now."
+msgstr "Ces tchinnes ci ont stî trovêyes dins l' côde sourdant mins n' estént nén co e catalogue.\nPoedit elzès radjoutrè e catalogue do côp."
msgid "New strings"
msgstr "Novelès tchinnes"
-msgid ""
-"These strings are no longer in the sources.\n"
-"Poedit will remove them from the catalog now."
-msgstr ""
-"Ces tchinnes la èn sont pus dins l' côde sourdant.\n"
-"Poedit elzès oistêyrè do catalogue do côp."
+msgid "These strings are no longer in the sources.\nPoedit will remove them from the catalog now."
+msgstr "Ces tchinnes la èn sont pus dins l' côde sourdant.\nPoedit elzès oistêyrè do catalogue do côp."
msgid "Obsolete strings"
msgstr "Tchinnes obsoletes"
@@ -1468,6 +1745,12 @@ msgstr ""
msgid "Check for errors in the translation"
msgstr ""
+msgid "Statistics"
+msgstr ""
+
+msgid "Show translation statistics"
+msgstr ""
+
msgid "Update"
msgstr ""
@@ -1477,16 +1760,20 @@ msgstr "Mete a djoû l' catalogue - sincronijhî avou l' côde sourdant"
msgid "Toggled if selected string has fuzzy translation"
msgstr "Metou si l' tchinne di tchoezeye a-st on ratournaedje «fuzzy»"
-msgid "Show or hide the sidebar."
+msgid "Sidebar"
+msgstr ""
+
+msgid "Show or hide the sidebar"
msgstr ""
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
msgid "Previous source text:"
msgstr ""
-msgid ""
-"The old source text (before it changed during an update) that the fuzzy "
-"translation corresponds to."
+msgid "The old source text (before it changed during an update) that the fuzzy translation corresponds to."
+msgstr ""
+
+msgid "Notes for translators:"
msgstr ""
msgid "Add comment"
@@ -1495,6 +1782,18 @@ msgstr ""
msgid "Add Comment"
msgstr ""
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(from your TM)"
+msgstr ""
+
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(machine translation)"
+msgstr ""
+
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(human translation)"
+msgstr ""
+
msgid "Translation suggestions:"
msgstr ""
@@ -1509,6 +1808,84 @@ msgstr ""
msgid "This string was found in Poedit’s translation memory."
msgstr ""
+msgid "This suggestion was contributed by another translator to the online TM."
+msgstr ""
+
+msgid "This suggestion was machine-translated online."
+msgstr ""
+
+#, c-format
+msgid "%d out of %d online suggestion left."
+msgid_plural "%d out of %d online suggestions left."
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Remove this limitation"
+msgstr ""
+
+msgid "Not showing additional online suggestions."
+msgstr ""
+
+msgid "Unlock online suggestions"
+msgstr ""
+
+msgid "Exceeded online TM daily limit."
+msgstr ""
+
+msgid "Connect to the Internet to get additional suggestions."
+msgstr ""
+
+#. TRANSLATORS: Label indicating that translations made in the current file are contributed to the online translation memory. Related to the "Contribute my translations to the online TM" string.
+msgid "Contributing"
+msgstr ""
+
+msgid "Your translations are contributed to the online translation memory as you make them. Thanks for making the suggestions better!"
+msgstr ""
+
+#. TRANSLATORS: Label indicating that the current file
+msgid "Private"
+msgstr ""
+
+msgid "Translations from this file are not shared with the online translation memory."
+msgstr ""
+
+msgid "Privacy settings"
+msgstr ""
+
+#, c-format
+msgid "While editing the file “%s”:"
+msgstr ""
+
+msgid "Items"
+msgstr ""
+
+msgid "Words"
+msgstr ""
+
+msgid "Translated"
+msgstr ""
+
+msgid "Needs review (fuzzy)"
+msgstr ""
+
+msgid "Translations with errors"
+msgstr ""
+
+msgid "Source Text"
+msgstr ""
+
+msgid "Strings in source language"
+msgstr ""
+
+msgid "Not translated"
+msgstr ""
+
+msgid "Copy to clipboard"
+msgstr ""
+
+msgid "Copy to Clipboard"
+msgstr ""
+
#, c-format
msgid "(New: %i, obsolete: %i)"
msgstr ""
@@ -1530,9 +1907,7 @@ msgstr ""
msgid "Poedit needs to convert your translation memory to a new format."
msgstr ""
-msgid ""
-"This must be done before Poedit can start. It may take a few minutes if you "
-"have lots of translations stored, but should normally be much faster."
+msgid "This must be done before Poedit can start. It may take a few minutes if you have lots of translations stored, but should normally be much faster."
msgstr ""
msgid "Proceed"
@@ -1542,42 +1917,53 @@ msgid "Translation memory migration failed."
msgstr ""
#, c-format
-msgid ""
-"Your translation memory data couldn't be migrated. The error was:\n"
-"\n"
-"%s\n"
-"Please email help at poedit.net and we’ll get it fixed."
+msgid "Your translation memory data couldn't be migrated. The error was:\n\n%s\nPlease email help at poedit.net and we’ll get it fixed."
msgstr ""
msgid "Cannot create temporary directory."
msgstr ""
+msgid "Check theme or plugin compatibility"
+msgstr ""
+
msgid "Welcome to Poedit"
msgstr ""
+msgid "Upgrade to Pro"
+msgstr ""
+
+msgid "Upgrade to Poedit Pro to get additional features and support Poedit's development."
+msgstr ""
+
msgid "Edit a translation"
msgstr ""
msgid "Open an existing PO file and edit the translation."
msgstr ""
-msgid "Create new translation"
+msgid "Take an existing PO file or POT template and create a new translation from it."
msgstr ""
-msgid ""
-"Take an existing PO file or POT template and create a new translation from "
-"it."
+msgid "Translate WordPress theme or plugin"
+msgstr ""
+
+#. TRANSLATORS: Please don't use any form of "automatically" in the translation, it would mislead people.
+msgid "Create a new translation. Poedit will set everything up; you can focus on translating."
+msgstr ""
+
+msgid "Collaborate on a translation with Crowdin"
+msgstr ""
+
+msgid "Download a file from Crowdin project, translate and sync your changes back."
+msgstr ""
+
+msgid "What is Crowdin?"
msgstr ""
msgid "There are no translations. That’s unusual."
msgstr ""
-msgid ""
-"Translatable entries aren't added manually in the Gettext system, but are "
-"automatically extracted\n"
-"from source code. This way, they stay up to date and accurate.\n"
-"Translators typically use PO template files (POTs) prepared for them by the "
-"developer."
+msgid "Translatable entries aren't added manually in the Gettext system, but are automatically extracted\nfrom source code. This way, they stay up to date and accurate.\nTranslators typically use PO template files (POTs) prepared for them by the developer."
msgstr ""
msgid "(Learn more about GNU gettext)"
@@ -1592,8 +1978,7 @@ msgstr ""
msgid "Take translatable strings from an existing POT template."
msgstr ""
-msgid ""
-"You can also extract translatable strings directly from the source code:"
+msgid "You can also extract translatable strings directly from the source code:"
msgstr ""
msgid "Extract from sources"
@@ -1601,3 +1986,105 @@ msgstr ""
msgid "Configure source code extraction in Properties."
msgstr ""
+
+#, c-format
+msgid "Failed to read file '%s'."
+msgstr ""
+
+#, c-format
+msgid "Confused by ambiguous values of \"%s\" in %s."
+msgstr ""
+
+#, c-format
+msgid "Couldn't detect POs location for \"%s\"."
+msgstr ""
+
+#, c-format
+msgid "The \"%s\" theme isn't localization-ready."
+msgstr ""
+
+msgid "Confused: multiple main plugin files."
+msgstr ""
+
+#, c-format
+msgid "The \"%s\" plugin isn't localization-ready."
+msgstr ""
+
+#, c-format
+msgid "Couldn't detect translation domain of the \"%s\" plugin."
+msgstr ""
+
+msgid "Found neither WordPress theme nor plugin in the folder."
+msgstr ""
+
+#, c-format
+msgid "Translations folder (%s) doesn't exist."
+msgstr ""
+
+msgid "<big>Drag and drop <b>theme or plugin folder</b> here</big>\n\nor use the “Choose folder” button"
+msgstr ""
+
+msgid "<big>Drag and Drop <b>Theme or Plugin Folder</b> Here</big>\n\nor use the “Choose Folder” button"
+msgstr ""
+
+#, c-format
+msgid "Folder “%s”"
+msgstr ""
+
+msgid "Choose Folder..."
+msgstr ""
+
+msgid "Choose folder..."
+msgstr ""
+
+msgid "Create a new translation"
+msgstr ""
+
+msgid "Choose this if you want to translate the theme or plugin into your language."
+msgstr ""
+
+msgid "Create a POT"
+msgstr ""
+
+msgid "This option is for theme and plugin developers. Poedit will create an empty template (POT) that translations can be based on."
+msgstr ""
+
+msgid "Continue"
+msgstr ""
+
+msgid "Failed to extract WordPress information."
+msgstr ""
+
+msgid "WordPress error"
+msgstr ""
+
+#, c-format
+msgid "Poedit couldn’t understand the content of the folder you selected. This may be a problem with the plugin/theme or it may be Poedit being silly. The error is:\n\n • %s\n\nPlease email help at poedit.net and we’ll sort it out."
+msgstr ""
+
+#. TRANSLATORS: This is a button that sends an email to support when clicked
+msgid "Email support"
+msgstr ""
+
+msgid "View log"
+msgstr ""
+
+#. TRANSLATORS: This is a button that sends an email to support when clicked
+msgid "Email Support"
+msgstr ""
+
+msgid "View Log"
+msgstr ""
+
+msgid "WordPress Errors Log"
+msgstr ""
+
+msgid "Please email this log to help at poedit.net. Thank you!"
+msgstr ""
+
+msgid "Sync"
+msgstr ""
+
+msgid "Synchronize the translation with Crowdin"
+msgstr ""
+
diff --git a/locales/zh_CN.mo b/locales/zh_CN.mo
index 94f5f75..eceb707 100644
Binary files a/locales/zh_CN.mo and b/locales/zh_CN.mo differ
diff --git a/locales/zh_CN.po b/locales/zh_CN.po
index 46b96da..9a40581 100644
--- a/locales/zh_CN.po
+++ b/locales/zh_CN.po
@@ -1,9 +1,9 @@
msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
-"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:33-0400\n"
+"Report-Msgid-Bugs-To: poedit at googlegroups.com\n"
+"POT-Creation-Date: 2015-05-11 08:48+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Chinese Simplified\n"
"Language: zh_CN\n"
@@ -16,6 +16,40 @@ msgstr ""
"X-Crowdin-Language: zh-CN\n"
"X-Crowdin-File: /locales/poedit.pot\n"
+#. TRANSLATORS: This is titlebar of about dialog, "%s" is application name
+#. ("Poedit" here, but please use "%s")
+#, c-format
+msgid "About %s"
+msgstr "关于 %s"
+
+#. TRANSLATORS: This is version information in about dialog, "%s" will be
+#. version number when used
+#, c-format
+msgid "Version %s"
+msgstr "版本 %s"
+
+msgid "Based on the open source version →"
+msgstr "基于开源版本 →"
+
+msgid "Acknowledgements"
+msgstr "致谢"
+
+msgid "Rate on the App Store"
+msgstr "前往 App Store 评分"
+
+msgid "License Agreement"
+msgstr "许可协议"
+
+#, c-format
+msgid "Licensed to %s"
+msgstr "授权给 %s"
+
+msgid "Purchased on the Mac App Store"
+msgstr "前往 Mac App Store 购买"
+
+msgid "Free version (please upgrade!)"
+msgstr "免费版本(请升级!)"
+
msgid "Hide this notification message"
msgstr "隐藏这条消息"
@@ -36,60 +70,54 @@ msgstr "第 %d 行已损坏(文件“%s”中),不是有效的 %s 数据
#, c-format
msgid "Malformed header: '%s'"
-msgstr "错误的头: '%s'"
+msgstr "格式异常的头:“%s”"
-msgid ""
-"Broken catalog file: singular form msgstr used together with msgid_plural"
+msgid "Broken catalog file: singular form msgstr used together with msgid_plural"
msgstr "已损坏的编目文件:和 msgid_plural 一起使用了单数形式的 msgstr"
msgid "Broken catalog file: plural form msgstr used without msgid_plural"
msgstr "已损坏的编目文件:在没有 msgid_plural 的情况下使用了复数形式的 msgstr"
-msgid ""
-"There were errors when loading the catalog. Some data may be missing or "
-"corrupted as the result."
-msgstr "当加载编目时有错误。因此有些数据可能缺少或损坏。"
+msgid "There were errors when loading the catalog. Some data may be missing or corrupted as the result."
+msgstr "加载编目时遇到错误。有些数据可能缺失或损坏。"
#, c-format
msgid "Couldn't load file %s, it is probably corrupted."
msgstr "不能加载文件 %s,它可能已损坏。"
#, c-format
-msgid ""
-"File '%s' is read-only and cannot be saved.\n"
-"Please save it under different name."
-msgstr ""
-"文件 '%s' 为只读,不能保存。\n"
-"请使用不同的名称保存。"
+msgid "File '%s' is read-only and cannot be saved.\nPlease save it under different name."
+msgstr "文件“%s”为只读,不能保存。\n请使用其他名称保存。"
#, c-format
msgid "Couldn't save file %s."
msgstr "不能保存文件 %s。"
-msgid ""
-"There was a problem formatting the file nicely (but it was saved all right)."
+msgid "There was a problem formatting the file nicely (but it was saved all right)."
msgstr "在精确格式化文件时有一个问题(但文件保存正确)。"
#, c-format
-msgid ""
-"The catalog couldn't be saved in '%s' charset as specified in catalog "
-"settings.\n"
-"\n"
-"It was saved in UTF-8 instead and the setting was modified accordingly."
-msgstr ""
-"不能按编目设置中所指定的将编目保存为 '%s' 字符集。\n"
-"将保存为 UTF-8 字符集,\n"
-"设置也会相应地被修改。"
+msgid "The catalog couldn't be saved in '%s' charset as specified in catalog settings.\n\nIt was saved in UTF-8 instead and the setting was modified accordingly."
+msgstr "不能按编目设置中所指定的将编目保存为 '%s' 字符集。\n将保存为 UTF-8 字符集,\n设置也会相应地被修改。"
msgid "Error saving catalog"
msgstr "保存编目时出错"
+msgid "PO Translation Files"
+msgstr "PO 翻译文件"
+
+msgid "POT Translation Templates"
+msgstr "POT 翻译模板"
+
+msgid "All Translation Files"
+msgstr "所有翻译文件"
+
msgid "Merging differences..."
msgstr "合并差异..."
#, c-format
msgid "'%s' is not a valid POT file."
-msgstr "'%s' 不是有效的 POT 文件。"
+msgstr "“%s”不是一个有效的 POT 文件。"
msgid "(Use default language)"
msgstr "(使用默认语言)"
@@ -103,6 +131,81 @@ msgstr "语言选择"
msgid "You must restart Poedit for this change to take effect."
msgstr "您必须重新启动 Poedit 才能使这个更改生效。"
+msgid "Downloading translations is disabled in this project."
+msgstr "此项目禁用了下载翻译。"
+
+msgid "Not authorized, please sign in again."
+msgstr "未授权,请尝试重新登录。"
+
+msgid "Sign in to Crowdin"
+msgstr "登录到 Crowdin"
+
+msgid "Crowdin is an online localization management platform and collaborative translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr "Crowdin 是一个在线的本地化管理平台和协作翻译工具。Poedit 可以无缝同步在 Crowdin 上管理的 PO 文件。"
+
+msgid "Sign In"
+msgstr "登录"
+
+msgid "Sign in"
+msgstr "登录"
+
+msgid "Sign Out"
+msgstr "登出"
+
+msgid "Sign out"
+msgstr "登出"
+
+msgid "Waiting for authentication…"
+msgstr "正在等待身份验证…"
+
+msgid "Updating user information…"
+msgstr "正在更新用户信息…"
+
+msgid "Signed in as:"
+msgstr "已登录为:"
+
+msgid "Learn More About Crowdin"
+msgstr "了解更多有关 Crowdin"
+
+msgid "Learn more about Crowdin"
+msgstr "了解更多有关 Crowdin"
+
+msgid "Open Crowdin translation"
+msgstr "打开 Crowdin 翻译"
+
+msgid "Project:"
+msgstr "项目:"
+
+msgid "Language:"
+msgstr "语言:"
+
+msgid "File:"
+msgstr "文件:"
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr "您的 Crowdin 账户中没有列出翻译项目。"
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr "此项目没有可以在 Poedit 中翻译的文件。"
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr "只能在 Crowdin 的网页界面中编辑此文件。"
+
+msgid "Downloading latest translations…"
+msgstr "正在下载最新的翻译…"
+
+msgid "Syncing with Crowdin"
+msgstr "正在与 Crowdin 同步"
+
+msgid "Syncing with Crowdin failed."
+msgstr "与 Crowdin 同步失败。"
+
+msgid "Crowdin error"
+msgstr "Crowdin 错误"
+
+msgid "Uploading translations…"
+msgstr "正在上传翻译…"
+
msgid "&Copy"
msgstr "复制(&C)"
@@ -125,28 +228,48 @@ msgstr "正在扫描文件..."
#. TRANSLATORS: '%s' is replaced with the kind of the files (e.g. C++, PHP, ...)
#, c-format
msgid "Parsing %s files..."
-msgstr "正在分析 %s 文件..."
+msgstr "正在解析 %s 文件..."
msgid "Failed to load extracted catalog."
msgstr "加载已提取的编目失败。"
+#, c-format
+msgid "Failed to extract WordPress metadata from file %s."
+msgstr "从 %s 文件提取 WordPress 元数据失败。"
+
msgid "&Help"
msgstr "帮助(&H)"
+msgid "Beta expired"
+msgstr "测试版已到期"
+
+msgid "This beta version of Poedit expired."
+msgstr "这个测试版的 Poedit 已过期。"
+
+msgid "Please download a newer version from the Poedit website at http://poedit.net/download"
+msgstr "请从 Poedit 网站 http://poedit.net/download 下载一个新版本"
+
+msgid "Download"
+msgstr "下载"
+
+msgid "Quit"
+msgstr "退出"
+
msgid "MO files can’t be directly edited in Poedit."
msgstr "MO 文件不能直接在 Poedit 中编辑。"
msgid "Error opening file"
msgstr "打开文件时出错"
-msgid ""
-"Please open and edit the corresponding PO file instead. When you save it, "
-"the MO file will be updated as well."
+msgid "Please open and edit the corresponding PO file instead. When you save it, the MO file will be updated as well."
msgstr "请打开并编辑对应的 PO 文件。当你保存它时,MO 文件也将被更新。"
msgid "don't delete temporary files (for debugging)"
msgstr "不删除临时文件(供调试使用)"
+msgid "handle a poedit:// URI"
+msgstr "处理 poedit:// URI"
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr "发生了不能处理的异常:%s"
@@ -157,27 +280,9 @@ msgstr "发生了不能处理的异常。"
msgid "Open catalog"
msgstr "打开编目"
-msgid "All Files"
-msgstr "所有文件"
-
-msgid "PO Translation Files"
-msgstr "PO 翻译文件"
-
#, c-format
msgid "File '%s' doesn't exist."
-msgstr "文件 '%s' 不存在。"
-
-#. TRANSLATORS: This is titlebar of about dialog, "%s" is application name
-#. ("Poedit" here, but please use "%s")
-#, c-format
-msgid "About %s"
-msgstr "关于 %s"
-
-#. TRANSLATORS: This is version information in about dialog, "%s" will be
-#. version number when used
-#, c-format
-msgid "Version %s"
-msgstr "版本 %s"
+msgstr "文件“%s”不存在。"
msgid "Poedit is an easy to use translations editor."
msgstr "Poedit 是一个易于使用的翻译编辑器。"
@@ -185,6 +290,9 @@ msgstr "Poedit 是一个易于使用的翻译编辑器。"
msgid "Catalogs Manager"
msgstr "编目管理器"
+msgid "License..."
+msgstr "许可..."
+
msgid "Check for Updates..."
msgstr "检查更新..."
@@ -266,6 +374,15 @@ msgstr "停止朗读"
msgid "&View"
msgstr "查看(&V)"
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
+msgid "Show Toolbar"
+msgstr "显示工具栏"
+
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
+msgid "Customize Toolbar…"
+msgstr "自定义工具栏…"
+
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
msgid "Enter Full Screen"
msgstr "进入全屏模式"
@@ -281,17 +398,27 @@ msgstr "缩放"
msgid "Bring All to Front"
msgstr "全部带到最前方"
+#. TRANSLATORS:File kind displayed in Finder/Explorer
msgid "PO Translation"
msgstr "PO 翻译"
+msgid "Invalid license data."
+msgstr "无效的许可证数据。"
+
+msgid "Poedit"
+msgstr "Poedit"
+
+#, c-format
+msgid "The link doesn't contain valid Poedit license. Try entering it manually or contact support at help at poedit.net.\n\n(%s)"
+msgstr "该链接没有包含有效的 Poedit 许可证。 请尝试手动输入或者通过 help at poedit.net 联系我们。\n\n(%s)"
+
msgid "The file cannot be opened."
msgstr "该文件无法打开。"
msgid "Invalid file"
msgstr "无效文件"
-msgid ""
-"The file may be either corrupted or in a format not recognized by Poedit."
+msgid "The file may be either corrupted or in a format not recognized by Poedit."
msgstr "该文件可能已损坏或不是 Poedit 所能识别的格式。"
msgid "&Undo"
@@ -367,10 +494,7 @@ msgstr "您不能在 Poedit 窗口上放下一个以上的文件。"
#, c-format
msgid "File '%s' is not a message catalog."
-msgstr "文件 '%s' 不是消息编目。"
-
-msgid "Poedit"
-msgstr "Poedit"
+msgstr "文件“%s”不是一个消息编目。"
msgid "&File"
msgstr "文件(&F)"
@@ -390,12 +514,20 @@ msgstr "复数:"
msgid "Translation:"
msgstr "翻译:"
+msgid "POT files are only templates and don’t contain any translations themselves.\nTo make a translation, create a new PO file based on the template."
+msgstr "POT 文件只是模板,不包含任何翻译内容。\n若要制作一个翻译,请基于模板创建一个新的 PO 文件。"
+
+msgid "Create New Translation"
+msgstr "创建新的翻译"
+
+msgid "Create new translation"
+msgstr "创建新的翻译"
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
#, c-format
-msgid ""
-"Spellchecking is disabled, because the dictionary for %s isn’t installed."
+msgid "Spellchecking is disabled, because the dictionary for %s isn’t installed."
msgstr "拼写检查被禁用,因为 %s 的字典没有安装。"
msgid "Install"
@@ -437,8 +569,30 @@ msgstr "HTML 文件"
msgid "Open catalog template"
msgstr "打开编目模板"
-msgid "POT Translation Templates"
-msgstr "POT 翻译模板"
+msgid "WordPress"
+msgstr "WordPress"
+
+msgid "Analyzing WordPress code..."
+msgstr "正在分析 WordPress 代码..."
+
+msgid "Select the folder with the WordPress theme or plugin"
+msgstr "选择 WordPress 的主题或插件的目录"
+
+#. TRANSLATORS: %s is name of a WordPress theme
+#, c-format
+msgid "The “%s” theme is compatible."
+msgstr "主题“%s”是兼容的。"
+
+#. TRANSLATORS: %s is name of a WordPress plugin
+#, c-format
+msgid "The “%s” plugin is compatible."
+msgstr "插件“%s”是兼容的。"
+
+msgid "The theme is translation-ready and compatible with Poedit’s WordPress support."
+msgstr "该插件翻译完备并且兼容 Poedit 的 WordPress 支持。"
+
+msgid "The plugin is translation-ready and compatible with Poedit’s WordPress support."
+msgstr "该插件翻译完备并且兼容 Poedit 的 WordPress 支持。"
msgid "Updating catalog"
msgstr "更新编目"
@@ -449,9 +603,7 @@ msgstr "源代码不可用。"
msgid "Updating failed"
msgstr "更新失败"
-msgid ""
-"Translations couldn’t be updated from the source code, because no code was "
-"found in the location specified in the catalog’s Properties."
+msgid "Translations couldn’t be updated from the source code, because no code was found in the location specified in the catalog’s Properties."
msgstr "不能从源代码更新翻译,因为在目录属性中指定的位置没有发现代码。"
msgid "Entries in the catalog are probably incorrect."
@@ -468,28 +620,19 @@ msgstr[0] "在翻译中发现了 %d 个问题。"
msgid "Validation results"
msgstr "验证结果"
-msgid ""
-"Entries with errors were marked in red in the list. Details of the error "
-"will be shown when you select such an entry."
-msgstr ""
-"有错误的条目在列表中被标记为红色。当您选择这样的条目时将显示错误的详细信息。"
+msgid "Entries with errors were marked in red in the list. Details of the error will be shown when you select such an entry."
+msgstr "有错误的条目在列表中被标记为红色。您选择这样的条目时将显示错误的详细信息。"
msgid "The file was saved safely."
msgstr "文件已被安全地保存。"
-msgid ""
-"The file was saved safely and compiled into the MO format, but it will "
-"probably not work correctly."
+msgid "The file was saved safely and compiled into the MO format, but it will probably not work correctly."
msgstr "文件已安全地保存,并编译成 MO 格式的文件,但它可能不能正常工作。"
-msgid ""
-"The file was saved safely, but it cannot be compiled into the MO format and "
-"used."
+msgid "The file was saved safely, but it cannot be compiled into the MO format and used."
msgstr "文件已安全地保存,但它不能被编译成 MO 格式并使用。"
-msgid ""
-"The file was compiled into the MO format, but it will probably not work "
-"correctly."
+msgid "The file was compiled into the MO format, but it will probably not work correctly."
msgstr "文件被编译成 MO 格式,但它可能不能正确工作。"
msgid "The file cannot be compiled into the MO format and used."
@@ -500,25 +643,40 @@ msgstr "翻译中未发现问题。"
#, c-format
msgid "The translation is ready for use, but %d entry is not translated yet."
-msgid_plural ""
-"The translation is ready for use, but %d entries are not translated yet."
+msgid_plural "The translation is ready for use, but %d entries are not translated yet."
msgstr[0] "翻译已经可以被使用了,但是还有 %d 个条目没有被翻译呢。"
msgid "The translation is ready for use."
msgstr "翻译为使用准备就绪。"
-msgid "No references to this string found."
-msgstr "未找到对这个字串的引用。"
+msgid "Contributing translations improves the quality of online suggestions for everybody — the more people do it, the better the suggestions can be. Your translations are submitted anonymously and are available to other translators using Poedit or other CAT tools."
+msgstr "贡献翻译提高了每个人在线建议的质量 — 更多的人这样做,建议会越来越好。你匿名提交的翻译,对于其他使用 Poedit 或其他 CAT 工具的翻译人员是有用的。"
-msgid "Please choose the reference you want to show:"
-msgstr "请选择您想要显示的引用:"
+msgid "Can Poedit contribute your translations of this file to the online translation memory?"
+msgstr "PoEdit 可以贡献你的这个文件的翻译到在线翻译记忆库吗?"
-msgid "References"
-msgstr "引用"
+msgid "Apply to all files I edit"
+msgstr "应用到所有文件 | 编辑"
+
+msgid "Contribute"
+msgstr "贡献"
+
+msgid "Keep Private"
+msgstr "保持私有"
+
+msgid "Keep private"
+msgstr "保持私有"
msgid "Context:"
msgstr "上下文:"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr "Poedit 自动修复了“%s”文件中的无效内容。"
+
+msgid "The file contained duplicate items, which is not allowed in PO files and would prevent the file from being used. Poedit fixed the issue, but you should review translations of any items marked as fuzzy and correct them if necessary."
+msgstr "该文件中包含重复的项目,这是不允许的,并且影响了该文件被使用。Poedit 修复了该问题,但您应该审阅任何已被标记为“模糊”的翻译和纠正它们(如有必要)。"
+
msgid "Language of the translation isn't set."
msgstr "翻译语言未设置。"
@@ -528,14 +686,23 @@ msgstr "设置语言"
msgid "Set language"
msgstr "选择语言"
-msgid ""
-"This catalog has entries with plural forms, but doesn't have Plural-Forms "
-"header configured."
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid "Suggestions are not available if the translation language is not set correctly. Other features, such as plural forms, may be affected as well."
+msgstr "如果翻译语言设置不正确,建议将不可用。其他特性(例如复数形式)也可能受到影响。"
+
+msgid "Language of the translation is the same as source language."
+msgstr "翻译语言与源语言相同。"
+
+msgid "Fix Language"
+msgstr "修复语言"
+
+msgid "Fix language"
+msgstr "修复语言"
+
+msgid "This catalog has entries with plural forms, but doesn't have Plural-Forms header configured."
msgstr "这个编目有带有复数形式的条目,但没有已配置的 Plural-Forms 头。"
-msgid ""
-"Entries in this catalog have different plural forms count from what "
-"catalog's Plural-Forms header says"
+msgid "Entries in this catalog have different plural forms count from what catalog's Plural-Forms header says"
msgstr "这个编目中的条目的复数形式数量与编目的 Plural-Forms 头所说明的不同"
msgid "Required header Plural-Forms is missing."
@@ -558,6 +725,7 @@ msgstr "修正头"
msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr "该目录中所使用的复数形式对于 %s 是不同寻常的。"
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr "检查"
@@ -578,12 +746,21 @@ msgid "%d error"
msgid_plural "%d errors"
msgstr[0] "%d 错误"
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] "%d 条目"
+
msgid " (unsaved)"
msgstr " (未保存)"
msgid " (modified)"
msgstr " (已修改)"
+#, c-format
+msgid " (beta version expires %s)"
+msgstr "(测试版将于 %s 到期)"
+
msgid "Go"
msgstr "转至"
@@ -597,13 +774,8 @@ msgstr "清除已删除的翻译"
msgid "Do you want to remove all translations that are no longer used?"
msgstr "您确定要移除不再使用的所有翻译吗?"
-msgid ""
-"If you continue with purging, all translations marked as deleted will be "
-"permanently removed. You will have to translate them again if they are added "
-"back in the future."
-msgstr ""
-"如果您继续清除,则所有被标记为已删除的翻译都将被永久移除。如果未来它们被添加"
-"回来,您必须再翻译一遍。"
+msgid "If you continue with purging, all translations marked as deleted will be permanently removed. You will have to translate them again if they are added back in the future."
+msgstr "如果您继续清除,则所有被标记为已删除的翻译都将被永久移除。如果未来它们被添加回来,您必须再翻译一遍。"
msgid "Keep"
msgstr "保持"
@@ -617,21 +789,23 @@ msgstr "从 TM 填补缺少的翻译"
msgid "Only fill in exact matches"
msgstr "仅填补完全匹配的项"
-msgid ""
-"By default, inaccurate results are filled in as well and marked as fuzzy. "
-"Check this option to only include accurate matches."
-msgstr ""
-"默认情况下,不准确的结果被填补并标记为模糊。选中此选项只包括精确匹配的项。"
+msgid "By default, inaccurate results are filled in as well and marked as fuzzy. Check this option to only include accurate matches."
+msgstr "默认情况下,不准确的结果被填补并标记为模糊。选中此选项只包括精确匹配的项。"
msgid "Don’t mark exact matches as fuzzy"
msgstr "不标记完全匹配的项为模糊"
-msgid ""
-"Only enable if you trust the quality of your TM. By default, all matches "
-"from the TM are marked as fuzzy and should be reviewed."
-msgstr ""
-"只有在你信任你 TM 的质量时启用。默认情况下,从 TM 的所有匹配项被标记为模糊,"
-"应加以审查。"
+msgid "Only enable if you trust the quality of your TM. By default, all matches from the TM are marked as fuzzy and should be reviewed."
+msgstr "只有在你信任你 TM 的质量时启用。默认情况下,从 TM 的所有匹配项被标记为模糊,应加以审查。"
+
+msgid "Use online suggestions"
+msgstr "使用在线建议"
+
+msgid "Use online suggestions (experimental)"
+msgstr "使用在线建议(实验性)"
+
+msgid "Try to fetch translations from the online TM as well. Notice that the translations will not be perfect and will still need to be corrected by a human translator."
+msgstr "并尝试从在线 TM 获取翻译。注意,该翻译不会完美,仍然需要人类翻译者予以纠正。"
msgid "Fill"
msgstr "填补"
@@ -641,21 +815,14 @@ msgid "%d entry was filled from the translation memory."
msgid_plural "%d entries were filled from the translation memory."
msgstr[0] "%d 个条目已通过翻译记忆库填充。"
-msgid ""
-"The translations were marked as fuzzy, because they may be inaccurate. You "
-"should review them for correctness."
+msgid "The translations were marked as fuzzy, because they may be inaccurate. You should review them for correctness."
msgstr "这些翻译被标记为模糊的,因为他们可能是不准确。请检查它们的准确性。"
msgid "No entries could be filled from the translation memory."
msgstr "没有条目可以通过翻译记忆库来填补。"
-msgid ""
-"The TM doesn’t contain any strings similar to the content of this file. It "
-"is only effective for semi-automatic translations after Poedit learns enough "
-"from files that you translated manually."
-msgstr ""
-"翻译记忆库中没有包含任何与此文件内容相似的字符串。 Poedit 需要通过你手动翻译"
-"的文件来得到充分的学习,然后才能在半自动翻译中发挥作用。"
+msgid "The TM doesn’t contain any strings similar to the content of this file. It is only effective for semi-automatic translations after Poedit learns enough from files that you translated manually."
+msgstr "翻译记忆库中没有包含任何与此文件内容相似的字符串。 Poedit 需要通过你手动翻译的文件来得到充分的学习,然后才能在半自动翻译中发挥作用。"
msgid "Translating"
msgstr "翻译中"
@@ -669,10 +836,10 @@ msgid_plural "Translated %u strings"
msgstr[0] "已翻译 %u 个字符串"
msgid "Copy from source text"
-msgstr "从源文本中复制"
+msgstr "复制源文本"
msgid "Copy from Source Text"
-msgstr "从源文本中复制"
+msgstr "复制源文本"
msgid "Clear translation"
msgstr "清除翻译"
@@ -696,6 +863,9 @@ msgstr "一切"
msgid "Form %i"
msgstr "表格 %i"
+msgid "Singular"
+msgstr "单数"
+
msgid "Zero"
msgstr "零"
@@ -705,6 +875,9 @@ msgstr "一"
msgid "Two"
msgstr "二"
+msgid "Plural"
+msgstr "复数"
+
msgid "Other"
msgstr "其他"
@@ -733,6 +906,12 @@ msgstr "隐藏侧边栏"
msgid "Show Sidebar"
msgstr "显示侧边栏"
+msgid "Hide Status Bar"
+msgstr "隐藏状态栏"
+
+msgid "Show Status Bar"
+msgstr "显示状态栏"
+
msgid "Source text"
msgstr "源文本"
@@ -742,6 +921,10 @@ msgstr "翻译"
msgid "ID"
msgstr "ID"
+#, c-format
+msgid "Source text — %s"
+msgstr "源文本 — %s"
+
msgid "unknown language"
msgstr "未知语言"
@@ -752,57 +935,73 @@ msgstr "翻译 — %s"
msgid "Error:"
msgstr "错误:"
-msgid "Project info"
-msgstr "项目信息"
+msgid "Source file"
+msgstr "源文件"
-msgid "Project name and version:"
-msgstr "项目名称和版本:"
+msgid "Source file occurrence:"
+msgstr "源文件出现:"
-msgid "Language:"
-msgstr "语言:"
+msgid "Open in Editor"
+msgstr "在编辑器中打开"
-msgid "Team:"
-msgstr "团队:"
+msgid "Open in editor"
+msgstr "在编辑器中打开"
-msgid "Team's email address:"
-msgstr "团队的电子邮件地址:"
+msgid "No references for the selected item."
+msgstr "没有对选定项的引用。"
-msgid "Charset:"
-msgstr "字符集:"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "打开文件 %s 时出错!"
-msgid "Source"
-msgstr "源文"
+msgid "Find"
+msgstr "查找"
-msgid "Notes"
-msgstr "注释"
+msgid "Replace"
+msgstr "替换"
-msgid "Automatic translation"
-msgstr "自动翻译"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr "选项"
-msgid "Fuzzy translation"
-msgstr "模糊翻译"
+msgid "Ignore case"
+msgstr "忽略大小写"
-msgid "Notes for translators:"
-msgstr "给译员的注释:"
+msgid "Wrap around"
+msgstr "全字匹配"
-msgid "Comment:"
-msgstr "注释:"
+msgid "Whole words only"
+msgstr "仅整个单词"
-msgid "Source file"
-msgstr "源文件"
+msgid "Find in source texts"
+msgstr "在源文本中查找"
-msgid "Source file occurrence:"
-msgstr "源文件出现:"
+msgid "Find in translations"
+msgstr "在翻译中查找"
-msgid "Open in Editor"
-msgstr "在编辑器中打开"
+msgid "Find in comments"
+msgstr "在注释中查找"
-msgid "Open in editor"
-msgstr "在编辑器中打开"
+msgid "Close"
+msgstr "关闭"
-#, c-format
-msgid "Error opening file %s!"
-msgstr "打开文件 %s 时出错!"
+msgid "Replace All"
+msgstr "全部替换"
+
+msgid "Replace all"
+msgstr "全部替换"
+
+msgid "< &Previous"
+msgstr "< 上一个(&P)"
+
+msgid "&Next >"
+msgstr "下一个(&N) >"
+
+msgid "String to find"
+msgstr "要查找的字符串"
+
+msgid "Replacement string"
+msgstr "替换字符串"
#, c-format
msgid "Cannot execute program: %s"
@@ -817,6 +1016,55 @@ msgstr "翻译"
msgid "Language of the translation:"
msgstr "要翻译的语言:"
+msgid "Poedit Registration"
+msgstr "Poedit 软件注册"
+
+msgid "Name"
+msgstr "名称"
+
+msgid "License Key"
+msgstr "许可密钥"
+
+msgid "The registration key can be used on multiple computers you use personally or for multiple\naccounts on a single computer."
+msgstr "该注册码可用于您个人使用的多台计算机或一台计算机上的多个帐户。"
+
+msgid "Buy Online..."
+msgstr "在线购买..."
+
+msgid "Buy online..."
+msgstr "在线购买..."
+
+msgid "Cancel"
+msgstr "取消"
+
+msgid "Register"
+msgstr "注册"
+
+msgid "Your copy is upgraded to Poedit Pro."
+msgstr "您的副本升级为 Poedit 专业版。"
+
+msgid "You’re awesome! Thank you so much\nfor purchasing Poedit Pro."
+msgstr "你真棒!感谢你\n购买Poedit专业版。"
+
+msgid "View License Key"
+msgstr "查看许可密钥"
+
+msgid "View license key"
+msgstr "查看许可密钥"
+
+#, c-format
+msgid "Licensed to: %s"
+msgstr "授权给: %s"
+
+msgid "Purchasing the full version will unlock more features\nin this and future versions of Poedit, including:\n\n"
+msgstr "购买完整版将解锁 Poedit 在此版本和\n未来版本中的更多功能,其中包括: \n\n"
+
+msgid "Upgrade..."
+msgstr "升级..."
+
+msgid "No, thanks"
+msgstr "不,谢谢"
+
msgid "Poedit - Catalogs manager"
msgstr "Poedit - 编目管理器"
@@ -853,12 +1101,8 @@ msgstr "您确定要删除项目吗?"
msgid "Confirmation"
msgstr "确认"
-msgid ""
-"Do you really want to do mass update of\n"
-"all catalogs in this project?"
-msgstr ""
-"您确定想要执行这个项目中所有编目的\n"
-"大规模更新吗?"
+msgid "Do you really want to do mass update of\nall catalogs in this project?"
+msgstr "您确定想要执行这个项目中所有编目的\n大规模更新吗?"
msgid "Information about the translator"
msgstr "关于翻译者的信息"
@@ -875,11 +1119,8 @@ msgstr "电子邮件:"
msgid "your_email at example.com"
msgstr "your_email at example.com"
-msgid ""
-"Your name and email address are only used to set the Last-Translator header "
-"of GNU gettext files."
-msgstr ""
-"你的名称和电子邮件地址仅用于设置 GNU gettext 文件的 Last-Translator 信息。"
+msgid "Your name and email address are only used to set the Last-Translator header of GNU gettext files."
+msgstr "你的名称和电子邮件地址仅用于设置 GNU gettext 文件的 Last-Translator 信息。"
msgid "Editing"
msgstr "编辑"
@@ -896,13 +1137,8 @@ msgstr "检查拼写"
msgid "Always change focus to text input field"
msgstr "总是将焦点移动到文本输入字段"
-msgid ""
-"Never let the list of strings take focus. If enabled, you must use Ctrl-"
-"arrows for keyboard navigation but you can also type text immediately, "
-"without having to press Tab to change focus."
-msgstr ""
-"从不让字串列表取得焦点。如果启用,您必须使用 “Ctrl-方向键” 进行键盘导航,但您"
-"也可以立即输入文本,不用按 Tab 改变焦点。"
+msgid "Never let the list of strings take focus. If enabled, you must use Ctrl-arrows for keyboard navigation but you can also type text immediately, without having to press Tab to change focus."
+msgstr "从不让字串列表取得焦点。如果启用,您必须使用 “Ctrl-方向键” 进行键盘导航,但您也可以立即输入文本,不用按 Tab 改变焦点。"
msgid "Appearance"
msgstr "外观"
@@ -924,7 +1160,7 @@ msgid "General"
msgstr "常规"
msgid "Use translation memory"
-msgstr "使用翻译记忆库"
+msgstr "使用翻译记忆"
msgid "Learn From Files..."
msgstr "从文件中学习..."
@@ -939,16 +1175,30 @@ msgstr "重置"
msgid "Consult TM when updating from sources"
msgstr "从源代码更新时查阅翻译记忆库"
-msgid ""
-"If enabled, Poedit will try to fill in new entries using your previous\n"
-"translations stored in the translation memory. If the TM is\n"
-"near-empty, it will not be very effective. The more translations\n"
-"you edit and the larger the TM grows, the better it gets."
-msgstr ""
-"如果启用, Poedit 会尝试使用你以前存储在翻译\n"
-"记忆库中的翻译填补新的条目。如果翻译记忆库\n"
-"几乎是空的,这将不会非常有效。你翻译的越多,\n"
-"翻译记忆库就会成长得越大,自动填补的效果就会越好。"
+msgid "If enabled, Poedit will try to fill in new entries using your previous\ntranslations stored in the translation memory. If the TM is\nnear-empty, it will not be very effective. The more translations\nyou edit and the larger the TM grows, the better it gets."
+msgstr "如果启用,Poedit 会尝试使用你以前存储在翻译\n记忆库中的翻译填补新的条目。如果翻译记忆库\n几乎是空的,这将不会非常有效。你翻译的越多,\n翻译记忆库就会成长得越大,自动填补的效果就会越好。"
+
+msgid "Use suggestions from online collaborative TM"
+msgstr "使用在线协作 TM 提供的建议"
+
+msgid "Poedit uses a large online translation memory that includes both contributed human translations and state-of-the-art machine translations."
+msgstr "Poedit 使用一个大型在线翻译记忆库,其中包括贡献的人工翻译和先进的机器翻译。"
+
+msgid "Contribute my translations to the online TM"
+msgstr "贡献我的翻译到在线 TM"
+
+msgid "Keep my translations private"
+msgstr "保持我的翻译为私有"
+
+msgid "Ask me for each file individually"
+msgstr "向我询问每个文件"
+
+msgid "Terms of Service"
+msgstr "服务条款"
+
+#. TRANSLATORS: This is part of footer that says in full "powered by MyMemory", with the MyMemory part being a logo
+msgid "powered by"
+msgstr "提供支持"
msgid "Stored translations:"
msgstr "存储翻译:"
@@ -974,26 +1224,17 @@ msgstr "重置翻译记忆库"
msgid "Are you sure you want to reset the translation memory?"
msgstr "你确定你要重置翻译记忆库吗?"
-msgid ""
-"Resetting the translation memory will irrevocably delete all stored "
-"translations from it. You can’t undo this operation."
+msgid "Resetting the translation memory will irrevocably delete all stored translations from it. You can’t undo this operation."
msgstr "重置翻译记忆库将无可挽回地删除其中存储的所有翻译。你无法撤消此操作。"
-msgid "Cancel"
-msgstr "取消"
-
#. TRANSLATORS: This is abbreviation of "Translation Memory" used in Preferences on OS X.
#. Long text looks weird there, too short (like TM) too, but less so. "General" is about ideal
#. length there.
msgid "TM"
msgstr "翻译记忆"
-msgid ""
-"Source code extractors are used to find translatable strings in the source "
-"code files and extract them so that they can be translated."
-msgstr ""
-"源代码提取器用于在源代码文件中找到可翻译字符串和提取它们,以便它们可以被翻"
-"译。"
+msgid "Source code extractors are used to find translatable strings in the source code files and extract them so that they can be translated."
+msgstr "源代码提取器用于在源代码文件中找到可翻译字符串和提取它们,以便它们可以被翻译。"
msgid "New"
msgstr "新建"
@@ -1001,29 +1242,33 @@ msgstr "新建"
msgid "Edit"
msgstr "编辑"
+msgid "Delete extractor"
+msgstr "删除提取器"
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr "您确定要删除“%s”提取器吗?"
+
msgid "Extractors"
msgstr "提取器"
+msgid "Accounts"
+msgstr "账号"
+
msgid "Automatically check for updates"
msgstr "自动检查更新"
msgid "Include beta versions"
msgstr "包括测试版本"
-msgid ""
-"Beta versions contain the latest new features and improvements, but may be a "
-"bit less stable."
+msgid "Beta versions contain the latest new features and improvements, but may be a bit less stable."
msgstr "测试版包含最新功能和改进,但可能有点不太稳定。"
msgid "Updates"
msgstr "更新"
-msgid ""
-"These settings affect internal formatting of PO files. Adjust them if you "
-"have specific requirements e.g. because of version control."
-msgstr ""
-"这些设置会影响 PO 文件的内部格式。如果你有特定的要求例如版本控制时,调整它"
-"们。"
+msgid "These settings affect internal formatting of PO files. Adjust them if you have specific requirements e.g. because of version control."
+msgstr "这些设置会影响 PO 文件的内部格式。如果你有特定的要求例如版本控制时,调整它们。"
msgid "Line endings:"
msgstr "行结束符:"
@@ -1044,6 +1289,30 @@ msgstr "保留现有文件的格式"
msgid "Advanced"
msgstr "高级"
+msgid "Add Files..."
+msgstr "添加文件..."
+
+msgid "Add files..."
+msgstr "添加文件..."
+
+msgid "Add Folders..."
+msgstr "添加文件夹..."
+
+msgid "Add folders..."
+msgstr "添加文件夹..."
+
+msgid "Add Wildcard..."
+msgstr "添加通配符..."
+
+msgid "Add wildcard..."
+msgstr "添加通配符..."
+
+msgid "<big>Drag and Drop Folders Here</big>\n\nor use the + button"
+msgstr "<big>拖放文件夹到这里</big>\n\n或者使用 + 按钮"
+
+msgid "<big>Drag and drop folders here</big>\n\nor use the + button"
+msgstr "<big>拖放文件夹到这里</big>\n\n或者使用 + 按钮"
+
msgid "Additional keywords"
msgstr "额外的关键字"
@@ -1063,7 +1332,10 @@ msgid "UTF-8 (recommended)"
msgstr "UTF-8 (推荐)"
msgid "Please save the file first. This section cannot be edited until then."
-msgstr "请先保存文件。 以下内容在此之前不能被编辑。"
+msgstr "请先保存文件。以下内容在此之前不能被编辑。"
+
+msgid "Comment:"
+msgstr "注释:"
msgid "OK"
msgstr "确定"
@@ -1074,42 +1346,6 @@ msgstr "清除(&L)"
msgid "Clear the comment"
msgstr "清除注释"
-msgid "Find..."
-msgstr "查找..."
-
-msgid "String to find:"
-msgstr "要查找的字串:"
-
-msgid "Case sensitive"
-msgstr "区分大小写"
-
-msgid "Start from the first item"
-msgstr "从第一项开始"
-
-msgid "Whole words only"
-msgstr "仅整个单词"
-
-msgid "Find in original strings"
-msgstr "在原始字串中查找"
-
-msgid "Find in translations"
-msgstr "在翻译中查找"
-
-msgid "Find in comments"
-msgstr "在注释中查找"
-
-msgid "Find in automatic comments"
-msgstr "在自动注释中查找"
-
-msgid "Close"
-msgstr "关闭"
-
-msgid "< &Previous"
-msgstr "< 上一个(&P)"
-
-msgid "&Next >"
-msgstr "下一个(&N) >"
-
msgid "Create new translations project"
msgstr "创建新的翻译项目"
@@ -1146,9 +1382,6 @@ msgstr "关闭(&C)"
msgid "E&xit"
msgstr "退出(&X)"
-msgid "Quit"
-msgstr "退出"
-
msgid "&New..."
msgstr "新建(&N)..."
@@ -1158,12 +1391,24 @@ msgstr "从 POT/PO 文件新建(&P)..."
msgid "New From &POT/PO File..."
msgstr "从 POT/PO 文件新建(&P)..."
+msgid "New WordPress translation..."
+msgstr "新建 WordPress 翻译..."
+
+msgid "New WordPress Translation..."
+msgstr "新建 WordPress 翻译..."
+
msgid "&Open..."
msgstr "打开(&O)..."
msgid "Open Recent"
msgstr "打开最近的"
+msgid "Open from Crowdin..."
+msgstr "从 Crowdin 打开..."
+
+msgid "Open From Crowdin..."
+msgstr "从 Crowdin 打开..."
+
msgid "&Save"
msgstr "保存(&S)"
@@ -1182,6 +1427,9 @@ msgstr "导出为HTML格式...(&x)"
msgid "Check for updates..."
msgstr "检查更新..."
+msgid "&License..."
+msgstr "许可(&L)..."
+
msgid "Catalogs &manager"
msgstr "编目管理器(&M)"
@@ -1212,14 +1460,17 @@ msgstr "显示引用(&S)"
msgid "&Find..."
msgstr "查找(&F)..."
+msgid "Replace..."
+msgstr "替换..."
+
msgid "Find next"
msgstr "查找下一个"
msgid "Find previous"
msgstr "查找上一个"
-msgid "Find"
-msgstr "查找"
+msgid "Find and Replace..."
+msgstr "查找和替换..."
msgid "Find Next"
msgstr "查找下一个"
@@ -1260,6 +1511,12 @@ msgstr "按上下文分组(&G)"
msgid "&Group By Context"
msgstr "按上下文分组(&G)"
+msgid "Entries with errors first"
+msgstr "带有错误的条目优先"
+
+msgid "Entries with Errors First"
+msgstr "带有错误的条目优先"
+
msgid "&Untranslated entries first"
msgstr "未翻译条目优先(&U)"
@@ -1269,6 +1526,9 @@ msgstr "未翻译条目优先(&U)"
msgid "Show sidebar"
msgstr "显示侧边栏"
+msgid "Show status bar"
+msgstr "显示状态栏"
+
msgid "C&atalog"
msgstr "编目(&A)"
@@ -1284,6 +1544,9 @@ msgstr "从 POT 文件更新(&P)..."
msgid "Update from &POT File..."
msgstr "从 POT 文件更新(&P)..."
+msgid "Sync with Crowdin"
+msgstr "与 Crowdin 同步"
+
msgid "Fill missing translations from &TM..."
msgstr "从 TM 填补缺少的翻译...(&T)"
@@ -1302,6 +1565,9 @@ msgstr "验证翻译(&V)"
msgid "&Validate Translations"
msgstr "验证翻译(&V)"
+msgid "&Statistics"
+msgstr "统计(&S)..."
+
msgid "&Properties..."
msgstr "属性(&P)..."
@@ -1347,6 +1613,12 @@ msgstr "GNU gettext 手册(&G)"
msgid "&GNU gettext Manual"
msgstr "GNU gettext 手册(&G)"
+msgid "Email &support..."
+msgstr "邮件支持(&S)..."
+
+msgid "Email &Support..."
+msgstr "邮件支持(&S)..."
+
msgid "&About Poedit"
msgstr "关于 Poedit (&A)"
@@ -1365,53 +1637,35 @@ msgstr "调用:"
msgid "Command to extract translations:"
msgstr "提取翻译的命令:"
-msgid ""
-"This is the command used to launch the extractor.\n"
-"%o expands to the name of output file, %K to list\n"
-"of keywords, %F to list of input files,\n"
-"%C to charset flag (see below)."
-msgstr ""
-"这是用来启动提取器的命令。\n"
-"%o 提取到输出文件的名称,%K \n"
-"关键字的列表,%F \n"
-"输入文件的列表,%C \n"
-"字符集标记(见下面)。"
+msgid "This is the command used to launch the extractor.\n%o expands to the name of output file, %K to list\nof keywords, %F to list of input files,\n%C to charset flag (see below)."
+msgstr "这是用来启动提取器的命令。\n%o 提取到输出文件的名称,%K \n关键字的列表,%F \n输入文件的列表,%C \n字符集标记(见下面)。"
msgid "An item in keywords list:"
msgstr "在关键字列表中的项:"
-msgid ""
-"This will be attached to the command line once\n"
-"for each keyword. %k expands to the keyword."
-msgstr ""
-"对于每个关键字,这将被附加到命令行一次。\n"
-"%k 展开成关键字。"
+msgid "This will be attached to the command line once\nfor each keyword. %k expands to the keyword."
+msgstr "对于每个关键字,这将被附加到命令行一次。\n%k 展开成关键字。"
msgid "An item in input files list:"
msgstr "在输入文件列表中的项:"
#, c-format
-msgid ""
-"This will be attached to the command line once\n"
-"for each input file. %f expands to the filename."
-msgstr ""
-"对于每个输入文件,这将被附加到命令行一次。\n"
-"%f 展开成文件名。"
+msgid "This will be attached to the command line once\nfor each input file. %f expands to the filename."
+msgstr "对于每个输入文件,这将被附加到命令行一次。\n%f 展开成文件名。"
msgid "Source code charset:"
msgstr "源代码字符集:"
#, c-format
-msgid ""
-"This will be attached to the command line\n"
-"only if source codecharset was given. %c expands to charset value."
-msgstr ""
-"仅在指定了源代码字符集时,这才被附加到命令行。\n"
-"%c 展开成字符集值。"
+msgid "This will be attached to the command line\nonly if source codecharset was given. %c expands to charset value."
+msgstr "仅在指定了源代码字符集时,这才被附加到命令行。\n%c 展开成字符集值。"
msgid "Catalog properties"
msgstr "编目属性"
+msgid "Project name and version:"
+msgstr "项目名称和版本:"
+
msgid "Plural Forms:"
msgstr "复数形式:"
@@ -1422,7 +1676,16 @@ msgid "Use custom expression"
msgstr "使用自定义表达式"
msgid "Learn about plural forms"
-msgstr "学习复数形式"
+msgstr "了解复数形式"
+
+msgid "Charset:"
+msgstr "字符集:"
+
+msgid "Team:"
+msgstr "团队:"
+
+msgid "Team's email address:"
+msgstr "团队的电子邮件地址:"
msgid "Translation properties"
msgstr "翻译属性"
@@ -1436,9 +1699,7 @@ msgstr "基础路径:"
msgid "Sources paths"
msgstr "源路径"
-msgid ""
-"Use these keywords (function names) to recognize translatable strings\n"
-"in source files:"
+msgid "Use these keywords (function names) to recognize translatable strings\nin source files:"
msgstr "使用这些关键字(函数名)来识别源文件中的可翻译字串:"
msgid "Learn about gettext keywords"
@@ -1450,22 +1711,14 @@ msgstr "源关键字"
msgid "Update summary"
msgstr "更新摘要"
-msgid ""
-"These strings were found in the sources but were not in the catalog.\n"
-"Poedit will add them to the catalog now."
-msgstr ""
-"在源文中找到这些字串,但编目中没有。\n"
-"Poedit 现在将把这些字串添加到编目。"
+msgid "These strings were found in the sources but were not in the catalog.\nPoedit will add them to the catalog now."
+msgstr "在源文中找到这些字串,但编目中没有。\nPoedit 现在将把这些字串添加到编目。"
msgid "New strings"
msgstr "新建字串"
-msgid ""
-"These strings are no longer in the sources.\n"
-"Poedit will remove them from the catalog now."
-msgstr ""
-"源文件中不再有这些字串。\n"
-"Poedit 现在将从编目中移除这些字串。"
+msgid "These strings are no longer in the sources.\nPoedit will remove them from the catalog now."
+msgstr "源文件中不再有这些字串。\nPoedit 现在将从编目中移除这些字串。"
msgid "Obsolete strings"
msgstr "已废弃的字串"
@@ -1485,6 +1738,12 @@ msgstr "验证"
msgid "Check for errors in the translation"
msgstr "检查翻译中的错误"
+msgid "Statistics"
+msgstr "统计"
+
+msgid "Show translation statistics"
+msgstr "显示翻译统计信息"
+
msgid "Update"
msgstr "更新"
@@ -1494,24 +1753,40 @@ msgstr "更新编目 - 将其与源文同步"
msgid "Toggled if selected string has fuzzy translation"
msgstr "切换是否选择的字串有模糊翻译"
-msgid "Show or hide the sidebar."
+msgid "Sidebar"
+msgstr "侧边栏"
+
+msgid "Show or hide the sidebar"
msgstr "显示或隐藏侧边栏"
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
msgid "Previous source text:"
msgstr "上一个源文本:"
-msgid ""
-"The old source text (before it changed during an update) that the fuzzy "
-"translation corresponds to."
+msgid "The old source text (before it changed during an update) that the fuzzy translation corresponds to."
msgstr "模糊翻译与相对应的旧的源文本 (在更新期间改变之前)。"
+msgid "Notes for translators:"
+msgstr "给译员的注释:"
+
msgid "Add comment"
msgstr "添加注释"
msgid "Add Comment"
msgstr "添加注释"
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(from your TM)"
+msgstr "(从你的 TM)"
+
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(machine translation)"
+msgstr "(机器翻译)"
+
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(human translation)"
+msgstr "(人工翻译)"
+
msgid "Translation suggestions:"
msgstr "翻译建议:"
@@ -1526,6 +1801,83 @@ msgstr "未找到匹配项"
msgid "This string was found in Poedit’s translation memory."
msgstr "Poedit 的翻译记忆库中找到此字符串。"
+msgid "This suggestion was contributed by another translator to the online TM."
+msgstr "这项建议是另一个译者通过在线 TM 的贡献。"
+
+msgid "This suggestion was machine-translated online."
+msgstr "这项建议是在线机器翻译。"
+
+#, c-format
+msgid "%d out of %d online suggestion left."
+msgid_plural "%d out of %d online suggestions left."
+msgstr[0] "%d 共计 %d 在线建议。"
+
+msgid "Remove this limitation"
+msgstr "删除此限制"
+
+msgid "Not showing additional online suggestions."
+msgstr "不显示其他在线建议。"
+
+msgid "Unlock online suggestions"
+msgstr "解锁在线建议"
+
+msgid "Exceeded online TM daily limit."
+msgstr "超出在线 TM 每日限制。"
+
+msgid "Connect to the Internet to get additional suggestions."
+msgstr "连接到互联网来获取其他的建议。"
+
+#. TRANSLATORS: Label indicating that translations made in the current file are contributed to the online translation memory. Related to the "Contribute my translations to the online TM" string.
+msgid "Contributing"
+msgstr "贡献"
+
+msgid "Your translations are contributed to the online translation memory as you make them. Thanks for making the suggestions better!"
+msgstr "在您进行翻译时,您的翻译将被贡献到在线翻译记忆库中。感谢您给出这些建议,使翻译记忆库变得更好!"
+
+#. TRANSLATORS: Label indicating that the current file
+msgid "Private"
+msgstr "私有"
+
+msgid "Translations from this file are not shared with the online translation memory."
+msgstr "此文件的翻译将不会与在线翻译记忆库共享。"
+
+msgid "Privacy settings"
+msgstr "隐私设置"
+
+#, c-format
+msgid "While editing the file “%s”:"
+msgstr "编辑“%s”文件时:"
+
+msgid "Items"
+msgstr "项目"
+
+msgid "Words"
+msgstr "单词"
+
+msgid "Translated"
+msgstr "翻译"
+
+msgid "Needs review (fuzzy)"
+msgstr "需要检查(模糊)"
+
+msgid "Translations with errors"
+msgstr "有错误的翻译"
+
+msgid "Source Text"
+msgstr "源文本"
+
+msgid "Strings in source language"
+msgstr "在源语言中的字符串"
+
+msgid "Not translated"
+msgstr "未翻译"
+
+msgid "Copy to clipboard"
+msgstr "复制到剪贴板"
+
+msgid "Copy to Clipboard"
+msgstr "复制到剪贴板"
+
#, c-format
msgid "(New: %i, obsolete: %i)"
msgstr "(新的: %i, 旧的: %i)"
@@ -1547,12 +1899,8 @@ msgstr "迁移退出状态: %d"
msgid "Poedit needs to convert your translation memory to a new format."
msgstr "Poedit 需要将你的翻译记忆库转换为新的格式。"
-msgid ""
-"This must be done before Poedit can start. It may take a few minutes if you "
-"have lots of translations stored, but should normally be much faster."
-msgstr ""
-"完成这些之后 Poedit 就可以开始工作了。如果你有大量需要翻译的字符串,这可能需"
-"要几分钟的时间,但一般应很快。"
+msgid "This must be done before Poedit can start. It may take a few minutes if you have lots of translations stored, but should normally be much faster."
+msgstr "完成这些之后 Poedit 就可以开始工作了。如果你有大量可翻译的字符串,这可能需要几分钟的时间,但一般应很快。"
msgid "Proceed"
msgstr "继续进行"
@@ -1561,69 +1909,174 @@ msgid "Translation memory migration failed."
msgstr "翻译记忆库迁移失败。"
#, c-format
-msgid ""
-"Your translation memory data couldn't be migrated. The error was:\n"
-"\n"
-"%s\n"
-"Please email help at poedit.net and we’ll get it fixed."
-msgstr ""
-"你的翻译记忆库数据无法迁移。原因是:\n"
-"\n"
-"%s\n"
-"请发送电子邮件到 help at poedit.net ,我们会尽快修复。"
+msgid "Your translation memory data couldn't be migrated. The error was:\n\n%s\nPlease email help at poedit.net and we’ll get it fixed."
+msgstr "你的翻译记忆库数据无法迁移。原因是:\n\n%s\n请发送电子邮件到 help at poedit.net ,我们会尽快修复。"
msgid "Cannot create temporary directory."
msgstr "不能创建临时目录。"
+msgid "Check theme or plugin compatibility"
+msgstr "检查主题或者插件的兼容性"
+
msgid "Welcome to Poedit"
msgstr "欢迎使用 Poedit"
+msgid "Upgrade to Pro"
+msgstr "升级到 Pro"
+
+msgid "Upgrade to Poedit Pro to get additional features and support Poedit's development."
+msgstr "升级到 Poedit Pro 来获得额外的功能和支持 Poedit 的发展。"
+
msgid "Edit a translation"
msgstr "编辑翻译"
msgid "Open an existing PO file and edit the translation."
msgstr "打开一个现有的PO文件并编辑翻译。"
-msgid "Create new translation"
-msgstr "创建新的翻译"
-
-msgid ""
-"Take an existing PO file or POT template and create a new translation from "
-"it."
+msgid "Take an existing PO file or POT template and create a new translation from it."
msgstr "利用现有的PO文件或者POT模板,并从它创建一个新的翻译。"
+msgid "Translate WordPress theme or plugin"
+msgstr "翻译WordPress的主题或插件"
+
+#. TRANSLATORS: Please don't use any form of "automatically" in the translation, it would mislead people.
+msgid "Create a new translation. Poedit will set everything up; you can focus on translating."
+msgstr "创建一个新的翻译。Poedit 会自动设置好一切,你可以专注翻译。"
+
+msgid "Collaborate on a translation with Crowdin"
+msgstr "在 Crowdin 上进行翻译协作"
+
+msgid "Download a file from Crowdin project, translate and sync your changes back."
+msgstr "从 Crowdin 项目下载一个文件、翻译,然后将您的更改同步回去。"
+
+msgid "What is Crowdin?"
+msgstr "Crowdin 是什么?"
+
msgid "There are no translations. That’s unusual."
msgstr "找不到翻译文件,这不正常"
-msgid ""
-"Translatable entries aren't added manually in the Gettext system, but are "
-"automatically extracted\n"
-"from source code. This way, they stay up to date and accurate.\n"
-"Translators typically use PO template files (POTs) prepared for them by the "
-"developer."
-msgstr ""
-"翻译条目不会在Gettext系统中手动添加条目,但是会自动从源代码中提取。\n"
-"这样一来,我们可以掌握最新和最准确的需要翻译的条目。\n"
-"翻译人员通常使用由开发商为他们准备PO模板文件(POTS)。"
+msgid "Translatable entries aren't added manually in the Gettext system, but are automatically extracted\nfrom source code. This way, they stay up to date and accurate.\nTranslators typically use PO template files (POTs) prepared for them by the developer."
+msgstr "翻译条目不是在 Gettext 系统中手动添加的,而是自动从源代码中提取。\n这样一来,我们才可以掌握最新且最准确的需要翻译的条目。\n翻译人员通常使用开发商为他们准备的 PO 模板文件(.pot)。"
msgid "(Learn more about GNU gettext)"
msgstr "(了解更多关于 GNU gettext 的内容)"
msgid "The simplest way to fill this catalog is to update it from a POT:"
-msgstr "填补这个条目的最简单的办法是从一个 POT 文件更新:"
+msgstr "填补这个编目的最简单的办法是从一个 POT 文件更新:"
msgid "Update from POT"
msgstr "从 POT 文件更新"
msgid "Take translatable strings from an existing POT template."
-msgstr "从现有的 POT 模版中提取需要翻译的字符串。"
+msgstr "从现有的 POT 模板中提取可翻译的字符串。"
-msgid ""
-"You can also extract translatable strings directly from the source code:"
-msgstr "你也可以直接从源代码中提取需要翻译的字符串:"
+msgid "You can also extract translatable strings directly from the source code:"
+msgstr "你也可以直接从源代码中提取可翻译的字符串:"
msgid "Extract from sources"
msgstr "从源代码中提取"
msgid "Configure source code extraction in Properties."
msgstr "在属性中配置源代码提取。"
+
+#, c-format
+msgid "Failed to read file '%s'."
+msgstr "读取文件“%s”失败。"
+
+#, c-format
+msgid "Confused by ambiguous values of \"%s\" in %s."
+msgstr "因\"%s\"在 %s 中的值含糊不清而困惑。"
+
+#, c-format
+msgid "Couldn't detect POs location for \"%s\"."
+msgstr "无法检测 POs 位于\"%s\"。"
+
+#, c-format
+msgid "The \"%s\" theme isn't localization-ready."
+msgstr "“%s” 主题没有为本地化做好准备。"
+
+msgid "Confused: multiple main plugin files."
+msgstr "困惑:找到了多个主插件文件。"
+
+#, c-format
+msgid "The \"%s\" plugin isn't localization-ready."
+msgstr "“%s” 插件没有为本地化做好准备。"
+
+#, c-format
+msgid "Couldn't detect translation domain of the \"%s\" plugin."
+msgstr "不能检测到 \"%s\" 插件范围的翻译。"
+
+msgid "Found neither WordPress theme nor plugin in the folder."
+msgstr "在该文件夹中没有找到WordPress主题或插件。"
+
+#, c-format
+msgid "Translations folder (%s) doesn't exist."
+msgstr "翻译文件夹(%s)不存在。"
+
+msgid "<big>Drag and drop <b>theme or plugin folder</b> here</big>\n\nor use the “Choose folder” button"
+msgstr "<big>拖放<b>主题或插件文件夹</b>到这里</big>\n\n或者使用“选择文件夹”按钮"
+
+msgid "<big>Drag and Drop <b>Theme or Plugin Folder</b> Here</big>\n\nor use the “Choose Folder” button"
+msgstr "<big>拖放<b>主题或插件文件夹</b>到这里</big>\n\n或者使用“选择文件夹”按钮"
+
+#, c-format
+msgid "Folder “%s”"
+msgstr "文件夹“%s”"
+
+msgid "Choose Folder..."
+msgstr "选择文件夹..."
+
+msgid "Choose folder..."
+msgstr "选择文件夹..."
+
+msgid "Create a new translation"
+msgstr "创建新翻译"
+
+msgid "Choose this if you want to translate the theme or plugin into your language."
+msgstr "如果您想翻译主题或插件到您的语言,选择此项。"
+
+msgid "Create a POT"
+msgstr "创建 POT"
+
+msgid "This option is for theme and plugin developers. Poedit will create an empty template (POT) that translations can be based on."
+msgstr "此选项面向主题和插件的开发者。Poedit 将基于可被翻译的内容创建一个空的模板(POT)。"
+
+msgid "Continue"
+msgstr "继续"
+
+msgid "Failed to extract WordPress information."
+msgstr "提取 WordPress 信息失败."
+
+msgid "WordPress error"
+msgstr "WordPress 出错"
+
+#, c-format
+msgid "Poedit couldn’t understand the content of the folder you selected. This may be a problem with the plugin/theme or it may be Poedit being silly. The error is:\n\n • %s\n\nPlease email help at poedit.net and we’ll sort it out."
+msgstr "Poedit 无法理解你选择的文件夹中的内容。这个可能是因为插件/主题有问题,或者 Poedit 不够聪明。错误时:\n\n • %s\n\n请给 help at poedit.net 发送邮件,我们会尽快处理。"
+
+#. TRANSLATORS: This is a button that sends an email to support when clicked
+msgid "Email support"
+msgstr "邮件支持"
+
+msgid "View log"
+msgstr "查看日志"
+
+#. TRANSLATORS: This is a button that sends an email to support when clicked
+msgid "Email Support"
+msgstr "邮件支持"
+
+msgid "View Log"
+msgstr "查看日志"
+
+msgid "WordPress Errors Log"
+msgstr "WordPress 错误日志"
+
+msgid "Please email this log to help at poedit.net. Thank you!"
+msgstr "请将这个日志文件发送给 help at poedit.net,谢谢!"
+
+msgid "Sync"
+msgstr "同步"
+
+msgid "Synchronize the translation with Crowdin"
+msgstr "与 Crowdin 同步翻译"
+
diff --git a/locales/zh_TW.mo b/locales/zh_TW.mo
index b7af56a..b9c40e4 100644
Binary files a/locales/zh_TW.mo and b/locales/zh_TW.mo differ
diff --git a/locales/zh_TW.po b/locales/zh_TW.po
index ad61b0d..013da7d 100644
--- a/locales/zh_TW.po
+++ b/locales/zh_TW.po
@@ -1,9 +1,9 @@
msgid ""
msgstr ""
"Project-Id-Version: poedit\n"
-"Report-Msgid-Bugs-To: help at poedit.net\n"
-"POT-Creation-Date: 2015-01-10 16:00+0100\n"
-"PO-Revision-Date: 2015-03-10 12:33-0400\n"
+"Report-Msgid-Bugs-To: poedit at googlegroups.com\n"
+"POT-Creation-Date: 2015-05-11 08:48+0200\n"
+"PO-Revision-Date: 2015-05-13 12:41-0400\n"
"Last-Translator: vslavik <vaclav at slavik.io>\n"
"Language-Team: Chinese Traditional\n"
"Language: zh_TW\n"
@@ -16,6 +16,40 @@ msgstr ""
"X-Crowdin-Language: zh-TW\n"
"X-Crowdin-File: /locales/poedit.pot\n"
+#. TRANSLATORS: This is titlebar of about dialog, "%s" is application name
+#. ("Poedit" here, but please use "%s")
+#, c-format
+msgid "About %s"
+msgstr "關於 %s"
+
+#. TRANSLATORS: This is version information in about dialog, "%s" will be
+#. version number when used
+#, c-format
+msgid "Version %s"
+msgstr "版本 %s"
+
+msgid "Based on the open source version →"
+msgstr "建基於開源碼的版本 →"
+
+msgid "Acknowledgements"
+msgstr "致謝"
+
+msgid "Rate on the App Store"
+msgstr "前往 App Store 給予評價"
+
+msgid "License Agreement"
+msgstr "授權同意書"
+
+#, c-format
+msgid "Licensed to %s"
+msgstr "已授權給 %s"
+
+msgid "Purchased on the Mac App Store"
+msgstr "前往 Mac App Store 購買"
+
+msgid "Free version (please upgrade!)"
+msgstr "免費版 (請升級!)"
+
msgid "Hide this notification message"
msgstr "隱藏這項通知訊息"
@@ -38,16 +72,13 @@ msgstr "第 %d 列 (檔案「%s」中) 已毀損 (不是有效的 %s 資料)。"
msgid "Malformed header: '%s'"
msgstr "格式不良的檔頭:「%s」"
-msgid ""
-"Broken catalog file: singular form msgstr used together with msgid_plural"
+msgid "Broken catalog file: singular form msgstr used together with msgid_plural"
msgstr "損毀的編目檔:將單數形式的 msgstr 與 msgid_plural 並用"
msgid "Broken catalog file: plural form msgstr used without msgid_plural"
msgstr "損毀的編目檔:雖使用複數形式的 msgstr 卻沒有 msgid_plural"
-msgid ""
-"There were errors when loading the catalog. Some data may be missing or "
-"corrupted as the result."
+msgid "There were errors when loading the catalog. Some data may be missing or corrupted as the result."
msgstr "載入編目檔時發生錯誤。結果可能某些資料闕漏或損毀。"
#, c-format
@@ -55,35 +86,32 @@ msgid "Couldn't load file %s, it is probably corrupted."
msgstr "無法載入 %s 檔,可能已損毀。"
#, c-format
-msgid ""
-"File '%s' is read-only and cannot be saved.\n"
-"Please save it under different name."
-msgstr ""
-"檔案「%s」因唯讀而無法儲存。\n"
-"請以不同檔名儲存檔案。"
+msgid "File '%s' is read-only and cannot be saved.\nPlease save it under different name."
+msgstr "檔案「%s」因唯讀而無法儲存。\n請以不同檔名儲存檔案。"
#, c-format
msgid "Couldn't save file %s."
msgstr "無法儲存 %s 檔。"
-msgid ""
-"There was a problem formatting the file nicely (but it was saved all right)."
+msgid "There was a problem formatting the file nicely (but it was saved all right)."
msgstr "試圖讓檔案的排版格式變得整齊時遭遇問題 (但仍舊順利儲存)。"
#, c-format
-msgid ""
-"The catalog couldn't be saved in '%s' charset as specified in catalog "
-"settings.\n"
-"\n"
-"It was saved in UTF-8 instead and the setting was modified accordingly."
-msgstr ""
-"這個編目檔無法以編目檔設定中所指定的「%s」字集儲存。\n"
-"\n"
-"它已改用 UTF-8 儲存,設定值也同時隨之修改。"
+msgid "The catalog couldn't be saved in '%s' charset as specified in catalog settings.\n\nIt was saved in UTF-8 instead and the setting was modified accordingly."
+msgstr "這個編目檔無法以編目檔設定中所指定的「%s」字集儲存。\n\n它已改用 UTF-8 儲存,設定值也同時隨之修改。"
msgid "Error saving catalog"
msgstr "儲存編目檔時發生錯誤"
+msgid "PO Translation Files"
+msgstr "PO 翻譯檔"
+
+msgid "POT Translation Templates"
+msgstr "POT 翻譯模板"
+
+msgid "All Translation Files"
+msgstr "所有翻譯檔"
+
msgid "Merging differences..."
msgstr "正合併差異..."
@@ -103,6 +131,81 @@ msgstr "語言選擇"
msgid "You must restart Poedit for this change to take effect."
msgstr "您得要重新啟動 Poedit 這項更動才會生效。"
+msgid "Downloading translations is disabled in this project."
+msgstr "此專案已停用翻譯下載。"
+
+msgid "Not authorized, please sign in again."
+msgstr "尚未獲得授權,請重新登入。"
+
+msgid "Sign in to Crowdin"
+msgstr "登入 Crowdin"
+
+msgid "Crowdin is an online localization management platform and collaborative translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
+msgstr "Crowdin 是線上在地化管理平臺暨翻譯協作工具。Poedit 可以無縫同步 Crowdin 上管理的 PO 檔。"
+
+msgid "Sign In"
+msgstr "登入"
+
+msgid "Sign in"
+msgstr "登入"
+
+msgid "Sign Out"
+msgstr "登出"
+
+msgid "Sign out"
+msgstr "登出"
+
+msgid "Waiting for authentication…"
+msgstr "正在等候身分核對⋯"
+
+msgid "Updating user information…"
+msgstr "正在更新使用者資訊⋯"
+
+msgid "Signed in as:"
+msgstr "登入身分:"
+
+msgid "Learn More About Crowdin"
+msgstr "深入瞭解 Crowdin"
+
+msgid "Learn more about Crowdin"
+msgstr "深入瞭解 Crowdin"
+
+msgid "Open Crowdin translation"
+msgstr "開啟 Crowdin 翻譯"
+
+msgid "Project:"
+msgstr "專案:"
+
+msgid "Language:"
+msgstr "語言:"
+
+msgid "File:"
+msgstr "檔案:"
+
+msgid "No translation projects listed in your Crowdin account."
+msgstr "您的 Crowdin 帳號中尚無翻譯專案。"
+
+msgid "This project has no files that can be translated in Poedit."
+msgstr "這個專案沒有可在 Poedit 中翻譯的檔案。"
+
+msgid "This file can only be edited in Crowdin’s web interface."
+msgstr "這份檔案僅能在 Crowdin 的網頁介面中編輯。"
+
+msgid "Downloading latest translations…"
+msgstr "正在下載最新的翻譯⋯"
+
+msgid "Syncing with Crowdin"
+msgstr "正與 Crowdin 同步中"
+
+msgid "Syncing with Crowdin failed."
+msgstr "與 Crowdin 同步失敗。"
+
+msgid "Crowdin error"
+msgstr "Crowdin 錯誤"
+
+msgid "Uploading translations…"
+msgstr "正在上傳翻譯⋯"
+
msgid "&Copy"
msgstr "複製(&C)"
@@ -130,23 +233,43 @@ msgstr "正在剖析 %s 檔案..."
msgid "Failed to load extracted catalog."
msgstr "無法載入抽出的編目檔。"
+#, c-format
+msgid "Failed to extract WordPress metadata from file %s."
+msgstr "無法從 %s 檔案中抽取 WordPress 的中介資料。"
+
msgid "&Help"
msgstr "說明(&H)"
+msgid "Beta expired"
+msgstr "Beta 已過期"
+
+msgid "This beta version of Poedit expired."
+msgstr "此 Beta 版的 Poedit 已過期。"
+
+msgid "Please download a newer version from the Poedit website at http://poedit.net/download"
+msgstr "請從 Poedit 網站下載新版,網址 http://poedit.net/download"
+
+msgid "Download"
+msgstr "下載"
+
+msgid "Quit"
+msgstr "退出"
+
msgid "MO files can’t be directly edited in Poedit."
msgstr "無法在 Poedit 中直接編輯 MO 檔。"
msgid "Error opening file"
msgstr "開啟檔案發生錯誤"
-msgid ""
-"Please open and edit the corresponding PO file instead. When you save it, "
-"the MO file will be updated as well."
+msgid "Please open and edit the corresponding PO file instead. When you save it, the MO file will be updated as well."
msgstr "請改開啟並編輯對應的 PO 檔。當您儲存時,MO 檔會同時更新。"
msgid "don't delete temporary files (for debugging)"
msgstr "不要刪除暫存檔 (供除錯用)"
+msgid "handle a poedit:// URI"
+msgstr "處理 poedit:// URI"
+
#, c-format
msgid "Unhandled exception occurred: %s"
msgstr "遭遇未處理的例外:%s"
@@ -157,34 +280,19 @@ msgstr "遭遇未處理的例外。"
msgid "Open catalog"
msgstr "開啟編目檔"
-msgid "All Files"
-msgstr "所有檔案"
-
-msgid "PO Translation Files"
-msgstr "PO 翻譯檔"
-
#, c-format
msgid "File '%s' doesn't exist."
msgstr "「%s」檔不存在。"
-#. TRANSLATORS: This is titlebar of about dialog, "%s" is application name
-#. ("Poedit" here, but please use "%s")
-#, c-format
-msgid "About %s"
-msgstr "關於 %s"
-
-#. TRANSLATORS: This is version information in about dialog, "%s" will be
-#. version number when used
-#, c-format
-msgid "Version %s"
-msgstr "版本 %s"
-
msgid "Poedit is an easy to use translations editor."
msgstr "Poedit 是個易用的翻譯編輯器。"
msgid "Catalogs Manager"
msgstr "編目檔管理員"
+msgid "License..."
+msgstr "授權..."
+
msgid "Check for Updates..."
msgstr "檢查更新..."
@@ -266,6 +374,15 @@ msgstr "停止朗讀"
msgid "&View"
msgstr "檢視(&V)"
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
+msgid "Show Toolbar"
+msgstr "顯示工具列"
+
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
+msgid "Customize Toolbar…"
+msgstr "自訂工具列…"
+
+#. TRANSLATORS: This must be the same as OS X's translation of this View menu item
msgid "Enter Full Screen"
msgstr "進入全螢幕"
@@ -281,24 +398,34 @@ msgstr "調整遠近"
msgid "Bring All to Front"
msgstr "全部帶到最前方"
+#. TRANSLATORS:File kind displayed in Finder/Explorer
msgid "PO Translation"
msgstr "PO 翻譯"
+msgid "Invalid license data."
+msgstr "無效的授權資料。"
+
+msgid "Poedit"
+msgstr "Poedit"
+
+#, c-format
+msgid "The link doesn't contain valid Poedit license. Try entering it manually or contact support at help at poedit.net.\n\n(%s)"
+msgstr "連結不含有效的 Poedit 授權。請嘗試手動輸入,或是聯絡 help at poedit.net 以取得支援。\n\n(%s)"
+
msgid "The file cannot be opened."
msgstr "無法開啟檔案。"
msgid "Invalid file"
msgstr "檔案無效"
-msgid ""
-"The file may be either corrupted or in a format not recognized by Poedit."
+msgid "The file may be either corrupted or in a format not recognized by Poedit."
msgstr "檔案可能損毀,或是採用 Poedit 無法辨認的格式。"
msgid "&Undo"
-msgstr "取消動作(&U)"
+msgstr "復原(&U)"
msgid "&Redo"
-msgstr "再次動作(&R)"
+msgstr "重做(&R)"
msgid "Cu&t"
msgstr "剪下(&T)"
@@ -369,9 +496,6 @@ msgstr "您不能拖曳超過一個檔案進 Poedit 視窗裡。"
msgid "File '%s' is not a message catalog."
msgstr "「%s」檔不是訊息編目檔。"
-msgid "Poedit"
-msgstr "Poedit"
-
msgid "&File"
msgstr "檔案(&F)"
@@ -390,12 +514,20 @@ msgstr "複數:"
msgid "Translation:"
msgstr "譯文:"
+msgid "POT files are only templates and don’t contain any translations themselves.\nTo make a translation, create a new PO file based on the template."
+msgstr "POT 檔僅只是翻譯模板,檔案內並不包含任何翻譯。\n若要翻譯,請根據該模板建立新的 PO 檔。"
+
+msgid "Create New Translation"
+msgstr "建立新翻譯"
+
+msgid "Create new translation"
+msgstr "建立新翻譯"
+
#. TRANSLATORS: %s is language name in its basic form (as you
#. would see e.g. in a list of supported languages). You may need
#. to rephrase it, e.g. to an equivalent of "for language %s".
#, c-format
-msgid ""
-"Spellchecking is disabled, because the dictionary for %s isn’t installed."
+msgid "Spellchecking is disabled, because the dictionary for %s isn’t installed."
msgstr "由於尚未安裝 %s 字典,已停用拼字檢查。"
msgid "Install"
@@ -437,8 +569,30 @@ msgstr "HTML 檔案"
msgid "Open catalog template"
msgstr "開啟編目模板檔"
-msgid "POT Translation Templates"
-msgstr "POT 翻譯模板"
+msgid "WordPress"
+msgstr "WordPress"
+
+msgid "Analyzing WordPress code..."
+msgstr "正在分析 WordPress 代碼..."
+
+msgid "Select the folder with the WordPress theme or plugin"
+msgstr "選取有 WordPress 主題或外掛的資料夾"
+
+#. TRANSLATORS: %s is name of a WordPress theme
+#, c-format
+msgid "The “%s” theme is compatible."
+msgstr "「%s」主題可相容。"
+
+#. TRANSLATORS: %s is name of a WordPress plugin
+#, c-format
+msgid "The “%s” plugin is compatible."
+msgstr "「%s」外掛可相容。"
+
+msgid "The theme is translation-ready and compatible with Poedit’s WordPress support."
+msgstr "主題可供翻譯,且相容於 Poedit 的 WordPress 支援。"
+
+msgid "The plugin is translation-ready and compatible with Poedit’s WordPress support."
+msgstr "外掛可供翻譯,且相容於 Poedit 的 WordPress 支援。"
msgid "Updating catalog"
msgstr "更新編目檔中"
@@ -449,11 +603,8 @@ msgstr "源碼無法使用。"
msgid "Updating failed"
msgstr "更新失敗"
-msgid ""
-"Translations couldn’t be updated from the source code, because no code was "
-"found in the location specified in the catalog’s Properties."
-msgstr ""
-"由於在編目檔的屬性中所指定的位置找不到程式代碼,所以無法從源碼更新翻譯。"
+msgid "Translations couldn’t be updated from the source code, because no code was found in the location specified in the catalog’s Properties."
+msgstr "由於在編目檔的屬性中所指定的位置找不到程式代碼,所以無法從源碼更新翻譯。"
msgid "Entries in the catalog are probably incorrect."
msgstr "編目檔裡的條目可能有不正確。"
@@ -469,27 +620,19 @@ msgstr[0] "譯文中發現 %d 個問題。"
msgid "Validation results"
msgstr "驗證結果"
-msgid ""
-"Entries with errors were marked in red in the list. Details of the error "
-"will be shown when you select such an entry."
+msgid "Entries with errors were marked in red in the list. Details of the error will be shown when you select such an entry."
msgstr "出錯的條目在清單中以紅色標記。您可以點選該條目以顯示詳細的錯誤資訊。"
msgid "The file was saved safely."
msgstr "檔案已順利儲存。"
-msgid ""
-"The file was saved safely and compiled into the MO format, but it will "
-"probably not work correctly."
+msgid "The file was saved safely and compiled into the MO format, but it will probably not work correctly."
msgstr "檔案已順利儲存,且成功編譯為 MO 格式,但仍可能無法正常運作。"
-msgid ""
-"The file was saved safely, but it cannot be compiled into the MO format and "
-"used."
+msgid "The file was saved safely, but it cannot be compiled into the MO format and used."
msgstr "檔案已順利儲存,但是無法編譯成 MO 格式所以也無法真的使用。"
-msgid ""
-"The file was compiled into the MO format, but it will probably not work "
-"correctly."
+msgid "The file was compiled into the MO format, but it will probably not work correctly."
msgstr "檔案已編譯成 MO 格式,但可能無法正常運作。"
msgid "The file cannot be compiled into the MO format and used."
@@ -500,25 +643,40 @@ msgstr "找不到譯文的問題。"
#, c-format
msgid "The translation is ready for use, but %d entry is not translated yet."
-msgid_plural ""
-"The translation is ready for use, but %d entries are not translated yet."
+msgid_plural "The translation is ready for use, but %d entries are not translated yet."
msgstr[0] "譯文已準備好可供使用,但還有 %d 條尚未翻譯。"
msgid "The translation is ready for use."
msgstr "譯文已準備好可供使用。"
-msgid "No references to this string found."
-msgstr "找不到這條字串的參照。"
+msgid "Contributing translations improves the quality of online suggestions for everybody — the more people do it, the better the suggestions can be. Your translations are submitted anonymously and are available to other translators using Poedit or other CAT tools."
+msgstr "貢獻翻譯可以為大眾改善線上建議的翻譯品質 — 越多人參與,得到的翻譯建議就會越好。您的翻譯會以匿名方式提交,其他使用 Poedit 或其他 CAT 工具的翻譯者都能採用這些翻譯。"
+
+msgid "Can Poedit contribute your translations of this file to the online translation memory?"
+msgstr "請問 Poedit 可以將你在此檔案中的翻譯作為線上翻譯記憶的一部分嗎?"
+
+msgid "Apply to all files I edit"
+msgstr "套用到所有我編輯的檔案"
+
+msgid "Contribute"
+msgstr "貢獻"
-msgid "Please choose the reference you want to show:"
-msgstr "請選擇您想要顯示的參照:"
+msgid "Keep Private"
+msgstr "保留私用"
-msgid "References"
-msgstr "參照"
+msgid "Keep private"
+msgstr "保留私用"
msgid "Context:"
msgstr "情境:"
+#, c-format
+msgid "Poedit automatically fixed invalid content in the file “%s”."
+msgstr "Poedit 已自動修正「%s」檔中的無效內容。"
+
+msgid "The file contained duplicate items, which is not allowed in PO files and would prevent the file from being used. Poedit fixed the issue, but you should review translations of any items marked as fuzzy and correct them if necessary."
+msgstr "檔案包含重複項目,然而 PO 檔並不允許重複,進而使檔案無法使用。Poedit 已修正這個問題,但您應該校閱任何標記為模糊翻譯的項目,如有需要也請校正其內容。"
+
msgid "Language of the translation isn't set."
msgstr "尚未設定譯文的語言。"
@@ -528,14 +686,23 @@ msgstr "設定語言"
msgid "Set language"
msgstr "設定語言"
-msgid ""
-"This catalog has entries with plural forms, but doesn't have Plural-Forms "
-"header configured."
+#. TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+msgid "Suggestions are not available if the translation language is not set correctly. Other features, such as plural forms, may be affected as well."
+msgstr "如果未正確設定翻譯語言,則無法使用翻譯建議。其他功能,如複數型,也可能受到影響。"
+
+msgid "Language of the translation is the same as source language."
+msgstr "翻譯語言與來源語言相同。"
+
+msgid "Fix Language"
+msgstr "修正語言"
+
+msgid "Fix language"
+msgstr "修正語言"
+
+msgid "This catalog has entries with plural forms, but doesn't have Plural-Forms header configured."
msgstr "這個編目檔內含有複數形式之條目,但卻尚未設定 Plural-Forms 檔頭。"
-msgid ""
-"Entries in this catalog have different plural forms count from what "
-"catalog's Plural-Forms header says"
+msgid "Entries in this catalog have different plural forms count from what catalog's Plural-Forms header says"
msgstr "此編目檔中條目的複數形式數目,與編目檔 Plural-Forms 檔頭的記錄不符"
msgid "Required header Plural-Forms is missing."
@@ -558,6 +725,7 @@ msgstr "修正檔頭"
msgid "Plural forms expression used by the catalog is unusual for %s."
msgstr "這個編目檔所採用的複數形式表述式,對 %s 來說並不常見。"
+#. TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msgid "Review"
msgstr "校閱"
@@ -578,12 +746,21 @@ msgid "%d error"
msgid_plural "%d errors"
msgstr[0] "%d 項錯誤"
+#, c-format
+msgid "%d entry"
+msgid_plural "%d entries"
+msgstr[0] "%d 條"
+
msgid " (unsaved)"
msgstr " (未儲存)"
msgid " (modified)"
msgstr " (已修改)"
+#, c-format
+msgid " (beta version expires %s)"
+msgstr " (Beta 版過期於 %s)"
+
msgid "Go"
msgstr "前往"
@@ -597,13 +774,8 @@ msgstr "淨空已刪除的譯文"
msgid "Do you want to remove all translations that are no longer used?"
msgstr "請問您是否想要移除所有不再用到的譯文?"
-msgid ""
-"If you continue with purging, all translations marked as deleted will be "
-"permanently removed. You will have to translate them again if they are added "
-"back in the future."
-msgstr ""
-"如果您繼續淨空,所有標示為已刪除之譯文將永遠移除。如果未來這些訊息重新加回"
-"來,您就得重新再翻譯一遍。"
+msgid "If you continue with purging, all translations marked as deleted will be permanently removed. You will have to translate them again if they are added back in the future."
+msgstr "如果您繼續淨空,所有標示為已刪除之譯文將永遠移除。如果未來這些訊息重新加回來,您就得重新再翻譯一遍。"
msgid "Keep"
msgstr "保留"
@@ -617,22 +789,23 @@ msgstr "從翻譯記憶填入缺少的翻譯"
msgid "Only fill in exact matches"
msgstr "僅只填入完全相符項目"
-msgid ""
-"By default, inaccurate results are filled in as well and marked as fuzzy. "
-"Check this option to only include accurate matches."
-msgstr ""
-"預設情況下,也會同時填入不精確的項目,並將之標記為模糊。勾選此選項以僅只納入"
-"精確符合的項目。"
+msgid "By default, inaccurate results are filled in as well and marked as fuzzy. Check this option to only include accurate matches."
+msgstr "預設情況下,也會同時填入不精確的項目,並將之標記為模糊。勾選此選項以僅只納入精確符合的項目。"
msgid "Don’t mark exact matches as fuzzy"
msgstr "不要將完全符合的項目標記為模糊"
-msgid ""
-"Only enable if you trust the quality of your TM. By default, all matches "
-"from the TM are marked as fuzzy and should be reviewed."
-msgstr ""
-"請您只有在信任翻譯記憶的品質時才啟用。預設情況下,所有翻譯記憶的符合項目都會"
-"標記為模糊狀態,並等候校閱。"
+msgid "Only enable if you trust the quality of your TM. By default, all matches from the TM are marked as fuzzy and should be reviewed."
+msgstr "請您只有在信任翻譯記憶的品質時才啟用。預設情況下,所有翻譯記憶的符合項目都會標記為模糊狀態,並等候校閱。"
+
+msgid "Use online suggestions"
+msgstr "使用線上建議"
+
+msgid "Use online suggestions (experimental)"
+msgstr "使用線上建議 (實驗性)"
+
+msgid "Try to fetch translations from the online TM as well. Notice that the translations will not be perfect and will still need to be corrected by a human translator."
+msgstr "嘗試從線上的翻譯記憶中擷取翻譯。請注意,所取得的翻譯建議不一定完美,仍然需要翻譯者人工校對。"
msgid "Fill"
msgstr "填入"
@@ -642,21 +815,14 @@ msgid "%d entry was filled from the translation memory."
msgid_plural "%d entries were filled from the translation memory."
msgstr[0] "%d 項條目已從翻譯記憶填入。"
-msgid ""
-"The translations were marked as fuzzy, because they may be inaccurate. You "
-"should review them for correctness."
+msgid "The translations were marked as fuzzy, because they may be inaccurate. You should review them for correctness."
msgstr "這些譯文被標記為模糊,可能翻譯尚未明確。您應該校閱它們是否正確。"
msgid "No entries could be filled from the translation memory."
msgstr "沒有可從翻譯記憶填入的條目。"
-msgid ""
-"The TM doesn’t contain any strings similar to the content of this file. It "
-"is only effective for semi-automatic translations after Poedit learns enough "
-"from files that you translated manually."
-msgstr ""
-"翻譯記憶尚未包含任何類似此檔案內容的字串。這僅在 Poedit 學習夠多您手動翻譯的"
-"檔案後,才會對半自動翻譯有效用。"
+msgid "The TM doesn’t contain any strings similar to the content of this file. It is only effective for semi-automatic translations after Poedit learns enough from files that you translated manually."
+msgstr "翻譯記憶尚未包含任何類似此檔案內容的字串。這僅在 Poedit 學習夠多您手動翻譯的檔案後,才會對半自動翻譯有效用。"
msgid "Translating"
msgstr "翻譯中"
@@ -697,6 +863,9 @@ msgstr "每一項"
msgid "Form %i"
msgstr "形式 %i"
+msgid "Singular"
+msgstr "單數"
+
msgid "Zero"
msgstr "零"
@@ -706,6 +875,9 @@ msgstr "壹"
msgid "Two"
msgstr "貳"
+msgid "Plural"
+msgstr "複數"
+
msgid "Other"
msgstr "其他"
@@ -734,6 +906,12 @@ msgstr "隱藏側邊欄"
msgid "Show Sidebar"
msgstr "顯示側邊欄"
+msgid "Hide Status Bar"
+msgstr "隱藏狀態列"
+
+msgid "Show Status Bar"
+msgstr "顯示狀態列"
+
msgid "Source text"
msgstr "來源文字"
@@ -743,6 +921,10 @@ msgstr "譯文"
msgid "ID"
msgstr "ID"
+#, c-format
+msgid "Source text — %s"
+msgstr "來源文字 — %s"
+
msgid "unknown language"
msgstr "未知語言"
@@ -753,57 +935,73 @@ msgstr "譯文 — %s"
msgid "Error:"
msgstr "錯誤:"
-msgid "Project info"
-msgstr "專案資訊"
+msgid "Source file"
+msgstr "來源檔案"
-msgid "Project name and version:"
-msgstr "專案名稱及版本:"
+msgid "Source file occurrence:"
+msgstr "來源檔案出現處:"
-msgid "Language:"
-msgstr "語言:"
+msgid "Open in Editor"
+msgstr "以編輯器開啟"
-msgid "Team:"
-msgstr "團隊:"
+msgid "Open in editor"
+msgstr "以編輯器開啟"
-msgid "Team's email address:"
-msgstr "團隊的電子郵件地址:"
+msgid "No references for the selected item."
+msgstr "選取的項目沒有參照。"
-msgid "Charset:"
-msgstr "字集:"
+#, c-format
+msgid "Error opening file %s!"
+msgstr "開啟 %s 檔時發生錯誤!"
-msgid "Source"
-msgstr "來源"
+msgid "Find"
+msgstr "尋找"
-msgid "Notes"
-msgstr "備註"
+msgid "Replace"
+msgstr "取代"
-msgid "Automatic translation"
-msgstr "自動翻譯"
+#. TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+msgid "Options"
+msgstr "選項"
-msgid "Fuzzy translation"
-msgstr "模糊譯文"
+msgid "Ignore case"
+msgstr "忽略字母大小寫"
-msgid "Notes for translators:"
-msgstr "給譯者的備註:"
+msgid "Wrap around"
+msgstr "前後循環"
-msgid "Comment:"
-msgstr "註解:"
+msgid "Whole words only"
+msgstr "只針對整個單詞"
-msgid "Source file"
-msgstr "來源檔案"
+msgid "Find in source texts"
+msgstr "尋找來源文字"
-msgid "Source file occurrence:"
-msgstr "來源檔案出現處:"
+msgid "Find in translations"
+msgstr "從譯文中尋找"
-msgid "Open in Editor"
-msgstr "以編輯器開啟"
+msgid "Find in comments"
+msgstr "從註解中尋找"
-msgid "Open in editor"
-msgstr "以編輯器開啟"
+msgid "Close"
+msgstr "關閉"
-#, c-format
-msgid "Error opening file %s!"
-msgstr "開啟 %s 檔時發生錯誤!"
+msgid "Replace All"
+msgstr "全部取代"
+
+msgid "Replace all"
+msgstr "全部取代"
+
+msgid "< &Previous"
+msgstr "< 上一個(&P)"
+
+msgid "&Next >"
+msgstr "下一個(&N) >"
+
+msgid "String to find"
+msgstr "要尋找的字串"
+
+msgid "Replacement string"
+msgstr "取代用字串"
#, c-format
msgid "Cannot execute program: %s"
@@ -818,6 +1016,55 @@ msgstr "譯文語言"
msgid "Language of the translation:"
msgstr "譯文的語言:"
+msgid "Poedit Registration"
+msgstr "Poedit 註冊"
+
+msgid "Name"
+msgstr "名稱"
+
+msgid "License Key"
+msgstr "授權金鑰"
+
+msgid "The registration key can be used on multiple computers you use personally or for multiple\naccounts on a single computer."
+msgstr "註冊金鑰可以在您個人使用的多臺電腦,或是同部電腦上的多個帳號中使用。"
+
+msgid "Buy Online..."
+msgstr "線上購買..."
+
+msgid "Buy online..."
+msgstr "線上購買..."
+
+msgid "Cancel"
+msgstr "取消"
+
+msgid "Register"
+msgstr "註冊"
+
+msgid "Your copy is upgraded to Poedit Pro."
+msgstr "您的副本已升級至 Poedit Pro。"
+
+msgid "You’re awesome! Thank you so much\nfor purchasing Poedit Pro."
+msgstr "您真好!非常感謝您\n購買 Poedit Pro。"
+
+msgid "View License Key"
+msgstr "檢視授權金鑰"
+
+msgid "View license key"
+msgstr "檢視授權金鑰"
+
+#, c-format
+msgid "Licensed to: %s"
+msgstr "已授權給:%s"
+
+msgid "Purchasing the full version will unlock more features\nin this and future versions of Poedit, including:\n\n"
+msgstr "購買完整版可以解開 Poedit 此版本與後續版本\n其他功能特色的封印,包括:\n\n"
+
+msgid "Upgrade..."
+msgstr "升級..."
+
+msgid "No, thanks"
+msgstr "不,謝了"
+
msgid "Poedit - Catalogs manager"
msgstr "Poedit - 編目檔管理員"
@@ -854,12 +1101,8 @@ msgstr "請問您是否想刪除這個專案?"
msgid "Confirmation"
msgstr "確認"
-msgid ""
-"Do you really want to do mass update of\n"
-"all catalogs in this project?"
-msgstr ""
-"請問您是否真想要大規模更新\n"
-"這個專案中的所有編目檔?"
+msgid "Do you really want to do mass update of\nall catalogs in this project?"
+msgstr "請問您是否真想要大規模更新\n這個專案中的所有編目檔?"
msgid "Information about the translator"
msgstr "譯者資訊"
@@ -876,11 +1119,8 @@ msgstr "電子郵件:"
msgid "your_email at example.com"
msgstr "your_email at example.com"
-msgid ""
-"Your name and email address are only used to set the Last-Translator header "
-"of GNU gettext files."
-msgstr ""
-"您的姓名與電子郵件位址僅用於設定 GNU gettext 檔的 Last-Translator 標頭部份。"
+msgid "Your name and email address are only used to set the Last-Translator header of GNU gettext files."
+msgstr "您的姓名與電子郵件位址僅用於設定 GNU gettext 檔的 Last-Translator 標頭部份。"
msgid "Editing"
msgstr "編輯"
@@ -897,13 +1137,8 @@ msgstr "檢查拼字"
msgid "Always change focus to text input field"
msgstr "總是將焦點放在文字輸入欄位中"
-msgid ""
-"Never let the list of strings take focus. If enabled, you must use Ctrl-"
-"arrows for keyboard navigation but you can also type text immediately, "
-"without having to press Tab to change focus."
-msgstr ""
-"永遠不要讓字串清單取得焦點。如果您啟用這個選項,就得並用 Ctrl 鍵與方向鍵才能"
-"以鍵盤導覽,不過同時您能立即輸入文字,而不必先按 Tab 鍵變更輸入焦點。"
+msgid "Never let the list of strings take focus. If enabled, you must use Ctrl-arrows for keyboard navigation but you can also type text immediately, without having to press Tab to change focus."
+msgstr "永遠不要讓字串清單取得焦點。如果您啟用這個選項,就得並用 Ctrl 鍵與方向鍵才能以鍵盤導覽,不過同時您能立即輸入文字,而不必先按 Tab 鍵變更輸入焦點。"
msgid "Appearance"
msgstr "外觀"
@@ -940,16 +1175,30 @@ msgstr "重設"
msgid "Consult TM when updating from sources"
msgstr "從來源更新時查閱翻譯記憶"
-msgid ""
-"If enabled, Poedit will try to fill in new entries using your previous\n"
-"translations stored in the translation memory. If the TM is\n"
-"near-empty, it will not be very effective. The more translations\n"
-"you edit and the larger the TM grows, the better it gets."
-msgstr ""
-"若啟用,Poedit 會試著使用您存在翻譯記憶中的先前翻譯\n"
-"填入新條目。若翻譯記憶幾近空白,可能效用不大。\n"
-"隨著您編輯過的翻譯越來越多,翻譯記憶隨之增長,\n"
-"效用會越來越大。"
+msgid "If enabled, Poedit will try to fill in new entries using your previous\ntranslations stored in the translation memory. If the TM is\nnear-empty, it will not be very effective. The more translations\nyou edit and the larger the TM grows, the better it gets."
+msgstr "若啟用,Poedit 會試著使用您存在翻譯記憶中的先前翻譯\n填入新條目。若翻譯記憶幾近空白,可能效用不大。\n隨著您編輯過的翻譯越來越多,翻譯記憶隨之增長,\n效用會越來越大。"
+
+msgid "Use suggestions from online collaborative TM"
+msgstr "使用線上協作的翻譯記憶給予建議"
+
+msgid "Poedit uses a large online translation memory that includes both contributed human translations and state-of-the-art machine translations."
+msgstr "Poedit 使用大型的線上翻譯記憶,其中包括人工翻譯與先進的機器翻譯。"
+
+msgid "Contribute my translations to the online TM"
+msgstr "貢獻我的翻譯給線上翻譯記憶使用"
+
+msgid "Keep my translations private"
+msgstr "將我的翻譯保留私人使用"
+
+msgid "Ask me for each file individually"
+msgstr "請個別檔案都詢問我"
+
+msgid "Terms of Service"
+msgstr "服務條款"
+
+#. TRANSLATORS: This is part of footer that says in full "powered by MyMemory", with the MyMemory part being a logo
+msgid "powered by"
+msgstr "提供者"
msgid "Stored translations:"
msgstr "儲存的翻譯:"
@@ -975,23 +1224,16 @@ msgstr "重設翻譯記憶"
msgid "Are you sure you want to reset the translation memory?"
msgstr "您確定要重設翻譯記憶?"
-msgid ""
-"Resetting the translation memory will irrevocably delete all stored "
-"translations from it. You can’t undo this operation."
+msgid "Resetting the translation memory will irrevocably delete all stored translations from it. You can’t undo this operation."
msgstr "重設翻譯記憶將刪除所有儲存過的翻譯,且不可回復。您將無法還原這項操作。"
-msgid "Cancel"
-msgstr "取消"
-
#. TRANSLATORS: This is abbreviation of "Translation Memory" used in Preferences on OS X.
#. Long text looks weird there, too short (like TM) too, but less so. "General" is about ideal
#. length there.
msgid "TM"
msgstr "翻譯記憶"
-msgid ""
-"Source code extractors are used to find translatable strings in the source "
-"code files and extract them so that they can be translated."
+msgid "Source code extractors are used to find translatable strings in the source code files and extract them so that they can be translated."
msgstr "源碼抽取器用於尋找源瑪檔中的可譯字串,並將之抽取出來以便翻譯。"
msgid "New"
@@ -1000,29 +1242,33 @@ msgstr "新增"
msgid "Edit"
msgstr "編輯"
+msgid "Delete extractor"
+msgstr "刪除抽取器"
+
+#, c-format
+msgid "Are you sure you want to delete the “%s” extractor?"
+msgstr "您確定要刪除「%s」抽取器?"
+
msgid "Extractors"
msgstr "抽取器"
+msgid "Accounts"
+msgstr "帳號"
+
msgid "Automatically check for updates"
msgstr "自動檢查更新"
msgid "Include beta versions"
msgstr "包括 Beta 版"
-msgid ""
-"Beta versions contain the latest new features and improvements, but may be a "
-"bit less stable."
+msgid "Beta versions contain the latest new features and improvements, but may be a bit less stable."
msgstr "Beta 版本包含最新功能和改善,但可能有點不穩定。"
msgid "Updates"
msgstr "更新"
-msgid ""
-"These settings affect internal formatting of PO files. Adjust them if you "
-"have specific requirements e.g. because of version control."
-msgstr ""
-"這些設定會影響 PO 檔案的內部格式化處理方式。如果您有特定需求再調整它們,例"
-"如:需要行版本控制。"
+msgid "These settings affect internal formatting of PO files. Adjust them if you have specific requirements e.g. because of version control."
+msgstr "這些設定會影響 PO 檔案的內部格式化處理方式。如果您有特定需求再調整它們,例如:需要行版本控制。"
msgid "Line endings:"
msgstr "列結尾:"
@@ -1043,6 +1289,30 @@ msgstr "保留既有檔案的格式化處理方式"
msgid "Advanced"
msgstr "進階"
+msgid "Add Files..."
+msgstr "加入檔案..."
+
+msgid "Add files..."
+msgstr "加入檔案..."
+
+msgid "Add Folders..."
+msgstr "加入資料夾..."
+
+msgid "Add folders..."
+msgstr "加入資料夾..."
+
+msgid "Add Wildcard..."
+msgstr "加入萬用字符..."
+
+msgid "Add wildcard..."
+msgstr "加入萬用字符..."
+
+msgid "<big>Drag and Drop Folders Here</big>\n\nor use the + button"
+msgstr "<big>請將資料夾拖放到這裡</big>\n\n或是使用 + 鈕"
+
+msgid "<big>Drag and drop folders here</big>\n\nor use the + button"
+msgstr "<big>請將資料夾拖放到這裡</big>\n\n或是使用 + 鈕"
+
msgid "Additional keywords"
msgstr "額外的關鍵字"
@@ -1064,6 +1334,9 @@ msgstr "UTF-8 (建議採用)"
msgid "Please save the file first. This section cannot be edited until then."
msgstr "請先儲存檔案。直到儲存之後,此區段才能編輯。"
+msgid "Comment:"
+msgstr "註解:"
+
msgid "OK"
msgstr "確定"
@@ -1073,42 +1346,6 @@ msgstr "清除(&L)"
msgid "Clear the comment"
msgstr "清除註解"
-msgid "Find..."
-msgstr "尋找..."
-
-msgid "String to find:"
-msgstr "要尋找的字串:"
-
-msgid "Case sensitive"
-msgstr "區分大小寫"
-
-msgid "Start from the first item"
-msgstr "從第一個項目開始"
-
-msgid "Whole words only"
-msgstr "只針對整個單詞"
-
-msgid "Find in original strings"
-msgstr "從原文字串中尋找"
-
-msgid "Find in translations"
-msgstr "從譯文中尋找"
-
-msgid "Find in comments"
-msgstr "從註解中尋找"
-
-msgid "Find in automatic comments"
-msgstr "從自帶註解中尋找"
-
-msgid "Close"
-msgstr "關閉"
-
-msgid "< &Previous"
-msgstr "< 上一個(&P)"
-
-msgid "&Next >"
-msgstr "下一個(&N) >"
-
msgid "Create new translations project"
msgstr "建立新的翻譯專案"
@@ -1145,9 +1382,6 @@ msgstr "關閉(&C)"
msgid "E&xit"
msgstr "離開(&X)"
-msgid "Quit"
-msgstr "退出"
-
msgid "&New..."
msgstr "新增(&N)..."
@@ -1157,12 +1391,24 @@ msgstr "從 &POT/PO 檔新增..."
msgid "New From &POT/PO File..."
msgstr "從 &POT/PO 檔新增..."
+msgid "New WordPress translation..."
+msgstr "新增 WordPress 翻譯..."
+
+msgid "New WordPress Translation..."
+msgstr "新增 WordPress 翻譯..."
+
msgid "&Open..."
msgstr "開啟(&O)..."
msgid "Open Recent"
msgstr "開啟最近檔案"
+msgid "Open from Crowdin..."
+msgstr "從 Crowdin 開啟⋯"
+
+msgid "Open From Crowdin..."
+msgstr "從 Crowdin 開啟⋯"
+
msgid "&Save"
msgstr "儲存(&S)"
@@ -1181,6 +1427,9 @@ msgstr "匯出為 HTML(&X)..."
msgid "Check for updates..."
msgstr "檢查更新..."
+msgid "&License..."
+msgstr "授權(&L)..."
+
msgid "Catalogs &manager"
msgstr "編目檔管理員(&M)"
@@ -1211,14 +1460,17 @@ msgstr "顯示參照(&S)"
msgid "&Find..."
msgstr "尋找(&F)..."
+msgid "Replace..."
+msgstr "取代⋯"
+
msgid "Find next"
msgstr "往後尋找"
msgid "Find previous"
msgstr "往前尋找"
-msgid "Find"
-msgstr "尋找"
+msgid "Find and Replace..."
+msgstr "尋找與取代⋯"
msgid "Find Next"
msgstr "往後尋找"
@@ -1259,6 +1511,12 @@ msgstr "依情境分組(&G)"
msgid "&Group By Context"
msgstr "依情境分組(&)"
+msgid "Entries with errors first"
+msgstr "錯誤條目優先"
+
+msgid "Entries with Errors First"
+msgstr "錯誤條目優先"
+
msgid "&Untranslated entries first"
msgstr "先顯示未翻譯的條目(&U)"
@@ -1268,6 +1526,9 @@ msgstr "先顯示未翻譯的條目(&U)"
msgid "Show sidebar"
msgstr "顯示側邊欄"
+msgid "Show status bar"
+msgstr "顯示狀態列"
+
msgid "C&atalog"
msgstr "編目檔(&A)"
@@ -1283,6 +1544,9 @@ msgstr "從 &POT 檔更新..."
msgid "Update from &POT File..."
msgstr "從 &POT 檔更新..."
+msgid "Sync with Crowdin"
+msgstr "與 Crowdin 同步"
+
msgid "Fill missing translations from &TM..."
msgstr "從翻譯記憶填入缺少的翻譯(&T)..."
@@ -1301,6 +1565,9 @@ msgstr "驗證譯文(&V)"
msgid "&Validate Translations"
msgstr "驗證譯文(&V)"
+msgid "&Statistics"
+msgstr "統計(&S)"
+
msgid "&Properties..."
msgstr "屬性(&P)..."
@@ -1346,6 +1613,12 @@ msgstr "&GNU gettext 手冊"
msgid "&GNU gettext Manual"
msgstr "&GNU gettext 手冊"
+msgid "Email &support..."
+msgstr "電子郵件支援(&S)..."
+
+msgid "Email &Support..."
+msgstr "電子郵件支援(&S)..."
+
msgid "&About Poedit"
msgstr "關於 Poedit(&A)"
@@ -1364,52 +1637,35 @@ msgstr "喚起:"
msgid "Command to extract translations:"
msgstr "抽取翻譯用的指令:"
-msgid ""
-"This is the command used to launch the extractor.\n"
-"%o expands to the name of output file, %K to list\n"
-"of keywords, %F to list of input files,\n"
-"%C to charset flag (see below)."
-msgstr ""
-"這是用來啟動抽取器的指令。\n"
-"%o 會展開成輸出檔的名稱,%K 是\n"
-"關鍵字清單,%F 是輸入檔清單,\n"
-"%C 是字集旗標 (參閱下方)。"
+msgid "This is the command used to launch the extractor.\n%o expands to the name of output file, %K to list\nof keywords, %F to list of input files,\n%C to charset flag (see below)."
+msgstr "這是用來啟動抽取器的指令。\n%o 會展開成輸出檔的名稱,%K 是\n關鍵字清單,%F 是輸入檔清單,\n%C 是字集旗標 (參閱下方)。"
msgid "An item in keywords list:"
msgstr "關鍵字清單中的一個項目:"
-msgid ""
-"This will be attached to the command line once\n"
-"for each keyword. %k expands to the keyword."
-msgstr ""
-"這個內容會按照每個關鍵字逐次\n"
-"附到命令列中。%k 會展開成關鍵字。"
+msgid "This will be attached to the command line once\nfor each keyword. %k expands to the keyword."
+msgstr "這個內容會按照每個關鍵字逐次\n附到命令列中。%k 會展開成關鍵字。"
msgid "An item in input files list:"
msgstr "輸入檔清單中的一個項目:"
#, c-format
-msgid ""
-"This will be attached to the command line once\n"
-"for each input file. %f expands to the filename."
-msgstr ""
-"這個內容會按照每個輸入檔逐次\n"
-"附到命令列中。%f 會展開成檔名。"
+msgid "This will be attached to the command line once\nfor each input file. %f expands to the filename."
+msgstr "這個內容會按照每個輸入檔逐次\n附到命令列中。%f 會展開成檔名。"
msgid "Source code charset:"
msgstr "源碼字集:"
#, c-format
-msgid ""
-"This will be attached to the command line\n"
-"only if source codecharset was given. %c expands to charset value."
-msgstr ""
-"只有在給定源碼字集時,這個內容\n"
-"才會附到命令列中。%c 會展開成字集的值。"
+msgid "This will be attached to the command line\nonly if source codecharset was given. %c expands to charset value."
+msgstr "只有在給定源碼字集時,這個內容\n才會附到命令列中。%c 會展開成字集的值。"
msgid "Catalog properties"
msgstr "編目檔屬性"
+msgid "Project name and version:"
+msgstr "專案名稱及版本:"
+
msgid "Plural Forms:"
msgstr "複數形式:"
@@ -1422,6 +1678,15 @@ msgstr "使用自訂表述式"
msgid "Learn about plural forms"
msgstr "瞭解複數型態"
+msgid "Charset:"
+msgstr "字集:"
+
+msgid "Team:"
+msgstr "團隊:"
+
+msgid "Team's email address:"
+msgstr "團隊的電子郵件地址:"
+
msgid "Translation properties"
msgstr "譯文屬性"
@@ -1434,12 +1699,8 @@ msgstr "基礎路徑:"
msgid "Sources paths"
msgstr "來源路徑"
-msgid ""
-"Use these keywords (function names) to recognize translatable strings\n"
-"in source files:"
-msgstr ""
-"在來源檔案中使用這些關鍵字 (函式名稱) 來\n"
-"識別可翻譯字串:"
+msgid "Use these keywords (function names) to recognize translatable strings\nin source files:"
+msgstr "在來源檔案中使用這些關鍵字 (函式名稱) 來\n識別可翻譯字串:"
msgid "Learn about gettext keywords"
msgstr "學習 gettext 關鍵字"
@@ -1450,22 +1711,14 @@ msgstr "來源關鍵字"
msgid "Update summary"
msgstr "更新摘要"
-msgid ""
-"These strings were found in the sources but were not in the catalog.\n"
-"Poedit will add them to the catalog now."
-msgstr ""
-"在來源中發現這些字串,但編目檔中卻沒有。\n"
-"Poedit 現在會將它們加入編目檔中。"
+msgid "These strings were found in the sources but were not in the catalog.\nPoedit will add them to the catalog now."
+msgstr "在來源中發現這些字串,但編目檔中卻沒有。\nPoedit 現在會將它們加入編目檔中。"
msgid "New strings"
msgstr "新增字串"
-msgid ""
-"These strings are no longer in the sources.\n"
-"Poedit will remove them from the catalog now."
-msgstr ""
-"這些字串已不在來源之中。\n"
-"Poedit 現在會從編目檔中將之移除。"
+msgid "These strings are no longer in the sources.\nPoedit will remove them from the catalog now."
+msgstr "這些字串已不在來源之中。\nPoedit 現在會從編目檔中將之移除。"
msgid "Obsolete strings"
msgstr "過時字串"
@@ -1485,6 +1738,12 @@ msgstr "驗證"
msgid "Check for errors in the translation"
msgstr "檢查譯文中是否有錯誤"
+msgid "Statistics"
+msgstr "統計"
+
+msgid "Show translation statistics"
+msgstr "顯示翻譯統計數據"
+
msgid "Update"
msgstr "更新"
@@ -1494,24 +1753,40 @@ msgstr "更新編目檔 - 與來源同步"
msgid "Toggled if selected string has fuzzy translation"
msgstr "切換所選字串是否包含模糊譯文"
-msgid "Show or hide the sidebar."
+msgid "Sidebar"
+msgstr "側邊欄"
+
+msgid "Show or hide the sidebar"
msgstr "顯示或隱藏側邊欄。"
#. TRANSLATORS: "Previous" as in used in the past, now replaced with newer.
msgid "Previous source text:"
msgstr "過去的來源文字:"
-msgid ""
-"The old source text (before it changed during an update) that the fuzzy "
-"translation corresponds to."
+msgid "The old source text (before it changed during an update) that the fuzzy translation corresponds to."
msgstr "模糊翻譯所對應之舊的 (在更新並改動之前的) 來源文字。"
+msgid "Notes for translators:"
+msgstr "給譯者的備註:"
+
msgid "Add comment"
msgstr "加入評註"
msgid "Add Comment"
msgstr "加入評註"
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(from your TM)"
+msgstr "(取自您的翻譯記憶)"
+
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(machine translation)"
+msgstr "(機器翻譯)"
+
+#. TRANSLATORS: Shown as hover tip near a suggestion to indicate where it comes from; keep short
+msgid "(human translation)"
+msgstr "(人類翻譯)"
+
msgid "Translation suggestions:"
msgstr "譯文建議:"
@@ -1526,6 +1801,83 @@ msgstr "找不到符合項目"
msgid "This string was found in Poedit’s translation memory."
msgstr "此字串已在 Poedit 的翻譯記憶中找到。"
+msgid "This suggestion was contributed by another translator to the online TM."
+msgstr "此建議是由其他貢獻翻譯給線上翻譯記憶使用的譯者所提供。"
+
+msgid "This suggestion was machine-translated online."
+msgstr "此建議是由線上的機器翻譯所提供。"
+
+#, c-format
+msgid "%d out of %d online suggestion left."
+msgid_plural "%d out of %d online suggestions left."
+msgstr[0] "還剩下 %d 個線上建議,共 %d 個。"
+
+msgid "Remove this limitation"
+msgstr "移除這項限制"
+
+msgid "Not showing additional online suggestions."
+msgstr "不要顯示額外的線上建議。"
+
+msgid "Unlock online suggestions"
+msgstr "解除線上建議的限制"
+
+msgid "Exceeded online TM daily limit."
+msgstr "超過線上翻譯記憶的每日上限。"
+
+msgid "Connect to the Internet to get additional suggestions."
+msgstr "連接網際網路取得額外的翻譯建議。"
+
+#. TRANSLATORS: Label indicating that translations made in the current file are contributed to the online translation memory. Related to the "Contribute my translations to the online TM" string.
+msgid "Contributing"
+msgstr "貢獻翻譯"
+
+msgid "Your translations are contributed to the online translation memory as you make them. Thanks for making the suggestions better!"
+msgstr "當您寫下翻譯時,您也將翻譯貢獻到線上的翻譯記憶中。感謝您的參與,讓翻譯建議變得更好!"
+
+#. TRANSLATORS: Label indicating that the current file
+msgid "Private"
+msgstr "私人使用"
+
+msgid "Translations from this file are not shared with the online translation memory."
+msgstr "此檔案中的翻譯並不會分享到線上的翻譯記憶中。"
+
+msgid "Privacy settings"
+msgstr "隱私設定"
+
+#, c-format
+msgid "While editing the file “%s”:"
+msgstr "編輯「%s」檔案時:"
+
+msgid "Items"
+msgstr "項目"
+
+msgid "Words"
+msgstr "單詞"
+
+msgid "Translated"
+msgstr "已譯"
+
+msgid "Needs review (fuzzy)"
+msgstr "需要校閱 (模糊)"
+
+msgid "Translations with errors"
+msgstr "有誤的譯文"
+
+msgid "Source Text"
+msgstr "來源文字"
+
+msgid "Strings in source language"
+msgstr "來源語言中的字串"
+
+msgid "Not translated"
+msgstr "尚未翻譯"
+
+msgid "Copy to clipboard"
+msgstr "複製到剪貼簿"
+
+msgid "Copy to Clipboard"
+msgstr "複製到剪貼簿"
+
#, c-format
msgid "(New: %i, obsolete: %i)"
msgstr "(新增:%i,棄用:%i)"
@@ -1547,12 +1899,8 @@ msgstr "轉移離開狀態:%d"
msgid "Poedit needs to convert your translation memory to a new format."
msgstr "Poedit 需要將您的翻譯記憶轉換為新格式。"
-msgid ""
-"This must be done before Poedit can start. It may take a few minutes if you "
-"have lots of translations stored, but should normally be much faster."
-msgstr ""
-"這必須在 Poedit 啟動前完成。如果您已儲存大量譯文可能會花上幾分鐘,但正常來說"
-"會更快許多。"
+msgid "This must be done before Poedit can start. It may take a few minutes if you have lots of translations stored, but should normally be much faster."
+msgstr "這必須在 Poedit 啟動前完成。如果您已儲存大量譯文可能會花上幾分鐘,但正常來說會更快許多。"
msgid "Proceed"
msgstr "繼續"
@@ -1561,50 +1909,54 @@ msgid "Translation memory migration failed."
msgstr "翻譯記憶轉移失敗。"
#, c-format
-msgid ""
-"Your translation memory data couldn't be migrated. The error was:\n"
-"\n"
-"%s\n"
-"Please email help at poedit.net and we’ll get it fixed."
-msgstr ""
-"您的翻譯記憶資料無法轉移。錯誤為:\n"
-"\n"
-"%s\n"
-"請寄封電子郵件到 help at poedit.net,我們會試著修好。"
+msgid "Your translation memory data couldn't be migrated. The error was:\n\n%s\nPlease email help at poedit.net and we’ll get it fixed."
+msgstr "您的翻譯記憶資料無法轉移。錯誤為:\n\n%s\n請寄封電子郵件到 help at poedit.net,我們會試著修好。"
msgid "Cannot create temporary directory."
msgstr "無法建立暫存目錄。"
+msgid "Check theme or plugin compatibility"
+msgstr "檢查主題或外掛的相容性"
+
msgid "Welcome to Poedit"
msgstr "歡迎使用 Poedit"
+msgid "Upgrade to Pro"
+msgstr "升級至 Pro"
+
+msgid "Upgrade to Poedit Pro to get additional features and support Poedit's development."
+msgstr "升級至 Poedit Pro 取得其他功能,並支援 Poedit 的開發。"
+
msgid "Edit a translation"
msgstr "編輯譯文"
msgid "Open an existing PO file and edit the translation."
msgstr "開啟現有的 PO 檔並編輯譯文。"
-msgid "Create new translation"
-msgstr "建立新翻譯"
-
-msgid ""
-"Take an existing PO file or POT template and create a new translation from "
-"it."
+msgid "Take an existing PO file or POT template and create a new translation from it."
msgstr "從既有的 PO 檔或 POT 模板檔建立新翻譯。"
+msgid "Translate WordPress theme or plugin"
+msgstr "翻譯 WordPress 主題或外掛"
+
+#. TRANSLATORS: Please don't use any form of "automatically" in the translation, it would mislead people.
+msgid "Create a new translation. Poedit will set everything up; you can focus on translating."
+msgstr "建立新翻譯。Poedit 會設好每個項目;您可以專注於翻譯本身。"
+
+msgid "Collaborate on a translation with Crowdin"
+msgstr "使用 Crowdin 協作翻譯"
+
+msgid "Download a file from Crowdin project, translate and sync your changes back."
+msgstr "從 Crowdin 下載檔案,翻譯,再將更動同步回去。"
+
+msgid "What is Crowdin?"
+msgstr "什麼是 Crowdin?"
+
msgid "There are no translations. That’s unusual."
msgstr "沒有譯文。這並不尋常。"
-msgid ""
-"Translatable entries aren't added manually in the Gettext system, but are "
-"automatically extracted\n"
-"from source code. This way, they stay up to date and accurate.\n"
-"Translators typically use PO template files (POTs) prepared for them by the "
-"developer."
-msgstr ""
-"可翻譯條目並非以手動方式加入 Gettext 系統中,而是自動從源碼中抽出。\n"
-"如此一來,條目不只能維持在最新狀態,還能保持精確。\n"
-"譯者通常使用開發者提供的 PO 模板檔 (POT)。"
+msgid "Translatable entries aren't added manually in the Gettext system, but are automatically extracted\nfrom source code. This way, they stay up to date and accurate.\nTranslators typically use PO template files (POTs) prepared for them by the developer."
+msgstr "可翻譯條目並非以手動方式加入 Gettext 系統中,而是自動從源碼中抽出。\n如此一來,條目不只能維持在最新狀態,還能保持精確。\n譯者通常使用開發者提供的 PO 模板檔 (POT)。"
msgid "(Learn more about GNU gettext)"
msgstr "(深入瞭解 GNU gettext)"
@@ -1618,8 +1970,7 @@ msgstr "從 POT 檔更新"
msgid "Take translatable strings from an existing POT template."
msgstr "從既有的 POT 模板檔拿取可翻譯字串。"
-msgid ""
-"You can also extract translatable strings directly from the source code:"
+msgid "You can also extract translatable strings directly from the source code:"
msgstr "您也可以直接從源碼抽出可翻譯字串:"
msgid "Extract from sources"
@@ -1627,3 +1978,105 @@ msgstr "從來源更新"
msgid "Configure source code extraction in Properties."
msgstr "在 [屬性] 中設定源碼抽出項目。"
+
+#, c-format
+msgid "Failed to read file '%s'."
+msgstr "無法讀取檔案「%s」。"
+
+#, c-format
+msgid "Confused by ambiguous values of \"%s\" in %s."
+msgstr "因「%s」(在 %s 中) 的值含糊不清而困惑。"
+
+#, c-format
+msgid "Couldn't detect POs location for \"%s\"."
+msgstr "無法偵測「%s」的 PO 位置。"
+
+#, c-format
+msgid "The \"%s\" theme isn't localization-ready."
+msgstr "「%s」主題尚未本地化就緒。"
+
+msgid "Confused: multiple main plugin files."
+msgstr "困惑:多份主要外掛檔。"
+
+#, c-format
+msgid "The \"%s\" plugin isn't localization-ready."
+msgstr "「%s」外掛尚未本地化就緒。"
+
+#, c-format
+msgid "Couldn't detect translation domain of the \"%s\" plugin."
+msgstr "無法偵測「%s」外掛的譯文領域。"
+
+msgid "Found neither WordPress theme nor plugin in the folder."
+msgstr "資料夾中沒找到 WordPress 主題,也沒找到 WordPress 外掛。"
+
+#, c-format
+msgid "Translations folder (%s) doesn't exist."
+msgstr "翻譯資料夾 (%s) 不存在。"
+
+msgid "<big>Drag and drop <b>theme or plugin folder</b> here</big>\n\nor use the “Choose folder” button"
+msgstr "<big>請將<b>主題或外掛資料夾</b>拖放到這裡</big>\n\n或使用「選擇資料夾」按鈕"
+
+msgid "<big>Drag and Drop <b>Theme or Plugin Folder</b> Here</big>\n\nor use the “Choose Folder” button"
+msgstr "<big>請將<b>主題或外掛資料夾</b>拖放到這裡</big>\n\n或使用「選擇資料夾」按鈕"
+
+#, c-format
+msgid "Folder “%s”"
+msgstr "「%s」資料夾"
+
+msgid "Choose Folder..."
+msgstr "選擇資料夾..."
+
+msgid "Choose folder..."
+msgstr "選擇資料夾..."
+
+msgid "Create a new translation"
+msgstr "建立新的翻譯"
+
+msgid "Choose this if you want to translate the theme or plugin into your language."
+msgstr "若您想要將主題或外掛翻譯成您的語言,則請選擇這個項目。"
+
+msgid "Create a POT"
+msgstr "建立 POT"
+
+msgid "This option is for theme and plugin developers. Poedit will create an empty template (POT) that translations can be based on."
+msgstr "這個選項是給主題與外掛的開發者使用的。Poedit 會製作空的模板檔 (POT),翻譯則是根據此模板再製而成。"
+
+msgid "Continue"
+msgstr "繼續"
+
+msgid "Failed to extract WordPress information."
+msgstr "無法抽出 WordPress 資訊。"
+
+msgid "WordPress error"
+msgstr "WordPress 錯誤"
+
+#, c-format
+msgid "Poedit couldn’t understand the content of the folder you selected. This may be a problem with the plugin/theme or it may be Poedit being silly. The error is:\n\n • %s\n\nPlease email help at poedit.net and we’ll sort it out."
+msgstr "Poedit 無法瞭解您所選資料夾的內容。這可能是外掛/主題有問題,或是 Poedit 耍笨。錯誤為:\n\n • %s\n\n請寄送電子郵件至 help at poedit.net ,我們會試著解決。"
+
+#. TRANSLATORS: This is a button that sends an email to support when clicked
+msgid "Email support"
+msgstr "電子郵件支援"
+
+msgid "View log"
+msgstr "檢視記錄"
+
+#. TRANSLATORS: This is a button that sends an email to support when clicked
+msgid "Email Support"
+msgstr "電子郵件支援"
+
+msgid "View Log"
+msgstr "檢視記錄"
+
+msgid "WordPress Errors Log"
+msgstr "WordPress 錯誤記錄"
+
+msgid "Please email this log to help at poedit.net. Thank you!"
+msgstr "請將此記錄以電子郵件寄給 help at poedit.net。感謝您!"
+
+msgid "Sync"
+msgstr "同步"
+
+msgid "Synchronize the translation with Crowdin"
+msgstr "同步 Crowdin 翻譯"
+
diff --git a/poedit.desktop b/poedit.desktop
index 4428da2..2fb1d17 100644
--- a/poedit.desktop
+++ b/poedit.desktop
@@ -15,7 +15,7 @@ GenericName[ky]=Gettext каталогдор редактору
GenericName[kk]=Gettext каталогтар түзетушісі
GenericName[cs]=Editor katalogů Gettext
GenericName[vi]=Phần mềm sửa bản dịch Gettext
-MimeType=application/x-po;application/x-gettext;text/x-gettext-translation;text/x-po;application/x-gettext-translation;
+MimeType=application/x-po;application/x-gettext;text/x-gettext-translation;text/x-po;application/x-gettext-translation;text/x-gettext-translation-template;
Exec=poedit %F
Icon=poedit
Terminal=false
diff --git a/src/Makefile.am b/src/Makefile.am
index 93215f8..77ae6f7 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,12 +1,28 @@
DB_LIBS = @DB_LIBS@
LUCENE_LIBS = @LUCENE_LIBS@
-WINDRES = @WINDRES@
WX_LIBS = @WX_LIBS@
-RC_WX_INCLUDES = @RC_WX_INCLUDES@
bin_PROGRAMS = poedit
+
+if MIGRATE_LEGACY_TM
libexec_PROGRAMS = poedit-dump-legacy-tm
+poedit_dump_legacy_tm_SOURCES = tm/dump_legacy_tm.cpp
+poedit_dump_legacy_tm_LDADD = $(DB_LIBS)
+endif
+
+WX_BACKPORT_SRC = wx_backports/wx_gtk_activityindicator.cpp \
+ wx_backports/activityindicator.h \
+ wx_backports/gtk_activityindicator.h
+
+if HAVE_CPPREST
+CROWDIN_SUPPORT_SRC = \
+ http_client.h http_client.cpp http_client_casablanca.cpp \
+ crowdin_client.h crowdin_client.cpp \
+ crowdin_gui.h crowdin_gui.cpp \
+ keychain/keytar_posix.cc keychain/keytar.h
+CROWDIN_SUPPORT_LIBS = $(CPPREST_LIBS) $(LIBSECRET_LIBS)
+endif
poedit_SOURCES = attentionbar.cpp attentionbar.h \
errorbar.cpp errorbar.h \
@@ -19,15 +35,14 @@ poedit_SOURCES = attentionbar.cpp attentionbar.h \
spellchecking.h spellchecking.cpp \
findframe.cpp findframe.h commentdlg.h commentdlg.cpp \
tm/suggestions.cpp tm/suggestions.h tm/transmem.cpp tm/transmem.h tm/tm_migrate.cpp \
- tm/ThreadPool.h \
manager.h manager.cpp chooselang.cpp chooselang.h \
export_html.cpp icons.h icons.cpp \
pluralforms/pl_evaluate.cpp pluralforms/pl_evaluate.h \
edlistctrl.cpp edlistctrl.h digits.h \
cat_sorting.cpp cat_sorting.h \
- utility.cpp utility.h \
+ utility.cpp utility.h ThreadPool.h concurrency.cpp concurrency.h \
version.h errors.h \
- icuhelpers.h logcapture.h \
+ str_helpers.h logcapture.h \
language.cpp language.h language_impl_legacy.h language_impl_plurals.h \
languagectrl.cpp languagectrl.h \
welcomescreen.cpp welcomescreen.h \
@@ -36,15 +51,14 @@ poedit_SOURCES = attentionbar.cpp attentionbar.h \
text_control.h text_control.cpp \
customcontrols.cpp customcontrols.h \
hidpi.cpp hidpi.h \
- main_toolbar.h wx/main_toolbar.cpp
+ main_toolbar.h wx/main_toolbar.cpp \
+ $(CROWDIN_SUPPORT_SRC) \
+ $(WX_BACKPORT_SRC)
nodist_poedit_SOURCES = compiled_xrc.cpp
-poedit_LDADD = $(RESOURCE_FILES) $(WX_LIBS) $(LUCENE_LIBS) $(EXPAT_LIBS) \
+poedit_LDADD = $(WX_LIBS) $(LUCENE_LIBS) $(EXPAT_LIBS) $(CLD2_LIBS) $(CROWDIN_SUPPORT_LIBS) \
-lboost_regex -lboost_system
-poedit_dump_legacy_tm_SOURCES = tm/dump_legacy_tm.cpp
-poedit_dump_legacy_tm_LDADD = $(DB_LIBS)
-
XRC_RESOURCES = \
$(srcdir)/resources/menus.xrc \
$(srcdir)/resources/prefs.xrc \
@@ -52,7 +66,6 @@ XRC_RESOURCES = \
$(srcdir)/resources/properties.xrc \
$(srcdir)/resources/summary.xrc \
$(srcdir)/resources/toolbar.xrc \
- $(srcdir)/resources/find.xrc \
$(srcdir)/resources/comment.xrc \
$(srcdir)/resources/manager.xrc
diff --git a/src/Makefile.in b/src/Makefile.in
index 4be2d36..d5c1d7f 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -35,7 +35,8 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
bin_PROGRAMS = poedit$(EXEEXT)
-libexec_PROGRAMS = poedit-dump-legacy-tm$(EXEEXT)
+ at MIGRATE_LEGACY_TM_TRUE@libexec_PROGRAMS = \
+ at MIGRATE_LEGACY_TM_TRUE@ poedit-dump-legacy-tm$(EXEEXT)
subdir = src
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -50,7 +51,40 @@ CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(libexecdir)"
PROGRAMS = $(bin_PROGRAMS) $(libexec_PROGRAMS)
+am__poedit_SOURCES_DIST = attentionbar.cpp attentionbar.h errorbar.cpp \
+ errorbar.h catalog.cpp catalog.h edapp.cpp edapp.h edframe.cpp \
+ edframe.h fileviewer.cpp fileviewer.h extractor.cpp \
+ extractor.h prefsdlg.cpp prefsdlg.h propertiesdlg.cpp \
+ propertiesdlg.h progressinfo.h progressinfo.cpp digger.h \
+ digger.cpp gexecute.h gexecute.cpp summarydlg.h summarydlg.cpp \
+ spellchecking.h spellchecking.cpp findframe.cpp findframe.h \
+ commentdlg.h commentdlg.cpp tm/suggestions.cpp \
+ tm/suggestions.h tm/transmem.cpp tm/transmem.h \
+ tm/tm_migrate.cpp manager.h manager.cpp chooselang.cpp \
+ chooselang.h export_html.cpp icons.h icons.cpp \
+ pluralforms/pl_evaluate.cpp pluralforms/pl_evaluate.h \
+ edlistctrl.cpp edlistctrl.h digits.h cat_sorting.cpp \
+ cat_sorting.h utility.cpp utility.h ThreadPool.h \
+ concurrency.cpp concurrency.h version.h errors.h str_helpers.h \
+ logcapture.h language.cpp language.h language_impl_legacy.h \
+ language_impl_plurals.h languagectrl.cpp languagectrl.h \
+ welcomescreen.cpp welcomescreen.h syntaxhighlighter.cpp \
+ syntaxhighlighter.h sidebar.cpp sidebar.h text_control.h \
+ text_control.cpp customcontrols.cpp customcontrols.h hidpi.cpp \
+ hidpi.h main_toolbar.h wx/main_toolbar.cpp http_client.h \
+ http_client.cpp http_client_casablanca.cpp crowdin_client.h \
+ crowdin_client.cpp crowdin_gui.h crowdin_gui.cpp \
+ keychain/keytar_posix.cc keychain/keytar.h \
+ wx_backports/wx_gtk_activityindicator.cpp \
+ wx_backports/activityindicator.h \
+ wx_backports/gtk_activityindicator.h
am__dirstamp = $(am__leading_dot)dirstamp
+ at HAVE_CPPREST_TRUE@am__objects_1 = http_client.$(OBJEXT) \
+ at HAVE_CPPREST_TRUE@ http_client_casablanca.$(OBJEXT) \
+ at HAVE_CPPREST_TRUE@ crowdin_client.$(OBJEXT) \
+ at HAVE_CPPREST_TRUE@ crowdin_gui.$(OBJEXT) \
+ at HAVE_CPPREST_TRUE@ keychain/keytar_posix.$(OBJEXT)
+am__objects_2 = wx_backports/wx_gtk_activityindicator.$(OBJEXT)
am_poedit_OBJECTS = attentionbar.$(OBJEXT) errorbar.$(OBJEXT) \
catalog.$(OBJEXT) edapp.$(OBJEXT) edframe.$(OBJEXT) \
fileviewer.$(OBJEXT) extractor.$(OBJEXT) prefsdlg.$(OBJEXT) \
@@ -62,19 +96,26 @@ am_poedit_OBJECTS = attentionbar.$(OBJEXT) errorbar.$(OBJEXT) \
manager.$(OBJEXT) chooselang.$(OBJEXT) export_html.$(OBJEXT) \
icons.$(OBJEXT) pluralforms/pl_evaluate.$(OBJEXT) \
edlistctrl.$(OBJEXT) cat_sorting.$(OBJEXT) utility.$(OBJEXT) \
- language.$(OBJEXT) languagectrl.$(OBJEXT) \
- welcomescreen.$(OBJEXT) syntaxhighlighter.$(OBJEXT) \
- sidebar.$(OBJEXT) text_control.$(OBJEXT) \
- customcontrols.$(OBJEXT) hidpi.$(OBJEXT) \
- wx/main_toolbar.$(OBJEXT)
+ concurrency.$(OBJEXT) language.$(OBJEXT) \
+ languagectrl.$(OBJEXT) welcomescreen.$(OBJEXT) \
+ syntaxhighlighter.$(OBJEXT) sidebar.$(OBJEXT) \
+ text_control.$(OBJEXT) customcontrols.$(OBJEXT) \
+ hidpi.$(OBJEXT) wx/main_toolbar.$(OBJEXT) $(am__objects_1) \
+ $(am__objects_2)
nodist_poedit_OBJECTS = compiled_xrc.$(OBJEXT)
poedit_OBJECTS = $(am_poedit_OBJECTS) $(nodist_poedit_OBJECTS)
am__DEPENDENCIES_1 =
+ at HAVE_CPPREST_TRUE@am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1) \
+ at HAVE_CPPREST_TRUE@ $(am__DEPENDENCIES_1)
poedit_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
- $(am__DEPENDENCIES_1)
-am_poedit_dump_legacy_tm_OBJECTS = tm/dump_legacy_tm.$(OBJEXT)
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+ $(am__DEPENDENCIES_2)
+am__poedit_dump_legacy_tm_SOURCES_DIST = tm/dump_legacy_tm.cpp
+ at MIGRATE_LEGACY_TM_TRUE@am_poedit_dump_legacy_tm_OBJECTS = \
+ at MIGRATE_LEGACY_TM_TRUE@ tm/dump_legacy_tm.$(OBJEXT)
poedit_dump_legacy_tm_OBJECTS = $(am_poedit_dump_legacy_tm_OBJECTS)
-poedit_dump_legacy_tm_DEPENDENCIES = $(am__DEPENDENCIES_1)
+ at MIGRATE_LEGACY_TM_TRUE@poedit_dump_legacy_tm_DEPENDENCIES = \
+ at MIGRATE_LEGACY_TM_TRUE@ $(am__DEPENDENCIES_1)
DEFAULT_INCLUDES = -I. at am__isrc@
depcomp = $(SHELL) $(top_srcdir)/admin/depcomp
am__depfiles_maybe = depfiles
@@ -108,14 +149,14 @@ am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(poedit_SOURCES) $(nodist_poedit_SOURCES) \
$(poedit_dump_legacy_tm_SOURCES)
-DIST_SOURCES = $(poedit_SOURCES) $(poedit_dump_legacy_tm_SOURCES)
+DIST_SOURCES = $(am__poedit_SOURCES_DIST) \
+ $(am__poedit_dump_legacy_tm_SOURCES_DIST)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-APPCAST_SUFFIX = @APPCAST_SUFFIX@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -123,7 +164,9 @@ AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
+CLD2_LIBS = @CLD2_LIBS@
CPPFLAGS = @CPPFLAGS@
+CPPREST_LIBS = @CPPREST_LIBS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
@@ -135,9 +178,11 @@ DEPDIR = @DEPDIR@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
+EGREP = @EGREP@
EXEEXT = @EXEEXT@
EXPAT_CFLAGS = @EXPAT_CFLAGS@
EXPAT_LIBS = @EXPAT_LIBS@
+GREP = @GREP@
GTKSPELL_CFLAGS = @GTKSPELL_CFLAGS@
GTKSPELL_LIBS = @GTKSPELL_LIBS@
HAVE_CXX11 = @HAVE_CXX11@
@@ -151,6 +196,8 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
+LIBSECRET_CFLAGS = @LIBSECRET_CFLAGS@
+LIBSECRET_LIBS = @LIBSECRET_LIBS@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LUCENE_CFLAGS = @LUCENE_CFLAGS@
@@ -243,8 +290,19 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-WINDRES = @WINDRES@
-RC_WX_INCLUDES = @RC_WX_INCLUDES@
+ at MIGRATE_LEGACY_TM_TRUE@poedit_dump_legacy_tm_SOURCES = tm/dump_legacy_tm.cpp
+ at MIGRATE_LEGACY_TM_TRUE@poedit_dump_legacy_tm_LDADD = $(DB_LIBS)
+WX_BACKPORT_SRC = wx_backports/wx_gtk_activityindicator.cpp \
+ wx_backports/activityindicator.h \
+ wx_backports/gtk_activityindicator.h
+
+ at HAVE_CPPREST_TRUE@CROWDIN_SUPPORT_SRC = \
+ at HAVE_CPPREST_TRUE@ http_client.h http_client.cpp http_client_casablanca.cpp \
+ at HAVE_CPPREST_TRUE@ crowdin_client.h crowdin_client.cpp \
+ at HAVE_CPPREST_TRUE@ crowdin_gui.h crowdin_gui.cpp \
+ at HAVE_CPPREST_TRUE@ keychain/keytar_posix.cc keychain/keytar.h
+
+ at HAVE_CPPREST_TRUE@CROWDIN_SUPPORT_LIBS = $(CPPREST_LIBS) $(LIBSECRET_LIBS)
poedit_SOURCES = attentionbar.cpp attentionbar.h \
errorbar.cpp errorbar.h \
catalog.cpp catalog.h edapp.cpp edapp.h edframe.cpp \
@@ -256,15 +314,14 @@ poedit_SOURCES = attentionbar.cpp attentionbar.h \
spellchecking.h spellchecking.cpp \
findframe.cpp findframe.h commentdlg.h commentdlg.cpp \
tm/suggestions.cpp tm/suggestions.h tm/transmem.cpp tm/transmem.h tm/tm_migrate.cpp \
- tm/ThreadPool.h \
manager.h manager.cpp chooselang.cpp chooselang.h \
export_html.cpp icons.h icons.cpp \
pluralforms/pl_evaluate.cpp pluralforms/pl_evaluate.h \
edlistctrl.cpp edlistctrl.h digits.h \
cat_sorting.cpp cat_sorting.h \
- utility.cpp utility.h \
+ utility.cpp utility.h ThreadPool.h concurrency.cpp concurrency.h \
version.h errors.h \
- icuhelpers.h logcapture.h \
+ str_helpers.h logcapture.h \
language.cpp language.h language_impl_legacy.h language_impl_plurals.h \
languagectrl.cpp languagectrl.h \
welcomescreen.cpp welcomescreen.h \
@@ -273,14 +330,14 @@ poedit_SOURCES = attentionbar.cpp attentionbar.h \
text_control.h text_control.cpp \
customcontrols.cpp customcontrols.h \
hidpi.cpp hidpi.h \
- main_toolbar.h wx/main_toolbar.cpp
+ main_toolbar.h wx/main_toolbar.cpp \
+ $(CROWDIN_SUPPORT_SRC) \
+ $(WX_BACKPORT_SRC)
nodist_poedit_SOURCES = compiled_xrc.cpp
-poedit_LDADD = $(RESOURCE_FILES) $(WX_LIBS) $(LUCENE_LIBS) $(EXPAT_LIBS) \
+poedit_LDADD = $(WX_LIBS) $(LUCENE_LIBS) $(EXPAT_LIBS) $(CLD2_LIBS) $(CROWDIN_SUPPORT_LIBS) \
-lboost_regex -lboost_system
-poedit_dump_legacy_tm_SOURCES = tm/dump_legacy_tm.cpp
-poedit_dump_legacy_tm_LDADD = $(DB_LIBS)
XRC_RESOURCES = \
$(srcdir)/resources/menus.xrc \
$(srcdir)/resources/prefs.xrc \
@@ -288,7 +345,6 @@ XRC_RESOURCES = \
$(srcdir)/resources/properties.xrc \
$(srcdir)/resources/summary.xrc \
$(srcdir)/resources/toolbar.xrc \
- $(srcdir)/resources/find.xrc \
$(srcdir)/resources/comment.xrc \
$(srcdir)/resources/manager.xrc
@@ -297,7 +353,7 @@ EXTRA_DIST = $(XRC_RESOURCES) pluralforms/COPYING
all: all-am
.SUFFIXES:
-.SUFFIXES: .cpp .o .obj
+.SUFFIXES: .cc .cpp .o .obj
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
@@ -429,6 +485,23 @@ wx/$(DEPDIR)/$(am__dirstamp):
@: > wx/$(DEPDIR)/$(am__dirstamp)
wx/main_toolbar.$(OBJEXT): wx/$(am__dirstamp) \
wx/$(DEPDIR)/$(am__dirstamp)
+keychain/$(am__dirstamp):
+ @$(MKDIR_P) keychain
+ @: > keychain/$(am__dirstamp)
+keychain/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) keychain/$(DEPDIR)
+ @: > keychain/$(DEPDIR)/$(am__dirstamp)
+keychain/keytar_posix.$(OBJEXT): keychain/$(am__dirstamp) \
+ keychain/$(DEPDIR)/$(am__dirstamp)
+wx_backports/$(am__dirstamp):
+ @$(MKDIR_P) wx_backports
+ @: > wx_backports/$(am__dirstamp)
+wx_backports/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) wx_backports/$(DEPDIR)
+ @: > wx_backports/$(DEPDIR)/$(am__dirstamp)
+wx_backports/wx_gtk_activityindicator.$(OBJEXT): \
+ wx_backports/$(am__dirstamp) \
+ wx_backports/$(DEPDIR)/$(am__dirstamp)
poedit$(EXEEXT): $(poedit_OBJECTS) $(poedit_DEPENDENCIES) $(EXTRA_poedit_DEPENDENCIES)
@rm -f poedit$(EXEEXT)
$(AM_V_CXXLD)$(CXXLINK) $(poedit_OBJECTS) $(poedit_LDADD) $(LIBS)
@@ -440,12 +513,14 @@ poedit-dump-legacy-tm$(EXEEXT): $(poedit_dump_legacy_tm_OBJECTS) $(poedit_dump_l
mostlyclean-compile:
-rm -f *.$(OBJEXT)
+ -rm -f keychain/keytar_posix.$(OBJEXT)
-rm -f pluralforms/pl_evaluate.$(OBJEXT)
-rm -f tm/dump_legacy_tm.$(OBJEXT)
-rm -f tm/suggestions.$(OBJEXT)
-rm -f tm/tm_migrate.$(OBJEXT)
-rm -f tm/transmem.$(OBJEXT)
-rm -f wx/main_toolbar.$(OBJEXT)
+ -rm -f wx_backports/wx_gtk_activityindicator.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
@@ -456,6 +531,9 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/chooselang.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/commentdlg.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/compiled_xrc.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/concurrency.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/crowdin_client.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/crowdin_gui.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/customcontrols.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/digger.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/edapp.Po at am__quote@
@@ -468,6 +546,8 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/findframe.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/gexecute.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/hidpi.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/http_client.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/http_client_casablanca.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/icons.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/language.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/languagectrl.Po at am__quote@
@@ -482,12 +562,30 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/text_control.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/utility.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/welcomescreen.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at keychain/$(DEPDIR)/keytar_posix.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at pluralforms/$(DEPDIR)/pl_evaluate.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at tm/$(DEPDIR)/dump_legacy_tm.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at tm/$(DEPDIR)/suggestions.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at tm/$(DEPDIR)/tm_migrate.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at tm/$(DEPDIR)/transmem.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at wx/$(DEPDIR)/main_toolbar.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at wx_backports/$(DEPDIR)/wx_gtk_activityindicator.Po at am__quote@
+
+.cc.o:
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+ at am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+ at am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ $<
+
+.cc.obj:
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+ at am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+ at am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.cpp.o:
@am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
@@ -620,12 +718,16 @@ clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+ -rm -f keychain/$(DEPDIR)/$(am__dirstamp)
+ -rm -f keychain/$(am__dirstamp)
-rm -f pluralforms/$(DEPDIR)/$(am__dirstamp)
-rm -f pluralforms/$(am__dirstamp)
-rm -f tm/$(DEPDIR)/$(am__dirstamp)
-rm -f tm/$(am__dirstamp)
-rm -f wx/$(DEPDIR)/$(am__dirstamp)
-rm -f wx/$(am__dirstamp)
+ -rm -f wx_backports/$(DEPDIR)/$(am__dirstamp)
+ -rm -f wx_backports/$(am__dirstamp)
-test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
maintainer-clean-generic:
@@ -637,7 +739,7 @@ clean-am: clean-binPROGRAMS clean-generic clean-libexecPROGRAMS \
mostlyclean-am
distclean: distclean-am
- -rm -rf ./$(DEPDIR) pluralforms/$(DEPDIR) tm/$(DEPDIR) wx/$(DEPDIR)
+ -rm -rf ./$(DEPDIR) keychain/$(DEPDIR) pluralforms/$(DEPDIR) tm/$(DEPDIR) wx/$(DEPDIR) wx_backports/$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
@@ -683,7 +785,7 @@ install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR) pluralforms/$(DEPDIR) tm/$(DEPDIR) wx/$(DEPDIR)
+ -rm -rf ./$(DEPDIR) keychain/$(DEPDIR) pluralforms/$(DEPDIR) tm/$(DEPDIR) wx/$(DEPDIR) wx_backports/$(DEPDIR)
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
diff --git a/src/tm/ThreadPool.h b/src/ThreadPool.h
old mode 100755
new mode 100644
similarity index 73%
rename from src/tm/ThreadPool.h
rename to src/ThreadPool.h
index e49d364..002e8a6
--- a/src/tm/ThreadPool.h
+++ b/src/ThreadPool.h
@@ -45,6 +45,7 @@ public:
template<class F, class... Args>
auto enqueue(F&& f, Args&&... args)
-> std::future<typename std::result_of<F(Args...)>::type>;
+ void enqueue_func(std::function<void()>&& f);
~ThreadPool();
private:
// need to keep track of threads so we can join them
@@ -68,14 +69,18 @@ inline ThreadPool::ThreadPool(size_t threads)
{
for(;;)
{
- std::unique_lock<std::mutex> lock(this->queue_mutex);
- while(!this->stop && this->tasks.empty())
- this->condition.wait(lock);
- if(this->stop && this->tasks.empty())
- return;
- std::function<void()> task(this->tasks.front());
- this->tasks.pop();
- lock.unlock();
+ std::function<void()> task;
+
+ {
+ std::unique_lock<std::mutex> lock(this->queue_mutex);
+ this->condition.wait(lock,
+ [this]{ return this->stop || !this->tasks.empty(); });
+ if(this->stop && this->tasks.empty())
+ return;
+ task = std::move(this->tasks.front());
+ this->tasks.pop();
+ }
+
task();
}
}
@@ -87,23 +92,29 @@ template<class F, class... Args>
auto ThreadPool::enqueue(F&& f, Args&&... args)
-> std::future<typename std::result_of<F(Args...)>::type>
{
- typedef typename std::result_of<F(Args...)>::type return_type;
-
- // don't allow enqueueing after stopping the pool
- if(stop)
- throw std::runtime_error("enqueue on stopped ThreadPool");
+ using return_type = typename std::result_of<F(Args...)>::type;
auto task = std::make_shared< std::packaged_task<return_type()> >(
std::bind(std::forward<F>(f), std::forward<Args>(args)...)
);
std::future<return_type> res = task->get_future();
+ enqueue_func([task](){ (*task)(); });
+ return res;
+}
+
+inline void ThreadPool::enqueue_func(std::function<void()>&& f)
+{
{
std::unique_lock<std::mutex> lock(queue_mutex);
- tasks.push([task](){ (*task)(); });
+
+ // don't allow enqueueing after stopping the pool
+ if(stop)
+ throw std::runtime_error("enqueue on stopped ThreadPool");
+
+ tasks.emplace(f);
}
condition.notify_one();
- return res;
}
// the destructor joins all threads
@@ -114,8 +125,8 @@ inline ThreadPool::~ThreadPool()
stop = true;
}
condition.notify_all();
- for(size_t i = 0;i<workers.size();++i)
- workers[i].join();
+ for(std::thread &worker: workers)
+ worker.join();
}
#endif
diff --git a/src/cat_sorting.cpp b/src/cat_sorting.cpp
index d2c6d6e..d905095 100644
--- a/src/cat_sorting.cpp
+++ b/src/cat_sorting.cpp
@@ -26,7 +26,8 @@
#include "cat_sorting.h"
-#include "icuhelpers.h"
+#include <unicode/unistr.h>
+#include "str_helpers.h"
#include <wx/config.h>
#include <wx/log.h>
@@ -38,6 +39,7 @@
wxString by = wxConfig::Get()->Read("/sort_by", "file-order");
long ctxt = wxConfig::Get()->Read("/sort_group_by_context", 0L);
long untrans = wxConfig::Get()->Read("/sort_untrans_first", 0L);
+ long errors = wxConfig::Get()->Read("/sort_errors_first", 1L);
if ( by == "source" )
order.by = By_Source;
@@ -48,6 +50,7 @@
order.groupByContext = (ctxt != 0);
order.untransFirst = (untrans != 0);
+ order.errorsFirst = (errors != 0);
return order;
}
@@ -72,6 +75,7 @@ void SortOrder::Save()
wxConfig::Get()->Write("/sort_by", bystr);
wxConfig::Get()->Write("/sort_group_by_context", groupByContext);
wxConfig::Get()->Write("/sort_untrans_first", untransFirst);
+ wxConfig::Get()->Write("/sort_errors_first", errorsFirst);
}
@@ -83,7 +87,7 @@ CatalogItemsComparator::CatalogItemsComparator(const Catalog& catalog, const Sor
{
case SortOrder::By_Source:
// TODO: allow non-English source languages too
- m_collator.reset(icu::Collator::createInstance(icu::Locale::getEnglish(), err));
+ m_collator.reset(icu::Collator::createInstance(catalog.GetSourceLanguage().ToIcu(), err));
break;
case SortOrder::By_Translation:
@@ -113,13 +117,16 @@ bool CatalogItemsComparator::operator()(int i, int j) const
const CatalogItem& a = Item(i);
const CatalogItem& b = Item(j);
- if ( m_order.untransFirst )
+ if ( m_order.errorsFirst )
{
if ( a.GetValidity() == CatalogItem::Val_Invalid && b.GetValidity() != CatalogItem::Val_Invalid )
return true;
else if ( a.GetValidity() != CatalogItem::Val_Invalid && b.GetValidity() == CatalogItem::Val_Invalid )
return false;
+ }
+ if ( m_order.untransFirst )
+ {
if ( !a.IsTranslated() && b.IsTranslated() )
return true;
else if ( a.IsTranslated() && !b.IsTranslated() )
@@ -192,7 +199,7 @@ int CatalogItemsComparator::CompareStrings(wxString a, wxString b) const
#elif SIZEOF_WCHAR_T == 2
return m_collator->compare(a.wx_str(), a.length(), b.wx_str(), b.length(), err);
#else
- return m_collator->compare(ToIcuStr(a), ToIcuStr(b), err);
+ return m_collator->compare(str::to_icu(a), str::to_icu(b), err);
#endif
}
else
diff --git a/src/cat_sorting.h b/src/cat_sorting.h
index ecca9a4..b649b1c 100644
--- a/src/cat_sorting.h
+++ b/src/cat_sorting.h
@@ -41,7 +41,7 @@ struct SortOrder
By_Translation
};
- SortOrder() : by(By_FileOrder), groupByContext(false), untransFirst(false) {}
+ SortOrder() : by(By_FileOrder), groupByContext(false), untransFirst(false), errorsFirst(true) {}
/// Loads default sort order from config settings
static SortOrder Default();
@@ -57,6 +57,9 @@ struct SortOrder
/// Do untranslated entries go first?
bool untransFirst;
+
+ /// Do entries with errors go first?
+ bool errorsFirst;
};
/**
@@ -76,7 +79,7 @@ public:
bool operator()(int i, int j) const;
protected:
- const CatalogItem& Item(int i) const { return m_catalog[i]; }
+ const CatalogItem& Item(int i) const { return *m_catalog[i]; }
int CompareStrings(wxString a, wxString b) const;
private:
diff --git a/src/catalog.cpp b/src/catalog.cpp
index 657ac7e..e389aa0 100644
--- a/src/catalog.cpp
+++ b/src/catalog.cpp
@@ -31,8 +31,9 @@
#include <wx/datetime.h>
#include <wx/config.h>
#include <wx/textfile.h>
+#include <wx/stdpaths.h>
#include <wx/strconv.h>
-#include <wx/msgdlg.h>
+#include <wx/memtext.h>
#include <wx/filename.h>
#include <set>
@@ -42,14 +43,19 @@
#include "digger.h"
#include "gexecute.h"
#include "progressinfo.h"
-#include "summarydlg.h"
+#include "str_helpers.h"
#include "utility.h"
#include "version.h"
#include "language.h"
#ifdef __WXOSX__
#import <Foundation/Foundation.h>
-#include "osx_helpers.h"
+#endif
+
+// TODO: split into different file
+#if wxUSE_GUI
+ #include <wx/msgdlg.h>
+ #include "summarydlg.h"
#endif
// ----------------------------------------------------------------------
@@ -143,52 +149,6 @@ bool VerifyFileCharset(const wxTextFile& f, const wxString& filename,
}
-// converts \n into newline character and \\ into \:
-wxString UnescapeCEscapes(const wxString& str)
-{
- wxString out;
- size_t len = str.size();
- size_t i;
-
- if ( len == 0 )
- return str;
-
- for (i = 0; i < len-1; i++)
- {
- if (str[i] == _T('\\'))
- {
- switch ((wxChar)str[i+1])
- {
- case _T('n'):
- out << _T('\n');
- i++;
- break;
- case _T('\\'):
- out << _T('\\');
- i++;
- break;
- case _T('"'):
- out << _T('"');
- i++;
- break;
- default:
- out << _T('\\');
- }
- }
- else
- {
- out << str[i];
- }
- }
-
- // last character:
- if (i < len)
- out << str[i];
-
- return out;
-}
-
-
wxTextFileType GetFileCRLFFormat(wxTextFile& po_file)
{
wxLogNull null;
@@ -231,9 +191,7 @@ wxTextFileType GetDesiredCRLFFormat(wxTextFileType existingCRLF)
void Catalog::HeaderData::FromString(const wxString& str)
{
- wxString hdr(str);
- hdr = UnescapeCEscapes(hdr);
- wxStringTokenizer tkn(hdr, "\n");
+ wxStringTokenizer tkn(str, "\n");
wxString ln;
m_entries.clear();
@@ -266,13 +224,9 @@ wxString Catalog::HeaderData::ToString(const wxString& line_delim)
UpdateDict();
wxString hdr;
- for (std::vector<Entry>::const_iterator i = m_entries.begin();
- i != m_entries.end(); i++)
+ for (auto& e: m_entries)
{
- wxString v(i->Value);
- v.Replace("\\", "\\\\");
- v.Replace(_T("\""), _T("\\\""));
- hdr << i->Key << ": " << v << "\\n" << line_delim;
+ hdr << EscapeCString(e.Key) << ": " << EscapeCString(e.Value) << "\\n" << line_delim;
}
return hdr;
}
@@ -298,10 +252,16 @@ void Catalog::HeaderData::UpdateDict()
}
if (TeamEmail.empty())
+ {
SetHeader("Language-Team", Team);
+ }
else
- SetHeader("Language-Team",
- Team + " <" + TeamEmail + ">");
+ {
+ if (Team.empty())
+ SetHeader("Language-Team", TeamEmail);
+ else
+ SetHeader("Language-Team", Team + " <" + TeamEmail + ">");
+ }
SetHeader("MIME-Version", "1.0");
SetHeader("Content-Type", "text/plain; charset=" + Charset);
@@ -654,14 +614,14 @@ bool CatalogParser::Parse()
else if (ReadParam(line, _T("msgctxt \""), dummy))
{
has_context = true;
- msgctxt = dummy.RemoveLast();
+ msgctxt = UnescapeCString(dummy.RemoveLast());
while (!(line = ReadTextLine()).empty())
{
if (line[0u] == _T('\t'))
line.Remove(0, 1);
if (line[0u] == _T('"') && line.Last() == _T('"'))
{
- msgctxt += line.Mid(1, line.Length() - 2);
+ msgctxt += UnescapeCString(line.Mid(1, line.Length() - 2));
PossibleWrappedLine();
}
else
@@ -672,7 +632,7 @@ bool CatalogParser::Parse()
// msgid:
else if (ReadParam(line, _T("msgid \""), dummy))
{
- mstr = dummy.RemoveLast();
+ mstr = UnescapeCString(dummy.RemoveLast());
mlinenum = unsigned(m_textFile->GetCurrentLine() + 1);
while (!(line = ReadTextLine()).empty())
{
@@ -680,7 +640,7 @@ bool CatalogParser::Parse()
line.Remove(0, 1);
if (line[0u] == _T('"') && line.Last() == _T('"'))
{
- mstr += line.Mid(1, line.Length() - 2);
+ mstr += UnescapeCString(line.Mid(1, line.Length() - 2));
PossibleWrappedLine();
}
else
@@ -691,7 +651,7 @@ bool CatalogParser::Parse()
// msgid_plural:
else if (ReadParam(line, _T("msgid_plural \""), dummy))
{
- msgid_plural = dummy.RemoveLast();
+ msgid_plural = UnescapeCString(dummy.RemoveLast());
has_plural = true;
mlinenum = unsigned(m_textFile->GetCurrentLine() + 1);
while (!(line = ReadTextLine()).empty())
@@ -700,7 +660,7 @@ bool CatalogParser::Parse()
line.Remove(0, 1);
if (line[0u] == _T('"') && line.Last() == _T('"'))
{
- msgid_plural += line.Mid(1, line.Length() - 2);
+ msgid_plural += UnescapeCString(line.Mid(1, line.Length() - 2));
PossibleWrappedLine();
}
else
@@ -717,14 +677,14 @@ bool CatalogParser::Parse()
return false;
}
- wxString str = dummy.RemoveLast();
+ wxString str = UnescapeCString(dummy.RemoveLast());
while (!(line = ReadTextLine()).empty())
{
if (line[0u] == _T('\t'))
line.Remove(0, 1);
if (line[0u] == _T('"') && line.Last() == _T('"'))
{
- str += line.Mid(1, line.Length() - 2);
+ str += UnescapeCString(line.Mid(1, line.Length() - 2));
PossibleWrappedLine();
}
else
@@ -774,14 +734,14 @@ bool CatalogParser::Parse()
while (ReadParam(line, label + _T(" \""), dummy))
{
- wxString str = dummy.RemoveLast();
+ wxString str = UnescapeCString(dummy.RemoveLast());
while (!(line=ReadTextLine()).empty())
{
line.Trim(/*fromRight=*/false);
if (line[0u] == _T('"') && line.Last() == _T('"'))
{
- str += line.Mid(1, line.Length() - 2);
+ str += UnescapeCString(line.Mid(1, line.Length() - 2));
PossibleWrappedLine();
}
else
@@ -974,7 +934,7 @@ class CharsetInfoFinder : public CatalogParser
class LoadParser : public CatalogParser
{
public:
- LoadParser(Catalog *c, wxTextFile *f)
+ LoadParser(Catalog& c, wxTextFile *f)
: CatalogParser(f),
FileIsValid(false),
m_catalog(c), m_nextId(1), m_seenHeaderAlready(false) {}
@@ -982,8 +942,14 @@ class LoadParser : public CatalogParser
// true if the file is valid, i.e. has at least some data
bool FileIsValid;
+ Language GetMsgidLanguage()
+ {
+ auto utf8 = m_allMsgidText.utf8_str();
+ return Language::TryDetectFromText(utf8.data(), utf8.length(), Language::English());
+ }
+
protected:
- Catalog *m_catalog;
+ Catalog& m_catalog;
virtual bool OnEntry(const wxString& msgid,
const wxString& msgid_plural,
@@ -1010,6 +976,9 @@ class LoadParser : public CatalogParser
private:
int m_nextId;
bool m_seenHeaderAlready;
+
+ // collected text of msgids, with newlines, for language detection
+ wxString m_allMsgidText;
};
@@ -1035,28 +1004,28 @@ bool LoadParser::OnEntry(const wxString& msgid,
if (!m_seenHeaderAlready)
{
// gettext header:
- m_catalog->m_header.FromString(mtranslations[0]);
- m_catalog->m_header.Comment = comment;
+ m_catalog.m_header.FromString(mtranslations[0]);
+ m_catalog.m_header.Comment = comment;
m_seenHeaderAlready = true;
}
// else: ignore duplicate header in malformed files
}
else
{
- CatalogItem d;
- d.SetId(m_nextId++);
+ CatalogItemPtr d = std::make_shared<CatalogItem>();
+ d->SetId(m_nextId++);
if (!flags.empty())
- d.SetFlags(flags);
- d.SetString(msgid);
+ d->SetFlags(flags);
+ d->SetString(msgid);
if (has_plural)
- d.SetPluralString(msgid_plural);
+ d->SetPluralString(msgid_plural);
if (has_context)
- d.SetContext(context);
- d.SetTranslations(mtranslations);
- d.SetComment(comment);
- d.SetLineNumber(lineNumber);
+ d->SetContext(context);
+ d->SetTranslations(mtranslations);
+ d->SetComment(comment);
+ d->SetLineNumber(lineNumber);
for (size_t i = 0; i < references.GetCount(); i++)
- d.AddReference(references[i]);
+ d->AddReference(references[i]);
for (auto i: extractedComments)
{
@@ -1066,10 +1035,19 @@ bool LoadParser::OnEntry(const wxString& msgid,
// FIXME: Fix this properly... but not using msgcat in the first place
if (i.StartsWith(MSGCAT_CONFLICT_MARKER) && i.EndsWith(MSGCAT_CONFLICT_MARKER))
continue;
- d.AddExtractedComments(i);
+ d->AddExtractedComments(i);
+ }
+ d->SetOldMsgid(msgid_old);
+ m_catalog.AddItem(d);
+
+ // collect text for language detection:
+ m_allMsgidText.append(msgid);
+ m_allMsgidText.append('\n');
+ if (!msgid_plural.empty())
+ {
+ m_allMsgidText.append(msgid_plural);
+ m_allMsgidText.append('\n');
}
- d.SetOldMsgid(msgid_old);
- m_catalog->AddItem(d);
}
return true;
}
@@ -1090,7 +1068,7 @@ bool LoadParser::OnDeletedEntry(const wxArrayString& deletedLines,
d.SetLineNumber(lineNumber);
for (size_t i = 0; i < extractedComments.GetCount(); i++)
d.AddExtractedComments(extractedComments[i]);
- m_catalog->AddDeletedItem(d);
+ m_catalog.AddDeletedItem(d);
return true;
}
@@ -1101,8 +1079,11 @@ bool LoadParser::OnDeletedEntry(const wxArrayString& deletedLines,
// Catalog class
// ----------------------------------------------------------------------
-Catalog::Catalog()
+Catalog::Catalog(Type type)
{
+ m_sourceLanguage = Language::English();
+ m_fileType = type;
+
m_fileCRLF = wxTextFileType_None;
m_fileWrappingWidth = DEFAULT_WRAPPING;
@@ -1114,6 +1095,16 @@ Catalog::Catalog()
}
}
+Catalog::Catalog(const wxString& po_file, int flags)
+{
+ m_sourceLanguage = Language::English();
+ m_fileType = Type::PO;
+
+ m_fileCRLF = wxTextFileType_None;
+ m_fileWrappingWidth = DEFAULT_WRAPPING;
+
+ m_isOk = Load(po_file, flags);
+}
Catalog::~Catalog()
{
@@ -1121,12 +1112,16 @@ Catalog::~Catalog()
}
-Catalog::Catalog(const wxString& po_file, int flags)
+bool Catalog::HasCapability(Catalog::Cap cap) const
{
- m_fileCRLF = wxTextFileType_None;
- m_fileWrappingWidth = DEFAULT_WRAPPING;
-
- m_isOk = Load(po_file, flags);
+ switch (cap)
+ {
+ case Cap::Translations:
+ case Cap::LanguageSetting:
+ case Cap::UserComments:
+ return m_fileType == Type::PO;
+ }
+ return false; // silence VC++ warning
}
@@ -1195,6 +1190,13 @@ bool Catalog::Load(const wxString& po_file, int flags)
m_fileName = po_file;
m_header.BasePath = wxEmptyString;
+ wxString ext;
+ wxFileName::SplitPath(po_file, nullptr, nullptr, &ext);
+ if (ext.CmpNoCase("pot") == 0)
+ m_fileType = Type::POT;
+ else
+ m_fileType = Type::PO;
+
/* Load the .po file: */
if (!f.Open(po_file, wxConvISO8859_1))
@@ -1217,7 +1219,7 @@ bool Catalog::Load(const wxString& po_file, int flags)
wxLogError(_("There were errors when loading the catalog. Some data may be missing or corrupted as the result."));
}
- LoadParser parser(this, &f);
+ LoadParser parser(*this, &f);
parser.IgnoreHeader(flags & CreationFlag_IgnoreHeader);
parser.IgnoreTranslations(flags & CreationFlag_IgnoreTranslations);
if (!parser.Parse())
@@ -1229,13 +1231,15 @@ bool Catalog::Load(const wxString& po_file, int flags)
return false;
}
+ m_sourceLanguage = parser.GetMsgidLanguage();
+
// now that the catalog is loaded, update its items with the bookmarks
for (unsigned i = BOOKMARK_0; i < BOOKMARK_LAST; i++)
{
if (m_header.Bookmarks[i] != -1 &&
m_header.Bookmarks[i] < (int)m_items.size())
{
- m_items[m_header.Bookmarks[i]].SetBookmark(
+ m_items[m_header.Bookmarks[i]]->SetBookmark(
static_cast<Bookmark>(i));
}
}
@@ -1263,6 +1267,13 @@ bool Catalog::Load(const wxString& po_file, int flags)
void Catalog::FixupCommonIssues()
{
+ if (m_header.Project == "PACKAGE VERSION")
+ m_header.Project.clear();
+
+ // All the following fixups are specific to POs and should *not* be done in POTs:
+ if (m_fileType == Type::POT)
+ return;
+
if (!m_header.Lang.IsValid())
{
if (!m_fileName.empty())
@@ -1270,13 +1281,31 @@ void Catalog::FixupCommonIssues()
m_header.Lang = Language::TryGuessFromFilename(m_fileName);
wxLogTrace("poedit", "guessed language from filename '%s': %s", m_fileName, m_header.Lang.Code());
}
+
+ if (!m_header.Lang.IsValid())
+ {
+ // If all else fails, try to detect the language from content
+ wxString allText;
+ for (auto& i: items())
+ {
+ for (auto& s: i->GetTranslations())
+ {
+ if (s.empty())
+ continue;
+ allText.append(s);
+ allText.append('\n');
+ }
+ }
+ if (!allText.empty())
+ {
+ auto utf8 = allText.utf8_str();
+ m_header.Lang = Language::TryDetectFromText(utf8.data(), utf8.length());
+ }
+ }
}
wxLogTrace("poedit", "catalog lang is '%s'", GetLanguage().Code());
- if (m_header.Project == "PACKAGE VERSION")
- m_header.Project.clear();
-
if (m_header.GetHeader("Language-Team") == "LANGUAGE <LL at li.org>")
{
m_header.DeleteHeader("Language-Team");
@@ -1318,7 +1347,7 @@ void Catalog::FixupCommonIssues()
// TODO: mark catalog as modified if any changes were made
}
-void Catalog::AddItem(const CatalogItem& data)
+void Catalog::AddItem(const CatalogItemPtr& data)
{
m_items.push_back(data);
}
@@ -1338,16 +1367,15 @@ void Catalog::RemoveDeletedItems()
m_deletedItems.clear();
}
-CatalogItem *Catalog::FindItemByLine(int lineno)
+CatalogItemPtr Catalog::FindItemByLine(int lineno)
{
- CatalogItem *last = NULL;
+ CatalogItemPtr last;
- for ( CatalogItemArray::iterator i = m_items.begin();
- i != m_items.end(); ++i )
+ for (auto& i: m_items)
{
if ( i->GetLineNumber() > lineno )
return last;
- last = &(*i);
+ last = i;
}
return last;
@@ -1369,14 +1397,14 @@ int Catalog::SetBookmark(int id, Bookmark bookmark)
int result = (bookmark==NO_BOOKMARK)?-1:m_header.Bookmarks[bookmark];
// unset previous bookmarks, if any
- Bookmark bk = m_items[id].GetBookmark();
+ Bookmark bk = m_items[id]->GetBookmark();
if (bk != NO_BOOKMARK)
m_header.Bookmarks[bk] = -1;
if (result > -1)
- m_items[result].SetBookmark(NO_BOOKMARK);
+ m_items[result]->SetBookmark(NO_BOOKMARK);
// set new bookmark
- m_items[id].SetBookmark(bookmark);
+ m_items[id]->SetBookmark(bookmark);
if (bookmark != NO_BOOKMARK)
m_header.Bookmarks[bookmark] = id;
@@ -1399,7 +1427,7 @@ inline bool CanEncodeStringToCharset(const wxString& s, wxMBConv& conv)
return true;
}
-bool CanEncodeToCharset(const wxTextFile& f, const wxString& charset)
+bool CanEncodeToCharset(const wxTextBuffer& f, const wxString& charset)
{
if (charset.Lower() == "utf-8" || charset.Lower() == "utf8")
return true;
@@ -1417,7 +1445,7 @@ bool CanEncodeToCharset(const wxTextFile& f, const wxString& charset)
}
-void SaveMultiLines(wxTextFile &f, const wxString& text)
+void SaveMultiLines(wxTextBuffer &f, const wxString& text)
{
wxStringTokenizer tkn(text, _T('\n'));
while (tkn.HasMoreTokens())
@@ -1429,36 +1457,20 @@ void SaveMultiLines(wxTextFile &f, const wxString& text)
wxString FormatStringForFile(const wxString& text)
{
wxString s;
- unsigned n_cnt = 0;
- int len = (int)text.length();
-
- s.Alloc(len + 16);
- // Scan the string up to len-2 because we don't want to account for the
- // very last \n on the line:
- // "some\n string \n"
- // ^
- // |
- // \--- = len-2
- int i;
- for (i = 0; i < len-2; i++)
+ s.reserve(text.length() + 16);
+
+ wxStringTokenizer tkn(text, wxS('\n'), wxTOKEN_RET_EMPTY_ALL);
+ while (tkn.HasMoreTokens())
{
- if (text[i] == _T('\\') && text[i+1] == _T('n'))
- {
- n_cnt++;
- s << _T("\\n\"\n\"");
- i++;
- }
- else
- s << text[i];
+ if (!s.empty())
+ s += wxS("\"\n\"");
+ auto piece = tkn.GetNextToken();
+ if (tkn.GetLastDelimiter())
+ piece += tkn.GetLastDelimiter();
+ s += EscapeCString(piece);
}
- // ...and add not yet processed characters to the string...
- for (; i < len; i++)
- s << text[i];
- if (n_cnt >= 1)
- return _T("\"\n\"") + s;
- else
- return s;
+ return s;
}
} // anonymous namespace
@@ -1589,7 +1601,7 @@ bool Catalog::Save(const wxString& po_file, bool save_mo,
/* If the user wants it, compile .mo file right now: */
- if (save_mo && wxConfig::Get()->Read("compile_mo", (long)true))
+ if (m_fileType == Type::PO && save_mo && wxConfig::Get()->Read("compile_mo", (long)true))
{
const wxString mo_file = wxFileName::StripExtension(po_file) + ".mo";
TempOutputFileFor mo_file_temp_obj(mo_file);
@@ -1630,15 +1642,15 @@ bool Catalog::Save(const wxString& po_file, bool save_mo,
if (mo_compilation_status == CompilationStatus::Success)
{
#ifdef __WXOSX__
- NSURL *mofileUrl = [NSURL fileURLWithPath:wxStringToNS(mo_file)];
- NSURL *mofiletempUrl = [NSURL fileURLWithPath:wxStringToNS(mo_file_temp)];
+ NSURL *mofileUrl = [NSURL fileURLWithPath:str::to_NS(mo_file)];
+ NSURL *mofiletempUrl = [NSURL fileURLWithPath:str::to_NS(mo_file_temp)];
bool sandboxed = (getenv("APP_SANDBOX_CONTAINER_ID") != NULL);
CompiledMOFilePresenter *presenter = nil;
if (sandboxed)
{
presenter = [CompiledMOFilePresenter new];
presenter.presentedItemURL = mofileUrl;
- presenter.primaryPresentedItemURL = [NSURL fileURLWithPath:wxStringToNS(po_file)];
+ presenter.primaryPresentedItemURL = [NSURL fileURLWithPath:str::to_NS(po_file)];
[NSFileCoordinator addFilePresenter:presenter];
[NSFileCoordinator filePresenters];
}
@@ -1676,6 +1688,36 @@ bool Catalog::Save(const wxString& po_file, bool save_mo,
return true;
}
+
+std::string Catalog::SaveToBuffer()
+{
+ class StringSerializer : public wxMemoryText
+ {
+ public:
+ bool OnWrite(wxTextFileType typeNew, const wxMBConv& conv) override
+ {
+ size_t cnt = GetLineCount();
+ for (size_t n = 0; n < cnt; n++)
+ {
+ auto ln = GetLine(n) +
+ GetEOL(typeNew == wxTextFileType_None ? GetLineType(n) : typeNew);
+ auto buf = ln.mb_str(conv);
+ buffer.append(buf.data(), buf.length());
+ }
+ return true;
+ }
+
+ std::string buffer;
+ };
+
+ StringSerializer f;
+
+ if (!DoSaveOnly(f, wxTextFileType_Unix))
+ return std::string();
+ return f.buffer;
+}
+
+
bool Catalog::CompileToMO(const wxString& mo_file,
int& validation_errors,
CompilationStatus& mo_compilation_status)
@@ -1742,7 +1784,7 @@ bool Catalog::DoSaveOnly(const wxString& po_file, wxTextFileType crlf)
return DoSaveOnly(f, crlf);
}
-bool Catalog::DoSaveOnly(wxTextFile& f, wxTextFileType crlf)
+bool Catalog::DoSaveOnly(wxTextBuffer& f, wxTextFileType crlf)
{
/* Save .po file: */
if (!m_header.Charset || m_header.Charset == "CHARSET")
@@ -1752,10 +1794,22 @@ bool Catalog::DoSaveOnly(wxTextFile& f, wxTextFileType crlf)
// was empty previously, the author apparently doesn't want this header
// set, so don't mess with it. See https://sourceforge.net/tracker/?func=detail&atid=389156&aid=1900298&group_id=27043
// for motivation:
- if ( !m_header.RevisionDate.empty() )
- m_header.RevisionDate = GetCurrentTimeRFC822();
+ auto currentTime = GetCurrentTimeRFC822();
+ switch (m_fileType)
+ {
+ case Type::PO:
+ if ( !m_header.RevisionDate.empty() )
+ m_header.RevisionDate = currentTime;
+ break;
+ case Type::POT:
+ if ( m_fileType == Type::POT && !m_header.CreationDate.empty() )
+ m_header.CreationDate = currentTime;
+ break;
+ }
SaveMultiLines(f, m_header.Comment);
+ if (m_fileType == Type::POT)
+ f.AddLine("#, fuzzy");
f.AddLine(_T("msgid \"\""));
f.AddLine(_T("msgstr \"\""));
wxString pohdr = wxString(_T("\"")) + m_header.ToString(_T("\"\n\""));
@@ -1763,46 +1817,45 @@ bool Catalog::DoSaveOnly(wxTextFile& f, wxTextFileType crlf)
SaveMultiLines(f, pohdr);
f.AddLine(wxEmptyString);
- for (unsigned itemIdx = 0; itemIdx < m_items.size(); itemIdx++)
+ for (auto& data: m_items)
{
- CatalogItem& data = m_items[itemIdx];
- data.SetLineNumber(int(f.GetLineCount()+1));
- SaveMultiLines(f, data.GetComment());
- for (unsigned i = 0; i < data.GetExtractedComments().GetCount(); i++)
+ data->SetLineNumber(int(f.GetLineCount()+1));
+ SaveMultiLines(f, data->GetComment());
+ for (unsigned i = 0; i < data->GetExtractedComments().GetCount(); i++)
{
- if (data.GetExtractedComments()[i].empty())
+ if (data->GetExtractedComments()[i].empty())
f.AddLine("#.");
else
- f.AddLine("#. " + data.GetExtractedComments()[i]);
+ f.AddLine("#. " + data->GetExtractedComments()[i]);
}
- for (unsigned i = 0; i < data.GetRawReferences().GetCount(); i++)
- f.AddLine("#: " + data.GetRawReferences()[i]);
- wxString dummy = data.GetFlags();
+ for (unsigned i = 0; i < data->GetRawReferences().GetCount(); i++)
+ f.AddLine("#: " + data->GetRawReferences()[i]);
+ wxString dummy = data->GetFlags();
if (!dummy.empty())
f.AddLine(dummy);
- for (unsigned i = 0; i < data.GetOldMsgid().GetCount(); i++)
- f.AddLine("#| " + data.GetOldMsgid()[i]);
- if ( data.HasContext() )
+ for (unsigned i = 0; i < data->GetOldMsgid().GetCount(); i++)
+ f.AddLine("#| " + data->GetOldMsgid()[i]);
+ if ( data->HasContext() )
{
- SaveMultiLines(f, _T("msgctxt \"") + FormatStringForFile(data.GetContext()) + _T("\""));
+ SaveMultiLines(f, _T("msgctxt \"") + FormatStringForFile(data->GetContext()) + _T("\""));
}
- dummy = FormatStringForFile(data.GetString());
+ dummy = FormatStringForFile(data->GetString());
SaveMultiLines(f, _T("msgid \"") + dummy + _T("\""));
- if (data.HasPlural())
+ if (data->HasPlural())
{
- dummy = FormatStringForFile(data.GetPluralString());
+ dummy = FormatStringForFile(data->GetPluralString());
SaveMultiLines(f, _T("msgid_plural \"") + dummy + _T("\""));
- for (unsigned i = 0; i < data.GetNumberOfTranslations(); i++)
+ for (unsigned i = 0; i < data->GetNumberOfTranslations(); i++)
{
- dummy = FormatStringForFile(data.GetTranslation(i));
+ dummy = FormatStringForFile(data->GetTranslation(i));
wxString hdr = wxString::Format(_T("msgstr[%u] \""), i);
SaveMultiLines(f, hdr + dummy + _T("\""));
}
}
else
{
- dummy = FormatStringForFile(data.GetTranslation());
+ dummy = FormatStringForFile(data->GetTranslation());
SaveMultiLines(f, _T("msgstr \"") + dummy + _T("\""));
}
f.AddLine(wxEmptyString);
@@ -1831,11 +1884,13 @@ bool Catalog::DoSaveOnly(wxTextFile& f, wxTextFileType crlf)
if (!CanEncodeToCharset(f, m_header.Charset))
{
+#if wxUSE_GUI
wxString msg;
msg.Printf(_("The catalog couldn't be saved in '%s' charset as specified in catalog settings.\n\nIt was saved in UTF-8 instead and the setting was modified accordingly."),
m_header.Charset.c_str());
wxMessageBox(msg, _("Error saving catalog"),
wxOK | wxICON_EXCLAMATION);
+#endif
m_header.Charset = "UTF-8";
// Re-do the save again because we modified a header:
@@ -1848,6 +1903,99 @@ bool Catalog::DoSaveOnly(wxTextFile& f, wxTextFileType crlf)
}
+bool Catalog::HasDuplicateItems() const
+{
+ typedef std::pair<wxString, wxString> MsgId;
+ std::set<MsgId> ids;
+ for (auto& item: m_items)
+ {
+ if (!ids.emplace(std::make_pair(item->GetContext(), item->GetString())).second)
+ return true;
+ }
+ return false;
+}
+
+bool Catalog::FixDuplicateItems()
+{
+ auto oldname = m_fileName;
+
+ TempDirectory tmpdir;
+ if ( !tmpdir.IsOk() )
+ return false;
+
+ wxString po_file_temp = tmpdir.CreateFileName("catalog.po");
+ wxString po_file_fixed = tmpdir.CreateFileName("fixed.po");
+
+ if ( !DoSaveOnly(po_file_temp, wxTextFileType_Unix) )
+ {
+ wxLogError(_("Couldn't save file %s."), po_file_temp.c_str());
+ return false;
+ }
+
+ ExecuteGettext(wxString::Format("msguniq -o %s %s",
+ QuoteCmdlineArg(po_file_fixed),
+ QuoteCmdlineArg(po_file_temp)));
+
+ if (!wxFileName::FileExists(po_file_fixed))
+ return false;
+
+ bool ok = Load(po_file_fixed);
+ m_fileName = oldname;
+ return ok;
+}
+
+
+namespace
+{
+
+wxString MaskForType(const char *extensions, const wxString& description, bool showExt = true)
+{
+ (void)showExt;
+#ifdef __WXMSW__
+ if (showExt)
+ return wxString::Format("%s (%s)|%s", description, extensions, extensions);
+ else
+#endif
+ return wxString::Format("%s|%s", description, extensions);
+}
+
+wxString MaskForType(Catalog::Type t)
+{
+ switch (t)
+ {
+ case Catalog::Type::PO:
+ return MaskForType("*.po", _("PO Translation Files"));
+ case Catalog::Type::POT:
+ return MaskForType("*.pot", _("POT Translation Templates"));
+ }
+ return ""; // silence stupid warning
+}
+
+} // anonymous namespace
+
+wxString Catalog::GetTypesFileMask(std::initializer_list<Type> types)
+{
+ if (types.size() == 0)
+ return "";
+ wxString out;
+ auto t = types.begin();
+ out += MaskForType(*t);
+ for (++t; t != types.end(); ++t)
+ {
+ out += "|";
+ out += MaskForType(*t);
+ }
+ return out;
+}
+
+wxString Catalog::GetAllTypesFileMask()
+{
+ return MaskForType("*.po;*.pot", _("All Translation Files"), /*showExt=*/false) +
+ "|" +
+ GetTypesFileMask({Type::PO, Type::POT});
+}
+
+
int Catalog::Validate()
{
TempDirectory tmpdir;
@@ -1870,8 +2018,7 @@ int Catalog::DoValidate(const wxString& po_file)
err
);
- for ( CatalogItemArray::iterator i = m_items.begin();
- i != m_items.end(); ++i )
+ for (auto& i: m_items)
{
i->SetValidity(CatalogItem::Val_Valid);
}
@@ -1880,7 +2027,7 @@ int Catalog::DoValidate(const wxString& po_file)
{
if ( i->line != -1 )
{
- CatalogItem *item = FindItemByLine(i->line);
+ auto item = FindItemByLine(i->line);
if ( item )
{
item->SetValidity(CatalogItem::Val_Invalid);
@@ -1895,34 +2042,133 @@ int Catalog::DoValidate(const wxString& po_file)
return (int)err.size();
}
+void Catalog::SetFileName(const wxString& fn)
+{
+ wxFileName f(fn);
+ f.Normalize();
+ m_fileName = f.GetFullPath();
+}
-bool Catalog::Update(ProgressInfo *progress, bool summary, UpdateResultReason& reason)
+
+namespace
{
- reason = UpdateResultReason::Unspecified;
- if (!m_isOk)
- return false;
+enum class SourcesPath
+{
+ Base,
+ Root
+};
- wxString cwd = wxGetCwd();
- if (m_fileName != wxEmptyString)
+wxString GetSourcesPath(const wxString& fileName, const Catalog::HeaderData& header, SourcesPath kind)
+{
+ if (fileName.empty())
+ return wxString();
+
+ if (header.BasePath.empty())
+ return wxString();
+
+ wxString basepath;
+ if (wxIsAbsolutePath(header.BasePath))
{
- wxString path;
+ basepath = header.BasePath;
+ }
+ else
+ {
+ wxString path = wxPathOnly(fileName);
+ if (path.empty())
+ path = ".";
+ basepath = path + wxFILE_SEP_PATH + header.BasePath + wxFILE_SEP_PATH;
+ }
+
+ wxFileName root = wxFileName::DirName(basepath);
+ root.Normalize();
- if (wxIsAbsolutePath(m_header.BasePath))
+ if (kind == SourcesPath::Root)
+ {
+ // Deal with misconfigured catalogs where the basepath isn't the root.
+ for (auto& p : header.SearchPaths)
{
- path = m_header.BasePath;
+ wxString path = (p == ".") ? basepath : basepath + wxFILE_SEP_PATH + p;
+ root = CommonDirectory(root, MakeFileName(path));
}
- else
+ }
+
+ return root.GetFullPath();
+}
+
+} // anonymous namespace
+
+wxString Catalog::GetSourcesBasePath() const
+{
+ return GetSourcesPath(m_fileName, m_header, SourcesPath::Base);
+}
+
+wxString Catalog::GetSourcesRootPath() const
+{
+ return GetSourcesPath(m_fileName, m_header, SourcesPath::Root);
+}
+
+bool Catalog::HasSourcesConfigured() const
+{
+ return !m_fileName.empty() &&
+ !m_header.BasePath.empty() &&
+ !m_header.SearchPaths.empty();
+}
+
+bool Catalog::HasSourcesAvailable() const
+{
+ if (!HasSourcesConfigured())
+ return false;
+
+ auto basepath = GetSourcesBasePath();
+ if (!wxFileName::DirExists(basepath))
+ return false;
+
+ for (auto& p: m_header.SearchPaths)
+ {
+ if (!wxFileName::DirExists(basepath + p))
+ return false;
+ }
+
+ auto wpfile = m_header.GetHeader("X-Poedit-WPHeader");
+ if (!wpfile.empty())
+ {
+ // The following tests in this function are heuristics, so don't run
+ // them in presence of X-Poedit-WPHeader and consider the existence
+ // of that file a confirmation of correct setup (even though strictly
+ // speaking only its absence proves anything).
+ return wxFileName::FileExists(basepath + wpfile);
+ }
+
+ if (m_header.SearchPaths.size() == 1)
+ {
+ // A single path doesn't give us much in terms of detection. About the
+ // only thing we can do is to check if it is is a well known directory
+ // that is unlikely to be the root.
+ auto root = GetSourcesRootPath();
+ if (root == wxGetUserHome() ||
+ root == wxStandardPaths::Get().GetDocumentsDir() ||
+ root.EndsWith(wxString(wxFILE_SEP_PATH) + "Desktop" + wxFILE_SEP_PATH))
{
- path = wxPathOnly(m_fileName);
- if (path.empty())
- path = ".";
- path = path + "/" + m_header.BasePath;
+ return false;
}
+ }
- if (!wxIsAbsolutePath(path))
- path = cwd + "/" + path;
+ return true;
+}
+#if wxUSE_GUI // TODO: better separation into another file
+bool Catalog::Update(ProgressInfo *progress, bool summary, UpdateResultReason& reason)
+{
+ reason = UpdateResultReason::Unspecified;
+
+ if (!m_isOk)
+ return false;
+
+ wxString cwd = wxGetCwd();
+ auto path = GetSourcesBasePath();
+ if (!path.empty())
+ {
if (!wxFileName::DirExists(path))
{
reason = UpdateResultReason::NoSourcesFound;
@@ -1934,16 +2180,16 @@ bool Catalog::Update(ProgressInfo *progress, bool summary, UpdateResultReason& r
SourceDigger dig(progress);
- Catalog *newcat = dig.Dig(m_header.SearchPaths,
- m_header.SearchPathsExcluded,
- m_header.Keywords,
- m_header.SourceCodeCharset,
- reason);
+ auto newcat = dig.Dig(m_header.SearchPaths,
+ m_header.SearchPathsExcluded,
+ m_header.Keywords,
+ m_header.SourceCodeCharset,
+ reason);
if (progress->Cancelled())
reason = UpdateResultReason::CancelledByUser;
- if (newcat != NULL)
+ if (newcat)
{
bool succ = false;
if ( progress )
@@ -1951,11 +2197,21 @@ bool Catalog::Update(ProgressInfo *progress, bool summary, UpdateResultReason& r
bool cancelledByUser = false;
if (!summary || ShowMergeSummary(newcat, &cancelledByUser))
- succ = Merge(newcat);
+ {
+ switch (m_fileType)
+ {
+ case Type::PO:
+ succ = Merge(newcat);
+ break;
+ case Type::POT:
+ m_items = newcat->m_items;
+ succ = true;
+ break;
+ }
+ }
if (!succ)
{
- delete newcat;
- newcat = NULL;
+ newcat.reset();
}
if (cancelledByUser)
reason = UpdateResultReason::CancelledByUser;
@@ -1963,12 +2219,9 @@ bool Catalog::Update(ProgressInfo *progress, bool summary, UpdateResultReason& r
wxSetWorkingDirectory(cwd);
- if (newcat == NULL) return false;
-
- delete newcat;
- return true;
+ return newcat != nullptr;
}
-
+#endif
bool Catalog::UpdateFromPOT(const wxString& pot_file,
bool summary,
@@ -1978,21 +2231,21 @@ bool Catalog::UpdateFromPOT(const wxString& pot_file,
reason = UpdateResultReason::Unspecified;
if (!m_isOk) return false;
- Catalog newcat(pot_file, CreationFlag_IgnoreTranslations);
+ CatalogPtr newcat = std::make_shared<Catalog>(pot_file, CreationFlag_IgnoreTranslations);
- if (!newcat.IsOk())
+ if (!newcat->IsOk())
{
wxLogError(_("'%s' is not a valid POT file."), pot_file.c_str());
return false;
}
bool cancelledByUser = false;
- if (!summary || ShowMergeSummary(&newcat, &cancelledByUser))
+ if (!summary || ShowMergeSummary(newcat, &cancelledByUser))
{
- if ( !Merge(&newcat) )
+ if ( !Merge(newcat) )
return false;
if ( replace_header )
- CreateNewHeader(newcat.Header());
+ CreateNewHeader(newcat->Header());
return true;
}
else
@@ -2004,7 +2257,7 @@ bool Catalog::UpdateFromPOT(const wxString& pot_file,
}
-bool Catalog::Merge(Catalog *refcat)
+bool Catalog::Merge(const CatalogPtr& refcat)
{
wxString oldname = m_fileName;
@@ -2055,18 +2308,18 @@ bool Catalog::Merge(Catalog *refcat)
}
-static inline wxString ItemMergeSummary(const CatalogItem& item)
+static inline wxString ItemMergeSummary(const CatalogItemPtr& item)
{
- wxString s = item.GetString();
- if ( item.HasPlural() )
- s += "|" + item.GetPluralString();
- if ( item.HasContext() )
- s += wxString::Format(" [%s]", item.GetContext());
+ wxString s = item->GetString();
+ if ( item->HasPlural() )
+ s += "|" + item->GetPluralString();
+ if ( item->HasContext() )
+ s += wxString::Format(" [%s]", item->GetContext());
return s;
}
-void Catalog::GetMergeSummary(Catalog *refcat,
+void Catalog::GetMergeSummary(const CatalogPtr& refcat,
wxArrayString& snew, wxArrayString& sobsolete)
{
wxASSERT( snew.empty() );
@@ -2074,26 +2327,27 @@ void Catalog::GetMergeSummary(Catalog *refcat,
std::set<wxString> strsThis, strsRef;
- for ( unsigned i = 0; i < GetCount(); i++ )
- strsThis.insert(ItemMergeSummary((*this)[i]));
- for ( unsigned i = 0; i < refcat->GetCount(); i++ )
- strsRef.insert(ItemMergeSummary((*refcat)[i]));
+ for (auto& i: m_items)
+ strsThis.insert(ItemMergeSummary(i));
+ for (auto& i: refcat->m_items)
+ strsRef.insert(ItemMergeSummary(i));
- for ( std::set<wxString>::const_iterator i = strsThis.begin(); i != strsThis.end(); ++i )
+ for (auto& i: strsThis)
{
- if (strsRef.find(*i) == strsRef.end())
- sobsolete.Add(*i);
+ if (strsRef.find(i) == strsRef.end())
+ sobsolete.Add(i);
}
- for ( std::set<wxString>::const_iterator i = strsRef.begin(); i != strsRef.end(); ++i )
+ for (auto& i: strsRef)
{
- if (strsThis.find(*i) == strsThis.end())
- snew.Add(*i);
+ if (strsThis.find(i) == strsThis.end())
+ snew.Add(i);
}
}
-bool Catalog::ShowMergeSummary(Catalog *refcat, bool *cancelledByUser)
+bool Catalog::ShowMergeSummary(const CatalogPtr& refcat, bool *cancelledByUser)
{
+#if wxUSE_GUI
if (cancelledByUser)
*cancelledByUser = false;
if (wxConfig::Get()->ReadBool("show_summary", false))
@@ -2109,6 +2363,11 @@ bool Catalog::ShowMergeSummary(Catalog *refcat, bool *cancelledByUser)
}
else
return true;
+#else
+ (void)refcat;
+ (void)cancelledByUser;
+ return true;
+#endif
}
static unsigned GetCountFromPluralFormsHeader(const Catalog::HeaderData& header)
@@ -2135,8 +2394,7 @@ unsigned Catalog::GetPluralFormsCount() const
{
unsigned count = GetCountFromPluralFormsHeader(m_header);
- for ( CatalogItemArray::const_iterator i = m_items.begin();
- i != m_items.end(); ++i )
+ for (auto& i: m_items)
{
count = std::max(count, i->GetPluralFormsCount());
}
@@ -2148,8 +2406,7 @@ bool Catalog::HasWrongPluralFormsCount() const
{
unsigned count = 0;
- for ( CatalogItemArray::const_iterator i = m_items.begin();
- i != m_items.end(); ++i )
+ for (auto& i: m_items)
{
count = std::max(count, i->GetPluralFormsCount());
}
@@ -2167,16 +2424,19 @@ bool Catalog::HasWrongPluralFormsCount() const
bool Catalog::HasPluralItems() const
{
- for ( CatalogItemArray::const_iterator i = m_items.begin();
- i != m_items.end(); ++i )
+ for (auto& i: m_items)
{
if ( i->HasPlural() )
return true;
}
-
return false;
}
+void Catalog::SetLanguage(Language lang)
+{
+ m_header.Lang = lang;
+ m_header.SetHeaderNotEmpty("Plural-Forms", lang.DefaultPluralFormsExpr());
+}
void Catalog::GetStatistics(int *all, int *fuzzy, int *badtokens,
int *untranslated, int *unfinished)
@@ -2187,27 +2447,26 @@ void Catalog::GetStatistics(int *all, int *fuzzy, int *badtokens,
if (untranslated) *untranslated = 0;
if (unfinished) *unfinished = 0;
- int cnt = GetCount();
- for (int i = 0; i < cnt; i++)
+ for (auto& i: m_items)
{
bool ok = true;
if (all)
(*all)++;
- if ((*this)[i].IsFuzzy())
+ if (i->IsFuzzy())
{
if (fuzzy)
(*fuzzy)++;
ok = false;
}
- if ((*this)[i].GetValidity() == CatalogItem::Val_Invalid)
+ if (i->GetValidity() == CatalogItem::Val_Invalid)
{
if (badtokens)
(*badtokens)++;
ok = false;
}
- if (!(*this)[i].IsTranslated())
+ if (!i->IsTranslated())
{
if (untranslated)
(*untranslated)++;
diff --git a/src/catalog.h b/src/catalog.h
index 60345b6..e2edc9d 100644
--- a/src/catalog.h
+++ b/src/catalog.h
@@ -32,11 +32,20 @@
#include <wx/arrstr.h>
#include <wx/textfile.h>
-#include <vector>
+#include <initializer_list>
+#include <iostream>
#include <map>
+#include <memory>
+#include <vector>
class ProgressInfo;
+class Catalog;
+class CatalogItem;
+typedef std::shared_ptr<CatalogItem> CatalogItemPtr;
+typedef std::shared_ptr<Catalog> CatalogPtr;
+
+
/// The possible bookmarks for a given item
typedef enum
{
@@ -141,8 +150,8 @@ class CatalogItem
wxString GetTranslation(unsigned n = 0) const;
/// Returns all translations.
- const wxArrayString& GetTranslations() const
- { return m_translations; }
+ const wxArrayString& GetTranslations() const { return m_translations; }
+ wxArrayString& GetTranslations() { return m_translations; }
/// Returns references (#:) lines for the entry
const wxArrayString& GetRawReferences() const { return m_references; }
@@ -309,6 +318,7 @@ class CatalogItem
Bookmark m_bookmark;
};
+
/** This class holds information about one particular deleted item.
This includes deleted lines, references, translation's status
(fuzzy, non translated, translated) and optional comment(s).
@@ -404,7 +414,7 @@ class CatalogDeletedData
};
-typedef std::vector<CatalogItem> CatalogItemArray;
+typedef std::vector<CatalogItemPtr> CatalogItemArray;
typedef std::vector<CatalogDeletedData> CatalogDeletedDataArray;
typedef std::map<wxString, unsigned> CatalogItemIndex;
@@ -416,6 +426,24 @@ typedef std::map<wxString, unsigned> CatalogItemIndex;
class Catalog
{
public:
+ /// Type of the file loaded
+ enum class Type
+ {
+ PO,
+ POT
+ };
+
+ /// Capabilities of the file type
+ enum class Cap
+ {
+ Translations, // Can translations be added (e.g. POTs can't)?
+ LanguageSetting, // Is language code saved in the file?
+ UserComments, // Can users add comments?
+ };
+
+ /// Is this file capable of doing these things
+ bool HasCapability(Cap cap) const;
+
/// PO file header information.
class HeaderData
{
@@ -496,7 +524,7 @@ class Catalog
static const int DEFAULT_WRAPPING = -2;
/// Default ctor. Creates empty catalog, you have to call Load.
- Catalog();
+ Catalog(Type type = Type::PO);
/// Ctor that loads the catalog from \a po_file with Load.
/// \a flags is CreationFlags combination.
@@ -539,13 +567,63 @@ class Catalog
int& validation_errors,
CompilationStatus& mo_compilation_status);
+ /**
+ "Saves" the PO file into a memory buffer with content identical
+ to what Save() would save into a file.
+
+ Returns empty string in case of failure.
+ */
+ std::string SaveToBuffer();
+
+ /// File mask for opening/saving this catalog's file type
+ wxString GetFileMask() const { return GetTypesFileMask({m_fileType}); }
+ /// File mask for opening/saving any supported file type
+ static wxString GetTypesFileMask(std::initializer_list<Type> types);
+ static wxString GetAllTypesFileMask();
+
/// Compiles the catalog into binary MO file.
bool CompileToMO(const wxString& mo_file,
int& validation_errors,
CompilationStatus& mo_compilation_status);
/// Exports the catalog to HTML format
- bool ExportToHTML(const wxString& filename);
+ void ExportToHTML(std::ostream& output);
+
+ /// Detect a particular common breakage of catalogs.
+ bool HasDuplicateItems() const;
+
+ /// Fixes a common invalid kind of entries, when msgids aren't unique.
+ bool FixDuplicateItems();
+
+ Type GetFileType() const { return m_fileType; }
+
+ wxString GetFileName() const { return m_fileName; }
+ void SetFileName(const wxString& fn);
+
+ /**
+ Return base path to source code for extraction, or empty string if not configured.
+
+ This is the path that file references are relative to. It should be,
+ but may not be, the root of the source tree.
+ */
+ wxString GetSourcesBasePath() const;
+
+ /**
+ Returns top-most directory of the configured source tree.
+
+ Returns empty string if not configured.
+ */
+ wxString GetSourcesRootPath() const;
+
+ /**
+ Returns true if the source code to update the PO from is available.
+ */
+ bool HasSourcesConfigured() const;
+
+ /**
+ Returns true if the source code to update the PO from is available.
+ */
+ bool HasSourcesAvailable() const;
/** Updates the catalog from sources.
\see SourceDigger, Parser, UpdateFromPOT.
@@ -563,6 +641,8 @@ class Catalog
/// Returns the number of strings/translations in the catalog.
unsigned GetCount() const { return (unsigned)m_items.size(); }
+ const CatalogItemArray& items() const { return m_items; }
+
/// Is the catalog empty?
bool empty() const { return m_items.empty(); }
@@ -577,10 +657,10 @@ class Catalog
int *untranslated, int *unfinished);
/// Gets n-th item in the catalog (read-write access).
- CatalogItem& operator[](unsigned n) { return m_items[n]; }
+ CatalogItemPtr operator[](unsigned n) { return m_items[n]; }
/// Gets n-th item in the catalog (read-only access).
- const CatalogItem& operator[](unsigned n) const { return m_items[n]; }
+ const CatalogItemPtr operator[](unsigned n) const { return m_items[n]; }
/// Gets catalog header (read-write access).
HeaderData& Header() { return m_header; }
@@ -602,12 +682,22 @@ class Catalog
*/
bool IsOk() const { return m_isOk; }
- /** Returns catalog's language (may be invalid). */
+ /// Returns catalog's source language (may be invalid, but usually English).
+ Language GetSourceLanguage() const { return m_sourceLanguage; }
+
+ /// Returns catalog's language (may be invalid).
Language GetLanguage() const { return m_header.Lang; }
+ /// Change the catalog's language and update headers accordingly
+ void SetLanguage(Language lang);
+
+ /// Is the PO file from Crowdin, i.e. sync-able?
+ bool IsFromCrowdin() const
+ { return m_header.HasHeader("X-Crowdin-Project") && m_header.HasHeader("X-Crowdin-File"); }
+
/// Adds entry to the catalog (the catalog will take ownership of
/// the object).
- void AddItem(const CatalogItem& data);
+ void AddItem(const CatalogItemPtr& data);
/// Adds entry to the catalog (the catalog will take ownership of
/// the object).
@@ -620,7 +710,7 @@ class Catalog
void RemoveDeletedItems();
/// Finds item by line number
- CatalogItem *FindItemByLine(int lineno);
+ CatalogItemPtr FindItemByLine(int lineno);
/// Sets the given item to have the given bookmark and returns the index
/// of the item that previously had this bookmark (or -1)
@@ -637,16 +727,13 @@ class Catalog
/// Returns number of errors (i.e. 0 if no errors).
int Validate();
- const wxString& GetFileName() const { return m_fileName; }
- void SetFileName(const wxString& fn) { m_fileName = fn; }
-
protected:
/// Fix commonly encountered fixable problems with loaded files
void FixupCommonIssues();
int DoValidate(const wxString& po_file);
bool DoSaveOnly(const wxString& po_file, wxTextFileType crlf);
- bool DoSaveOnly(wxTextFile& f, wxTextFileType crlf);
+ bool DoSaveOnly(wxTextBuffer& f, wxTextFileType crlf);
/** Merges the catalog with reference catalog
(in the sense of msgmerge -- this catalog is old one with
@@ -656,7 +743,7 @@ class Catalog
Note that if it returns false, the catalog was
\em not modified!
*/
- bool Merge(Catalog *refcat);
+ bool Merge(const CatalogPtr& refcat);
/** Returns list of strings that are new in reference catalog
(compared to this one) and that are not present in \a refcat
@@ -664,7 +751,7 @@ class Catalog
\see ShowMergeSummary
*/
- void GetMergeSummary(Catalog *refcat,
+ void GetMergeSummary(const CatalogPtr& refcat,
wxArrayString& snew, wxArrayString& sobsolete);
/** Shows a dialog with merge summary.
@@ -672,15 +759,17 @@ class Catalog
\return true if the merge was OK'ed by the user, false otherwise
*/
- bool ShowMergeSummary(Catalog *refcat, bool *cancelledByUser);
+ bool ShowMergeSummary(const CatalogPtr& refcat, bool *cancelledByUser);
private:
CatalogItemArray m_items;
CatalogDeletedDataArray m_deletedItems;
bool m_isOk;
+ Type m_fileType;
wxString m_fileName;
HeaderData m_header;
+ Language m_sourceLanguage;
wxTextFileType m_fileCRLF;
int m_fileWrappingWidth;
diff --git a/src/chooselang.cpp b/src/chooselang.cpp
index 2ac43ac..dd1bc97 100644
--- a/src/chooselang.cpp
+++ b/src/chooselang.cpp
@@ -62,7 +62,7 @@ static bool ChooseLanguage(wxString *value)
arr.push_back(_("(Use default language)"));
for (auto i : langs)
{
- auto lang = Language::TryParse(i);
+ auto lang = Language::TryParse(i.ToStdWstring());
arr.push_back(lang.DisplayNameInItself() + L" — " + lang.DisplayName());
}
}
diff --git a/src/version.h b/src/concurrency.cpp
similarity index 51%
copy from src/version.h
copy to src/concurrency.cpp
index 6712232..7820afc 100644
--- a/src/version.h
+++ b/src/concurrency.cpp
@@ -23,10 +23,63 @@
*
*/
-#ifndef _VERSION_H_
-#define _VERSION_H_
+#include "concurrency.h"
-#define POEDIT_VERSION "1.7.7"
-#define POEDIT_VERSION_WIN 1,7,7,0
+#if defined(HAVE_DISPATCH)
-#endif // _VERSION_H_
+
+#include <dispatch/dispatch.h>
+
+void call_on_main_thread_impl(std::function<void()>&& f)
+{
+ std::function<void()> func(std::move(f));
+ dispatch_async(dispatch_get_main_queue(), [func]{ func(); });
+}
+
+void concurrency_queue::enqueue(std::function<void()>&& f)
+{
+ std::function<void()> func(std::move(f));
+ dispatch_queue_t q = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
+ dispatch_async(q, [func]{ func(); });
+}
+
+void concurrency_queue::cleanup()
+{
+}
+
+
+#elif !defined(HAVE_PPL) // generic implementation
+
+
+#include "ThreadPool.h"
+
+#include <thread>
+
+namespace
+{
+
+std::unique_ptr<ThreadPool> gs_pool;
+static std::once_flag initializationFlag;
+
+ThreadPool& pool()
+{
+ std::call_once(initializationFlag, []{
+ gs_pool.reset(new ThreadPool(std::thread::hardware_concurrency() + 1));
+ });
+ return *gs_pool;
+}
+
+} // anonymous namespace
+
+void concurrency_queue::enqueue(std::function<void()>&& f)
+{
+ pool().enqueue_func(std::move(f));
+}
+
+void concurrency_queue::cleanup()
+{
+ gs_pool.reset();
+}
+
+
+#endif // !HAVE_DISPATCH
diff --git a/src/concurrency.h b/src/concurrency.h
new file mode 100644
index 0000000..9911377
--- /dev/null
+++ b/src/concurrency.h
@@ -0,0 +1,238 @@
+/*
+ * This file is part of Poedit (http://poedit.net)
+ *
+ * Copyright (C) 2010-2015 Vaclav Slavik
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ */
+
+#ifndef Poedit_concurrency_h
+#define Poedit_concurrency_h
+
+#include <functional>
+#include <future>
+#include <memory>
+
+#include <wx/app.h>
+#include <wx/weakref.h>
+
+#if defined(__WXOSX__) && defined(__clang__)
+ #define HAVE_DISPATCH
+ extern void call_on_main_thread_impl(std::function<void()>&& f);
+#endif
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1800)
+ #define HAVE_PPL
+ #include <concrt.h>
+#endif
+
+// ----------------------------------------------------------------------
+// Background operations
+// ----------------------------------------------------------------------
+
+#if defined(HAVE_PPL)
+
+class concurrency_queue
+{
+public:
+ /// Future type used by the queue.
+ template<typename T> using future = Concurrency::task<T>;
+
+ /**
+ Enqueue an operation for background processing.
+
+ Return future for it.
+ */
+ template<class F>
+ static auto add(F&& f) -> future<typename std::result_of<F()>::type>
+ {
+ return Concurrency::create_task(f);
+ }
+
+ /// @internal Call on shutdown to terminate the queue
+ static void cleanup() {}
+};
+
+template<typename T>
+inline bool is_future_valid(const concurrency_queue::future<T>& f)
+{
+ try
+ {
+ f.is_done();
+ return true;
+ }
+ catch (Concurrency::invalid_operation)
+ {
+ return false;
+ }
+}
+
+#else // generic version
+
+class concurrency_queue
+{
+public:
+ /// Future type used by the queue.
+ template<typename T> using future = std::future<T>;
+
+ /**
+ Enqueue an operation for background processing.
+
+ Return future for it.
+ */
+ template<class F>
+ static auto add(F&& f) -> future<typename std::result_of<F()>::type>
+ {
+ using return_type = typename std::result_of<F()>::type;
+ auto task = std::make_shared< std::packaged_task<return_type()> >(std::forward<F>(f));
+ future<return_type> res = task->get_future();
+ enqueue([task](){ (*task)(); });
+ return res;
+ }
+
+ /// @internal Call on shutdown to terminate the queue
+ static void cleanup();
+
+private:
+ static void enqueue(std::function<void()>&& f);
+};
+
+template<typename T>
+inline bool is_future_valid(const concurrency_queue::future<T>& f)
+{
+ return f.valid();
+}
+
+#endif // !HAVE_PPL
+
+
+// ----------------------------------------------------------------------
+// Helpers for running code on the main thread
+// ----------------------------------------------------------------------
+
+/**
+ Simply calls the callable @a func on the main thread, asynchronously.
+ */
+template<typename F>
+void call_on_main_thread(F&& func)
+{
+#ifdef HAVE_DISPATCH
+ call_on_main_thread_impl(func);
+#else
+ wxTheApp->CallAfter(func);
+#endif
+}
+
+#if defined(__clang__)
+
+template<typename... Args>
+auto on_main_thread_impl(std::function<void(Args...)> func) -> std::function<void(Args...)>
+{
+ return [func](Args... args){
+ call_on_main_thread([func,args...]{
+ func(args...);
+ });
+ };
+}
+
+#else // sigh... neither VS2013 nor GCC 4.8 can deal with the above
+
+// Visual Studio 2013 is broken and won't parse the above; 2015 fixes it.
+inline auto on_main_thread_impl(std::function<void()> func) -> std::function<void()>
+{
+ return [func](){ call_on_main_thread([=]{ func(); }); };
+}
+template<typename A1>
+auto on_main_thread_impl(std::function<void(A1)> func) -> std::function<void(A1)>
+{
+ return [func](A1 a1){ call_on_main_thread([=]{ func(a1); }); };
+}
+template<typename A1, typename A2>
+auto on_main_thread_impl(std::function<void(A1,A2)> func) -> std::function<void(A1,A2)>
+{
+ return [func](A1 a1, A2 a2){ call_on_main_thread([=]{ func(a1,a2); }); };
+}
+template<typename A1, typename A2, typename A3>
+auto on_main_thread_impl(std::function<void(A1, A2, A3)> func) -> std::function<void(A1, A2, A3)>
+{
+ return [func](A1 a1, A2 a2, A3 a3){ call_on_main_thread([=]{ func(a1, a2, a3); }); };
+}
+
+#endif
+
+/**
+ Wraps a callable into std::function called on the main thread.
+
+ Returned function takes the same arguments as @a func and is called on the
+ main thread. I.e. the returned object may be called from any thread, but
+ @a func is guaranteed to execute on the main one.
+
+ Notice that it is necessary to specify template parameters because they
+ cannot be deduced.
+
+ Example usage:
+
+ on_main_thread<int,std::string>(this, [=](int i, std::string s){
+ ...
+ })
+ */
+template<typename... Args, typename F>
+auto on_main_thread(F&& func) -> std::function<void(Args...)>
+{
+ return on_main_thread_impl(std::function<void(Args...)>(func));
+}
+
+/**
+ Like on_main_thread<> but is only called if @a window is still valid
+ (using a wxWeakRef<> to check).
+ */
+template<typename... Args, typename F, typename Class>
+auto on_main_thread_for_window(Class *self, F&& func) -> std::function<void(Args...)>
+{
+ wxWeakRef<Class> weak(self);
+ return on_main_thread<Args...>([=](Args... args){
+ if (weak)
+ func(args...);
+ });
+}
+
+
+/**
+ Wraps a method into function called on the main thread.
+
+ Returned function takes the same arguments as the provided method @a func
+ and is called on the main thread. I.e. the returned object may be called
+ from any thread, but @a func is guaranteed to execute on the main one.
+
+ Example usage:
+
+ on_main_thread(this, &CrowdinOpenDialog::OnFetchedProjects)
+ */
+template<typename Class, typename... Args>
+auto on_main_thread(Class *self, void (Class::*func)(Args...)) -> std::function<void(Args...)>
+{
+ wxWeakRef<Class> weak(self);
+ return on_main_thread<Args...>([=](Args... args){
+ if (weak)
+ ((*weak.get()).*func)(args...);
+ });
+}
+
+#endif // Poedit_concurrency_h
diff --git a/src/crowdin_client.cpp b/src/crowdin_client.cpp
new file mode 100644
index 0000000..044f6b9
--- /dev/null
+++ b/src/crowdin_client.cpp
@@ -0,0 +1,367 @@
+/*
+ * This file is part of Poedit (http://poedit.net)
+ *
+ * Copyright (C) 2015 Vaclav Slavik
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ */
+
+
+#include "crowdin_client.h"
+
+#include "http_client.h"
+#include "keychain/keytar.h"
+#include "str_helpers.h"
+
+#include <functional>
+#include <mutex>
+#include <boost/algorithm/string.hpp>
+
+#include <wx/translation.h>
+#include <wx/utils.h>
+
+#ifndef __WXOSX__
+ #define NEEDS_IN_APP_BROWSER
+ #include <wx/dialog.h>
+ #include <wx/webview.h>
+ #include "hidpi.h"
+#endif
+
+// GCC's libstdc++ didn't have functional std::regex implementation until 4.9
+#if (defined(__GNUC__) && !defined(__clang__) && !wxCHECK_GCC_VERSION(4,9))
+ #include <boost/regex.hpp>
+ using boost::regex;
+ using boost::regex_search;
+ using boost::smatch;
+#else
+ #include <regex>
+ using std::regex;
+ using std::regex_search;
+ using std::smatch;
+#endif
+
+// ----------------------------------------------------------------
+// Implementation
+// ----------------------------------------------------------------
+
+namespace
+{
+
+#define OAUTH_CLIENT_ID "poedit-y1aBMmDbm3s164dtJ4Ur150e2"
+#define OAUTH_AUTHORIZE_URL "/oauth2/authorize?response_type=token&client_id=" OAUTH_CLIENT_ID
+#define OAUTH_URI_PREFIX "poedit://auth/crowdin/"
+
+// Recursive extract files from /api/project/*/info response
+void ExtractFilesFromInfo(std::vector<std::wstring>& out, const json_dict& r, const std::wstring& prefix)
+{
+ r.iterate_array("files",[&out,prefix](const json_dict& i){
+ auto name = prefix + i.wstring("name");
+ auto node_type = i.utf8_string("node_type");
+ if (node_type == "file")
+ {
+ out.push_back(name);
+ }
+ else if (node_type == "directory")
+ {
+ ExtractFilesFromInfo(out, i, name + L"/");
+ }
+ });
+}
+
+} // anonymous namespace
+
+
+std::string CrowdinClient::WrapLink(const std::string& page)
+{
+ return "https://secure.payproglobal.com/r.ashx?s=12569&a=62761&u=" +
+ http_client::url_encode("https://crowdin.com" + page);
+}
+
+
+class CrowdinClient::crowdin_http_client : public http_client
+{
+public:
+ crowdin_http_client(CrowdinClient& owner)
+ : http_client("https://api.crowdin.com"), m_owner(owner)
+ {}
+
+protected:
+ std::string parse_json_error(const json_dict& response) const override
+ {
+ auto msg = response.subdict("error").utf8_string("message");
+
+ // Translate commonly encountered messages:
+ if (msg == "Translations download is forbidden by project owner")
+ msg = _("Downloading translations is disabled in this project.").utf8_str();
+
+ return msg;
+ }
+
+ void on_error_response(int& statusCode, std::string& message) override
+ {
+ if (statusCode == 401/*Unauthorized*/)
+ {
+ // message is e.g. "The access token provided is invalid"
+ message = _("Not authorized, please sign in again.").utf8_str();
+ m_owner.SignOut();
+ }
+ }
+
+ CrowdinClient& m_owner;
+};
+
+
+CrowdinClient::CrowdinClient() : m_api(new crowdin_http_client(*this))
+{
+ SignInIfAuthorized();
+}
+
+CrowdinClient::~CrowdinClient() {}
+
+
+void CrowdinClient::Authenticate(std::function<void()> callback)
+{
+ auto url = WrapLink(OAUTH_AUTHORIZE_URL);
+ m_authCallback = callback;
+
+#ifdef NEEDS_IN_APP_BROWSER
+ // Windows XP has broken wxWebViewHandler and it's not worth fixing. Use external browser
+ // on XP, even though its user experience is suboptimal. Use in-app browser on other
+ // platforms and Windows versions.
+ #ifdef __WXMSW__
+ if (wxPlatformInfo::Get().CheckOSVersion(6, 0))
+ #endif
+ {
+ auto win = new wxDialog(nullptr, wxID_ANY, _("Sign in to Crowdin"), wxDefaultPosition, wxSize(PX(800), PX(600)), wxDIALOG_NO_PARENT | wxDEFAULT_FRAME_STYLE);
+ auto web = wxWebView::New(win, wxID_ANY);
+
+ // Protocol handler that simply calls a callback and doesn't return any data.
+ // We have to use this hack, because wxEVT_WEBVIEW_NAVIGATING is unreliable
+ // with IE on Windows 8 and is not sent at all or sent one navigation event too
+ // late, possibly due to the custom protocol used, possibly not.
+ class PoeditURIHandler : public wxWebViewHandler
+ {
+ public:
+ PoeditURIHandler(std::function<void(std::string)> cb) : wxWebViewHandler("poedit"), m_cb(cb) {}
+ wxFSFile* GetFile(const wxString &uri) override
+ {
+ m_cb(uri.ToStdString());
+ return nullptr;
+ }
+ std::function<void(std::string)> m_cb;
+ };
+
+ std::string auth_uri;
+ web->RegisterHandler(wxSharedPtr<wxWebViewHandler>(new PoeditURIHandler([=, &auth_uri](std::string uri){
+ if (!this->IsOAuthCallback(uri))
+ return;
+ auth_uri = uri;
+ win->CallAfter([=]{ win->EndModal(wxID_OK); });
+ })));
+
+ win->CallAfter([=]{ web->LoadURL(url); });
+ win->ShowModal();
+ win->Destroy();
+ if (!auth_uri.empty())
+ HandleOAuthCallback(auth_uri);
+ return;
+ }
+ // else: fall through
+#endif
+ wxLaunchDefaultBrowser(url);
+}
+
+
+void CrowdinClient::HandleOAuthCallback(const std::string& uri)
+{
+ if (!m_authCallback)
+ return;
+
+ const regex re("access_token=([^&]+)&");
+ smatch m;
+ if (!regex_search(uri, m, re))
+ return;
+
+ SaveAndSetToken(m.str(1));
+
+ m_authCallback();
+ m_authCallback = nullptr;
+}
+
+
+bool CrowdinClient::IsOAuthCallback(const std::string& uri)
+{
+ return boost::starts_with(uri, OAUTH_URI_PREFIX);
+}
+
+
+void CrowdinClient::GetUserInfo(std::function<void(UserInfo)> callback)
+{
+ m_api->get("/api/account/profile?json=",
+ // OK:
+ [callback](const json_dict& r){
+ auto profile = r.subdict("profile");
+ UserInfo u;
+ u.name = profile.wstring("name");
+ u.login = profile.wstring("login");
+ callback(u);
+ },
+ // error:
+ [](std::exception_ptr) {}
+ );
+}
+
+
+void CrowdinClient::GetUserProjects(std::function<void(std::vector<ProjectListing>)> onResult,
+ error_func_t onError)
+{
+ m_api->get("/api/account/get-projects?json=&role=all",
+ // OK:
+ [onResult](const json_dict& r){
+ std::vector<ProjectListing> all;
+ r.iterate_array("projects",[&all](const json_dict& i){
+ all.push_back({i.wstring("name"),
+ i.utf8_string("identifier"),
+ (bool)i.number("downloadable")});
+ });
+ onResult(all);
+ },
+ onError
+ );
+}
+
+
+void CrowdinClient::GetProjectInfo(const std::string& project_id,
+ std::function<void(ProjectInfo)> onResult,
+ error_func_t onError)
+{
+ auto url = "/api/project/" + project_id + "/info?json=&project-identifier=" + project_id;
+ m_api->get(url,
+ // OK:
+ [onResult](const json_dict& r){
+ ProjectInfo prj;
+ auto details = r.subdict("details");
+ prj.name = details.wstring("name");
+ prj.identifier = details.utf8_string("identifier");
+ r.iterate_array("languages",[&prj](const json_dict& i){
+ if (i.number("can_translate") != 0)
+ prj.languages.push_back(Language::TryParse(i.wstring("code")));
+ });
+ ExtractFilesFromInfo(prj.files, r, L"/");
+ onResult(prj);
+ },
+ onError
+ );
+}
+
+
+void CrowdinClient::DownloadFile(const std::string& project_id, const std::wstring& file, const Language& lang,
+ const std::wstring& output_file,
+ std::function<void()> onSuccess,
+ error_func_t onError)
+{
+ // NB: "export_translated_only" means the translation is not filled with the source string
+ // if there's no translation, i.e. what Poedit wants.
+ auto url = "/api/project/" + project_id + "/export-file"
+ "?json="
+ "&export_translated_only=1"
+ "&language=" + lang.RFC3066() +
+ "&file=" + http_client::url_encode(file);
+ m_api->download(url, output_file, onSuccess, onError);
+}
+
+
+void CrowdinClient::UploadFile(const std::string& project_id, const std::wstring& file, const Language& lang,
+ const std::string& file_content,
+ std::function<void()> onSuccess,
+ error_func_t onError)
+{
+ auto url = "/api/project/" + project_id + "/upload-translation";
+
+ multipart_form_data data;
+ data.add_value("json", "");
+ data.add_value("language", lang.RFC3066());
+ data.add_value("import_duplicates", "0");
+ data.add_value("import_eq_suggestions", "0");
+ data.add_file("files[" + str::to_utf8(file) + "]", "upload.po", file_content);
+
+ m_api->post(url, data, onSuccess, onError);
+}
+
+
+bool CrowdinClient::IsSignedIn() const
+{
+ std::string token;
+ return keytar::GetPassword("Crowdin", &token);
+}
+
+
+void CrowdinClient::SignInIfAuthorized()
+{
+ std::string token;
+ if (keytar::GetPassword("Crowdin", &token))
+ SetToken(token);
+}
+
+
+void CrowdinClient::SetToken(const std::string& token)
+{
+ m_api->set_authorization(!token.empty() ? "Bearer " + token : "");
+}
+
+
+void CrowdinClient::SaveAndSetToken(const std::string& token)
+{
+ SetToken(token);
+ keytar::AddPassword("Crowdin", token);
+}
+
+
+void CrowdinClient::SignOut()
+{
+ m_api->set_authorization("");
+ keytar::DeletePassword("Crowdin");
+}
+
+
+// ----------------------------------------------------------------
+// Singleton management
+// ----------------------------------------------------------------
+
+static std::once_flag initializationFlag;
+CrowdinClient* CrowdinClient::ms_instance = nullptr;
+
+CrowdinClient& CrowdinClient::Get()
+{
+ std::call_once(initializationFlag, []() {
+ ms_instance = new CrowdinClient;
+ });
+ return *ms_instance;
+}
+
+void CrowdinClient::CleanUp()
+{
+ if (ms_instance)
+ {
+ delete ms_instance;
+ ms_instance = nullptr;
+ }
+}
+
diff --git a/src/crowdin_client.h b/src/crowdin_client.h
new file mode 100644
index 0000000..89e3e19
--- /dev/null
+++ b/src/crowdin_client.h
@@ -0,0 +1,137 @@
+/*
+ * This file is part of Poedit (http://poedit.net)
+ *
+ * Copyright (C) 2015 Vaclav Slavik
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ */
+
+#ifndef Poedit_crowdin_client_h
+#define Poedit_crowdin_client_h
+
+#ifdef HAVE_HTTP_CLIENT
+
+#include <functional>
+#include <memory>
+
+#include "language.h"
+
+
+/**
+ Client to the Crowdin platform.
+ */
+class CrowdinClient
+{
+public:
+ /// Return singleton instance of the client.
+ static CrowdinClient& Get();
+
+ /// Destroys the singleton, must be called (omly) on app shutdown.
+ static void CleanUp();
+
+ /// Is the user currently signed into Crowdin?
+ bool IsSignedIn() const;
+
+ /// Wrap relative Crowdin link to absolute URL
+ static std::string WrapLink(const std::string& page);
+
+ typedef std::function<void(std::exception_ptr)> error_func_t;
+
+ /**
+ Authenticate with Crowdin.
+
+ This opens the browser to authenticate the app. The app must handle
+ poedit:// URL and call HandleOAuthCallback. @a callback will be
+ called after receiving the OAuth token.
+ */
+ void Authenticate(std::function<void()> callback);
+ void HandleOAuthCallback(const std::string& uri);
+ bool IsOAuthCallback(const std::string& uri);
+
+ /// Sign out of Crowdin, forget the token
+ void SignOut();
+
+ /// Information about logged-in user
+ struct UserInfo
+ {
+ std::wstring name;
+ std::wstring login;
+ };
+
+ /// Retrieve information about the current user asynchronously
+ void GetUserInfo(std::function<void(UserInfo)> callback);
+
+ /// Project listing info
+ struct ProjectListing
+ {
+ std::wstring name;
+ std::string identifier;
+ bool downloadable;
+ };
+
+ /// Retrieve listing of projects accessible to the user
+ void GetUserProjects(std::function<void(std::vector<ProjectListing>)> onResult,
+ error_func_t onError);
+
+ /// Project detailed information
+ struct ProjectInfo
+ {
+ std::wstring name;
+ std::string identifier;
+ std::vector<Language> languages;
+ std::vector<std::wstring> files;
+ };
+
+ /// Retrieve listing of projects accessible to the user
+ void GetProjectInfo(const std::string& project_id,
+ std::function<void(ProjectInfo)> onResult,
+ error_func_t onError);
+
+ /// Asynchronously download specific Crowdin file into @a output_file.
+ void DownloadFile(const std::string& project_id, const std::wstring& file, const Language& lang,
+ const std::wstring& output_file,
+ std::function<void()> onSuccess,
+ error_func_t onError);
+
+ /// Asynchronously upload specific Crowdin file data.
+ void UploadFile(const std::string& project_id, const std::wstring& file, const Language& lang,
+ const std::string& file_content,
+ std::function<void()> onSuccess,
+ error_func_t onError);
+
+private:
+ CrowdinClient();
+ ~CrowdinClient();
+
+ void SignInIfAuthorized();
+ void SetToken(const std::string& token);
+ void SaveAndSetToken(const std::string& token);
+
+ class crowdin_http_client;
+ std::unique_ptr<crowdin_http_client> m_api;
+
+ std::function<void()> m_authCallback;
+
+ static CrowdinClient *ms_instance;
+};
+
+#endif // HAVE_HTTP_CLIENT
+
+#endif // Poedit_crowdin_client_h
diff --git a/src/crowdin_gui.cpp b/src/crowdin_gui.cpp
new file mode 100644
index 0000000..d14da85
--- /dev/null
+++ b/src/crowdin_gui.cpp
@@ -0,0 +1,622 @@
+/*
+ * This file is part of Poedit (http://poedit.net)
+ *
+ * Copyright (C) 2015 Vaclav Slavik
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ */
+
+
+#include "crowdin_gui.h"
+
+#include "crowdin_client.h"
+
+#include "catalog.h"
+#include "concurrency.h"
+#include "customcontrols.h"
+#include "errors.h"
+#include "hidpi.h"
+#include "str_helpers.h"
+#include "utility.h"
+
+#include <wx/app.h>
+#include <wx/artprov.h>
+#include <wx/button.h>
+#include <wx/choice.h>
+#include <wx/config.h>
+#include <wx/dialog.h>
+#include <wx/msgdlg.h>
+#include <wx/sizer.h>
+#include <wx/statbmp.h>
+#include <wx/stdpaths.h>
+#include <wx/weakref.h>
+#include <wx/windowptr.h>
+
+#include <boost/algorithm/string.hpp>
+
+CrowdinLoginPanel::CrowdinLoginPanel(wxWindow *parent, int flags)
+ : wxPanel(parent, wxID_ANY),
+ m_state(State::Uninitialized)
+{
+ wxBoxSizer *sizer = new wxBoxSizer(wxVERTICAL);
+ sizer->SetMinSize(PX(400), -1);
+ SetSizer(sizer);
+
+ sizer->AddSpacer(PX(10));
+ auto logo = new wxStaticBitmap(this, wxID_ANY, wxArtProvider::GetBitmap("CrowdinLogo"));
+ logo->SetCursor(wxCURSOR_HAND);
+ logo->Bind(wxEVT_LEFT_UP, [](wxMouseEvent&){ wxLaunchDefaultBrowser(CrowdinClient::WrapLink("/")); });
+ sizer->Add(logo, wxSizerFlags().PXDoubleBorder(wxBOTTOM));
+ auto explain = new ExplanationLabel(this, _("Crowdin is an online localization management platform and collaborative translation tool. Poedit can seamlessly sync PO files managed at Crowdin."));
+ sizer->Add(explain, wxSizerFlags().Expand());
+
+ m_loginInfo = new wxBoxSizer(wxHORIZONTAL);
+ auto loginInfoContainer = new wxBoxSizer(wxVERTICAL);
+ loginInfoContainer->SetMinSize(-1, PX(50));
+ loginInfoContainer->AddStretchSpacer();
+ loginInfoContainer->Add(m_loginInfo, wxSizerFlags().Center());
+ loginInfoContainer->AddStretchSpacer();
+
+ sizer->Add(loginInfoContainer, wxSizerFlags().Expand().ReserveSpaceEvenIfHidden().Border(wxTOP|wxBOTTOM, PX(10)));
+
+ m_signIn = new wxButton(this, wxID_ANY, MSW_OR_OTHER(_("Sign in"), _("Sign In")));
+ m_signIn->Bind(wxEVT_BUTTON, &CrowdinLoginPanel::OnSignIn, this);
+ m_signOut= new wxButton(this, wxID_ANY, MSW_OR_OTHER(_("Sign out"), _("Sign Out")));
+ m_signOut->Bind(wxEVT_BUTTON, &CrowdinLoginPanel::OnSignOut, this);
+
+ auto learnMore = new LearnAboutCrowdinLink(this);
+
+ auto buttons = new wxBoxSizer(wxHORIZONTAL);
+ sizer->Add(buttons, wxSizerFlags().Expand().Border(wxBOTTOM, 1));
+ buttons->Add(learnMore, wxSizerFlags().Center().Border(wxLEFT, PX(LearnMoreLink::EXTRA_INDENT)));
+ buttons->AddStretchSpacer();
+ buttons->Add(m_signIn, wxSizerFlags().Right());
+ buttons->Add(m_signOut, wxSizerFlags().Right());
+
+ if (flags & DialogButtons)
+ {
+ auto cancel = new wxButton(this, wxID_CANCEL);
+#ifdef __WXMSW__
+ buttons->Add(cancel, wxSizerFlags().Right().Border(wxLEFT, PX(3)));
+#else
+ buttons->Insert(2, cancel, wxSizerFlags().Right().Border(wxRIGHT, PX(6)));
+#endif
+ m_signIn->SetDefault();
+ m_signIn->SetFocus();
+ }
+
+ ChangeState(State::Uninitialized);
+}
+
+void CrowdinLoginPanel::EnsureInitialized()
+{
+ if (m_state != State::Uninitialized)
+ return;
+
+ if (CrowdinClient::Get().IsSignedIn())
+ UpdateUserInfo();
+ else
+ ChangeState(State::SignedOut);
+}
+
+void CrowdinLoginPanel::ChangeState(State state)
+{
+ m_state = state;
+
+ bool canSignIn = (state == State::SignedOut || state == State::Authenticating);
+ auto sizer = m_signIn->GetContainingSizer();
+ m_signIn->GetContainingSizer()->Show(m_signIn, canSignIn);
+ if (m_signOut)
+ m_signOut->GetContainingSizer()->Show(m_signOut, !canSignIn);
+ sizer->Layout();
+
+ CreateLoginInfoControls(state);
+}
+
+void CrowdinLoginPanel::CreateLoginInfoControls(State state)
+{
+ auto sizer = m_loginInfo;
+ sizer->Clear(/*delete_windows=*/true);
+
+ switch (state)
+ {
+ case State::Authenticating:
+ case State::UpdatingInfo:
+ {
+ auto text = (state == State::Authenticating)
+ ? _(L"Waiting for authentication…")
+ : _(L"Updating user information…");
+ auto waitingLabel = new ActivityIndicator(this);
+ sizer->Add(waitingLabel, wxSizerFlags().Center());
+ waitingLabel->Start(text);
+ break;
+ }
+
+ case State::Uninitialized:
+ case State::SignedOut:
+ {
+ // nothing to show in the UI except for "sign in" button
+ break;
+ };
+
+ case State::SignedIn:
+ {
+ auto account = new wxStaticText(this, wxID_ANY, _("Signed in as:"));
+ account->SetForegroundColour(SecondaryLabel::GetTextColor());
+ auto name = new wxStaticText(this, wxID_ANY, m_userName);
+ name->SetFont(name->GetFont().Bold());
+ auto username = new SecondaryLabel(this, m_userLogin);
+
+ sizer->Add(account, wxSizerFlags().PXBorder(wxRIGHT));
+ auto box = new wxBoxSizer(wxVERTICAL);
+ box->Add(name, wxSizerFlags().Left());
+ box->Add(username, wxSizerFlags().Left());
+ sizer->Add(box);
+ break;
+ }
+ }
+
+ Layout();
+}
+
+void CrowdinLoginPanel::UpdateUserInfo()
+{
+ ChangeState(State::UpdatingInfo);
+
+ CrowdinClient::Get().GetUserInfo(on_main_thread_for_window<CrowdinClient::UserInfo>(
+ this,
+ [=](CrowdinClient::UserInfo u) {
+ m_userName = u.name;
+ m_userLogin = u.login;
+ ChangeState(State::SignedIn);
+ }));
+}
+
+void CrowdinLoginPanel::OnSignIn(wxCommandEvent&)
+{
+ ChangeState(State::Authenticating);
+ CrowdinClient::Get().Authenticate(on_main_thread(this, &CrowdinLoginPanel::OnUserSignedIn));
+}
+
+void CrowdinLoginPanel::OnUserSignedIn()
+{
+ UpdateUserInfo();
+ Raise();
+}
+
+void CrowdinLoginPanel::OnSignOut(wxCommandEvent&)
+{
+ CrowdinClient::Get().SignOut();
+ ChangeState(State::SignedOut);
+}
+
+
+LearnAboutCrowdinLink::LearnAboutCrowdinLink(wxWindow *parent, const wxString& text)
+ : LearnMoreLink(parent,
+ CrowdinClient::WrapLink("/"),
+ text.empty() ? (MSW_OR_OTHER(_("Learn more about Crowdin"), _("Learn More About Crowdin"))) : text)
+{
+}
+
+
+
+namespace
+{
+
+class CrowdinLoginDialog : public wxDialog
+{
+public:
+ CrowdinLoginDialog(wxWindow *parent) : wxDialog(parent, wxID_ANY, _("Sign in to Crowdin"))
+ {
+ auto topsizer = new wxBoxSizer(wxHORIZONTAL);
+ auto panel = new Panel(this);
+ panel->SetClientSize(panel->GetBestSize());
+ topsizer->Add(panel, wxSizerFlags(1).Expand().Border(wxALL, PX(15)));
+ SetSizerAndFit(topsizer);
+ CenterOnParent();
+ }
+
+private:
+ class Panel : public CrowdinLoginPanel
+ {
+ public:
+ Panel(CrowdinLoginDialog *parent) : CrowdinLoginPanel(parent, DialogButtons), m_owner(parent)
+ {
+ EnsureInitialized();
+ }
+
+ protected:
+ void OnUserSignedIn() override
+ {
+ m_owner->Raise();
+ m_owner->EndModal(wxID_OK);
+ }
+
+ CrowdinLoginDialog *m_owner;
+ };
+};
+
+
+class CrowdinOpenDialog : public wxDialog
+{
+public:
+ CrowdinOpenDialog(wxWindow *parent) : wxDialog(parent, wxID_ANY, _("Open Crowdin translation"))
+ {
+ auto topsizer = new wxBoxSizer(wxVERTICAL);
+ topsizer->SetMinSize(PX(400), -1);
+
+ topsizer->AddSpacer(PX(10));
+
+ auto pickers = new wxFlexGridSizer(2, wxSize(PX(5),PX(6)));
+ pickers->AddGrowableCol(1);
+ topsizer->Add(pickers, wxSizerFlags().Expand().PXDoubleBorderAll());
+
+ pickers->Add(new wxStaticText(this, wxID_ANY, _("Project:")),
+ wxSizerFlags().Center().Right().BORDER_OSX(wxTOP, 1));
+ m_project = new wxChoice(this, wxID_ANY);
+ pickers->Add(m_project, wxSizerFlags().Expand().Center());
+
+ pickers->Add(new wxStaticText(this, wxID_ANY, _("Language:")),
+ wxSizerFlags().Center().Right().BORDER_OSX(wxTOP, 1));
+ m_language = new wxChoice(this, wxID_ANY);
+ pickers->Add(m_language, wxSizerFlags().Expand().Center());
+
+ pickers->AddSpacer(PX(5));
+ pickers->AddSpacer(PX(5));
+
+ pickers->Add(new wxStaticText(this, wxID_ANY, _("File:")),
+ wxSizerFlags().Center().Right().BORDER_OSX(wxTOP, 1));
+ m_file = new wxChoice(this, wxID_ANY);
+ pickers->Add(m_file, wxSizerFlags().Expand().Center());
+
+ m_activity = new ActivityIndicator(this);
+ topsizer->AddSpacer(PX(5));
+ topsizer->Add(m_activity, wxSizerFlags().Expand().PXDoubleBorder(wxLEFT|wxRIGHT));
+ topsizer->AddSpacer(PX(5));
+
+ auto buttons = CreateButtonSizer(wxOK | wxCANCEL);
+ auto ok = static_cast<wxButton*>(FindWindow(wxID_OK));
+ ok->SetDefault();
+ #ifdef __WXOSX__
+ topsizer->Add(buttons, wxSizerFlags().Expand());
+ #else
+ topsizer->Add(buttons, wxSizerFlags().Expand().PXBorderAll());
+ topsizer->AddSpacer(PX(5));
+ #endif
+
+ SetSizerAndFit(topsizer);
+ CenterOnParent();
+
+ m_project->Bind(wxEVT_CHOICE, [=](wxCommandEvent&){ OnProjectSelected(); });
+ m_file->Bind(wxEVT_CHOICE, [=](wxCommandEvent&){ OnFileSelected(); });
+ ok->Bind(wxEVT_UPDATE_UI, &CrowdinOpenDialog::OnUpdateOK, this);
+ ok->Bind(wxEVT_BUTTON, &CrowdinOpenDialog::OnOK, this);
+
+ ok->Disable();
+ EnableAllChoices(false);
+
+ FetchProjects();
+ }
+
+ wxString OutLocalFilename;
+
+private:
+ void EnableAllChoices(bool enable = true)
+ {
+ m_project->Enable(enable);
+ m_file->Enable(enable);
+ m_language->Enable(enable);
+ }
+
+ void FetchProjects()
+ {
+ m_activity->Start();
+ CrowdinClient::Get().GetUserProjects(
+ on_main_thread(this, &CrowdinOpenDialog::OnFetchedProjects),
+ m_activity->HandleError
+ );
+ }
+
+ void OnFetchedProjects(const std::vector<CrowdinClient::ProjectListing>& prjs)
+ {
+ m_projects = prjs;
+ m_project->Append("");
+ for (auto& p: prjs)
+ m_project->Append(p.name);
+ m_project->Enable(!prjs.empty());
+
+ if (prjs.empty())
+ m_activity->StopWithError(_("No translation projects listed in your Crowdin account."));
+ else
+ m_activity->Stop();
+
+ if (prjs.size() == 1)
+ {
+ m_project->SetSelection(1);
+ OnProjectSelected();
+ }
+ }
+
+ void OnProjectSelected()
+ {
+ auto sel = m_project->GetSelection();
+ if (sel > 0)
+ {
+ m_activity->Start();
+ EnableAllChoices(false);
+ CrowdinClient::Get().GetProjectInfo(
+ m_projects[sel-1].identifier,
+ on_main_thread(this, &CrowdinOpenDialog::OnFetchedProjectInfo),
+ m_activity->HandleError
+ );
+ }
+ }
+
+ void OnFetchedProjectInfo(const CrowdinClient::ProjectInfo& prj)
+ {
+ m_info = prj;
+ // Put supported files first in the list:
+ std::vector<std::wstring> f_unsup;
+ m_info.files.clear();
+ m_supportedFilesCount = 0;
+ for (auto& i: prj.files)
+ {
+ if (IsFileSupported(i))
+ {
+ m_info.files.push_back(i);
+ m_supportedFilesCount++;
+ }
+ else
+ {
+ f_unsup.push_back(i);
+ }
+ }
+ std::move(f_unsup.begin(), f_unsup.end(), std::inserter(m_info.files, m_info.files.end()));
+
+ m_language->Clear();
+ m_language->Append("");
+ for (auto& i: m_info.languages)
+ m_language->Append(i.DisplayName());
+
+ m_file->Clear();
+ m_file->Append("");
+ for (auto& i: m_info.files)
+ {
+ if (IsFileSupported(i))
+ {
+ m_file->Append(i);
+ }
+ else
+ {
+ /// TRANSLATORS: This is a file selector list, %s is filename, and it is shown for Crowdin files not editable in Poedit
+ m_file->Append(wxString::Format(L"%s — not supported", i));
+ }
+ }
+
+ EnableAllChoices();
+ m_activity->Stop();
+
+ if (m_info.languages.size() == 1)
+ m_language->SetSelection(1);
+ if (m_supportedFilesCount == 1)
+ m_file->SetSelection(1);
+
+ if (m_supportedFilesCount == 0)
+ {
+ m_activity->StopWithError(_("This project has no files that can be translated in Poedit."));
+ m_file->Disable();
+ m_language->Disable();
+ }
+ }
+
+ void OnFileSelected()
+ {
+ auto filesel = m_file->GetSelection();
+ if (filesel - 1 < m_supportedFilesCount)
+ m_activity->Stop();
+ else
+ m_activity->StopWithError(_(L"This file can only be edited in Crowdin’s web interface."));
+ }
+
+ void OnUpdateOK(wxUpdateUIEvent& e)
+ {
+ auto filesel = m_file->GetSelection();
+ e.Enable(!m_activity->IsRunning() &&
+ m_project->GetSelection() > 0 &&
+ m_language->GetSelection() > 0 &&
+ filesel > 0 && filesel - 1 < m_supportedFilesCount);
+ }
+
+ void OnOK(wxCommandEvent&)
+ {
+ auto crowdin_prj = m_info.identifier;
+ auto crowdin_file = m_info.files[m_file->GetSelection() - 1];
+ auto crowdin_lang = m_info.languages[m_language->GetSelection() - 1];
+ OutLocalFilename = CreateLocalFilename(crowdin_file, crowdin_lang);
+
+ m_activity->Start(_(L"Downloading latest translations…"));
+
+ auto outfile = std::make_shared<TempOutputFileFor>(OutLocalFilename);
+ CrowdinClient::Get().DownloadFile(
+ crowdin_prj, crowdin_file, crowdin_lang,
+ outfile->FileName().ToStdWstring(),
+ on_main_thread_for_window<>(this, [=]{
+ outfile->Commit();
+ AcceptAndClose();
+ }),
+ m_activity->HandleError
+ );
+ }
+
+ bool IsFileSupported(const wxString& name) const
+ {
+ return boost::ends_with(name, ".po") || boost::ends_with(name, ".pot");
+ }
+
+ wxString CreateLocalFilename(const wxString& name, const Language& lang)
+ {
+ wxString cache;
+ #if defined(__WXOSX__)
+ cache = wxGetHomeDir() + "/Library/Caches/net.poedit.Poedit";
+ #elif defined(__UNIX__)
+ if (!wxGetEnv("XDG_CACHE_HOME", &cache))
+ cache = wxGetHomeDir() + "/.cache";
+ cache += "/poedit";
+ #else
+ cache = wxStandardPaths::Get().GetUserDataDir() + wxFILE_SEP_PATH + "Cache";
+ #endif
+
+ cache += wxFILE_SEP_PATH;
+ cache += "Crowdin";
+
+ if (!wxFileName::DirExists(cache))
+ wxFileName::Mkdir(cache, wxS_DIR_DEFAULT, wxPATH_MKDIR_FULL);
+
+ auto basename = name.AfterLast('/').BeforeLast('.');
+
+ return wxString::Format("%s%c%s_%s_%s.po", cache, wxFILE_SEP_PATH, m_info.name, basename, lang.Code());
+ }
+
+private:
+ wxButton *m_ok;
+ wxChoice *m_project, *m_file, *m_language;
+ ActivityIndicator *m_activity;
+
+ std::vector<CrowdinClient::ProjectListing> m_projects;
+ CrowdinClient::ProjectInfo m_info;
+ int m_supportedFilesCount;
+};
+
+
+class SyncProgressDialog : public wxDialog
+{
+public:
+ SyncProgressDialog(wxWindow *parent)
+ : wxDialog(parent, wxID_ANY, _("Syncing with Crowdin"), wxDefaultPosition, wxDefaultSize, wxCAPTION | wxSYSTEM_MENU)
+ {
+ auto sizer = new wxBoxSizer(wxVERTICAL);
+ sizer->SetMinSize(PX(300), -1);
+ Activity = new ActivityIndicator(this);
+ sizer->AddStretchSpacer();
+ sizer->Add(Activity, wxSizerFlags().Expand().Border(wxALL, PX(25)));
+ sizer->AddStretchSpacer();
+ SetSizerAndFit(sizer);
+ CenterOnParent();
+ }
+
+ ActivityIndicator *Activity;
+};
+
+
+} // anonymous namespace
+
+
+void CrowdinOpenFile(wxWindow *parent, std::function<void(wxString)> onLoaded)
+{
+ if (!CrowdinClient::Get().IsSignedIn())
+ {
+ wxWindowPtr<CrowdinLoginDialog> login(new CrowdinLoginDialog(parent));
+ login->ShowWindowModalThenDo([login,parent,onLoaded](int retval){
+ if (retval == wxID_OK)
+ CrowdinOpenFile(parent, onLoaded);
+ });
+ return;
+ }
+
+ wxWindowPtr<CrowdinOpenDialog> dlg(new CrowdinOpenDialog(parent));
+
+ dlg->ShowWindowModalThenDo([dlg,onLoaded](int retval) {
+ dlg->Hide();
+ if (retval == wxID_OK)
+ onLoaded(dlg->OutLocalFilename);
+ });
+}
+
+
+void CrowdinSyncFile(wxWindow *parent, std::shared_ptr<Catalog> catalog,
+ std::function<void(std::shared_ptr<Catalog>)> onDone)
+{
+ if (!CrowdinClient::Get().IsSignedIn())
+ {
+ wxWindowPtr<CrowdinLoginDialog> login(new CrowdinLoginDialog(parent));
+ login->ShowWindowModalThenDo([login,parent,catalog,onDone](int retval){
+ if (retval == wxID_OK)
+ CrowdinSyncFile(parent, catalog, onDone);
+ });
+ return;
+ }
+
+ const auto& header = catalog->Header();
+ auto crowdin_prj = header.GetHeader("X-Crowdin-Project");
+ auto crowdin_file = header.GetHeader("X-Crowdin-File");
+ auto crowdin_lang = header.HasHeader("X-Crowdin-Language")
+ ? Language::TryParse(header.GetHeader("X-Crowdin-Language").ToStdWstring())
+ : catalog->GetLanguage();
+
+ wxWindowPtr<SyncProgressDialog> dlg(new SyncProgressDialog(parent));
+
+ auto handle_error = on_main_thread<std::exception_ptr>([=](std::exception_ptr e){
+ dlg->EndModal(wxID_CANCEL);
+ wxWindowPtr<wxMessageDialog> err(new wxMessageDialog
+ (
+ parent,
+ _("Syncing with Crowdin failed."),
+ _("Crowdin error"),
+ wxOK | wxICON_ERROR
+ ));
+ err->SetExtendedMessage(DescribeException(e));
+ err->ShowWindowModalThenDo([err](int){});
+ });
+
+ dlg->Activity->Start(_(L"Uploading translations…"));
+
+ // TODO: nicer API for this.
+ // This must be done right after entering the modal loop (on non-OSX)
+ dlg->CallAfter([=]{
+ CrowdinClient::Get().UploadFile(
+ str::to_utf8(crowdin_prj), str::to_wstring(crowdin_file), crowdin_lang,
+ catalog->SaveToBuffer(),
+ [=]{
+ auto tmpdir = std::make_shared<TempDirectory>();
+ auto outfile = tmpdir->CreateFileName("crowdin.po");
+
+ call_on_main_thread([=]{
+ dlg->Activity->Start(_(L"Downloading latest translations…"));
+ });
+
+ CrowdinClient::Get().DownloadFile(
+ str::to_utf8(crowdin_prj), str::to_wstring(crowdin_file), crowdin_lang,
+ outfile.ToStdWstring(),
+ on_main_thread([=]{
+ CatalogPtr newcat = std::make_shared<Catalog>(outfile);
+ newcat->SetFileName(catalog->GetFileName());
+
+ tmpdir->Clear();
+ dlg->EndModal(wxID_OK);
+
+ onDone(newcat);
+ }),
+ handle_error);
+ },
+ handle_error);
+ });
+
+ dlg->ShowWindowModal();
+}
diff --git a/src/crowdin_gui.h b/src/crowdin_gui.h
new file mode 100644
index 0000000..5d5c42b
--- /dev/null
+++ b/src/crowdin_gui.h
@@ -0,0 +1,109 @@
+/*
+ * This file is part of Poedit (http://poedit.net)
+ *
+ * Copyright (C) 2015 Vaclav Slavik
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ */
+
+#ifndef Poedit_crowdin_gui_h
+#define Poedit_crowdin_gui_h
+
+#ifdef HAVE_HTTP_CLIENT
+
+#include "catalog.h"
+#include "customcontrols.h"
+
+#include <wx/panel.h>
+
+class WXDLLIMPEXP_FWD_CORE wxBoxSizer;
+class WXDLLIMPEXP_FWD_CORE wxButton;
+
+
+/**
+ Panel used to sign in into Crowdin.
+ */
+class CrowdinLoginPanel : public wxPanel
+{
+public:
+ enum Flags
+ {
+ DialogButtons = 1
+ };
+
+ CrowdinLoginPanel(wxWindow *parent, int flags = 0);
+
+ /// Call this when the window is first shown
+ void EnsureInitialized();
+
+protected:
+ enum class State
+ {
+ Uninitialized,
+ Authenticating,
+ SignedIn,
+ SignedOut,
+ UpdatingInfo
+ };
+
+ void ChangeState(State state);
+ void CreateLoginInfoControls(State state);
+ void UpdateUserInfo();
+
+ void OnSignIn(wxCommandEvent&);
+ void OnSignOut(wxCommandEvent&);
+ virtual void OnUserSignedIn();
+
+ State m_state;
+ wxBoxSizer *m_loginInfo;
+ wxButton *m_signIn, *m_signOut;
+ wxString m_userName, m_userLogin;
+};
+
+
+/// Link to learn about Crowdin
+class LearnAboutCrowdinLink : public LearnMoreLink
+{
+public:
+ LearnAboutCrowdinLink(wxWindow *parent, const wxString& text = "");
+};
+
+
+/**
+ Let the user choose a Crowdin file, download it and open in Poedit.
+
+ @param parent PoeditFrame the UI should be shown under.
+ @param onLoaded Called with the name of loaded PO file.
+ */
+void CrowdinOpenFile(wxWindow *parent, std::function<void(wxString)> onLoaded);
+
+/**
+ Synces the catalog with Crowdin, uploading and downloading translations.
+
+ @param parent PoeditFrame the UI should be shown under.
+ @param catalog Catalog to sync.
+ @param onDone Called with the (new) updated catalog instance.
+ */
+void CrowdinSyncFile(wxWindow *parent, std::shared_ptr<Catalog> catalog,
+ std::function<void(std::shared_ptr<Catalog>)> onDone);
+
+#endif // HAVE_HTTP_CLIENT
+
+#endif // Poedit_crowdin_gui_h
diff --git a/src/customcontrols.cpp b/src/customcontrols.cpp
index 06cd9b3..aacb1c7 100644
--- a/src/customcontrols.cpp
+++ b/src/customcontrols.cpp
@@ -25,19 +25,31 @@
#include "customcontrols.h"
+#include "concurrency.h"
+#include "errors.h"
#include "hidpi.h"
-#include "icuhelpers.h"
+#include <wx/app.h>
#include <wx/clipbrd.h>
#include <wx/menu.h>
#include <wx/settings.h>
+#include <wx/sizer.h>
+#include <wx/weakref.h>
#include <wx/wupdlock.h>
+#if wxCHECK_VERSION(3,1,0)
+ #include <wx/activityindicator.h>
+#else
+ #include "wx_backports/activityindicator.h"
+#endif
+
#include <unicode/brkiter.h>
#ifdef __WXGTK__
#include <gtk/gtk.h>
#endif
+#include "str_helpers.h"
+
#include <memory>
namespace
@@ -47,7 +59,7 @@ wxString WrapTextAtWidth(const wxString& text_, int width, wxWindow *wnd)
{
if (text_.empty())
return text_;
- auto text = ToIcuStr(text_);
+ auto text = str::to_icu(text_);
static std::unique_ptr<icu::BreakIterator> iter;
if (!iter)
@@ -66,7 +78,7 @@ wxString WrapTextAtWidth(const wxString& text_, int width, wxWindow *wnd)
for (int32_t pos = iter->next(); pos != icu::BreakIterator::DONE; pos = iter->next())
{
- auto substr = FromIcuStr(text.tempSubStringBetween(lineStart, pos));
+ auto substr = str::to_wx(text.tempSubStringBetween(lineStart, pos));
if (wnd->GetTextExtent(substr).x > width)
{
@@ -192,7 +204,6 @@ ExplanationLabel::ExplanationLabel(wxWindow *parent, const wxString& label)
#if defined(__WXOSX__) || defined(__WXGTK__)
SetWindowVariant(wxWINDOW_VARIANT_SMALL);
#endif
-
#ifndef __WXGTK__
SetForegroundColour(GetTextColor());
#endif
@@ -209,6 +220,17 @@ wxColour ExplanationLabel::GetTextColor()
#endif
}
+SecondaryLabel::SecondaryLabel(wxWindow *parent, const wxString& label)
+ : wxStaticText(parent, wxID_ANY, label)
+{
+#if defined(__WXOSX__) || defined(__WXGTK__)
+ SetWindowVariant(wxWINDOW_VARIANT_SMALL);
+#endif
+#ifndef __WXGTK__
+ SetForegroundColour(GetTextColor());
+#endif
+}
+
LearnMoreLink::LearnMoreLink(wxWindow *parent, const wxString& url, wxString label)
{
@@ -244,3 +266,67 @@ bool LearnMoreLinkXmlHandler::CanHandle(wxXmlNode *node)
{
return IsOfClass(node, "LearnMoreLink");
}
+
+
+ActivityIndicator::ActivityIndicator(wxWindow *parent)
+ : wxWindow(parent, wxID_ANY), m_running(false)
+{
+ auto sizer = new wxBoxSizer(wxHORIZONTAL);
+ SetSizer(sizer);
+
+ m_spinner = new wxActivityIndicator(this, wxID_ANY);
+ m_spinner->SetWindowVariant(wxWINDOW_VARIANT_SMALL);
+ m_label = new wxStaticText(this, wxID_ANY, "");
+#ifdef __WXOSX__
+ m_label->SetWindowVariant(wxWINDOW_VARIANT_SMALL);
+#endif
+
+ sizer->Add(m_spinner, wxSizerFlags().Center().Border(wxRIGHT, PX(4)));
+ sizer->Add(m_label, wxSizerFlags(1).Center());
+
+ HandleError = on_main_thread_for_window<std::exception_ptr>(this, [=](std::exception_ptr e){
+ StopWithError(DescribeException(e));
+ });
+}
+
+void ActivityIndicator::Start(const wxString& msg)
+{
+ m_running = true;
+
+ m_label->SetForegroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOWTEXT));
+ m_label->SetLabel(msg);
+
+ auto sizer = GetSizer();
+ sizer->Show(m_spinner);
+ sizer->Show(m_label, !msg.empty());
+ Layout();
+
+ m_spinner->Start();
+}
+
+void ActivityIndicator::Stop()
+{
+ m_running = false;
+
+ m_spinner->Stop();
+ m_label->SetLabel("");
+
+ auto sizer = GetSizer();
+ sizer->Hide(m_spinner);
+ sizer->Hide(m_label);
+ Layout();
+}
+
+void ActivityIndicator::StopWithError(const wxString& msg)
+{
+ m_running = false;
+
+ m_spinner->Stop();
+ m_label->SetForegroundColour(*wxRED);
+ m_label->SetLabel(msg);
+
+ auto sizer = GetSizer();
+ sizer->Hide(m_spinner);
+ sizer->Show(m_label);
+ Layout();
+}
diff --git a/src/customcontrols.h b/src/customcontrols.h
index 27c5f7f..b10892b 100644
--- a/src/customcontrols.h
+++ b/src/customcontrols.h
@@ -30,6 +30,11 @@
#include <wx/hyperlink.h>
#include <wx/xrc/xmlres.h>
+class WXDLLIMPEXP_ADV wxActivityIndicator;
+
+#include <exception>
+#include <functional>
+
// Label marking a subsection of a dialog:
class HeadingLabel : public wxStaticText
@@ -68,10 +73,12 @@ public:
};
-// Longer, often multiline, explanation label used to provide more information
-// about the effects of some less obvious settings. Typeset using smaller font
-// on OS X and grey appearence. Auto-wraps itself to fit surrounding control's
-// width.
+/**
+ Longer, often multiline, explanation label used to provide more information
+ about the effects of some less obvious settings. Typeset using smaller font
+ on OS X and grey appearence. Auto-wraps itself to fit surrounding control's
+ width.
+ */
class ExplanationLabel : public AutoWrappingText
{
public:
@@ -88,8 +95,17 @@ public:
static wxColour GetTextColor();
};
+/// Like ExplanationLabel, but nonwrapping
+class SecondaryLabel : public wxStaticText
+{
+public:
+ SecondaryLabel(wxWindow *parent, const wxString& label);
-// "Learn more" hyperlink for dialogs.
+ static wxColour GetTextColor() { return ExplanationLabel::GetTextColor(); }
+};
+
+
+/// "Learn more" hyperlink for dialogs.
class LearnMoreLink : public wxHyperlinkCtrl
{
public:
@@ -102,7 +118,6 @@ public:
#endif
};
-
class LearnMoreLinkXmlHandler : public wxXmlResourceHandler
{
public:
@@ -111,4 +126,34 @@ public:
bool CanHandle(wxXmlNode *node) override;
};
+
+/// Indicator of background activity, using spinners where appropriate.
+class ActivityIndicator : public wxWindow
+{
+public:
+ ActivityIndicator(wxWindow *parent);
+
+ /// Start indicating, with optional progress label.
+ void Start(const wxString& msg = "");
+
+ /// Stop the indicator.
+ void Stop();
+
+ /// Stop the indicator and report error in its place.
+ void StopWithError(const wxString& msg);
+
+ /// Is between Start() and Stop() calls?
+ bool IsRunning() const { return m_running; }
+
+ /// Convenience function for showing error message in the indicator
+ std::function<void(std::exception_ptr)> HandleError;
+
+ bool HasTransparentBackground() override { return true; }
+
+private:
+ bool m_running;
+ wxActivityIndicator *m_spinner;
+ wxStaticText *m_label, *m_error;
+};
+
#endif // Poedit_customcontrols_h
diff --git a/src/digger.cpp b/src/digger.cpp
index 895fa40..57562ce 100644
--- a/src/digger.cpp
+++ b/src/digger.cpp
@@ -77,11 +77,11 @@ bool ConcatCatalogs(const wxArrayString& files, TempDirectory& tmpdir, wxString
} // anonymous namespace
-Catalog *SourceDigger::Dig(const wxArrayString& paths,
- const wxArrayString& excludePaths,
- const wxArrayString& keywords,
- const wxString& charset,
- UpdateResultReason& reason)
+CatalogPtr SourceDigger::Dig(const wxArrayString& paths,
+ const wxArrayString& excludePaths,
+ const wxArrayString& keywords,
+ const wxString& charset,
+ UpdateResultReason& reason)
{
ExtractorsDB db;
db.Read(wxConfig::Get());
@@ -89,10 +89,10 @@ Catalog *SourceDigger::Dig(const wxArrayString& paths,
m_progressInfo->UpdateMessage(_("Scanning files..."));
wxArrayString *all_files = FindFiles(paths, PathsToMatch(excludePaths), db);
- if (all_files == NULL)
+ if (all_files == nullptr)
{
reason = UpdateResultReason::NoSourcesFound;
- return NULL;
+ return nullptr;
}
TempDirectory tmpdir;
@@ -109,7 +109,7 @@ Catalog *SourceDigger::Dig(const wxArrayString& paths,
if (!DigFiles(tmpdir, partials, all_files[i], db.Data[i], keywords, charset))
{
delete[] all_files;
- return NULL;
+ return nullptr;
}
}
@@ -117,15 +117,14 @@ Catalog *SourceDigger::Dig(const wxArrayString& paths,
wxString mergedFile;
if ( !ConcatCatalogs(partials, tmpdir, &mergedFile) )
- return NULL; // couldn't parse any source files
+ return nullptr; // couldn't parse any source files
- Catalog *c = new Catalog(mergedFile, Catalog::CreationFlag_IgnoreHeader);
+ CatalogPtr c = std::make_shared<Catalog>(mergedFile, Catalog::CreationFlag_IgnoreHeader);
if ( !c->IsOk() )
{
wxLogError(_("Failed to load extracted catalog."));
- delete c;
- return NULL;
+ return nullptr;
}
return c;
diff --git a/src/digger.h b/src/digger.h
index d671e94..8dc8648 100644
--- a/src/digger.h
+++ b/src/digger.h
@@ -31,7 +31,6 @@
#include "catalog.h"
-class Catalog;
class wxArrayString;
class ExtractorsDB;
class Extractor;
@@ -60,11 +59,11 @@ class SourceDigger
prefixes for translatable strings in sources
\param charset source code charset (may be empty)
*/
- Catalog *Dig(const wxArrayString& paths,
- const wxArrayString& excludePaths,
- const wxArrayString& keywords,
- const wxString& charset,
- UpdateResultReason& reason);
+ CatalogPtr Dig(const wxArrayString& paths,
+ const wxArrayString& excludePaths,
+ const wxArrayString& keywords,
+ const wxString& charset,
+ UpdateResultReason& reason);
private:
// Path matching with support for wildcards
diff --git a/src/edapp.cpp b/src/edapp.cpp
index 422ff04..632d2e4 100644
--- a/src/edapp.cpp
+++ b/src/edapp.cpp
@@ -34,12 +34,14 @@
#include <wx/stdpaths.h>
#include <wx/filename.h>
#include <wx/filedlg.h>
+#include <wx/snglinst.h>
#include <wx/sysopt.h>
#include <wx/stdpaths.h>
#include <wx/aboutdlg.h>
#include <wx/artprov.h>
#include <wx/datetime.h>
#include <wx/intl.h>
+#include <wx/ipc.h>
#include <wx/translation.h>
#ifdef __WXOSX__
@@ -62,6 +64,7 @@
#include "edapp.h"
#include "edframe.h"
+#include "concurrency.h"
#include "manager.h"
#include "prefsdlg.h"
#include "extractor.h"
@@ -70,11 +73,13 @@
#include "hidpi.h"
#include "icons.h"
#include "version.h"
+#include "str_helpers.h"
#include "tm/transmem.h"
#include "utility.h"
#include "prefsdlg.h"
#include "errors.h"
#include "language.h"
+#include "crowdin_client.h"
#ifdef __WXOSX__
struct PoeditApp::RecentMenuData
@@ -85,7 +90,136 @@ struct PoeditApp::RecentMenuData
};
#endif
+#ifndef DONT_MIGRATE_LEGACY_TM
extern bool MigrateLegacyTranslationMemory();
+#endif
+
+
+#ifndef __WXOSX__
+
+// IPC for ensuring that only one instance of Poedit runs at a time. This is
+// handled native on OS X and GtkApplication could do it under GTK+3, but wx
+// doesn't support that and we have to implement everything manually for both
+// Windows and GTK+ ports.
+
+namespace
+{
+
+#ifdef __UNIX__
+wxString GetRuntimeDir()
+{
+ wxString dir;
+ if (!wxGetEnv("XDG_RUNTIME_DIR", &dir))
+ dir = wxGetHomeDir();
+ if (dir.Last() != '/')
+ dir += '/';
+ return dir;
+}
+wxString RemoteService() { return GetRuntimeDir() + "poedit.ipc"; }
+#else
+wxString RemoteService() { return "Poedit"; }
+#endif
+
+const char *IPC_TOPIC = "cmdline";
+
+} // anonymous namespace
+
+class PoeditApp::RemoteServer
+{
+public:
+ RemoteServer(PoeditApp *app) : m_server(app)
+ {
+ m_server.Create(RemoteService());
+ }
+
+private:
+ class Connection : public wxConnection
+ {
+ public:
+ Connection(PoeditApp *app) : m_app(app) {}
+
+ bool OnExec(const wxString& topic, const wxString& data) override
+ {
+ if (topic != IPC_TOPIC)
+ return false;
+ wxString payload;
+ if (data == "Activate")
+ {
+ m_app->OpenNewFile();
+ return true;
+ }
+ if (data.StartsWith("OpenURI:", &payload))
+ {
+ m_app->HandleCustomURI(payload);
+ return true;
+ }
+ if (data.StartsWith("OpenFile:", &payload))
+ {
+ wxArrayString a;
+ a.push_back(payload);
+ m_app->OpenFiles(a);
+ return true;
+ }
+ return false;
+ }
+
+ private:
+ PoeditApp *m_app;
+ };
+
+ class Server : public wxServer
+ {
+ public:
+ Server(PoeditApp *app) : m_app(app) {}
+
+ wxConnectionBase *OnAcceptConnection(const wxString& topic) override
+ {
+ if (topic != IPC_TOPIC)
+ return nullptr;
+ return new Connection(m_app);
+ }
+
+ private:
+ PoeditApp *m_app;
+ };
+
+ Server m_server;
+};
+
+class PoeditApp::RemoteClient
+{
+public:
+ RemoteClient(PoeditApp*) : m_client()
+ {
+ m_conn.reset(m_client.MakeConnection("localhost", RemoteService(), IPC_TOPIC));
+ }
+
+ void Activate()
+ {
+ Command("Activate");
+ }
+
+ void HandleCustomURI(const wxString& uri)
+ {
+ Command("OpenURI:" + uri);
+ }
+
+ void OpenFile(const wxString& filename)
+ {
+ wxFileName fn(filename);
+ fn.MakeAbsolute();
+ Command("OpenFile:" + fn.GetFullPath());
+ }
+
+private:
+ void Command(const wxString cmd) { m_conn->Execute(cmd); }
+
+ wxClient m_client;
+ std::unique_ptr<wxConnectionBase> m_conn;
+};
+
+#endif // __WXOSX__
+
IMPLEMENT_APP(PoeditApp);
@@ -105,6 +239,32 @@ wxString PoeditApp::GetAppVersion() const
return wxString::FromAscii(POEDIT_VERSION);
}
+wxString PoeditApp::GetAppBuildNumber() const
+{
+#if defined(__WXOSX__)
+ NSDictionary *infoDict = [[NSBundle mainBundle] infoDictionary];
+ NSString *ver = [infoDict objectForKey:@"CFBundleVersion"];
+ return str::to_wx(ver);
+#elif defined(__WXMSW__)
+ auto exe = wxStandardPaths::Get().GetExecutablePath();
+ DWORD unusedHandle;
+ DWORD fiSize = GetFileVersionInfoSize(exe.wx_str(), &unusedHandle);
+ if (fiSize == 0)
+ return "";
+ wxCharBuffer fi(fiSize);
+ if (!GetFileVersionInfo(exe.wx_str(), unusedHandle, fiSize, fi.data()))
+ return "";
+ void *ver;
+ UINT sizeInfo;
+ if (!VerQueryValue(fi.data(), L"\\", &ver, &sizeInfo))
+ return "";
+ VS_FIXEDFILEINFO *info = (VS_FIXEDFILEINFO*)ver;
+ return wxString::Format("%d", LOWORD(info->dwFileVersionLS));
+#else
+ return "";
+#endif
+}
+
bool PoeditApp::IsBetaVersion() const
{
wxString v = GetAppVersion();
@@ -124,9 +284,26 @@ extern void InitXmlResource();
bool PoeditApp::OnInit()
{
+ SetVendorName("Vaclav Slavik");
+ SetAppName("Poedit");
+
+#ifndef __WXOSX__
+ // create early for use in cmd line parsing
+ m_instanceChecker.reset(new wxSingleInstanceChecker);
+ #ifdef __UNIX__
+ m_instanceChecker->Create("poedit.lock", GetRuntimeDir());
+ #else
+ m_instanceChecker->CreateDefault();
+ #endif
+#endif
+
if (!wxApp::OnInit())
return false;
+#ifndef __WXOSX__
+ m_remoteServer.reset(new RemoteServer(this));
+#endif
+
InitHiDPIHandling();
#ifdef __WXOSX__
@@ -179,9 +356,6 @@ bool PoeditApp::OnInit()
}
#endif // __UNIX__
- SetVendorName("Vaclav Slavik");
- SetAppName("Poedit");
-
#if defined(__WXOSX__)
#define CFG_FILE (wxStandardPaths::Get().GetUserConfigDir() + "/net.poedit.Poedit.cfg")
#elif defined(__UNIX__)
@@ -245,9 +419,11 @@ bool PoeditApp::OnInit()
FileHistory().Load(*wxConfig::Get());
#endif
+#ifndef DONT_MIGRATE_LEGACY_TM
// NB: It's important to do this before TM is used for the first time.
if ( !MigrateLegacyTranslationMemory() )
return false;
+#endif
#ifdef __WXMSW__
AssociateFileTypeIfNeeded();
@@ -286,6 +462,9 @@ bool PoeditApp::OnInit()
win_sparkle_set_appcast_url(appcast.utf8_str());
win_sparkle_set_can_shutdown_callback(&PoeditApp::WinSparkle_CanShutdown);
win_sparkle_set_shutdown_request_callback(&PoeditApp::WinSparkle_Shutdown);
+ auto buildnum = GetAppBuildNumber();
+ if (!buildnum.empty())
+ win_sparkle_set_app_build_version(buildnum.wc_str());
win_sparkle_init();
#endif
@@ -309,6 +488,12 @@ int PoeditApp::OnExit()
TranslationMemory::CleanUp();
+#ifdef HAVE_HTTP_CLIENT
+ CrowdinClient::CleanUp();
+#endif
+
+ concurrency_queue::cleanup();
+
#ifdef USE_SPARKLE
Sparkle_Cleanup();
#endif // USE_SPARKLE
@@ -318,6 +503,11 @@ int PoeditApp::OnExit()
u_cleanup();
+#ifndef __WXOSX__
+ m_instanceChecker.reset();
+ m_remoteServer.reset();
+#endif
+
return wxApp::OnExit();
}
@@ -335,17 +525,38 @@ void PoeditApp::SetupLanguage()
wxTranslations *trans = new wxTranslations();
wxTranslations::Set(trans);
-#ifdef __WXGTK__
+ int language = wxLANGUAGE_DEFAULT;
+
+#if NEED_CHOOSELANG_UI
+ auto uilang = GetUILanguage();
+ if (!uilang.empty())
+ {
+ auto langinfo = wxLocale::FindLanguageInfo(uilang);
+ if (langinfo)
+ {
+ language = langinfo->Language;
+ uilang.clear(); // will go through locale
+ }
+ }
+#endif
+
// Properly set locale is important for some aspects of GTK+ as well as
// other things. It's also the common thing to do, so don't break
// expectations needlessly:
- m_locale.reset(new wxLocale());
- m_locale->Init(wxLANGUAGE_DEFAULT, wxLOCALE_DONT_LOAD_DEFAULT);
-#endif
+ {
+ // supress error logging because setting locale may fail and we want to
+ // handle that gracefully and invisibly:
+ wxLogNull null;
+ m_locale.reset(new wxLocale());
+ if (!m_locale->Init(language, wxLOCALE_DONT_LOAD_DEFAULT))
+ m_locale.reset();
#if NEED_CHOOSELANG_UI
- trans->SetLanguage(GetUILanguage());
+ if (!uilang.empty())
+ trans->SetLanguage(uilang);
#endif
+ }
+
trans->AddStdCatalog();
trans->AddCatalog("poedit");
@@ -366,7 +577,11 @@ wxLayoutDirection PoeditApp::GetLayoutDirection() const
void PoeditApp::OpenNewFile()
{
- PoeditFrame::CreateWelcome();
+ PoeditFrame *unused = PoeditFrame::UnusedWindow(/*active=*/false);
+ if (unused)
+ unused->Raise();
+ else
+ PoeditFrame::CreateWelcome();
}
void PoeditApp::OpenFiles(const wxArrayString& names)
@@ -539,6 +754,7 @@ void PoeditApp::SetDefaultCfg(wxConfigBase *cfg)
namespace
{
const char *CL_KEEP_TEMP_FILES = "keep-temp-files";
+const char *CL_HANDLE_POEDIT_URI = "handle-poedit-uri";
}
void PoeditApp::OnInitCmdLine(wxCmdLineParser& parser)
@@ -547,8 +763,9 @@ void PoeditApp::OnInitCmdLine(wxCmdLineParser& parser)
parser.AddSwitch("", CL_KEEP_TEMP_FILES,
_("don't delete temporary files (for debugging)"));
-
- parser.AddParam("catalog.po", wxCMD_LINE_VAL_STRING,
+ parser.AddLongOption(CL_HANDLE_POEDIT_URI,
+ _("handle a poedit:// URI"), wxCMD_LINE_VAL_STRING);
+ parser.AddParam("catalog.po", wxCMD_LINE_VAL_STRING,
wxCMD_LINE_PARAM_OPTIONAL | wxCMD_LINE_PARAM_MULTIPLE);
}
@@ -560,6 +777,35 @@ bool PoeditApp::OnCmdLineParsed(wxCmdLineParser& parser)
if ( parser.Found(CL_KEEP_TEMP_FILES) )
TempDirectory::KeepFiles();
+#ifndef __WXOSX__
+ if (m_instanceChecker->IsAnotherRunning())
+ {
+ RemoteClient client(this);
+ wxString poeditURI;
+ if (parser.Found(CL_HANDLE_POEDIT_URI, &poeditURI))
+ client.HandleCustomURI(poeditURI);
+
+ if (parser.GetParamCount() == 0)
+ {
+ client.Activate();
+ }
+ else
+ {
+ for (size_t i = 0; i < parser.GetParamCount(); i++)
+ client.OpenFile(parser.GetParam(i));
+ }
+ return false; // terminate program
+ }
+ // else: fall through and handle normally
+#endif
+
+ wxString poeditURI;
+ if (parser.Found(CL_HANDLE_POEDIT_URI, &poeditURI))
+ {
+ // handling the URI shows UI, so do it after OnInit() initialization:
+ CallAfter([=]{ HandleCustomURI(poeditURI); });
+ }
+
for (size_t i = 0; i < parser.GetParamCount(); i++)
gs_filesToOpen.Add(parser.GetParam(i));
@@ -567,6 +813,22 @@ bool PoeditApp::OnCmdLineParsed(wxCmdLineParser& parser)
}
+void PoeditApp::HandleCustomURI(const wxString& uri)
+{
+ if (!uri.StartsWith("poedit://"))
+ return;
+
+#ifdef HAVE_HTTP_CLIENT
+ // nothing to do yet
+ if (CrowdinClient::Get().IsOAuthCallback(uri.ToStdString()))
+ {
+ CrowdinClient::Get().HandleOAuthCallback(uri.ToStdString());
+ return;
+ }
+#endif
+}
+
+
// ---------------------------------------------------------------------------
// exceptions handling
// ---------------------------------------------------------------------------
@@ -584,7 +846,7 @@ bool PoeditApp::OnExceptionInMainLoop()
#ifdef __WXOSX__
catch ( NSException *e )
{
- wxLogError(_("Unhandled exception occurred: %s"), wxStringFromNS([e reason]));
+ wxLogError(_("Unhandled exception occurred: %s"), str::to_wx([e reason]));
}
#endif
catch ( ... )
@@ -606,6 +868,9 @@ BEGIN_EVENT_TABLE(PoeditApp, wxApp)
EVT_MENU (wxID_NEW, PoeditApp::OnNew)
EVT_MENU (XRCID("menu_new_from_pot"),PoeditApp::OnNew)
EVT_MENU (wxID_OPEN, PoeditApp::OnOpen)
+ #ifdef HAVE_HTTP_CLIENT
+ EVT_MENU (XRCID("menu_open_crowdin"),PoeditApp::OnOpenFromCrowdin)
+ #endif
#ifndef __WXOSX__
EVT_MENU_RANGE (wxID_FILE1, wxID_FILE9, PoeditApp::OnOpenHist)
#endif
@@ -657,11 +922,10 @@ void PoeditApp::OnOpen(wxCommandEvent&)
wxString path = wxConfig::Get()->Read("last_file_path", wxEmptyString);
wxFileDialog dlg(nullptr,
- _("Open catalog"),
+ OSX_OR_OTHER("", _("Open catalog")),
path,
wxEmptyString,
- wxString::Format("%s (*.po)|*.po|%s (*.*)|*.*",
- _("PO Translation Files"), _("All Files")),
+ Catalog::GetAllTypesFileMask(),
wxFD_OPEN | wxFD_FILE_MUST_EXIST | wxFD_MULTIPLE);
if (dlg.ShowModal() == wxID_OK)
@@ -681,6 +945,17 @@ void PoeditApp::OnOpen(wxCommandEvent&)
}
+#ifdef HAVE_HTTP_CLIENT
+void PoeditApp::OnOpenFromCrowdin(wxCommandEvent& event)
+{
+ TRY_FORWARD_TO_ACTIVE_WINDOW( OnOpenFromCrowdin(event) );
+
+ PoeditFrame *f = PoeditFrame::CreateEmpty();
+ f->OnOpenFromCrowdin(event);
+}
+#endif
+
+
#ifndef __WXOSX__
void PoeditApp::OnOpenHist(wxCommandEvent& event)
{
@@ -798,7 +1073,7 @@ void PoeditApp::OpenPoeditWeb(const wxString& path)
static NSMenuItem *AddNativeItem(NSMenu *menu, int pos, const wxString&text, SEL ac, NSString *key)
{
- NSString *str = wxStringToNS(text);
+ NSString *str = str::to_NS(text);
if (pos == -1)
return [menu addItemWithTitle:str action:ac keyEquivalent:key];
else
@@ -950,7 +1225,7 @@ void PoeditApp::InstallOpenRecentMenu(wxMenuBar *bar)
return;
NSMenu *native = fileMenu->GetHMenu();
- NSMenuItem *nativeItem = [native itemWithTitle:wxStringToNS(item->GetItemLabelText())];
+ NSMenuItem *nativeItem = [native itemWithTitle:str::to_NS(item->GetItemLabelText())];
if (!nativeItem)
return;
diff --git a/src/edapp.h b/src/edapp.h
index 31d299d..2096175 100644
--- a/src/edapp.h
+++ b/src/edapp.h
@@ -35,6 +35,7 @@
#include "prefsdlg.h"
class WXDLLIMPEXP_FWD_BASE wxConfigBase;
+class WXDLLIMPEXP_FWD_BASE wxSingleInstanceChecker;
class WXDLLIMPEXP_FWD_CORE wxMenuBar;
@@ -55,6 +56,7 @@ class PoeditApp : public wxApp
/// Returns Poedit version string.
wxString GetAppVersion() const;
+ wxString GetAppBuildNumber() const;
bool IsBetaVersion() const;
bool CheckForBetaUpdates() const;
@@ -70,6 +72,7 @@ class PoeditApp : public wxApp
#ifdef __WXOSX__
virtual void MacOpenFiles(const wxArrayString& names) { OpenFiles(names); }
virtual void MacNewFile() { OpenNewFile(); }
+ virtual void MacOpenURL(const wxString &url) { HandleCustomURI(url); }
#endif
void EditPreferences();
@@ -102,11 +105,14 @@ class PoeditApp : public wxApp
bool OnCmdLineParsed(wxCmdLineParser& parser);
private:
+ void HandleCustomURI(const wxString& uri);
+
void SetupLanguage();
// App-global menu commands:
void OnNew(wxCommandEvent& event);
void OnOpen(wxCommandEvent& event);
+ void OnOpenFromCrowdin(wxCommandEvent& event);
#ifndef __WXOSX__
void OnOpenHist(wxCommandEvent& event);
#endif
@@ -136,6 +142,13 @@ class PoeditApp : public wxApp
std::unique_ptr<PoeditPreferencesEditor> m_preferences;
std::unique_ptr<wxLocale> m_locale;
+
+#ifndef __WXOSX__
+ class RemoteServer;
+ class RemoteClient;
+ std::unique_ptr<RemoteServer> m_remoteServer;
+ std::unique_ptr<wxSingleInstanceChecker> m_instanceChecker;
+#endif
};
DECLARE_APP(PoeditApp);
diff --git a/src/edframe.cpp b/src/edframe.cpp
index d3d8950..dabb287 100644
--- a/src/edframe.cpp
+++ b/src/edframe.cpp
@@ -31,7 +31,7 @@
#include <wx/html/htmlwin.h>
#include <wx/statline.h>
#include <wx/sizer.h>
-#include <wx/fs_mem.h>
+#include <wx/filedlg.h>
#include <wx/datetime.h>
#include <wx/tokenzr.h>
#include <wx/xrc/xmlres.h>
@@ -52,12 +52,14 @@
#include "osx_helpers.h"
#endif
-#include <map>
#include <algorithm>
-#include <future>
+#include <map>
+#include <fstream>
#include <boost/range/counting_range.hpp>
#include "catalog.h"
+#include "concurrency.h"
+#include "crowdin_gui.h"
#include "customcontrols.h"
#include "edapp.h"
#include "hidpi.h"
@@ -80,6 +82,7 @@
#include "errors.h"
#include "sidebar.h"
#include "spellchecking.h"
+#include "str_helpers.h"
#include "syntaxhighlighter.h"
#include "text_control.h"
@@ -104,16 +107,6 @@ const wxWindowID ID_TEXTORIGPLURAL = wxNewId();
const wxWindowID ID_TEXTTRANS = wxNewId();
-/// Flags for UpdateToTextCtrl()
-enum UpdateToTextCtrlFlags
-{
- /// Change to textctrl should be undoable by the user
- UndoableEdit = 0x01,
- /// Change is due to item change, discard undo buffer
- ItemChanged = 0x02
-};
-
-
#ifdef __VISUALC__
// Disabling the useless and annoying MSVC++'s
// warning C4800: 'long' : forcing value to bool 'true' or 'false'
@@ -129,25 +122,22 @@ bool g_focusToText = false;
{
wxFileName fn(filename);
- for (PoeditFramesList::const_iterator n = ms_instances.begin();
- n != ms_instances.end(); ++n)
+ for (auto n: ms_instances)
{
- if (wxFileName((*n)->m_fileName) == fn)
- return *n;
+ if (wxFileName(n->GetFileName()) == fn)
+ return n;
}
return NULL;
}
-/*static*/ PoeditFrame *PoeditFrame::UnusedActiveWindow()
+/*static*/ PoeditFrame *PoeditFrame::UnusedWindow(bool active)
{
- for (PoeditFramesList::const_iterator n = ms_instances.begin();
- n != ms_instances.end(); ++n)
+ for (auto win: ms_instances)
{
- PoeditFrame *win = *n;
- if (win->IsActive() && win->m_catalog == NULL)
+ if ((!active || win->IsActive()) && win->m_catalog == nullptr)
return win;
}
- return NULL;
+ return nullptr;
}
/*static*/ bool PoeditFrame::AnyWindowIsModified()
@@ -171,7 +161,7 @@ bool g_focusToText = false;
else
{
// NB: duplicated in ReadCatalog()
- Catalog *cat = new Catalog(filename);
+ CatalogPtr cat = std::make_shared<Catalog>(filename);
if (!cat->IsOk())
{
wxMessageDialog dlg
@@ -185,7 +175,6 @@ bool g_focusToText = false;
_("The file may be either corrupted or in a format not recognized by Poedit.")
);
dlg.ShowModal();
- delete cat;
return nullptr;
}
@@ -277,6 +266,9 @@ BEGIN_EVENT_TABLE(PoeditFrame, wxFrame)
EVT_MENU (wxID_NEW, PoeditFrame::OnNew)
EVT_MENU (XRCID("menu_new_from_pot"),PoeditFrame::OnNew)
EVT_MENU (wxID_OPEN, PoeditFrame::OnOpen)
+ #ifdef HAVE_HTTP_CLIENT
+ EVT_MENU (XRCID("menu_open_crowdin"),PoeditFrame::OnOpenFromCrowdin)
+ #endif
#endif // __WXMSW__
#ifndef __WXOSX__
EVT_MENU_RANGE (wxID_FILE1, wxID_FILE9, PoeditFrame::OnOpenHist)
@@ -287,8 +279,12 @@ BEGIN_EVENT_TABLE(PoeditFrame, wxFrame)
EVT_MENU (XRCID("menu_compile_mo"), PoeditFrame::OnCompileMO)
EVT_MENU (XRCID("menu_export"), PoeditFrame::OnExport)
EVT_MENU (XRCID("menu_catproperties"), PoeditFrame::OnProperties)
- EVT_MENU (XRCID("menu_update"), PoeditFrame::OnUpdate)
- EVT_MENU (XRCID("menu_update_from_pot"),PoeditFrame::OnUpdate)
+ EVT_MENU (XRCID("menu_update_from_src"), PoeditFrame::OnUpdateFromSources)
+ EVT_MENU (XRCID("menu_update_from_pot"),PoeditFrame::OnUpdateFromPOT)
+ #ifdef HAVE_HTTP_CLIENT
+ EVT_MENU (XRCID("menu_update_from_crowdin"),PoeditFrame::OnUpdateFromCrowdin)
+ #endif
+ EVT_MENU (XRCID("toolbar_update"),PoeditFrame::OnUpdateSmart)
EVT_MENU (XRCID("menu_validate"), PoeditFrame::OnValidate)
EVT_MENU (XRCID("menu_purge_deleted"), PoeditFrame::OnPurgeDeleted)
EVT_MENU (XRCID("menu_fuzzy"), PoeditFrame::OnFuzzyFlag)
@@ -298,12 +294,16 @@ BEGIN_EVENT_TABLE(PoeditFrame, wxFrame)
EVT_MENU (XRCID("sort_by_translation"), PoeditFrame::OnSortByTranslation)
EVT_MENU (XRCID("sort_group_by_context"), PoeditFrame::OnSortGroupByContext)
EVT_MENU (XRCID("sort_untrans_first"), PoeditFrame::OnSortUntranslatedFirst)
+ EVT_MENU (XRCID("sort_errors_first"), PoeditFrame::OnSortErrorsFirst)
EVT_MENU (XRCID("show_sidebar"), PoeditFrame::OnShowHideSidebar)
EVT_UPDATE_UI (XRCID("show_sidebar"), PoeditFrame::OnUpdateShowHideSidebar)
+ EVT_MENU (XRCID("show_statusbar"), PoeditFrame::OnShowHideStatusbar)
+ EVT_UPDATE_UI (XRCID("show_statusbar"), PoeditFrame::OnUpdateShowHideStatusbar)
EVT_MENU (XRCID("menu_copy_from_src"), PoeditFrame::OnCopyFromSource)
EVT_MENU (XRCID("menu_clear"), PoeditFrame::OnClearTranslation)
EVT_MENU (XRCID("menu_references"), PoeditFrame::OnReferencesMenu)
EVT_MENU (wxID_FIND, PoeditFrame::OnFind)
+ EVT_MENU (wxID_REPLACE, PoeditFrame::OnFindAndReplace)
EVT_MENU (XRCID("menu_find_next"), PoeditFrame::OnFindNext)
EVT_MENU (XRCID("menu_find_prev"), PoeditFrame::OnFindPrev)
EVT_MENU (XRCID("menu_comment"), PoeditFrame::OnEditComment)
@@ -326,7 +326,7 @@ BEGIN_EVENT_TABLE(PoeditFrame, wxFrame)
EVT_SIZE (PoeditFrame::OnSize)
// handling of selection:
- EVT_UPDATE_UI(XRCID("menu_references"), PoeditFrame::OnSingleSelectionUpdate)
+ EVT_UPDATE_UI(XRCID("menu_references"), PoeditFrame::OnReferencesMenuUpdate)
EVT_UPDATE_UI_RANGE(ID_BOOKMARK_SET, ID_BOOKMARK_SET + 9, PoeditFrame::OnSingleSelectionUpdate)
EVT_UPDATE_UI(XRCID("go_done_and_next"), PoeditFrame::OnSingleSelectionUpdate)
@@ -337,18 +337,22 @@ BEGIN_EVENT_TABLE(PoeditFrame, wxFrame)
EVT_UPDATE_UI(XRCID("go_prev_unfinished"), PoeditFrame::OnSingleSelectionUpdate)
EVT_UPDATE_UI(XRCID("go_next_unfinished"), PoeditFrame::OnSingleSelectionUpdate)
- EVT_UPDATE_UI(XRCID("menu_fuzzy"), PoeditFrame::OnSelectionUpdate)
- EVT_UPDATE_UI(XRCID("menu_copy_from_src"), PoeditFrame::OnSelectionUpdate)
- EVT_UPDATE_UI(XRCID("menu_clear"), PoeditFrame::OnSelectionUpdate)
- EVT_UPDATE_UI(XRCID("menu_comment"), PoeditFrame::OnSelectionUpdate)
+ EVT_UPDATE_UI(XRCID("menu_fuzzy"), PoeditFrame::OnSelectionUpdateEditable)
+ EVT_UPDATE_UI(XRCID("menu_copy_from_src"), PoeditFrame::OnSelectionUpdateEditable)
+ EVT_UPDATE_UI(XRCID("menu_clear"), PoeditFrame::OnSelectionUpdateEditable)
+ EVT_UPDATE_UI(XRCID("menu_comment"), PoeditFrame::OnEditCommentUpdate)
// handling of open files:
EVT_UPDATE_UI(wxID_SAVE, PoeditFrame::OnHasCatalogUpdate)
EVT_UPDATE_UI(wxID_SAVEAS, PoeditFrame::OnHasCatalogUpdate)
EVT_UPDATE_UI(XRCID("menu_statistics"), PoeditFrame::OnHasCatalogUpdate)
EVT_UPDATE_UI(XRCID("menu_validate"), PoeditFrame::OnIsEditableUpdate)
- EVT_UPDATE_UI(XRCID("menu_update"), PoeditFrame::OnUpdateFromSourcesUpdate)
- EVT_UPDATE_UI(XRCID("menu_update_from_pot"), PoeditFrame::OnHasCatalogUpdate)
+ EVT_UPDATE_UI(XRCID("menu_update_from_src"), PoeditFrame::OnUpdateFromSourcesUpdate)
+ #ifdef HAVE_HTTP_CLIENT
+ EVT_UPDATE_UI(XRCID("menu_update_from_crowdin"), PoeditFrame::OnUpdateFromCrowdinUpdate)
+ #endif
+ EVT_UPDATE_UI(XRCID("menu_update_from_pot"), PoeditFrame::OnUpdateFromPOTUpdate)
+ EVT_UPDATE_UI(XRCID("toolbar_update"), PoeditFrame::OnUpdateSmartUpdate)
#if defined(__WXMSW__) || defined(__WXGTK__)
EVT_MENU(wxID_UNDO, PoeditFrame::OnTextEditingCommand)
@@ -466,6 +470,9 @@ PoeditFrame::PoeditFrame() :
m_splitter = nullptr;
m_sidebarSplitter = nullptr;
m_sidebar = nullptr;
+ m_errorBar = nullptr;
+ m_labelContext = m_labelPlural = m_labelSingular = nullptr;
+ m_pluralNotebook = nullptr;
// make sure that the [ID_POEDIT_FIRST,ID_POEDIT_LAST] range of IDs is not
// used for anything else:
@@ -507,6 +514,14 @@ PoeditFrame::PoeditFrame() :
#ifdef __WXOSX__
wxGetApp().TweakOSXMenuBar(MenuBar);
#endif
+#ifndef HAVE_HTTP_CLIENT
+ wxMenu *menu;
+ wxMenuItem *item;
+ item = MenuBar->FindItem(XRCID("menu_update_from_crowdin"), &menu);
+ menu->Destroy(item);
+ item = MenuBar->FindItem(XRCID("menu_open_crowdin"), &menu);
+ menu->Destroy(item);
+#endif
}
else
{
@@ -519,7 +534,8 @@ PoeditFrame::PoeditFrame() :
GetMenuBar()->Check(XRCID("menu_ids"), m_displayIDs);
- CreateStatusBar(1, wxST_SIZEGRIP);
+ if (wxConfigBase::Get()->ReadBool("/statusbar_shown", true))
+ CreateStatusBar(1, wxST_SIZEGRIP);
m_contentWrappingSizer = new wxBoxSizer(wxVERTICAL);
SetSizer(m_contentWrappingSizer);
@@ -574,7 +590,8 @@ void PoeditFrame::EnsureContentView(Content type)
break;
case Content::PO:
- m_contentView = CreateContentViewPO();
+ case Content::POT:
+ m_contentView = CreateContentViewPO(type);
break;
}
@@ -587,8 +604,30 @@ void PoeditFrame::EnsureContentView(Content type)
#endif
}
+void PoeditFrame::EnsureAppropriateContentView()
+{
+ wxCHECK_RET( m_catalog, "must have catalog here" );
-wxWindow* PoeditFrame::CreateContentViewPO()
+ if (m_catalog->empty())
+ {
+ EnsureContentView(Content::Empty_PO);
+ }
+ else
+ {
+ switch (m_catalog->GetFileType())
+ {
+ case Catalog::Type::PO:
+ EnsureContentView(Content::PO);
+ break;
+ case Catalog::Type::POT:
+ EnsureContentView(Content::POT);
+ break;
+ }
+ }
+}
+
+
+wxWindow* PoeditFrame::CreateContentViewPO(Content type)
{
auto main = new wxPanel(this, wxID_ANY);
auto mainSizer = new wxBoxSizer(wxHORIZONTAL);
@@ -621,7 +660,6 @@ wxWindow* PoeditFrame::CreateContentViewPO()
m_displayIDs);
m_bottomPanel = new wxPanel(m_splitter);
- m_bottomPanel->Bind(wxEVT_UPDATE_UI, &PoeditFrame::OnSingleSelectionUpdate, this);
wxStaticText *labelSource =
new wxStaticText(m_bottomPanel, -1, _("Source text:"));
@@ -638,22 +676,7 @@ wxWindow* PoeditFrame::CreateContentViewPO()
m_labelPlural->SetFont(m_normalGuiFont);
m_textOrigPlural = new SourceTextCtrl(m_bottomPanel, ID_TEXTORIGPLURAL);
- wxStaticText *labelTrans = new wxStaticText(m_bottomPanel, -1, _("Translation:"));
- labelTrans->SetFont(m_boldGuiFont);
-
- m_textTrans = new TranslationTextCtrl(m_bottomPanel, ID_TEXTTRANS);
- m_textTrans->PushEventHandler(new TransTextctrlHandler(this));
-
- // in case of plurals form, this is the control for n=1:
- m_textTransSingularForm = NULL;
-
- m_pluralNotebook = new wxNotebook(m_bottomPanel, -1);
-
- m_errorBar = new ErrorBar(m_bottomPanel);
-
- SetCustomFonts();
-
- wxSizer *panelSizer = new wxBoxSizer(wxVERTICAL);
+ auto *panelSizer = new wxBoxSizer(wxVERTICAL);
wxFlexGridSizer *gridSizer = new wxFlexGridSizer(2);
gridSizer->AddGrowableCol(1);
@@ -669,10 +692,13 @@ wxWindow* PoeditFrame::CreateContentViewPO()
panelSizer->Add(m_labelContext, 0, wxEXPAND | wxALL, 3);
panelSizer->Add(labelSource, 0, wxEXPAND | wxALL, 3);
panelSizer->Add(gridSizer, 1, wxEXPAND);
- panelSizer->Add(labelTrans, 0, wxEXPAND | wxALL, 3);
- panelSizer->Add(m_textTrans, 1, wxEXPAND);
- panelSizer->Add(m_pluralNotebook, 1, wxEXPAND);
- panelSizer->Add(m_errorBar, 0, wxEXPAND | wxALL, 2);
+
+ if (type == Content::POT)
+ CreateContentViewTemplateControls(m_bottomPanel, panelSizer);
+ else
+ CreateContentViewEditControls(m_bottomPanel, panelSizer);
+
+ SetCustomFonts();
m_bottomPanel->SetAutoLayout(true);
m_bottomPanel->SetSizer(panelSizer);
@@ -704,6 +730,7 @@ wxWindow* PoeditFrame::CreateContentViewPO()
}
GetMenuBar()->Check(XRCID("sort_group_by_context"), m_list->sortOrder.groupByContext);
GetMenuBar()->Check(XRCID("sort_untrans_first"), m_list->sortOrder.untransFirst);
+ GetMenuBar()->Check(XRCID("sort_errors_first"), m_list->sortOrder.errorsFirst);
// Call splitter splitting later, when the window is layed out, otherwise
// the sizes would get truncated immediately:
@@ -735,6 +762,61 @@ wxWindow* PoeditFrame::CreateContentViewPO()
return main;
}
+void PoeditFrame::CreateContentViewEditControls(wxWindow *p, wxBoxSizer *panelSizer)
+{
+ p->Bind(wxEVT_UPDATE_UI, &PoeditFrame::OnSingleSelectionUpdate, this);
+
+ wxStaticText *labelTrans = new wxStaticText(p, -1, _("Translation:"));
+ labelTrans->SetFont(m_boldGuiFont);
+
+ m_textTrans = new TranslationTextCtrl(p, ID_TEXTTRANS);
+ m_textTrans->PushEventHandler(new TransTextctrlHandler(this));
+
+ // in case of plurals form, this is the control for n=1:
+ m_textTransSingularForm = nullptr;
+
+ m_pluralNotebook = new wxNotebook(p, -1);
+
+ m_errorBar = new ErrorBar(p);
+
+ panelSizer->Add(labelTrans, 0, wxEXPAND | wxALL, 3);
+ panelSizer->Add(m_textTrans, 1, wxEXPAND);
+ panelSizer->Add(m_pluralNotebook, 1, wxEXPAND);
+ panelSizer->Add(m_errorBar, 0, wxEXPAND | wxALL, 2);
+}
+
+void PoeditFrame::CreateContentViewTemplateControls(wxWindow *p, wxBoxSizer *panelSizer)
+{
+ auto win = new wxPanel(p, wxID_ANY);
+ auto sizer = new wxBoxSizer(wxVERTICAL);
+
+ auto explain = new wxStaticText(win, wxID_ANY, _(L"POT files are only templates and don’t contain any translations themselves.\nTo make a translation, create a new PO file based on the template."), wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE_HORIZONTAL);
+#ifdef __WXOSX__
+ explain->SetWindowVariant(wxWINDOW_VARIANT_SMALL);
+#endif
+ explain->SetForegroundColour(ExplanationLabel::GetTextColor().ChangeLightness(160));
+ win->SetBackgroundColour(GetBackgroundColour().ChangeLightness(50));
+
+ auto button = new wxButton(win, wxID_ANY, MSW_OR_OTHER(_("Create new translation"), _("Create New Translation")));
+ button->Bind(wxEVT_BUTTON, [=](wxCommandEvent&)
+ {
+ wxWindowPtr<LanguageDialog> dlg(new LanguageDialog(this));
+ dlg->ShowWindowModalThenDo([=](int retcode){
+ if (retcode == wxID_OK)
+ NewFromPOT(m_catalog->GetFileName(), dlg->GetLang());
+ });
+ });
+
+ sizer->AddStretchSpacer();
+ sizer->Add(explain, wxSizerFlags().Center().Border(wxLEFT|wxRIGHT, PX(100)));
+ sizer->Add(button, wxSizerFlags().Center().Border(wxTOP|wxBOTTOM, PX(10)));
+ sizer->AddStretchSpacer();
+
+ win->SetSizerAndFit(sizer);
+
+ panelSizer->Add(win, 1, wxEXPAND);
+}
+
wxWindow* PoeditFrame::CreateContentViewWelcome()
{
@@ -773,12 +855,21 @@ void PoeditFrame::DestroyContentView()
m_contentView = nullptr;
m_list = nullptr;
- m_textTrans = nullptr;
+ m_labelContext = m_labelSingular = m_labelPlural = nullptr;
+ m_textTrans = m_textTransSingularForm = nullptr;
m_textOrig = nullptr;
m_textOrigPlural = nullptr;
+ m_errorBar = nullptr;
m_splitter = nullptr;
m_sidebarSplitter = nullptr;
m_sidebar = nullptr;
+ m_pluralNotebook = nullptr;
+
+ if (m_findWindow)
+ {
+ m_findWindow->Destroy();
+ m_findWindow.Release();
+ }
}
@@ -786,8 +877,6 @@ PoeditFrame::~PoeditFrame()
{
ms_instances.erase(this);
- FindFrame::NotifyParentDestroyed(m_list, m_catalog);
-
DestroyContentView();
wxConfigBase *cfg = wxConfig::Get();
@@ -805,8 +894,8 @@ PoeditFrame::~PoeditFrame()
// write all changes:
cfg->Flush();
- delete m_catalog;
- m_catalog = NULL;
+ m_catalog.reset();
+ m_pendingHumanEditedItem.reset();
// shutdown the spellchecker:
InitSpellchecker();
@@ -985,13 +1074,16 @@ void PoeditFrame::DoIfCanDiscardCurrentDoc(TFunctor completionHandler)
if (retval == wxID_YES)
{
- if (!m_fileExistsOnDisk || m_fileName.empty())
- m_fileName = GetSaveAsFilename(m_catalog, m_fileName);
-
- WriteCatalog(m_fileName, [=](bool saved){
- if (saved)
- completionHandler();
- });
+ auto doSaveFile = [=](const wxString& fn){
+ WriteCatalog(fn, [=](bool saved){
+ if (saved)
+ completionHandler();
+ });
+ };
+ if (!m_fileExistsOnDisk || GetFileName().empty())
+ GetSaveAsFilenameThenDo(m_catalog, doSaveFile);
+ else
+ doSaveFile(GetFileName());
}
else if (retval == wxID_NO)
{
@@ -1058,14 +1150,13 @@ void PoeditFrame::OnOpen(wxCommandEvent&)
{
DoIfCanDiscardCurrentDoc([=]{
- wxString path = wxPathOnly(m_fileName);
+ wxString path = wxPathOnly(GetFileName());
if (path.empty())
path = wxConfig::Get()->Read("last_file_path", wxEmptyString);
- wxString name = wxFileSelector(_("Open catalog"),
+ wxString name = wxFileSelector(OSX_OR_OTHER("", _("Open catalog")),
path, wxEmptyString, wxEmptyString,
- wxString::Format("%s (*.po)|*.po|%s (*.*)|*.*",
- _("PO Translation Files"), _("All Files")),
+ Catalog::GetAllTypesFileMask(),
wxFD_OPEN | wxFD_FILE_MUST_EXIST, this);
if (!name.empty())
@@ -1078,6 +1169,17 @@ void PoeditFrame::OnOpen(wxCommandEvent&)
}
+#ifdef HAVE_HTTP_CLIENT
+void PoeditFrame::OnOpenFromCrowdin(wxCommandEvent&)
+{
+ DoIfCanDiscardCurrentDoc([=]{
+ CrowdinOpenFile(this, [=](wxString name){
+ DoOpenFile(name);
+ });
+ });
+}
+#endif
+
#ifndef __WXOSX__
void PoeditFrame::OnOpenHist(wxCommandEvent& event)
@@ -1098,10 +1200,10 @@ void PoeditFrame::OnSave(wxCommandEvent& event)
{
try
{
- if (!m_fileExistsOnDisk || m_fileName.empty())
+ if (!m_fileExistsOnDisk || GetFileName().empty())
OnSaveAs(event);
else
- WriteCatalog(m_fileName);
+ WriteCatalog(GetFileName());
}
catch (Exception& e)
{
@@ -1110,7 +1212,7 @@ void PoeditFrame::OnSave(wxCommandEvent& event)
}
-static wxString SuggestFileName(const Catalog *catalog)
+static wxString SuggestFileName(const CatalogPtr& catalog)
{
wxString name;
if (catalog)
@@ -1122,8 +1224,10 @@ static wxString SuggestFileName(const Catalog *catalog)
return name;
}
-wxString PoeditFrame::GetSaveAsFilename(Catalog *cat, const wxString& current)
+template<typename F>
+void PoeditFrame::GetSaveAsFilenameThenDo(const CatalogPtr& cat, F then)
{
+ auto current = cat->GetFileName();
wxString name(wxFileNameFromPath(current));
wxString path(wxPathOnly(current));
@@ -1133,16 +1237,21 @@ wxString PoeditFrame::GetSaveAsFilename(Catalog *cat, const wxString& current)
name = SuggestFileName(cat) + ".po";
}
- name = wxFileSelector(_("Save as..."), path, name, wxEmptyString,
- wxString::Format("%s (*.po)|*.po",
- _("PO Translation Files")),
- wxFD_SAVE | wxFD_OVERWRITE_PROMPT, this);
- if (!name.empty())
- {
- wxConfig::Get()->Write("last_file_path", wxPathOnly(name));
- }
+ wxWindowPtr<wxFileDialog> dlg(
+ new wxFileDialog(this,
+ OSX_OR_OTHER("", _("Save as...")),
+ path,
+ name,
+ m_catalog->GetFileMask(),
+ wxFD_SAVE | wxFD_OVERWRITE_PROMPT));
- return name;
+ dlg->ShowWindowModalThenDo([=](int retcode){
+ if (retcode != wxID_OK)
+ return;
+ auto fn = dlg->GetPath();
+ wxConfig::Get()->Write("last_file_path", wxPathOnly(name));
+ then(fn);
+ });
}
void PoeditFrame::DoSaveAs(const wxString& filename)
@@ -1150,19 +1259,21 @@ void PoeditFrame::DoSaveAs(const wxString& filename)
if (filename.empty())
return;
- m_fileName = filename;
WriteCatalog(filename);
}
void PoeditFrame::OnSaveAs(wxCommandEvent&)
{
- DoSaveAs(GetSaveAsFilename(m_catalog, m_fileName));
+ GetSaveAsFilenameThenDo(m_catalog, [=](const wxString& fn){
+ DoSaveAs(fn);
+ });
}
void PoeditFrame::OnCompileMO(wxCommandEvent&)
{
+ auto fileName = GetFileName();
wxString name;
- wxFileName::SplitPath(m_fileName, nullptr, &name, nullptr);
+ wxFileName::SplitPath(fileName, nullptr, &name, nullptr);
if (name.empty())
{
@@ -1171,36 +1282,43 @@ void PoeditFrame::OnCompileMO(wxCommandEvent&)
else
name += ".mo";
- name = wxFileSelector(_("Compile to..."),
- wxPathOnly(m_fileName), name, wxEmptyString,
- wxString::Format("%s (*.mo)|*.mo", _("Compiled Translation Files")),
- wxFD_SAVE | wxFD_OVERWRITE_PROMPT, this);
- if (name.empty())
- return; // user cancelled
+ wxWindowPtr<wxFileDialog> dlg(
+ new wxFileDialog(this,
+ OSX_OR_OTHER("", _("Compile to...")),
+ wxPathOnly(fileName),
+ name,
+ wxString::Format("%s (*.mo)|*.mo", _("Compiled Translation Files")),
+ wxFD_SAVE | wxFD_OVERWRITE_PROMPT));
- wxBusyCursor bcur;
- wxConfig::Get()->Write("last_file_path", wxPathOnly(name));
+ dlg->ShowWindowModalThenDo([=](int retcode){
+ if (retcode != wxID_OK)
+ return;
- int validation_errors = 0;
- Catalog::CompilationStatus compilation_status = Catalog::CompilationStatus::NotDone;
- if (!m_catalog->CompileToMO(name, validation_errors, compilation_status))
- return;
+ wxBusyCursor bcur;
+ auto fn = dlg->GetPath();
+ wxConfig::Get()->Write("last_file_path", wxPathOnly(fn));
+ int validation_errors = 0;
+ Catalog::CompilationStatus compilation_status = Catalog::CompilationStatus::NotDone;
+ if (!m_catalog->CompileToMO(fn, validation_errors, compilation_status))
+ return;
- if (validation_errors)
- {
- // Note: this may show window-modal window and because we may
- // be called from such window too, run this in the next
- // event loop iteration.
- CallAfter([=]{
- ReportValidationErrors(validation_errors, compilation_status, /*from_save=*/true, /*other_file_saved=*/false, []{});
- });
- }
+ if (validation_errors)
+ {
+ // Note: this may show window-modal window and because we may
+ // be called from such window too, run this in the next
+ // event loop iteration.
+ CallAfter([=]{
+ ReportValidationErrors(validation_errors, compilation_status, /*from_save=*/true, /*other_file_saved=*/false, []{});
+ });
+ }
+ });
}
void PoeditFrame::OnExport(wxCommandEvent&)
{
+ auto fileName = GetFileName();
wxString name;
- wxFileName::SplitPath(m_fileName, nullptr, &name, nullptr);
+ wxFileName::SplitPath(fileName, nullptr, &name, nullptr);
if (name.empty())
{
@@ -1209,22 +1327,37 @@ void PoeditFrame::OnExport(wxCommandEvent&)
else
name += ".html";
- name = wxFileSelector(_("Export as..."),
- wxPathOnly(m_fileName), name, wxEmptyString,
- wxString::Format("%s (*.html)|*.html", _("HTML Files")),
- wxFD_SAVE | wxFD_OVERWRITE_PROMPT, this);
- if (!name.empty())
- {
- wxConfig::Get()->Write("last_file_path", wxPathOnly(name));
- ExportCatalog(name);
- }
+ wxWindowPtr<wxFileDialog> dlg(
+ new wxFileDialog(this,
+ OSX_OR_OTHER("", _("Export as...")),
+ wxPathOnly(fileName),
+ name,
+ wxString::Format("%s (*.html)|*.html", _("HTML Files")),
+ wxFD_SAVE | wxFD_OVERWRITE_PROMPT));
+
+ dlg->ShowWindowModalThenDo([=](int retcode){
+ if (retcode != wxID_OK)
+ return;
+ auto fn = dlg->GetPath();
+ wxConfig::Get()->Write("last_file_path", wxPathOnly(fn));
+ ExportCatalog(fn);
+ });
}
bool PoeditFrame::ExportCatalog(const wxString& filename)
{
wxBusyCursor bcur;
- bool ok = m_catalog->ExportToHTML(filename);
- return ok;
+
+ TempOutputFileFor tempfile(filename);
+ std::ofstream f;
+ f.open(tempfile.FileName().fn_str());
+ m_catalog->ExportToHTML(f);
+ if (!tempfile.Commit())
+ {
+ wxLogError(_("Couldn't save file %s."), filename);
+ return false;
+ }
+ return true;
}
@@ -1243,69 +1376,52 @@ void PoeditFrame::OnNew(wxCommandEvent& event)
void PoeditFrame::NewFromPOT()
{
- Catalog *catalog = new Catalog;
-
- wxString path = wxPathOnly(m_fileName);
+ wxString path = wxPathOnly(GetFileName());
if (path.empty())
path = wxConfig::Get()->Read("last_file_path", wxEmptyString);
wxString pot_file =
wxFileSelector(_("Open catalog template"),
path, wxEmptyString, wxEmptyString,
- wxString::Format
- (
- "%s (*.pot)|*.pot|%s (*.po)|*.po|%s (*.*)|*.*",
- _("POT Translation Templates"),
- _("PO Translation Files"),
- _("All Files")
- ),
+ Catalog::GetTypesFileMask({Catalog::Type::POT, Catalog::Type::PO}),
wxFD_OPEN | wxFD_FILE_MUST_EXIST, this);
- bool ok = false;
if (!pot_file.empty())
{
wxConfig::Get()->Write("last_file_path", wxPathOnly(pot_file));
- UpdateResultReason reason;
- ok = catalog->UpdateFromPOT(pot_file,
- /*summary=*/false,
- reason,
- /*replace_header=*/true);
+ NewFromPOT(pot_file);
}
- if (!ok)
+}
+
+void PoeditFrame::NewFromPOT(const wxString& pot_file, Language language)
+{
+ UpdateResultReason reason;
+ CatalogPtr catalog = std::make_shared<Catalog>();
+ if (!catalog->UpdateFromPOT(pot_file,
+ /*summary=*/false,
+ reason,
+ /*replace_header=*/true))
{
- delete catalog;
return;
}
- delete m_catalog;
m_catalog = catalog;
+ m_pendingHumanEditedItem.reset();
- m_fileName.clear();
m_fileExistsOnDisk = false;
m_modified = true;
- if (m_catalog->empty())
- {
- EnsureContentView(Content::Empty_PO);
- }
- else
- {
- EnsureContentView(Content::PO);
- NotifyCatalogChanged(m_catalog);
- }
+ EnsureAppropriateContentView();
+ NotifyCatalogChanged(m_catalog);
UpdateTitle();
UpdateMenu();
UpdateStatusBar();
UpdateTextLanguage();
- // Choose the language:
- wxWindowPtr<LanguageDialog> dlg(new LanguageDialog(this));
-
- dlg->ShowWindowModalThenDo([=](int retcode){
- if (retcode == wxID_OK)
+ auto setLanguageFunc = [=](Language lang)
+ {
+ if (lang.IsValid())
{
- Language lang = dlg->GetLang();
- catalog->Header().Lang = lang;
- catalog->Header().SetHeaderNotEmpty("Plural-Forms", lang.DefaultPluralFormsExpr());
+ catalog->SetLanguage(lang);
// Derive save location for the file from the location of the POT
// file (same directory, language-based name). This doesn't always
@@ -1313,10 +1429,7 @@ void PoeditFrame::NewFromPOT()
// save the file just yet and let the user confirm the location when saving.
wxFileName pot_fn(pot_file);
pot_fn.SetFullName(lang.Code() + ".po");
-
- m_fileName = pot_fn.GetFullPath();
- m_fileExistsOnDisk = false;
- m_modified = true;
+ m_catalog->SetFileName(pot_fn.GetFullPath());
}
else
{
@@ -1331,19 +1444,35 @@ void PoeditFrame::NewFromPOT()
UpdateStatusBar();
UpdateTextLanguage();
NotifyCatalogChanged(m_catalog); // refresh language column
- });
+ };
+
+ if (language.IsValid())
+ {
+ setLanguageFunc(language);
+ }
+ else
+ {
+ // Choose the language:
+ wxWindowPtr<LanguageDialog> dlg(new LanguageDialog(this));
+
+ dlg->ShowWindowModalThenDo([=](int retcode){
+ if (retcode == wxID_OK)
+ setLanguageFunc(dlg->GetLang());
+ else
+ setLanguageFunc(Language());
+ });
+ }
}
void PoeditFrame::NewFromScratch()
{
- Catalog *catalog = new Catalog;
+ CatalogPtr catalog = std::make_shared<Catalog>();
catalog->CreateNewHeader();
- delete m_catalog;
m_catalog = catalog;
+ m_pendingHumanEditedItem.reset();
- m_fileName.clear();
m_fileExistsOnDisk = false;
m_modified = true;
@@ -1359,9 +1488,7 @@ void PoeditFrame::NewFromScratch()
dlg->ShowWindowModalThenDo([=](int retcode){
if (retcode == wxID_OK)
{
- Language lang = dlg->GetLang();
- catalog->Header().Lang = lang;
- catalog->Header().SetHeaderNotEmpty("Plural-Forms", lang.DefaultPluralFormsExpr());
+ catalog->SetLanguage(dlg->GetLang());
}
});
}
@@ -1374,7 +1501,7 @@ void PoeditFrame::OnProperties(wxCommandEvent&)
void PoeditFrame::EditCatalogProperties()
{
- wxWindowPtr<PropertiesDialog> dlg(new PropertiesDialog(this, m_fileExistsOnDisk));
+ wxWindowPtr<PropertiesDialog> dlg(new PropertiesDialog(this, m_catalog, m_fileExistsOnDisk));
const Language prevLang = m_catalog->GetLanguage();
dlg->TransferTo(m_catalog);
@@ -1400,7 +1527,7 @@ void PoeditFrame::EditCatalogPropertiesAndUpdateFromSources()
{
// TODO: share code with EditCatalogProperties()
- wxWindowPtr<PropertiesDialog> dlg(new PropertiesDialog(this, m_fileExistsOnDisk, 1));
+ wxWindowPtr<PropertiesDialog> dlg(new PropertiesDialog(this, m_catalog, m_fileExistsOnDisk, 1));
const Language prevLang = m_catalog->GetLanguage();
dlg->TransferTo(m_catalog);
@@ -1422,7 +1549,7 @@ void PoeditFrame::EditCatalogPropertiesAndUpdateFromSources()
if (!m_catalog->Header().SearchPaths.empty())
{
- EnsureContentView(Content::PO);
+ EnsureAppropriateContentView();
UpdateCatalog();
}
}
@@ -1466,14 +1593,27 @@ bool PoeditFrame::UpdateCatalog(const wxString& pot_file)
UpdateResultReason reason = UpdateResultReason::Unspecified;
bool succ;
+ if (pot_file.empty())
{
- ProgressInfo progress(this, _("Updating catalog"));
- if (pot_file.empty())
+ if (m_catalog->HasSourcesAvailable())
+ {
+ ProgressInfo progress(this, _("Updating catalog"));
succ = m_catalog->Update(&progress, true, reason);
+ locker.reset();
+ EnsureAppropriateContentView();
+ NotifyCatalogChanged(m_catalog);
+ }
else
- succ = m_catalog->UpdateFromPOT(pot_file, true, reason);
-
- EnsureContentView(Content::PO);
+ {
+ reason = UpdateResultReason::NoSourcesFound;
+ succ = false;
+ }
+ }
+ else
+ {
+ succ = m_catalog->UpdateFromPOT(pot_file, true, reason);
+ locker.reset();
+ EnsureAppropriateContentView();
NotifyCatalogChanged(m_catalog);
}
@@ -1511,36 +1651,12 @@ bool PoeditFrame::UpdateCatalog(const wxString& pot_file)
return succ;
}
-void PoeditFrame::OnUpdate(wxCommandEvent& event)
+void PoeditFrame::OnUpdateFromSources(wxCommandEvent&)
{
DoIfCanDiscardCurrentDoc([=]{
-
- wxString pot_file;
-
- if (event.GetId() == XRCID("menu_update_from_pot"))
- {
- wxString path = wxPathOnly(m_fileName);
- if (path.empty())
- path = wxConfig::Get()->Read("last_file_path", wxEmptyString);
- pot_file =
- wxFileSelector(_("Open catalog template"),
- path, wxEmptyString, wxEmptyString,
- wxString::Format
- (
- "%s (*.pot)|*.pot|%s (*.po)|*.po|%s (*.*)|*.*",
- _("POT Translation Templates"),
- _("PO Translation Files"),
- _("All Files")
- ),
- wxFD_OPEN | wxFD_FILE_MUST_EXIST, this);
- if (pot_file.empty())
- return;
- wxConfig::Get()->Write("last_file_path", wxPathOnly(pot_file));
- }
-
try
{
- if (UpdateCatalog(pot_file))
+ if (UpdateCatalog())
{
if (wxConfig::Get()->ReadBool("use_tm", true) &&
wxConfig::Get()->ReadBool("use_tm_when_updating", false))
@@ -1549,16 +1665,117 @@ void PoeditFrame::OnUpdate(wxCommandEvent& event)
}
}
}
- catch (Exception& e)
+ catch (...)
{
- wxLogError("%s", e.What());
+ wxLogError("%s", DescribeCurrentException());
}
RefreshControls();
+ });
+}
+
+void PoeditFrame::OnUpdateFromSourcesUpdate(wxUpdateUIEvent& event)
+{
+ event.Enable(m_catalog &&
+ !m_catalog->IsFromCrowdin() &&
+ m_catalog->HasSourcesConfigured());
+}
+void PoeditFrame::OnUpdateFromPOT(wxCommandEvent&)
+{
+ DoIfCanDiscardCurrentDoc([=]{
+ wxString path = wxPathOnly(GetFileName());
+ if (path.empty())
+ path = wxConfig::Get()->Read("last_file_path", wxEmptyString);
+
+ wxWindowPtr<wxFileDialog> dlg(
+ new wxFileDialog(this,
+ _("Open catalog template"),
+ path,
+ wxEmptyString,
+ Catalog::GetTypesFileMask({Catalog::Type::POT, Catalog::Type::PO}),
+ wxFD_OPEN | wxFD_FILE_MUST_EXIST));
+
+ dlg->ShowWindowModalThenDo([=](int retcode){
+ if (retcode != wxID_OK)
+ return;
+ auto pot_file = dlg->GetPath();
+ wxConfig::Get()->Write("last_file_path", wxPathOnly(pot_file));
+ try
+ {
+ if (UpdateCatalog(pot_file))
+ {
+ if (wxConfig::Get()->ReadBool("use_tm", true) &&
+ wxConfig::Get()->ReadBool("use_tm_when_updating", false))
+ {
+ AutoTranslateCatalog(nullptr, AutoTranslate_OnlyGoodQuality);
+ }
+ }
+ }
+ catch (...)
+ {
+ wxLogError("%s", DescribeCurrentException());
+ }
+ });
+
+ RefreshControls();
+ });
+}
+
+void PoeditFrame::OnUpdateFromPOTUpdate(wxUpdateUIEvent& event)
+{
+ if (!m_catalog || m_catalog->GetFileType() != Catalog::Type::PO)
+ event.Enable(false);
+ else
+ OnHasCatalogUpdate(event);
+}
+
+#ifdef HAVE_HTTP_CLIENT
+void PoeditFrame::OnUpdateFromCrowdin(wxCommandEvent&)
+{
+ DoIfCanDiscardCurrentDoc([=]{
+ CrowdinSyncFile(this, m_catalog, [=](std::shared_ptr<Catalog> cat){
+ m_catalog = cat;
+ EnsureAppropriateContentView();
+ NotifyCatalogChanged(m_catalog);
+ RefreshControls();
+ });
});
}
+void PoeditFrame::OnUpdateFromCrowdinUpdate(wxUpdateUIEvent& event)
+{
+ event.Enable(m_catalog && m_catalog->IsFromCrowdin() &&
+ m_catalog->HasCapability(Catalog::Cap::Translations));
+}
+#endif
+
+void PoeditFrame::OnUpdateSmart(wxCommandEvent& event)
+{
+ if (!m_catalog)
+ return;
+#ifdef HAVE_HTTP_CLIENT
+ if (m_catalog->IsFromCrowdin())
+ OnUpdateFromCrowdin(event);
+ else
+#endif
+ OnUpdateFromSources(event);
+}
+
+void PoeditFrame::OnUpdateSmartUpdate(wxUpdateUIEvent& event)
+{
+ event.Enable(false);
+ if (m_catalog)
+ {
+#ifdef HAVE_HTTP_CLIENT
+ if (m_catalog->IsFromCrowdin())
+ OnUpdateFromCrowdinUpdate(event);
+ else
+#endif
+ OnUpdateFromSourcesUpdate(event);
+ }
+}
+
void PoeditFrame::OnValidate(wxCommandEvent&)
{
@@ -1679,6 +1896,12 @@ void PoeditFrame::OnListSel(wxListEvent& event)
event.Skip();
+ if (m_pendingHumanEditedItem)
+ {
+ OnNewTranslationEntered(m_pendingHumanEditedItem);
+ m_pendingHumanEditedItem.reset();
+ }
+
UpdateToTextCtrl(ItemChanged);
if (m_sidebar && m_list)
@@ -1689,43 +1912,39 @@ void PoeditFrame::OnListSel(wxListEvent& event)
m_sidebar->SetSelectedItem(m_catalog, GetCurrentItem()); // may be nullptr
}
- if (hasFocus)
+ if (hasFocus && m_textTrans)
{
if (m_textTrans->IsShown())
m_textTrans->SetFocus();
else if (!m_textTransPlural.empty())
m_textTransPlural[0]->SetFocus();
}
+
+ auto references = FileViewer::GetIfExists();
+ if (references)
+ references->ShowReferences(m_catalog, GetCurrentItem(), 0);
}
void PoeditFrame::OnReferencesMenu(wxCommandEvent&)
{
- CatalogItem *entry = GetCurrentItem();
+ auto entry = GetCurrentItem();
if ( !entry )
return;
+ ShowReference(0);
+}
- const wxArrayString& refs = entry->GetReferences();
-
- if (refs.GetCount() == 0)
- wxMessageBox(_("No references to this string found."));
- else if (refs.GetCount() == 1)
- ShowReference(0);
- else
+void PoeditFrame::OnReferencesMenuUpdate(wxUpdateUIEvent& event)
+{
+ OnSingleSelectionUpdate(event);
+ if (event.GetEnabled())
{
- wxString *table = new wxString[refs.GetCount()];
- for (unsigned i = 0; i < refs.GetCount(); i++)
- table[i] = refs[i];
- int result = wxGetSingleChoiceIndex(_("Please choose the reference you want to show:"), _("References"),
- (int)refs.GetCount(), table);
- delete[] table;
- if (result != -1)
- ShowReference(result);
+ auto item = GetCurrentItem();
+ event.Enable(item && !item->GetReferences().empty());
}
}
-
void PoeditFrame::OnReference(wxCommandEvent& event)
{
ShowReference(event.GetId() - ID_POPUP_REFS);
@@ -1735,39 +1954,10 @@ void PoeditFrame::OnReference(wxCommandEvent& event)
void PoeditFrame::ShowReference(int num)
{
- CatalogItem *entry = GetCurrentItem();
- wxCHECK_RET( entry, "no entry selected" );
-
- wxBusyCursor bcur;
-
- wxString basepath;
- wxString cwd = wxGetCwd();
-
- if (!!m_fileName)
- {
- wxString path;
-
- if (wxIsAbsolutePath(m_catalog->Header().BasePath))
- path = m_catalog->Header().BasePath;
- else
- path = wxPathOnly(m_fileName) + "/" + m_catalog->Header().BasePath;
-
- if (path.Last() == _T('/') || path.Last() == _T('\\'))
- path.RemoveLast();
-
- if (wxIsAbsolutePath(path))
- basepath = path;
- else
- basepath = cwd + "/" + path;
- }
-
- FileViewer *w = new FileViewer(this, basepath,
- entry->GetReferences(),
- num);
- if (w->FileOk())
- w->Show(true);
- else
- w->Close();
+ auto entry = GetCurrentItem();
+ if (!entry)
+ return;
+ FileViewer::GetAndActivate()->ShowReferences(m_catalog, entry, num);
}
@@ -1871,112 +2061,54 @@ void PoeditFrame::OnClearTranslation(wxCommandEvent&)
void PoeditFrame::OnFind(wxCommandEvent&)
{
- FindFrame *f = FindFrame::Get(m_list, m_catalog);
+ if (!m_findWindow)
+ m_findWindow = new FindFrame(this, m_list, m_catalog, m_textOrig, m_textTrans, m_pluralNotebook);
- if (!f)
- f = new FindFrame(this, m_list, m_catalog, m_textOrig, m_textTrans);
- f->Show(true);
- f->Raise();
- f->FocusSearchField();
+ m_findWindow->ShowForFind();
+}
+
+void PoeditFrame::OnFindAndReplace(wxCommandEvent&)
+{
+ if (!m_findWindow)
+ m_findWindow = new FindFrame(this, m_list, m_catalog, m_textOrig, m_textTrans, m_pluralNotebook);
+
+ m_findWindow->ShowForReplace();
}
void PoeditFrame::OnFindNext(wxCommandEvent&)
{
- FindFrame *f = FindFrame::Get(m_list, m_catalog);
- if ( f )
- f->FindNext();
+ if (m_findWindow)
+ m_findWindow->FindNext();
}
void PoeditFrame::OnFindPrev(wxCommandEvent&)
{
- FindFrame *f = FindFrame::Get(m_list, m_catalog);
- if ( f )
- f->FindPrev();
+ if (m_findWindow)
+ m_findWindow->FindPrev();
}
-CatalogItem *PoeditFrame::GetCurrentItem() const
+CatalogItemPtr PoeditFrame::GetCurrentItem() const
{
if ( !m_catalog || !m_list )
- return NULL;
+ return nullptr;
int item = m_list->GetFirstSelectedCatalogItem();
if ( item == -1 )
- return NULL;
+ return nullptr;
wxASSERT( item >= 0 && item < (int)m_catalog->GetCount() );
- return &(*m_catalog)[item];
+ return (*m_catalog)[item];
}
-static inline bool IsAnyQuote(wchar_t c)
-{
- switch (c)
- {
- case 0x00BB: // »
- case 0x00AB: // «
- case 0x201C: // “
- case 0x201D: // ”
- case 0x201E: // „
- case 0x201F: // ‟
- case '"':
- return true;
- default:
- return false;
- }
-}
-
-static wxString TransformNewval(const wxString& val)
-{
- wxString newval(val);
-
-#ifdef __WXOSX__
- // Fix occurrences of smart quotes after \, e.g. \“ -- they shouldn't happen
- // because we disabled smart quotes, but apparently some people either
- // enable them back or something else interfered. So play it safe and filter
- // them out:
- for (wxString::iterator i = newval.begin(); i != newval.end(); ++i)
- {
- if (*i == '\\')
- {
- ++i;
- if (i == newval.end())
- break;
- if (IsAnyQuote(*i))
- *i = '"';
- }
- }
-#endif // __WXOSX__
-
- newval.Replace("\n", "");
-
- if (!newval.empty() && newval[0u] == _T('"'))
- newval.Prepend("\\");
- for (unsigned i = 1; i < newval.Len(); i++)
- if (newval[i] == _T('"') && newval[i-1] != _T('\\'))
- {
- newval = newval.Mid(0, i) + _T("\\\"") + newval.Mid(i+1);
- i++;
- }
-
- // string ending with [^\]\ is invalid:
- if (newval.length() > 1 &&
- newval[newval.length()-1] == _T('\\') &&
- newval[newval.length()-2] != _T('\\'))
- {
- newval.RemoveLast();
- }
-
- return newval;
-}
-
void PoeditFrame::UpdateFromTextCtrl()
{
if (!m_list || !m_list->HasSingleSelection())
return;
- CatalogItem *entry = GetCurrentItem();
+ auto entry = GetCurrentItem();
if ( !entry )
return;
@@ -1992,7 +2124,7 @@ void PoeditFrame::UpdateFromTextCtrl()
wxArrayString str;
for (unsigned i = 0; i < m_textTransPlural.size(); i++)
{
- wxString val = TransformNewval(m_textTransPlural[i]->GetValue());
+ auto val = m_textTransPlural[i]->GetPlainText();
str.Add(val);
if ( val.empty() )
allTranslated = false;
@@ -2006,8 +2138,7 @@ void PoeditFrame::UpdateFromTextCtrl()
}
else
{
- wxString newval =
- TransformNewval(m_textTrans->GetValue());
+ auto newval = m_textTrans->GetPlainText();
if ( newval.empty() )
allTranslated = false;
@@ -2046,6 +2177,8 @@ void PoeditFrame::UpdateFromTextCtrl()
entry->SetModified(true);
entry->SetAutomatic(false);
+ m_pendingHumanEditedItem = entry;
+
m_list->RefreshSelectedItems();
if ( statisticsChanged )
@@ -2061,6 +2194,33 @@ void PoeditFrame::UpdateFromTextCtrl()
}
}
+
+void PoeditFrame::OnNewTranslationEntered(const CatalogItemPtr& item)
+{
+ if (wxConfig::Get()->ReadBool("use_tm", true))
+ {
+ auto srclang = m_catalog->GetSourceLanguage();
+ auto lang = m_catalog->GetLanguage();
+ concurrency_queue::add([=](){
+ try
+ {
+ auto tm = TranslationMemory::Get().GetWriter();
+ tm->Insert(srclang, lang, item);
+ // Note: do *not* call tm->Commit() here, because Lucene commit is
+ // expensive. Instead, wait until the file is saved with committing
+ // the changes. This way TM updates are available immediately for use
+ // in futher translations within the file, but per-item updates
+ // remain inexpensive.
+ }
+ catch (const Exception&)
+ {
+ // ignore failures here, they'll become apparent when saving the file
+ }
+ });
+ }
+}
+
+
namespace
{
@@ -2081,40 +2241,26 @@ void SetTranslationValue(TranslationTextCtrl *txt, const wxString& value, int fl
// want UpdateFromTextCtrl() to be called from here
EventHandlerDisabler disabler(txt->GetEventHandler());
- if (flags & UndoableEdit)
- txt->SetValueUserWritten(value);
+ if (flags & PoeditFrame::UndoableEdit)
+ txt->SetPlainTextUserWritten(value);
else
- txt->SetValue(value);
+ txt->SetPlainText(value);
}
} // anonymous namespace
void PoeditFrame::UpdateToTextCtrl(int flags)
{
- CatalogItem *entry = GetCurrentItem();
+ m_pendingHumanEditedItem.reset();
+ auto entry = GetCurrentItem();
if ( !entry )
return;
- wxString t_o, t_t, t_c, t_ac;
- t_o = entry->GetString();
- t_o.Replace("\\n", "\\n\n");
- t_c = entry->GetComment();
- t_c.Replace("\\n", "\\n\n");
-
- for (unsigned i=0; i < entry->GetExtractedComments().GetCount(); i++)
- t_ac += entry->GetExtractedComments()[i] + "\n";
- t_ac.Replace("\\n", "\\n\n");
-
- // remove "# " in front of every comment line
- t_c = CommentDialog::RemoveStartHash(t_c);
-
- m_textOrig->SetValue(t_o);
+ m_textOrig->SetPlainText(entry->GetString());
if (entry->HasPlural())
{
- wxString t_op = entry->GetPluralString();
- t_op.Replace("\\n", "\\n\n");
- m_textOrigPlural->SetValue(t_op);
+ m_textOrigPlural->SetPlainText(entry->GetPluralString());
unsigned formsCnt = (unsigned)m_textTransPlural.size();
for (unsigned j = 0; j < formsCnt; j++)
@@ -2123,16 +2269,13 @@ void PoeditFrame::UpdateToTextCtrl(int flags)
unsigned i = 0;
for (i = 0; i < std::min(formsCnt, entry->GetNumberOfTranslations()); i++)
{
- t_t = entry->GetTranslation(i);
- t_t.Replace("\\n", "\\n\n");
- SetTranslationValue(m_textTransPlural[i], t_t, flags);
+ SetTranslationValue(m_textTransPlural[i], entry->GetTranslation(i), flags);
}
}
else
{
- t_t = entry->GetTranslation();
- t_t.Replace("\\n", "\\n\n");
- SetTranslationValue(m_textTrans, t_t, flags);
+ if (m_textTrans)
+ SetTranslationValue(m_textTrans, entry->GetTranslation(), flags);
}
if ( entry->HasContext() )
@@ -2144,10 +2287,13 @@ void PoeditFrame::UpdateToTextCtrl(int flags)
}
m_labelContext->GetContainingSizer()->Show(m_labelContext, entry->HasContext());
- if( entry->GetValidity() == CatalogItem::Val_Invalid )
- m_errorBar->ShowError(entry->GetErrorString());
- else
- m_errorBar->HideError();
+ if (m_errorBar)
+ {
+ if( entry->GetValidity() == CatalogItem::Val_Invalid )
+ m_errorBar->ShowError(entry->GetErrorString());
+ else
+ m_errorBar->HideError();
+ }
// by default, editing fuzzy item unfuzzies it
m_dontAutoclearFuzzyStatus = false;
@@ -2165,7 +2311,7 @@ void PoeditFrame::ReadCatalog(const wxString& catalog)
wxBusyCursor bcur;
// NB: duplicated in PoeditFrame::Create()
- Catalog *cat = new Catalog(catalog);
+ CatalogPtr cat = std::make_shared<Catalog>(catalog);
if (cat->IsOk())
{
ReadCatalog(cat);
@@ -2183,47 +2329,90 @@ void PoeditFrame::ReadCatalog(const wxString& catalog)
_("The file may be either corrupted or in a format not recognized by Poedit.")
);
dlg.ShowModal();
- delete cat;
}
}
-void PoeditFrame::ReadCatalog(Catalog *cat)
+void PoeditFrame::ReadCatalog(const CatalogPtr& cat)
{
wxASSERT( cat && cat->IsOk() );
+ {
#ifdef __WXMSW__
- wxWindowUpdateLocker no_updates(this);
+ wxWindowUpdateLocker no_updates(this);
#endif
- delete m_catalog;
- m_catalog = cat;
+ m_catalog = cat;
+ m_pendingHumanEditedItem.reset();
- if (m_catalog->empty())
- {
- EnsureContentView(Content::Empty_PO);
- }
- else
- {
- EnsureContentView(Content::PO);
- // This must be done as soon as possible, otherwise the list would be
- // confused. GetCurrentItem() could return nullptr or something invalid,
- // causing crash in UpdateToTextCtrl() called from
- // RecreatePluralTextCtrls() just few lines below.
- NotifyCatalogChanged(m_catalog);
+ if (m_catalog->empty())
+ {
+ EnsureContentView(Content::Empty_PO);
+ }
+ else
+ {
+ EnsureAppropriateContentView();
+ // This must be done as soon as possible, otherwise the list would be
+ // confused. GetCurrentItem() could return nullptr or something invalid,
+ // causing crash in UpdateToTextCtrl() called from
+ // RecreatePluralTextCtrls() just few lines below.
+ NotifyCatalogChanged(m_catalog);
+ }
+
+ m_fileExistsOnDisk = true;
+ m_modified = false;
+
+ RecreatePluralTextCtrls();
+ RefreshControls(Refresh_NoCatalogChanged /*done right above*/);
+ UpdateTitle();
+ UpdateTextLanguage();
+
+#ifdef HAVE_HTTP_CLIENT
+ m_toolbar->EnableSyncWithCrowdin(m_catalog->IsFromCrowdin());
+#endif
+
+ NoteAsRecentFile();
+
+ if (cat->HasCapability(Catalog::Cap::Translations))
+ WarnAboutLanguageIssues();
}
- m_fileName = cat->GetFileName();
- m_fileExistsOnDisk = true;
- m_modified = false;
+ FixDuplicatesIfPresent();
+}
- RecreatePluralTextCtrls();
- RefreshControls(Refresh_NoCatalogChanged /*done right above*/);
- UpdateTitle();
- UpdateTextLanguage();
+void PoeditFrame::FixDuplicatesIfPresent()
+{
+ // Poedit always produces good files, so don't bother:
+ if (m_catalog->Header().GetHeader("X-Generator").StartsWith("Poedit "))
+ return;
+
+ if (!m_catalog->HasDuplicateItems())
+ return; // good
+
+ // Fix duplicates and explain the changes to the user:
+ m_catalog->FixDuplicateItems();
+ NotifyCatalogChanged(m_catalog);
- Language language = m_catalog->GetLanguage();
- if (!language.IsValid())
+ wxWindowPtr<wxMessageDialog> dlg(
+ new wxMessageDialog
+ (
+ this,
+ wxString::Format(_(L"Poedit automatically fixed invalid content in the file “%s”."), wxFileName(GetFileName()).GetFullName()),
+ _("Invalid file"),
+ wxOK | wxICON_INFORMATION
+ )
+ );
+ dlg->SetExtendedMessage(_("The file contained duplicate items, which is not allowed in PO files and would prevent the file from being used. Poedit fixed the issue, but you should review translations of any items marked as fuzzy and correct them if necessary."));
+ dlg->ShowWindowModalThenDo([dlg](int){});
+
+}
+
+void PoeditFrame::WarnAboutLanguageIssues()
+{
+ Language srclang = m_catalog->GetSourceLanguage();
+ Language lang = m_catalog->GetLanguage();
+
+ if (!lang.IsValid())
{
AttentionMessage msg
(
@@ -2233,13 +2422,29 @@ void PoeditFrame::ReadCatalog(Catalog *cat)
);
msg.AddAction(MSW_OR_OTHER(_("Set language"), _("Set Language")),
[=]{ EditCatalogProperties(); });
+ // TRANSLATORS: This is shown underneath "Language of the translation isn't set (or ...is the same as source language)."
+ msg.SetExplanation(_("Suggestions are not available if the translation language is not set correctly. Other features, such as plural forms, may be affected as well."));
+ m_attentionBar->ShowMessage(msg);
+ }
+
+ if (lang.IsValid() && srclang.IsValid() && lang == srclang)
+ {
+ AttentionMessage msg
+ (
+ "same-language-as-source",
+ AttentionMessage::Warning,
+ _("Language of the translation is the same as source language.")
+ );
+ msg.SetExplanation(_("Suggestions are not available if the translation language is not set correctly. Other features, such as plural forms, may be affected as well."));
+ msg.AddAction(MSW_OR_OTHER(_("Fix language"), _("Fix Language")),
+ [=]{ EditCatalogProperties(); });
m_attentionBar->ShowMessage(msg);
}
// check if plural forms header is correct (only if the language is set,
// otherwise setting the language will fix this issue too):
- if ( language.IsValid() && m_catalog->HasPluralItems() )
+ if ( lang.IsValid() && m_catalog->HasPluralItems() )
{
wxString err;
@@ -2286,12 +2491,12 @@ void PoeditFrame::ReadCatalog(Catalog *cat)
}
else // no error, check for warning-worthy stuff
{
- if ( language.IsValid() )
+ if ( lang.IsValid() )
{
// Check for unusual plural forms. Do some normalization to avoid unnecessary
// complains when the only differences are in whitespace for example.
wxString pl1 = plForms;
- wxString pl2 = language.DefaultPluralFormsExpr();
+ wxString pl2 = lang.DefaultPluralFormsExpr();
if (!pl2.empty())
{
pl1.Replace(" ", "");
@@ -2318,9 +2523,10 @@ void PoeditFrame::ReadCatalog(Catalog *cat)
// would see e.g. in a list of supported languages). You may need
// to rephrase it, e.g. to an equivalent of "for language %s".
_("Plural forms expression used by the catalog is unusual for %s."),
- language.DisplayName()
+ lang.DisplayName()
)
);
+ // TRANSLATORS: A verb, shown as action button with ""Plural forms expression used by the catalog is unusual for %s.")"
msg.AddAction(_("Review"), [=]{ EditCatalogProperties(); });
msg.AddDontShowAgain();
@@ -2330,17 +2536,15 @@ void PoeditFrame::ReadCatalog(Catalog *cat)
}
}
}
-
- NoteAsRecentFile();
}
void PoeditFrame::NoteAsRecentFile()
{
- wxFileName fn(m_fileName);
+ wxFileName fn(GetFileName());
fn.Normalize(wxPATH_NORM_DOTS | wxPATH_NORM_ABSOLUTE);
#ifdef __WXOSX__
- [[NSDocumentController sharedDocumentController] noteNewRecentDocumentURL:[NSURL fileURLWithPath:wxStringToNS(fn.GetFullPath())]];
+ [[NSDocumentController sharedDocumentController] noteNewRecentDocumentURL:[NSURL fileURLWithPath:str::to_NS(fn.GetFullPath())]];
#else
FileHistory().AddFileToHistory(fn.GetFullPath());
#endif
@@ -2355,13 +2559,12 @@ void PoeditFrame::RefreshControls(int flags)
m_hasObsoleteItems = false;
if (!m_catalog->IsOk())
{
- wxLogError(_("Error loading message catalog file '%s'."), m_fileName.c_str());
- m_fileName.clear();
+ wxLogError(_("Error loading message catalog file '%s'."), m_catalog->GetFileName());
m_fileExistsOnDisk = false;
UpdateMenu();
UpdateTitle();
- delete m_catalog;
- m_catalog = nullptr;
+ m_catalog.reset();
+ m_pendingHumanEditedItem.reset();
NotifyCatalogChanged(nullptr);
return;
}
@@ -2375,9 +2578,8 @@ void PoeditFrame::RefreshControls(int flags)
if (!(flags & Refresh_NoCatalogChanged))
m_list->CatalogChanged(m_catalog);
- FindFrame *f = FindFrame::Get(m_list, m_catalog);
- if (f)
- f->Reset(m_catalog);
+ if (m_findWindow)
+ m_findWindow->Reset(m_catalog);
}
UpdateTitle();
@@ -2386,7 +2588,7 @@ void PoeditFrame::RefreshControls(int flags)
}
-void PoeditFrame::NotifyCatalogChanged(Catalog *cat)
+void PoeditFrame::NotifyCatalogChanged(const CatalogPtr& cat)
{
if (m_sidebar)
m_sidebar->ResetCatalog();
@@ -2397,27 +2599,35 @@ void PoeditFrame::NotifyCatalogChanged(Catalog *cat)
void PoeditFrame::UpdateStatusBar()
{
- if (m_catalog)
+ auto bar = GetStatusBar();
+ if (m_catalog && bar)
{
int all, fuzzy, untranslated, errors, unfinished;
m_catalog->GetStatistics(&all, &fuzzy, &errors, &untranslated, &unfinished);
- int percent = (all == 0) ? 0 : (100 * (all - unfinished) / all);
-
wxString text;
- text.Printf(_("Translated: %d of %d (%d %%)"), all - unfinished, all, percent);
- if (unfinished > 0)
+ if (m_catalog->HasCapability(Catalog::Cap::Translations))
{
- text += L" • ";
- text += wxString::Format(_("Remaining: %d"), unfinished);
+ int percent = (all == 0) ? 0 : (100 * (all - unfinished) / all);
+
+ text.Printf(_("Translated: %d of %d (%d %%)"), all - unfinished, all, percent);
+ if (unfinished > 0)
+ {
+ text += L" • ";
+ text += wxString::Format(_("Remaining: %d"), unfinished);
+ }
+ if (errors > 0)
+ {
+ text += L" • ";
+ text += wxString::Format(wxPLURAL("%d error", "%d errors", errors), errors);
+ }
}
- if (errors > 0)
+ else
{
- text += L" • ";
- text += wxString::Format(wxPLURAL("%d error", "%d errors", errors), errors);
+ text.Printf(wxPLURAL("%d entry", "%d entries", all), all);
}
- GetStatusBar()->SetStatusText(text);
+ bar->SetStatusText(text);
}
}
@@ -2437,13 +2647,14 @@ void PoeditFrame::UpdateTitle()
#endif
wxString title;
- if ( !m_fileName.empty() )
+ auto fileName = GetFileName();
+ if ( !fileName.empty() )
{
- wxFileName fn(m_fileName);
+ wxFileName fn(GetFileName());
wxString fpath = fn.GetFullName();
if (m_fileExistsOnDisk)
- SetRepresentedFilename(m_fileName);
+ SetRepresentedFilename(fileName);
else
fpath += _(" (unsaved)");
@@ -2482,36 +2693,35 @@ void PoeditFrame::UpdateMenu()
wxMenuBar *menubar = GetMenuBar();
const bool hasCatalog = m_catalog != nullptr;
- const bool editable = hasCatalog && !m_catalog->empty();
+ const bool nonEmpty = hasCatalog && !m_catalog->empty();
+ const bool editable = nonEmpty && m_catalog->HasCapability(Catalog::Cap::Translations);
- menubar->Enable(XRCID("menu_compile_mo"), hasCatalog);
+ menubar->Enable(XRCID("menu_compile_mo"), hasCatalog && m_catalog->GetFileType() == Catalog::Type::PO);
menubar->Enable(XRCID("menu_export"), hasCatalog);
- menubar->Enable(XRCID("menu_comment"), editable);
- menubar->Enable(XRCID("menu_copy_from_src"), editable);
- menubar->Enable(XRCID("menu_clear"), editable);
- menubar->Enable(XRCID("menu_references"), editable);
- menubar->Enable(wxID_FIND, editable);
- menubar->Enable(XRCID("menu_find_next"), editable);
- menubar->Enable(XRCID("menu_find_prev"), editable);
+ menubar->Enable(XRCID("menu_references"), nonEmpty);
+ menubar->Enable(wxID_FIND, nonEmpty);
+ menubar->Enable(XRCID("menu_find_next"), nonEmpty);
+ menubar->Enable(XRCID("menu_find_prev"), nonEmpty);
menubar->Enable(XRCID("menu_auto_translate"), editable);
menubar->Enable(XRCID("menu_purge_deleted"), editable);
menubar->Enable(XRCID("menu_validate"), editable);
menubar->Enable(XRCID("menu_catproperties"), hasCatalog);
- menubar->Enable(XRCID("menu_ids"), editable);
+ menubar->Enable(XRCID("menu_ids"), nonEmpty);
- menubar->Enable(XRCID("sort_by_order"), editable);
- menubar->Enable(XRCID("sort_by_source"), editable);
+ menubar->Enable(XRCID("sort_by_order"), nonEmpty);
+ menubar->Enable(XRCID("sort_by_source"), nonEmpty);
menubar->Enable(XRCID("sort_by_translation"), editable);
- menubar->Enable(XRCID("sort_group_by_context"), editable);
+ menubar->Enable(XRCID("sort_group_by_context"), nonEmpty);
menubar->Enable(XRCID("sort_untrans_first"), editable);
+ menubar->Enable(XRCID("sort_errors_first"), editable);
if (m_textTrans)
m_textTrans->Enable(editable);
if (m_list)
- m_list->Enable(editable);
+ m_list->Enable(nonEmpty);
menubar->Enable(XRCID("menu_purge_deleted"),
editable && m_catalog->HasDeletedItems());
@@ -2551,14 +2761,15 @@ void PoeditFrame::WriteCatalog(const wxString& catalog, TFunctor completionHandl
{
wxBusyCursor bcur;
- std::future<void> tmUpdateThread;
- if (wxConfig::Get()->ReadBool("use_tm", true))
+ concurrency_queue::future<void> tmUpdateThread;
+ if (wxConfig::Get()->ReadBool("use_tm", true) &&
+ m_catalog->HasCapability(Catalog::Cap::Translations))
{
- tmUpdateThread = std::async(std::launch::async, [=](){
+ tmUpdateThread = concurrency_queue::add([=]{
try
{
- auto tm = TranslationMemory::Get().CreateWriter();
- tm->Insert(*m_catalog);
+ auto tm = TranslationMemory::Get().GetWriter();
+ tm->Insert(m_catalog);
tm->Commit();
}
catch ( const Exception& e )
@@ -2572,24 +2783,28 @@ void PoeditFrame::WriteCatalog(const wxString& catalog, TFunctor completionHandl
});
}
- Catalog::HeaderData& dt = m_catalog->Header();
- dt.Translator = wxConfig::Get()->Read("translator_name", dt.Translator);
- dt.TranslatorEmail = wxConfig::Get()->Read("translator_email", dt.TranslatorEmail);
+ if (m_catalog->GetFileType() == Catalog::Type::PO)
+ {
+ Catalog::HeaderData& dt = m_catalog->Header();
+ dt.Translator = wxConfig::Get()->Read("translator_name", dt.Translator);
+ dt.TranslatorEmail = wxConfig::Get()->Read("translator_email", dt.TranslatorEmail);
+ }
int validation_errors = 0;
Catalog::CompilationStatus mo_compilation_status = Catalog::CompilationStatus::NotDone;
if ( !m_catalog->Save(catalog, true, validation_errors, mo_compilation_status) )
{
+ if (is_future_valid(tmUpdateThread))
+ tmUpdateThread.wait();
completionHandler(false);
return;
}
- m_fileName = catalog;
m_modified = false;
m_fileExistsOnDisk = true;
#ifndef __WXOSX__
- FileHistory().AddFileToHistory(m_fileName);
+ FileHistory().AddFileToHistory(GetFileName());
#endif
UpdateTitle();
@@ -2599,9 +2814,12 @@ void PoeditFrame::WriteCatalog(const wxString& catalog, TFunctor completionHandl
NoteAsRecentFile();
if (ManagerFrame::Get())
- ManagerFrame::Get()->NotifyFileChanged(m_fileName);
+ ManagerFrame::Get()->NotifyFileChanged(GetFileName());
+
+ if (is_future_valid(tmUpdateThread))
+ tmUpdateThread.wait();
- if ( validation_errors )
+ if (validation_errors)
{
// Note: this may show window-modal window and because we may
// be called from such window too, run this in the next
@@ -2621,7 +2839,7 @@ void PoeditFrame::WriteCatalog(const wxString& catalog, TFunctor completionHandl
void PoeditFrame::OnEditComment(wxCommandEvent& event)
{
- CatalogItem *firstItem = GetCurrentItem();
+ auto firstItem = GetCurrentItem();
wxCHECK_RET( firstItem, "no entry selected" );
(void)event;
@@ -2690,7 +2908,7 @@ void PoeditFrame::OnPurgeDeleted(wxCommandEvent& WXUNUSED(event))
void PoeditFrame::OnSuggestion(wxCommandEvent& event)
{
- CatalogItem *entry = GetCurrentItem();
+ auto entry = GetCurrentItem();
if (!entry)
return;
@@ -2722,8 +2940,10 @@ void PoeditFrame::OnAutoTranslateAll(wxCommandEvent&)
sizer->Add(new HeadingLabel(dlg.get(), _("Fill missing translations from TM")), wxSizerFlags().Expand().PXDoubleBorder(wxBOTTOM));
#endif
sizer->Add(onlyExact, wxSizerFlags().PXBorder(wxTOP));
+ sizer->AddSpacer(PX(1));
sizer->Add(onlyExactE, wxSizerFlags().Expand().Border(wxLEFT, ExplanationLabel::CHECKBOX_INDENT));
sizer->Add(noFuzzy, wxSizerFlags().PXDoubleBorder(wxTOP));
+ sizer->AddSpacer(PX(1));
sizer->Add(noFuzzyE, wxSizerFlags().Expand().Border(wxLEFT, ExplanationLabel::CHECKBOX_INDENT));
topsizer->Add(sizer, wxSizerFlags(1).Expand().PXDoubleBorderAll());
@@ -2817,54 +3037,71 @@ bool PoeditFrame::AutoTranslateCatalog(int *matchesCount, const T& range, int fl
wxBusyCursor bcur;
TranslationMemory& tm = TranslationMemory::Get();
+ auto srclang = m_catalog->GetSourceLanguage();
auto lang = m_catalog->GetLanguage();
- int matches = 0;
- wxString msg;
-
// TODO: make this window-modal
ProgressInfo progress(this, _("Translating"));
progress.UpdateMessage(_("Filling missing translations from TM..."));
- progress.SetGaugeMax((int)range.size());
- for (int i: range)
- {
- progress.UpdateGauge();
- CatalogItem& dt = (*m_catalog)[i];
- if (dt.HasPlural())
- continue; // can't handle yet (TODO?)
- if (dt.IsFuzzy() || !dt.IsTranslated())
+ // Function to apply fetched suggestions to a catalog item:
+ auto process_results = [=](CatalogItemPtr dt, const SuggestionsList& results) -> bool
{
- auto results = tm.Search(lang, dt.GetString().ToStdWstring());
if (results.empty())
- continue;
-
+ return false;
auto& res = results.front();
if ((flags & AutoTranslate_OnlyExact) && !res.IsExactMatch())
- continue;
+ return false;
- if ((flags & AutoTranslate_OnlyGoodQuality) && res.score < 0.75)
- continue;
+ if ((flags & AutoTranslate_OnlyGoodQuality) && res.score < 0.80)
+ return false;
- dt.SetTranslation(res.text);
- dt.SetAutomatic(true);
- dt.SetFuzzy(!res.IsExactMatch() || (flags & AutoTranslate_ExactNotFuzzy) == 0);
+ dt->SetTranslation(res.text);
+ dt->SetAutomatic(true);
+ dt->SetFuzzy(!res.IsExactMatch() || (flags & AutoTranslate_ExactNotFuzzy) == 0);
+ return true;
+ };
- matches++;
- msg.Printf(wxPLURAL("Translated %u string", "Translated %u strings", matches), matches);
- progress.UpdateMessage(msg);
+ std::vector<concurrency_queue::future<bool>> operations;
+ for (int i: range)
+ {
+ auto dt = (*m_catalog)[i];
+ if (dt->HasPlural())
+ continue; // can't handle yet (TODO?)
+ if (dt->IsTranslated() && !dt->IsFuzzy())
+ continue;
- if (m_modified == false)
- {
- m_modified = true;
- UpdateTitle();
- }
+ operations.push_back(concurrency_queue::add([=,&tm]{
+ auto results = tm.Search(srclang, lang, dt->GetString().ToStdWstring());
+ bool ok = process_results(dt, results);
+ return ok;
+ }));
+ }
+
+ progress.SetGaugeMax((int)operations.size());
+
+ int matches = 0;
+ for (auto& op: operations)
+ {
+ if (!progress.UpdateGauge())
+ break; // TODO: cancel pending 'operations' futures
+
+ if (op.get())
+ {
+ matches++;
+ progress.UpdateMessage(wxString::Format(wxPLURAL("Translated %u string", "Translated %u strings", matches), matches));
}
}
if (matchesCount)
*matchesCount = matches;
+ if (matches && !m_modified)
+ {
+ m_modified = true;
+ UpdateTitle();
+ }
+
RefreshControls();
return true;
@@ -2876,7 +3113,7 @@ wxMenu *PoeditFrame::GetPopupMenu(int item)
if (!m_catalog) return NULL;
if (item < 0 || item >= (int)m_list->GetItemCount()) return NULL;
- const wxArrayString& refs = (*m_catalog)[item].GetReferences();
+ const wxArrayString& refs = (*m_catalog)[item]->GetReferences();
wxMenu *menu = new wxMenu;
menu->Append(XRCID("menu_copy_from_src"),
@@ -2927,6 +3164,9 @@ wxMenu *PoeditFrame::GetPopupMenu(int item)
static inline void SetCtrlFont(wxWindow *win, const wxFont& font)
{
+ if (!win)
+ return;
+
#ifdef __WXMSW__
// Native wxMSW text control sends EN_CHANGE when the font changes,
// producing a wxEVT_TEXT event as if the user changed the value.
@@ -3032,16 +3272,19 @@ void PoeditFrame::ShowPluralFormUI(bool show)
origSizer->Show(m_textOrigPlural, show);
origSizer->Layout();
- wxSizer *textSizer = m_textTrans->GetContainingSizer();
- textSizer->Show(m_textTrans, !show);
- textSizer->Show(m_pluralNotebook, show);
- textSizer->Layout();
+ if (m_textTrans && m_pluralNotebook)
+ {
+ wxSizer *textSizer = m_textTrans->GetContainingSizer();
+ textSizer->Show(m_textTrans, !show);
+ textSizer->Show(m_pluralNotebook, show);
+ textSizer->Layout();
+ }
}
void PoeditFrame::RecreatePluralTextCtrls()
{
- if (!m_catalog || !m_list)
+ if (!m_catalog || !m_list || !m_pluralNotebook)
return;
for (size_t i = 0; i < m_textTransPlural.size(); i++)
@@ -3090,17 +3333,33 @@ void PoeditFrame::RecreatePluralTextCtrls()
desc.Printf(_("Form %i"), form);
else if (examplesCnt == 1)
{
- if (firstExample == 0)
- desc = _("Zero");
- else if (firstExample == 1)
- desc = _("One");
- else if (firstExample == 2)
- desc = _("Two");
+ if (formsCount == 2 && firstExample == 1) // English-like
+ {
+ desc = _("Singular");
+ }
else
- desc.Printf(L"n = %s", examples);
+ {
+ if (firstExample == 0)
+ desc = _("Zero");
+ else if (firstExample == 1)
+ desc = _("One");
+ else if (firstExample == 2)
+ desc = _("Two");
+ else
+ desc.Printf(L"n = %s", examples);
+ }
+ }
+ else if (formsCount == 2 && examplesCnt == 2 && firstExample == 0 && examples == "0, 1")
+ {
+ desc = _("Singular");
}
else if (formsCount == 2 && firstExample != 1 && examplesCnt == maxExamplesCnt)
- desc = _("Other");
+ {
+ if (firstExample == 0 || firstExample == 2)
+ desc = _("Plural");
+ else
+ desc = _("Other");
+ }
else
desc.Printf(L"n → %s", examples);
@@ -3149,7 +3408,7 @@ void PoeditFrame::OnListRightClick(wxMouseEvent& event)
void PoeditFrame::OnListFocus(wxFocusEvent& event)
{
- if (g_focusToText)
+ if (g_focusToText && m_textTrans != nullptr)
{
if (m_textTrans->IsShown())
m_textTrans->SetFocus();
@@ -3295,6 +3554,12 @@ void PoeditFrame::OnSortUntranslatedFirst(wxCommandEvent& event)
m_list->Sort();
}
+void PoeditFrame::OnSortErrorsFirst(wxCommandEvent& event)
+{
+ m_list->sortOrder.errorsFirst = event.IsChecked();
+ m_list->Sort();
+}
+
void PoeditFrame::OnShowHideSidebar(wxCommandEvent&)
{
@@ -3314,6 +3579,7 @@ void PoeditFrame::OnShowHideSidebar(wxCommandEvent&)
wxConfigBase::Get()->Write("/sidebar_shown", toShow);
}
+
void PoeditFrame::OnUpdateShowHideSidebar(wxUpdateUIEvent& event)
{
event.Enable(m_sidebar != nullptr);
@@ -3332,12 +3598,51 @@ void PoeditFrame::OnUpdateShowHideSidebar(wxUpdateUIEvent& event)
#endif
}
+void PoeditFrame::OnShowHideStatusbar(wxCommandEvent&)
+{
+ auto bar = GetStatusBar();
+ bool toShow = (bar == nullptr);
+
+ if (toShow)
+ {
+ CreateStatusBar(1, wxST_SIZEGRIP);
+ UpdateStatusBar();
+ }
+ else
+ {
+ SetStatusBar(nullptr);
+ bar->Destroy();
+ }
+
+ wxConfigBase::Get()->Write("/statusbar_shown", toShow);
+}
+
+void PoeditFrame::OnUpdateShowHideStatusbar(wxUpdateUIEvent& event)
+{
+ bool shown = GetStatusBar() != nullptr;
+#ifdef __WXOSX__
+ auto shortcut = "\tCtrl+/";
+ if (shown)
+ event.SetText(_("Hide Status Bar") + shortcut);
+ else
+ event.SetText(_("Show Status Bar") + shortcut);
+#else
+ event.Check(shown);
+#endif
+}
+
void PoeditFrame::OnSelectionUpdate(wxUpdateUIEvent& event)
{
event.Enable(m_catalog && m_list && m_list->HasSelection());
}
+void PoeditFrame::OnSelectionUpdateEditable(wxUpdateUIEvent& event)
+{
+ event.Enable(m_catalog && m_list && m_list->HasSelection() &&
+ m_catalog->HasCapability(Catalog::Cap::Translations));
+}
+
void PoeditFrame::OnSingleSelectionUpdate(wxUpdateUIEvent& event)
{
event.Enable(m_catalog && m_list && m_list->HasSingleSelection());
@@ -3345,17 +3650,19 @@ void PoeditFrame::OnSingleSelectionUpdate(wxUpdateUIEvent& event)
void PoeditFrame::OnHasCatalogUpdate(wxUpdateUIEvent& event)
{
- event.Enable(m_catalog);
+ event.Enable(m_catalog != nullptr);
}
void PoeditFrame::OnIsEditableUpdate(wxUpdateUIEvent& event)
{
- event.Enable(m_catalog && !m_catalog->empty());
+ event.Enable(m_catalog && !m_catalog->empty() &&
+ m_catalog->HasCapability(Catalog::Cap::Translations));
}
-void PoeditFrame::OnUpdateFromSourcesUpdate(wxUpdateUIEvent& event)
+void PoeditFrame::OnEditCommentUpdate(wxUpdateUIEvent& event)
{
- event.Enable(m_catalog && !m_catalog->Header().SearchPaths.empty());
+ event.Enable(m_catalog && m_list && m_list->HasSelection() &&
+ m_catalog->HasCapability(Catalog::Cap::UserComments));
}
#if defined(__WXMSW__) || defined(__WXGTK__)
@@ -3389,28 +3696,27 @@ void PoeditFrame::OnTextEditingCommandUpdate(wxUpdateUIEvent& event)
namespace
{
-bool Pred_AnyItem(const CatalogItem&)
+bool Pred_AnyItem(const CatalogItemPtr&)
{
return true;
}
-bool Pred_UnfinishedItem(const CatalogItem& item)
+bool Pred_UnfinishedItem(const CatalogItemPtr& item)
{
- return !item.IsTranslated() ||
- item.IsFuzzy() ||
- item.GetValidity() == CatalogItem::Val_Invalid;
+ return !item->IsTranslated() ||
+ item->IsFuzzy() ||
+ item->GetValidity() == CatalogItem::Val_Invalid;
}
} // anonymous namespace
-
-void PoeditFrame::Navigate(int step, NavigatePredicate predicate, bool wrap)
+long PoeditFrame::NavigateGetNextItem(const long start,
+ int step, PoeditFrame::NavigatePredicate predicate, bool wrap,
+ CatalogItemPtr *out_item)
{
const int count = m_list ? m_list->GetItemCount() : 0;
if ( !count )
- return;
-
- const long start = m_list->GetFirstSelected();
+ return -1;
long i = start;
@@ -3423,28 +3729,38 @@ void PoeditFrame::Navigate(int step, NavigatePredicate predicate, bool wrap)
if ( wrap )
i += count;
else
- return; // nowhere to go
+ return -1; // nowhere to go
}
else if ( i >= count )
{
if ( wrap )
i -= count;
else
- return; // nowhere to go
+ return -1; // nowhere to go
}
if ( i == start )
- return; // nowhere to go
+ return -1; // nowhere to go
- const CatalogItem& item = m_list->ListIndexToCatalogItem(i);
+ auto item = m_list->ListIndexToCatalogItem(i);
if ( predicate(item) )
{
- m_list->SelectOnly(i);
- return;
+ if (out_item)
+ *out_item = item;
+ return i;
}
}
}
+void PoeditFrame::Navigate(int step, NavigatePredicate predicate, bool wrap)
+{
+ auto i = NavigateGetNextItem(m_list->GetFirstSelected(), step, predicate, wrap, nullptr);
+ if (i == -1)
+ return;
+
+ m_list->SelectOnly(i);
+}
+
void PoeditFrame::OnPrev(wxCommandEvent&)
{
Navigate(-1, Pred_AnyItem, /*wrap=*/false);
@@ -3483,6 +3799,9 @@ void PoeditFrame::OnDoneAndNext(wxCommandEvent&)
UpdateTitle();
UpdateStatusBar();
}
+
+ // do additional processing of finished translations, such as adding it to the TM:
+ m_pendingHumanEditedItem = item;
}
// like "next unfinished", but wraps
diff --git a/src/edframe.h b/src/edframe.h
index e71b0b8..76f6c0b 100644
--- a/src/edframe.h
+++ b/src/edframe.h
@@ -55,6 +55,7 @@ class TranslationTextCtrl;
class PoeditFrame;
class AttentionBar;
class ErrorBar;
+class FindFrame;
class MainToolbar;
class Sidebar;
@@ -94,7 +95,9 @@ class PoeditFrame : public wxFrame
/// Returns active PoeditFrame, if it is unused (i.e. not showing
/// content, not having catalog loaded); NULL otherwise.
- static PoeditFrame *UnusedActiveWindow();
+ static PoeditFrame *UnusedActiveWindow() { return UnusedWindow(true); }
+ /// Ditto, but not required to be active
+ static PoeditFrame *UnusedWindow(bool active);
/// Returns true if at least one one window has unsaved changes
static bool AnyWindowIsModified();
@@ -107,13 +110,16 @@ class PoeditFrame : public wxFrame
/// Reads catalog, refreshes controls, takes ownership of catalog.
void ReadCatalog(const wxString& catalog);
/// Reads catalog, refreshes controls, takes ownership of catalog.
- void ReadCatalog(Catalog *cat);
+ void ReadCatalog(const CatalogPtr& cat);
/// Writes catalog.
void WriteCatalog(const wxString& catalog);
template<typename TFunctor>
void WriteCatalog(const wxString& catalog, TFunctor completionHandler);
+ void FixDuplicatesIfPresent();
+ void WarnAboutLanguageIssues();
+
/// Did the user modify the catalog?
bool IsModified() const { return m_modified; }
/** Updates catalog and sets m_modified flag. Updates from POT
@@ -130,6 +136,24 @@ class PoeditFrame : public wxFrame
void EditCatalogProperties();
void EditCatalogPropertiesAndUpdateFromSources();
+ /// Returns currently selected (edited) item
+ CatalogItemPtr GetCurrentItem() const;
+
+ /// Flags for UpdateToTextCtrl()
+ enum UpdateToTextCtrlFlags
+ {
+ /// Change to textctrl should be undoable by the user
+ UndoableEdit = 0x01,
+ /// Change is due to item change, discard undo buffer
+ ItemChanged = 0x02
+ };
+
+ /// Puts text from catalog & listctrl to textctrls.
+ void UpdateToTextCtrl(int flags);
+
+ /// Puts text from textctrls to catalog & listctrl.
+ void UpdateFromTextCtrl();
+
private:
/** Ctor.
\param catalog filename of catalog to open. If empty, starts
@@ -143,6 +167,7 @@ class PoeditFrame : public wxFrame
Invalid, // no content whatsoever
Welcome,
PO,
+ POT,
Empty_PO
};
Content m_contentType;
@@ -153,7 +178,10 @@ class PoeditFrame : public wxFrame
/// Ensures creation of specified content view, destroying the
/// current content if necessary
void EnsureContentView(Content type);
- wxWindow* CreateContentViewPO();
+ void EnsureAppropriateContentView();
+ wxWindow* CreateContentViewPO(Content type);
+ void CreateContentViewEditControls(wxWindow *p, wxBoxSizer *panelSizer);
+ void CreateContentViewTemplateControls(wxWindow *p, wxBoxSizer *panelSizer);
wxWindow* CreateContentViewWelcome();
wxWindow* CreateContentViewEmptyPO();
void DestroyContentView();
@@ -165,14 +193,12 @@ class PoeditFrame : public wxFrame
/// Refreshes controls.
enum { Refresh_NoCatalogChanged = 1 };
void RefreshControls(int flags = 0);
- void NotifyCatalogChanged(Catalog *cat);
+ void NotifyCatalogChanged(const CatalogPtr& cat);
/// Sets controls custom fonts.
void SetCustomFonts();
void SetAccelerators();
- CatalogItem *GetCurrentItem() const;
-
// if there's modified catalog, ask user to save it; return true
// if it's save to discard m_catalog and load new data
template<typename TFunctor>
@@ -183,11 +209,6 @@ class PoeditFrame : public wxFrame
// implements opening of files, without asking user
void DoOpenFile(const wxString& filename);
- /// Puts text from textctrls to catalog & listctrl.
- void UpdateFromTextCtrl();
- /// Puts text from catalog & listctrl to textctrls.
- void UpdateToTextCtrl(int flags);
-
/// Updates statistics in statusbar.
void UpdateStatusBar();
/// Updates frame title.
@@ -205,7 +226,8 @@ class PoeditFrame : public wxFrame
void InitSpellchecker();
// navigation to another item in the list
- typedef bool (*NavigatePredicate)(const CatalogItem& item);
+ typedef bool (*NavigatePredicate)(const CatalogItemPtr& item);
+ long NavigateGetNextItem(const long start, int step, NavigatePredicate predicate, bool wrap, CatalogItemPtr *out_item);
void Navigate(int step, NavigatePredicate predicate, bool wrap);
void OnDoneAndNext(wxCommandEvent&);
void OnPrev(wxCommandEvent&);
@@ -220,8 +242,10 @@ public: // for PoeditApp
void OnNew(wxCommandEvent& event);
void NewFromScratch();
void NewFromPOT();
+ void NewFromPOT(const wxString& pot_file, Language language = Language());
void OnOpen(wxCommandEvent& event);
+ void OnOpenFromCrowdin(wxCommandEvent& event);
#ifndef __WXOSX__
void OnOpenHist(wxCommandEvent& event);
void OnCloseCmd(wxCommandEvent& event);
@@ -229,10 +253,20 @@ public: // for PoeditApp
private:
void OnSave(wxCommandEvent& event);
void OnSaveAs(wxCommandEvent& event);
- wxString GetSaveAsFilename(Catalog *cat, const wxString& current);
+ template<typename F>
+ void GetSaveAsFilenameThenDo(const CatalogPtr& cat, F then);
void DoSaveAs(const wxString& filename);
void OnProperties(wxCommandEvent& event);
- void OnUpdate(wxCommandEvent& event);
+
+ void OnUpdateFromSources(wxCommandEvent& event);
+ void OnUpdateFromSourcesUpdate(wxUpdateUIEvent& event);
+ void OnUpdateFromPOT(wxCommandEvent& event);
+ void OnUpdateFromPOTUpdate(wxUpdateUIEvent& event);
+ void OnUpdateFromCrowdin(wxCommandEvent& event);
+ void OnUpdateFromCrowdinUpdate(wxUpdateUIEvent& event);
+ void OnUpdateSmart(wxCommandEvent& event);
+ void OnUpdateSmartUpdate(wxUpdateUIEvent& event);
+
void OnValidate(wxCommandEvent& event);
void OnListSel(wxListEvent& event);
void OnListRightClick(wxMouseEvent& event);
@@ -242,6 +276,7 @@ private:
void OnCloseWindow(wxCloseEvent& event);
void OnReference(wxCommandEvent& event);
void OnReferencesMenu(wxCommandEvent& event);
+ void OnReferencesMenuUpdate(wxUpdateUIEvent& event);
void ShowReference(int num);
void OnRightClick(wxCommandEvent& event);
void OnFuzzyFlag(wxCommandEvent& event);
@@ -249,6 +284,7 @@ private:
void OnCopyFromSource(wxCommandEvent& event);
void OnClearTranslation(wxCommandEvent& event);
void OnFind(wxCommandEvent& event);
+ void OnFindAndReplace(wxCommandEvent& event);
void OnFindNext(wxCommandEvent& event);
void OnFindPrev(wxCommandEvent& event);
void OnEditComment(wxCommandEvent& event);
@@ -257,15 +293,19 @@ private:
void OnSortByTranslation(wxCommandEvent&);
void OnSortGroupByContext(wxCommandEvent&);
void OnSortUntranslatedFirst(wxCommandEvent&);
+ void OnSortErrorsFirst(wxCommandEvent&);
void OnShowHideSidebar(wxCommandEvent& event);
void OnUpdateShowHideSidebar(wxUpdateUIEvent& event);
+ void OnShowHideStatusbar(wxCommandEvent& event);
+ void OnUpdateShowHideStatusbar(wxUpdateUIEvent& event);
void OnSelectionUpdate(wxUpdateUIEvent& event);
+ void OnSelectionUpdateEditable(wxUpdateUIEvent& event);
void OnSingleSelectionUpdate(wxUpdateUIEvent& event);
void OnHasCatalogUpdate(wxUpdateUIEvent& event);
void OnIsEditableUpdate(wxUpdateUIEvent& event);
- void OnUpdateFromSourcesUpdate(wxUpdateUIEvent& event);
+ void OnEditCommentUpdate(wxUpdateUIEvent& event);
#if defined(__WXMSW__) || defined(__WXGTK__)
void OnTextEditingCommand(wxCommandEvent& event);
@@ -312,15 +352,21 @@ private:
#endif
void NoteAsRecentFile();
+ void OnNewTranslationEntered(const CatalogItemPtr& item);
+
DECLARE_EVENT_TABLE()
private:
- Catalog *m_catalog;
- wxString m_fileName;
+ CatalogPtr m_catalog;
+
+ wxString GetFileName() const
+ { return m_catalog ? m_catalog->GetFileName() : wxString(); }
bool m_fileExistsOnDisk;
std::unique_ptr<MainToolbar> m_toolbar;
+ CatalogItemPtr m_pendingHumanEditedItem;
+
wxPanel *m_bottomPanel;
wxSplitterWindow *m_splitter;
wxSplitterWindow *m_sidebarSplitter;
@@ -341,6 +387,7 @@ private:
AttentionBar *m_attentionBar;
Sidebar *m_sidebar;
+ wxWeakRef<FindFrame> m_findWindow;
bool m_modified;
bool m_hasObsoleteItems;
diff --git a/src/edlistctrl.cpp b/src/edlistctrl.cpp
index 777c63a..f8ad921 100644
--- a/src/edlistctrl.cpp
+++ b/src/edlistctrl.cpp
@@ -147,7 +147,6 @@ PoeditListCtrl::PoeditListCtrl(wxWindow *parent,
const wxString &name)
: wxListView(parent, id, pos, size, style | wxLC_VIRTUAL, validator, name)
{
- m_catalog = NULL;
m_displayIDs = dispIDs;
m_isRTL = false;
@@ -273,10 +272,17 @@ void PoeditListCtrl::SetDisplayLines(bool dl)
void PoeditListCtrl::CreateColumns()
{
DeleteAllColumns();
- InsertColumn(0, _("Source text"));
- InsertColumn(1, _("Translation"));
+
+ int curr = 0;
+ m_colSource = (int)InsertColumn(curr++, _("Source text"));
+ if (m_catalog && m_catalog->HasCapability(Catalog::Cap::Translations))
+ m_colTrans = (int)InsertColumn(curr++, _("Translation"));
+ else
+ m_colTrans = -1;
if (m_displayIDs)
- InsertColumn(2, _("ID"), wxLIST_FORMAT_RIGHT);
+ m_colId = (int)InsertColumn(curr++, _("ID"), wxLIST_FORMAT_RIGHT);
+ else
+ m_colId = -1;
#ifdef __WXMSW__
if (m_appIsRTL)
@@ -284,7 +290,7 @@ void PoeditListCtrl::CreateColumns()
// another wx quirk: if we truly need left alignment, we must lie under RTL locales
wxListItem colInfoOrig;
colInfoOrig.SetAlign(wxLIST_FORMAT_RIGHT);
- SetColumn(0, colInfoOrig);
+ SetColumn(m_colSource, colInfoOrig);
}
#endif
@@ -298,21 +304,30 @@ void PoeditListCtrl::SizeColumns()
int w = GetSize().x
- wxSystemSettings::GetMetric(wxSYS_VSCROLL_X) - 10
- LINE_COL_SIZE;
- SetColumnWidth(0, w / 2);
- SetColumnWidth(1, w - w / 2);
- if (m_displayIDs)
- SetColumnWidth(2, LINE_COL_SIZE);
- m_colWidth = (w/2) / GetCharWidth();
+ if (m_colTrans != -1)
+ {
+ SetColumnWidth(m_colSource, w / 2);
+ SetColumnWidth(m_colTrans, w - w / 2);
+ m_colWidth = (w/2) / GetCharWidth();
+ }
+ else
+ {
+ SetColumnWidth(m_colSource, w);
+ m_colWidth = w / GetCharWidth();
+ }
+
+ if (m_displayIDs)
+ SetColumnWidth(m_colId, LINE_COL_SIZE);
}
-void PoeditListCtrl::CatalogChanged(Catalog* catalog)
+void PoeditListCtrl::CatalogChanged(const CatalogPtr& catalog)
{
wxWindowUpdateLocker no_updates(this);
const bool isSameCatalog = (catalog == m_catalog);
- const bool sizeChanged = (catalog && catalog->GetCount() != GetItemCount());
+ const bool sizeChanged = (catalog && (int)catalog->GetCount() != GetItemCount());
SelectionPreserver preserve(isSameCatalog ? this : nullptr);
@@ -320,12 +335,13 @@ void PoeditListCtrl::CatalogChanged(Catalog* catalog)
// listctrl when its scrolled to the bottom:
if (sizeChanged)
{
- m_catalog = nullptr;
+ m_catalog.reset();
SetItemCount(0);
}
// now read the new catalog:
m_catalog = catalog;
+ CreateColumns();
ReadCatalog(/*resetSizeAndSelection=*/sizeChanged);
}
@@ -339,12 +355,13 @@ void PoeditListCtrl::ReadCatalog(bool resetSizeAndSelection)
m_mapListToCatalog.clear();
m_mapCatalogToList.clear();
- if (m_catalog == NULL)
+ if (!m_catalog)
{
Refresh();
return;
}
+ auto srclang = m_catalog->GetSourceLanguage();
auto lang = m_catalog->GetLanguage();
auto isRTL = lang.IsRTL();
#ifdef __WXMSW__
@@ -354,12 +371,22 @@ void PoeditListCtrl::ReadCatalog(bool resetSizeAndSelection)
#endif
m_isRTL = isRTL;
- wxString langname = lang.IsValid() ? lang.DisplayName() : _("unknown language");
wxListItem colInfo;
colInfo.SetMask(wxLIST_MASK_TEXT);
- colInfo.SetText(wxString::Format(_(L"Translation — %s"), langname));
- colInfo.SetAlign(isRTL ? wxLIST_FORMAT_RIGHT : wxLIST_FORMAT_LEFT);
- SetColumn(1, colInfo);
+
+ if (srclang.IsValid())
+ colInfo.SetText(wxString::Format(_(L"Source text — %s"), srclang.DisplayName()));
+ else
+ colInfo.SetText(_("Source text"));
+ SetColumn(m_colSource, colInfo);
+
+ if (m_colTrans != -1)
+ {
+ wxString langname = lang.IsValid() ? lang.DisplayName() : _("unknown language");
+ colInfo.SetText(wxString::Format(_(L"Translation — %s"), langname));
+ colInfo.SetAlign(isRTL ? wxLIST_FORMAT_RIGHT : wxLIST_FORMAT_LEFT);
+ SetColumn(m_colTrans, colInfo);
+ }
// sort catalog items, create indexes mapping
CreateSortMap();
@@ -428,41 +455,41 @@ void PoeditListCtrl::CreateSortMap()
wxString PoeditListCtrl::OnGetItemText(long item, long column) const
{
- if (m_catalog == NULL)
+ if (!m_catalog)
return wxEmptyString;
- const CatalogItem& d = ListIndexToCatalogItem((int)item);
+ auto d = ListIndexToCatalogItem((int)item);
- switch (column)
+ if (column == m_colSource)
{
- case 0:
- {
- wxString orig;
- if ( d.HasContext() )
- orig.Printf("%s [ %s ]",
- d.GetString().c_str(), d.GetContext().c_str());
- else
- orig = d.GetString();
-
- // Add RTL Unicode mark to render bidi texts correctly
- if (m_appIsRTL)
- return L"\u202a" + orig.substr(0,GetMaxColChars());
- else
- return orig.substr(0,GetMaxColChars());
- }
- case 1:
- {
- // Add RTL Unicode mark to render bidi texts correctly
- if (m_isRTL && !m_appIsRTL)
- return L"\u202b" + d.GetTranslation();
- else
- return d.GetTranslation();
- }
- case 2:
- return wxString() << d.GetId();
-
- default:
- return wxEmptyString;
+ wxString orig;
+ if ( d->HasContext() )
+ orig.Printf("%s [ %s ]",
+ d->GetString().c_str(), d->GetContext().c_str());
+ else
+ orig = d->GetString();
+
+ // Add RTL Unicode mark to render bidi texts correctly
+ if (m_appIsRTL)
+ return L"\u202a" + orig.substr(0,GetMaxColChars());
+ else
+ return orig.substr(0,GetMaxColChars());
+ }
+ else if (column == m_colTrans)
+ {
+ // Add RTL Unicode mark to render bidi texts correctly
+ if (m_isRTL && !m_appIsRTL)
+ return L"\u202b" + d->GetTranslation();
+ else
+ return d->GetTranslation();
+ }
+ else if (column == m_colId)
+ {
+ return wxString() << d->GetId();
+ }
+ else
+ {
+ return wxEmptyString;
}
}
@@ -470,16 +497,16 @@ wxListItemAttr *PoeditListCtrl::OnGetItemAttr(long item) const
{
long idx = item % 2;
- if (m_catalog == NULL)
+ if (!m_catalog)
return (wxListItemAttr*)&m_attrNormal[idx];
- const CatalogItem& d = ListIndexToCatalogItem((int)item);
+ auto d = ListIndexToCatalogItem((int)item);
- if (d.GetValidity() == CatalogItem::Val_Invalid)
+ if (d->GetValidity() == CatalogItem::Val_Invalid)
return (wxListItemAttr*)&m_attrInvalid[idx];
- else if (!d.IsTranslated())
+ else if (!d->IsTranslated())
return (wxListItemAttr*)&m_attrUntranslated[idx];
- else if (d.IsFuzzy())
+ else if (d->IsFuzzy())
return (wxListItemAttr*)&m_attrFuzzy[idx];
else
return (wxListItemAttr*)&m_attrNormal[idx];
@@ -487,7 +514,7 @@ wxListItemAttr *PoeditListCtrl::OnGetItemAttr(long item) const
wxListItemAttr *PoeditListCtrl::OnGetItemColumnAttr(long item, long column) const
{
- if (column == 2)
+ if (column == m_colId)
{
return (wxListItemAttr*)&m_attrId;
}
@@ -499,16 +526,16 @@ wxListItemAttr *PoeditListCtrl::OnGetItemColumnAttr(long item, long column) cons
int PoeditListCtrl::OnGetItemImage(long item) const
{
- if (m_catalog == NULL)
+ if (!m_catalog)
return IMG_NOTHING;
- const CatalogItem& d = ListIndexToCatalogItem((int)item);
+ auto d = ListIndexToCatalogItem((int)item);
- if (d.GetBookmark() != NO_BOOKMARK)
+ if (d->GetBookmark() != NO_BOOKMARK)
return IMG_BOOKMARK;
- else if (d.HasComment() || d.HasExtractedComments())
+ else if (d->HasComment() || d->HasExtractedComments())
return IMG_COMMENT;
- else if (d.IsAutomatic())
+ else if (d->IsAutomatic())
return IMG_AUTOMATIC;
else
return IMG_NOTHING;
@@ -520,4 +547,4 @@ void PoeditListCtrl::OnSize(wxSizeEvent& event)
SizeColumns();
event.Skip();
-}
\ No newline at end of file
+}
diff --git a/src/edlistctrl.h b/src/edlistctrl.h
index 3c70a9c..6e852f7 100644
--- a/src/edlistctrl.h
+++ b/src/edlistctrl.h
@@ -60,7 +60,7 @@ class PoeditListCtrl : public wxListView
void SetDisplayLines(bool dl);
- void CatalogChanged(Catalog* catalog);
+ void CatalogChanged(const CatalogPtr& catalog);
virtual wxString OnGetItemText(long item, long column) const;
virtual wxListItemAttr *OnGetItemAttr(long item) const;
@@ -86,13 +86,15 @@ class PoeditListCtrl : public wxListView
}
/// Returns item from the catalog based on list index
- const CatalogItem& ListIndexToCatalogItem(long index) const
+ CatalogItemPtr ListIndexToCatalogItem(long index) const
{
- return (*m_catalog)[ListIndexToCatalog(index)];
+ auto idx = ListIndexToCatalog(index);
+ return idx != -1 ? (*m_catalog)[idx] : nullptr;
}
- CatalogItem& ListIndexToCatalogItem(long index)
+ CatalogItemPtr ListIndexToCatalogItem(long index)
{
- return (*m_catalog)[ListIndexToCatalog(index)];
+ auto idx = ListIndexToCatalog(index);
+ return idx != -1 ? (*m_catalog)[idx] : nullptr;
}
/// Returns index of selected catalog item
@@ -128,7 +130,7 @@ class PoeditListCtrl : public wxListView
{
for (auto i = GetFirstSelected(); i != -1; i = GetNextSelected(i))
{
- func(ListIndexToCatalogItem(i));
+ func(*ListIndexToCatalogItem(i));
RefreshItem(i);
}
}
@@ -185,10 +187,11 @@ class PoeditListCtrl : public wxListView
void OnSize(wxSizeEvent& event);
bool m_displayIDs;
+ int m_colSource, m_colTrans, m_colId;
unsigned m_colWidth;
bool m_isRTL, m_appIsRTL;
- Catalog* m_catalog;
+ CatalogPtr m_catalog;
std::vector<int> m_mapListToCatalog;
std::vector<int> m_mapCatalogToList;
diff --git a/src/export_html.cpp b/src/export_html.cpp
index 8546c77..ea630b2 100644
--- a/src/export_html.cpp
+++ b/src/export_html.cpp
@@ -1,4 +1,4 @@
-/*
+/*
* This file is part of Poedit (http://poedit.net)
*
* Copyright (C) 2003 Christophe Hermier
@@ -24,242 +24,355 @@
*
*/
-#include <wx/intl.h>
-#include <wx/colour.h>
-#include <wx/utils.h>
-#include <wx/textfile.h>
-#include <wx/log.h>
-
#include "catalog.h"
#include "utility.h"
+#include "str_helpers.h"
+
+#include <wx/intl.h>
namespace
{
-// colours used in the list:
-// (FIXME: this is duplicated with code in edframe.cpp, get rid of this
-// duplication, preferably by making the colours customizable and stored
-// in wxConfig)
-
-#define g_darkColourFactor 0.95
-#define DARKEN_COLOUR(r,g,b) (wxColour(int((r)*g_darkColourFactor),\
- int((g)*g_darkColourFactor),\
- int((b)*g_darkColourFactor)))
-#define LIST_COLOURS(r,g,b) { wxColour(r,g,b), DARKEN_COLOUR(r,g,b) }
-wxColour
- g_ItemColourNormal[2] = LIST_COLOURS(0xFF,0xFF,0xFF), // white
- g_ItemColourUntranslated[2] = LIST_COLOURS(0xA5,0xEA,0xEF), // blue
- g_ItemColourFuzzy[2] = LIST_COLOURS(0xF4,0xF1,0xC1); // yellow
-
-wxString FormatTransString(const wxString& s)
+inline std::string fmt_trans(const wxString& s)
{
wxString out = EscapeMarkup(s);
- out.Replace("\\n", "\\n<br>");
- return out;
+ out.Replace("\n", "\n<br>");
+ return str::to_utf8(out);
}
-} // anonymous namespace
-
-bool Catalog::ExportToHTML(const wxString& filename)
+template<typename T1, typename T2>
+inline void TableRow(std::ostream& f, const T1& col1, const T2& col2)
{
- size_t i;
- wxTextFile f;
+ f << "<tr>"
+ << "<td>" << str::to_utf8(col1) << "</td>"
+ << "<td>" << str::to_utf8(col2) << "</td>"
+ << "</tr>\n";
+}
- TempOutputFileFor tempfile_obj(filename);
- const wxString tempfile = tempfile_obj.FileName();
+extern const char *CSS_STYLE;
- if (!f.Create(tempfile))
- {
- return false;
- }
+} // anonymous namespace
- // TODO use some kind of HTML template system to allow different styles
-
- wxString line;
-
- // HTML HEADER
- f.AddLine(_T("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">"));
- f.AddLine("<html>");
-
- f.AddLine("<head>");
- line.Printf("<title> %s - %s - Poedit Export </title>",
- EscapeMarkup(m_header.Project).c_str(),
- EscapeMarkup(m_header.Lang.Code()).c_str());
- f.AddLine(line);
- f.AddLine(_T("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">" ) );
- f.AddLine("</head>");
- f.AddLine("<body bgcolor='#FFFFFF'>");
-
- line.Printf("<h1> %s : %s</h1>",
- EscapeMarkup(m_header.Project).c_str(),
- EscapeMarkup(m_header.Lang.Code()).c_str());
- f.AddLine(line);
-
-
- // po file header information :
-
- // String here are duplicates from the ones in setting.xrc
- // TODO find a way if possible to synchronize them
-
- f.AddLine("<table align=center border=1 cellspacing=2 cellpadding=4>");
-
- line.Printf("<tr><th colspan=2>%s</th></tr>",
- _("Project info"));
- f.AddLine(line);
- wxString line_format = "<tr><td>%s</td><td>%s</td></tr>";
- line.Printf(line_format,
- _("Project name and version:"),
- EscapeMarkup(m_header.Project).c_str());
- f.AddLine(line);
- line.Printf(line_format, _("Language:"),
- EscapeMarkup(m_header.Lang.Code()).c_str());
- f.AddLine(line);
- line.Printf(line_format, _("Team:"),
- EscapeMarkup(m_header.Team).c_str());
- f.AddLine(line);
- line.Printf(_T("<tr><td>%s</td><td><a href=\"mailto:%s\">%s</a></td></tr>"),
- _("Team's email address:"),
- EscapeMarkup(m_header.TeamEmail).c_str(),
- EscapeMarkup(m_header.TeamEmail).c_str());
- f.AddLine(line);
- line.Printf(line_format, _("Charset:"),
- EscapeMarkup(m_header.Charset).c_str());
- f.AddLine(line);
-
- f.AddLine( "</table>" );
- // statistics
-
- int all = 0;
- int fuzzy = 0;
- int untranslated = 0;
- int errors = 0;
- int unfinished = 0;
- GetStatistics(&all, &fuzzy, &errors, &untranslated, &unfinished);
-
- int percent = (all == 0 ) ? 0 : (100 * (all - unfinished) / all);
-
- line.Printf(_("Translated: %d of %d (%d %%)"), all - unfinished, all, percent);
- if (unfinished > 0)
+void Catalog::ExportToHTML(std::ostream& f)
+{
+ const bool translated = HasCapability(Catalog::Cap::Translations);
+
+ f << "<!DOCTYPE html>\n"
+ "<html>\n"
+ "<head>\n"
+ " <title>" << str::to_utf8(m_header.Project) << "</title>\n"
+ " <meta http-equiv='Content-Type' content='text/html; charset=utf-8'>\n"
+ " <style>\n" << CSS_STYLE << "\n"
+ " </style>\n"
+ "</head>\n"
+ "<body>\n"
+ "<div class='container'>\n";
+
+ // Metadata section:
+
+ f << "<table class='metadata'>\n";
+ if (!m_header.Project.empty())
+ TableRow(f, _("Project:"), m_header.Project);
+ if (translated && m_header.Lang.IsValid())
+ TableRow(f, _("Language:"), m_header.Lang.DisplayName());
+ f << "</table>\n";
+
+
+ // Statistics:
+ if (translated)
{
- line += L" • ";
- line += wxString::Format(_("Remaining: %d"), unfinished);
+ int all = 0;
+ int fuzzy = 0;
+ int untranslated = 0;
+ int unfinished = 0;
+ GetStatistics(&all, &fuzzy, nullptr, &untranslated, &unfinished);
+ int percent = (all == 0 ) ? 0 : (100 * (all - unfinished) / all);
+
+ f << "<div class='stats'>\n"
+ << " <div class='graph'>\n";
+ if (all > unfinished)
+ f << " <div class='percent-done' style='width: " << 100.0 * (all - unfinished) / all << "%'> </div>\n";
+ if (fuzzy > 0)
+ f << " <div class='percent-fuzzy' style='width: " << 100.0 * fuzzy / all << "%'> </div>\n";
+ if (untranslated > 0)
+ f << " <div class='percent-untrans' style='width: " << 100.0 * untranslated / all << "%'> </div>\n";
+ f << " </div>\n"
+ << " <div class='legend'>";
+ f << str::to_utf8(wxString::Format(_("Translated: %d of %d (%d %%)"), all - unfinished, all, percent));
+ if (unfinished > 0)
+ f << str::to_utf8(L" • ") << str::to_utf8(wxString::Format(_("Remaining: %d"), unfinished));
+ f << " </div>\n"
+ << "</div>\n";
}
- if (errors > 0)
+ else
{
- line += L" • ";
- line += wxString::Format(wxPLURAL("%d error", "%d errors", errors), errors);
+ int all = (int)items().size();
+ f << "<div class='stats'>\n"
+ << " <div class='graph'>\n"
+ << " <div class='percent-untrans' style='width: 100%'> </div>\n"
+ << " </div>\n"
+ << " <div class='legend'>"
+ << str::to_utf8(wxString::Format(wxPLURAL("%d entry", "%d entries", all), all))
+ << " </div>\n"
+ << "</div>\n";
}
- f.AddLine(line);
-
- // data printed in a table :
- f.AddLine("<table border=1 cellspacing=2 cellpadding=4>");
-
- f.AddLine("<tr>");
- f.AddLine("<th>");
- f.AddLine(_("Source"));
- f.AddLine("</th>");
- f.AddLine("<th>");
- f.AddLine(_("Translation"));
- f.AddLine("</th>");
- f.AddLine("<th>");
- f.AddLine(_("Notes"));
- f.AddLine("</th>");
- f.AddLine("</tr>");
+ // Translations:
- for (i = 0; i < GetCount(); i++)
+ std::string lang_src, lang_tra;
+ if (m_sourceLanguage.IsValid())
+ lang_src = " lang='" + m_sourceLanguage.RFC3066() + "'";
+ if (m_header.Lang.IsValid())
{
- const CatalogItem& data = m_items[i];
-
- wxColour bgcolor = g_ItemColourNormal[i % 2];
+ lang_tra = " lang='" + m_header.Lang.RFC3066() + "'";
+ if (m_header.Lang.IsRTL())
+ lang_tra += " dir='rtl'";
+ }
- wxString source_string = FormatTransString(data.GetString());
- if (data.HasContext())
- source_string += FormatTransString(wxString::Format(" [ %s ]", data.GetContext()));
- if (data.HasPlural())
- source_string += "<br>~~~<br>\n" + FormatTransString(data.GetPluralString());
+ auto thead_src = m_sourceLanguage.IsValid()
+ ? (wxString::Format(_(L"Source text — %s"), m_sourceLanguage.DisplayName()))
+ : _("Source text");
+ auto thead_tra = wxString::Format(_(L"Translation — %s"),
+ m_header.Lang.IsValid() ? m_header.Lang.DisplayName() : _("unknown language"));
+
+ f << "<table class='translations'>\n"
+ " <thead>\n"
+ " <tr>\n"
+ " <th>" << str::to_utf8(thead_src) << "</th>\n";
+ if (translated)
+ {
+ f << " <th>" << str::to_utf8(thead_tra) << "</th>\n";
+ }
+ f << " </tr>\n"
+ " </thead>\n"
+ " <tbody>\n";
- wxString translation = FormatTransString(data.GetTranslation());
- if (data.HasPlural())
+ for (auto& item: items())
+ {
+ bool hasComments = item->HasComment() || item->HasExtractedComments();
+
+ std::string klass("i");
+ if (!item->IsTranslated())
+ klass += " untrans";
+ if (item->IsFuzzy())
+ klass += " fuzzy";
+ if (hasComments)
+ klass += " with-comments";
+ f << "<tr class='" << klass << "'>\n";
+
+ // Source string:
+ f << "<td class='src' " << lang_src << ">\n";
+ if (item->HasPlural())
{
- for (unsigned int t = 1; t < data.GetNumberOfTranslations(); t++)
- translation += "<br>~~~<br>\n" + FormatTransString(data.GetTranslation(t));
+ f << "<ol class='plurals'>\n"
+ << " <li>" << fmt_trans(item->GetString()) << "</li>\n"
+ << " <li>" << fmt_trans(item->GetPluralString()) << "</li>\n"
+ << "</ol>\n";
}
-
- if (translation.empty())
+ else
{
- translation = " ";
- bgcolor = g_ItemColourUntranslated[i % 2];
+ f << fmt_trans(item->GetString());
}
+ if (item->HasContext())
+ f << " <span class='msgctxt'>[" << fmt_trans(item->GetContext()) << "]</span>";
+ f << "</td>\n";
- wxString notes;
-
- if (data.IsAutomatic())
+ // Translation:
+ if (translated)
{
- notes += EscapeMarkup(_("Automatic translation"));
- notes += "<BR>";
- }
- if (data.IsFuzzy())
- {
- bgcolor = g_ItemColourFuzzy[i % 2];
- notes += EscapeMarkup(_("Fuzzy translation"));
- notes += "<BR>";
+ f << "<td class='tra' " << lang_tra << ">\n";
+ if (item->HasPlural())
+ {
+ if (item->IsTranslated())
+ {
+ f << "<ol class='plurals'>\n";
+ for (auto t: item->GetTranslations())
+ f << " <li>" << fmt_trans(t) << "</li>\n";
+ f << "</ol>\n";
+ }
+ }
+ else
+ {
+ f << fmt_trans(item->GetTranslation());
+ }
+ f << "</td>\n";
}
- if (data.HasExtractedComments())
- {
- notes += "<font color='#888'>";
- notes += _("Notes for translators:");
- notes += "</font>";
- notes += "<br>";
- for (auto n: data.GetExtractedComments())
- notes += EscapeMarkup(n) + "<br>";
- }
- if (data.HasComment())
+ // Notes, if present:
+ if (hasComments)
{
- notes += "<font color='#888'>";
- notes += _("Comment:");
- notes += "</font>";
- notes += "<br>";
- notes += EscapeMarkup(data.GetComment());
- notes += "<br>";
+ f << "</tr>\n"
+ << "<tr class='comments'>\n"
+ << " <td colspan='" << (translated ? 2 : 1) << "'><div>";
+ if (item->HasExtractedComments())
+ {
+ f << "<p>\n";
+ for (auto& n: item->GetExtractedComments())
+ f << fmt_trans(n) << "<br>\n";
+ f << "</p>\n";
+ }
+ if (item->HasComment())
+ {
+ f << "<p>\n"
+ << fmt_trans(item->GetComment())
+ << "</p>\n";
+ }
+ f << "</div></td>\n";
}
- if (notes.empty())
- notes = " ";
-
- wxString tr;
- tr.Printf("<tr bgcolor='#%0X%0X%0X'>",
- bgcolor.Red(), bgcolor.Green(), bgcolor.Blue());
- f.AddLine(tr);
-
- f.AddLine("<td>");
- f.AddLine(source_string);
- f.AddLine("</td>");
- f.AddLine("<td>");
- f.AddLine(translation);
- f.AddLine("</td>");
- f.AddLine("<td>");
- f.AddLine(_T("<font size=\"-1\">"));
- f.AddLine(notes);
- f.AddLine("</font>");
- f.AddLine("</td>");
- f.AddLine("</tr>");
+ f << "</tr>\n";
}
- f.AddLine("</table>");
- f.AddLine("</body>");
- f.AddLine("</html>");
+ f << "</tbody>\n"
+ "</table>\n"
+ "</div>\n"
+ "</body>\n"
+ "</html>\n";
+}
- bool written = f.Write(wxTextFileType_None, wxConvUTF8);
- f.Close();
+namespace
+{
- if ( written && !wxRenameFile(tempfile, filename, /*overwrite=*/true) )
- {
- wxLogError(_("Couldn't save file %s."), filename.c_str());
- written = false;
- }
+const char *CSS_STYLE = R"(
+
+/*
+Based on Minimal CSS (minimalcss.com) under the MIT license.
+*/
+
+/* Reset */
+* { margin: 0; padding: 0; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
+
+/* Layout */
+body { background-color: #fff; color: #333; font: 14px/20px "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif; }
+
+header { width: 100%; margin: 0 auto; position: relative; padding: 20px 0; margin-bottom: 20px; }
+
+nav ul { margin: 0; }
+nav ul li { display: inline; margin-right: 20px; font-size: 16px; line-height: 28px; color: #333; }
+nav ul li a { color: #333; }
+
+.container { position: relative; max-width: 90%; margin: 0 auto; }
+
+footer { border-top:1px solid #ccc; font-size:11px; line-height:26px; color:#999; }
+footer a { color:#999999; }
+footer a:hover { color:#105CB6; }
+footer ul li { display:inline; list-style:none; padding-left:20px; }
+
+/* Typography */
+a { color: #105CB6; text-decoration: none; }
+a:hover, a:focus { color: #105CB6; text-decoration: underline; }
+a:active { color: #105CB6; }
+
+h1 { font-size: 24px; line-height: 20px; margin: 10px 0; }
+h2 { font-size: 20px; line-height: 20px; margin: 10px 0; }
+h3 { font-size: 16px; line-height: 20px; margin: 10px 0; }
+h4 { font-size: 14px; line-height: 20px; margin: 10px 0; }
+h5 { font-size: 12px; line-height: 20px; margin: 10px 0; }
+h5 { font-size: 10px; line-height: 20px; margin: 10px 0; }
+h1,h2,h3,h4,h5,h6 { color: #333; }
+
+p { margin-bottom: 10px; }
+
+.float-left { float: left; }
+.float-right { float: right; }
+img.float-left { float: left; margin: 0 20px 20px 0; }
+img.float-right { float: right; margin: 0 0 20px 20px; }
+img.center { margin: 0 auto; display: block; }
+
+.text-left { text-align: left; }
+.text-center { text-align: center; }
+.text-right { text-align: right; }
+.text-justify { text-align: justify; }
+
+/* Misc */
+hr { background-color: #ccc; border: 0px; color: #ccc; height: 1px; margin: 8px 0 20px 0; }
+pre, code { background:#E0ECF6; display:block; margin-bottom: 20px; padding:10px; }
+
+blockquote { margin: 10px 10px 20px; padding: 9px; background-color: #f8f8f8; color: #666; border-left: 5px solid #ddd; font: 14px/20px Georgia, Times, serif; quotes: "\201C" "\201D"; }
+blockquote p { margin: 0; }
+blockquote:before { content: open-quote; font-weight: bold; }
+blockquote:after { content: close-quote; font-weight: bold; }
+
+/* List */
+ul { list-style-position:inside; }
+ol { list-style-position:inside; }
+
+/* Table */
+table {
+ border-collapse: collapse;
+ border-spacing: 0;
+}
+th { font-weight: bold; }
+tfoot { font-style: italic; }
+
+/* Metadata part */
+
+.metadata {
+ margin-top: 15px;
+ margin-bottom: 10px;
+ font-size: 90%;
+}
+table.metadata td {
+ padding-right: 20px;
+}
+
+.stats {
+ padding-top: 5px;
+ padding-bottom: 20px;
+}
+.graph {
+ width: 100%;
+}
+.graph div { float: left; }
+.graph div:first-child { border-radius: 3px 0 0 3px; }
+.graph div:last-child { border-radius: 0 3px 3px 0; }
+.percent-done { background-color: #BFEE3F; height: 10px; }
+.percent-fuzzy { background-color: #FEEE43; height: 10px; }
+.percent-untrans { background-color: #F1F5F5; height: 10px; }
+.legend {
+ font-size: smaller;
+ color: #aaa;
+ padding-top: 12px;
+ text-align: center;
+}
- return written;
+/* Translations */
+table.translations {
+ width: 100%;
+ table-layout: fixed;
+}
+table.translations th, table.translations td {
+ padding: 5px 10px;
+ vertical-align: top;
+ border-bottom: 1px solid #E1E1E1;
}
+table.translations th {
+ text-align: left;
+}
+table.translations th:first-child, table.translations td:first-child { padding-left: 0; }
+table.translations th:last-child, table.translations td:last-child { padding-right: 0; }
+
+.with-comments td {
+ border-bottom: none !important;
+}
+tr.comments div {
+ float: right;
+ max-width: 75%;
+ font-size: smaller;
+ color: #aaa;
+}
+tr.comments div p:last-child { margin-bottom: 0; }
+
+.fuzzy .tra {
+ color: #a9861b;
+}
+
+.msgctxt {
+ font-size: smaller;
+ color: #6d8e13;
+}
+
+)";
+
+} // anonymous namespace
diff --git a/src/fileviewer.cpp b/src/fileviewer.cpp
index d4700cd..4b6b3cd 100644
--- a/src/fileviewer.cpp
+++ b/src/fileviewer.cpp
@@ -23,6 +23,8 @@
*
*/
+#include "fileviewer.h"
+
#include <wx/filename.h>
#include <wx/log.h>
#include <wx/button.h>
@@ -38,24 +40,43 @@
#include <wx/utils.h>
#include <wx/stc/stc.h>
-#include "fileviewer.h"
+#include "customcontrols.h"
#include "hidpi.h"
#include "utility.h"
-FileViewer::FileViewer(wxWindow *parent,
- const wxString& basePath,
- const wxArrayString& references,
- int startAt)
- : wxFrame(parent, -1, _("Source file")),
- m_references(references)
+namespace
{
- m_basePath = basePath;
+#ifdef __WXOSX__
+const int FRAME_STYLE = wxDEFAULT_FRAME_STYLE | wxFRAME_TOOL_WINDOW;
+#else
+const int FRAME_STYLE = wxDEFAULT_FRAME_STYLE;
+#endif
+
+} // anonymous namespace
+
+FileViewer *FileViewer::ms_instance = nullptr;
+
+FileViewer *FileViewer::GetAndActivate()
+{
+ if (!ms_instance)
+ ms_instance = new FileViewer(nullptr);
+ ms_instance->Show();
+ ms_instance->Raise();
+ return ms_instance;
+}
+
+FileViewer::FileViewer(wxWindow*)
+ : wxFrame(nullptr, wxID_ANY, _("Source file"), wxDefaultPosition, wxDefaultSize, FRAME_STYLE)
+{
SetName("fileviewer");
wxPanel *panel = new wxPanel(this, -1);
wxSizer *sizer = new wxBoxSizer(wxVERTICAL);
panel->SetSizer(sizer);
+#ifdef __WXOSX__
+ panel->SetWindowVariant(wxWINDOW_VARIANT_SMALL);
+#endif
wxSizer *barsizer = new wxBoxSizer(wxHORIZONTAL);
sizer->Add(barsizer, wxSizerFlags().Expand().PXBorderAll());
@@ -64,15 +85,11 @@ FileViewer::FileViewer(wxWindow *parent,
_("Source file occurrence:")),
wxSizerFlags().Center().PXBorder(wxRIGHT));
- wxChoice *choice = new wxChoice(panel, wxID_ANY);
- barsizer->Add(choice, wxSizerFlags(1).Center());
+ m_file = new wxChoice(panel, wxID_ANY);
+ barsizer->Add(m_file, wxSizerFlags(1).Center());
- for (size_t i = 0; i < references.Count(); i++)
- choice->Append(references[i]);
- choice->SetSelection(startAt);
-
- wxButton *edit = new wxButton(panel, wxID_ANY, MSW_OR_OTHER(_("Open in editor"), _("Open in Editor")));
- barsizer->Add(edit, wxSizerFlags().Center().Border(wxLEFT, PX(10)));
+ m_openInEditor = new wxButton(panel, wxID_ANY, MSW_OR_OTHER(_("Open in editor"), _("Open in Editor")));
+ barsizer->Add(m_openInEditor, wxSizerFlags().Center().Border(wxLEFT, PX(10)));
m_text = new wxStyledTextCtrl(panel, wxID_ANY,
wxDefaultPosition, wxDefaultSize,
@@ -80,17 +97,26 @@ FileViewer::FileViewer(wxWindow *parent,
SetupTextCtrl();
sizer->Add(m_text, 1, wxEXPAND);
+ m_error = new wxStaticText(panel, wxID_ANY, "");
+ m_error->SetForegroundColour(ExplanationLabel::GetTextColor());
+ m_error->SetFont(m_error->GetFont().Larger().Larger());
+ sizer->Add(m_error, wxSizerFlags(1).Center().Border(wxTOP|wxBOTTOM, PX(80)));
+
RestoreWindowState(this, wxSize(PX(600), PX(400)));
wxSizer *topsizer = new wxBoxSizer(wxVERTICAL);
topsizer->Add(panel, wxSizerFlags(1).Expand());
SetSizer(topsizer);
- Layout();
- choice->Bind(wxEVT_CHOICE, &FileViewer::OnChoice, this);
- edit->Bind(wxEVT_BUTTON, &FileViewer::OnEditFile, this);
+ // avoid flicker with these initial settings:
+ m_file->Disable();
+ sizer->Hide(m_error);
+ sizer->Hide(m_text);
+
+ Layout();
- ShowReference(m_references[startAt]);
+ m_file->Bind(wxEVT_CHOICE, &FileViewer::OnChoice, this);
+ m_openInEditor->Bind(wxEVT_BUTTON, &FileViewer::OnEditFile, this);
#ifdef __WXOSX__
wxAcceleratorEntry entries[] = {
@@ -106,6 +132,7 @@ FileViewer::FileViewer(wxWindow *parent,
FileViewer::~FileViewer()
{
+ ms_instance = nullptr;
SaveWindowState(this);
}
@@ -144,7 +171,12 @@ void FileViewer::SetupTextCtrl()
// style used:
wxString fontspec = wxString::Format("face:%s,size:%d",
font.GetFaceName().c_str(),
- font.GetPointSize());
+ #ifdef __WXOSX__
+ font.GetPointSize() - 1
+ #else
+ font.GetPointSize()
+ #endif
+ );
const wxString DEFAULT = fontspec + ",fore:black,back:white";
const wxString STRING = fontspec + ",bold,fore:#882d21";
const wxString COMMENT = fontspec + ",fore:#487e18";
@@ -285,7 +317,28 @@ wxFileName FileViewer::GetFilename(wxString ref) const
}
-void FileViewer::ShowReference(const wxString& ref)
+void FileViewer::ShowReferences(CatalogPtr catalog, CatalogItemPtr item, int defaultReference)
+{
+ m_basePath = catalog->GetSourcesBasePath();
+ m_references = item->GetReferences();
+
+ m_file->Clear();
+ m_file->Enable(m_references.size() > 1);
+
+ if (m_references.empty())
+ {
+ ShowError(_("No references for the selected item."));
+ }
+ else
+ {
+ for (auto& r: m_references)
+ m_file->Append(r);
+ m_file->SetSelection(defaultReference);
+ SelectReference(m_references[defaultReference]);
+ }
+}
+
+void FileViewer::SelectReference(const wxString& ref)
{
const wxFileName filename = GetFilename(ref);
wxFFile file;
@@ -295,11 +348,16 @@ void FileViewer::ShowReference(const wxString& ref)
!file.Open(filename.GetFullPath()) ||
!file.ReadAll(&data, wxConvAuto()) )
{
- wxLogError(_("Error opening file %s!"), filename.GetFullPath().c_str());
+ ShowError(wxString::Format(_("Error opening file %s!"), filename.GetFullPath()));
+ m_openInEditor->Disable();
return;
}
- m_current = ref;
+ m_openInEditor->Enable();
+
+ m_error->GetContainingSizer()->Hide(m_error);
+ m_text->GetContainingSizer()->Show(m_text);
+ Layout();
// support GNOME's xml2po's extension to references in the form of
// filename:line(xml_node):
@@ -320,16 +378,23 @@ void FileViewer::ShowReference(const wxString& ref)
int lineHeight = m_text->TextHeight((int)linenum);
int linesInWnd = m_text->GetSize().y / lineHeight;
m_text->ScrollToLine(wxMax(0, (int)linenum - linesInWnd/2));
+}
+void FileViewer::ShowError(const wxString& msg)
+{
+ m_error->SetLabel(msg);
+ m_error->GetContainingSizer()->Show(m_error);
+ m_text->GetContainingSizer()->Hide(m_text);
+ Layout();
}
void FileViewer::OnChoice(wxCommandEvent &event)
{
- ShowReference(m_references[event.GetSelection()]);
+ SelectReference(m_references[event.GetSelection()]);
}
void FileViewer::OnEditFile(wxCommandEvent&)
{
- wxLaunchDefaultApplication(GetFilename(m_current).GetFullPath());
+ wxLaunchDefaultApplication(GetFilename(m_file->GetStringSelection()).GetFullPath());
}
diff --git a/src/fileviewer.h b/src/fileviewer.h
index 130f8ff..03dc683 100644
--- a/src/fileviewer.h
+++ b/src/fileviewer.h
@@ -26,11 +26,15 @@
#ifndef _FILEVIEWER_H_
#define _FILEVIEWER_H_
+#include "catalog.h"
+
#include <wx/frame.h>
-class WXDLLIMPEXP_FWD_CORE wxListCtrl;
-class WXDLLIMPEXP_FWD_CORE wxStyledTextCtrl;
+class WXDLLIMPEXP_FWD_CORE wxButton;
+class WXDLLIMPEXP_FWD_CORE wxChoice;
+class WXDLLIMPEXP_FWD_CORE wxStaticText;
class WXDLLIMPEXP_FWD_CORE wxFileName;
+class WXDLLIMPEXP_FWD_STC wxStyledTextCtrl;
/** This class implements frame that shows part of file
@@ -38,38 +42,38 @@ class WXDLLIMPEXP_FWD_CORE wxFileName;
*/
class FileViewer : public wxFrame
{
-public:
- /** Ctor.
- \param basePath base directory that all entries in
- \i references are relative to
- \param references array of strings in format \i filename:linenum
- that lists all occurences of given string
- \param openAt number of the \i references entry to show
- by default
- */
- FileViewer(wxWindow *parent, const wxString& basePath,
- const wxArrayString& references, int openAt);
+protected:
+ FileViewer(wxWindow *parent);
~FileViewer();
- /// Shows given reference, i.e. loads the file
- void ShowReference(const wxString& ref);
+public:
+ static FileViewer *GetAndActivate();
+ static FileViewer *GetIfExists() { return ms_instance; }
- bool FileOk() { return !m_current.empty(); }
+ /// Shows given reference, i.e. loads the file
+ void ShowReferences(CatalogPtr catalog, CatalogItemPtr item, int defaultReference = 0);
private:
void SetupTextCtrl();
int GetLexer(const wxString& extension);
wxFileName GetFilename(wxString ref) const;
+ void SelectReference(const wxString& ref);
+ void ShowError(const wxString& msg);
+
private:
wxString m_basePath;
wxArrayString m_references;
- wxString m_current;
+ wxChoice *m_file;
+ wxButton *m_openInEditor;
wxStyledTextCtrl *m_text;
+ wxStaticText *m_error;
void OnChoice(wxCommandEvent &event);
void OnEditFile(wxCommandEvent &event);
+
+ static FileViewer *ms_instance;
};
#endif // _FILEVIEWER_H_
diff --git a/src/findframe.cpp b/src/findframe.cpp
index ff629c5..0462098 100644
--- a/src/findframe.cpp
+++ b/src/findframe.cpp
@@ -23,182 +23,306 @@
*
*/
-#include <wx/xrc/xmlres.h>
#include <wx/accel.h>
+#include <wx/choice.h>
+#include <wx/collpane.h>
#include <wx/config.h>
#include <wx/button.h>
+#include <wx/sizer.h>
+#include <wx/stattext.h>
#include <wx/textctrl.h>
#include <wx/checkbox.h>
+#include <wx/notebook.h>
+
+#ifdef __WXOSX__
+#include <AppKit/AppKit.h>
+#endif
+
+#ifdef __WXGTK__
+#include <gtk/gtk.h>
+#include <gdk/gdkkeysyms.h>
+#endif
#include "catalog.h"
-#include "findframe.h"
+#include "text_control.h"
+#include "edframe.h"
#include "edlistctrl.h"
+#include "findframe.h"
+#include "hidpi.h"
#include "utility.h"
+namespace
+{
+
// The word separators used when doing a "Whole words only" search
// FIXME-ICU: use ICU to separate words
-static const wxString SEPARATORS = wxT(" \t\r\n\\/:;.,?!\"'_|-+=(){}[]<>&#@");
+const wxString SEPARATORS = wxT(" \t\r\n\\/:;.,?!\"'_|-+=(){}[]<>&#@");
-wxString FindFrame::ms_text;
-FindFrame *FindFrame::ms_singleton = nullptr;
+enum
+{
+ Mode_Find,
+ Mode_Replace
+};
+
+const int FRAME_STYLE = (wxDEFAULT_FRAME_STYLE | wxFRAME_TOOL_WINDOW | wxTAB_TRAVERSAL | wxFRAME_FLOAT_ON_PARENT)
+ & ~(wxRESIZE_BORDER | wxMAXIMIZE_BOX);
-BEGIN_EVENT_TABLE(FindFrame, wxDialog)
- EVT_BUTTON(XRCID("find_next"), FindFrame::OnNext)
- EVT_BUTTON(XRCID("find_prev"), FindFrame::OnPrev)
- EVT_BUTTON(wxID_CLOSE, FindFrame::OnClose)
- EVT_TEXT(XRCID("string_to_find"), FindFrame::OnTextChange)
- EVT_CHECKBOX(-1, FindFrame::OnCheckbox)
-END_EVENT_TABLE()
+} // anonymous namespace
-FindFrame::FindFrame(wxWindow *parent,
+
+wxString FindFrame::ms_text;
+
+FindFrame::FindFrame(PoeditFrame *owner,
PoeditListCtrl *list,
- Catalog *c,
- wxTextCtrl *textCtrlOrig,
- wxTextCtrl *textCtrlTrans)
- : m_listCtrl(list),
+ const CatalogPtr& c,
+ CustomizedTextCtrl *textCtrlOrig,
+ CustomizedTextCtrl *textCtrlTrans,
+ wxNotebook *pluralNotebook)
+ : wxFrame(owner, wxID_ANY, _("Find"), wxDefaultPosition, wxDefaultSize, FRAME_STYLE),
+ m_owner(owner),
+ m_listCtrl(list),
m_catalog(c),
m_position(-1),
m_textCtrlOrig(textCtrlOrig),
- m_textCtrlTrans(textCtrlTrans)
+ m_textCtrlTrans(textCtrlTrans),
+ m_pluralNotebook(pluralNotebook)
{
- wxXmlResource::Get()->LoadDialog(this, parent, "find_frame");
+ auto panel = new wxPanel(this, wxID_ANY);
+ wxBoxSizer *panelsizer = new wxBoxSizer(wxVERTICAL);
+
+ wxBoxSizer *sizer = new wxBoxSizer(wxVERTICAL);
+ panelsizer->Add(sizer, wxSizerFlags(1).Expand().PXDoubleBorderAll());
+
+ auto entrySizer = new wxFlexGridSizer(2, wxSize(MSW_OR_OTHER(PX(5), PX(10)), PX(5)));
+ m_mode = new wxChoice(panel, wxID_ANY);
+#ifdef __WXOSX__
+ [(NSPopUpButton*)m_mode->GetHandle() setBordered:NO];
+#endif
+ m_mode->Append(_("Find"));
+ m_mode->Append(_("Replace"));
+ m_mode->SetSelection(Mode_Find);
+
+ m_searchField = new wxTextCtrl(panel, wxID_ANY, "", wxDefaultPosition, wxSize(PX(400), -1));
+ m_replaceField = new wxTextCtrl(panel, wxID_ANY);
+
+ entrySizer->Add(m_mode);
+ entrySizer->Add(m_searchField, wxSizerFlags(1).Expand());
+ entrySizer->AddSpacer(1);
+ entrySizer->Add(m_replaceField, wxSizerFlags(1).Expand());
+ sizer->Add(entrySizer, wxSizerFlags().Expand().PXBorderAll());
+
+#ifdef __WXMSW__
+ #define collPane panel
+#else
+ // TRANSLATORS: Expander in Find window for additional options (case sensitive etc.)
+ auto coll = new wxCollapsiblePane(panel, wxID_ANY, _("Options"));
+ auto collPane = coll->GetPane();
+#endif
- m_textField = XRCCTRL(*this, "string_to_find", wxTextCtrl);
+ m_ignoreCase = new wxCheckBox(collPane, wxID_ANY, _("Ignore case"));
+ m_wrapAround = new wxCheckBox(collPane, wxID_ANY, _("Wrap around"));
+ m_wholeWords = new wxCheckBox(collPane, wxID_ANY, _("Whole words only"));
+ m_findInOrig = new wxCheckBox(collPane, wxID_ANY, _("Find in source texts"));
+ m_findInTrans = new wxCheckBox(collPane, wxID_ANY, _("Find in translations"));
+ m_findInComments = new wxCheckBox(collPane, wxID_ANY, _("Find in comments"));
+
+ wxBoxSizer *options = new wxBoxSizer(wxHORIZONTAL);
+ wxBoxSizer *optionsL = new wxBoxSizer(wxVERTICAL);
+ wxBoxSizer *optionsR = new wxBoxSizer(wxVERTICAL);
+ options->Add(optionsL, wxSizerFlags(1).Expand().PXBorder(wxRIGHT));
+ options->Add(optionsR, wxSizerFlags(1).Expand());
+ optionsL->Add(m_ignoreCase, wxSizerFlags().Expand());
+ optionsL->Add(m_wrapAround, wxSizerFlags().Expand().Border(wxTOP, PX(2)));
+ optionsL->Add(m_wholeWords, wxSizerFlags().Expand().Border(wxTOP, PX(2)));
+ optionsR->Add(m_findInOrig, wxSizerFlags().Expand().Border(wxTOP, PX(2)));
+ optionsR->Add(m_findInTrans, wxSizerFlags().Expand().Border(wxTOP, PX(2)));
+ optionsR->Add(m_findInComments, wxSizerFlags().Expand().Border(wxTOP, PX(2)));
+
+#ifdef __WXMSW__
+ sizer->Add(options, wxSizerFlags().Expand().PXBorderAll());
+#else
+ collPane->SetSizer(options);
+ sizer->Add(coll, wxSizerFlags().Expand().PXBorderAll());
+#endif
- SetEscapeId(wxID_CLOSE);
+ m_btnClose = new wxButton(panel, wxID_CLOSE, _("Close"));
+ m_btnReplaceAll = new wxButton(panel, wxID_ANY, MSW_OR_OTHER(_("Replace all"), _("Replace All")));
+ m_btnReplace = new wxButton(panel, wxID_ANY, _("Replace"));
+ m_btnPrev = new wxButton(panel, wxID_ANY, _("< &Previous"));
+ m_btnNext = new wxButton(panel, wxID_ANY, _("&Next >"));
+ m_btnNext->SetDefault();
+
+ wxBoxSizer *buttons = new wxBoxSizer(wxHORIZONTAL);
+ sizer->Add(buttons, wxSizerFlags().Expand().PXBorderAll());
+ buttons->Add(m_btnClose, wxSizerFlags().PXBorder(wxRIGHT));
+ buttons->AddStretchSpacer();
+ buttons->Add(m_btnReplaceAll, wxSizerFlags().PXBorder(wxRIGHT));
+ buttons->Add(m_btnReplace, wxSizerFlags().PXBorder(wxRIGHT));
+ buttons->Add(m_btnPrev, wxSizerFlags().PXBorder(wxRIGHT));
+ buttons->Add(m_btnNext, wxSizerFlags());
+
+ panel->SetSizer(panelsizer);
+ auto topsizer = new wxBoxSizer(wxHORIZONTAL);
+ topsizer->Add(panel, wxSizerFlags(1).Expand());
+ SetSizerAndFit(topsizer);
RestoreWindowState(this, wxDefaultSize, WinState_Pos);
- m_btnNext = XRCCTRL(*this, "find_next", wxButton);
- m_btnPrev = XRCCTRL(*this, "find_prev", wxButton);
-
if ( !ms_text.empty() )
{
- m_textField->SetValue(ms_text);
- m_textField->SelectAll();
+ m_searchField->SetValue(ms_text);
+ m_searchField->SelectAll();
}
Reset(c);
- XRCCTRL(*this, "in_orig", wxCheckBox)->SetValue(
- wxConfig::Get()->ReadBool("find_in_orig", true));
- XRCCTRL(*this, "in_trans", wxCheckBox)->SetValue(
- wxConfig::Get()->ReadBool("find_in_trans", true));
- XRCCTRL(*this, "in_comments", wxCheckBox)->SetValue(
- wxConfig::Get()->ReadBool("find_in_comments", true));
- XRCCTRL(*this, "in_auto_comments", wxCheckBox)->SetValue(
- wxConfig::Get()->ReadBool("find_in_auto_comments", true));
- XRCCTRL(*this, "case_sensitive", wxCheckBox)->SetValue(
- wxConfig::Get()->ReadBool("find_case_sensitive", false));
- XRCCTRL(*this, "from_first", wxCheckBox)->SetValue(
- wxConfig::Get()->ReadBool("find_from_first", true));
- XRCCTRL(*this, "whole_words", wxCheckBox)->SetValue(
- wxConfig::Get()->ReadBool("whole_words", false));
+ m_findInOrig->SetValue(wxConfig::Get()->ReadBool("find_in_orig", true));
+ m_findInTrans->SetValue(wxConfig::Get()->ReadBool("find_in_trans", true));
+ m_findInComments->SetValue(wxConfig::Get()->ReadBool("find_in_comments", true));
+ m_ignoreCase->SetValue(!wxConfig::Get()->ReadBool("find_case_sensitive", false));
+ m_wrapAround->SetValue(wxConfig::Get()->ReadBool("find_wrap_around", true));
+ m_wholeWords->SetValue(wxConfig::Get()->ReadBool("whole_words", false));
-#ifdef __WXOSX__
wxAcceleratorEntry entries[] = {
- { wxACCEL_CMD, 'W', wxID_CLOSE }
+#ifndef __WXGTK__
+ { wxACCEL_SHIFT, WXK_RETURN, m_btnPrev->GetId() },
+#endif
+#ifdef __WXOSX__
+ { wxACCEL_CMD, 'W', wxID_CLOSE },
+#endif
+ { wxACCEL_NORMAL, WXK_ESCAPE, wxID_CLOSE }
};
wxAcceleratorTable accel(WXSIZEOF(entries), entries);
SetAcceleratorTable(accel);
-#endif
- ms_singleton = this;
-}
+ m_searchField->Bind(wxEVT_TEXT, &FindFrame::OnTextChange, this);
+ m_btnPrev->Bind(wxEVT_BUTTON, &FindFrame::OnPrev, this);
+ m_btnNext->Bind(wxEVT_BUTTON, &FindFrame::OnNext, this);
+ Bind(wxEVT_BUTTON, &FindFrame::OnClose, this, wxID_CLOSE);
+ Bind(wxEVT_MENU, &FindFrame::OnClose, this, wxID_CLOSE);
+ Bind(wxEVT_CHECKBOX, &FindFrame::OnCheckbox, this);
+
+ // Set Shift+Return accelerator natively so that the button is animated.
+ // (Can't be done on Windows where wxAcceleratorEntry above is used.)
+#if defined(__WXGTK__)
+ GtkAccelGroup *accelGroup = gtk_accel_group_new();
+ gtk_window_add_accel_group(GTK_WINDOW(GetHandle()), accelGroup);
+ gtk_widget_add_accelerator(m_btnPrev->GetHandle(), "activate", accelGroup, GDK_KEY_Return, GDK_SHIFT_MASK, GTK_ACCEL_VISIBLE);
+#elif defined(__WXOSX__)
+ // wx's code interferes with normal processing of Shift-Return and
+ // setKeyEquivalent: @"\r" with setKeyEquivalentModifierMask: NSShiftKeyMask
+ // wouldn't work. Emulate it in custom code instead, by handling the
+ // event originating from the button and from the accelerator table above
+ // differently. More than a bit of a hack, but it works.
+ NSButton *osxPrev = (NSButton*)m_btnPrev->GetHandle();
+ Bind(wxEVT_MENU, [=](wxCommandEvent&){ [osxPrev performClick:nil]; }, m_btnPrev->GetId());
+#endif
+ OnModeChanged();
+ m_mode->Bind(wxEVT_CHOICE, [=](wxCommandEvent&){ OnModeChanged(); });
-FindFrame::~FindFrame()
-{
- ms_singleton = nullptr;
+ m_btnReplace->Bind(wxEVT_BUTTON, &FindFrame::OnReplace, this);
+ m_btnReplaceAll->Bind(wxEVT_BUTTON, &FindFrame::OnReplaceAll, this);
+ m_btnReplace->Bind(wxEVT_UPDATE_UI, [=](wxUpdateUIEvent& e){ e.Enable((bool)m_lastItem); });
+ m_btnReplaceAll->Bind(wxEVT_UPDATE_UI, [=](wxUpdateUIEvent& e){ e.Enable(!ms_text.empty()); });
- SaveWindowState(this, WinState_Pos);
+ // SetHint() needs to be called *after* binding any event handlers, for
+ // compatibility with its generic implementation:
+ m_searchField->SetHint(_("String to find"));
+ m_replaceField->SetHint(_("Replacement string"));
- wxConfig::Get()->Write("find_in_orig",
- XRCCTRL(*this, "in_orig", wxCheckBox)->GetValue());
- wxConfig::Get()->Write("find_in_trans",
- XRCCTRL(*this, "in_trans", wxCheckBox)->GetValue());
- wxConfig::Get()->Write("find_in_comments",
- XRCCTRL(*this, "in_comments", wxCheckBox)->GetValue());
- wxConfig::Get()->Write("find_in_auto_comments",
- XRCCTRL(*this, "in_auto_comments", wxCheckBox)->GetValue());
- wxConfig::Get()->Write("find_case_sensitive",
- XRCCTRL(*this, "case_sensitive", wxCheckBox)->GetValue());
- wxConfig::Get()->Write("find_from_first",
- XRCCTRL(*this, "from_first", wxCheckBox)->GetValue());
- wxConfig::Get()->Write("whole_words",
- XRCCTRL(*this, "whole_words", wxCheckBox)->GetValue());
-}
-
-FindFrame *FindFrame::Get(PoeditListCtrl *list, Catalog *forCatalog)
-{
- if (!ms_singleton)
- return nullptr;
- if (ms_singleton->m_catalog != forCatalog)
- {
- ms_singleton->m_listCtrl = list;
- ms_singleton->Reset(forCatalog);
- }
- return ms_singleton;
+ // Create hidden, will be shown after setting it up
+ Show(false);
}
-void FindFrame::NotifyParentDestroyed(PoeditListCtrl *list, Catalog *forCatalog)
+FindFrame::~FindFrame()
{
- if (!ms_singleton)
- return;
- if (ms_singleton->m_catalog == forCatalog || ms_singleton->m_listCtrl == list)
- {
- ms_singleton->Destroy();
- ms_singleton = nullptr;
- }
+ SaveWindowState(this, WinState_Pos);
}
-
-void FindFrame::Reset(Catalog *c)
+void FindFrame::Reset(const CatalogPtr& c)
{
if (!m_listCtrl)
return;
- bool fromFirst = XRCCTRL(*this, "from_first", wxCheckBox)->GetValue();
-
m_catalog = c;
m_position = -1;
- if (!fromFirst)
- m_position = (int)m_listCtrl->GetNextItem(-1,
- wxLIST_NEXT_ALL,
- wxLIST_STATE_SELECTED);
m_btnPrev->Enable(!ms_text.empty());
m_btnNext->Enable(!ms_text.empty());
}
-void FindFrame::FocusSearchField()
+void FindFrame::ShowForFind()
{
- m_textField->SetFocus();
- m_textField->SelectAll();
+ DoShowFor(Mode_Find);
+}
+
+void FindFrame::ShowForReplace()
+{
+ DoShowFor(Mode_Replace);
+}
+
+void FindFrame::DoShowFor(int mode)
+{
+ m_mode->SetSelection(mode);
+ OnModeChanged();
+
+ Show(true);
+ Raise();
+
+ m_searchField->SetFocus();
+ m_searchField->SelectAll();
}
void FindFrame::OnClose(wxCommandEvent&)
{
Destroy();
- ms_singleton = nullptr;
}
-void FindFrame::OnTextChange(wxCommandEvent&)
+void FindFrame::OnModeChanged()
{
- ms_text = m_textField->GetValue();
+ bool isReplace = m_mode->GetSelection() == Mode_Replace;
+
+ SetTitle(isReplace ? _("Replace") : _("Find"));
+
+ m_btnReplace->Show(isReplace);
+ m_btnReplaceAll->Show(isReplace);
+ m_replaceField->GetContainingSizer()->Show(m_replaceField, isReplace);
+
+ m_findInOrig->Enable(!isReplace);
+ m_findInTrans->Enable(!isReplace);
+ m_findInComments->Enable(!isReplace);
+ m_ignoreCase->Enable(!isReplace);
+
+ Layout();
+ GetSizer()->SetSizeHints(this);
+}
+
+
+void FindFrame::OnTextChange(wxCommandEvent& e)
+{
+ ms_text = m_searchField->GetValue();
+ m_lastItem.reset();
Reset(m_catalog);
+
+ e.Skip();
}
void FindFrame::OnCheckbox(wxCommandEvent&)
{
- Reset(m_catalog);
+ wxConfig::Get()->Write("find_in_orig", m_findInOrig->GetValue());
+ wxConfig::Get()->Write("find_in_trans", m_findInTrans->GetValue());
+ wxConfig::Get()->Write("find_in_comments", m_findInComments->GetValue());
+ wxConfig::Get()->Write("find_case_sensitive", !m_ignoreCase->GetValue());
+ wxConfig::Get()->Write("find_wrap_around", m_wrapAround->GetValue());
+ wxConfig::Get()->Write("whole_words", m_wholeWords->GetValue());
}
@@ -230,152 +354,203 @@ void FindFrame::FindNext()
}
-enum FoundState
+namespace
{
- Found_Not = 0,
- Found_InOrig,
- Found_InTrans,
- Found_InComments,
- Found_InExtractedComments
-};
-bool TextInString(const wxString& str, const wxString& text, bool wholeWords)
+template<typename S, typename F>
+bool FindTextInStringAndDo(S& str, const wxString& text, bool wholeWords, F&& handler)
{
- int index = str.Find(text);
- if (index >= 0)
+ auto textLen = text.Length();
+
+ bool found = false;
+ size_t start = 0;
+ while (start != wxString::npos)
{
+ auto index = str.find(text, start);
+ if (index == wxString::npos)
+ break;
+
if (wholeWords)
{
- size_t textLen = text.Length();
-
bool result = true;
if (index >0)
result = result && SEPARATORS.Contains(str[index-1]);
if (index+textLen < str.Length())
result = result && SEPARATORS.Contains(str[index+textLen]);
- return result;
- }
- else
- {
- return true;
+ if (!result)
+ {
+ start = index + textLen;
+ continue;
+ }
}
+
+ found = true;
+ start = handler(str, index, textLen);
}
- else
+
+ return found;
+}
+
+bool IsTextInString(wxString str, const wxString& text,
+ bool ignoreCase, bool wholeWords, bool ignoreAmp, bool ignoreUnderscore)
+{
+ if (ignoreCase)
+ str.MakeLower();
+ if (ignoreAmp)
+ str.Replace("&", "");
+ if (ignoreUnderscore)
+ str.Replace("_", "");
+
+ return FindTextInStringAndDo(str, text, wholeWords,
+ [=](const wxString&,size_t,size_t){ return wxString::npos;/*just 1 hit*/ });
+}
+
+size_t IsTextInStrings(const wxArrayString& strs, const wxString& text,
+ bool ignoreCase, bool wholeWords, bool ignoreAmp, bool ignoreUnderscore)
+{
+ // loop through all strings and search for the substring in them
+ for (size_t i = 0; i < strs.GetCount(); i++)
{
- return false;
+ if (IsTextInString(strs[i], text, ignoreCase, wholeWords, ignoreAmp, ignoreUnderscore))
+ return i;
}
+
+ return -1;
}
+bool ReplaceTextInString(wxString& str, const wxString& text, bool wholeWords, const wxString& replacement)
+{
+ return FindTextInStringAndDo(str, text, wholeWords,
+ [=](wxString& s, size_t pos, size_t len){
+ s.replace(pos, len, replacement);
+ return pos + replacement.length();
+ });
+}
+
+enum FoundState
+{
+ Found_Not = 0,
+ Found_InOrig,
+ Found_InTrans,
+ Found_InComments,
+ Found_InExtractedComments
+};
+
+} // anonymous space
+
bool FindFrame::DoFind(int dir)
{
+ wxASSERT( dir == +1 || dir == -1 );
+
if (!m_listCtrl)
return false;
+ int mode = m_mode->GetSelection();
int cnt = m_listCtrl->GetItemCount();
- bool inStr = XRCCTRL(*this, "in_orig", wxCheckBox)->GetValue();
- bool inTrans = XRCCTRL(*this, "in_trans", wxCheckBox)->GetValue();
- bool inComments = XRCCTRL(*this, "in_comments", wxCheckBox)->GetValue();
- bool inExtractedComments = XRCCTRL(*this, "in_auto_comments", wxCheckBox)->GetValue();
- bool caseSens = XRCCTRL(*this, "case_sensitive", wxCheckBox)->GetValue();
- bool wholeWords = XRCCTRL(*this, "whole_words", wxCheckBox)->GetValue();
+ bool inTrans = m_findInTrans->GetValue() && (m_catalog->HasCapability(Catalog::Cap::Translations));
+ bool inSource = (mode == Mode_Find) && m_findInOrig->GetValue();
+ bool inComments = (mode == Mode_Find) && m_findInComments->GetValue();
+ bool ignoreCase = (mode == Mode_Find) && m_ignoreCase->GetValue();
+ bool wholeWords = m_wholeWords->GetValue();
+ bool wrapAround = m_wrapAround->GetValue();
int posOrig = m_position;
+ size_t trans;
FoundState found = Found_Not;
+ CatalogItemPtr lastItem;
+
wxString textc;
wxString text(ms_text);
- if (!caseSens)
+ if (ignoreCase)
text.MakeLower();
// Only ignore mnemonics when searching if the text being searched for
// doesn't contain them. That's a reasonable heuristics: most of the time,
// ignoring them is the right thing to do and provides better results. But
// sometimes, people want to search for them.
- const bool ignoreMnemonicsAmp = (text.Find(_T('&')) == wxNOT_FOUND);
- const bool ignoreMnemonicsUnderscore = (text.Find(_T('_')) == wxNOT_FOUND);
+ const bool ignoreAmp = (mode == Mode_Find) && (text.Find(_T('&')) == wxNOT_FOUND);
+ const bool ignoreUnderscore = (mode == Mode_Find) && (text.Find(_T('_')) == wxNOT_FOUND);
- m_position += dir;
- while (m_position >= 0 && m_position < cnt)
+ int oldPosition = m_position;
+ m_position = oldPosition + dir;
+ for (int tested = 0; tested < cnt; ++tested, m_position += dir)
{
- CatalogItem &dt = (*m_catalog)[m_listCtrl->ListIndexToCatalog(m_position)];
+ if (m_position < 0)
+ {
+ if (wrapAround)
+ m_position += cnt;
+ else
+ break;
+ }
+ else if (m_position >= cnt)
+ {
+ if (wrapAround)
+ m_position -= cnt;
+ else
+ break;
+ }
+
+ auto dt = lastItem = (*m_catalog)[m_listCtrl->ListIndexToCatalog(m_position)];
- if (inStr)
+ if (inTrans)
{
- textc = dt.GetString();
- if (!caseSens)
- textc.MakeLower();
- if (ignoreMnemonicsAmp)
- textc.Replace("&", "");
- if (ignoreMnemonicsUnderscore)
- textc.Replace("_", "");
- if (TextInString(textc, text, wholeWords))
+ trans = IsTextInStrings(dt->GetTranslations(), text, ignoreCase, wholeWords, ignoreAmp, ignoreUnderscore);
+ if (trans != (size_t)-1)
{
- found = Found_InOrig;
+ found = Found_InTrans;
break;
}
}
- if (inTrans)
+ if (inSource)
{
- // concatenate all translations:
- unsigned cntTrans = dt.GetNumberOfTranslations();
- textc = wxEmptyString;
- for (unsigned i = 0; i < cntTrans; i++)
+ if (IsTextInString(dt->GetString(), text, ignoreCase, wholeWords, ignoreAmp, ignoreUnderscore))
{
- textc += dt.GetTranslation(i);
+ found = Found_InOrig;
+ break;
}
- // and search for the substring in them:
- if (!caseSens)
- textc.MakeLower();
- if (ignoreMnemonicsAmp)
- textc.Replace("&", "");
- if (ignoreMnemonicsUnderscore)
- textc.Replace("_", "");
-
- if (TextInString(textc, text, wholeWords)) { found = Found_InTrans; break; }
}
if (inComments)
{
- textc = dt.GetComment();
- if (!caseSens)
- textc.MakeLower();
-
- if (TextInString(textc, text, wholeWords)) { found = Found_InComments; break; }
- }
- if (inExtractedComments)
- {
- wxArrayString extractedComments = dt.GetExtractedComments();
- textc = wxEmptyString;
- for (unsigned i = 0; i < extractedComments.GetCount(); i++)
- textc += extractedComments[i];
-
- if (!caseSens)
- textc.MakeLower();
-
- if (TextInString(textc, text, wholeWords)) { found = Found_InExtractedComments; break; }
+ if (IsTextInString(dt->GetComment(), text, ignoreCase, wholeWords, false, false))
+ {
+ found = Found_InComments;
+ break;
+ }
+ if (IsTextInStrings(dt->GetExtractedComments(), text, ignoreCase, wholeWords, false, false) != (size_t)-1)
+ {
+ found = Found_InExtractedComments;
+ break;
+ }
}
-
- m_position += dir;
}
if (found != Found_Not)
{
+ m_lastItem = lastItem;
+
m_listCtrl->EnsureVisible(m_position);
-#ifdef __WXOSX__
- m_listCtrl->Refresh();
-#endif
m_listCtrl->SelectAndFocus(m_position);
// find the text on the control and select it:
- wxTextCtrl* txt = NULL;
+ CustomizedTextCtrl* txt = nullptr;
switch (found)
{
case Found_InOrig:
txt = m_textCtrlOrig;
break;
case Found_InTrans:
- txt = m_textCtrlTrans;
+ if (lastItem->GetNumberOfTranslations() == 1)
+ {
+ txt = m_textCtrlTrans;
+ }
+ else
+ {
+ m_pluralNotebook->SetSelection(trans);
+ txt = (CustomizedTextCtrl*)m_pluralNotebook->GetCurrentPage();
+ }
break;
case Found_InComments:
case Found_InExtractedComments:
@@ -386,11 +561,11 @@ bool FindFrame::DoFind(int dir)
if (txt)
{
textc = txt->GetValue();
- if (!caseSens)
+ if (ignoreCase)
textc.MakeLower();
int pos = textc.Find(text);
if (pos != wxNOT_FOUND)
- txt->SetSelection(pos, pos + text.length());
+ txt->ShowFindIndicator(pos, (int)text.length());
}
return true;
@@ -399,3 +574,35 @@ bool FindFrame::DoFind(int dir)
m_position = posOrig;
return false;
}
+
+bool FindFrame::DoReplaceInItem(CatalogItemPtr item)
+{
+ bool wholeWords = m_wholeWords->GetValue();
+ auto search = m_searchField->GetValue();
+ auto replace = m_replaceField->GetValue();
+
+ bool replaced = false;
+ for (auto& t: item->GetTranslations())
+ {
+ if (ReplaceTextInString(t, search, wholeWords, replace))
+ replaced = true;
+ }
+
+ if (replaced && item == m_owner->GetCurrentItem())
+ m_owner->UpdateToTextCtrl(PoeditFrame::UndoableEdit);
+
+ return replaced;
+}
+
+void FindFrame::OnReplace(wxCommandEvent&)
+{
+ DoReplaceInItem(m_lastItem);
+ m_listCtrl->Refresh();
+}
+
+void FindFrame::OnReplaceAll(wxCommandEvent&)
+{
+ for (auto& item: m_catalog->items())
+ DoReplaceInItem(item);
+ m_listCtrl->Refresh();
+}
diff --git a/src/findframe.h b/src/findframe.h
index df776c2..1309ff6 100644
--- a/src/findframe.h
+++ b/src/findframe.h
@@ -28,12 +28,17 @@
#include "edlistctrl.h"
-#include <wx/dialog.h>
+#include <wx/frame.h>
#include <wx/weakref.h>
class WXDLLIMPEXP_FWD_CORE wxButton;
+class WXDLLIMPEXP_FWD_CORE wxCheckBox;
+class WXDLLIMPEXP_FWD_CORE wxChoice;
+class WXDLLIMPEXP_FWD_CORE wxTextCtrl;
class Catalog;
+class CustomizedTextCtrl;
+class PoeditFrame;
/** FindFrame is small dialog frame that contains controls for searching
in content of EditorFrame's wxListCtrl object and associated Catalog
@@ -42,56 +47,60 @@ class Catalog;
This class assumes that list control's user data contains index
into the catalog.
*/
-class FindFrame : public wxDialog
+class FindFrame : public wxFrame
{
public:
/** Ctor.
- \param parent Parent frame, FindFrame will float on it
+ \param owner Parent frame, FindFrame will float on it
\param list List control to search in
\param catalog Catalog to search in
*/
- FindFrame(wxWindow *parent, PoeditListCtrl *list, Catalog *c,
- wxTextCtrl *textCtrlOrig, wxTextCtrl *textCtrlTrans);
+ FindFrame(PoeditFrame *owner, PoeditListCtrl *list, const CatalogPtr& c,
+ CustomizedTextCtrl *textCtrlOrig, CustomizedTextCtrl *textCtrlTrans,
+ wxNotebook *pluralNotebook);
~FindFrame();
- /// Returns singleton instance if it exists. Updates the catalog
- /// if it differs from the current one.
- static FindFrame *Get(PoeditListCtrl *list, Catalog *forCatalog);
-
- static void NotifyParentDestroyed(PoeditListCtrl *list, Catalog *forCatalog);
-
/** Resets the search to starting position and changes
the catalog in use. Called by EditorFrame when the user
reloads catalog.
*/
- void Reset(Catalog *c);
-
- void FocusSearchField();
+ void Reset(const CatalogPtr& c);
void FindPrev();
void FindNext();
+ void ShowForFind();
+ void ShowForReplace();
+
private:
+ void DoShowFor(int mode);
void OnClose(wxCommandEvent &event);
+ void OnModeChanged();
void OnPrev(wxCommandEvent &event);
void OnNext(wxCommandEvent &event);
void OnTextChange(wxCommandEvent &event);
void OnCheckbox(wxCommandEvent &event);
+ void OnReplace(wxCommandEvent &event);
+ void OnReplaceAll(wxCommandEvent &event);
bool DoFind(int dir);
- DECLARE_EVENT_TABLE()
+ bool DoReplaceInItem(CatalogItemPtr item);
- wxTextCtrl *m_textField;
+ PoeditFrame *m_owner;
+ wxChoice *m_mode;
+ wxTextCtrl *m_searchField, *m_replaceField;
+ wxCheckBox *m_ignoreCase, *m_wrapAround, *m_wholeWords,
+ *m_findInOrig, *m_findInTrans, *m_findInComments;
wxWeakRef<PoeditListCtrl> m_listCtrl;
- Catalog *m_catalog;
+ CatalogPtr m_catalog;
int m_position;
- wxButton *m_btnPrev, *m_btnNext;
- wxTextCtrl *m_textCtrlOrig, *m_textCtrlTrans;
+ CatalogItemPtr m_lastItem;
+ wxButton *m_btnClose, *m_btnReplaceAll, *m_btnReplace, *m_btnPrev, *m_btnNext;
+ CustomizedTextCtrl *m_textCtrlOrig, *m_textCtrlTrans;
+ wxNotebook *m_pluralNotebook;
// NB: this is static so that last search term is remembered
static wxString ms_text;
-
- static FindFrame *ms_singleton;
};
diff --git a/src/hidpi.h b/src/hidpi.h
index 5b2ab9b..4d7a387 100644
--- a/src/hidpi.h
+++ b/src/hidpi.h
@@ -27,8 +27,8 @@
#define Poedit_hidpi_h
#include <wx/defs.h>
-class WXDLLIMPEXP_BASE wxString;
-class WXDLLIMPEXP_CORE wxBitmap;
+class WXDLLIMPEXP_FWD_BASE wxString;
+class WXDLLIMPEXP_FWD_CORE wxBitmap;
#ifdef __WXMSW__
#define NEEDS_MANUAL_HIDPI 1
diff --git a/src/http_client.cpp b/src/http_client.cpp
new file mode 100644
index 0000000..d737717
--- /dev/null
+++ b/src/http_client.cpp
@@ -0,0 +1,101 @@
+/*
+ * This file is part of Poedit (http://poedit.net)
+ *
+ * Copyright (C) 2015 Vaclav Slavik
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ */
+
+#include "http_client.h"
+
+#include "str_helpers.h"
+
+#include <iomanip>
+#include <sstream>
+
+#include <boost/uuid/uuid.hpp>
+#include <boost/uuid/uuid_io.hpp>
+#include <boost/uuid/uuid_generators.hpp>
+
+
+multipart_form_data::multipart_form_data()
+{
+ boost::uuids::random_generator gen;
+ m_boundary = boost::uuids::to_string(gen());
+}
+
+void multipart_form_data::add_value(const std::string& name, const std::string& value)
+{
+ m_body += "--" + m_boundary + "\r\n";
+ m_body += "Content-Disposition: form-data; name=\"" + name + "\"\r\n\r\n";
+ m_body += value;
+ m_body += "\r\n";
+}
+
+void multipart_form_data::add_file(const std::string& name, const std::string& filename, const std::string& file_content)
+{
+ m_body += "--" + m_boundary + "\r\n";
+ m_body += "Content-Disposition: form-data; name=\"" + name + "\"; filename=\"" + filename + "\"\r\n";
+ m_body += "Content-Type: application/octet-stream\r\n";
+ m_body += "Content-Transfer-Encoding: binary\r\n";
+ m_body += "\r\n";
+ m_body += file_content;
+ m_body += "\r\n";
+}
+
+std::string multipart_form_data::content_type() const
+{
+ return "multipart/form-data; boundary=" + m_boundary;
+}
+
+std::string multipart_form_data::body() const
+{
+ return m_body + "--" + m_boundary + "--\r\n\r\n";
+}
+
+
+std::string http_client::url_encode(const std::string& s)
+{
+ std::ostringstream escaped;
+ escaped.fill('0');
+ escaped << std::hex;
+
+ for (auto c: s)
+ {
+ if (c == '-' || c == '_' || c == '.' || c == '~' ||
+ (c >= 'a' && c <= 'z') ||
+ (c >= 'A' && c <= 'Z') ||
+ (c >= '0' && c <= '9'))
+ {
+ escaped << c;
+ }
+ else
+ {
+ escaped << '%' << std::setw(2) << int((unsigned char)c);
+ }
+ }
+
+ return escaped.str();
+}
+
+std::string http_client::url_encode(const std::wstring& s)
+{
+ return url_encode(str::to_utf8(s));
+}
diff --git a/src/http_client.h b/src/http_client.h
new file mode 100644
index 0000000..2868bad
--- /dev/null
+++ b/src/http_client.h
@@ -0,0 +1,243 @@
+/*
+ * This file is part of Poedit (http://poedit.net)
+ *
+ * Copyright (C) 2014-2015 Vaclav Slavik
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ */
+
+#ifndef Poedit_http_client_h
+#define Poedit_http_client_h
+
+#ifdef HAVE_HTTP_CLIENT
+
+#include <exception>
+#include <functional>
+#include <map>
+#include <memory>
+#include <string>
+
+class http_client;
+
+class json_dict
+{
+public:
+ struct native;
+ json_dict() {}
+ json_dict(std::shared_ptr<native> value) : m_native(value) {}
+
+ bool is_null(const char *name) const;
+
+ json_dict subdict(const char *name) const;
+
+ std::string utf8_string(const char *name) const;
+ std::wstring wstring(const char *name) const;
+#ifdef __APPLE__
+ std::string native_string(const char *name) const { return utf8_string(name); }
+#else
+ std::wstring native_string(const char *name) const { return wstring(name); }
+#endif
+
+ int number(const char *name) const;
+ double double_number(const char *name) const;
+ void iterate_array(const char *name, std::function<void(const json_dict&)> on_item) const;
+
+private:
+ std::shared_ptr<native> m_native;
+};
+
+
+/// Stores POSTed data (RFC 1867)
+class multipart_form_data
+{
+public:
+ multipart_form_data();
+
+ /// Add a form value.
+ void add_value(const std::string& name, const std::string& value);
+
+ /// Add file upload.
+ void add_file(const std::string& name, const std::string& filename, const std::string& file_content);
+
+ /// Content-Type header to use with the data.
+ std::string content_type() const;
+
+ /// Returns generated body of the request.
+ std::string body() const;
+
+private:
+ std::string m_boundary;
+ std::string m_body;
+};
+
+
+/// Response to a HTTP request
+class http_response
+{
+public:
+ http_response(const json_dict& data) : m_ok(true), m_data(data) {}
+ http_response(std::exception_ptr e) : m_ok(false), m_error(e) {}
+
+ /// Is the response acceptable?
+ bool ok() const { return m_ok; }
+
+ /// Returns json data from the response. May throw if there was error.
+ const json_dict& json() const
+ {
+ if (m_error)
+ std::rethrow_exception(m_error);
+ return m_data;
+ }
+
+ /// Returns the stored exception, if any
+ std::exception_ptr exception() const { return m_error; }
+
+private:
+ bool m_ok;
+ std::exception_ptr m_error;
+ json_dict m_data;
+
+ friend class http_client;
+};
+
+
+/**
+ Client for accessing HTTP REST APIs.
+ */
+class http_client
+{
+public:
+ /// Connection flags for the client.
+ enum flags
+ {
+ /// The host uses SNI for SSL. Will use http instead of https on Windows XP.
+ uses_sni = 1
+ };
+
+ /**
+ Creates an instance of the client object.
+
+ The client is good for accessing URLs with the provided prefix
+ (which may be any prefix, not just the hostname).
+
+ @param flags OR-combination of http_client::flags values.
+ */
+ http_client(const std::string& url_prefix, int flags = 0);
+ virtual ~http_client();
+
+ /// Return true if the server is reachable, i.e. client is online
+ bool is_reachable() const;
+
+ /// Sets Authorization header to be used in all requests
+ void set_authorization(const std::string& auth);
+
+ typedef std::function<void(const http_response&)> response_func_t;
+
+ /// Perform a GET request at the given URL and call function to handle the result
+ void get(const std::string& url, response_func_t handler);
+
+ /// Perform a GET request at the given URL and ignore the response.
+ void get(const std::string& url)
+ {
+ get(url, [](const http_response&){});
+ }
+
+ /**
+ Perform a GET request and store the body in a file.
+
+ Returned response's body won't be accessible in any way from @a handler.
+ */
+ void download(const std::string& url, const std::wstring& output_file, response_func_t handler);
+
+ /**
+ Perform a POST request with multipart/form-data formatted @a params.
+ */
+ void post(const std::string& url, const multipart_form_data& data, response_func_t handler);
+
+ // Variants that have separate error and success handlers:
+ template <typename T1, typename T2>
+ void get(const std::string& url, const T1& onResult, const T2& onError)
+ {
+ get(url, [onResult,onError](const http_response& r){
+ try
+ {
+ onResult(r.json());
+ }
+ catch (...)
+ {
+ onError(std::current_exception());
+ }
+ });
+ }
+
+ template <typename T1, typename T2>
+ void download(const std::string& url, const std::wstring& output_file, const T1& onSuccess, const T2& onError)
+ {
+ download(url, output_file, [onSuccess,onError](const http_response& r){
+ if (r.ok())
+ onSuccess();
+ else
+ onError(r.exception());
+ });
+ }
+
+ template <typename T1, typename T2>
+ void post(const std::string& url, const multipart_form_data& data, const T1& onSuccess, const T2& onError)
+ {
+ post(url, data, [onSuccess,onError](const http_response& r){
+ if (r.ok())
+ onSuccess();
+ else
+ onError(r.exception());
+ });
+ }
+
+ // Helper for encoding text as URL-encoded UTF-8
+ static std::string url_encode(const std::string& s);
+ static std::string url_encode(const std::wstring& s);
+
+protected:
+ /**
+ Extract more detailed, client specific error response from the
+ JSON body of error response, if available.
+
+ Does nothing by default, but can be overriden in derived class.
+ */
+ virtual std::string parse_json_error(const json_dict& /*response*/) const
+ { return std::string(); }
+
+ /**
+ Called when an error response is returned, before calling error handler.
+
+ Can be used to react to specific errors, e.g. invalidate expired OAuth tokens,
+ or to modify the response.
+ */
+ virtual void on_error_response(int& /*statusCode*/, std::string& /*message*/) {};
+
+private:
+ class impl;
+ friend class http_response;
+
+ std::unique_ptr<impl> m_impl;
+};
+
+#endif // HAVE_HTTP_CLIENT
+
+#endif // Poedit_http_client_h
diff --git a/src/http_client_casablanca.cpp b/src/http_client_casablanca.cpp
new file mode 100644
index 0000000..3416950
--- /dev/null
+++ b/src/http_client_casablanca.cpp
@@ -0,0 +1,350 @@
+/*
+ * This file is part of Poedit (http://poedit.net)
+ *
+ * Copyright (C) 2014-2015 Vaclav Slavik
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ */
+
+#include "http_client.h"
+
+#include "version.h"
+#include "str_helpers.h"
+
+#include <boost/algorithm/string/predicate.hpp>
+
+#include <cpprest/asyncrt_utils.h>
+#include <cpprest/http_client.h>
+#include <cpprest/http_msg.h>
+#include <cpprest/filestream.h>
+
+#ifdef _WIN32
+ #include <windows.h>
+ #include <wininet.h>
+#endif
+
+using namespace web;
+
+namespace
+{
+
+using utility::string_t;
+using utility::conversions::to_string_t;
+
+#ifndef _UTF16_STRINGS
+inline string_t to_string_t(const std::wstring& s) { return str::to_utf8(s); }
+#endif
+
+} // anonymous namespace
+
+struct json_dict::native
+{
+ native(const web::json::value& x) : val(x) {}
+
+ web::json::value val;
+
+ const web::json::value& get(const std::string& key)
+ {
+ return val.at(to_string_t(key));
+ }
+};
+
+static inline json_dict make_json_dict(const web::json::value& x)
+{
+ return std::make_shared<json_dict::native>(x);
+}
+
+bool json_dict::is_null(const char *name) const
+{
+ return m_native->get(name).is_null();
+}
+
+json_dict json_dict::subdict(const char *name) const
+{
+ return make_json_dict(m_native->get(name));
+}
+
+std::string json_dict::utf8_string(const char *name) const
+{
+ return str::to_utf8(m_native->get(name).as_string());
+}
+
+std::wstring json_dict::wstring(const char *name) const
+{
+ return str::to_wstring(m_native->get(name).as_string());
+}
+
+int json_dict::number(const char *name) const
+{
+ auto& val = m_native->get(name);
+ if (val.is_integer())
+ {
+ return val.as_integer();
+ }
+ else
+ {
+ // Some broken APIs may return strings instead of numbers, so lets try
+ // that too as a fallback
+ return std::stoi(val.as_string());
+ }
+}
+
+double json_dict::double_number(const char *name) const
+{
+ return m_native->get(name).as_double();
+}
+
+void json_dict::iterate_array(const char *name, std::function<void(const json_dict&)> on_item) const
+{
+ auto& val = m_native->get(name);
+ if (!val.is_array())
+ return;
+ auto size = val.size();
+ for (size_t i = 0; i < size; ++i)
+ {
+ on_item(make_json_dict(val.at(i)));
+ }
+}
+
+
+
+class http_client::impl
+{
+public:
+ impl(http_client& owner, const std::string& url_prefix, int flags)
+ : m_owner(owner), m_native(sanitize_url(url_prefix, flags))
+ {
+ #define make_wide_str(x) make_wide_str_(x)
+ #define make_wide_str_(x) L ## x
+
+ #if defined(_WIN32)
+ #define USER_AGENT_PLATFORM L" (Windows)"
+ #elif defined(__unix__)
+ #define USER_AGENT_PLATFORM L" (Unix)"
+ #else
+ #define USER_AGENT_PLATFORM
+ #endif
+ m_userAgent = L"Poedit/" make_wide_str(POEDIT_VERSION) USER_AGENT_PLATFORM;
+ }
+
+ ~impl()
+ {
+ }
+
+ bool is_reachable() const
+ {
+ #ifdef _WIN32
+ DWORD flags;
+ return ::InternetGetConnectedState(&flags, 0);
+ #else
+ return true; // TODO
+ #endif
+ }
+
+ void set_authorization(const std::string& auth)
+ {
+ m_auth = std::wstring(auth.begin(), auth.end());
+ }
+
+ void get(const std::string& url,
+ std::function<void(const http_response&)> handler)
+ {
+ http::http_request req(http::methods::GET);
+ req.headers().add(http::header_names::accept, L"application/json");
+ req.headers().add(http::header_names::user_agent, m_userAgent);
+ if (!m_auth.empty())
+ req.headers().add(http::header_names::authorization, m_auth);
+ req.set_request_uri(to_string_t(url));
+
+ m_native.request(req)
+ .then([=](http::http_response response)
+ {
+ handle_error(response);
+ handler(make_json_dict(response.extract_json().get()));
+ })
+ .then([=](pplx::task<void> t)
+ {
+ try { t.get(); }
+ catch (...)
+ {
+ handler(std::current_exception());
+ }
+ });
+ }
+
+ void download(const std::string& url, const std::wstring& output_file, response_func_t handler)
+ {
+ using namespace concurrency::streams;
+ auto fileStream = std::make_shared<ostream>();
+
+ fstream::open_ostream(to_string_t(output_file)).then([=](ostream outFile)
+ {
+ *fileStream = outFile;
+ http::http_request req(http::methods::GET);
+ req.headers().add(http::header_names::user_agent, m_userAgent);
+ if (!m_auth.empty())
+ req.headers().add(http::header_names::authorization, m_auth);
+ req.set_request_uri(to_string_t(url));
+ return m_native.request(req);
+ })
+ .then([=](http::http_response response)
+ {
+ handle_error(response);
+ return response.body().read_to_end(fileStream->streambuf());
+ })
+ .then([=](size_t)
+ {
+ return fileStream->close();
+ })
+ .then([=](pplx::task<void> t)
+ {
+ try
+ {
+ t.get();
+ handler(json_dict());
+ }
+ catch (...)
+ {
+ handler(std::current_exception());
+ }
+ });
+ }
+
+ void post(const std::string& url, const multipart_form_data& data, response_func_t handler)
+ {
+ http::http_request req(http::methods::POST);
+ req.headers().add(http::header_names::accept, L"application/json");
+ req.headers().add(http::header_names::user_agent, m_userAgent);
+ if (!m_auth.empty())
+ req.headers().add(http::header_names::authorization, m_auth);
+ req.set_request_uri(to_string_t(url));
+
+ auto body = data.body();
+ req.set_body(body, data.content_type());
+ req.headers().set_content_length(body.size());
+
+ m_native.request(req)
+ .then([=](http::http_response response)
+ {
+ handle_error(response);
+ handler(json_dict());
+ })
+ .then([=](pplx::task<void> t)
+ {
+ try { t.get(); }
+ catch (...)
+ {
+ handler(std::current_exception());
+ }
+ });
+ }
+
+private:
+ // handle non-OK responses:
+ void handle_error(http::http_response r)
+ {
+ if (r.status_code() == http::status_codes::OK)
+ return; // not an error
+
+ int status_code = r.status_code();
+ std::string msg;
+ if (r.headers().content_type() == L"application/json")
+ {
+ try
+ {
+ auto json = make_json_dict(r.extract_json().get());
+ msg = m_owner.parse_json_error(json);
+ }
+ catch (...) {} // report original error if parsing broken
+ }
+ if (msg.empty())
+ msg = str::to_utf8(r.reason_phrase());
+ m_owner.on_error_response(status_code, msg);
+ throw http::http_exception(status_code, msg);
+ }
+
+ // convert to wstring and make WinXP ready
+ static string_t sanitize_url(const std::string& url, int flags)
+ {
+ (void)flags;
+ #ifdef _WIN32
+ if (flags & http_client::uses_sni)
+ {
+ // Windows XP doesn't support SNI and so can't connect over SSL to
+ // hosts that use it. The use of SNI is increasingly common and some
+ // APIs Poedit needs to connect to use it. To keep things simple, just
+ // disable SSL on Windows XP.
+ OSVERSIONINFOEX info;
+ ZeroMemory(&info, sizeof(info));
+ info.dwOSVersionInfoSize = sizeof(info);
+ GetVersionEx(reinterpret_cast<OSVERSIONINFO*>(&info));
+ if (info.dwMajorVersion < 6) // XP
+ {
+ if (boost::starts_with(url, "https://"))
+ return U("http://") + string_t(url.begin() + 8, url.end());
+ }
+ }
+ #endif
+ return to_string_t(url);
+ }
+
+private:
+ http_client& m_owner;
+ http::client::http_client m_native;
+ std::wstring m_userAgent;
+ std::wstring m_auth;
+};
+
+
+
+http_client::http_client(const std::string& url_prefix, int flags)
+ : m_impl(new impl(*this, url_prefix, flags))
+{
+}
+
+http_client::~http_client()
+{
+}
+
+bool http_client::is_reachable() const
+{
+ return m_impl->is_reachable();
+}
+
+void http_client::set_authorization(const std::string& auth)
+{
+ m_impl->set_authorization(auth);
+}
+
+void http_client::get(const std::string& url,
+ std::function<void(const http_response&)> handler)
+{
+ m_impl->get(url, handler);
+}
+
+void http_client::download(const std::string& url, const std::wstring& output_file, response_func_t handler)
+{
+ m_impl->download(url, output_file, handler);
+}
+
+void http_client::post(const std::string& url, const multipart_form_data& data, response_func_t handler)
+{
+ m_impl->post(url, data, handler);
+}
diff --git a/src/icuhelpers.h b/src/icuhelpers.h
deleted file mode 100644
index 27d6390..0000000
--- a/src/icuhelpers.h
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * This file is part of Poedit (http://poedit.net)
- *
- * Copyright (C) 2013-2015 Vaclav Slavik
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- *
- */
-
-#ifndef Poedit_icuhelpers_h
-#define Poedit_icuhelpers_h
-
-#include <unicode/unistr.h>
-#include <wx/string.h>
-#include <string>
-
-
-/**
- Create read-only icu::UnicodeString from wxString efficiently.
-
- Notice that the resulting string is only valid for the input wxString's
- lifetime duration, unless you make a copy.
- */
-inline icu::UnicodeString ToIcuStr(const wxString& str)
-{
-#if wxUSE_UNICODE_UTF8
- return icu::UnicodeString::fromUTF8((const char*)str.utf8_str());
-#elif SIZEOF_WCHAR_T == 4
- return icu::UnicodeString::fromUTF32((const UChar32*)str.wx_str(), (int32_t)str.length());
-#elif SIZEOF_WCHAR_T == 2
- // read-only aliasing ctor, doesn't copy data
- return icu::UnicodeString(true, str.wx_str(), str.length());
-#else
- #error "WTF?!"
-#endif
-}
-
-/**
-Create read-only icu::UnicodeString from std::wstring efficiently.
-
-Notice that the resulting string is only valid for the input std::wstring's
-lifetime duration, unless you make a copy.
-*/
-inline icu::UnicodeString ToIcuStr(const std::wstring& str)
-{
-#if SIZEOF_WCHAR_T == 4
- return icu::UnicodeString::fromUTF32((const UChar32*) str.c_str(), (int32_t) str.length());
-#elif SIZEOF_WCHAR_T == 2
- // read-only aliasing ctor, doesn't copy data
- return icu::UnicodeString(true, str.c_str(), str.length());
-#else
- #error "WTF?!"
-#endif
-}
-
-/// Create wxString from icu::UnicodeString, making a copy.
-inline wxString FromIcuStr(const icu::UnicodeString& str)
-{
-#if wxUSE_UNICODE_WCHAR && SIZEOF_WCHAR_T == 2
- return wxString(str.getBuffer(), str.length());
-#else
- return wxString((const char*)str.getBuffer(), wxMBConvUTF16(), str.length() * 2);
-#endif
-}
-
-/// Create std::wstring from icu::UnicodeString, making a copy.
-inline std::wstring StdFromIcuStr(const icu::UnicodeString& str)
-{
- return FromIcuStr(str).ToStdWstring();
-}
-
-
-#endif // Poedit_icuhelpers_h
diff --git a/src/keychain/keytar.h b/src/keychain/keytar.h
new file mode 100644
index 0000000..5ceda6a
--- /dev/null
+++ b/src/keychain/keytar.h
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2013 GitHub Inc.
+ * Copyright (c) 2015 Vaclav Slavik
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * a copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, sublicense, and/or sell copies of the Software, and to
+ * permit persons to whom the Software is furnished to do so, subject to
+ * the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+ * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+ * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ */
+
+#ifndef SRC_KEYTAR_H_
+#define SRC_KEYTAR_H_
+
+#include <string>
+
+namespace keytar
+{
+
+bool AddPassword(const std::string& account, const std::string& password);
+
+bool GetPassword(const std::string& account, std::string* password);
+
+bool DeletePassword(const std::string& account);
+
+} // namespace keytar
+
+#endif // SRC_KEYTAR_H_
diff --git a/src/keychain/keytar_posix.cc b/src/keychain/keytar_posix.cc
new file mode 100644
index 0000000..5c4f655
--- /dev/null
+++ b/src/keychain/keytar_posix.cc
@@ -0,0 +1,111 @@
+/*
+ * Copyright (c) 2013 GitHub Inc.
+ * Copyright (c) 2015 Vaclav Slavik
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * a copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, sublicense, and/or sell copies of the Software, and to
+ * permit persons to whom the Software is furnished to do so, subject to
+ * the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+ * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+ * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ */
+
+#include "keytar.h"
+
+#include <libsecret/secret.h>
+#include <stdio.h>
+#include <unistd.h>
+
+namespace keytar
+{
+
+namespace
+{
+
+#ifdef __GNUC__
+ #pragma GCC diagnostic ignored "-Wmissing-field-initializers"
+#endif
+
+const SecretSchema kSchema = {
+ "net.poedit.Credentials", SECRET_SCHEMA_NONE,
+ {
+ { "account", SECRET_SCHEMA_ATTRIBUTE_STRING },
+ { NULL, SecretSchemaAttributeType(0) },
+ }
+};
+
+} // namespace
+
+bool AddPassword(const std::string& account, const std::string& password)
+{
+ GError *error = NULL;
+ gboolean result = secret_password_store_sync(
+ &kSchema,
+ SECRET_COLLECTION_DEFAULT,
+ account.c_str(), // label
+ password.c_str(),
+ NULL, // not cancellable
+ &error,
+ "account", account.c_str(),
+ NULL);
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error->message);
+ g_error_free(error);
+ }
+ return result;
+}
+
+bool GetPassword(const std::string& account, std::string* password)
+{
+ GError *error = NULL;
+ gchar* raw_passwords;
+ raw_passwords = secret_password_lookup_sync(
+ &kSchema,
+ NULL, // not cancellable
+ &error,
+ "account", account.c_str(),
+ NULL);
+
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error->message);
+ g_error_free(error);
+ return false;
+ } else if (raw_passwords == NULL) {
+ return false;
+ } else {
+ *password = raw_passwords;
+ }
+ secret_password_free(raw_passwords);
+ return true;
+}
+
+bool DeletePassword(const std::string& account)
+{
+ GError *error = NULL;
+ gboolean result = secret_password_clear_sync(
+ &kSchema,
+ NULL, // not cancellable
+ &error,
+ "account", account.c_str(),
+ NULL);
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error->message);
+ g_error_free(error);
+ }
+ return result;
+}
+
+} // namespace keytar
diff --git a/src/language.cpp b/src/language.cpp
index d4496d2..336f149 100644
--- a/src/language.cpp
+++ b/src/language.cpp
@@ -25,8 +25,6 @@
#include "language.h"
-#include "icuhelpers.h"
-
#include <cctype>
#include <algorithm>
#include <unordered_map>
@@ -40,6 +38,18 @@
#include <wx/filename.h>
+#include "str_helpers.h"
+
+#ifdef HAVE_CLD2
+ #ifdef HAVE_CLD2_PUBLIC_COMPACT_LANG_DET_H
+ #include <cld2/public/compact_lang_det.h>
+ #include <cld2/public/encodings.h>
+ #else
+ #include "public/compact_lang_det.h"
+ #include "public/encodings.h"
+ #endif
+#endif
+
// GCC's libstdc++ didn't have functional std::regex implementation until 4.9
#if (defined(__GNUC__) && !defined(__clang__) && !wxCHECK_GCC_VERSION(4,9))
#include <boost/regex.hpp>
@@ -169,11 +179,11 @@ const DisplayNamesData& GetDisplayNamesData()
}
s.foldCase();
- data.names[StdFromIcuStr(s)] = code;
+ data.names[str::to_wstring(s)] = code;
loc->getDisplayName(locEng, s);
s.foldCase();
- data.namesEng[StdFromIcuStr(s)] = code;
+ data.namesEng[str::to_wstring(s)] = code;
}
// sort the names alphabetically for data.sortedNames:
@@ -197,7 +207,7 @@ const DisplayNamesData& GetDisplayNamesData()
// convert into std::wstring
data.sortedNames.reserve(names.size());
for (auto s: names)
- data.sortedNames.push_back(StdFromIcuStr(s));
+ data.sortedNames.push_back(str::to_wstring(s));
});
return data;
@@ -266,9 +276,9 @@ Language Language::TryParse(const std::wstring& s)
// If not, perhaps it's a human-readable name (perhaps coming from the language control)?
auto names = GetDisplayNamesData();
- icu::UnicodeString s_icu = ToIcuStr(s);
+ icu::UnicodeString s_icu = str::to_icu(s);
s_icu.foldCase();
- std::wstring folded = StdFromIcuStr(s_icu);
+ std::wstring folded = str::to_wstring(s_icu);
auto i = names.names.find(folded);
if (i != names.names.end())
return Language(i->second);
@@ -381,14 +391,14 @@ wxString Language::DisplayName() const
{
icu::UnicodeString s;
ToIcu().getDisplayName(s);
- return FromIcuStr(s);
+ return str::to_wx(s);
}
wxString Language::LanguageDisplayName() const
{
icu::UnicodeString s;
ToIcu().getDisplayLanguage(s);
- return FromIcuStr(s);
+ return str::to_wx(s);
}
wxString Language::DisplayNameInItself() const
@@ -396,7 +406,7 @@ wxString Language::DisplayNameInItself() const
auto loc = ToIcu();
icu::UnicodeString s;
loc.getDisplayName(loc, s);
- return FromIcuStr(s);
+ return str::to_wx(s);
}
wxString Language::FormatForRoundtrip() const
@@ -465,3 +475,46 @@ Language Language::TryGuessFromFilename(const wxString& filename)
return Language(); // failed to match
}
+
+
+Language Language::TryDetectFromText(const char *buffer, size_t len, Language probableLanguage)
+{
+#ifdef HAVE_CLD2
+ using namespace CLD2;
+
+ CLDHints hints = {NULL, NULL, UNKNOWN_ENCODING, UNKNOWN_LANGUAGE};
+ if (probableLanguage.IsValid())
+ {
+ if (probableLanguage.Lang() == "en")
+ hints.language_hint = ENGLISH;
+ else
+ hints.language_hint = GetLanguageFromName(probableLanguage.RFC3066().c_str());
+ }
+
+ // three best guesses; we don't care, but they must be passed in
+ CLD2::Language language3[3];
+ int percent3[3];
+ double normalized_score3[3];
+ // more result info:
+ int text_bytes;
+ bool is_reliable;
+
+ auto lang = CLD2::ExtDetectLanguageSummary(
+ buffer, (int)len,
+ /*is_plain_text=*/false, // may have embedded HTML markup
+ &hints,
+ /*flags=*/0,
+ language3, percent3, normalized_score3,
+ /*resultchunkvector=*/nullptr,
+ &text_bytes,
+ &is_reliable);
+ if (lang != UNKNOWN_LANGUAGE && is_reliable)
+ return Language::TryParse(LanguageCode(lang));
+ else
+ return Language();
+#else
+ (void)buffer;
+ (void)len;
+ return probableLanguage;
+#endif
+}
diff --git a/src/language.h b/src/language.h
index b6dd231..deee009 100644
--- a/src/language.h
+++ b/src/language.h
@@ -111,6 +111,8 @@ public:
if you are not sure.
*/
static Language TryParse(const std::wstring& s);
+ static Language TryParse(const std::string& s)
+ { return TryParse(std::wstring(s.begin(), s.end())); }
/**
Like TryParse(), but only accepts language codes if they are known
@@ -130,6 +132,17 @@ public:
*/
static Language TryGuessFromFilename(const wxString& filename);
+ /**
+ Try to detect the language from UTF-8 text.
+
+ Pass @a probableLanguage if the result is likely known, e.g. English
+ for source texts.
+ */
+ static Language TryDetectFromText(const char *buffer, size_t len,
+ Language probableLanguage = Language());
+
+ /// Returns object for English language
+ static Language English() { return Language("en"); }
/**
Checks if @a s has the form of language code.
diff --git a/src/logcapture.h b/src/logcapture.h
index 590ba53..b0e9929 100644
--- a/src/logcapture.h
+++ b/src/logcapture.h
@@ -29,7 +29,7 @@
#include <wx/string.h>
#include <wx/log.h>
-// Capture all wx log output into a text buffer and supress normal output:
+// Capture all wx log output into a text buffer and suppress normal output:
class LogCapture : public wxLogInterposer
{
public:
diff --git a/src/main_toolbar.h b/src/main_toolbar.h
index 32fbb8e..a0bf57a 100644
--- a/src/main_toolbar.h
+++ b/src/main_toolbar.h
@@ -38,6 +38,8 @@ public:
virtual bool IsFuzzy() const = 0;
virtual void SetFuzzy(bool on) = 0;
+ virtual void EnableSyncWithCrowdin(bool on) = 0;
+
static std::unique_ptr<MainToolbar> Create(wxFrame *parent);
protected:
diff --git a/src/manager.cpp b/src/manager.cpp
index 978fe9e..46809a1 100644
--- a/src/manager.cpp
+++ b/src/manager.cpp
@@ -188,7 +188,7 @@ static void AddCatalogToList(wxListCtrl *list, int i, int id, const wxString& fi
}
else
{
- // supress error messages, we don't mind if the catalog is corrupted
+ // suppress error messages, we don't mind if the catalog is corrupted
// FIXME: *do* indicate error somehow
wxLogNull nullLog;
diff --git a/src/prefsdlg.cpp b/src/prefsdlg.cpp
index dfb5d28..242857f 100644
--- a/src/prefsdlg.cpp
+++ b/src/prefsdlg.cpp
@@ -33,6 +33,7 @@
#include <wx/checkbox.h>
#include <wx/choice.h>
#include <wx/checklst.h>
+#include <wx/notebook.h>
#include <wx/sizer.h>
#include <wx/stattext.h>
#include <wx/fontutil.h>
@@ -52,6 +53,7 @@
#include "edapp.h"
#include "edframe.h"
#include "catalog.h"
+#include "crowdin_gui.h"
#include "hidpi.h"
#include "tm/transmem.h"
#include "chooselang.h"
@@ -80,7 +82,7 @@ class PrefsPanel : public wxPanel
{
public:
PrefsPanel(wxWindow *parent)
- : wxPanel(parent), m_supressDataTransfer(0)
+ : wxPanel(parent), m_suppressDataTransfer(0)
{
#ifdef __WXOSX__
// Refresh the content of prefs panels when re-opening it.
@@ -100,11 +102,11 @@ public:
bool TransferDataToWindow() override
{
- if (m_supressDataTransfer)
+ if (m_suppressDataTransfer)
return false;
- m_supressDataTransfer++;
+ m_suppressDataTransfer++;
InitValues(*wxConfig::Get());
- m_supressDataTransfer--;
+ m_suppressDataTransfer--;
// This is a "bit" of a hack: we take advantage of being in the last point before
// showing the window and re-layout it on the off chance that some data transfered
@@ -119,11 +121,11 @@ public:
bool TransferDataFromWindow() override
{
- if (m_supressDataTransfer)
+ if (m_suppressDataTransfer)
return false;
- m_supressDataTransfer++;
+ m_suppressDataTransfer++;
SaveValues(*wxConfig::Get());
- m_supressDataTransfer--;
+ m_suppressDataTransfer--;
return true;
}
@@ -137,18 +139,10 @@ protected:
virtual void InitValues(const wxConfigBase& cfg) = 0;
virtual void SaveValues(wxConfigBase& cfg) = 0;
- int m_supressDataTransfer;
+ int m_suppressDataTransfer;
};
-#ifdef __WXOSX__
- #define BORDER_WIN(dir, n) Border(dir, 0)
- #define BORDER_OSX(dir, n) Border(dir, n)
-#else
- #define BORDER_WIN(dir, n) Border(dir, n)
- #define BORDER_OSX(dir, n) Border(dir, 0)
-#endif
-
class GeneralPageWindow : public PrefsPanel
{
@@ -473,8 +467,7 @@ private:
_("Select translation files to import"),
wxEmptyString,
wxEmptyString,
- wxString::Format("%s (*.po)|*.po|%s (*.*)|*.*",
- _("PO Translation Files"), _("All Files")),
+ Catalog::GetTypesFileMask({Catalog::Type::PO}),
wxFD_OPEN | wxFD_FILE_MUST_EXIST | wxFD_MULTIPLE));
dlg->ShowWindowModalThenDo([=](int retcode){
@@ -489,15 +482,15 @@ private:
(int)paths.size() * 2 + 1,
this,
wxPD_APP_MODAL|wxPD_AUTO_HIDE|wxPD_CAN_ABORT);
- auto tm = TranslationMemory::Get().CreateWriter();
+ auto tm = TranslationMemory::Get().GetWriter();
int step = 0;
for (size_t i = 0; i < paths.size(); i++)
{
- std::unique_ptr<Catalog> cat(new Catalog(paths[i]));
+ CatalogPtr cat = std::make_shared<Catalog>(paths[i]);
if (!progress.Update(++step))
break;
if (cat->IsOk())
- tm->Insert(*cat);
+ tm->Insert(cat);
if (!progress.Update(++step))
break;
}
@@ -520,7 +513,7 @@ private:
dlg->ShowWindowModalThenDo([this,dlg](int retcode){
if (retcode == wxID_YES) {
wxBusyCursor bcur;
- auto tm = TranslationMemory::Get().CreateWriter();
+ auto tm = TranslationMemory::Get().GetWriter();
tm->DeleteAll();
tm->Commit();
UpdateStats();
@@ -542,7 +535,7 @@ class TMPage : public wxPreferencesPage
public:
wxString GetName() const override
{
-#ifdef __WXOSX__
+#if defined(__WXOSX__) || defined(__WXGTK__)
// TRANSLATORS: This is abbreviation of "Translation Memory" used in Preferences on OS X.
// Long text looks weird there, too short (like TM) too, but less so. "General" is about ideal
// length there.
@@ -663,9 +656,9 @@ private:
wxID_OK
);
- m_supressDataTransfer++;
+ m_suppressDataTransfer++;
dlg->ShowWindowModalThenDo([=](int retcode){
- m_supressDataTransfer--;
+ m_suppressDataTransfer--;
(void)dlg; // force use
if (retcode == wxID_OK)
{
@@ -684,7 +677,7 @@ private:
void OnNewExtractor(wxCommandEvent&)
{
- m_supressDataTransfer++;
+ m_suppressDataTransfer++;
Extractor info;
m_extractors.Data.push_back(info);
@@ -702,7 +695,7 @@ private:
m_extractors.Data.erase(m_extractors.Data.begin() + index);
}
- m_supressDataTransfer--;
+ m_suppressDataTransfer--;
if (wxPreferencesEditor::ShouldApplyChangesImmediately())
TransferDataFromWindow();
@@ -720,11 +713,26 @@ private:
void OnDeleteExtractor(wxCommandEvent&)
{
int index = m_list->GetSelection();
- m_extractors.Data.erase(m_extractors.Data.begin() + index);
- m_list->Delete(index);
- if (wxPreferencesEditor::ShouldApplyChangesImmediately())
- TransferDataFromWindow();
+ auto title = _("Delete extractor");
+ auto main = wxString::Format(_(L"Are you sure you want to delete the “%s” extractor?"), m_extractors.Data[index].Name);
+
+ wxWindowPtr<wxMessageDialog> dlg(new wxMessageDialog(this, main, title, wxYES_NO | wxNO_DEFAULT | wxICON_QUESTION));
+ #ifdef __WXOSX__
+ dlg->SetExtendedMessage(" "); // prevent wx from using the title stupidly
+ #endif
+ dlg->SetYesNoLabels(_("Delete"), _("Cancel"));
+
+ dlg->ShowWindowModalThenDo([this,index,dlg](int retcode){
+ if (retcode == wxID_YES)
+ {
+ m_extractors.Data.erase(m_extractors.Data.begin() + index);
+ m_list->Delete(index);
+
+ if (wxPreferencesEditor::ShouldApplyChangesImmediately())
+ TransferDataFromWindow();
+ }
+ });
}
void OnEnableExtractor(wxCommandEvent& e)
@@ -752,6 +760,58 @@ public:
+#ifdef HAVE_HTTP_CLIENT
+class AccountsPageWindow : public PrefsPanel
+{
+public:
+ AccountsPageWindow(wxWindow *parent) : PrefsPanel(parent)
+ {
+ wxSizer *topsizer = new wxBoxSizer(wxVERTICAL);
+ m_login = new CrowdinLoginPanel(this);
+ topsizer->Add(m_login, wxSizerFlags(1).Expand().Border(wxALL, PX(15)));
+ SetSizer(topsizer);
+
+ #ifdef __WXOSX__
+ // This window was created on demand, init immediately:
+ m_login->EnsureInitialized();
+ #else
+ // On other platforms, notebook pages are all created at once. Don't do
+ // the expensive initialization until shown for the first time. This code
+ // is a hack that takes advantage of wxPreferencesEditor's implementation
+ // detail, but oh well:
+ auto notebook = dynamic_cast<wxNotebook*>(parent);
+ if (notebook)
+ {
+ notebook->Bind(wxEVT_NOTEBOOK_PAGE_CHANGED, [=](wxBookCtrlEvent& e){
+ e.Skip();
+ if (notebook->GetPage(e.GetSelection()) == this)
+ m_login->EnsureInitialized();
+ });
+ }
+ #endif
+ }
+
+ void InitValues(const wxConfigBase&) override
+ {
+ }
+
+ void SaveValues(wxConfigBase&) override
+ {
+ }
+
+private:
+ CrowdinLoginPanel *m_login;
+};
+
+class AccountsPage : public wxPreferencesPage
+{
+public:
+ wxString GetName() const override { return PXNotebookTab(_("Accounts")); }
+ wxBitmap GetLargeIcon() const override { return wxArtProvider::GetBitmap("Prefs-Accounts"); }
+ wxWindow *CreateWindow(wxWindow *parent) override { return new AccountsPageWindow(parent); }
+};
+#endif // HAVE_HTTP_CLIENT
+
#ifdef HAS_UPDATES_CHECK
class UpdatesPageWindow : public PrefsPanel
@@ -918,6 +978,9 @@ std::unique_ptr<PoeditPreferencesEditor> PoeditPreferencesEditor::Create()
p->AddPage(new GeneralPage);
p->AddPage(new TMPage);
p->AddPage(new ExtractorsPage);
+#ifdef HAVE_HTTP_CLIENT
+ p->AddPage(new AccountsPage);
+#endif
#ifdef HAS_UPDATES_CHECK
p->AddPage(new UpdatesPage);
#endif
diff --git a/src/progressinfo.cpp b/src/progressinfo.cpp
index fca83e5..ba0689c 100644
--- a/src/progressinfo.cpp
+++ b/src/progressinfo.cpp
@@ -78,7 +78,7 @@ void ProgressInfo::SetGaugeMax(int limit)
XRCCTRL(*m_dlg, "progress", wxGauge)->SetRange(limit);
}
-void ProgressInfo::UpdateGauge(int increment)
+bool ProgressInfo::UpdateGauge(int increment)
{
wxGauge *g = XRCCTRL(*m_dlg, "progress", wxGauge);
g->SetValue(g->GetValue() + increment);
@@ -89,6 +89,8 @@ void ProgressInfo::UpdateGauge(int increment)
txt->SetLabel(txt->GetLabel());
txt->Update();
#endif
+
+ return !m_cancelled;
}
void ProgressInfo::ResetGauge(int value)
diff --git a/src/progressinfo.h b/src/progressinfo.h
index 308cfdc..c4f815d 100644
--- a/src/progressinfo.h
+++ b/src/progressinfo.h
@@ -46,7 +46,7 @@ class ProgressInfo
\param increment the delta
\return false if user cancelled operation, true otherwise
*/
- void UpdateGauge(int increment = +1);
+ bool UpdateGauge(int increment = +1);
/// Resets the gauge to given \a value.
void ResetGauge(int value = 0);
diff --git a/src/propertiesdlg.cpp b/src/propertiesdlg.cpp
index 0e28baa..d6f9513 100644
--- a/src/propertiesdlg.cpp
+++ b/src/propertiesdlg.cpp
@@ -25,28 +25,346 @@
#include <wx/sizer.h>
#include <wx/statline.h>
+#include <wx/bmpbuttn.h>
#include <wx/combobox.h>
+#include <wx/filedlg.h>
+#include <wx/dirdlg.h>
+#include <wx/dnd.h>
#include <wx/radiobut.h>
#include <wx/textctrl.h>
+#include <wx/textdlg.h>
#include <wx/editlbox.h>
#include <wx/xrc/xmlres.h>
-#include <wx/intl.h>
#include <wx/config.h>
-#include <wx/tokenzr.h>
+#include <wx/intl.h>
+#include <wx/listbox.h>
+#include <wx/sizer.h>
#include <wx/stattext.h>
+#include <wx/menu.h>
#include <wx/notebook.h>
+#include <algorithm>
+#include <functional>
#include <memory>
#include "propertiesdlg.h"
#include "hidpi.h"
#include "language.h"
#include "pluralforms/pl_evaluate.h"
+#include "utility.h"
+
+namespace
+{
+
+inline wxString NormalizedPath(const wxString& fn)
+{
+ auto f = MakeFileName(fn);
+ f.Normalize();
+ return f.GetFullPath();
+}
+
+inline wxString RelativePath(const wxString& fn, const wxString& to)
+{
+ if (fn == to)
+ return ".";
+ auto f = MakeFileName(fn);
+ f.MakeRelativeTo(to);
+ return f.GetFullPath();
+}
+
+} // anonymous namespace
+
+struct PropertiesDialog::PathsData
+{
+ PathsData() : Changed(false) {}
+
+ std::function<void()> RefreshView;
+ // Did the data change in any way?
+ bool Changed;
-PropertiesDialog::PropertiesDialog(wxWindow *parent, bool fileExistsOnDisk, int initialPage)
+ // all paths here are absolute, normalized paths
+
+ // directory where the PO(T) file is
+ wxString filedir;
+
+ // catalog settings
+ wxString basepath;
+ wxArrayString paths;
+ wxArrayString excluded;
+
+ void GetFromCatalog(CatalogPtr cat)
+ {
+ Changed = false;
+ auto& hdr = cat->Header();
+ filedir = wxFileName(cat->GetFileName()).GetPathWithSep();
+ basepath = cat->GetSourcesBasePath();
+ if (basepath.empty())
+ basepath = filedir;
+ paths.clear();
+ excluded.clear();
+ for (auto& p: hdr.SearchPaths)
+ {
+ if (p.empty())
+ continue;
+ paths.push_back(NormalizedPath(basepath + p));
+ }
+ for (auto& p: hdr.SearchPathsExcluded)
+ {
+ if (p.empty())
+ continue;
+ if (wxIsWild(p))
+ excluded.push_back(p);
+ else
+ excluded.push_back(NormalizedPath(basepath + p));
+ }
+ }
+
+ void SetToCatalog(CatalogPtr cat) const
+ {
+ auto& hdr = cat->Header();
+ hdr.BasePath = RelativePath(basepath, filedir);
+ hdr.SearchPaths.clear();
+ hdr.SearchPathsExcluded.clear();
+ for (auto& p: paths)
+ {
+ auto rel = RelativePath(p, basepath);
+ if (rel.Last() == wxFILE_SEP_PATH)
+ rel.RemoveLast();
+ hdr.SearchPaths.push_back(rel);
+ }
+ for (auto& p: excluded)
+ {
+ if (wxIsWild(p))
+ {
+ hdr.SearchPathsExcluded.push_back(p);
+ }
+ else
+ {
+ auto rel = RelativePath(p, basepath);
+ if (rel.Last() == wxFILE_SEP_PATH)
+ rel.RemoveLast();
+ hdr.SearchPathsExcluded.push_back(rel);
+ }
+ }
+ }
+
+ void UpdateBasePath()
+ {
+ if (!paths.empty())
+ basepath = CommonDirectory(paths).GetFullPath();
+ else
+ basepath = filedir;
+ }
+};
+
+
+class PropertiesDialog::PathsList : public wxPanel
+{
+public:
+ PathsList(wxWindow *parent, const wxString& label, std::shared_ptr<PathsData> data)
+ : wxPanel(parent, wxID_ANY),
+ m_data(data)
+ {
+#if defined(__WXOSX__)
+ SetWindowVariant(wxWINDOW_VARIANT_SMALL);
+ // FIXME: gross hack to make inside-notebook color to match
+ SetBackgroundColour(parent->GetBackgroundColour().ChangeLightness(93));
+#elif defined(__WXMSW__)
+ SetBackgroundColour(*wxWHITE);
+#endif
+
+ auto sizer = new wxBoxSizer(wxVERTICAL);
+ SetSizer(sizer);
+
+ auto lbl = new wxStaticText(this, wxID_ANY, label);
+ sizer->Add(lbl, wxSizerFlags().Expand());
+ m_list = new wxListBox(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0, nullptr, wxLB_EXTENDED);
+ sizer->Add(m_list, wxSizerFlags(1).Expand());
+
+#if defined(__WXOSX__)
+ auto add = new wxBitmapButton(this, wxID_ANY, wxArtProvider::GetBitmap("NSAddTemplate"), wxDefaultPosition, wxSize(18, 18), wxBORDER_SUNKEN);
+ auto remove = new wxBitmapButton(this, wxID_ANY, wxArtProvider::GetBitmap("NSRemoveTemplate"), wxDefaultPosition, wxSize(18,18), wxBORDER_SUNKEN);
+#elif defined(__WXMSW__)
+ auto add = new wxBitmapButton(this, wxID_ANY, wxArtProvider::GetBitmap("list-add"), wxDefaultPosition, wxSize(19,19));
+ auto remove = new wxBitmapButton(this, wxID_ANY, wxArtProvider::GetBitmap("list-remove"), wxDefaultPosition, wxSize(19,19));
+#else defined(__WXGTK__)
+ auto add = new wxBitmapButton(this, wxID_ANY, wxArtProvider::GetBitmap("list-add"), wxDefaultPosition, wxDefaultSize, wxNO_BORDER);
+ auto remove = new wxBitmapButton(this, wxID_ANY, wxArtProvider::GetBitmap("list-remove"), wxDefaultPosition, wxDefaultSize, wxNO_BORDER);
+#endif
+ auto buttonSizer = new wxBoxSizer(wxHORIZONTAL);
+ buttonSizer->Add(add);
+ buttonSizer->Add(remove);
+ sizer->Add(buttonSizer);
+
+ SetDropTarget(new DropTarget(this));
+
+ add->Bind(wxEVT_BUTTON, &PathsList::OnAddMenu, this);
+ remove->Bind(wxEVT_UPDATE_UI, [=](wxUpdateUIEvent& e){
+ wxArrayInt dummy;
+ e.Enable(m_list->GetSelections(dummy) > 0);
+ });
+ remove->Bind(wxEVT_BUTTON, [=](wxCommandEvent&){
+ wxArrayInt s;
+ m_list->GetSelections(s);
+ Remove(s);
+ });
+
+#if 0
+ // TODO: Add background overlay with instructions:
+ _("<big>Drag and Drop Folders Here</big>\n\nor use the + button")
+ _("<big>Drag and drop folders here</big>\n\nor use the + button")
+#endif
+ }
+
+ void UpdateFromData()
+ {
+ m_list->Clear();
+ for (auto& p: Array())
+ {
+ if (wxIsWild(p))
+ m_list->Append(p);
+ else
+ m_list->Append(RelativePath(p, m_data->basepath));
+ }
+ }
+
+ void Add(const wxArrayString& files)
+ {
+ auto& a = Array();
+ for (auto& f: files)
+ {
+ if (wxIsWild(f))
+ a.push_back(f);
+ else
+ a.push_back(NormalizedPath(f));
+ }
+ m_data->Changed = true;
+ m_data->UpdateBasePath();
+ m_data->RefreshView();
+ }
+
+ void Add(const wxString& f)
+ {
+ Add(wxArrayString(1, &f));
+ }
+
+ void Remove(wxArrayInt selection)
+ {
+ auto& a = Array();
+ std::sort(selection.begin(), selection.end());
+ for (auto i = selection.rbegin(); i != selection.rend(); ++i)
+ a.RemoveAt(*i);
+ m_data->Changed = true;
+ m_data->UpdateBasePath();
+ m_data->RefreshView();
+ }
+
+protected:
+ virtual wxArrayString& Array() = 0;
+ virtual bool AllowWildcards() const = 0;
+
+ class DropTarget : public wxFileDropTarget
+ {
+ public:
+ DropTarget(PathsList *parent) : m_parent(parent) {}
+
+ bool OnDropFiles(wxCoord, wxCoord, const wxArrayString& files) override
+ {
+ m_parent->Add(files);
+ return true;
+ }
+
+ wxDragResult OnDragOver(wxCoord, wxCoord, wxDragResult) override { return wxDragCopy; }
+
+ PathsList *m_parent;
+ };
+
+ void OnAddMenu(wxCommandEvent& e)
+ {
+ static const auto idFolder = wxNewId();
+ static const auto idFile = wxNewId();
+ static const auto idWild = wxNewId();
+
+ wxMenu *menu = new wxMenu();
+ menu->Append(idFolder, MSW_OR_OTHER(_("Add folders..."), _("Add Folders...")));
+ menu->Append(idFile, MSW_OR_OTHER(_("Add files..."), _("Add Files...")));
+ if (AllowWildcards())
+ menu->Append(idWild, MSW_OR_OTHER(_("Add wildcard..."), _("Add Wildcard...")));
+
+ menu->Bind(wxEVT_MENU, [=](wxCommandEvent&){
+ wxDirDialog dlg(this,
+ OSX_OR_OTHER("", _("Select directory")),
+ m_data->filedir,
+ wxDD_DEFAULT_STYLE | wxDD_DIR_MUST_EXIST);
+ if (dlg.ShowModal() == wxID_OK)
+ Add(dlg.GetPath());
+ },
+ idFolder);
+
+ menu->Bind(wxEVT_MENU, [=](wxCommandEvent&){
+ wxFileDialog dlg(this,
+ "",
+ m_data->filedir,
+ "",
+ wxFileSelectorDefaultWildcardStr,
+ wxFD_OPEN | wxFD_FILE_MUST_EXIST | wxFD_MULTIPLE);
+ if (dlg.ShowModal() != wxID_OK)
+ return;
+ wxArrayString files;
+ dlg.GetPaths(files);
+ Add(files);
+ },
+ idFile);
+
+ menu->Bind(wxEVT_MENU, [=](wxCommandEvent&){
+ wxTextEntryDialog dlg(this, "", "");
+ if (dlg.ShowModal() != wxID_OK)
+ return;
+ Add(dlg.GetValue());
+ },
+ idWild);
+
+ auto win = dynamic_cast<wxButton*>(e.GetEventObject());
+#ifdef __WXOSX__
+ win->PopupMenu(menu, 9, 29);
+#else
+ win->PopupMenu(menu, 0, win->GetSize().y);
+#endif
+ }
+
+ std::shared_ptr<PathsData> m_data;
+ wxListBox *m_list;
+};
+
+class PropertiesDialog::SourcePathsList : public PropertiesDialog::PathsList
+{
+public:
+ SourcePathsList(wxWindow *parent, std::shared_ptr<PathsData> data)
+ : PathsList(parent, _("Paths"), data) {}
+
+protected:
+ wxArrayString& Array() override { return m_data->paths; }
+ bool AllowWildcards() const override { return false; }
+};
+
+class PropertiesDialog::ExcludedPathsList : public PropertiesDialog::PathsList
+{
+public:
+ ExcludedPathsList(wxWindow *parent, std::shared_ptr<PathsData> data)
+ : PathsList(parent, _("Excluded paths"), data) {}
+
+protected:
+ wxArrayString& Array() override { return m_data->excluded; }
+ bool AllowWildcards() const override { return true; }
+};
+
+
+PropertiesDialog::PropertiesDialog(wxWindow *parent, CatalogPtr cat, bool fileExistsOnDisk, int initialPage)
: m_validatedPlural(-1), m_validatedLang(-1)
{
+ m_hasLang = cat->HasCapability(Catalog::Cap::LanguageSetting);
+
wxXmlResource::Get()->LoadDialog(this, parent, "properties");
m_team = XRCCTRL(*this, "team_name", wxTextCtrl);
@@ -54,7 +372,6 @@ PropertiesDialog::PropertiesDialog(wxWindow *parent, bool fileExistsOnDisk, int
m_project = XRCCTRL(*this, "prj_name", wxTextCtrl);
m_language = XRCCTRL(*this, "language", LanguageCtrl);
m_charset = XRCCTRL(*this, "charset", wxComboBox);
- m_basePath = XRCCTRL(*this, "basepath", wxTextCtrl);
m_sourceCodeCharset = XRCCTRL(*this, "source_code_charset", wxComboBox);
m_pluralFormsDefault = XRCCTRL(*this, "plural_forms_default", wxRadioButton);
@@ -65,24 +382,42 @@ PropertiesDialog::PropertiesDialog(wxWindow *parent, bool fileExistsOnDisk, int
#else
m_pluralFormsExpr->SetWindowVariant(wxWINDOW_VARIANT_SMALL);
#endif
+ m_basePath = XRCCTRL(*this, "basepath", wxTextCtrl);
+
+ if (!m_hasLang)
+ {
+ for (auto w: { (wxWindow*)m_language,
+ (wxWindow*)m_pluralFormsDefault,
+ (wxWindow*)m_pluralFormsCustom,
+ (wxWindow*)m_pluralFormsExpr,
+ XRCCTRL(*this, "language_label", wxWindow),
+ XRCCTRL(*this, "plural_forms_label", wxWindow) })
+ {
+ w->GetContainingSizer()->Hide(w);
+ }
+ }
// my custom controls:
m_keywords = new wxEditableListBox(this, -1, _("Additional keywords"));
- m_paths = new wxEditableListBox(this, -1, _("Paths"));
- m_excludedPaths = new wxEditableListBox(this, -1, _("Excluded paths"));
+
+ m_pathsData.reset(new PathsData);
+ m_paths = new SourcePathsList(this, m_pathsData);
+ m_excludedPaths = new ExcludedPathsList(this, m_pathsData);
+ m_pathsData->RefreshView = [=]{
+ m_basePath->SetValue(RelativePath(m_pathsData->basepath, m_pathsData->filedir));
+ m_paths->UpdateFromData();
+ m_excludedPaths->UpdateFromData();
+ };
m_paths->SetMinSize(wxSize(-1, PX(90)));
m_excludedPaths->SetMinSize(wxSize(-1, PX(90)));
#ifdef __WXOSX__
- for (auto l: {m_keywords, m_paths, m_excludedPaths})
+ for (auto c: m_keywords->GetChildren())
{
- for (auto c: l->GetChildren())
- {
- c->SetWindowVariant(wxWINDOW_VARIANT_SMALL);
- for (auto c2: c->GetChildren())
- c2->SetWindowVariant(wxWINDOW_VARIANT_SMALL);
- }
+ c->SetWindowVariant(wxWINDOW_VARIANT_SMALL);
+ for (auto c2: c->GetChildren())
+ c2->SetWindowVariant(wxWINDOW_VARIANT_SMALL);
}
#endif // __WXOSX__
@@ -179,20 +514,7 @@ wxString GetCharsetFromCombobox(wxComboBox *ctrl)
return c;
}
-void GetStringsFromControl(wxEditableListBox *box, wxArrayString& output)
-{
- wxArrayString arr;
- box->GetStrings(arr);
-
- output.clear();
- for (auto x: arr)
- {
- if (!x.empty())
- output.push_back(x);
- }
-}
-
-void GetPathsFromControl(wxEditableListBox *box, wxArrayString& output)
+void GetKeywordsFromControl(wxEditableListBox *box, wxArrayString& output)
{
wxArrayString arr;
box->GetStrings(arr);
@@ -200,17 +522,19 @@ void GetPathsFromControl(wxEditableListBox *box, wxArrayString& output)
output.clear();
for (auto x: arr)
{
- if (!x.empty() && (x.Last() == '/' || x.Last() == '\\'))
- x.RemoveLast();
- if (!x.empty())
- output.push_back(x);
+ if (x.empty())
+ continue;
+ wxString rest;
+ if (x.EndsWith(" ()", &rest) || x.EndsWith("()", &rest))
+ x = rest;
+ output.push_back(x);
}
}
} // anonymous namespace
-void PropertiesDialog::TransferTo(Catalog *cat)
+void PropertiesDialog::TransferTo(const CatalogPtr& cat)
{
SetCharsetToCombobox(m_charset, cat->Header().Charset);
SetCharsetToCombobox(m_sourceCodeCharset, cat->Header().SourceCodeCharset);
@@ -219,30 +543,33 @@ void PropertiesDialog::TransferTo(Catalog *cat)
SET_VAL(Team, team);
SET_VAL(TeamEmail, teamEmail);
SET_VAL(Project, project);
- SET_VAL(BasePath, basePath);
#undef SET_VAL
- m_language->SetLang(cat->Header().Lang);
- OnLanguageValueChanged(m_language->GetValue());
+ if (m_hasLang)
+ {
+ m_language->SetLang(cat->Header().Lang);
+ OnLanguageValueChanged(m_language->GetValue());
- wxString pf_def = cat->Header().Lang.DefaultPluralFormsExpr();
- wxString pf_cat = cat->Header().GetHeader("Plural-Forms");
- if (pf_cat == "nplurals=INTEGER; plural=EXPRESSION;")
- pf_cat = pf_def;
+ wxString pf_def = cat->Header().Lang.DefaultPluralFormsExpr();
+ wxString pf_cat = cat->Header().GetHeader("Plural-Forms");
+ if (pf_cat == "nplurals=INTEGER; plural=EXPRESSION;")
+ pf_cat = pf_def;
- m_pluralFormsExpr->SetValue(pf_cat);
- if (!pf_cat.empty() && pf_cat == pf_def)
- m_pluralFormsDefault->SetValue(true);
- else
- m_pluralFormsCustom->SetValue(true);
+ m_pluralFormsExpr->SetValue(pf_cat);
+ if (!pf_cat.empty() && pf_cat == pf_def)
+ m_pluralFormsDefault->SetValue(true);
+ else
+ m_pluralFormsCustom->SetValue(true);
+ }
- m_paths->SetStrings(cat->Header().SearchPaths);
- m_excludedPaths->SetStrings(cat->Header().SearchPathsExcluded);
m_keywords->SetStrings(cat->Header().Keywords);
+
+ m_pathsData->GetFromCatalog(cat);
+ m_pathsData->RefreshView();
}
-void PropertiesDialog::TransferFrom(Catalog *cat)
+void PropertiesDialog::TransferFrom(const CatalogPtr& cat)
{
cat->Header().Charset = GetCharsetFromCombobox(m_charset);
cat->Header().SourceCodeCharset = GetCharsetFromCombobox(m_sourceCodeCharset);
@@ -251,35 +578,33 @@ void PropertiesDialog::TransferFrom(Catalog *cat)
GET_VAL(Team, team);
GET_VAL(TeamEmail, teamEmail);
GET_VAL(Project, project);
- GET_VAL(BasePath, basePath);
#undef GET_VAL
- Language lang = m_language->GetLang();
- if (lang.IsValid())
- cat->Header().Lang = lang;
-
- GetStringsFromControl(m_keywords, cat->Header().Keywords);
- GetPathsFromControl(m_paths, cat->Header().SearchPaths);
- GetPathsFromControl(m_excludedPaths, cat->Header().SearchPathsExcluded);
-
- if (!cat->Header().SearchPaths.empty() && cat->Header().BasePath.empty())
- cat->Header().BasePath = ".";
+ if (m_hasLang)
+ {
+ Language lang = m_language->GetLang();
+ if (lang.IsValid())
+ cat->Header().Lang = lang;
- m_keywords->GetStrings(cat->Header().Keywords);
+ wxString pluralForms;
+ if (m_pluralFormsDefault->GetValue() && cat->Header().Lang.IsValid())
+ {
+ pluralForms = cat->Header().Lang.DefaultPluralFormsExpr();
+ }
- wxString pluralForms;
- if (m_pluralFormsDefault->GetValue() && cat->Header().Lang.IsValid())
- {
- pluralForms = cat->Header().Lang.DefaultPluralFormsExpr();
+ if (pluralForms.empty())
+ {
+ pluralForms = m_pluralFormsExpr->GetValue().Strip(wxString::both);
+ if ( !pluralForms.empty() && !pluralForms.EndsWith(";") )
+ pluralForms += ";";
+ }
+ cat->Header().SetHeaderNotEmpty("Plural-Forms", pluralForms);
}
- if (pluralForms.empty())
- {
- pluralForms = m_pluralFormsExpr->GetValue().Strip(wxString::both);
- if ( !pluralForms.empty() && !pluralForms.EndsWith(";") )
- pluralForms += ";";
- }
- cat->Header().SetHeaderNotEmpty("Plural-Forms", pluralForms);
+ GetKeywordsFromControl(m_keywords, cat->Header().Keywords);
+
+ if (m_pathsData->Changed)
+ m_pathsData->SetToCatalog(cat);
}
@@ -352,6 +677,9 @@ void PropertiesDialog::OnPluralFormsCustom(wxCommandEvent& event)
bool PropertiesDialog::Validate()
{
+ if (!m_hasLang)
+ return true;
+
if (m_validatedPlural == -1)
{
m_validatedPlural = 1;
diff --git a/src/propertiesdlg.h b/src/propertiesdlg.h
index f049544..d798228 100644
--- a/src/propertiesdlg.h
+++ b/src/propertiesdlg.h
@@ -29,6 +29,8 @@
#include <wx/dialog.h>
#include <wx/notebook.h>
+#include <memory>
+
#include "catalog.h"
#include "languagectrl.h"
@@ -41,13 +43,13 @@ class WXDLLIMPEXP_FWD_CORE wxComboBox;
class PropertiesDialog : public wxDialog
{
public:
- PropertiesDialog(wxWindow *parent, bool fileExistsOnDisk, int initialPage = 0);
+ PropertiesDialog(wxWindow *parent, CatalogPtr cat, bool fileExistsOnDisk, int initialPage = 0);
/// Reads data from the catalog and fill dialog's controls.
- void TransferTo(Catalog *cat);
+ void TransferTo(const CatalogPtr& cat);
/// Saves data from the dialog to the catalog.
- void TransferFrom(Catalog *cat);
+ void TransferFrom(const CatalogPtr& cat);
virtual bool Validate();
@@ -59,15 +61,23 @@ class PropertiesDialog : public wxDialog
void OnPluralFormsDefault(wxCommandEvent& event);
void OnPluralFormsCustom(wxCommandEvent& event);
+ struct PathsData;
+ class PathsList;
+ class SourcePathsList;
+ class ExcludedPathsList;
+
wxTextCtrl *m_team, *m_teamEmail, *m_project;
LanguageCtrl *m_language;
wxComboBox *m_charset, *m_sourceCodeCharset;
wxRadioButton *m_pluralFormsDefault, *m_pluralFormsCustom;
wxTextCtrl *m_pluralFormsExpr;
wxTextCtrl *m_basePath;
- wxEditableListBox *m_paths, *m_excludedPaths, *m_keywords;
+ std::shared_ptr<PathsData> m_pathsData;
+ PathsList *m_paths, *m_excludedPaths;
+ wxEditableListBox *m_keywords;
wxString m_rememberedPluralForm;
+ bool m_hasLang;
int m_validatedPlural, m_validatedLang;
};
diff --git a/src/resources/find.xrc b/src/resources/find.xrc
deleted file mode 100644
index f0e694e..0000000
--- a/src/resources/find.xrc
+++ /dev/null
@@ -1,120 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<resource xmlns="http://www.wxwidgets.org/wxxrc" version="2.5.3.0">
- <object class="wxDialog" name="find_frame">
- <title>Find...</title>
- <style>wxDEFAULT_DIALOG_STYLE</style>
- <object class="wxBoxSizer">
- <orient>wxVERTICAL</orient>
- <object class="sizeritem">
- <flag>wxEXPAND</flag>
- <option>1</option>
- <object class="wxPanel">
- <object class="wxBoxSizer">
- <orient>wxVERTICAL</orient>
- <object class="sizeritem">
- <flag>wxEXPAND</flag>
- <option>1</option>
- <object class="wxBoxSizer">
- <orient>wxVERTICAL</orient>
- <object class="sizeritem">
- <object class="wxStaticText">
- <label>String to find:</label>
- </object>
- <border>5d</border>
- <flag>wxLEFT|wxTOP|wxRIGHT</flag>
- </object>
- <object class="sizeritem">
- <object class="wxTextCtrl" name="string_to_find">
- <size>100,-1d</size>
- <focused>1</focused>
- </object>
- <flag>wxEXPAND|wxLEFT|wxRIGHT|wxBOTTOM</flag>
- <border>5d</border>
- </object>
- <object class="sizeritem">
- <object class="wxCheckBox" name="case_sensitive">
- <label>Case sensitive</label>
- </object>
- <border>5d</border>
- <flag>wxLEFT|wxRIGHT</flag>
- </object>
- <object class="sizeritem">
- <object class="wxCheckBox" name="from_first">
- <label>Start from the first item</label>
- </object>
- <border>5d</border>
- <flag>wxLEFT|wxRIGHT</flag>
- </object>
- <object class="sizeritem">
- <object class="wxCheckBox" name="whole_words">
- <label>Whole words only</label>
- </object>
- <border>5d</border>
- <flag>wxLEFT|wxRIGHT</flag>
- </object>
- <object class="sizeritem">
- <object class="wxCheckBox" name="in_orig">
- <label>Find in original strings</label>
- </object>
- <border>5d</border>
- <flag>wxLEFT|wxRIGHT</flag>
- </object>
- <object class="sizeritem">
- <object class="wxCheckBox" name="in_trans">
- <label>Find in translations</label>
- </object>
- <border>5d</border>
- <flag>wxLEFT|wxRIGHT</flag>
- </object>
- <object class="sizeritem">
- <object class="wxCheckBox" name="in_comments">
- <label>Find in comments</label>
- </object>
- <border>5d</border>
- <flag>wxLEFT|wxRIGHT</flag>
- </object>
- <object class="sizeritem">
- <object class="wxCheckBox" name="in_auto_comments">
- <label>Find in automatic comments</label>
- </object>
- <border>5d</border>
- <flag>wxLEFT|wxRIGHT</flag>
- </object>
- <object class="sizeritem">
- <object class="wxBoxSizer">
- <object class="sizeritem">
- <object class="wxButton" name="wxID_CLOSE">
- <label>Close</label>
- </object>
- <border>5d</border>
- <flag>wxLEFT|wxRIGHT|wxBOTTOM</flag>
- </object>
- <object class="sizeritem">
- <object class="wxButton" name="find_prev">
- <label>< _Previous</label>
- <enabled>0</enabled>
- </object>
- <flag>wxRIGHT|wxBOTTOM</flag>
- <border>5d</border>
- </object>
- <object class="sizeritem">
- <object class="wxButton" name="find_next">
- <label>_Next ></label>
- <default>1</default>
- <enabled>0</enabled>
- </object>
- <flag>wxRIGHT|wxBOTTOM</flag>
- <border>5d</border>
- </object>
- </object>
- <flag>wxTOP|wxALIGN_RIGHT</flag>
- <border>5d</border>
- </object>
- </object>
- </object>
- </object>
- </object>
- </object>
- </object>
- </object>
-</resource>
diff --git a/src/resources/manager.xrc b/src/resources/manager.xrc
index c2a1635..c77428a 100644
--- a/src/resources/manager.xrc
+++ b/src/resources/manager.xrc
@@ -11,6 +11,7 @@
</object>
<object class="wxListCtrl" name="prj_files">
<style>wxLC_REPORT|wxLC_SINGLE_SEL|wxSUNKEN_BORDER</style>
+ <variant platform="mac">small</variant>
</object>
</object>
<option>1</option>
diff --git a/src/resources/menus.xrc b/src/resources/menus.xrc
index d956303..46c1a8c 100644
--- a/src/resources/menus.xrc
+++ b/src/resources/menus.xrc
@@ -20,6 +20,10 @@
<object class="wxMenuItem" name="open_recent" platform="mac">
<label>Open Recent</label>
</object>
+ <object class="wxMenuItem" name="menu_open_crowdin">
+ <label platform="win">Open from Crowdin...</label>
+ <label platform="unix|mac">Open From Crowdin...</label>
+ </object>
<object class="separator"/>
<object class="wxMenuItem" name="wxID_CLOSE" platform="mac">
<label>_Close</label>
@@ -65,9 +69,9 @@
</object>
<object class="wxMenu" name="menu_edit">
<label>_Edit</label>
- <object class="wxMenuItem" name="wxID_UNDO" platform="win"/>
- <object class="wxMenuItem" name="wxID_REDO" platform="win"/>
- <object class="separator" platform="win"/>
+ <object class="wxMenuItem" name="wxID_UNDO" platform="unix|win"/>
+ <object class="wxMenuItem" name="wxID_REDO" platform="unix|win"/>
+ <object class="separator" platform="unix|win"/>
<object class="wxMenuItem" name="wxID_CUT"/>
<object class="wxMenuItem" name="wxID_COPY"/>
<object class="wxMenuItem" name="wxID_PASTE"/>
@@ -108,6 +112,10 @@
<label>_Find...</label>
<accel>Ctrl+F</accel>
</object>
+ <object class="wxMenuItem" name="wxID_REPLACE" platform="unix|win">
+ <label>Replace...</label>
+ <accel>Ctrl+H</accel>
+ </object>
<object class="wxMenuItem" name="menu_find_next" platform="unix|win">
<label>Find next</label>
<accel>Ctrl+G</accel>
@@ -122,6 +130,10 @@
<label>_Find...</label>
<accel>Ctrl+F</accel>
</object>
+ <object class="wxMenuItem" name="wxID_REPLACE">
+ <label>Find and Replace...</label>
+ <accel>Ctrl+Alt+F</accel>
+ </object>
<object class="wxMenuItem" name="menu_find_next">
<label>Find Next</label>
<accel>Ctrl+G</accel>
@@ -166,6 +178,11 @@
<label platform="unix|mac">_Group By Context</label>
<checkable>1</checkable>
</object>
+ <object class="wxMenuItem" name="sort_errors_first">
+ <label platform="win">Entries with errors first</label>
+ <label platform="unix|mac">Entries with Errors First</label>
+ <checkable>1</checkable>
+ </object>
<object class="wxMenuItem" name="sort_untrans_first">
<label platform="win">_Untranslated entries first</label>
<label platform="unix|mac">_Untranslated Entries First</label>
@@ -178,12 +195,18 @@
<checkable platform="win|unix">1</checkable>
<accel>Ctrl+Alt+S</accel>
</object>
+ <object class="wxMenuItem" name="show_statusbar">
+ <label platform="win">Show status bar</label>
+ <label platform="mac|unix">Show Status Bar</label>
+ <checkable platform="win|unix">1</checkable>
+ <accel platform="mac">Ctrl+/</accel>
+ </object>
<style>wxMENU_TEAROFF</style>
</object>
<object class="wxMenu" name="menu_catalog">
<label>C_atalog</label>
<style>wxMENU_TEAROFF</style>
- <object class="wxMenuItem" name="menu_update">
+ <object class="wxMenuItem" name="menu_update_from_src">
<label platform="win">_Update from sources</label>
<label platform="unix|mac">_Update from Sources</label>
</object>
@@ -191,6 +214,10 @@
<label platform="win">Update from _POT file...</label>
<label platform="unix|mac">Update from _POT File...</label>
</object>
+ <object class="wxMenuItem" name="menu_update_from_crowdin">
+ <label>Sync with Crowdin</label>
+ </object>
+ <object class="separator"/>
<object class="wxMenuItem" name="menu_auto_translate">
<label platform="win">Fill missing translations from _TM...</label>
<label platform="unix|mac">Fill Missing Translations from _TM...</label>
@@ -288,6 +315,10 @@
<object class="wxMenuItem" name="open_recent" platform="mac">
<label>Open Recent</label>
</object>
+ <object class="wxMenuItem" name="menu_open_crowdin">
+ <label platform="win">Open from Crowdin...</label>
+ <label platform="unix|mac">Open From Crowdin...</label>
+ </object>
<object class="separator"/>
<object class="wxMenuItem" name="wxID_CLOSE" platform="mac">
<label>_Close</label>
diff --git a/src/resources/prefs.xrc b/src/resources/prefs.xrc
index 099a59e..e0ea431 100644
--- a/src/resources/prefs.xrc
+++ b/src/resources/prefs.xrc
@@ -2,7 +2,9 @@
<resource xmlns="http://www.wxwidgets.org/wxxrc" version="2.5.3.0">
<object class="wxDialog" name="edit_extractor">
<title>Extractor setup</title>
+ <variant platform="mac">small</variant>
<object class="wxBoxSizer">
+ <minsize>300,-1d</minsize>
<orient>wxVERTICAL</orient>
<object class="sizeritem">
<object class="wxStaticBoxSizer">
@@ -132,6 +134,7 @@
<object class="wxBoxSizer">
<object class="sizeritem">
<object class="wxButton" name="wxID_OK">
+ <variant>normal</variant>
<label>OK</label>
<default>1</default>
</object>
@@ -140,6 +143,7 @@
</object>
<object class="sizeritem">
<object class="wxButton" name="wxID_CANCEL">
+ <variant>normal</variant>
<label>Cancel</label>
</object>
<flag>wxRIGHT|wxTOP|wxBOTTOM</flag>
diff --git a/src/resources/properties.xrc b/src/resources/properties.xrc
index 8da2e3f..14ea630 100644
--- a/src/resources/properties.xrc
+++ b/src/resources/properties.xrc
@@ -30,7 +30,7 @@
<flag>wxEXPAND|wxRIGHT|wxTOP|wxBOTTOM</flag>
</object>
<object class="sizeritem">
- <object class="wxStaticText">
+ <object class="wxStaticText" name="language_label">
<label>Language:</label>
</object>
<flag>wxLEFT|wxRIGHT|wxBOTTOM|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag>
@@ -42,7 +42,7 @@
<flag>wxEXPAND|wxRIGHT|wxBOTTOM</flag>
</object>
<object class="sizeritem">
- <object class="wxStaticText">
+ <object class="wxStaticText" name="plural_forms_label">
<label>Plural Forms:</label>
</object>
<flag>wxLEFT|wxRIGHT|wxBOTTOM|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag>
@@ -157,12 +157,16 @@
<object class="sizeritem">
<object class="wxStaticText">
<label>Base path:</label>
+ <variant platform="mac">small</variant>
</object>
<border>5d</border>
<flag>wxLEFT|wxTOP|wxALIGN_CENTER_VERTICAL</flag>
</object>
<object class="sizeritem">
- <object class="wxTextCtrl" name="basepath"/>
+ <object class="wxTextCtrl" name="basepath">
+ <variant platform="mac">small</variant>
+ <style>wxTE_READONLY</style>
+ </object>
<flag>wxLEFT|wxRIGHT|wxTOP</flag>
<border>5d</border>
<option>1</option>
diff --git a/src/resources/toolbar.xrc b/src/resources/toolbar.xrc
index 872fa8d..71a6b7b 100644
--- a/src/resources/toolbar.xrc
+++ b/src/resources/toolbar.xrc
@@ -37,7 +37,7 @@
<tooltip>Check for errors in the translation</tooltip>
</object>
- <object class="tool" name="menu_update">
+ <object class="tool" name="toolbar_update">
<bitmap stock_id="poedit-update"/>
<label>Update</label>
<tooltip>Update catalog - synchronize it with sources</tooltip>
@@ -55,7 +55,7 @@
<object class="tool" name="show_sidebar">
<bitmap stock_id="sidebar"/>
<label></label>
- <tooltip>Show or hide the sidebar.</tooltip>
+ <tooltip>Show or hide the sidebar</tooltip>
</object>
</object>
diff --git a/src/sidebar.cpp b/src/sidebar.cpp
index 2c1fdb0..3e2ceb9 100644
--- a/src/sidebar.cpp
+++ b/src/sidebar.cpp
@@ -28,6 +28,7 @@
#include "catalog.h"
#include "customcontrols.h"
#include "commentdlg.h"
+#include "concurrency.h"
#include "errors.h"
#include "hidpi.h"
@@ -106,7 +107,7 @@ void SidebarBlock::Show(bool show)
m_sizer->ShowItems(show);
}
-void SidebarBlock::SetItem(CatalogItem *item)
+void SidebarBlock::SetItem(const CatalogItemPtr& item)
{
if (!item)
{
@@ -136,12 +137,12 @@ public:
m_innerSizer->Add(m_text, wxSizerFlags().Expand());
}
- bool ShouldShowForItem(CatalogItem *item) const override
+ bool ShouldShowForItem(const CatalogItemPtr& item) const override
{
return item->HasOldMsgid();
}
- void Update(CatalogItem *item) override
+ void Update(const CatalogItemPtr& item) override
{
auto txt = wxJoin(item->GetOldMsgid(), ' ', '\0');
m_text->SetAndWrapLabel(txt);
@@ -163,12 +164,12 @@ public:
m_innerSizer->Add(m_comment, wxSizerFlags().Expand());
}
- bool ShouldShowForItem(CatalogItem *item) const override
+ bool ShouldShowForItem(const CatalogItemPtr& item) const override
{
return item->HasExtractedComments();
}
- void Update(CatalogItem *item) override
+ void Update(const CatalogItemPtr& item) override
{
auto comment = wxJoin(item->GetExtractedComments(), '\n', '\0');
if (comment.StartsWith("TRANSLATORS:") || comment.StartsWith("translators:"))
@@ -196,12 +197,12 @@ public:
m_innerSizer->Add(m_comment, wxSizerFlags().Expand());
}
- bool ShouldShowForItem(CatalogItem *item) const override
+ bool ShouldShowForItem(const CatalogItemPtr& item) const override
{
return item->HasComment();
}
- void Update(CatalogItem *item) override
+ void Update(const CatalogItemPtr& item) override
{
auto text = CommentDialog::RemoveStartHash(item->GetComment());
text.Trim();
@@ -230,9 +231,12 @@ public:
bool IsGrowable() const override { return true; }
- bool ShouldShowForItem(CatalogItem*) const override { return true; }
+ bool ShouldShowForItem(const CatalogItemPtr&) const override
+ {
+ return m_parent->FileHasCapability(Catalog::Cap::UserComments);
+ }
- void Update(CatalogItem *item) override
+ void Update(const CatalogItemPtr& item) override
{
#ifdef __WXMSW__
auto add = _("Add comment");
@@ -615,46 +619,53 @@ void SuggestionsSidebarBlock::Show(bool show)
}
}
-bool SuggestionsSidebarBlock::ShouldShowForItem(CatalogItem*) const
+bool SuggestionsSidebarBlock::ShouldShowForItem(const CatalogItemPtr&) const
{
- return wxConfig::Get()->ReadBool("use_tm", true);
+ return m_parent->FileHasCapability(Catalog::Cap::Translations) &&
+ wxConfig::Get()->ReadBool("use_tm", true);
}
-void SuggestionsSidebarBlock::Update(CatalogItem *item)
+void SuggestionsSidebarBlock::Update(const CatalogItemPtr& item)
{
// FIXME: Cancel previous pending async operation if any
ClearMessage();
ClearSuggestions();
+ if (m_parent->GetCurrentSourceLanguage() == m_parent->GetCurrentLanguage())
+ {
+ OnQueriesFinished();
+ return;
+ }
+
QueryAllProviders(item);
}
-void SuggestionsSidebarBlock::QueryAllProviders(CatalogItem *item)
+void SuggestionsSidebarBlock::QueryAllProviders(const CatalogItemPtr& item)
{
auto thisQueryId = ++m_latestQueryId;
QueryProvider(TranslationMemory::Get(), item, thisQueryId);
}
-void SuggestionsSidebarBlock::QueryProvider(SuggestionsBackend& backend, CatalogItem *item, uint64_t queryId)
+void SuggestionsSidebarBlock::QueryProvider(SuggestionsBackend& backend, const CatalogItemPtr& item, uint64_t queryId)
{
m_pendingQueries++;
// we need something to talk to GUI thread through that is guaranteed
// to exist, and the app object is a good choice:
- wxApp *app = wxTheApp;
auto backendPtr = &backend;
std::weak_ptr<SuggestionsSidebarBlock> weakSelf = std::dynamic_pointer_cast<SuggestionsSidebarBlock>(shared_from_this());
m_provider->SuggestTranslation
(
backend,
+ m_parent->GetCurrentSourceLanguage(),
m_parent->GetCurrentLanguage(),
item->GetString().ToStdWstring(),
// when receiving data
[=](const SuggestionsList& hits){
- app->CallAfter([weakSelf,queryId,hits]{
+ call_on_main_thread([weakSelf,queryId,hits]{
auto self = weakSelf.lock();
// maybe this call is already out of date:
if (!self || self->m_latestQueryId != queryId)
@@ -667,7 +678,7 @@ void SuggestionsSidebarBlock::QueryProvider(SuggestionsBackend& backend, Catalog
// on error:
[=](std::exception_ptr e){
- app->CallAfter([weakSelf,queryId,backendPtr,e]{
+ call_on_main_thread([weakSelf,queryId,backendPtr,e]{
auto self = weakSelf.lock();
// maybe this call is already out of date:
if (!self || self->m_latestQueryId != queryId)
@@ -732,7 +743,7 @@ Sidebar::~Sidebar()
}
-void Sidebar::SetSelectedItem(Catalog *catalog, CatalogItem *item)
+void Sidebar::SetSelectedItem(const CatalogPtr& catalog, const CatalogItemPtr& item)
{
m_catalog = catalog;
m_selectedItem = item;
@@ -751,6 +762,18 @@ Language Sidebar::GetCurrentLanguage() const
return m_catalog->GetLanguage();
}
+Language Sidebar::GetCurrentSourceLanguage() const
+{
+ if (!m_catalog)
+ return Language::English();
+ return m_catalog->GetSourceLanguage();
+}
+
+bool Sidebar::FileHasCapability(Catalog::Cap cap) const
+{
+ return m_catalog && m_catalog->HasCapability(cap);
+}
+
void Sidebar::RefreshContent()
{
if (!IsShown())
diff --git a/src/sidebar.h b/src/sidebar.h
index 4e38f54..317c5d6 100644
--- a/src/sidebar.h
+++ b/src/sidebar.h
@@ -33,6 +33,7 @@
#include <wx/event.h>
#include <wx/panel.h>
+#include "catalog.h"
#include "language.h"
#include "tm/suggestions.h"
@@ -42,8 +43,6 @@ class WXDLLIMPEXP_FWD_CORE wxSizer;
class WXDLLIMPEXP_FWD_CORE wxStaticText;
class WXDLLIMPEXP_FWD_CORE wxStaticBitmap;
-class Catalog;
-class CatalogItem;
class ExplanationLabel;
struct Suggestion;
@@ -62,11 +61,11 @@ public:
virtual void Show(bool show);
- void SetItem(CatalogItem *item);
+ void SetItem(const CatalogItemPtr& item);
- virtual bool ShouldShowForItem(CatalogItem *item) const = 0;
+ virtual bool ShouldShowForItem(const CatalogItemPtr& item) const = 0;
- virtual void Update(CatalogItem *item) = 0;
+ virtual void Update(const CatalogItemPtr& item) = 0;
virtual bool IsGrowable() const { return false; }
@@ -98,8 +97,8 @@ public:
void Show(bool show) override;
bool IsGrowable() const override { return true; }
- bool ShouldShowForItem(CatalogItem *item) const override;
- void Update(CatalogItem *item) override;
+ bool ShouldShowForItem(const CatalogItemPtr& item) const override;
+ void Update(const CatalogItemPtr& item) override;
protected:
// How many entries can have shortcuts?
@@ -122,8 +121,8 @@ protected:
virtual void UpdateSuggestionsMenu();
virtual void ClearSuggestionsMenu();
- virtual void QueryAllProviders(CatalogItem *item);
- void QueryProvider(SuggestionsBackend& backend, CatalogItem *item, uint64_t queryId);
+ virtual void QueryAllProviders(const CatalogItemPtr& item);
+ void QueryProvider(SuggestionsBackend& backend, const CatalogItemPtr& item, uint64_t queryId);
protected:
std::unique_ptr<SuggestionsProvider> m_provider;
@@ -159,20 +158,21 @@ public:
~Sidebar();
/// Update selected item, if there's a single one. May be nullptr.
- void SetSelectedItem(Catalog *catalog, CatalogItem *item);
+ void SetSelectedItem(const CatalogPtr& catalog, const CatalogItemPtr& item);
/// Tell the sidebar there's multiple selection.
void SetMultipleSelection();
/// Returns currently selected item
- CatalogItem *GetSelectedItem() const { return m_selectedItem; }
+ CatalogItemPtr GetSelectedItem() const { return m_selectedItem; }
+ Language GetCurrentSourceLanguage() const;
Language GetCurrentLanguage() const;
+ bool FileHasCapability(Catalog::Cap cap) const;
/// Refreshes displayed content
void RefreshContent();
/// Call when catalog changes/is invalidated
- /// TODO: use shared_ptr<CatalogItem> instead to be safe
void ResetCatalog() { SetSelectedItem(nullptr, nullptr); }
/// Set max height of the upper (not input-aligned) part.
@@ -188,8 +188,8 @@ private:
void OnPaint(wxPaintEvent&);
private:
- Catalog *m_catalog;
- CatalogItem *m_selectedItem;
+ CatalogPtr m_catalog;
+ CatalogItemPtr m_selectedItem;
std::vector<std::shared_ptr<SidebarBlock>> m_blocks;
diff --git a/src/spellchecking.cpp b/src/spellchecking.cpp
index 6214b0e..f4f1cb2 100644
--- a/src/spellchecking.cpp
+++ b/src/spellchecking.cpp
@@ -25,6 +25,8 @@
#include "spellchecking.h"
+#include "str_helpers.h"
+
#ifdef __WXGTK__
#include <gtk/gtk.h>
extern "C" {
@@ -32,10 +34,6 @@
}
#endif
-#ifdef __WXOSX__
- #include "osx_helpers.h"
-#endif
-
#ifdef __WXMSW__
#include <wx/msw/wrapwin.h>
#include <Richedit.h>
@@ -136,7 +134,7 @@ bool InitTextCtrlSpellchecker(wxTextCtrl *text, bool enable, const Language& lan
#ifdef __WXOSX__
bool SetSpellcheckerLang(const wxString& lang)
{
- NSString *nslang = wxStringToNS(lang);
+ NSString *nslang = str::to_NS(lang);
NSSpellChecker *sc = [NSSpellChecker sharedSpellChecker];
[sc setAutomaticallyIdentifiesLanguages:NO];
return [sc setLanguage: nslang];
diff --git a/src/str_helpers.h b/src/str_helpers.h
new file mode 100644
index 0000000..563ed63
--- /dev/null
+++ b/src/str_helpers.h
@@ -0,0 +1,211 @@
+/*
+ * This file is part of Poedit (http://poedit.net)
+ *
+ * Copyright (C) 2013-2015 Vaclav Slavik
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ */
+
+#ifndef Poedit_str_helpers_h
+#define Poedit_str_helpers_h
+
+#include <string>
+
+#ifdef __OBJC__
+#include <Foundation/NSString.h>
+#endif
+
+// as of gcc-4.9, no functional <codecvt> support yet
+#if defined(__clang__) || defined(_MSC_VER)
+ #define HAVE_CODECVT
+#endif
+
+#ifdef HAVE_CODECVT
+ #include <locale>
+ #include <codecvt>
+#else
+ #include <boost/locale/encoding_utf.hpp>
+#endif
+
+#include <wx/string.h>
+
+/**
+ Defines conversions between various string types.
+
+ Supported string classes are std::wstring, std::string (UTF-8 encoded),
+ wxString and icu::UnicodeString.
+
+ Usage:
+ - to_wx(...)
+ - to_icu(...)
+ - to_wstring(...)
+ - to_utf8(...)
+ - to_NSString()
+ */
+namespace str
+{
+
+#ifdef HAVE_CODECVT
+
+inline std::string to_utf8(const std::wstring& str)
+{
+ std::wstring_convert<std::codecvt_utf8<wchar_t>, wchar_t> convert;
+ return convert.to_bytes(str.data());
+}
+
+inline std::string to_utf8(const wchar_t *str)
+{
+ std::wstring_convert<std::codecvt_utf8<wchar_t>, wchar_t> convert;
+ return convert.to_bytes(str);
+}
+
+inline std::wstring to_wstring(const std::string& utf8str)
+{
+ std::wstring_convert<std::codecvt_utf8<wchar_t>, wchar_t> convert;
+ return convert.from_bytes(utf8str.data());
+}
+
+#else
+
+inline std::string to_utf8(const std::wstring& str)
+{
+ return boost::locale::conv::utf_to_utf<char>(str);
+}
+
+inline std::string to_utf8(const wchar_t *str)
+{
+ return boost::locale::conv::utf_to_utf<char>(str);
+}
+
+inline std::wstring to_wstring(const std::string& utf8str)
+{
+ return boost::locale::conv::utf_to_utf<wchar_t>(utf8str);
+}
+
+#endif
+
+inline std::string to_utf8(const wxString& str)
+{
+ return std::string(str.utf8_str());
+}
+
+inline std::wstring to_wstring(const wxString& str)
+{
+ return str.ToStdWstring();
+}
+
+#if defined(__cplusplus) && defined(__OBJC__)
+
+inline NSString *to_NS(const wxString& str)
+{
+ return [NSString stringWithUTF8String:str.utf8_str()];
+}
+
+inline wxString to_wx(NSString *str)
+{
+ return wxString::FromUTF8Unchecked([str UTF8String]);
+}
+
+inline NSString *to_NS(const std::string& utf8str)
+{
+ return [NSString stringWithUTF8String:utf8str.c_str()];
+}
+
+inline std::string to_utf8(NSString *str)
+{
+ return std::string([str UTF8String]);
+}
+
+inline NSString *to_NS(const std::wstring& str)
+{
+ return to_NS(to_utf8(str));
+}
+
+inline std::wstring to_wstring(NSString *str)
+{
+ std::wstring_convert<std::codecvt_utf8<wchar_t>, wchar_t> convert;
+ return convert.from_bytes([str UTF8String]);
+}
+
+#endif // Objective-C++
+
+
+// ICU conversions; only included them if ICU is included
+#ifdef UNISTR_H
+
+/**
+ Create read-only icu::UnicodeString from wxString efficiently.
+
+ Notice that the resulting string is only valid for the input wxString's
+ lifetime duration, unless you make a copy.
+ */
+inline icu::UnicodeString to_icu(const wxString& str)
+{
+#if wxUSE_UNICODE_UTF8
+ return icu::UnicodeString::fromUTF8((const char*)str.utf8_str());
+#elif SIZEOF_WCHAR_T == 4
+ return icu::UnicodeString::fromUTF32((const UChar32*)str.wx_str(), (int32_t)str.length());
+#elif SIZEOF_WCHAR_T == 2
+ // read-only aliasing ctor, doesn't copy data
+ return icu::UnicodeString(true, str.wx_str(), str.length());
+#else
+ #error "WTF?!"
+#endif
+}
+
+/**
+Create read-only icu::UnicodeString from std::wstring efficiently.
+
+Notice that the resulting string is only valid for the input std::wstring's
+lifetime duration, unless you make a copy.
+*/
+inline icu::UnicodeString to_icu(const std::wstring& str)
+{
+#if SIZEOF_WCHAR_T == 4
+ return icu::UnicodeString::fromUTF32((const UChar32*) str.c_str(), (int32_t) str.length());
+#elif SIZEOF_WCHAR_T == 2
+ // read-only aliasing ctor, doesn't copy data
+ return icu::UnicodeString(true, str.c_str(), str.length());
+#else
+ #error "WTF?!"
+#endif
+}
+
+/// Create wxString from icu::UnicodeString, making a copy.
+inline wxString to_wx(const icu::UnicodeString& str)
+{
+#if wxUSE_UNICODE_WCHAR && SIZEOF_WCHAR_T == 2
+ return wxString(str.getBuffer(), str.length());
+#else
+ return wxString((const char*)str.getBuffer(), wxMBConvUTF16(), str.length() * 2);
+#endif
+}
+
+/// Create std::wstring from icu::UnicodeString, making a copy.
+inline std::wstring to_wstring(const icu::UnicodeString& str)
+{
+ return to_wx(str).ToStdWstring();
+}
+
+#endif // UNISTR_H
+
+} // namespace str
+
+#endif // Poedit_str_helpers_h
diff --git a/src/syntaxhighlighter.cpp b/src/syntaxhighlighter.cpp
index 07f8b7d..b9a7791 100644
--- a/src/syntaxhighlighter.cpp
+++ b/src/syntaxhighlighter.cpp
@@ -63,14 +63,13 @@ void SyntaxHighlighter::Highlight(const std::wstring& s, SyntaxHighlighter::Call
int pos = int(i - s.begin());
if (++i == s.end())
break;
- // TODO: highlight full syntax, incl. octals: http://en.cppreference.com/w/cpp/language/escape
+ // Note: this must match AnyTranslatableTextCtrl::EscapePlainText()
switch (*i)
{
case '0':
case 'n':
case 'r':
case 't':
- case '"':
case '\\':
highlight(pos, pos + 2, Escape);
break;
diff --git a/src/text_control.cpp b/src/text_control.cpp
index 17f7031..276aae2 100644
--- a/src/text_control.cpp
+++ b/src/text_control.cpp
@@ -31,7 +31,6 @@
#ifdef __WXOSX__
#import <AppKit/NSTextView.h>
#import <Foundation/NSUndoManager.h>
- #include "osx_helpers.h"
#endif
#ifdef __WXMSW__
@@ -50,6 +49,7 @@
#endif
#include "spellchecking.h"
+#include "str_helpers.h"
namespace
@@ -77,19 +77,19 @@ inline ITextDocumentPtr TextDocument(wxTextCtrl *ctrl)
return doc;
}
-// Temporarily supresses recording of changes for Undo/Redo functionality
+// Temporarily suppresses recording of changes for Undo/Redo functionality
// See http://stackoverflow.com/questions/4138981/temporaily-disabling-the-c-sharp-rich-edit-undo-buffer-while-performing-syntax-h
// and http://forums.codeguru.com/showthread.php?325068-Realizing-Undo-Redo-functionality-for-RichEdit-Syntax-Highlighter
-class UndoSupressor
+class UndoSuppressor
{
public:
- UndoSupressor(CustomizedTextCtrl *ctrl) : m_doc(TextDocument(ctrl))
+ UndoSuppressor(CustomizedTextCtrl *ctrl) : m_doc(TextDocument(ctrl))
{
if (m_doc)
m_doc->Undo(tomSuspend, NULL);
}
- ~UndoSupressor()
+ ~UndoSuppressor()
{
if (m_doc)
m_doc->Undo(tomResume, NULL);
@@ -143,12 +143,23 @@ private:
ITextDocumentPtr m_doc;
};
-#else
+#elif defined(__WXGTK__)
class UndoGroup
{
public:
- UndoGroup(TranslationTextCtrl*) {}
+ UndoGroup(TranslationTextCtrl *ctrl) : m_ctrl(ctrl)
+ {
+ m_ctrl->BeginUndoGrouping();
+ }
+
+ ~UndoGroup()
+ {
+ m_ctrl->EndUndoGrouping();
+ }
+
+private:
+ TranslationTextCtrl *m_ctrl;
};
#endif
@@ -173,15 +184,17 @@ CustomizedTextCtrl::CustomizedTextCtrl(wxWindow *parent, wxWindowID winid, long
[text setTextContainerInset:NSMakeSize(1,3)];
[text setRichText:NO];
- [text setAutomaticQuoteSubstitutionEnabled:NO];
- [text setAutomaticDashSubstitutionEnabled:NO];
+ // TODO: This isn't implemented and doesn't work in OS X
+ //Bind(wxEVT_TEXT_COPY, &CustomizedTextCtrl::OnCopy, this);
+ //Bind(wxEVT_TEXT_CUT, &CustomizedTextCtrl::OnCut, this);
+ //Bind(wxEVT_TEXT_PASTE, &CustomizedTextCtrl::OnPaste, this);
}
void CustomizedTextCtrl::DoSetValue(const wxString& value, int flags)
{
wxEventBlocker block(this, (flags & SetValue_SendEvent) ? 0 : wxEVT_ANY);
- [TextView(this) setString:wxStringToNS(value)];
+ [TextView(this) setString:str::to_NS(value)];
SendTextUpdatedEventIfAllowed();
}
@@ -221,16 +234,22 @@ CustomizedTextCtrl::CustomizedTextCtrl(wxWindow *parent, wxWindowID winid, long
padding.SetRightIndent(5);
SetDefaultStyle(padding);
-#ifdef __WXMSW__
+#if defined(__WXMSW__) || defined(__WXGTK__)
Bind(wxEVT_TEXT_COPY, &CustomizedTextCtrl::OnCopy, this);
Bind(wxEVT_TEXT_CUT, &CustomizedTextCtrl::OnCut, this);
Bind(wxEVT_TEXT_PASTE, &CustomizedTextCtrl::OnPaste, this);
#endif
+
+#ifdef __WXGTK__
+ m_historyLocks = 0;
+ if (!(style & wxTE_READONLY))
+ Bind(wxEVT_TEXT, &CustomizedTextCtrl::OnText, this);
+#endif
}
#endif // !__WXOSX__
-#ifdef __WXMSW__
+#if defined(__WXMSW__) || defined(__WXGTK__)
// We use wxTE_RICH2 style, which allows for pasting rich-formatted
// text into the control. We want to allow only plain text (all the
// formatting done is Poedit's syntax highlighting), so we need to
@@ -240,6 +259,9 @@ CustomizedTextCtrl::CustomizedTextCtrl(wxWindow *parent, wxWindowID winid, long
// content was programatically changed:
// https://sourceforge.net/tracker/index.php?func=detail&aid=1910234&group_id=27043&atid=389153
+// Note that GTK has a very similar problem with pasting rich text,
+// which is why this code is enabled for GTK too.
+
bool CustomizedTextCtrl::DoCopy()
{
long from, to;
@@ -247,21 +269,20 @@ bool CustomizedTextCtrl::DoCopy()
if ( from == to )
return false;
- const wxString sel = GetRange(from, to);
-
wxClipboardLocker lock;
wxCHECK_MSG( !!lock, false, "failed to lock clipboard" );
- wxClipboard::Get()->SetData(new wxTextDataObject(sel));
+ auto text = DoCopyText(from, to);
+ wxClipboard::Get()->SetData(new wxTextDataObject(text));
return true;
}
-void CustomizedTextCtrl::OnCopy(wxClipboardTextEvent& event)
+void CustomizedTextCtrl::OnCopy(wxClipboardTextEvent&)
{
DoCopy();
}
-void CustomizedTextCtrl::OnCut(wxClipboardTextEvent& event)
+void CustomizedTextCtrl::OnCut(wxClipboardTextEvent&)
{
if ( !DoCopy() )
return;
@@ -271,7 +292,7 @@ void CustomizedTextCtrl::OnCut(wxClipboardTextEvent& event)
Remove(from, to);
}
-void CustomizedTextCtrl::OnPaste(wxClipboardTextEvent& event)
+void CustomizedTextCtrl::OnPaste(wxClipboardTextEvent&)
{
wxClipboardLocker lock;
wxCHECK_RET( !!lock, "failed to lock clipboard" );
@@ -281,9 +302,110 @@ void CustomizedTextCtrl::OnPaste(wxClipboardTextEvent& event)
long from, to;
GetSelection(&from, &to);
- Replace(from, to, d.GetText());
+ DoPasteText(from, to, d.GetText());
+}
+
+wxString CustomizedTextCtrl::DoCopyText(long from, long to)
+{
+ return GetRange(from, to);
+}
+
+void CustomizedTextCtrl::DoPasteText(long from, long to, const wxString& s)
+{
+ Replace(from, to, s);
+}
+#endif // __WXMSW__/__WXGTK__
+
+#ifdef __WXGTK__
+void CustomizedTextCtrl::BeginUndoGrouping()
+{
+ m_historyLocks++;
+}
+
+void CustomizedTextCtrl::EndUndoGrouping()
+{
+ if (--m_historyLocks == 0)
+ SaveSnapshot();
+}
+
+void CustomizedTextCtrl::SaveSnapshot()
+{
+ // if we saved the snapshot in DoSetValue, OnText might still call this function again
+ // therefore, we make sure to filter out duplicate entries
+ if (m_historyIndex && m_history[m_historyIndex - 1].text == GetValue())
+ return;
+
+ m_history.resize(m_historyIndex); // truncate the list
+ m_history.push_back({GetValue(), GetInsertionPoint()});
+ m_historyIndex++;
+}
+
+void CustomizedTextCtrl::DoSetValue(const wxString& value, int flags)
+{
+ // SetValue_SendEvent is set if this function was called from SetValue
+ // SetValue_SendEvent is NOT set if this function was called from ChangeValue
+ if (flags & SetValue_SendEvent)
+ {
+ // clear the history
+ // m_history itself will be cleared when SaveSnapshot is called
+ m_historyIndex = 0;
+
+ // set the new value
+ wxTextCtrl::DoSetValue(value, flags);
+
+ // make sure to save a snapshot even if EVT_TEXT is blocked
+ SaveSnapshot();
+ }
+ else
+ {
+ // just set the new value, don't save a snapshot
+ // this is what happens when you click Undo or Redo
+ wxTextCtrl::DoSetValue(value, flags);
+ }
+}
+
+void CustomizedTextCtrl::OnText(wxCommandEvent& event)
+{
+ SaveSnapshot();
+ event.Skip();
+}
+
+bool CustomizedTextCtrl::CanUndo() const
+{
+ return (m_historyIndex > 1);
+}
+
+bool CustomizedTextCtrl::CanRedo() const
+{
+ return (m_historyIndex < m_history.size());
+}
+
+void CustomizedTextCtrl::Undo()
+{
+ // ChangeValue calls AnyTranslatableTextCtrl::DoSetValue, which calls CustomizedTextCtrl::DoSetValue
+ ChangeValue(m_history[m_historyIndex - 2].text);
+ SetInsertionPoint(m_history[m_historyIndex - 2].insertionPoint);
+ m_historyIndex--;
+}
+
+void CustomizedTextCtrl::Redo()
+{
+ // ChangeValue calls AnyTranslatableTextCtrl::DoSetValue, which calls CustomizedTextCtrl::DoSetValue
+ ChangeValue(m_history[m_historyIndex].text);
+ SetInsertionPoint(m_history[m_historyIndex].insertionPoint);
+ m_historyIndex++;
+}
+#endif // __WXGTK__
+
+void CustomizedTextCtrl::ShowFindIndicator(int from, int length)
+{
+ ShowPosition(from);
+#ifdef __WXOSX__
+ [TextView(this) showFindIndicatorForRange:NSMakeRange(from, length)];
+#else
+ SetSelection(from, from + length);
+#endif
}
-#endif // __WXMSW__
@@ -370,6 +492,122 @@ void AnyTranslatableTextCtrl::SetLanguageRTL(bool isRTL)
#endif
}
+wxString AnyTranslatableTextCtrl::EscapePlainText(const wxString& s)
+{
+ // Note: the escapes used here should match with
+ // SyntaxHighlighter::Highlight() ones
+ wxString s2;
+ s2.reserve(s.length());
+ for (auto i = s.begin(); i != s.end(); ++i)
+ {
+ wchar_t c = *i;
+ switch (c)
+ {
+ case '\n':
+ s2 += "\\n\n";
+ break;
+ case '\r':
+ s2 += "\\r";
+ break;
+ case '\t':
+ s2 += "\\t";
+ break;
+ case '\0':
+ s2 += "\\0";
+ break;
+ case '\\':
+ {
+ s2 += c;
+ auto peek = i + 1;
+ if ( peek != s.end() )
+ {
+ switch ((wchar_t)*peek)
+ {
+ case 'n': case '\n':
+ case 'r': case '\r':
+ case 't': case '\t':
+ case '0': case '\0':
+ case '\\':
+ s2 += c; // escape problematic backslash
+ break;
+ }
+ }
+ break;
+ }
+ default:
+ s2 += c;
+ break;
+ }
+ }
+ return s2;
+}
+
+wxString AnyTranslatableTextCtrl::UnescapePlainText(const wxString& s)
+{
+ wxString s2;
+ s2.reserve(s.length());
+ for (auto i = s.begin(); i != s.end(); ++i)
+ {
+ wchar_t c0 = *i;
+ if (c0 == '\\')
+ {
+ if ( ++i == s.end() )
+ {
+ s2 += '\\';
+ return s2;
+ }
+ wchar_t c = *i;
+ switch (c)
+ {
+ case 'r':
+ s2 += '\r';
+ break;
+ case 't':
+ s2 += '\t';
+ break;
+ case '0':
+ s2 += '\0';
+ break;
+ case 'n':
+ {
+ s2 += '\n';
+ auto peek = i + 1;
+ if ( peek != s.end() && *peek == '\n' )
+ {
+ // "\\n\n" should be treated as single newline
+ i = peek;
+ }
+ break;
+ }
+ case '\\':
+ s2 += '\\';
+ break;
+ default:
+ s2 += '\\';
+ s2 += c;
+ break;
+ }
+ }
+ else
+ {
+ s2 += c0;
+ }
+ }
+ return s2;
+}
+
+#if defined(__WXMSW__) || defined(__WXGTK__)
+wxString AnyTranslatableTextCtrl::DoCopyText(long from, long to)
+{
+ return UnescapePlainText(GetRange(from, to));
+}
+
+void AnyTranslatableTextCtrl::DoPasteText(long from, long to, const wxString& s)
+{
+ Replace(from, to, EscapePlainText(s));
+}
+#endif
+
#ifdef __WXMSW__
void AnyTranslatableTextCtrl::DoSetValue(const wxString& value, int flags)
{
@@ -381,7 +619,7 @@ void AnyTranslatableTextCtrl::DoSetValue(const wxString& value, int flags)
void AnyTranslatableTextCtrl::UpdateRTLStyle()
{
wxEventBlocker block(this, wxEVT_TEXT);
- UndoSupressor blockUndo(this);
+ UndoSuppressor blockUndo(this);
PARAFORMAT2 pf;
::ZeroMemory(&pf, sizeof(pf));
@@ -432,7 +670,7 @@ void AnyTranslatableTextCtrl::HighlightText()
wxEventBlocker block(this, wxEVT_TEXT);
#ifdef __WXMSW__
- UndoSupressor blockUndo(this);
+ UndoSuppressor blockUndo(this);
#endif
auto deflt = m_attrs->Default();
@@ -456,7 +694,8 @@ SourceTextCtrl::SourceTextCtrl(wxWindow *parent, wxWindowID winid)
TranslationTextCtrl::TranslationTextCtrl(wxWindow *parent, wxWindowID winid)
- : AnyTranslatableTextCtrl(parent, winid)
+ : AnyTranslatableTextCtrl(parent, winid),
+ m_lastKeyWasReturn(false)
{
#ifdef __WXMSW__
PrepareTextCtrlForSpellchecker(this);
@@ -465,6 +704,30 @@ TranslationTextCtrl::TranslationTextCtrl(wxWindow *parent, wxWindowID winid)
#ifdef __WXOSX__
[TextView(this) setAllowsUndo:YES];
#endif
+
+ Bind(wxEVT_KEY_DOWN, &TranslationTextCtrl::OnKeyDown, this);
+ Bind(wxEVT_TEXT, &TranslationTextCtrl::OnText, this);
+}
+
+void TranslationTextCtrl::OnKeyDown(wxKeyEvent& e)
+{
+ m_lastKeyWasReturn = (e.GetUnicodeKey() == WXK_RETURN);
+ e.Skip();
+}
+
+void TranslationTextCtrl::OnText(wxCommandEvent& e)
+{
+ if (m_lastKeyWasReturn)
+ {
+ // Insert \n markup in front of newlines:
+ m_lastKeyWasReturn = false;
+ long pos = GetInsertionPoint();
+ auto range = GetRange(std::max(0l, pos - 3), pos);
+ if (range.Last() == '\n' && range != "\\n\n")
+ Replace(pos - 1, pos, "\\n\n");
+ }
+
+ e.Skip();
}
#ifdef __WXOSX__
@@ -477,10 +740,10 @@ void TranslationTextCtrl::DoSetValue(const wxString& value, int flags)
}
#endif
-void TranslationTextCtrl::SetValueUserWritten(const wxString& value)
+void TranslationTextCtrl::SetPlainTextUserWritten(const wxString& value)
{
UndoGroup undo(this);
SelectAll();
- WriteText(value);
+ WriteText(EscapePlainText(value));
SetInsertionPointEnd();
}
diff --git a/src/text_control.h b/src/text_control.h
index ce3c924..39e5c23 100644
--- a/src/text_control.h
+++ b/src/text_control.h
@@ -28,6 +28,7 @@
#include <wx/textctrl.h>
#include <memory>
+#include <vector>
#include "syntaxhighlighter.h"
@@ -38,6 +39,8 @@
- Allow setting text programatically, without user-input processing (OS X)
- Disable user-usable rich text support
- Stylistic tweaks (padding and such)
+ - Generic undo/redo implementation for GTK
+ - Search highlighting
*/
class CustomizedTextCtrl : public wxTextCtrl
{
@@ -46,18 +49,50 @@ public:
CustomizedTextCtrl(wxWindow *parent, wxWindowID winid, long style = 0);
+ /// Show find result indicator at given part of the text
+ void ShowFindIndicator(int from, int length);
+
+#ifdef __WXGTK__
+ // Undo/redo implementation:
+ void BeginUndoGrouping();
+ void EndUndoGrouping();
+ void SaveSnapshot();
+#endif
+
protected:
#ifdef __WXOSX__
void DoSetValue(const wxString& value, int flags) override;
wxString DoGetValue() const override;
#endif
-#ifdef __WXMSW__
+#if defined(__WXMSW__) || defined(__WXGTK__)
bool DoCopy();
void OnCopy(wxClipboardTextEvent& event);
void OnCut(wxClipboardTextEvent& event);
void OnPaste(wxClipboardTextEvent& event);
-#endif // __WXMSW__
+
+ virtual wxString DoCopyText(long from, long to);
+ virtual void DoPasteText(long from, long to, const wxString& s);
+#endif // __WXMSW__/__WXGTK__
+
+#ifdef __WXGTK__
+ struct Snapshot
+ {
+ wxString text;
+ long insertionPoint;
+ };
+
+ void DoSetValue(const wxString& value, int flags) override;
+ void OnText(wxCommandEvent& event);
+ bool CanUndo() const override;
+ bool CanRedo() const override;
+ void Undo() override;
+ void Redo() override;
+
+ std::vector<Snapshot> m_history;
+ size_t m_historyIndex; // where in the vector to insert the next snapshot
+ int m_historyLocks;
+#endif // __WXGTK__
};
@@ -69,7 +104,23 @@ public:
void SetLanguageRTL(bool isRTL);
+ // Set and get control's text as plain/raw text, with no escaping or formatting.
+ // This is the "true" representation, with e.g newlines included. The version
+ // displayed to the user includes syntax highlighting and escaping of some characters
+ // (e.g. tabs shown as \t, newlines as \n followed by newline).
+ void SetPlainText(const wxString& s) { SetValue(EscapePlainText(s)); }
+ wxString GetPlainText() const { return UnescapePlainText(GetValue()); }
+
+ // Apply escaping as described in SetPlainText:
+ static wxString EscapePlainText(const wxString& s);
+ static wxString UnescapePlainText(const wxString& s);
+
protected:
+#if defined(__WXMSW__) || defined(__WXGTK__)
+ wxString DoCopyText(long from, long to) override;
+ void DoPasteText(long from, long to, const wxString& s) override;
+#endif
+
#ifdef __WXMSW__
void DoSetValue(const wxString& value, int flags) override;
void UpdateRTLStyle();
@@ -105,12 +156,17 @@ public:
TranslationTextCtrl(wxWindow *parent, wxWindowID winid);
/// Sets the value to something the user wrote
- void SetValueUserWritten(const wxString& value);
+ void SetPlainTextUserWritten(const wxString& value);
protected:
+ void OnKeyDown(wxKeyEvent& e);
+ void OnText(wxCommandEvent& e);
+
#ifdef __WXOSX__
void DoSetValue(const wxString& value, int flags) override;
#endif
+
+ bool m_lastKeyWasReturn;
};
#endif // Poedit_text_control_h
diff --git a/src/tm/suggestions.cpp b/src/tm/suggestions.cpp
index 37a0c23..4679754 100644
--- a/src/tm/suggestions.cpp
+++ b/src/tm/suggestions.cpp
@@ -25,22 +25,23 @@
#include "suggestions.h"
-#include "ThreadPool.h"
+#include "concurrency.h"
class SuggestionsProviderImpl
{
public:
- SuggestionsProviderImpl() : m_pool(2) {}
+ SuggestionsProviderImpl() {}
void SuggestTranslation(SuggestionsBackend& backend,
+ const Language& srclang,
const Language& lang,
const std::wstring& source,
SuggestionsProvider::success_func_type onSuccess,
SuggestionsProvider::error_func_type onError)
{
auto bck = &backend;
- m_pool.enqueue([=](){
+ concurrency_queue::add([=](){
// don't bother asking the backend if the language is invalid:
if (!lang.IsValid())
{
@@ -48,12 +49,28 @@ public:
return;
}
// query the backend:
- bck->SuggestTranslation(lang, source, onSuccess, onError);
+ bck->SuggestTranslation(srclang, lang, source, onSuccess, onError);
});
}
-private:
- ThreadPool m_pool;
+ std::future<SuggestionsList> SuggestTranslation(SuggestionsBackend& backend,
+ const Language& srclang,
+ const Language& lang,
+ const std::wstring& source)
+ {
+ auto promise = std::make_shared<std::promise<SuggestionsList>>();
+
+ SuggestTranslation(backend, srclang, lang, source,
+ [=](const SuggestionsList& results) {
+ promise->set_value(results);
+ },
+ [=](std::exception_ptr e) {
+ promise->set_exception(e);
+ }
+ );
+
+ return promise->get_future();
+ }
};
@@ -67,10 +84,20 @@ SuggestionsProvider::~SuggestionsProvider()
}
void SuggestionsProvider::SuggestTranslation(SuggestionsBackend& backend,
+ const Language& srclang,
const Language& lang,
const std::wstring& source,
success_func_type onSuccess,
error_func_type onError)
{
- m_impl->SuggestTranslation(backend, lang, source, onSuccess, onError);
+ m_impl->SuggestTranslation(backend, srclang, lang, source, onSuccess, onError);
+}
+
+std::future<SuggestionsList>
+SuggestionsProvider::SuggestTranslation(SuggestionsBackend& backend,
+ const Language& srclang,
+ const Language& lang,
+ const std::wstring& source)
+{
+ return m_impl->SuggestTranslation(backend, srclang, lang, source);
}
diff --git a/src/tm/suggestions.h b/src/tm/suggestions.h
index 7aeecd4..8deb16e 100644
--- a/src/tm/suggestions.h
+++ b/src/tm/suggestions.h
@@ -28,6 +28,7 @@
#include <cmath>
#include <functional>
+#include <future>
#include <limits>
#include <memory>
#include <string>
@@ -113,17 +114,26 @@ public:
@param backend Suggestions backend to use, e.g.
TranslationMemory::Get().
+ @param srclang Language of the source text.
@param lang Language of the desired translation.
@param source Source text.
@param onSuccess Called with suggestions.
@param onError Called in case of error.
*/
void SuggestTranslation(SuggestionsBackend& backend,
+ const Language& srclang,
const Language& lang,
const std::wstring& source,
success_func_type onSuccess,
error_func_type onError);
+ /// Same as the other version but returns a future
+ std::future<SuggestionsList>
+ SuggestTranslation(SuggestionsBackend& backend,
+ const Language& srclang,
+ const Language& lang,
+ const std::wstring& source);
+
private:
std::unique_ptr<SuggestionsProviderImpl> m_impl;
};
@@ -161,12 +171,14 @@ public:
If no suggestions are found, @a onSuccess is called with an empty
list as its argument.
+ @param srclang Language of the source text.
@param lang Language of the desired translation.
@param source Source text.
@param onSuccess Called with suggestions.
@param onError Called in case of error.
*/
- virtual void SuggestTranslation(const Language& lang,
+ virtual void SuggestTranslation(const Language& srclang,
+ const Language& lang,
const std::wstring& source,
success_func_type onSuccess,
error_func_type onError) = 0;
diff --git a/src/tm/tm_migrate.cpp b/src/tm/tm_migrate.cpp
index 6f75528..2ca1667 100644
--- a/src/tm/tm_migrate.cpp
+++ b/src/tm/tm_migrate.cpp
@@ -23,6 +23,8 @@
*
*/
+#ifndef DONT_MIGRATE_LEGACY_TM
+
#include "transmem.h"
#include "logcapture.h"
@@ -147,7 +149,8 @@ void XMLCALL OnStartElement(void *data, const char *name, const char **attrs)
t = wxString::FromUTF8(attrs[i+1]);
if (!s.empty() && !t.empty())
{
- ctxt.tm->Insert(ctxt.lang, s.ToStdWstring(), t.ToStdWstring());
+ static const auto srclang = Language::English();
+ ctxt.tm->Insert(srclang, ctxt.lang, s.ToStdWstring(), t.ToStdWstring());
if (ctxt.count++ % 47 == 0)
ctxt.progress->Pulse(wxString::Format(_("Importing translations: %d"), ctxt.count));
}
@@ -187,7 +190,7 @@ void DoMigrate(const wxString& path, const wxString& languages)
ExpatContext ctxt;
ctxt.progress = &progress;
ctxt.count = 0;
- ctxt.tm = TranslationMemory::Get().CreateWriter();
+ ctxt.tm = TranslationMemory::Get().GetWriter();
XML_Parser parser = XML_ParserCreate(NULL);
XML_SetUserData(parser, &ctxt);
@@ -302,3 +305,5 @@ bool MigrateLegacyTranslationMemory()
return true;
}
+
+#endif // !DONT_MIGRATE_LEGACY_TM
diff --git a/src/tm/transmem.cpp b/src/tm/transmem.cpp
index 143f949..6a9c0b1 100644
--- a/src/tm/transmem.cpp
+++ b/src/tm/transmem.cpp
@@ -27,6 +27,7 @@
#include "catalog.h"
#include "errors.h"
+#include "utility.h"
#include <wx/stdpaths.h>
#include <wx/utils.h>
@@ -91,28 +92,35 @@ public:
typedef MMapDirectory DirectoryType;
#endif
- TranslationMemoryImpl()
- : m_dir(GetDatabaseDir()),
- m_analyzer(newLucene<StandardAnalyzer>(LuceneVersion::LUCENE_CURRENT))
- {}
+ TranslationMemoryImpl() { Init(); }
- SuggestionsList Search(const Language& lang,
+ ~TranslationMemoryImpl()
+ {
+ m_reader->close();
+ m_writer->close();
+ }
+
+ SuggestionsList Search(const Language& srclang, const Language& lang,
const std::wstring& source);
- std::shared_ptr<TranslationMemory::Writer> CreateWriter();
+ std::shared_ptr<TranslationMemory::Writer> GetWriter() { return m_writerAPI; }
void GetStats(long& numDocs, long& fileSize);
private:
+ void Init();
+
static std::wstring GetDatabaseDir();
IndexReaderPtr Reader();
SearcherPtr Searcher();
private:
- std::wstring m_dir;
AnalyzerPtr m_analyzer;
+ IndexWriterPtr m_writer;
IndexReaderPtr m_reader;
std::mutex m_readerMutex;
+
+ std::shared_ptr<TranslationMemory::Writer> m_writerAPI;
};
@@ -140,10 +148,14 @@ std::wstring TranslationMemoryImpl::GetDatabaseDir()
IndexReaderPtr TranslationMemoryImpl::Reader()
{
std::lock_guard<std::mutex> guard(m_readerMutex);
- if ( m_reader )
- m_reader = m_reader->reopen();
- else
- m_reader = IndexReader::open(newLucene<DirectoryType>(m_dir), true);
+
+ if (!m_reader->isCurrent())
+ {
+ auto newReader = m_reader->reopen();
+ m_reader->close();
+ m_reader = newReader;
+ }
+
return m_reader;
}
@@ -168,9 +180,28 @@ bool ContainsResult(const SuggestionsList& all, const std::wstring& r)
return found != all.end();
}
+// Return translation (or source) text field.
+//
+// Older versions of Poedit used to store C-like escaped text (e.g. "\n" instead
+// of newline), but starting with 1.8, the "true" form of the text is stored.
+// To preserve compatibility with older data, a version field is stored with
+// TM documents and this function decides whether to decode escapes or not.
+//
+// TODO: remove this a few years down the road.
+std::wstring get_text_field(DocumentPtr doc, const std::wstring& field)
+{
+ auto version = doc->get(L"v");
+ auto value = doc->get(field);
+ if (version.empty()) // pre-1.8 data
+ return UnescapeCString(value);
+ else
+ return value;
+}
+
+
template<typename T>
void PerformSearchWithBlock(IndexSearcherPtr searcher,
- QueryPtr lang,
+ QueryPtr srclang, QueryPtr lang,
const std::wstring& exactSourceText,
QueryPtr query,
double scoreThreshold,
@@ -178,6 +209,7 @@ void PerformSearchWithBlock(IndexSearcherPtr searcher,
T callback)
{
auto fullQuery = newLucene<BooleanQuery>();
+ fullQuery->add(srclang, BooleanClause::MUST);
fullQuery->add(lang, BooleanClause::MUST);
fullQuery->add(query, BooleanClause::MUST);
@@ -191,7 +223,7 @@ void PerformSearchWithBlock(IndexSearcherPtr searcher,
continue;
auto doc = searcher->doc(scoreDoc->doc);
- auto src = doc->get(L"source");
+ auto src = get_text_field(doc, L"source");
if (src == exactSourceText)
{
score = 1.0;
@@ -217,7 +249,7 @@ void PerformSearchWithBlock(IndexSearcherPtr searcher,
}
void PerformSearch(IndexSearcherPtr searcher,
- QueryPtr lang,
+ QueryPtr srclang, QueryPtr lang,
const std::wstring& exactSourceText,
QueryPtr query,
SuggestionsList& results,
@@ -226,11 +258,11 @@ void PerformSearch(IndexSearcherPtr searcher,
{
PerformSearchWithBlock
(
- searcher, lang, exactSourceText, query,
+ searcher, srclang, lang, exactSourceText, query,
scoreThreshold, scoreScaling,
[&results](DocumentPtr doc, double score)
{
- auto t = doc->get(L"trans");
+ auto t = get_text_field(doc, L"trans");
if (!ContainsResult(results, t))
{
time_t ts = DateField::stringToTime(doc->get(L"created"));
@@ -245,11 +277,15 @@ void PerformSearch(IndexSearcherPtr searcher,
} // anonymous namespace
-SuggestionsList TranslationMemoryImpl::Search(const Language& lang,
+SuggestionsList TranslationMemoryImpl::Search(const Language& srclang,
+ const Language& lang,
const std::wstring& source)
{
try
{
+ // TODO: query by srclang too!
+ auto srclangQ = newLucene<TermQuery>(newLucene<Term>(L"srclang", srclang.WCode()));
+
const Lucene::String fullLang = lang.WCode();
const Lucene::String shortLang = StringUtils::toUnicode(lang.Lang());
@@ -290,14 +326,14 @@ SuggestionsList TranslationMemoryImpl::Search(const Language& lang,
auto searcher = newLucene<IndexSearcher>(Reader());
// Try exact phrase first:
- PerformSearch(searcher, langQ, source, phraseQ, results,
+ PerformSearch(searcher, srclangQ, langQ, source, phraseQ, results,
QUALITY_THRESHOLD, /*scoreScaling=*/1.0);
if (!results.empty())
return results;
// Then, if no matches were found, permit being a bit sloppy:
phraseQ->setSlop(1);
- PerformSearch(searcher, langQ, source, phraseQ, results,
+ PerformSearch(searcher, srclangQ, langQ, source, phraseQ, results,
QUALITY_THRESHOLD, /*scoreScaling=*/0.9);
if (!results.empty())
@@ -308,12 +344,12 @@ SuggestionsList TranslationMemoryImpl::Search(const Language& lang,
boolQ->setMinimumNumberShouldMatch(std::max(1, boolQ->getClauses().size() - MAX_ALLOWED_LENGTH_DIFFERENCE));
PerformSearchWithBlock
(
- searcher, langQ, source, boolQ,
+ searcher, srclangQ, langQ, source, boolQ,
QUALITY_THRESHOLD, /*scoreScaling=*/0.8,
[=,&results](DocumentPtr doc, double score)
{
- auto s = doc->get(sourceField);
- auto t = doc->get(L"trans");
+ auto s = get_text_field(doc, sourceField);
+ auto t = get_text_field(doc, L"trans");
auto stream2 = m_analyzer->tokenStream(sourceField, newLucene<StringReader>(s));
int tokensCount2 = 0;
while (stream2->incrementToken())
@@ -357,33 +393,32 @@ void TranslationMemoryImpl::GetStats(long& numDocs, long& fileSize)
class TranslationMemoryWriterImpl : public TranslationMemory::Writer
{
public:
- TranslationMemoryWriterImpl(DirectoryPtr dir, AnalyzerPtr analyzer)
- {
- m_writer = newLucene<IndexWriter>(dir, analyzer, IndexWriter::MaxFieldLengthLIMITED);
- m_writer->setMergeScheduler(newLucene<SerialMergeScheduler>());
- }
+ TranslationMemoryWriterImpl(IndexWriterPtr writer) : m_writer(writer) {}
- ~TranslationMemoryWriterImpl()
+ ~TranslationMemoryWriterImpl() {}
+
+ void Commit() override
{
- if (m_writer)
- m_writer->rollback();
+ try
+ {
+ m_writer->commit();
+ }
+ CATCH_AND_RETHROW_EXCEPTION
}
- virtual void Commit()
+ void Rollback() override
{
try
{
- m_writer->close();
- m_writer.reset();
+ m_writer->rollback();
}
CATCH_AND_RETHROW_EXCEPTION
}
- virtual void Insert(const Language& lang,
- const std::wstring& source,
- const std::wstring& trans)
+ void Insert(const Language& srclang, const Language& lang,
+ const std::wstring& source, const std::wstring& trans) override
{
- if (!lang.IsValid())
+ if (!lang.IsValid() || !srclang.IsValid() || lang == srclang)
return;
// Compute unique ID for the translation:
@@ -392,7 +427,7 @@ public:
boost::uuids::string_generator()("6e3f73c5-333f-4171-9d43-954c372a8a02");
boost::uuids::name_generator gen(s_namespace);
- std::wstring itemId(L"en"); // TODO: srclang
+ std::wstring itemId(srclang.WCode());
itemId += lang.WCode();
itemId += source;
itemId += trans;
@@ -406,9 +441,11 @@ public:
doc->add(newLucene<Field>(L"uuid", itemUUID,
Field::STORE_YES, Field::INDEX_NOT_ANALYZED));
+ doc->add(newLucene<Field>(L"v", L"1",
+ Field::STORE_YES, Field::INDEX_NO));
doc->add(newLucene<Field>(L"created", DateField::timeToString(time(NULL)),
Field::STORE_YES, Field::INDEX_NO));
- doc->add(newLucene<Field>(L"srclang", L"en",
+ doc->add(newLucene<Field>(L"srclang", srclang.WCode(),
Field::STORE_YES, Field::INDEX_NOT_ANALYZED));
doc->add(newLucene<Field>(L"lang", lang.WCode(),
Field::STORE_YES, Field::INDEX_NOT_ANALYZED));
@@ -422,38 +459,43 @@ public:
CATCH_AND_RETHROW_EXCEPTION
}
- virtual void Insert(const Catalog &cat)
+ void Insert(const Language& srclang, const Language& lang, const CatalogItemPtr& item) override
{
- auto lang = cat.GetLanguage();
- if (!lang.IsValid())
+ if (!lang.IsValid() || !srclang.IsValid())
return;
- int cnt = cat.GetCount();
- for (int i = 0; i < cnt; i++)
- {
- const CatalogItem& item = cat[i];
+ // ignore translations with errors in them
+ if (item->GetValidity() == CatalogItem::Val_Invalid)
+ return;
- // ignore translations with errors in them
- if (item.GetValidity() == CatalogItem::Val_Invalid)
- continue;
+ // can't handle plurals yet (TODO?)
+ if (item->HasPlural())
+ return;
- // can't handle plurals yet (TODO?)
- if (item.HasPlural())
- continue;
+ // ignore untranslated or unfinished translations
+ if (item->IsFuzzy() || !item->IsTranslated())
+ return;
- // ignore untranslated or unfinished translations
- if (item.IsFuzzy() || !item.IsTranslated())
- continue;
+ Insert(srclang, lang, item->GetString().ToStdWstring(), item->GetTranslation().ToStdWstring());
+ }
+ void Insert(const CatalogPtr& cat) override
+ {
+ auto srclang = cat->GetSourceLanguage();
+ auto lang = cat->GetLanguage();
+ if (!lang.IsValid() || !srclang.IsValid())
+ return;
+
+ for (auto& item: cat->items())
+ {
// Note that dt.IsModified() is intentionally not checked - we
// want to save old entries in the TM too, so that we harvest as
// much useful translations as we can.
-
- Insert(lang, item.GetString().ToStdWstring(), item.GetTranslation().ToStdWstring());
+ Insert(srclang, lang, item);
}
}
- virtual void DeleteAll()
+ void DeleteAll() override
{
try
{
@@ -466,11 +508,21 @@ private:
IndexWriterPtr m_writer;
};
-std::shared_ptr<TranslationMemory::Writer> TranslationMemoryImpl::CreateWriter()
+
+void TranslationMemoryImpl::Init()
{
try
{
- return std::make_shared<TranslationMemoryWriterImpl>(newLucene<DirectoryType>(m_dir), m_analyzer);
+ auto dir = newLucene<DirectoryType>(GetDatabaseDir());
+ m_analyzer = newLucene<StandardAnalyzer>(LuceneVersion::LUCENE_CURRENT);
+
+ m_writer = newLucene<IndexWriter>(dir, m_analyzer, IndexWriter::MaxFieldLengthLIMITED);
+ m_writer->setMergeScheduler(newLucene<SerialMergeScheduler>());
+
+ // get the associated realtime reader:
+ m_reader = m_writer->getReader();
+
+ m_writerAPI = std::make_shared<TranslationMemoryWriterImpl>(m_writer);
}
CATCH_AND_RETHROW_EXCEPTION
}
@@ -513,20 +565,22 @@ TranslationMemory::~TranslationMemory() { delete m_impl; }
// public API
// ----------------------------------------------------------------
-SuggestionsList TranslationMemory::Search(const Language& lang,
+SuggestionsList TranslationMemory::Search(const Language& srclang,
+ const Language& lang,
const std::wstring& source)
{
- return m_impl->Search(lang, source);
+ return m_impl->Search(srclang, lang, source);
}
-void TranslationMemory::SuggestTranslation(const Language& lang,
+void TranslationMemory::SuggestTranslation(const Language& srclang,
+ const Language& lang,
const std::wstring& source,
success_func_type onSuccess,
error_func_type onError)
{
try
{
- onSuccess(Search(lang, source));
+ onSuccess(Search(srclang, lang, source));
}
catch (...)
{
@@ -534,9 +588,9 @@ void TranslationMemory::SuggestTranslation(const Language& lang,
}
}
-std::shared_ptr<TranslationMemory::Writer> TranslationMemory::CreateWriter()
+std::shared_ptr<TranslationMemory::Writer> TranslationMemory::GetWriter()
{
- return m_impl->CreateWriter();
+ return m_impl->GetWriter();
}
void TranslationMemory::GetStats(long& numDocs, long& fileSize)
diff --git a/src/tm/transmem.h b/src/tm/transmem.h
index 67b7dc9..4c5ddc5 100644
--- a/src/tm/transmem.h
+++ b/src/tm/transmem.h
@@ -30,9 +30,9 @@
#include <vector>
#include <memory>
+#include "catalog.h"
#include "suggestions.h"
-class Catalog;
class TranslationMemoryImpl;
/**
@@ -52,16 +52,19 @@ public:
/**
Search translation memory for similar strings.
+ @param srclang Language of the source text.
@param lang Language of the desired translation.
@param source Source text.
@return List of hits that were found, possibly empty.
*/
- SuggestionsList Search(const Language& lang,
+ SuggestionsList Search(const Language& srclang,
+ const Language& lang,
const std::wstring& source);
/// SuggestionsBackend API implementation:
- void SuggestTranslation(const Language& lang,
+ void SuggestTranslation(const Language& srclang,
+ const Language& lang,
const std::wstring& source,
success_func_type onSuccess,
error_func_type onError) override;
@@ -69,8 +72,16 @@ public:
/**
Performs updates to the translation memory.
- You must call Commit() for them to be written.
-
+ Call Commit() to commit changes since the last commit to disk.
+ Call Rollback() to undo all changes since the last commit.
+
+ Committing shouldn't be done too often, as it is expensive.
+ The writer is shared and can be used by multiple threads.
+
+ Note that closing the writer on shutdown, if it has uncommitted
+ changes, will result in them being committed. You must to explicitly
+ Rollback() them if you don't want that behavior.
+
All methods may throw Exception.
*/
class Writer
@@ -80,33 +91,48 @@ public:
/**
Insert translation into the TM.
-
- @param lang Language code (e.g. pt_BR or cs).
+
+ @param srclang Source text language.
+ @param lang Translation language.
@param source Source text.
@param trans Translation text.
*/
- virtual void Insert(const Language& lang,
+ virtual void Insert(const Language& srclang,
+ const Language& lang,
const std::wstring& source,
const std::wstring& trans) = 0;
/**
+ Inserts a single catalog item.
+
+ @note
+ Not everything is included: fuzzy or untranslated entries are skipped.
+ */
+ virtual void Insert(const Language& srclang,
+ const Language& lang,
+ const CatalogItemPtr& item) = 0;
+
+ /**
Inserts entire content of the catalog.
@note
Not everything is included: fuzzy or untranslated entries are omitted.
If the catalog doesn't have language header, it is not included either.
*/
- virtual void Insert(const Catalog& cat) = 0;
+ virtual void Insert(const CatalogPtr& cat) = 0;
/// Deletes everything from the TM.
virtual void DeleteAll() = 0;
/// Commits changes written so far.
virtual void Commit() = 0;
+
+ /// Rolls back changes written so far.
+ virtual void Rollback() = 0;
};
- /// Creates a writer for updating the TM
- std::shared_ptr<Writer> CreateWriter();
+ /// Returns the shared writer instance
+ std::shared_ptr<Writer> GetWriter();
/// Returns statistics about the TM
void GetStats(long& numDocs, long& fileSize);
diff --git a/src/utility.cpp b/src/utility.cpp
index c74c280..b6dd08f 100644
--- a/src/utility.cpp
+++ b/src/utility.cpp
@@ -29,12 +29,17 @@
#include <wx/filename.h>
#include <wx/log.h>
#include <wx/config.h>
-#include <wx/display.h>
+
+#if wxUSE_GUI
+ #include <wx/display.h>
+#endif
#ifdef __WXOSX__
-#include "osx_helpers.h"
+ #include <Foundation/Foundation.h>
#endif
+#include "str_helpers.h"
+
wxString EscapeMarkup(const wxString& str)
{
wxString s(str);
@@ -44,6 +49,43 @@ wxString EscapeMarkup(const wxString& str)
return s;
}
+
+wxFileName CommonDirectory(const wxFileName& a, const wxFileName& b)
+{
+ if (!a.IsOk())
+ return wxFileName::DirName(b.GetPath());;
+ if (!b.IsOk())
+ return wxFileName::DirName(a.GetPath());;
+
+ const auto& dirs_a = a.GetDirs();
+ const auto& dirs_b = b.GetDirs();
+
+ wxFileName d = wxFileName::DirName(a.GetPath());
+ const auto count = std::min(dirs_a.size(), dirs_b.size());
+ size_t i = 0;
+ for (i = 0; i < count; i++)
+ {
+ if (dirs_a[i] != dirs_b[i])
+ break;
+ }
+ while (d.GetDirCount() != i)
+ d.RemoveLastDir();
+ return d;
+}
+
+wxFileName MakeFileName(const wxString& path)
+{
+ wxFileName fn;
+ if (path.empty())
+ return fn;
+ if (wxFileName::DirExists(path) || path.Last() == wxFILE_SEP_PATH)
+ fn.AssignDir(path);
+ else
+ fn.Assign(path);
+ fn.Normalize();
+ return fn;
+}
+
// ----------------------------------------------------------------------
// TempDirectory
// ----------------------------------------------------------------------
@@ -96,6 +138,14 @@ TempDirectory::~TempDirectory()
if ( m_dir.empty() )
return;
+ Clear();
+
+ wxLogTrace("poedit.tmp", "removing temp dir %s", m_dir.c_str());
+ wxFileName::Rmdir(m_dir);
+}
+
+void TempDirectory::Clear()
+{
if ( ms_keepFiles )
{
wxLogTrace("poedit.tmp", "keeping temp files in %s", m_dir.c_str());
@@ -110,12 +160,8 @@ TempDirectory::~TempDirectory()
wxRemoveFile(*i);
}
}
-
- wxLogTrace("poedit.tmp", "removing temp dir %s", m_dir.c_str());
- wxFileName::Rmdir(m_dir);
}
-
wxString TempDirectory::CreateFileName(const wxString& suffix)
{
wxString s = wxString::Format("%s%c%d%s",
@@ -132,7 +178,7 @@ wxString TempDirectory::CreateFileName(const wxString& suffix)
// TempOutputFile
// ----------------------------------------------------------------------
-TempOutputFileFor::TempOutputFileFor(const wxString& filename)
+TempOutputFileFor::TempOutputFileFor(const wxString& filename) : m_filenameFinal(filename)
{
wxString path, name, ext;
wxFileName::SplitPath(filename, &path, &name, &ext);
@@ -140,7 +186,7 @@ TempOutputFileFor::TempOutputFileFor(const wxString& filename)
ext = "." + ext;
#ifdef __WXOSX__
- NSURL *fileUrl = [NSURL fileURLWithPath:wxStringToNS(filename)];
+ NSURL *fileUrl = [NSURL fileURLWithPath:str::to_NS(filename)];
NSURL *tempdirUrl =
[[NSFileManager defaultManager] URLForDirectory:NSItemReplacementDirectory
inDomain:NSUserDomainMask
@@ -148,7 +194,7 @@ TempOutputFileFor::TempOutputFileFor(const wxString& filename)
create:YES
error:nil];
if (tempdirUrl)
- m_tempDir = wxStringFromNS([tempdirUrl path]);
+ m_tempDir = str::to_wx([tempdirUrl path]);
#endif
wxString counter;
@@ -182,12 +228,19 @@ TempOutputFileFor::TempOutputFileFor(const wxString& filename)
}
}
+bool TempOutputFileFor::Commit()
+{
+ return wxRenameFile(m_filenameTmp, m_filenameFinal, /*overwrite=*/true);
+}
TempOutputFileFor::~TempOutputFileFor()
{
#ifdef __WXOSX__
if (!m_tempDir.empty())
wxFileName::Rmdir(m_tempDir, wxPATH_RMDIR_RECURSIVE);
+#else
+ if (wxFileExists(m_filenameTmp))
+ wxRemoveFile(m_filenameTmp);
#endif
}
@@ -223,6 +276,8 @@ wxString CliSafeFileName(const wxString& fn)
// Helpers for persisting windows' state
// ----------------------------------------------------------------------
+#if wxUSE_GUI
+
void SaveWindowState(const wxTopLevelWindow *win, int flags)
{
#ifdef __WXOSX__
@@ -345,3 +400,5 @@ void RestoreWindowState(wxTopLevelWindow *win, const wxSize& defaultSize, int fl
win->Maximize();
}
}
+
+#endif // wxUSE_GUI
diff --git a/src/utility.h b/src/utility.h
index f3f35a6..63feb93 100644
--- a/src/utility.h
+++ b/src/utility.h
@@ -23,8 +23,8 @@
*
*/
-#ifndef _UTILITY_H_
-#define _UTILITY_H_
+#ifndef Poedit_utility_h
+#define Poedit_utility_h
#ifndef HAVE_MKDTEMP
#ifdef __WXOSX__
@@ -32,9 +32,14 @@
#endif
#endif
-#include <wx/string.h>
#include <wx/arrstr.h>
-#include <wx/toplevel.h>
+#include <wx/filename.h>
+#include <wx/string.h>
+
+#if wxUSE_GUI
+ #include <wx/toplevel.h>
+#endif
+
// ----------------------------------------------------------------------
// Misc platform differences
@@ -46,6 +51,19 @@
#define MSW_OR_OTHER(msw, other) other
#endif
+#ifdef __WXOSX__
+ #define OSX_OR_OTHER(msw, other) msw
+#else
+ #define OSX_OR_OTHER(msw, other) other
+#endif
+
+#ifdef __WXOSX__
+ #define BORDER_WIN(dir, n) Border(dir, 0)
+ #define BORDER_OSX(dir, n) Border(dir, n)
+#else
+ #define BORDER_WIN(dir, n) Border(dir, n)
+ #define BORDER_OSX(dir, n) Border(dir, 0)
+#endif
// ----------------------------------------------------------------------
// Misc helpers
@@ -53,6 +71,102 @@
wxString EscapeMarkup(const wxString& str);
+// Encoding and decoding a string with C escape sequences:
+
+template<typename T>
+inline T EscapeCString(const T& str)
+{
+ T out;
+ out.reserve(str.length());
+ for (wchar_t c: str)
+ {
+ switch (c)
+ {
+ case '"' : out += L"\\\""; break;
+ case '\a': out += L"\\a"; break;
+ case '\b': out += L"\\b"; break;
+ case '\f': out += L"\\f"; break;
+ case '\n': out += L"\\n"; break;
+ case '\r': out += L"\\r"; break;
+ case '\t': out += L"\\t"; break;
+ case '\v': out += L"\\v"; break;
+ case '\\': out += L"\\\\"; break;
+ default:
+ out += c;
+ break;
+ }
+ }
+ return out;
+}
+
+template<typename T>
+inline T UnescapeCString(const T& str)
+{
+ T out;
+ out.reserve(str.length());
+ for (auto i = str.begin(); i != str.end(); ++i)
+ {
+ wchar_t c = *i;
+ if (c == '\\')
+ {
+ if (++i != str.end())
+ {
+ switch ((wchar_t)*i)
+ {
+ case 'a': out += '\a'; break;
+ case 'b': out += '\b'; break;
+ case 'f': out += '\f'; break;
+ case 'n': out += '\n'; break;
+ case 'r': out += '\r'; break;
+ case 't': out += '\t'; break;
+ case 'v': out += '\v'; break;
+ case '\\':
+ case '"':
+ case '\'':
+ case '?':
+ out += *i;
+ break;
+ default:
+ out += c;
+ out += *i;
+ break;
+ }
+ }
+ else
+ {
+ out += c;
+ break;
+ }
+ }
+ else
+ {
+ out += c;
+ }
+ }
+ return out;
+}
+
+
+wxFileName MakeFileName(const wxString& path);
+
+inline wxFileName MakeFileName(wxFileName fn)
+{
+ fn.Normalize();
+ return fn;
+}
+
+wxFileName CommonDirectory(const wxFileName& a, const wxFileName& b);
+
+template<typename T>
+inline wxFileName CommonDirectory(const T& a)
+{
+ wxFileName root;
+ for (auto& i: a)
+ root = CommonDirectory(root, MakeFileName(i));
+ return root;
+}
+
+
// ----------------------------------------------------------------------
// TempDirectory
@@ -72,6 +186,9 @@ public:
// creates new file name in that directory
wxString CreateFileName(const wxString& suffix);
+ /// Clears the temp directory (only safe if none of the files are open). Called by dtor.
+ void Clear();
+
// whether to keep temporary files
static void KeepFiles(bool keep = true) { ms_keepFiles = keep; }
@@ -83,19 +200,26 @@ private:
static bool ms_keepFiles;
};
-// Holder of temporary file for creating the output.
+/// Holder of temporary file for creating the output.
+/// Use Commit() to move the written file to its final location.
+/// Destructor deletes the temp file if it still exists.
class TempOutputFileFor
{
public:
explicit TempOutputFileFor(const wxString& filename);
~TempOutputFileFor();
+ /// Name of the temporary placeholder
const wxString& FileName() const { return m_filenameTmp; }
+ /// Renames temp file to the final one (passed to ctor).
+ bool Commit();
+
#ifdef __WXOSX__
wxString m_tempDir;
#endif
wxString m_filenameTmp;
+ wxString m_filenameFinal;
};
@@ -112,6 +236,8 @@ inline wxString CliSafeFileName(const wxString& fn) { return fn; }
// Helpers for persisting windows' state
// ----------------------------------------------------------------------
+#if wxUSE_GUI
+
enum WinStateFlags
{
WinState_Pos = 1,
@@ -128,4 +254,6 @@ inline wxString WindowStatePath(const wxWindow *win)
return wxString::Format("/windows/%s/", win->GetName().c_str());
}
-#endif // _UTILITY_H_
+#endif // wxUSE_GUI
+
+#endif // Poedit_utility_h
diff --git a/src/version.h b/src/version.h
index 6712232..f5f61e8 100644
--- a/src/version.h
+++ b/src/version.h
@@ -26,7 +26,7 @@
#ifndef _VERSION_H_
#define _VERSION_H_
-#define POEDIT_VERSION "1.7.7"
-#define POEDIT_VERSION_WIN 1,7,7,0
+#define POEDIT_VERSION "1.8"
+#define POEDIT_VERSION_WIN 1,8,0
#endif // _VERSION_H_
diff --git a/src/welcomescreen.cpp b/src/welcomescreen.cpp
index c111e9e..bb0ed03 100644
--- a/src/welcomescreen.cpp
+++ b/src/welcomescreen.cpp
@@ -25,9 +25,11 @@
#include "welcomescreen.h"
+#include "crowdin_gui.h"
#include "edapp.h"
#include "edframe.h"
#include "hidpi.h"
+#include "str_helpers.h"
#include <wx/dcbuffer.h>
#include <wx/statbmp.h>
@@ -40,9 +42,7 @@
#include <wx/hyperlink.h>
#include <wx/xrc/xmlres.h>
-#ifdef __WXOSX__
-#include "osx_helpers.h"
-#else
+#ifndef __WXOSX__
#include <wx/commandlinkbutton.h>
#endif
@@ -64,7 +64,7 @@ public:
NSButton *btn = (NSButton*)m_button->GetHandle();
- NSString *str = wxStringToNS(label + "\n" + note);
+ NSString *str = str::to_NS(label + "\n" + note);
NSRange topLine = NSMakeRange(0, label.length() + 1);
NSRange bottomLine = NSMakeRange(label.length() + 1, note.length());
@@ -227,6 +227,15 @@ WelcomeScreenPanel::WelcomeScreenPanel(wxWindow *parent)
_("Take an existing PO file or POT template and create a new translation from it.")),
wxSizerFlags().PXBorderAll().Expand());
+#ifdef HAVE_HTTP_CLIENT
+ sizer->Add(new ActionButton(
+ this, XRCID("menu_open_crowdin"),
+ _("Collaborate on a translation with Crowdin"),
+ _("Download a file from Crowdin project, translate and sync your changes back.")),
+ wxSizerFlags().PXBorderAll().Expand());
+ sizer->Add(new LearnAboutCrowdinLink(this, _("What is Crowdin?")), wxSizerFlags().Right().Border(wxRIGHT, PX(8)));
+#endif // HAVE_HTTP_CLIENT
+
sizer->AddSpacer(PX(50));
}
diff --git a/src/wx/main_toolbar.cpp b/src/wx/main_toolbar.cpp
index 6e32a79..c1cdc6e 100644
--- a/src/wx/main_toolbar.cpp
+++ b/src/wx/main_toolbar.cpp
@@ -25,6 +25,7 @@
#include "main_toolbar.h"
+#include <wx/intl.h>
#include <wx/toolbar.h>
#include <wx/xrc/xmlres.h>
@@ -36,6 +37,7 @@ public:
{
m_tb = wxXmlResource::Get()->LoadToolBar(parent, "toolbar");
m_idFuzzy = XRCID("menu_fuzzy");
+ m_idUpdate = XRCID("toolbar_update");
}
bool IsFuzzy() const override
@@ -48,9 +50,27 @@ public:
m_tb->ToggleTool(m_idFuzzy, on);
}
+ void EnableSyncWithCrowdin(bool on) override
+ {
+ auto tool = m_tb->FindById(m_idUpdate);
+
+ if (on)
+ {
+ tool->SetLabel(_("Sync"));
+ tool->SetShortHelp(_("Synchronize the translation with Crowdin"));
+ m_tb->SetToolNormalBitmap(m_idUpdate, wxArtProvider::GetBitmap("poedit-sync"));
+ }
+ else
+ {
+ tool->SetLabel(_("Update"));
+ tool->SetShortHelp(_("Update catalog - synchronize it with sources"));
+ m_tb->SetToolNormalBitmap(m_idUpdate, wxArtProvider::GetBitmap("poedit-update"));
+ }
+ }
+
private:
wxToolBar *m_tb;
- int m_idFuzzy;
+ int m_idFuzzy, m_idUpdate;
};
diff --git a/src/wx_backports/activityindicator.h b/src/wx_backports/activityindicator.h
new file mode 100644
index 0000000..35bdfc2
--- /dev/null
+++ b/src/wx_backports/activityindicator.h
@@ -0,0 +1,56 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name: wx/activityindicator.h
+// Purpose: wxActivityIndicator declaration.
+// Author: Vadim Zeitlin
+// Created: 2015-03-05
+// Copyright: (c) 2015 Vadim Zeitlin <vadim at wxwidgets.org>
+// Licence: wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_ACTIVITYINDICATOR_H_
+#define _WX_ACTIVITYINDICATOR_H_
+
+#include "wx/defs.h"
+
+#include "wx/control.h"
+
+#define wxActivityIndicatorNameStr wxS("activityindicator")
+
+// ----------------------------------------------------------------------------
+// wxActivityIndicator: small animated indicator of some application activity.
+// ----------------------------------------------------------------------------
+
+class wxActivityIndicatorBase : public wxControl
+{
+public:
+ // Start or stop the activity animation (it is stopped initially).
+ virtual void Start() = 0;
+ virtual void Stop() = 0;
+
+ // Return true if the control is currently showing activity.
+ virtual bool IsRunning() const = 0;
+
+ // Override some base class virtual methods.
+ virtual bool AcceptsFocus() const { return false; }
+ virtual bool HasTransparentBackground() { return true; }
+
+protected:
+ // choose the default border for this window
+ virtual wxBorder GetDefaultBorder() const { return wxBORDER_NONE; }
+};
+
+#ifndef __WXUNIVERSAL__
+#if defined(__WXGTK20__)
+ #define wxHAS_NATIVE_ACTIVITYINDICATOR
+ #include "gtk_activityindicator.h"
+#elif defined(__WXOSX_COCOA__)
+ #define wxHAS_NATIVE_ACTIVITYINDICATOR
+ #include "osx_activityindicator.h"
+#endif
+#endif // !__WXUNIVERSAL__
+
+#ifndef wxHAS_NATIVE_ACTIVITYINDICATOR
+ #include "generic_activityindicator.h"
+#endif
+
+#endif // _WX_ACTIVITYINDICATOR_H_
diff --git a/src/wx_backports/gtk_activityindicator.h b/src/wx_backports/gtk_activityindicator.h
new file mode 100644
index 0000000..addd7f6
--- /dev/null
+++ b/src/wx_backports/gtk_activityindicator.h
@@ -0,0 +1,60 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name: wx/gtk/activityindicator.h
+// Purpose: Declaration of wxActivityIndicator for wxGTK.
+// Author: Vadim Zeitlin
+// Created: 2015-03-05
+// Copyright: (c) 2015 Vadim Zeitlin <vadim at wxwidgets.org>
+// Licence: wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_GTK_ACTIVITYINDICATOR_H_
+#define _WX_GTK_ACTIVITYINDICATOR_H_
+
+// With GTK+ 3 we can always be certain that this control is available, so use
+// the normal base class. With GTK+ 2 however, we may determine during run-time
+// that we need to fall back to the generic implementation because the GTK+
+// version is earlier than 2.20, so we need to inherit from the generic class.
+#define wxActivityIndicatorGtkBase wxActivityIndicatorBase
+
+// ----------------------------------------------------------------------------
+// wxActivityIndicator: implementation using GtkSpinner.
+// ----------------------------------------------------------------------------
+
+class wxActivityIndicator : public wxActivityIndicatorGtkBase
+{
+public:
+ wxActivityIndicator()
+ {
+ }
+
+ explicit
+ wxActivityIndicator(wxWindow* parent,
+ wxWindowID winid = wxID_ANY,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = 0,
+ const wxString& name = wxActivityIndicatorNameStr)
+ {
+ Create(parent, winid, pos, size, style, name);
+ }
+
+ bool Create(wxWindow* parent,
+ wxWindowID winid = wxID_ANY,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = 0,
+ const wxString& name = wxActivityIndicatorNameStr);
+
+ virtual void Start();
+ virtual void Stop();
+ virtual bool IsRunning() const;
+
+protected:
+ virtual wxSize DoGetBestClientSize() const;
+
+private:
+ wxDECLARE_DYNAMIC_CLASS(wxActivityIndicator);
+ wxDECLARE_NO_COPY_CLASS(wxActivityIndicator);
+};
+
+#endif // _WX_GTK_ACTIVITYINDICATOR_H_
diff --git a/src/wx_backports/wx_gtk_activityindicator.cpp b/src/wx_backports/wx_gtk_activityindicator.cpp
new file mode 100644
index 0000000..c483936
--- /dev/null
+++ b/src/wx_backports/wx_gtk_activityindicator.cpp
@@ -0,0 +1,163 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name: src/gtk/activityindicator.cpp
+// Purpose: wxActivityIndicator implementation for wxGTK.
+// Author: Vadim Zeitlin
+// Created: 2015-03-05
+// Copyright: (c) 2015 Vadim Zeitlin <vadim at wxwidgets.org>
+// Licence: wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+
+// ============================================================================
+// declarations
+// ============================================================================
+
+// ----------------------------------------------------------------------------
+// headers
+// ----------------------------------------------------------------------------
+
+// for compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+ #pragma hdrstop
+#endif
+
+#if !wxCHECK_VERSION(3,1,0)
+
+#include "activityindicator.h"
+
+#include "wx/math.h"
+
+#include <gtk/gtk.h>
+
+// Macro return the specified expression only if GTK+ run time version is less
+// than 2.20 and compiling it only if it is less than 3.0 (which is why this
+// has to be a macro and not a function).
+#define RETURN_IF_NO_GTK_SPINNER(expr)
+
+// ============================================================================
+// implementation
+// ============================================================================
+
+wxIMPLEMENT_DYNAMIC_CLASS(wxActivityIndicator, wxControl);
+
+bool
+wxActivityIndicator::Create(wxWindow* parent,
+ wxWindowID winid,
+ const wxPoint& pos,
+ const wxSize& size,
+ long style,
+ const wxString& name)
+{
+ RETURN_IF_NO_GTK_SPINNER(
+ wxActivityIndicatorGeneric::Create(parent, winid, pos, size, style, name)
+ )
+
+ if ( !PreCreation(parent, pos, size) ||
+ !CreateBase(parent, winid, pos, size, style, name) )
+ return false;
+
+ m_widget = gtk_spinner_new();
+ g_object_ref(m_widget);
+
+ m_parent->DoAddChild(this);
+
+ PostCreation(size);
+
+ return true;
+}
+
+void wxActivityIndicator::Start()
+{
+ RETURN_IF_NO_GTK_SPINNER( wxActivityIndicatorGeneric::Start() )
+
+ wxCHECK_RET( m_widget, wxS("Must be created first") );
+
+ gtk_spinner_start(GTK_SPINNER(m_widget));
+}
+
+void wxActivityIndicator::Stop()
+{
+ RETURN_IF_NO_GTK_SPINNER( wxActivityIndicatorGeneric::Stop() )
+
+ wxCHECK_RET( m_widget, wxS("Must be created first") );
+
+ gtk_spinner_stop(GTK_SPINNER(m_widget));
+}
+
+bool wxActivityIndicator::IsRunning() const
+{
+ RETURN_IF_NO_GTK_SPINNER( wxActivityIndicatorGeneric::IsRunning() )
+
+ if ( !m_widget )
+ return false;
+
+ gboolean b;
+ g_object_get(m_widget, "active", &b, NULL);
+
+ return b != 0;
+}
+
+wxSize wxActivityIndicator::DoGetBestClientSize() const
+{
+ RETURN_IF_NO_GTK_SPINNER( wxActivityIndicatorGeneric::DoGetBestClientSize() )
+
+ if ( !m_widget )
+ return wxDefaultSize;
+
+ gint w, h;
+
+#ifdef __WXGTK3__
+ // gtk_widget_get_preferred_size() seems to return the size based on the
+ // current size of the widget and also always returns 0 if it is hidden,
+ // so ask GtkSpinner for its preferred size directly instead of using it.
+ GtkWidgetClass* const wc = GTK_WIDGET_GET_CLASS(m_widget);
+
+ // We're not interested in the natural size (and it's the same as minimal
+ // one anyhow currently), but we still need a non-NULL pointer for it.
+ gint dummy;
+ wc->get_preferred_width(m_widget, &w, &dummy);
+ wc->get_preferred_height(m_widget, &h, &dummy);
+#else // GTK+ 2
+ // GTK+ 2 doesn't return any valid preferred size for this control, so we
+ // use the size of something roughly equivalent to it.
+ gtk_icon_size_lookup(GTK_ICON_SIZE_MENU, &w, &h);
+#endif // GTK+ 3/2
+
+ // Adjust for the window variant: note that the default size in GTK+ 3 is
+ // really small (12px until ~3.10, 16px since then), so we use this size as
+ // the small size and double it for the normal size.
+ double factor = 0.;
+ switch ( GetWindowVariant() )
+ {
+ case wxWINDOW_VARIANT_MAX:
+ wxFAIL_MSG(wxS("Invalid window variant"));
+ // wxFALLTHROUGH;
+
+ case wxWINDOW_VARIANT_NORMAL:
+ factor = 2.;
+ break;
+
+ case wxWINDOW_VARIANT_SMALL:
+ factor = 1.;
+ break;
+
+ case wxWINDOW_VARIANT_MINI:
+ factor = 0.75;
+ break;
+
+ case wxWINDOW_VARIANT_LARGE:
+ // GTK+ 3.11+ limits GtkSpinner size to twice its minimal size, so
+ // the effective factor here is actually just 2, i.e. the same as
+ // for the normal size, but use something larger just in case GTK+
+ // changes its mind again later.
+ factor = 2.5;
+ break;
+ }
+
+ wxASSERT_MSG( !wxIsSameDouble(factor, 0), wxS("Unknown window variant") );
+
+ return wxSize(wxRound(w*factor), wxRound(h*factor));
+}
+
+#endif // !wxCHECK_VERSION(3,1,0)
-----------------------------------------------------------------------
hooks/post-receive
--
poedit
More information about the Debian-l10n-commits
mailing list