Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package poedit for openSUSE:Factory checked 
in at 2023-06-27 23:17:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/poedit (Old)
 and      /work/SRC/openSUSE:Factory/.poedit.new.15902 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "poedit"

Tue Jun 27 23:17:46 2023 rev:73 rq:1095563 version:3.3.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/poedit/poedit.changes    2023-05-17 
10:53:53.571593476 +0200
+++ /work/SRC/openSUSE:Factory/.poedit.new.15902/poedit.changes 2023-06-27 
23:17:58.491853530 +0200
@@ -1,0 +2,9 @@
+Tue Jun 27 08:56:40 UTC 2023 - Antoine Belvire <antoine.belv...@opensuse.org>
+
+- Poedit 3.3.2:
+  * Added support for WebExtension JSON files.
+  * Fixed failure to extract from source code and malformed Plural-Forms
+    warning.
+  * Minor UI fixes.
+
+-------------------------------------------------------------------

Old:
----
  poedit-3.3.1.tar.gz

New:
----
  poedit-3.3.2.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ poedit.spec ++++++
--- /var/tmp/diff_new_pack.f8nufb/_old  2023-06-27 23:18:01.255869797 +0200
+++ /var/tmp/diff_new_pack.f8nufb/_new  2023-06-27 23:18:01.259869820 +0200
@@ -20,7 +20,7 @@
 %bcond_without crowdin_integration
 %bcond_with bundled_deps
 Name:           poedit
-Version:        3.3.1
+Version:        3.3.2
 Release:        0
 Summary:        Gettext Catalog Editing Tool
 License:        MIT

++++++ poedit-3.3.1.tar.gz -> poedit-3.3.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/poedit-3.3.1/NEWS new/poedit-3.3.2/NEWS
--- old/poedit-3.3.1/NEWS       2023-05-16 15:39:49.000000000 +0200
+++ new/poedit-3.3.2/NEWS       2023-06-26 16:51:15.000000000 +0200
@@ -1,3 +1,11 @@
+Version 3.3.2
+-------------
+
+- Added support for WebExtension JSON files.
+- Fixed failure to extract from source code and malformed Plural-Forms warning.
+- Minor UI fixes.
+
+
 Version 3.3.1
 -------------
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/poedit-3.3.1/configure new/poedit-3.3.2/configure
--- old/poedit-3.3.1/configure  2023-05-16 15:41:24.000000000 +0200
+++ new/poedit-3.3.2/configure  2023-06-26 16:52:23.000000000 +0200
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for poedit 3.3.1.
+# Generated by GNU Autoconf 2.69 for poedit 3.3.2.
 #
 # Report bugs to <h...@poedit.net>.
 #
@@ -580,8 +580,8 @@
 # Identity of this package.
 PACKAGE_NAME='poedit'
 PACKAGE_TARNAME='poedit'
-PACKAGE_VERSION='3.3.1'
-PACKAGE_STRING='poedit 3.3.1'
+PACKAGE_VERSION='3.3.2'
+PACKAGE_STRING='poedit 3.3.2'
 PACKAGE_BUGREPORT='h...@poedit.net'
 PACKAGE_URL=''
 
@@ -1366,7 +1366,7 @@
   # 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 3.3.1 to adapt to many kinds of systems.
