You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@superset.apache.org by GitBox <gi...@apache.org> on 2021/09/01 17:08:37 UTC

[GitHub] [superset] audour opened a new issue #16550: Need improved translation into French

audour opened a new issue #16550:
URL: https://github.com/apache/superset/issues/16550


   ### Expected results
   
   Superset is usable in French
   
   ### Actual results
   
   French translation is not usable (too many mistakes/missing translations)
   
   #### Screenshots
   
   For instance within `superset/superset/translations/fr/LC_MESSAGES/messages.json`
   
   * `"Annotation delete failed.": ["Annotations et couches"]` -> it means "Annoations and layers"
   * `"Annotation layer parameters are invalid.": ["Les couches d'annotation sont toujours en cours de chargement."]` -> it means "Annotation layers are still loading"
   * `"Annotation layer could not be deleted.": ["Les couches d'annotation sont toujours en cours de chargement."]` -> it means "Annotation layers are still loading"
   
   ### Environment
   
   - superset version: `1.3.0`
   
   ### Checklist
   
   - [ x ] I have reproduced the issue with at least the latest released version of superset.
   - [ x ] I have checked the issue tracker for the same issue and I haven't found one similar.
   
   ### Contribution proposal (but need some help)
   
   Hi,
   
   I've created this issue as I plan to improve whole french translation ASAP which is not really usable for now (too many missing translations).
   I've read [CONTRIBUTING.md#translating](https://github.com/apache/superset/blob/master/CONTRIBUTING.md#translating) but not everything is clear to me and I've faced some trouble with `pybabel extract`. That's why I'm looking for a confirmation/help about the good process.
   
   I plan to do the following :
   
   * fork superset repo [done]
   * create a branch `fr_translation_improvement` [done]
   * install Babel with virtualenv [done]
   * extract new strings for translation (`pybabel extract...` produces `.pot`) -> I got an error here (see below), but is this step really needed here ?
   * update language files (`pybabel update...` produces `.po` for each language) -> it works
   * keep only `.po` updates related to the language I want to translate : `superset/translations/fr/LC_MESSAGES/messages.po`, and discard others
   
   From here I'm a little bit lost. From what I've read and by checking some PR like [chore: Add Slovenian (sl_SI) translation #14908](https://github.com/apache/superset/pull/14908), it seems that the main goal is to update `messages.po` and `messages.json` files under `superset/translations/fr/LC_MESSAGES` (and then submit a PR), but the process is not clear to me:
   
   * option 1 : translate the `.po` file, then convert the PO file into a JSON file using `po2json` and then commit the `.po` and the `.json` files together ?
   * option 2 : convert the PO file into a JSON file using `po2json`, then translate the `.json`, then use `pybabel compile` to update the `.po` from the `.json` ?
   * any other option ?
   
   However when I run `pybabel extract -F superset/translations/babel.cfg -o superset/translations/messages.pot -k _ -k __ -k t -k tn -k tct .` I get this error: 
   
   ```
   extracting messages from superset/__init__.py
   extracting messages from superset/app.py
   extracting messages from superset/cli.py
   extracting messages from superset/config.py
   extracting messages from superset/constants.py
   extracting messages from superset/dataframe.py
   extracting messages from superset/errors.py
   extracting messages from superset/exceptions.py
   extracting messages from superset/extensions.py
   extracting messages from superset/forms.py
   extracting messages from superset/jinja_context.py
   extracting messages from superset/legacy.py
   extracting messages from superset/result_set.py
   extracting messages from superset/schemas.py
   extracting messages from superset/sql_lab.py
   Traceback (most recent call last):
     File "/path_to_venv/venv/bin/pybabel", line 8, in <module>
       sys.exit(main())
     File "/path_to_venv/venv/lib/python3.8/site-packages/babel/messages/frontend.py", line 929, in main
       return CommandLineInterface().run(sys.argv)
     File "/path_to_venv/venv/lib/python3.8/site-packages/babel/messages/frontend.py", line 853, in run
       return cmdinst.run()
     File "/path_to_venv/venv/lib/python3.8/site-packages/babel/messages/frontend.py", line 481, in run
       for filename, lineno, message, comments, context in extracted:
     File "/path_to_venv/venv/lib/python3.8/site-packages/babel/messages/extract.py", line 149, in extract_from_dir
       for message_tuple in check_and_call_extract_file(
     File "/path_to_venv/venv/lib/python3.8/site-packages/babel/messages/extract.py", line 207, in check_and_call_extract_file
       for message_tuple in extract_from_file(
     File "/path_to_venv/venv/lib/python3.8/site-packages/babel/messages/extract.py", line 243, in extract_from_file
       return list(extract(method, fileobj, keywords, comment_tags,
     File "/path_to_venv/venv/lib/python3.8/site-packages/babel/messages/extract.py", line 325, in extract
       for lineno, funcname, messages, comments in results:
     File "/path_to_venv/venv/lib/python3.8/site-packages/babel/messages/extract.py", line 487, in extract_python
       value = eval(code, {'__builtins__': {}}, {})
     File "<string>", line 2, in <module>
   NameError: name 'SQLLAB_TIMEOUT' is not defined
   ```
   
   To finish, I've a last concern: what has motivated this translation is that I need a French translation for an existing superset `1.2.0` instance. I need the translation ASAP without waiting for a superset upgrade.
   Will I be able to use the translated files based on superset current `master` branch within the `1.2.0` version ? Even partially for the strings which have not changed since `1.2.0`.
   
   Thanks in advance for your answer.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org


[GitHub] [superset] audour removed a comment on issue #16550: French translation not usable: contribution proposal (but need some help)

Posted by GitBox <gi...@apache.org>.
audour removed a comment on issue #16550:
URL: https://github.com/apache/superset/issues/16550#issuecomment-913463413


   Hi,
   
   A small reminder, trying to resume issue description.
   
   **Can anybody confirm that following process is correct to propose soon a French translation ?**
   
   1. update language files (`pybabel update...` produces .po for each language)
   2. keep only `.po` updates related to the language I want to translate : `superset/translations/fr/LC_MESSAGES/messages.po`, and discard others
   3. translate:
   - Option 1: translate the `.po` file, then convert the PO file into a JSON file using po2json and then commit the `.po` and the `.json` files together
   - Option 2 (preferred): convert the PO file into a JSON file using `po2json`, then translate the `.json`, then use `pybabel compile` to update the `.po` from the `.json`
   
   Note: I don't use `pybabel extract` because of an issue (see log in issue description)
   
   Thanks in advance for your answer.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org


[GitHub] [superset] villebro closed issue #16550: French translation not usable: contribution proposal

Posted by GitBox <gi...@apache.org>.
villebro closed issue #16550:
URL: https://github.com/apache/superset/issues/16550


   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org


[GitHub] [superset] audour commented on issue #16550: French translation not usable: contribution proposal (but need some help)

Posted by GitBox <gi...@apache.org>.
audour commented on issue #16550:
URL: https://github.com/apache/superset/issues/16550#issuecomment-913463413


   Hi,
   
   A small reminder, trying to resume issue description.
   
   **Can anybody confirm that following process is correct to propose soon a French translation ?**
   
   1. update language files (`pybabel update...` produces .po for each language)
   2. keep only `.po` updates related to the language I want to translate : `superset/translations/fr/LC_MESSAGES/messages.po`, and discard others
   3. translate:
   - Option 1: translate the `.po` file, then convert the PO file into a JSON file using po2json and then commit the `.po` and the `.json` files together
   - Option 2 (preferred): convert the PO file into a JSON file using `po2json`, then translate the `.json`, then use `pybabel compile` to update the `.po` from the `.json`
   
   Note: I don't use `pybabel extract` because of an issue (see log in issue description)
   
   Thanks in advance for your answer.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org