Re: [pgAdmin4][Patch]: Fixed 2190 - Move languageselection to Preferences. - Mailing list pgadmin-hackers

From Dave Page
Subject Re: [pgAdmin4][Patch]: Fixed 2190 - Move languageselection to Preferences.
Date
Msg-id CA+OCxoxej7t8XYefX3reaJOCGAsefWtkno4vKUDNUt8gN11iRg@mail.gmail.com
Whole thread Raw
In response to Re: [pgAdmin4][Patch]: Fixed 2190 - Move languageselection to Preferences.  (Khushboo Vashi <khushboo.vashi@enterprisedb.com>)
Responses Re: [pgAdmin4][Patch]: Fixed 2190 - Move languageselection to Preferences.  (Jonas Thelemann <e-mail@jonas-thelemann.de>)
List pgadmin-hackers
Hi

On Friday, March 31, 2017, Khushboo Vashi <khushboo.vashi@enterprisedb.com> wrote:
Hi,

On Mon, Mar 27, 2017 at 9:57 PM, Dave Page <dpage@pgadmin.org> wrote:
On Mon, Mar 27, 2017 at 7:49 AM, Khushboo Vashi
<khushboo.vashi@enterprisedb.com> wrote:
> Hi Dave,
>
> I have fixed the issue and the patch for the same is attached, but the
> Binary path options are not translated properly.

Thanks - committed.

> We register the preferences before the first request of the app. In this
> case we don't have any language loaded, so it will take only English.
> To fix this issue, I had explicitly added gettext for the labels and help
> messages while opening the Preference dialogue.
> All the labels and help messages render properly except Binary paths; as at
> run time we don't get the translation of 'EDB Advanced Server Binary Path'.
> We have translations like below:
>
> #: pgadmin/browser/server_groups/servers/types.py:59
> msgid "{0} Binary Path"
> msgstr "Ścieżka Binarna {0}"
>
> So, in this case my suggestion is to have the entire label/help messages
> translations.
> So, that the Preference dialogue can translate run time.

I'm fine with that; however, the strings should come from the
underlying drivers of course, as only they should have specific
knowledge of details such as the name of the database server they
provide access to.

The string always comes from drivers as they are being registered from there.
I have attached the patch to translate the entire string.
I took the reference of the string from the messages.po file and translated, so someone has to validate that this is the correct translation.

All I see in the patch is updates to the message catalog. It seems to me there should be chunks in there to push the entire string back into the relevant driver, otherwise the changes to the messages.po files will be overwritten the next time I do an extract/merge. 

Essentially, I think we need to add properties to the drivers, such as:

BIN_PATH_LABEL = _("PostgreSQL Binary Path")
BIN_PATH_HELP = _("Path to the directory containing the PostgreSQL utility programs (pg_dump, pg_restore etc).")

Then in types.py, we'd have something like:

            st.utility_path = paths.register(
                'bin_paths', st.stype + '_bin_dir',
                st.BIN_PATH_LABEL,
                'text', default_path, category_label=_('Binary paths'),
                help_str=st.BIN_PATH_HELP
                )
            )

Thanks.


--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

pgadmin-hackers by date:

Previous
From: Dave Page
Date:
Subject: Re: [pgAdmin4][Patch]: Fixed RM 2291 - Errorhighlighting broken
Next
From: Dave Page
Date:
Subject: Re: [pgAdmin4] [RM2305] unable to set comment withnon ascii characters on objects.