Re: [patch][pgAdmin] Fix for pgadmin4-linux-qa #1651 failure - Mailing list pgadmin-hackers

From Dave Page
Subject Re: [patch][pgAdmin] Fix for pgadmin4-linux-qa #1651 failure
Date
Msg-id CA+OCxoz6DsEMLkmK6Cd50enHoTXfMmoKU9ZGY4vdzOYio8OKbQ@mail.gmail.com
Whole thread Raw
In response to Re: [patch][pgAdmin] Fix for pgadmin4-linux-qa #1651 failure  (Rahul Shirsat <rahul.shirsat@enterprisedb.com>)
Responses Re: [patch][pgAdmin] Fix for pgadmin4-linux-qa #1651 failure
List pgadmin-hackers


On Fri, Jul 2, 2021 at 8:41 PM Rahul Shirsat <rahul.shirsat@enterprisedb.com> wrote:
+1 for --no-fuzzy-matching for updating translations.

On Thu, Jul 1, 2021 at 11:18 AM Khushboo Vashi <khushboo.vashi@enterprisedb.com> wrote:


On Wed, Jun 30, 2021 at 6:55 PM Dave Page <dpage@pgadmin.org> wrote:
Hi

On Wed, Jun 30, 2021 at 9:22 AM Dave Page <dpage@pgadmin.org> wrote:
Hi

On Wed, Jun 30, 2021 at 8:28 AM Rahul Shirsat <rahul.shirsat@enterprisedb.com> wrote:
Hi All,

Please find the attached patch for resolving this issue wrt above suggestion.

Well that may fix the problem (and is a reasonable change), however, I think it's important that we understand the root cause. Why is this failing on Linux only? Why does the following from node.js (which follows the same pattern) work fine?

var type_label = gettext('%s Script',stype.toUpperCase());

Rahul and I figured out the root cause. The issue is occuring because the previous string had no parameters (i.e. no %s's). Because fuzzy matching is used for the translations, when updating the catalogs it was matching with the old translation, which at runtime would likely have caused a crash because the catalogs would have contained something like:

#: pgadmin/browser/static/js/node.js:209
#, fuzzy, python-format
msgid "Search %s Objects"
msgstr "Typy obiektów"

There are a few of ways around this:

- Manually fix the translations in each catalog. This is not a good idea because we don't speak all those languages and will probably mess the translations up.

- Run something like 'make msg-extract && pybabel update --no-fuzzy-matching -i web/pgadmin/messages.pot -d web/pgadmin/translations && make msg-compile', then commit the results. This will remove all fuzzy matches from the catalogs, which means more work for the translators on the next release, but will likely also result in them becoming much cleaner.

+1 for pybabel update with -N option


Akshay? 


--

pgadmin-hackers by date:

Previous
From: Akshay Joshi
Date:
Subject: Re: [patch][pgAdmin] RM6550 5.4 running on kubernetes fails to log in even with the right environment variables defined
Next
From: Akshay Joshi
Date:
Subject: Re: [patch][pgAdmin] Fix for pgadmin4-linux-qa #1651 failure