Re: pgAdmin4 Chinese (Simplified) translation Patch

From: Dave Page <dpage(at)pgadmin(dot)org>
To: lambda <googletoday009(at)163(dot)com>
Cc: pgadmin-hackers <pgadmin-hackers(at)postgresql(dot)org>, pgadmin-hackers-owner(at)postgresql(dot)org, Khushboo Vashi <khushboo(dot)vashi(at)enterprisedb(dot)com>
Subject: Re: pgAdmin4 Chinese (Simplified) translation Patch
Date: 2016-11-14 12:07:04
Message-ID: CA+OCxoxwS5gP-R=AHXmRn6xELKhO0jenQ=z8cXFJ4uz+auKBLw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-hackers

Hi

(Khushboo, please see below)

On Sun, Nov 13, 2016 at 1:26 PM, lambda <googletoday009(at)163(dot)com> wrote:
> for the first question, pybabel support Chinese with zh_Hans_CN
>
> #pybabel --list-locales |grep zh
> b'zh Chinese'
> b'zh_Hans Chinese (Simplified)'
> b'zh_Hans_CN Chinese (Simplified, China)'
> b'zh_Hans_HK Chinese (Simplified, Hong Kong SAR China)'
> b'zh_Hans_MO Chinese (Simplified, Macau SAR China)'
> b'zh_Hans_SG Chinese (Simplified, Singapore)'
> b'zh_Hant Chinese (Traditional)'
> b'zh_Hant_HK Chinese (Traditional, Hong Kong SAR China)'
> b'zh_Hant_MO Chinese (Traditional, Macau SAR China)'
> b'zh_Hant_TW Chinese (Traditional, Taiwan)'

Right, but if I try to match with 'zh-CN' (which is what Chrome offers
for Chinese Simplified), then I get:

2016-11-14 11:53:52,919: INFO werkzeug: 127.0.0.1 - - [14/Nov/2016
11:53:52] "GET / HTTP/1.1" 500 -
Traceback (most recent call last):
File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/flask/app.py",
line 2000, in __call__
return self.wsgi_app(environ, start_response)
File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/flask/app.py",
line 1991, in wsgi_app
response = self.make_response(self.handle_exception(e))
File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/flask/app.py",
line 1567, in handle_exception
reraise(exc_type, exc_value, tb)
File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/flask/app.py",
line 1988, in wsgi_app
response = self.full_dispatch_request()
File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/flask/app.py",
line 1634, in full_dispatch_request
self.try_trigger_before_first_request_functions()
File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/flask/app.py",
line 1660, in try_trigger_before_first_request_functions
func()
File "/Users/dpage/git/pgadmin4/web/pgadmin/utils/__init__.py", line
42, in create_module_preference
self.register_preferences()
File "/Users/dpage/git/pgadmin4/web/pgadmin/browser/__init__.py",
line 192, in register_preferences
gettext("Show system objects?"), 'boolean', False,
File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/flask_babel/__init__.py",
line 539, in gettext
t = get_translations()
File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/flask_babel/__init__.py",
line 216, in get_translations
catalog = support.Translations.load(dirname, [get_locale()])
File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/flask_babel/__init__.py",
line 248, in get_locale
locale = Locale.parse(rv)
File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/babel/core.py",
line 270, in parse
parts = parse_locale(identifier, sep=sep)
File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/babel/core.py",
line 1096, in parse_locale
raise ValueError('expected only letters, got %r' % lang)
ValueError: expected only letters, got 'zh-cn'

zh_Hans_CN isn't offered by the browser at all, so that doesn't work.

Maybe the answer is to not use the browser's language negotiation at
all, but make it a configurable setting?

> 2.for the compile error, it seems an bug in pybabel choose ignore it,
> it well ok.in my vim , line 7283 nearly it highlights '% u' in " 20% use"
> i do not known why both '%' and 'u' high here.
> in my laptop, although it make an error massage as you show, it
> generate the po file ok!
> now i update the 7283 line with '20% use' with '20%\ use'
> it will compile without errror,
> attatchment is updated version.
> Thank you!

In testing I found a couple of issues:

1) We weren't extracting strings from SQL templates for translation

2) Strings in some of the dashboards weren't marked for translation

I've fixed those two issues and updated the template. Can you please
update your translation?

Khushboo; I also noticed that the treeview collection labels aren't
getting translated. Can you look to see why please?

Thanks.

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

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

In response to

Responses

Browse pgadmin-hackers by date

  From Date Subject
Next Message Khushboo Vashi 2016-11-14 12:16:47 Re: pgAdmin4 Chinese (Simplified) translation Patch
Previous Message Dave Page 2016-11-14 12:04:31 pgAdmin 4 commit: Add missing strings from the dashboards.