+\`configure' configures poedit 3.3.2 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1437,7 +1437,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of poedit 3.3.1:";;
+     short | recursive ) echo "Configuration of poedit 3.3.2:";;
    esac
   cat <<\_ACEOF
 
@@ -1594,7 +1594,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-poedit configure 3.3.1
+poedit configure 3.3.2
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2001,7 +2001,7 @@
 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 3.3.1, which was
+It was created by poedit $as_me 3.3.2, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2940,7 +2940,7 @@
 
 # Define the identity of the package.
  PACKAGE='poedit'
- VERSION='3.3.1'
+ VERSION='3.3.2'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -10693,7 +10693,7 @@
 # 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 3.3.1, which was
+This file was extended by poedit $as_me 3.3.2, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -10750,7 +10750,7 @@
 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 3.3.1
+poedit config.status 3.3.2
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/poedit-3.3.1/configure.ac 
new/poedit-3.3.2/configure.ac
--- old/poedit-3.3.1/configure.ac       2023-05-16 15:39:49.000000000 +0200
+++ new/poedit-3.3.2/configure.ac       2023-06-26 16:51:15.000000000 +0200
@@ -2,7 +2,7 @@
 
 AC_PREREQ([2.61])
 
-AC_INIT([poedit], [3.3.1], [h...@poedit.net])
+AC_INIT([poedit], [3.3.2], [h...@poedit.net])
 
 AC_CONFIG_AUX_DIR([admin])
 AC_CONFIG_MACRO_DIR([admin])
Binary files old/poedit-3.3.1/locales/be.mo and new/poedit-3.3.2/locales/be.mo 
differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/poedit-3.3.1/locales/be.po 
new/poedit-3.3.2/locales/be.po
--- old/poedit-3.3.1/locales/be.po      2023-05-16 15:41:38.000000000 +0200
+++ new/poedit-3.3.2/locales/be.po      2023-06-26 16:52:37.000000000 +0200
@@ -3,7 +3,7 @@
 "Project-Id-Version: poedit\n"
 "Report-Msgid-Bugs-To: h...@poedit.net\n"
 "POT-Creation-Date: 2023-05-09 17:49+0200\n"
-"PO-Revision-Date: 2023-05-09 15:48\n"
+"PO-Revision-Date: 2023-06-26 11:33\n"
 "Last-Translator: \n"
 "Language-Team: Belarusian\n"
 "Language: be_BY\n"
@@ -49,7 +49,7 @@
 
 #, c-format
 msgid "The file “%s” couldn’t be opened."
-msgstr ""
+msgstr "Файл «%s» не можа быць адкрыты."
 
 msgid "Invalid file"
 msgstr "Памылковы файл"
@@ -68,7 +68,7 @@
 msgstr "Файлы перакладу XLIFF"
 
 msgid "JSON Translation Files"
-msgstr ""
+msgstr "Файлы перакладу JSON"
 
 #. TRANSLATORS: "Flutter" is proper noun, name of a developer tool
 msgid "Flutter Translation Files"
@@ -155,7 +155,7 @@
 
 #, c-format
 msgid "Error while loading XLIFF file: %s"
-msgstr ""
+msgstr "Памылка падчас загрузкі файла XLIFF: %s"
 
 #, c-format
 msgid "unsupported version (%s)"
@@ -197,7 +197,7 @@
 msgstr "Дадаць"
 
 msgid "Unknown Crowdin error."
-msgstr ""
+msgstr "Невядомая памылка Crowdin."
 
 msgid "Not authorized, please sign in again."
 msgstr "Не аўтарызаваны, увайдзіце яшчэ раз."
@@ -788,7 +788,7 @@
 
 #. TRANSLATORS: Refers to symbolic ID of source text, i.e. when something like 
"button.label" is used instead of English text
 msgid "Source text ID"
-msgstr ""
+msgstr "Ідэнтыфікатар зыходнага тэксту"
 
 msgid "Everything"
 msgstr "Усё"
@@ -1033,7 +1033,7 @@
 
 #. TRANSLATORS: This is Settings app menu that replaces Preferences in macOS 
13 Ventura or newer, and should be translated EXACTLY as in macOS. If you don't 
use macOS and can't check, please leave it untranslated.
 msgid "Settings…"
-msgstr ""
+msgstr "Налады…"
 
 msgid "&Edit"
 msgstr "&Змяніць"
Binary files old/poedit-3.3.1/locales/cs.mo and new/poedit-3.3.2/locales/cs.mo 
differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/poedit-3.3.1/locales/cs.po 
new/poedit-3.3.2/locales/cs.po
--- old/poedit-3.3.1/locales/cs.po      2023-05-16 15:41:38.000000000 +0200
+++ new/poedit-3.3.2/locales/cs.po      2023-06-26 16:52:38.000000000 +0200
@@ -3,7 +3,7 @@
 "Project-Id-Version: poedit\n"
 "Report-Msgid-Bugs-To: h...@poedit.net\n"
 "POT-Creation-Date: 2023-05-09 17:49+0200\n"
-"PO-Revision-Date: 2023-05-09 15:48\n"
+"PO-Revision-Date: 2023-06-26 11:47\n"
 "Last-Translator: \n"
 "Language-Team: Czech\n"
 "Language: cs_CZ\n"
@@ -76,15 +76,15 @@
 msgstr "Všechny překladové soubory"
 
 msgid "The file is in a format not recognized by Poedit."
-msgstr ""
+msgstr "Poedit nerozpoznal formát souboru."
 
 msgid ""
 "This JSON file isn’t a translations file and cannot be edited in Poedit."
-msgstr ""
+msgstr "Tento JSON soubor neobsahuje překlady a nelze jej v Poeditu editovat."
 
 #, c-format
 msgid "Reading file content failed with the following error: %s"
-msgstr ""
+msgstr "Čtení obsahu souboru selhalo s následující chybou: %s"
 
 #, c-format
 msgid ""
@@ -194,7 +194,7 @@
 msgstr "Přidat"
 
 msgid "Unknown Crowdin error."
-msgstr ""
+msgstr "Neznámá chyba Crowdinu."
 
 msgid "Not authorized, please sign in again."
 msgstr "Nedostatečná oprávnění, zkuste se znovu přihlásit."
@@ -604,17 +604,19 @@
 msgstr "Zkontrolovat"
 
 msgid "Would you like to use English for source text?"
-msgstr ""
+msgstr "Chcete použít angličtinu pro zdrojový text?"
 
 #, c-format
 msgid ""
 "This file uses string IDs instead of source text. Poedit can load English "
 "texts from the “%s” file for you."
 msgstr ""
+"Tento soubor používá ID řetězců místo zdrojového textu. Poedit může 
načíst "
+"anglické texty ze souboru „%s“."
 
 #. TRANSLATORS: Shown as action button when asking if the user wants to 
replace string IDs with English text; "load" as in "load from file"
 msgid "Load English"
-msgstr ""
+msgstr "Načíst angličtinu"
 
 #, c-format
 msgid "Translated: %d of %d (%d %%)"
@@ -788,7 +790,7 @@
 
 #. TRANSLATORS: Refers to symbolic ID of source text, i.e. when something like 
"button.label" is used instead of English text
 msgid "Source text ID"
-msgstr ""
+msgstr "ID zdrojového textu"
 
 msgid "Everything"
 msgstr "Vše"
@@ -816,12 +818,12 @@
 #. TRANSLATORS: Tooltip on message context tag in the editing area, '%s' is 
the context text
 #, c-format
 msgid "String context: %s"
-msgstr ""
+msgstr "Kontext řetězce: %s"
 
 #. TRANSLATORS: Tooltip on string ID tag in the editing area, '%s' contains 
the ID
 #, c-format
 msgid "String identifier: %s"
-msgstr ""
+msgstr "Identifikátor řetězce: %s"
 
 #, c-format
 msgid "%s Format"
@@ -1417,7 +1419,7 @@
 msgstr "Probíhá předběžný překlad…"
 
 msgid "Cannot pre-translate without source text."
-msgstr ""
+msgstr "Bez zdrojového textu není možné před-překládat."
 
 #. TRANSLATORS: This is a somewhat common term describing the action where
 #. you apply the translation memory and/or machine translation to all of the
@@ -1436,6 +1438,8 @@
 "Pre-translation requires that source text is available. It doesn’t work if "
 "only IDs without the actual text are used."
 msgstr ""
+"Před-překlad vyžaduje, aby byl k dispozici zdrojový text. Nefunguje, 
pokud "
+"jsou použity pouze ID bez skutečného textu."
 
 msgid "Only fill in exact matches"
 msgstr "Doplnit pouze při přesné shodě"
@@ -2164,6 +2168,8 @@
 "Translation suggestions require that source text is available. They don’t "
 "work if only IDs without the actual text are used."
 msgstr ""
+"Návrhy překladů vyžadují, aby byl k dispozici zdrojový text. 
Nefungují, "
+"pokud jsou použity pouze ID bez skutečného textu."
 
 msgid "The TMX file is malformed."
 msgstr "TMX soubor je poškozený."
Binary files old/poedit-3.3.1/locales/hu.mo and new/poedit-3.3.2/locales/hu.mo 
differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/poedit-3.3.1/locales/hu.po 
new/poedit-3.3.2/locales/hu.po
--- old/poedit-3.3.1/locales/hu.po      2023-05-16 15:41:39.000000000 +0200
+++ new/poedit-3.3.2/locales/hu.po      2023-06-26 16:52:38.000000000 +0200
@@ -3,7 +3,7 @@
 "Project-Id-Version: poedit\n"
 "Report-Msgid-Bugs-To: h...@poedit.net\n"
 "POT-Creation-Date: 2023-05-09 17:49+0200\n"
-"PO-Revision-Date: 2023-05-09 15:48\n"
+"PO-Revision-Date: 2023-06-26 11:33\n"
 "Last-Translator: \n"
 "Language-Team: Hungarian\n"
 "Language: hu_HU\n"
@@ -195,7 +195,7 @@
 msgstr "Hozzáadás"
 
 msgid "Unknown Crowdin error."
-msgstr ""
+msgstr "Ismeretlen Crowdin hiba."
 
 msgid "Not authorized, please sign in again."
 msgstr "Nem engedélyezett, kérjük jelentkezzen be újra."
Binary files old/poedit-3.3.1/locales/ja.mo and new/poedit-3.3.2/locales/ja.mo 
differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/poedit-3.3.1/locales/ja.po 
new/poedit-3.3.2/locales/ja.po
--- old/poedit-3.3.1/locales/ja.po      2023-05-16 15:41:39.000000000 +0200
+++ new/poedit-3.3.2/locales/ja.po      2023-06-26 16:52:38.000000000 +0200
@@ -3,7 +3,7 @@
 "Project-Id-Version: poedit\n"
 "Report-Msgid-Bugs-To: h...@poedit.net\n"
 "POT-Creation-Date: 2023-05-09 17:49+0200\n"
-"PO-Revision-Date: 2023-05-09 15:48\n"
+"PO-Revision-Date: 2023-06-26 11:33\n"
 "Last-Translator: \n"
 "Language-Team: Japanese\n"
 "Language: ja_JP\n"
@@ -195,7 +195,7 @@
 msgstr "追加"
 
 msgid "Unknown Crowdin error."
-msgstr ""
+msgstr "不明な Crowdin エラー。"
 
 msgid "Not authorized, please sign in again."
 msgstr "未認証です。もう一度ログインしてください。"
@@ -438,6 +438,8 @@
 "If you previously denied access to your files, you can allow it in System "
 "Settings > Privacy & Security > Files & Folders."
 msgstr ""
+"以前ファイルへのアクセスを拒否した場合、システム
設定 > プライバシーとセキュリ"
+"ティ > ファイルとフォルダ から許可できます。"
 
 #. TRANSLATORS: The System Preferences etc. references macOS system settings 
and should be translated EXACTLY as in macOS. If you don't use macOS and can't 
check, please leave it untranslated.
 msgid ""
@@ -771,7 +773,7 @@
 
 #. TRANSLATORS: Refers to symbolic ID of source text, i.e. when something like 
"button.label" is used instead of English text
 msgid "Source text ID"
-msgstr ""
+msgstr "ソーステキスト ID"
 
 msgid "Everything"
 msgstr "すべて"
@@ -1392,7 +1394,7 @@
 msgstr "事前翻訳中…"
 
 msgid "Cannot pre-translate without source text."
-msgstr ""
+msgstr "ソーステキストなしでは事前翻訳できません。"
 
 #. TRANSLATORS: This is a somewhat common term describing the action where
 #. you apply the translation memory and/or machine translation to all of the
@@ -1411,6 +1413,8 @@
 "Pre-translation requires that source text is available. It doesn’t work if "
 "only IDs without the actual text are used."
 msgstr ""
+"事前翻訳は、ソーステキストが利用可能であることが必
要です。実テキストがない "
+"ID のみが使われている場合は、利用できません。"
 
 msgid "Only fill in exact matches"
 msgstr "完全な一致のみ採用する"
@@ -2133,6 +2137,8 @@
 "Translation suggestions require that source text is available. They don’t "
 "work if only IDs without the actual text are used."
 msgstr ""
+"翻訳の提案は、ソーステキストが利用可能であることが必
要です。実テキストがない "
+"ID のみが使われている場合は、利用できません。"
 
 msgid "The TMX file is malformed."
 msgstr "TMX ファイルの形式が正しくありません。"
Binary files old/poedit-3.3.1/locales/lt.mo and new/poedit-3.3.2/locales/lt.mo 
differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/poedit-3.3.1/locales/lt.po 
new/poedit-3.3.2/locales/lt.po
--- old/poedit-3.3.1/locales/lt.po      2023-05-16 15:41:39.000000000 +0200
+++ new/poedit-3.3.2/locales/lt.po      2023-06-26 16:52:39.000000000 +0200
@@ -3,7 +3,7 @@
 "Project-Id-Version: poedit\n"
 "Report-Msgid-Bugs-To: h...@poedit.net\n"
 "POT-Creation-Date: 2023-05-09 17:49+0200\n"
-"PO-Revision-Date: 2023-05-09 15:48\n"
+"PO-Revision-Date: 2023-06-26 11:33\n"
 "Last-Translator: \n"
 "Language-Team: Lithuanian\n"
 "Language: lt_LT\n"
@@ -195,7 +195,7 @@
 msgstr "Pridėti"
 
 msgid "Unknown Crowdin error."
-msgstr ""
+msgstr "Nežinoma „Crowdin“ klaida."
 
 msgid "Not authorized, please sign in again."
 msgstr "Nesankcionuota, prašome prisijungti dar kartą."
Binary files old/poedit-3.3.1/locales/nl.mo and new/poedit-3.3.2/locales/nl.mo 
differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/poedit-3.3.1/locales/nl.po 
new/poedit-3.3.2/locales/nl.po
--- old/poedit-3.3.1/locales/nl.po      2023-05-16 15:39:54.000000000 +0200
+++ new/poedit-3.3.2/locales/nl.po      2023-06-26 16:51:20.000000000 +0200
@@ -3,7 +3,7 @@
 "Project-Id-Version: poedit\n"
 "Report-Msgid-Bugs-To: h...@poedit.net\n"
 "POT-Creation-Date: 2023-05-09 17:49+0200\n"
-"PO-Revision-Date: 2023-05-09 15:48\n"
+"PO-Revision-Date: 2023-06-26 11:33\n"
 "Last-Translator: \n"
 "Language-Team: Dutch\n"
 "Language: nl_NL\n"
@@ -621,7 +621,7 @@
 
 #. TRANSLATORS: Shown as action button when asking if the user wants to 
replace string IDs with English text; "load" as in "load from file"
 msgid "Load English"
-msgstr ""
+msgstr "Laad Engels"
 
 #, c-format
 msgid "Translated: %d of %d (%d %%)"
Binary files old/poedit-3.3.1/locales/pa.mo and new/poedit-3.3.2/locales/pa.mo 
differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/poedit-3.3.1/locales/pa.po 
new/poedit-3.3.2/locales/pa.po
--- old/poedit-3.3.1/locales/pa.po      2023-05-16 15:39:54.000000000 +0200
+++ new/poedit-3.3.2/locales/pa.po      2023-06-26 16:51:20.000000000 +0200
@@ -3,7 +3,7 @@
 "Project-Id-Version: poedit\n"
 "Report-Msgid-Bugs-To: h...@poedit.net\n"
 "POT-Creation-Date: 2023-05-09 17:49+0200\n"
-"PO-Revision-Date: 2023-05-01 07:27\n"
+"PO-Revision-Date: 2023-06-26 11:33\n"
 "Last-Translator: \n"
 "Language-Team: Punjabi\n"
 "Language: pa_IN\n"
@@ -31,16 +31,16 @@
 msgstr "(ਨਵੇਂ: %i, ਬਰਤਰਫ਼: %i)"
 
 msgid "Collecting source files…"
-msgstr "ਸਰੋਤ ਫ਼ਾਈਲਾਂ ਨੂੰ ਇਕੱਠਾ ਕੀਤਾ 
ਜਾ ਰਿਹਾ ਹੈ…"
+msgstr "ਸਰੋਤ ਫ਼ਾਈਲਾਂ ਨੂੰ ਇਕੱਠਾ 
ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ…"
 
 msgid "Extracting translatable strings…"
 msgstr "ਅਨੁਵਾਦ ਕਰਨਯੋਗ ਸਤਰਾਂ 
ਕੱਢੀਆਂ ਜਾ ਰਹੀਆਂ ਹਨ…"
 
 msgid "Failed to load file with extracted translations."
-msgstr "ਕੱਢੇ ਗਏ ਅਨੁਵਾਦਾਂ ਵਾਲੀ ਫ਼ਾਈਲ 
ਲੋਡ ਕਰਨਾ ਅਸਫ਼ਲ ਰਿਹਾ।"
+msgstr "ਕੱਢੇ ਗਏ ਅਨੁਵਾਦਾਂ ਵਾਲੀ 
ਫ਼ਾਈਲ ਲੋਡ ਕਰਨਾ ਅਸਫ਼ਲ ਰਿਹਾ।"
 
 msgid "Merging differences…"
-msgstr "ਫ਼ਰਕਾਂ ਨੂੰ ਰੱਲਗੱਡ ਕੀਤਾ ਜਾ 
ਰਿਹਾ ਹੈ…"
+msgstr "ਫ਼ਰਕਾਂ ਨੂੰ ਰੱਲਗੱਡ ਕੀਤਾ ਜਾ 
ਰਿਹਾ ਹੈ…"
 
 msgid "Updating translations"
 msgstr "ਅਨੁਵਾਦ ਅੱਪਡੇਟ ਕੀਤੇ ਜਾ ਰਹੇ 
ਹਨ"
@@ -63,14 +63,14 @@
 msgstr "POT ਅਨੁਵਾਦ ਟੈਮਪਲੇਟ"
 
 msgid "XLIFF Translation Files"
-msgstr "XLIFF ਅਨੁਵਾਦ ਫ਼ਾਈਲਾਂ"
+msgstr "XLIFF ਅਨੁਵਾਦ ਫ਼ਾਈਲਾਂ"
 
 msgid "JSON Translation Files"
-msgstr ""
+msgstr "JSON ਅਨੁਵਾਦ ਫਾਈਲਾਂ"
 
 #. TRANSLATORS: "Flutter" is proper noun, name of a developer tool
 msgid "Flutter Translation Files"
-msgstr ""
+msgstr "ਫਲੱਟਰ ਅਨੁਵਾਦ ਫਾਈਲਾਂ"
 
 msgid "All Translation Files"
 msgstr "ਸਾਰੀਆਂ ਅਨੁਵਾਦ ਫ਼ਾਇਲਾਂ"
@@ -91,7 +91,7 @@
 "File “%s” is read-only and cannot be saved.\n"
 "Please save it under different name."
 msgstr ""
-"ਫ਼ਾਈਲ “%s” ਸਿਰਫ਼ ਪੜ੍ਹਨ ਲਈ ਹੈ ਅਤੇ 
ਸੰਭਾਲੀ ਨਹੀਂ ਜਾ ਸਕਦੀ।\n"
+"ਫ਼ਾਈਲ “%s” ਸਿਰਫ਼ ਪੜ੍ਹਨ ਲਈ ਹੈ ਅ
ਤੇ ਸੰਭਾਲੀ ਨਹੀਂ ਜਾ ਸਕਦੀ।\n"
 "ਇਸ ਨੂੰ ਕਿਸੇ ਵੱਖਰੇ ਨਾਂ ਨਾਲ 
ਸੰਭਾਲੋ।"
 
 #, c-format
@@ -102,17 +102,17 @@
 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] "ਫ਼ਾਈਲ “%s” ਦੀਆਂ %i ਕਤਾਰਾਂ ਸਹੀ 
ਤਰ੍ਹਾਂ ਲੋਡ ਨਹੀਂ ਹੋਈਆਂ।"
+msgstr[1] "ਫ਼ਾਈਲ “%s” ਦੀਆਂ %i ਕਤਾਰਾਂ 
ਸਹੀ ਤਰ੍ਹਾਂ ਲੋਡ ਨਹੀਂ ਹੋਈਆਂ।"
 
 #, c-format
 msgid "Line %d of file “%s” is corrupted (not valid %s data)."
-msgstr "ਫ਼ਾਈਲ “%2$s” ਦੀ ਕਤਾਰ %1$d ਵਿੱਚ 
ਖਰਾਬੀ ਹੈ (ਵਾਜਬ %3$s ਡਾਟਾ ਨਹੀਂ)।"
+msgstr "ਫ਼ਾਈਲ “%2$s” ਦੀ ਕਤਾਰ %1$d ਵਿੱਚ 
ਖਰਾਬੀ ਹੈ (ਵਾਜਬ %3$s ਡਾਟਾ ਨਹੀਂ)।"
 
 msgid "Broken PO file: singular form msgstr used together with msgid_plural"
-msgstr "ਖਰਾਬ PO ਫ਼ਾਈਲ: ਇੱਕਵਚਨ ਕਿਸਮ msgstr 
ਨੂੰ msgid_plural ਨਾਲ ਇਕੱਠੇ ਵਰਤਿਆ"
+msgstr "ਖਰਾਬ PO ਫ਼ਾਈਲ: ਇੱਕਵਚਨ ਕਿਸਮ 
msgstr ਨੂੰ msgid_plural ਨਾਲ ਇਕੱਠੇ ਵਰਤਿਆ"
 
 msgid "Broken PO file: plural form msgstr used without msgid_plural"
-msgstr "ਖਰਾਬ PO ਫ਼ਾਈਲ: ਬਹੁਵਚਨ ਕਿਸਮ msgstr 
ਨੂੰ msgid_plural ਤੋਂ ਬਿਨਾਂ ਵਰਤਿਆ"
+msgstr "ਖਰਾਬ PO ਫ਼ਾਈਲ: ਬਹੁਵਚਨ ਕਿਸਮ 
msgstr ਨੂੰ msgid_plural ਤੋਂ ਬਿਨਾਂ ਵਰਤਿਆ"
 
 msgid "Couldn’t load the file, it is probably damaged."
 msgstr ""
@@ -120,7 +120,7 @@
 msgid ""
 "There were errors when loading the file. Some data may be missing or "
 "corrupted as the result."
-msgstr "ਫ਼ਾਈਲ ਲੋਡ ਕਰਨ ਵਿੱਚ ਗਲਤੀਆਂ 
ਸਨ। ਨਤੀਜੇ ਵਜੋਂ ਸ਼ਾਇਦ ਕੁਝ ਡਾਟਾ 
ਗੁੰਮ ਜਾਂ ਖਰਾਬ ਹੋਵੇ।"
+msgstr "ਫ਼ਾਈਲ ਲੋਡ ਕਰਨ ਵਿੱਚ ਗਲਤੀਆਂ 
ਸਨ। ਨਤੀਜੇ ਵਜੋਂ ਸ਼ਾਇਦ ਕੁਝ ਡਾਟਾ 
ਗੁੰਮ ਜਾਂ ਖਰਾਬ ਹੋਵੇ।"
 
 msgid ""
 "There was a problem formatting the file nicely (but it was saved all right)."
@@ -133,16 +133,16 @@
 "\n"
 "It was saved in UTF-8 instead and the setting was modified accordingly."
 msgstr ""
-"ਅਨੁਵਾਦ ਦੀਆਂ ਸੈਟਿੰਗਾਂ ਮੁਤਾਬਕ 
ਫ਼ਾਈਲ “%s” ਅੱਖਰ-ਸਮੂਹ ਵਿੱਚ ਸੰਭਾਲੀ 
ਨਹੀਂ ਜਾ ਸਕਦੀ।\n"
+"ਅਨੁਵਾਦ ਦੀਆਂ ਸੈਟਿੰਗਾਂ ਮੁਤਾਬਕ 
ਫ਼ਾਈਲ “%s” ਅੱਖਰ-ਸਮੂਹ ਵਿੱਚ 
ਸੰਭਾਲੀ ਨਹੀਂ ਜਾ ਸਕਦੀ।\n"
 "\n"
 "ਇਹ UTF-8 ਵਿੱਚ ਸੰਭਾਲੀ ਹੋਣ ਕਰਕੇ 
ਸੈਟਿੰਗ ਨੂੰ ਉਸ ਮੁਤਾਬਕ ਸੋਧਿਆ 
ਗਿਆ।"
 
 msgid "Error saving file"
-msgstr "ਫ਼ਾਈਲ ਸੰਭਾਲਣ ਵੇਲੇ ਖਾਮੀ"
+msgstr "ਫ਼ਾਈਲ ਸੰਭਾਲਣ ਵੇਲੇ ਖਾਮੀ"
 
 #, c-format
 msgid "“%s” is not a valid POT file."
-msgstr "“%s” ਵਾਜਬ POT ਫ਼ਾਈਲ ਨਹੀਂ ਹੈ।"
+msgstr "“%s” ਜਾਇਜ਼ POT ਫਾਈਲ ਨਹੀਂ ਹੈ।"
 
 #, c-format
 msgid "Error while loading XLIFF file: %s"
@@ -157,13 +157,13 @@
 msgstr "ਅਨੁਵਾਦ ਸਤਰ ਵਿੱਚ ਖਰਾਬ ਮਾਰਕਅ
ੱਪ।"
 
 msgid "(Use default language)"
-msgstr "(ਮੂਲ ਭਾਸ਼ਾ ਵਰਤੋਂ)"
+msgstr "(ਮੂਲ ਭਾਸ਼ਾ ਵਰਤੋਂ)"
 
 msgid "Language selection"
-msgstr "ਭਾਸ਼ਾ ਚੋਣ"
+msgstr "ਭਾਸ਼ਾ ਚੋਣ"
 
 msgid "Select your preferred language"
-msgstr "ਆਪਣੀ ਪਸੰਦ ਦੀ ਭਾਸ਼ਾ ਚੁਣੋ"
+msgstr "ਆਪਣੀ ਪਸੰਦ ਦੀ ਭਾਸ਼ਾ ਚੁਣੋ"
 
 msgid "You must restart Poedit for this change to take effect."
 msgstr "ਤੁਹਾਨੂੰ ਤਬਦੀਲੀਆਂ ਲਾਗੂ ਕਰਨ 
ਲਈ Poedit ਨੂੰ ਮੁੜ ਚਾਲੂ ਕਰਨਾ ਪਵੇਗਾ।"
@@ -179,7 +179,7 @@
 #. TRANSLATORS: %s is a cloud destination, e.g. "Crowdin" or ftp.wordpress.com 
etc.
 #, c-format
 msgid "Syncing with %s failed."
-msgstr "%s ਨਾਲ ਸਮਕਾਲੀਕਰਨ ਅਸਫ਼ਲ ਰਿਹਾ।"
+msgstr "%s ਨਾਲ ਸਮਕਾਲੀਕਰਨ ਅਸਫਲ ਰਿਹਾ।"
 
 msgid "Syncing error"
 msgstr "ਸਿੰਕ ਕਰਨ ਵਿੱਚ ਗਲਤੀ"
@@ -191,7 +191,7 @@
 msgstr ""
 
 msgid "Not authorized, please sign in again."
-msgstr "ਅਧਿਕਾਰ ਨਹੀਂ ਹੈ, ਦੁਬਾਰਾ 
ਸਾਈਨ ਇਨ ਕਰੋ।"
+msgstr "ਅਧਿਕਾਰ ਨਹੀਂ ਹੈ, ਦੁਬਾਰਾ 
ਦਾਖਲ ਹੋਵੋ ਜੀ।"
 
 msgid "Downloading translations is disabled in this project."
 msgstr "ਇਸ ਪ੍ਰੋਜੈਕਟ ਦੇ ਅਨੁਵਾਦ 
ਡਾਊਨਲੋਡ ਕਰਨ ਦੀ ਸੁਵਿਧਾ ਬੰਦ ਹੈ।"
@@ -200,8 +200,8 @@
 "Crowdin is an online localization management platform and collaborative "
 "translation tool. Poedit can seamlessly sync PO files managed at Crowdin."
 msgstr ""
-"Crowdin ਸਥਾਨੀਕਰਨ ਪ੍ਰਬੰਧਨ 
ਪਲੇਟਫ਼ਾਰਮ ਅਤੇ ਸਹਿਯੋਗਮਈ ਅਨੁਵਾਦ 
ਸੰਦ ਹੈ। Crowdin 'ਤੇ ਪ੍ਰਬੰਧਿਤ "
-"ਕੀਤੀਆਂ PO ਫ਼ਾਈਲਾਂ ਦਾ Poedit ਸਹਿਜਤਾ 
ਨਾਲ ਸਮਕਾਲੀਕਰਨ ਕਰ ਸਕਦਾ ਹੈ।"
+"Crowdin ਸਥਾਨੀਕਰਨ ਪ੍ਰਬੰਧਨ 
ਪਲੇਟਫ਼ਾਰਮ ਅਤੇ ਸਹਿਯੋਗਮਈ ਅ
ਨੁਵਾਦ ਸੰਦ ਹੈ। Crowdin 'ਤੇ ਪ੍ਰਬੰਧਿਤ "
+"ਕੀਤੀਆਂ PO ਫ਼ਾਈਲਾਂ ਦਾ Poedit ਸਹਿਜਤਾ 
ਨਾਲ ਸਮਕਾਲੀਕਰਨ ਕਰ ਸਕਦਾ ਹੈ।"
 
 msgid "Sign In"
 msgstr "ਸਾਈਨ ਇਨ"
@@ -237,7 +237,7 @@
 msgstr "ਪਰੋਜੈਕਟ:"
 
 msgid "Language:"
-msgstr "ਭਾਸ਼ਾ:"
+msgstr "ਭਾਸ਼ਾ:"
 
 msgid "Signed in as:"
 msgstr "ਇਸ ਵਜੋਂ ਸਾਈਨ ਇਨ ਕੀਤਾ:"
@@ -267,7 +267,7 @@
 msgstr "ਮੱਦਦ(&H)"
 
 msgid "MO files can’t be directly edited in Poedit."
-msgstr "MO ਫ਼ਾਈਲਾਂ ਦਾ Poedit ਵਿੱਚ ਸਿੱਧੇ 
ਸੰਪਾਦਨ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ।"
+msgstr "MO ਫ਼ਾਈਲਾਂ ਦਾ Poedit ਵਿੱਚ ਸਿੱਧੇ 
ਸੰਪਾਦਨ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ।"
 
 msgid "Error opening file"
 msgstr "ਫਾਈਲ ਖੋਲ੍ਹਣ ਦੌਰਾਨ ਗਲਤੀ"
@@ -276,11 +276,11 @@
 "Please open and edit the corresponding PO file instead. When you save it, "
 "the MO file will be updated as well."
 msgstr ""
-"ਕਿਰਪਾ ਕਰਕੇ ਇਸਦੀ ਬਜਾਏ ਸਬੰਧਿਤ PO 
ਫ਼ਾਈਲ ਖੋਲ੍ਹ ਕੇ ਸੰਪਾਦਨ ਕਰੋ। 
ਇਸਦੇ ਸੰਭਾਲੇ ਜਾਣ 'ਤੇ MO ਫ਼ਾਈਲ ਵੀ "
+"ਕਿਰਪਾ ਕਰਕੇ ਇਸਦੀ ਬਜਾਏ ਸਬੰਧਿਤ PO 
ਫ਼ਾਈਲ ਖੋਲ੍ਹ ਕੇ ਸੰਪਾਦਨ ਕਰੋ। 
ਇਸਦੇ ਸੰਭਾਲੇ ਜਾਣ 'ਤੇ MO ਫ਼ਾਈਲ ਵੀ "
 "ਅੱਪਡੇਟ ਹੋ ਜਾਵੇਗੀ।"
 
 msgid "don’t delete temporary files (for debugging)"
-msgstr "ਅਸਥਾਈ ਫ਼ਾਈਲਾਂ ਨਾ ਮਿਟਾਓ 
(ਡੀਬੱਗਿੰਗ ਲਈ)"
+msgstr "ਅਸਥਾਈ ਫ਼ਾਈਲਾਂ ਨਾ ਮਿਟਾਓ 
(ਡੀਬੱਗਿੰਗ ਲਈ)"
 
 msgid "handle a poedit:// URI"
 msgstr "poedit:// URI ਹੈਂਡਲ ਕਰੋ"
@@ -305,7 +305,7 @@
 msgstr "Poedit ਵਰਤਣ ਲਈ ਸੌਖਾ ਅਨੁਵਾਦ 
ਸੰਪਾਦਕ ਹੈ।"
 
 msgid "You can’t drop more than one file on Poedit window."
-msgstr "ਤੁਸੀਂ Poedit ਬਾਰੀ ਵਿੱਚ ਇੱਕ ਤੋਂ 
ਵੱਧ ਫ਼ਾਈਲਾਂ ਨਹੀਂ ਸੁੱਟ ਸਕਦੇ।"
+msgstr "ਤੁਸੀਂ Poedit ਬਾਰੀ ਵਿੱਚ ਇੱਕ ਤੋਂ 
ਵੱਧ ਫ਼ਾਈਲਾਂ ਨਹੀਂ ਸੁੱਟ ਸਕਦੇ।"
 
 #, c-format
 msgid "File “%s” is not a translation file."
@@ -313,7 +313,7 @@
 
 #, c-format
 msgid "File “%s” doesn’t exist."
-msgstr "ਫ਼ਾਈਲ “%s” ਮੌਜੂਦ ਨਹੀਂ ਹੈ।"
+msgstr "ਫ਼ਾਈਲ “%s” ਮੌਜੂਦ ਨਹੀਂ ਹੈ।"
 
 msgid "Poedit"
 msgstr "ਪੋਆਡਿਟ"
@@ -334,7 +334,7 @@
 
 #, c-format
 msgid "The file “%s” has been changed by another application."
-msgstr "ਫ਼ਾਈਲ “%s” ਨੂੰ ਕਿਸੇ ਹੋਰ 
ਐਪਲੀਕੇਸ਼ਨ ਨੇ ਬਦਲ ਦਿੱਤਾ ਹੈ।"
+msgstr "ਫ਼ਾਈਲ “%s” ਨੂੰ ਕਿਸੇ ਹੋਰ 
ਐਪਲੀਕੇਸ਼ਨ ਨੇ ਬਦਲ ਦਿੱਤਾ ਹੈ।"
 
 msgid "Reload file"
 msgstr "ਫਾਈਲ ਮੁੜ-ਲੋਡ ਕਰੋ"
@@ -343,7 +343,7 @@
 "Do you want to reload the file from disk? Your unsaved edits in Poedit will "
 "be lost if you do."
 msgstr ""
-"ਕੀ ਤੁਸੀਂ ਡਿਸਕ ਤੋਂ ਫ਼ਾਈਲ 
ਮੁੜ-ਲੋਡ ਕਰਨੀ ਹੈ? ਅਜਿਹਾ ਕਰਨ ਨਾਲ 
Poedit ਵਿੱਚ ਨਾ-ਸੰਭਾਲੇ ਸੰਪਾਦਨ ਖੁੰਝ "
+"ਕੀ ਤੁਸੀਂ ਡਿਸਕ ਤੋਂ ਫ਼ਾਈਲ 
ਮੁੜ-ਲੋਡ ਕਰਨੀ ਹੈ? ਅਜਿਹਾ ਕਰਨ ਨਾਲ 
Poedit ਵਿੱਚ ਨਾ-ਸੰਭਾਲੇ ਸੰਪਾਦਨ ਖੁੰਝ "
 "ਜਾਣਗੇ।"
 
 msgid "Ignore"
@@ -353,7 +353,7 @@
 msgstr "ਫਾਈਲ ਮੁੜ-ਲੋਡ ਕਰੋ"
 
 msgid "The file has been modified. Do you want to save changes?"
-msgstr "ਫ਼ਾਈਲ ਸੋਧੀ ਗਈ। ਕੀ ਤੁਸੀਂ 
ਤਬਦੀਲੀਆਂ ਸੰਭਾਲਣੀਆਂ ਹਨ?"
+msgstr "ਫ਼ਾਈਲ ਸੋਧੀ ਗਈ। ਕੀ ਤੁਸੀਂ 
ਤਬਦੀਲੀਆਂ ਸੰਭਾਲਣੀਆਂ ਹਨ?"
 
 msgid "Save changes"
 msgstr "ਤਬਦੀਲੀਆਂ ਸੰਭਾਲੋ"
@@ -377,10 +377,10 @@
 msgstr "ਰੱਦ ਕਰੋ"
 
 msgid "Save Anyway"
-msgstr "ਫ਼ਿਰ ਵੀ ਸੰਭਾਲੋ"
+msgstr "ਫ਼ਿਰ ਵੀ ਸੰਭਾਲੋ"
 
 msgid "Save anyway"
-msgstr "ਫ਼ਿਰ ਵੀ ਸੰਭਾਲੋ"
+msgstr "ਫ਼ਿਰ ਵੀ ਸੰਭਾਲੋ"
 
 msgid "Save as…"
 msgstr "ਇਸ ਵਜੋਂ ਸਾਂਭੋ…"
@@ -405,13 +405,13 @@
 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 file’s Properties."
 msgstr ""
-"ਅਨੁਵਾਦਾਂ ਨੂੰ ਸਰੋਤ ਕੋਡ ਤੋਂ ਅ
ੱਪਡੇਟ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ, 
ਕਿਉਂਕਿ ਫ਼ਾਈਲ ਦੀਆਂ ਪ੍ਰਾਪਟੀਆਂ 
ਵਿੱਚ ਦੱਸੇ ਟਿਕਾਣੇ "
+"ਅਨੁਵਾਦਾਂ ਨੂੰ ਸਰੋਤ ਕੋਡ ਤੋਂ ਅ
ੱਪਡੇਟ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ, 
ਕਿਉਂਕਿ ਫ਼ਾਈਲ ਦੀਆਂ ਪ੍ਰਾਪਟੀਆਂ 
ਵਿੱਚ ਦੱਸੇ ਟਿਕਾਣੇ "
 "'ਤੇ ਕੋਈ ਕੋਡ ਨਹੀਂ ਮਿਲਿਆ।"
 
 msgid "Permission denied."
@@ -421,7 +421,7 @@
 "You don’t have permission to read source code files from the location "
 "specified in the file’s Properties."
 msgstr ""
-"ਤੁਹਾਡੇ ਕੋਲ ਫ਼ਾਈਲ ਦੀਆਂ 
ਪ੍ਰਾਪਟੀਆਂ ਵਿੱਚ ਦੱਸੇ ਟਿਕਾਣੇ 
'ਤੇ ਦਿੱਤੀਆਂ ਸਰੋਤ ਕੋਡ ਫ਼ਾਈਲਾਂ 
ਨੂੰ ਪੜ੍ਹਨ ਦੀ ਇਜਾਜ਼ਤ "
+"ਤੁਹਾਡੇ ਕੋਲ ਫ਼ਾਈਲ ਦੀਆਂ 
ਪ੍ਰਾਪਟੀਆਂ ਵਿੱਚ ਦੱਸੇ ਟਿਕਾਣੇ 
'ਤੇ ਦਿੱਤੀਆਂ ਸਰੋਤ ਕੋਡ ਫ਼ਾਈਲਾਂ 
ਨੂੰ ਪੜ੍ਹਨ ਦੀ ਇਜਾਜ਼ਤ "
 "ਨਹੀਂ ਹੈ।"
 
 #. TRANSLATORS: The System Settings etc. references macOS 13 Ventura or newer 
system settings and should be translated EXACTLY as in macOS. If you don't use 
macOS and can't check, please leave it untranslated.
@@ -435,14 +435,14 @@
 "If you previously denied access to your files, you can allow it in System "
 "Preferences > Security & Privacy > Privacy > Files & Folders."
 msgstr ""
-"ਜੇਕਰ ਤੁਹਾਨੂੰ ਪਹਿਲਾਂ ਵੀ 
ਤੁਹਾਡੀਆਂ ਫ਼ਾਈਲਾਂ ਤੱਕ ਜਾਣ ਨਹੀਂ 
ਦਿੱਤਾ ਗਿਆ, ਤਾਂ ਤੁਸੀਂ ਸਿਸਟਮ 
ਤਰਜੀਹਾਂ > "
-"ਸੁਰੱਖਿਆ ਅਤੇ ਪਰਦੇਦਾਰੀ > 
ਪਰਦੇਦਾਰੀ > ਫ਼ਾਈਲਾਂ ਅਤੇ ਫ਼ੋਲਡਰਾਂ 
ਵਿੱਚ ਇਹ ਇਜਾਜ਼ਤ ਦੇ ਸਕਦੇ ਹੋ।"
+"ਜੇਕਰ ਤੁਹਾਨੂੰ ਪਹਿਲਾਂ ਵੀ 
ਤੁਹਾਡੀਆਂ ਫ਼ਾਈਲਾਂ ਤੱਕ ਜਾਣ ਨਹੀਂ 
ਦਿੱਤਾ ਗਿਆ, ਤਾਂ ਤੁਸੀਂ ਸਿਸਟਮ 
ਤਰਜੀਹਾਂ > "
+"ਸੁਰੱਖਿਆ ਅਤੇ ਪਰਦੇਦਾਰੀ > 
ਪਰਦੇਦਾਰੀ > ਫ਼ਾਈਲਾਂ ਅਤੇ 
ਫ਼ੋਲਡਰਾਂ ਵਿੱਚ ਇਹ ਇਜਾਜ਼ਤ ਦੇ 
ਸਕਦੇ ਹੋ।"
 
 msgid "Translation entries in the file are probably incorrect."
-msgstr "ਇਸ ਫ਼ਾਈਲ ਵਿੱਚ ਅਨੁਵਾਦ ਇੰਦਰਾਜ 
ਸ਼ਾਇਦ ਗਲਤ ਹਨ।"
+msgstr "ਇਸ ਫ਼ਾਈਲ ਵਿੱਚ ਅਨੁਵਾਦ 
ਇੰਦਰਾਜ ਸ਼ਾਇਦ ਗਲਤ ਹਨ।"
 
 msgid "Updating the file failed. Click on 'Details >>' for details."
-msgstr "ਫ਼ਾਈਲ ਅੱਪਡੇਟ ਨਹੀਂ ਹੋ ਸਕੀ। 
ਵੇਰਵਿਆਂ ਲਈ 'ਵੇਰਵੇ >>' 'ਤੇ ਕਲਿੱਕ 
ਕਰੋ।"
+msgstr "ਫ਼ਾਈਲ ਅੱਪਡੇਟ ਨਹੀਂ ਹੋ ਸਕੀ। 
ਵੇਰਵਿਆਂ ਲਈ 'ਵੇਰਵੇ >>' 'ਤੇ ਕਲਿੱਕ 
ਕਰੋ।"
 
 msgid "Open translation template"
 msgstr "ਅਨੁਵਾਦ ਟੈਮਪਲੇਟ ਖੋਲ੍ਹੋ"
@@ -450,8 +450,8 @@
 #, 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 "ਪ੍ਰਮਾਣੀਕਰਨ ਦੇ ਨਤੀਜੇ"
@@ -470,23 +470,23 @@
 "The file was saved safely and compiled into the MO format, but it will "
 "probably not work correctly."
 msgstr ""
-"ਫ਼ਾਈਲ ਸਹੀ ਤਰ੍ਹਾਂ ਸੰਭਾਲੀ ਅਤੇ MO 
ਫ਼ਾਰਮੈਟ ਵਿੱਚ ਕੰਪਾਇਲ ਕੀਤੀ ਗਈ, ਪਰ 
ਸ਼ਾਇਦ ਇਹ ਸਹੀ ਢੰਗ ਨਾਲ ਕੰਮ "
+"ਫ਼ਾਈਲ ਸਹੀ ਤਰ੍ਹਾਂ ਸੰਭਾਲੀ ਅਤੇ MO 
ਫ਼ਾਰਮੈਟ ਵਿੱਚ ਕੰਪਾਇਲ ਕੀਤੀ ਗਈ, 
ਪਰ ਸ਼ਾਇਦ ਇਹ ਸਹੀ ਢੰਗ ਨਾਲ ਕੰਮ "
 "ਨਾ ਕਰੇ।"
 
 msgid ""
 "The file was saved safely, but it cannot be compiled into the MO format and "
 "used."
 msgstr ""
-"ਫ਼ਾਈਲ ਸਹੀ ਤਰ੍ਹਾਂ ਸੰਭਾਲੀ ਗਈ, ਪਰ 
ਇਹ MO ਫ਼ਾਰਮੈਟ ਵਿੱਚ ਕੰਪਾਇਲ ਨਹੀਂ 
ਕੀਤੀ ਅਤੇ ਵਰਤੀ ਨਹੀਂ ਜਾ "
+"ਫ਼ਾਈਲ ਸਹੀ ਤਰ੍ਹਾਂ ਸੰਭਾਲੀ ਗਈ, 
ਪਰ ਇਹ MO ਫ਼ਾਰਮੈਟ ਵਿੱਚ ਕੰਪਾਇਲ 
ਨਹੀਂ ਕੀਤੀ ਅਤੇ ਵਰਤੀ ਨਹੀਂ ਜਾ "
 "ਸਕਦੀ।"
 
 msgid ""
 "The file was compiled into the MO format, but it will probably not work "
 "correctly."
-msgstr "ਫ਼ਾਈਲ MO ਫ਼ਾਰਮੈਟ ਵਿੱਚ ਕੰਪਾਇਲ 
ਕੀਤੀ ਗਈ, ਪਰ ਸ਼ਾਇਦ ਇਹ ਸਹੀ ਤਰ੍ਹਾਂ 
ਕੰਮ ਨਾ ਕਰੇ।"
+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 "ਅਨੁਵਾਦ ਵਿੱਚ ਕੋਈ ਖਾਮੀ ਨਹੀ 
ਲੱਭੀ।"
@@ -495,15 +495,15 @@
 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 ਐਂਟਰੀਆਂ ਹਾਲੇ 
ਟਰਾਂਸਲੇਟ ਨਹੀਂ ਹਨ।"
+msgstr[0] "ਟਰਾਂਸਲੇਸ਼ਨ ਵਰਤੇ ਜਾਣ ਲਈ 
ਤਿਆਰ ਹੈ, ਪਰ %d ਐਂਟਰੀ ਹਾਲੇ 
ਟਰਾਂਸਲੇਟ ਨਹੀਂ ਹੈ।"
+msgstr[1] "ਟਰਾਂਸਲੇਸ਼ਨ ਵਰਤੇ ਜਾਣ ਲਈ 
ਤਿਆਰ ਹੈ, ਪਰ %d ਐਂਟਰੀਆਂ ਹਾਲੇ 
ਟਰਾਂਸਲੇਟ ਨਹੀਂ ਹਨ।"
 
 msgid "The translation is ready for use."
 msgstr "ਅਨੁਵਾਦ ਵਰਤੇ ਜਾਣ ਲਈ ਤਿਆਰ 
ਹੈ।"
 
 #, c-format
 msgid "Poedit automatically fixed invalid content in the file “%s”."
-msgstr "Poedit ਨੇ ਫ਼ਾਈਲ “%s” ਵਿਚਲੀ ਅ
ਢੁਕਵੀਂ ਸਮੱਗਰੀ ਨੂੰ ਆਪਣੇ-ਆਪ ਠੀਕ 
ਕੀਤਾ।"
+msgstr "Poedit ਨੇ ਫ਼ਾਈਲ “%s” ਵਿਚਲੀ ਅ
ਢੁਕਵੀਂ ਸਮੱਗਰੀ ਨੂੰ ਆਪਣੇ-ਆਪ ਠੀਕ 
ਕੀਤਾ।"
 
 msgid ""
 "The file contained duplicate items, which is not allowed in PO files and "
@@ -511,7 +511,7 @@
 "should review translations of any items marked as needing work and correct "
 "them if necessary."
 msgstr ""
-"ਫ਼ਾਈਲ ਵਿੱਚ ਦੂਹਰੀਆਂ ਆਈਟਮਾਂ ਹਨ, 
ਜੋ PO ਫ਼ਾਈਲਾਂ ਲਈ ਠੀਕ ਨਹੀਂ ਅਤੇ ਜਿਸ 
ਕਰਕੇ ਫ਼ਾਈਲ ਵਰਤੀ ਨਹੀਂ ਜਾ "
+"ਫ਼ਾਈਲ ਵਿੱਚ ਦੂਹਰੀਆਂ ਆਈਟਮਾਂ ਹਨ, 
ਜੋ PO ਫ਼ਾਈਲਾਂ ਲਈ ਠੀਕ ਨਹੀਂ ਅਤੇ 
ਜਿਸ ਕਰਕੇ ਫ਼ਾਈਲ ਵਰਤੀ ਨਹੀਂ ਜਾ "
 "ਸਕਦੀ। Poedit ਨੇ ਸਮੱਸਿਆ ਠੀਕ ਕੀਤੀ, 
ਪਰ ਤੁਹਾਨੂੰ ਕਿਸੇ ਵੀ ਉਸ ਆਈਟਮ ਦੇ ਅ
ਨੁਵਾਦ ਦੀ ਸਮੀਖਿਆ ਕਰਨੀ "
 "ਪਵੇਗੀ ਜਿਸ 'ਤੇ 'ਕੰਮ ਕਰਨ ਦੀ ਲੋੜ 
ਹੈ' ਦਾ ਨਿਸ਼ਾਨ ਲੱਗੇ ਅਤੇ ਲੋੜ 
ਮੁਤਾਬਕ ਉਸਨੂੰ ਠੀਕ ਕਰਨਾ ਪਵੇਗਾ।"
 
@@ -519,10 +519,10 @@
 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 ""
@@ -536,21 +536,21 @@
 msgstr "ਅਨੁਵਾਦ ਦੀ ਭਾਸ਼ਾ ਅਤੇ ਸਰੋਤ 
ਦੀ ਭਾਸ਼ਾ ਇੱਕੋ ਹੈ।"
 
 msgid "Fix Language"
-msgstr "ਭਾਸ਼ਾ ਨੂੰ ਠੀਕ ਕਰੋ"
+msgstr "ਭਾਸ਼ਾ ਨੂੰ ਠੀਕ ਕਰੋ"
 
 msgid "Fix language"
-msgstr "ਭਾਸ਼ਾ ਨੂੰ ਠੀਕ ਕਰੋ"
+msgstr "ਭਾਸ਼ਾ ਨੂੰ ਠੀਕ ਕਰੋ"
 
 msgid ""
 "This file has entries with plural forms, but doesn’t have Plural-Forms "
 "header configured."
-msgstr "ਇਸ ਫ਼ਾਈਲ ਵਿੱਚ ਬਹੁਵਚਨ ਵਾਲੇ 
ਇੰਦਰਾਜ ਹਨ, ਪਰ ਬਹੁਵਚਨ ਵਾਲਾ 
ਸਿਰਲੇਖ ਤੈਅ ਨਹੀਂ ਹੈ।"
+msgstr "ਇਸ ਫ਼ਾਈਲ ਵਿੱਚ ਬਹੁਵਚਨ ਵਾਲੇ 
ਇੰਦਰਾਜ ਹਨ, ਪਰ ਬਹੁਵਚਨ ਵਾਲਾ 
ਸਿਰਲੇਖ ਤੈਅ ਨਹੀਂ ਹੈ।"
 
 msgid ""
 "Entries in this file have different plural forms count from what the file’s 
"
 "Plural-Forms header says"
 msgstr ""
-"ਇਸ ਫ਼ਾਈਲ ਵਿਚਲੇ ਇੰਦਰਾਜਾਂ ਦੇ 
ਵੱਖੋ-ਵੱਖਰੇ ਬਹੁਵਚਨ ਹਨ ਜੋ ਇਸ 
ਫ਼ਾਈਲ ਦੇ ਬਹੁਵਚਨ ਵਾਲੇ ਸਿਰਲੇਖ ਦੇ 
ਉਲਟ ਹੈ"
+"ਇਸ ਫ਼ਾਈਲ ਵਿਚਲੇ ਇੰਦਰਾਜਾਂ ਦੇ 
ਵੱਖੋ-ਵੱਖਰੇ ਬਹੁਵਚਨ ਹਨ ਜੋ ਇਸ 
ਫ਼ਾਈਲ ਦੇ ਬਹੁਵਚਨ ਵਾਲੇ ਸਿਰਲੇਖ 
ਦੇ ਉਲਟ ਹੈ"
 
 msgid "Required header Plural-Forms is missing."
 msgstr "ਬਹੁਵਚਨ ਲਈ ਲੋੜੀਂਦਾ ਸਿਰਲੇਖ 
ਮੌਜੂਦ ਨਹੀਂ ਹੈ।"
@@ -570,7 +570,7 @@
 #. to rephrase it, e.g. to an equivalent of "for language %s".
 #, c-format
 msgid "Plural forms expression used by the file is unusual for %s."
-msgstr "ਇਸ ਫ਼ਾਈਲ ਵਿੱਚ ਵਰਤਿਆ ਬਹੁਵਚਨ 
ਕਥਨ %s ਮੁਤਾਬਕ ਠੀਕ ਨਹੀਂ ਹੈ।"
+msgstr "ਇਸ ਫ਼ਾਈਲ ਵਿੱਚ ਵਰਤਿਆ ਬਹੁਵਚਨ 
ਕਥਨ %s ਮੁਤਾਬਕ ਠੀਕ ਨਹੀਂ ਹੈ।"
 
 #. TRANSLATORS: A verb, shown as action button with ""Plural forms expression 
used by the file is unusual for %s.")"
 msgid "Review"
@@ -705,7 +705,7 @@
 msgstr "ਹਾਲਤ ਪੱਟੀ ਵੇਖਾਓ"
 
 msgid "String length in characters: translation | source"
-msgstr "ਅੱਖਰਾਂ ਵਿੱਚ ਸਤਰ ਦੀ ਲੰਬਾਈ: 
ਟਰਾਂਸਲੇਸ਼ਨ | ਸਰੋਤ"
+msgstr "ਅੱਖਰਾਂ ਵਿੱਚ ਸਤਰ ਦੀ ਲੰਬਾਈ: 
ਟਰਾਂਸਲੇਸ਼ਨ | ਸਰੋਤ"
 
 msgid "String length in characters"
 msgstr "ਅੱਖਰਾਂ ਵਿੱਚ ਸਤਰ ਦੀ ਲੰਬਾਈ"
@@ -743,21 +743,21 @@
 "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 ਫਾਈਲ ਬਣਾਓ।"
+"POT ਫਾਈਲਾਂ ਸਿਰਫ਼ ਨਮੂਨੇ ਹੁੰਦੀਆਂ 
ਹਨ ਅਤੇ ਖੁਦ ਕੋਈ ਟਰਾਂਸਲੇਸ਼ਨ 
ਨਹੀਂ ਰੱਖਦੀਆਂ।\n"
+"ਟਰਾਂਸਲੇਸ਼ਨ ਕਰਨ ਲਈ, ਨਮੂਨੇ ਦੇ ਅ
ਧਾਰ ਉੱਤੇ ਨਵੀਂ PO ਫਾਈਲ ਬਣਾਓ।"
 
 msgid "Create new translation"
 msgstr "ਨਵਾਂ ਅਨੁਵਾਦ ਬਣਾਓ"
 
 msgid "Make a new translation from this POT file."
-msgstr "ਇਸ POT ਫਾਈਲ ਤੋਂ ਨਵੀਂ 
ਟਰਾਂਸਲੇਸ਼ਨ ਬਣਾਓ।"
+msgstr "ਇਸ POT ਫਾਈਲ ਤੋਂ ਨਵੀਂ 
ਟਰਾਂਸਲੇਸ਼ਨ ਬਣਾਓ।"
 
 #. TRANSLATORS: Refers to symbolic ID of source text, i.e. when something like 
"button.label" is used instead of English text
 msgid "Source text ID"
 msgstr ""
 
 msgid "Everything"
-msgstr "ਹਰ ਚੀਜ਼"
+msgstr "ਹਰ ਚੀਜ਼"
 
 #, c-format
 msgid "Form %i"
@@ -810,14 +810,14 @@
 msgstr "ਸਰੋਤ ਟੈਕਸਟ — %s"
 
 msgid "unknown language"
-msgstr "ਅਣਜਾਣ ਭਾਸ਼ਾ"
+msgstr "ਅਣਜਾਣ ਭਾਸ਼ਾ"
 
 #, c-format
 msgid "Failed command: %s"
 msgstr "ਕਮਾਂਡ ਫੇਲ੍ਹ ਹੋਈ: %s"
 
 msgid "Failed to merge gettext catalogs."
-msgstr "gettext ਸਾਰਨੀਆਂ ਵਿੱਚ ਰਲਗੱਡ 
ਕਰਨਾ ਅਸਫ਼ਲ ਰਿਹਾ।"
+msgstr "gettext ਸਾਰਨੀਆਂ ਵਿੱਚ ਰਲਗੱਡ 
ਕਰਨਾ ਅਸਫ਼ਲ ਰਿਹਾ।"
 
 msgid "Open in Editor"
 msgstr "ਐਡੀਟਰ ਵਿੱਚ ਖੋਲ੍ਹੋ"
@@ -912,13 +912,13 @@
 msgstr "ਪ੍ਰੋਗਰਾਮ ਚਲਾਇਆ ਨਹੀਂ ਜਾ 
ਸਕਦਾ: %s"
 
 msgid "Language Code or Name (e.g. en_GB)"
-msgstr "ਭਾਸ਼ਾ ਕੋਡ ਜਾਂ ਨਾਂ (ਜਿਵੇਂ pa_IN)"
+msgstr "ਭਾਸ਼ਾ ਕੋਡ ਜਾਂ ਨਾਂ (ਜਿਵੇਂ pa_IN)"
 
 msgid "Translation Language"
-msgstr "ਅਨੁਵਾਦ ਭਾਸ਼ਾ"
+msgstr "ਅਨੁਵਾਦ ਭਾਸ਼ਾ"
 
 msgid "Language of the translation:"
-msgstr "ਅਨੁਵਾਦ ਦੀ ਭਾਸ਼ਾ:"
+msgstr "ਅਨੁਵਾਦ ਦੀ ਭਾਸ਼ਾ:"
 
 msgid "Poedit - Catalogs manager"
 msgstr "ਪੋਆਡਿਟ - ਕੈਟਾਲਾਗ ਮੈਨੇਜਰ"
@@ -927,7 +927,7 @@
 msgstr "ਸੋਧੋ…"
 
 msgid "Create new translations project"
-msgstr "ਨਵਾਂ ਭਾਸ਼ਾ ਅਨੁਵਾਦ ਪ੍ਰੋਜੈਕਟ 
ਬਣਾਓ"
+msgstr "ਨਵਾਂ ਭਾਸ਼ਾ ਅਨੁਵਾਦ 
ਪ੍ਰੋਜੈਕਟ ਬਣਾਓ"
 
 msgid "Delete the project"
 msgstr "ਪ੍ਰੋਜੈਕਟ ਹਟਾਓ"
@@ -977,7 +977,7 @@
 msgstr ""
 
 msgid "Confirmation"
-msgstr "ਪੁਸ਼ਟੀ"
+msgstr "ਪੁਸ਼ਟੀ"
 
 msgid "Update all catalogs in this project?"
 msgstr ""
@@ -1011,22 +1011,22 @@
 msgstr "ਹਟਾਓ"
 
 msgid "Spelling and Grammar"
-msgstr "ਸ਼ਬਦ-ਜੋੜ ਅਤੇ ਵਿਆਕਰਨ"
+msgstr "ਸ਼ਬਦ-ਜੋੜ ਅਤੇ ਵਿਆਕਰਨ"
 
 msgid "Show Spelling and Grammar"
-msgstr "ਸ਼ਬਦ-ਜੋੜ ਅਤੇ ਵਿਆਕਰਨ ਵੇਖਾਓ"
+msgstr "ਸ਼ਬਦ-ਜੋੜ ਅਤੇ ਵਿਆਕਰਨ ਵੇਖਾਓ"
 
 msgid "Check Document Now"
-msgstr "ਦਸਤਾਵੇਜ਼ ਦੀ ਹੁਣੇ ਜਾਂਚ ਕਰੋ"
+msgstr "ਦਸਤਾਵੇਜ਼ ਦੀ ਹੁਣੇ ਜਾਂਚ ਕਰੋ"
 
 msgid "Check Spelling While Typing"
-msgstr "ਲਿਖਣ ਦੇ ਨਾਲ ਨਾਲ ਹੀ ਸ਼ਬਦ-ਜੋੜ 
ਚੈੱਕ ਕਰੋ"
+msgstr "ਲਿਖਣ ਦੇ ਨਾਲ ਨਾਲ ਹੀ ਸ਼ਬਦ-ਜੋੜ 
ਚੈੱਕ ਕਰੋ"
 
 msgid "Check Grammar With Spelling"
 msgstr "ਲਿਖਣ ਦੇ ਨਾਲ ਨਾਲ ਵਿਆਕਰਨ ਦੀ 
ਜਾਂਚ ਕਰੋ"
 
 msgid "Correct Spelling Automatically"
-msgstr "ਆਪਣੇ-ਆਪ ਹੀ ਸ਼ਬਦ-ਜੋੜ ਠੀਕ ਕਰੋ"
+msgstr "ਆਪਣੇ-ਆਪ ਹੀ ਸ਼ਬਦ-ਜੋੜ ਠੀਕ ਕਰੋ"
 
 msgid "Substitutions"
 msgstr "ਤਬਾਦਲੇ"
@@ -1041,7 +1041,7 @@
 msgstr "ਸਮਾਰਟ ਕੋਟ"
 
 msgid "Smart Dashes"
-msgstr "ਸਮਾਰਟ ਡੈਸ਼ਾਂ"
+msgstr "ਸਮਾਰਟ ਡੈਸ਼ਾਂ"
 
 msgid "Smart Links"
 msgstr "ਸਮਾਰਟ ਲਿੰਕਾਂ"
@@ -1050,7 +1050,7 @@
 msgstr "ਪਾਠ ਤਬਾਦਲਾ"
 
 msgid "Transformations"
-msgstr "ਟਰਾਂਸਫਰਮੇਸ਼ਨ"
+msgstr "ਟਰਾਂਸਫਰਮੇਸ਼ਨ"
 
 msgid "Make Upper Case"
 msgstr "ਅੱਪਰਕੇਸ ਬਣਾਓ"
@@ -1059,13 +1059,13 @@
 msgstr "ਲੋਅਰਕੇਸ ਬਣਾਓ"
 
 msgid "Capitalize"
-msgstr "ਅੰਗਰੇਜ਼ੀ ਦੇ ਵੱਡੇ ਅੱਖਰ"
+msgstr "ਅੰਗਰੇਜ਼ੀ ਦੇ ਵੱਡੇ ਅੱਖਰ"
 
 msgid "Speech"
 msgstr "ਸਪੀਚ"
 
 msgid "Start Speaking"
-msgstr "ਬੋਲਣਾ ਸ਼ੁਰੂ ਕਰੋ"
+msgstr "ਬੋਲਣਾ ਸ਼ੁਰੂ ਕਰੋ"
 
 msgid "Stop Speaking"
 msgstr "ਬੋਲਣਾ ਰੋਕੋ"
@@ -1079,7 +1079,7 @@
 
 #. TRANSLATORS: This must be the same as OS X's translation of this View menu 
item
 msgid "Customize Toolbar…"
-msgstr "ਸੰਦਪੱਟੀ ਵਿੱਚ ਫ਼ੇਰਬਦਲ ਕਰੋ..."
+msgstr "ਸੰਦਪੱਟੀ ਵਿੱਚ ਫ਼ੇਰਬਦਲ ਕਰੋ..."
 
 #. TRANSLATORS: This must be the same as OS X's translation of this View menu 
item
 msgid "Enter Full Screen"
@@ -1092,7 +1092,7 @@
 msgstr "ਘੱਟੋ-ਘੱਟ"
 
 msgid "Zoom"
-msgstr "ਜ਼ੂਮ"
+msgstr "ਜ਼ੂਮ"
 
 msgid "Welcome to Poedit"
 msgstr "ਪੋਐਡਿਟ ਵਲੋਂ ਜੀ ਆਇਆਂ ਨੂੰ"
@@ -1132,10 +1132,10 @@
 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-"
@@ -1155,11 +1155,11 @@
 msgstr "ਪਸੰਦੀਦਾ ਪਾਠ ਖੇਤਰ ਫ਼ੋਂਟ 
ਵਰਤੋਂ:"
 
 msgid "Change UI language"
-msgstr "UI ਭਾਸ਼ਾ ਬਦਲੋ"
+msgstr "UI ਭਾਸ਼ਾ ਬਦਲੋ"
 
 #. TRANSLATORS: This is a note appended to "Check spelling" when running on 
older Windows versions
 msgid "(requires Windows 8 or newer)"
-msgstr "(ਵਿੰਡੋਜ਼ 8 ਜਾਂ ਨਵੀਂ ਚਾਹੀਦੀ 
ਹੈ)"
+msgstr "(ਵਿੰਡੋਜ਼ 8 ਜਾਂ ਨਵੀਂ ਚਾਹੀਦੀ 
ਹੈ)"
 
 msgid "General"
 msgstr "ਆਮ"
@@ -1168,7 +1168,7 @@
 msgstr "ਅਨੁਵਾਦ ਮੈਮੋਰੀ ਵਰਤੋਂ"
 
 msgid "Manage…"
-msgstr "…ਇੰਤਜ਼ਾਮ"
+msgstr "ਪ੍ਰਬੰਧ ਕਰੋ…"
 
 #. TRANSLATORS: Followed by "match translations within the file" or 
"pre-translate from TM"
 msgid "When updating from sources"
@@ -1228,7 +1228,7 @@
 
 #, c-format
 msgid "Error loading translation file “%s”."
-msgstr "“%s” ਟਰਾਂਸਲੇਸ਼ਨ ਫਾਈਲ ਲੋਡ ਕਰਨ 
ਵਿੱਚ ਗਲਤੀ ਹੈ।"
+msgstr "“%s” ਅਨੁਵਾਦ ਫਾਈਲ ਲੋਡ ਕਰਨ 
ਵਿੱਚ ਸਮੱਸਿਆ ਖੜ੍ਹੀ ਹੋਈ।"
 
 msgid "Finalizing…"
 msgstr ""
@@ -1328,7 +1328,7 @@
 msgstr "ਲਾਈਨ ਸਮਾਪਤੀ:"
 
 msgid "Unix (recommended)"
-msgstr "ਯੂਨੈਕਸ (ਸਿਫਾਰਸ਼ੀ)"
+msgstr "ਯੂਨੈਕਸ (ਸਿਫਾਰਸ਼ੀ)"
 
 msgid "Windows"
 msgstr "Windows"
@@ -1430,16 +1430,16 @@
 msgstr ""
 
 msgid "Add Folders…"
-msgstr "…ਫੋਲਡਰ ਜੋੜੋ"
+msgstr "ਫੋਲਡਰ ਜੋੜੋ…"
 
 msgid "Add folders…"
-msgstr "…ਫੋਲਡਰ ਜੋੜੋ"
+msgstr "ਫੋਲਡਰ ਜੋੜੋ…"
 
 msgid "Add Files…"
-msgstr "…ਫ਼ਾਈਲਾਂ ਜੋੜੋ"
+msgstr "ਫ਼ਾਈਲਾਂ ਜੋੜੋ…"
 
 msgid "Add files…"
-msgstr "…ਫ਼ਾਈਲਾਂ ਜੋੜੋ"
+msgstr "ਫ਼ਾਈਲਾਂ ਜੋੜੋ…"
 
 msgid "Add Wildcard…"
 msgstr ""
@@ -1492,7 +1492,7 @@
 msgstr "ਜਿਵੇਂ nplurals=2; plural=(n > 1);"
 
 msgid "UTF-8 (recommended)"
-msgstr "UTF-8 (ਸਿਫਾਰਸ਼ੀ)"
+msgstr "UTF-8 (ਸਿਫਾਰਸ਼ੀ)"
 
 msgid "Please save the file first. This section cannot be edited until then."
 msgstr ""
@@ -1587,7 +1587,7 @@
 msgstr "ਝਲਕ"
 
 msgid "Add directory to the list"
-msgstr "ਡਾਇਰੈਕਟਰੀ ਲਿਸਟ ਵਿੱਚ ਸ਼ਾਮਲ"
+msgstr "ਡਾਇਰੈਕਟਰੀ ਲਿਸਟ ਵਿੱਚ ਸ਼ਾਮਲ"
 
 msgid "OK"
 msgstr "ਠੀਕ ਹੈ"
@@ -1608,7 +1608,7 @@
 msgstr "ਖੋਲ੍ਹੋ(&O)…"
 
 msgid "Open Recent"
-msgstr "ਤਾਜ਼ਾ ਖੋਲ੍ਹੇ"
+msgstr "ਤਾਜ਼ਾ ਖੋਲ੍ਹੇ"
 
 msgid "Open recent"
 msgstr "ਹਾਲੀਆ ਖੋਲ੍ਹੋ"
@@ -1768,7 +1768,7 @@
 msgstr ""
 
 msgid "&Translation"
-msgstr "ਟਰਾਂਸਲੇਸ਼ਨ(&T)"
+msgstr "ਟਰਾਂਸਲੇਸ਼ਨ(&T)"
 
 msgid "&Update from source code"
 msgstr "ਸਰੋਤ ਕੋਡ ਤੋਂ ਅੱਪਡੇਟ ਕਰੋ(&U)"
@@ -1801,7 +1801,7 @@
 msgstr ""
 
 msgid "&Properties…"
-msgstr "ਵਿਸ਼ੇਸ਼ਤਾ(&P)…"
+msgstr "ਵਿਸ਼ੇਸ਼ਤਾ(&P)…"
 
 msgid "&Done and next"
 msgstr "ਮੁਕੰਮਲ ਤੇ ਅੱਗੇ(&D)"
@@ -1858,10 +1858,10 @@
 msgstr "ਆਨਲਾਈਨ ਮਦਦ(&O)"
 
 msgid "&GNU gettext manual"
-msgstr "&GNU gettext ਦਸਤਾਵੇਜ਼"
+msgstr "&GNU gettext ਦਸਤਾਵੇਜ਼"
 
 msgid "&GNU gettext Manual"
-msgstr "&GNU gettext ਦਸਤਾਵੇਜ਼"
+msgstr "&GNU gettext ਦਸਤਾਵੇਜ਼"
 
 msgid "&About Poedit"
 msgstr "ਪੋਐਡਿਟ ਬਾਰੇ(&A)"
@@ -1873,7 +1873,7 @@
 msgstr ""
 
 msgid "List of extensions separated by semicolons (e.g. *.cpp;*.h):"
-msgstr "ਇਕਸਟੈਸ਼ਨਾਂ ਦੀ ਲਿਸਟ ਅਰਧ 
ਕਾਮਿਆਂ ਨਾਲ ਲਿਖੋ (ਜਿਵੇ ਕਿ *.cpp;*.h):"
+msgstr "ਇਕਸਟੈਸ਼ਨਾਂ ਦੀ ਲਿਸਟ ਅਰਧ 
ਕਾਮਿਆਂ ਨਾਲ ਲਿਖੋ (ਜਿਵੇ ਕਿ *.cpp;*.h):"
 
 msgid "Invocation:"
 msgstr "ਸਹਾਇਤਾ :"
@@ -1895,7 +1895,7 @@
 "This will be attached to the command line once\n"
 "for each keyword. %k expands to the keyword."
 msgstr ""
-"ਇਹ ਇੱਕ ਵਾਰ ਕਮਾਂਡ ਲਾਇਨ ਨਾਲ 
ਹਰੇਕ ਇੰਪੁੱਟ ਫਾਇਲ ਲ਼ਈ ਜੁਡ਼ 
ਜਾਵੇਗਾ।\n"
+"ਇਹ ਇੱਕ ਵਾਰ ਕਮਾਂਡ ਲਾਇਨ ਨਾਲ 
ਹਰੇਕ ਇੰਪੁੱਟ ਫਾਇਲ ਲ਼ਈ ਜੁਡ਼ 
ਜਾਵੇਗਾ।\n"
 "%k ਫਾਇਲ ਨਾਂ ਫੈਲਾ ਦੇਵੇਗਾ।"
 
 msgid "An item in input files list:"
@@ -1917,23 +1917,23 @@
 "This will be attached to the command line\n"
 "only if source code charset was given. %c expands to charset value."
 msgstr ""
-"ਇਹ ਇੱਕ ਵਾਰ ਕਮਾਂਡ ਲਾਇਨ ਨਾਲ 
ਹਰੇਕ ਇੰਪੁੱਟ ਫਾਇਲ ਲ਼ਈ ਜੁਡ਼ 
ਜਾਵੇਗਾ।\n"
+"ਇਹ ਇੱਕ ਵਾਰ ਕਮਾਂਡ ਲਾਇਨ ਨਾਲ 
ਹਰੇਕ ਇੰਪੁੱਟ ਫਾਇਲ ਲ਼ਈ ਜੁਡ਼ 
ਜਾਵੇਗਾ।\n"
 "%c ਫਾਇਲ ਨਾਂ ਫੈਲਾ ਦੇਵੇਗਾ।"
 
 msgid "Translation Properties"
-msgstr "ਅਨੁਵਾਦ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ"
+msgstr "ਅਨੁਵਾਦ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ"
 
 msgid "Project name and version:"
 msgstr "ਪ੍ਰੋਜੈਕਟ ਨਾਂ ਅਤੇ ਵਰਜਨ :"
 
 msgid "Language team:"
-msgstr "ਭਾਸ਼ਾ ਟੀਮ:"
+msgstr "ਭਾਸ਼ਾ ਟੀਮ:"
 
 msgid "Plural forms:"
 msgstr "ਬਹੁਵਚਨ ਰੂਪ:"
 
 msgid "Use default rules for this language"
-msgstr "ਇਹ ਭਾਸ਼ਾ ਲਈ ਡਿਫਾਲਟ ਨਿਯਮ 
ਵਰਤੋਂ"
+msgstr "ਇਹ ਭਾਸ਼ਾ ਲਈ ਡਿਫਾਲਟ ਨਿਯਮ 
ਵਰਤੋਂ"
 
 msgid "Use custom expression"
 msgstr ""
@@ -1951,7 +1951,7 @@
 msgstr ""
 
 msgid "Translation properties"
-msgstr "ਅਨੁਵਾਦ ਵਿਸ਼ੇਸ਼ਤਾ"
+msgstr "ਅਨੁਵਾਦ ਵਿਸ਼ੇਸ਼ਤਾ"
 
 msgid "Sources Paths"
 msgstr ""
@@ -2014,7 +2014,7 @@
 msgstr "ਫਾਈਲ ਸੰਭਾਲੋ"
 
 msgid "Validate"
-msgstr ""
+msgstr "ਤਸਦੀਕ ਕਰੋ"
 
 msgid "Check for errors in the translation"
 msgstr ""
@@ -2136,7 +2136,7 @@
 #. version number when used
 #, c-format
 msgid "Version %s"
-msgstr "%s ਵਰਜ਼ਨ"
+msgstr "%s ਵਰਜ਼ਨ"
 
 msgid "Create new"
 msgstr ""
@@ -2207,7 +2207,7 @@
 
 #. TRANSLATORS: Title of a category in Windows task menu (right-click icon in 
taskbar)
 msgid "Recent"
-msgstr "ਤਾਜ਼ਾ"
+msgstr "ਤਾਜ਼ਾ"
 
 #. TRANSLATORS: Title of a category in Windows task menu (right-click icon in 
taskbar)
 msgid "Frequent"
@@ -2229,10 +2229,10 @@
 msgstr "ਰੱਦ ਕਰੋ(&C)"
 
 msgid "&Clear"
-msgstr "ਸਾਫ਼ ਕਰੋ(&C)"
+msgstr "ਸਾਫ਼ ਕਰੋ(&C)"
 
 msgid "Clear"
-msgstr "ਸਾਫ਼ ਕਰੋ"
+msgstr "ਸਾਫ਼ ਕਰੋ"
 
 msgid "Copy"
 msgstr "ਕਾਪੀ ਕਰੋ"
@@ -2274,7 +2274,7 @@
 msgstr "ਖੋਲ੍ਹੋ(&O)..."
 
 msgid "Open..."
-msgstr "...ਖੋਲ੍ਹੋ"
+msgstr "ਖੋਲ੍ਹੋ…"
 
 msgid "&Paste"
 msgstr "ਚੇਪੋ(&P)"
@@ -2289,7 +2289,7 @@
 msgstr "ਪਰਤਾਓ(&R)"
 
 msgid "Refresh"
-msgstr "ਤਾਜ਼ਾ ਕਰੋ"
+msgstr "ਤਾਜ਼ਾ ਕਰੋ"
 
 msgid "&Save as"
 msgstr "ਇਸ ਵਜੋਂ ਸੰਭਾਲੋ(&S)"
Binary files old/poedit-3.3.1/locales/ro.mo and new/poedit-3.3.2/locales/ro.mo 
differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/poedit-3.3.1/locales/ro.po 
new/poedit-3.3.2/locales/ro.po
--- old/poedit-3.3.1/locales/ro.po      2023-05-16 15:39:54.000000000 +0200
+++ new/poedit-3.3.2/locales/ro.po      2023-06-26 16:51:20.000000000 +0200
@@ -3,7 +3,7 @@
 "Project-Id-Version: poedit\n"
 "Report-Msgid-Bugs-To: h...@poedit.net\n"
 "POT-Creation-Date: 2023-05-09 17:49+0200\n"
-"PO-Revision-Date: 2023-05-09 15:49\n"
+"PO-Revision-Date: 2023-06-26 11:33\n"
 "Last-Translator: \n"
 "Language-Team: Romanian\n"
 "Language: ro_RO\n"
@@ -201,7 +201,7 @@
 msgstr "Adaugă"
 
 msgid "Unknown Crowdin error."
-msgstr ""
+msgstr "Eroare necunoscută de Crowdin."
 
 msgid "Not authorized, please sign in again."
 msgstr "Neautorizat, vă rugăm să faceţi \"sign in\" din nou."
Binary files old/poedit-3.3.1/locales/zh_CN.mo and 
new/poedit-3.3.2/locales/zh_CN.mo differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/poedit-3.3.1/locales/zh_CN.po 
new/poedit-3.3.2/locales/zh_CN.po
--- old/poedit-3.3.1/locales/zh_CN.po   2023-05-16 15:39:54.000000000 +0200
+++ new/poedit-3.3.2/locales/zh_CN.po   2023-06-26 16:51:20.000000000 +0200
@@ -3,7 +3,7 @@
 "Project-Id-Version: poedit\n"
 "Report-Msgid-Bugs-To: h...@poedit.net\n"
 "POT-Creation-Date: 2023-05-09 17:49+0200\n"
-"PO-Revision-Date: 2023-05-09 15:48\n"
+"PO-Revision-Date: 2023-06-26 11:33\n"
 "Last-Translator: \n"
 "Language-Team: Chinese Simplified\n"
 "Language: zh_CN\n"
@@ -187,7 +187,7 @@
 msgstr "添加"
 
 msgid "Unknown Crowdin error."
-msgstr ""
+msgstr "未知的 Crowdin 错误。"
 
 msgid "Not authorized, please sign in again."
 msgstr "未授权,请尝试重新登录。"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/poedit-3.3.1/src/cat_update.cpp 
new/poedit-3.3.2/src/cat_update.cpp
--- old/poedit-3.3.1/src/cat_update.cpp 2023-05-16 15:39:54.000000000 +0200
+++ new/poedit-3.3.2/src/cat_update.cpp 2023-06-26 16:51:20.000000000 +0200
@@ -211,6 +211,7 @@
                 try
                 {
                     auto pot = POCatalog::Create(potFile, 
Catalog::CreationFlag_IgnoreHeader);
+                    return pot;
                 }
                 catch (...)
                 {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/poedit-3.3.1/src/catalog.cpp 
new/poedit-3.3.2/src/catalog.cpp
--- old/poedit-3.3.1/src/catalog.cpp    2023-05-16 15:39:54.000000000 +0200
+++ new/poedit-3.3.2/src/catalog.cpp    2023-06-26 16:51:20.000000000 +0200
@@ -551,6 +551,8 @@
     dt.Lang = Language();
     if (dt.LanguageTeam == "LANGUAGE <l...@li.org>")
         dt.LanguageTeam.clear();
+    if (dt.GetHeader("Plural-Forms") == "nplurals=INTEGER; plural=EXPRESSION;")
+        dt.DeleteHeader("Plural-Forms");
 
     // translator should be pre-filled & not the default "FULL NAME 
<EMAIL@ADDRESS>"
     dt.DeleteHeader("Last-Translator");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/poedit-3.3.1/src/catalog.h 
new/poedit-3.3.2/src/catalog.h
--- old/poedit-3.3.1/src/catalog.h      2023-05-16 15:39:54.000000000 +0200
+++ new/poedit-3.3.2/src/catalog.h      2023-06-26 16:51:20.000000000 +0200
@@ -190,6 +190,9 @@
         // empty string otherwise
         wxString GetFormatFlag() const;
 
+        /// Like GetFormatFlags(), but only for internal uses (e.g. 
fileformat-specific highlighting)
+        virtual std::string GetInternalFormatFlag() const { return 
std::string(); }
+
         /// Gets value of fuzzy flag.
         bool IsFuzzy() const { return m_isFuzzy; }
         /// Gets value of translated flag.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/poedit-3.3.1/src/catalog_json.cpp 
new/poedit-3.3.2/src/catalog_json.cpp
--- old/poedit-3.3.1/src/catalog_json.cpp       2023-05-16 15:39:54.000000000 
+0200
+++ new/poedit-3.3.2/src/catalog_json.cpp       2023-06-26 16:51:20.000000000 
+0200
@@ -261,11 +261,6 @@
     FlutterItem(int id, const std::string& key, json_t& node, const json_t 
*metadata)
         : GenericJSONItem(id, key, node), m_metadata(metadata)
     {
-        m_string = str::to_wx(key);
-        auto trans = str::to_wx(node.get<std::string>());
-        m_translations.push_back(trans);
-        m_isTranslated = !trans.empty();
-
         if (metadata)
         {
             if (metadata->contains("context"))
@@ -280,11 +275,6 @@
         }
     }
 
-    void UpdateInternalRepresentation() override
-    {
-        m_node = str::to_utf8(GetTranslation());
-    }
-
 protected:
     const json_t *m_metadata;
 };
@@ -297,7 +287,7 @@
 
     static bool SupportsFile(const json_t& doc, const std::string& extension)
     {
-        return extension == "arb" || doc.find("@@locale") != doc.end();
+        return extension == "arb" || (doc.is_object() && 
doc.contains("@@locale"));
     }
 
     void SetLanguage(Language lang) override
@@ -355,11 +345,76 @@
 };
 
 
+// Support for WebExtension messages.json:
+// https://developer.chrome.com/docs/extensions/mv3/i18n-messages/
+// https://developer.chrome.com/docs/extensions/reference/i18n/
+// 
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Internationalization
+// 
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/i18n/Locale-Specific_Message_reference
+
+class WebExtensionCatalog : public JSONCatalog
+{
+public:
+    using JSONCatalog::JSONCatalog;
+
+    static bool SupportsFile(const json_t& doc)
+    {
+        if (!doc.is_object() || doc.empty())
+            return false;
+
+        auto first = doc.begin().value();
+        return first.is_object() && first.contains("message");
+    }
+
+    void Parse() override
+    {
+        int id = 0;
+        for (auto& el : m_doc.items())
+        {
+            auto& val = el.value();
+            if (!val.is_object())
+                throw JSONUnrecognizedFileException();
+
+            m_items.push_back(std::make_shared<Item>(++id, el.key(), val));
+        }
+
+        if (m_items.empty())
+            throw JSONUnrecognizedFileException();
+    }
+
+protected:
+    class Item : public JSONCatalogItem
+    {
+    public:
+        Item(int id, const std::string& key, json_t& node) : 
JSONCatalogItem(id, node)
+        {
+            m_string = str::to_wx(key);
+
+            auto trans = str::to_wx(node.value("message", ""));
+            m_translations.push_back(trans);
+            m_isTranslated = !trans.empty();
+
+            auto desc = node.value("description", "");
+            if (!desc.empty())
+                m_extractedComments.push_back(str::to_wx(desc));
+        }
+
+        void UpdateInternalRepresentation() override
+        {
+            m_node["message"] = str::to_utf8(GetTranslation());
+        }
+
+        std::string GetInternalFormatFlag() const override { return 
"ph-dollars"; }
+    };
+};
+
+
 std::shared_ptr<JSONCatalog> JSONCatalog::CreateForJSON(json_t&& doc, const 
std::string& extension)
 {
     // try specialized implementations first:
     if (FlutterCatalog::SupportsFile(doc, extension))
         return std::shared_ptr<JSONCatalog>(new 
FlutterCatalog(std::move(doc)));
+    if (WebExtensionCatalog::SupportsFile(doc))
+        return std::shared_ptr<JSONCatalog>(new 
WebExtensionCatalog(std::move(doc)));
 
     // then fall back to generic:
     if (GenericJSONCatalog::SupportsFile(doc))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/poedit-3.3.1/src/catalog_po.cpp 
new/poedit-3.3.2/src/catalog_po.cpp
--- old/poedit-3.3.1/src/catalog_po.cpp 2023-05-16 15:39:54.000000000 +0200
+++ new/poedit-3.3.2/src/catalog_po.cpp 2023-06-26 16:51:20.000000000 +0200
@@ -809,6 +809,15 @@
     Load(po_file, flags);
 }
 
+void POCatalog::PostCreation()
+{
+    Catalog::PostCreation();
+    
+    // gettext historically assumes English:
+    if (!m_sourceLanguage.IsValid() && !m_sourceIsSymbolicID)
+        m_sourceLanguage = Language::English();
+}
+
 
 bool POCatalog::HasCapability(Catalog::Cap cap) const
 {
@@ -1553,7 +1562,8 @@
 void POCatalog::SetLanguage(Language lang)
 {
     Catalog::SetLanguage(lang);
-    if (HasPluralItems())
+    // don't add unneeded header, but always update it if already present:
+    if (HasPluralItems() || m_header.HasHeader("Plural-Forms"))
         m_header.SetHeaderNotEmpty("Plural-Forms", 
lang.DefaultPluralFormsExpr().str());
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/poedit-3.3.1/src/catalog_po.h 
new/poedit-3.3.2/src/catalog_po.h
--- old/poedit-3.3.1/src/catalog_po.h   2023-05-16 15:39:54.000000000 +0200
+++ new/poedit-3.3.2/src/catalog_po.h   2023-06-26 16:51:20.000000000 +0200
@@ -156,6 +156,8 @@
     /// \a flags is CreationFlags combination.
     explicit POCatalog(const wxString& po_file, int flags = 0);
 
+    void PostCreation() override;
+
 public:
     // Common wrapping values
     static const int NO_WRAPPING = -1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/poedit-3.3.1/src/customcontrols.cpp 
new/poedit-3.3.2/src/customcontrols.cpp
--- old/poedit-3.3.1/src/customcontrols.cpp     2023-05-16 15:39:54.000000000 
+0200
+++ new/poedit-3.3.2/src/customcontrols.cpp     2023-06-26 16:51:20.000000000 
+0200
@@ -382,7 +382,7 @@
     if (flags & Centered)
         sizer->AddStretchSpacer();
     sizer->Add(m_spinner, wxSizerFlags().Center().Border(wxRIGHT, PX(4)));
-    sizer->Add(m_label, wxSizerFlags(1).Center());
+    sizer->Add(m_label, wxSizerFlags().Center());
     if (flags & Centered)
         sizer->AddStretchSpacer();
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/poedit-3.3.1/src/prefsdlg.cpp 
new/poedit-3.3.2/src/prefsdlg.cpp
--- old/poedit-3.3.1/src/prefsdlg.cpp   2023-05-16 15:39:54.000000000 +0200
+++ new/poedit-3.3.2/src/prefsdlg.cpp   2023-06-26 16:51:20.000000000 +0200
@@ -830,7 +830,7 @@
             //        be rendered correctly, so we just use normal background 
for now:
             if (ColorScheme::GetWindowMode(this) == ColorScheme::Dark)
             {
-                
listPanel->SetBackgroundColour(listPanel->GetDefaultAttributes().colBg);
+                listPanel->SetBackgroundColour(wxNullColour);
             }
             else
 #endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/poedit-3.3.1/src/syntaxhighlighter.cpp 
new/poedit-3.3.2/src/syntaxhighlighter.cpp
--- old/poedit-3.3.1/src/syntaxhighlighter.cpp  2023-05-16 15:39:54.000000000 
+0200
+++ new/poedit-3.3.2/src/syntaxhighlighter.cpp  2023-06-26 16:51:20.000000000 
+0200
@@ -206,6 +206,8 @@
                 //
                 RegexSyntaxHighlighter::flags);
 
+// WebExtension-like $foo$ placeholders
+std::wregex REOBJ_DOLLAR_PLACEHOLDERS(LR"(\$[A-Za-z0-9_]+\$)", 
RegexSyntaxHighlighter::flags);
 
 // php-format per http://php.net/manual/en/function.sprintf.php plus 
positionals
 const wchar_t* RE_PHP_FORMAT = LR"(%(\d+\$)?[-+]{0,2}([ 
0]|'.)?-?\d*(\..?\d+)?[%bcdeEfFgGosuxX])";
@@ -244,6 +246,9 @@
 SyntaxHighlighterPtr SyntaxHighlighter::ForItem(const CatalogItem& item, int 
kindsMask, int flags)
 {
     auto fmt = item.GetFormatFlag();
+    if (fmt.empty())
+        fmt = item.GetInternalFormatFlag();
+
     bool needsHTML = (kindsMask & Markup);
     if (needsHTML)
     {
@@ -337,6 +342,11 @@
             static auto pascal_format = 
std::make_shared<RegexSyntaxHighlighter>(RE_PASCAL_FORMAT, 
TextKind::Placeholder);
             all->Add(pascal_format);
         }
+        else if (fmt == "ph-dollars")
+        {
+            static auto dollars_format = 
std::make_shared<RegexSyntaxHighlighter>(REOBJ_DOLLAR_PLACEHOLDERS, 
TextKind::Placeholder);
+            all->Add(dollars_format);
+        }
     }
 
     // basic highlighting has highest priority, so should come last in the 
order:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/poedit-3.3.1/src/version.h 
new/poedit-3.3.2/src/version.h
--- old/poedit-3.3.1/src/version.h      2023-05-16 15:39:54.000000000 +0200
+++ new/poedit-3.3.2/src/version.h      2023-06-26 16:51:20.000000000 +0200
@@ -26,7 +26,7 @@
 #ifndef Poedit_version_h
 #define Poedit_version_h
 
-#define POEDIT_VERSION           "3.3.1"
-#define POEDIT_VERSION_WIN        3,3,1
+#define POEDIT_VERSION           "3.3.2"
+#define POEDIT_VERSION_WIN        3,3,2
 
 #endif // Poedit_version_h

Reply via email to