Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Help translate CircuitPython! #1098

Open
tannewt opened this issue Aug 8, 2018 · 20 comments
Open

Help translate CircuitPython! #1098

tannewt opened this issue Aug 8, 2018 · 20 comments

Comments

@tannewt
Copy link
Member

tannewt commented Aug 8, 2018

Hi!! Thank you for wanting to help translate CircuitPython! We're hoping to translate the supervisor messages like Press any key to enter the REPL. Use CTRL-D to reload., and error messages like Microphone startup delay must be in range 0.0 to 1.0. We're not translating any Python keywords.

To help with an existing translation, head to Weblate for easy editing: https://hosted.weblate.org/engage/circuitpython/

If you want to start a translation for a new language, please open a new issue.

For instructions on how to build CircuitPython for testing check out this guide

@turbinenreiter
Copy link

#1112

@dglaude
Copy link

dglaude commented Aug 15, 2018

Newsletter say " @arofarn, volunteered to do French " but there is not file in the Github.

@dglaude
Copy link

dglaude commented Aug 15, 2018

Strings internationalization : french started here #1113

@sommersoft
Copy link
Collaborator

While trying to get Travis builds to pass on added module functionality, I'm finding flash space issues with translated builds (non-judgemental! more beautiful languages require more space). In thinking of things to help reduce the hit some, I thought about going through each of the msgids and seeing if we can standardize any of the "close but not exact" iterations.

Having said that, I'm not sure that it will help that much overall, as I still am not quite sure how it's all getting compiled/linked.

Thoughts?

@tannewt
Copy link
Member Author

tannewt commented Aug 23, 2018

@sommersoft Lets discuss on the feature thread. We've had many space limited builds already and can discuss strategies on a feature by feature basis.

@sommersoft
Copy link
Collaborator

@tannewt

Definitely. I have a host of other "problems" size wise. I just wanted to share the thought on minimizing translation space.

@tannewt
Copy link
Member Author

tannewt commented Aug 23, 2018

Yup, we can combine msgids by changing the translate call as we find them.

@arofarn
Copy link

arofarn commented Aug 24, 2018

I have seen some duplicated or almost equal strings like "Invalid pin" / "Invalid pins", "unknown type"

About the french translation, I think we can find shorter strings for some of them but it will never be as short as english.

@tannewt tannewt added the Hacktoberfest Beginner friendly issues for Hacktoberfest event label Oct 1, 2018
@furlaneto
Copy link

String internationalization for Brazilian Portuguese #1224

@yeyeto2788
Copy link

Hello guys!

Sorry if this a spam but I'm happy to show some translations in Spanish for CircuitPython (There are some some changes needed but I'll be addressing them soon)

screenshot_1
screenshot_2
screenshot_3
screenshot_4
screenshot_5

Hope you like it.

P.D: there is also a video which I cannot attach to this comment 😢 so here you have link on Youtube

@C47D
Copy link
Collaborator

C47D commented Dec 7, 2018

Excelente @yeyeto2788, no había visto Circuitpython en Español hasta ahora 👍.

Cuando los mensajes contienen el nombre de un argumento/parámetro de una función opté por dejar el nombre del argumento en Ingles, como name en la segunda captura que adjuntaste.

Deberíamos de ponernos de acuerdo para no duplicar trabajo y llegar a una convención para las traducciones.

Saludos

@yeyeto2788
Copy link

@C47D, estoy de acuerdo. Por eso era importante para mi el hecho de como traducir algunas cosas. Si has pensado en algo no dudes en decírmelo ya que esta semana (Si el tiempo me lo permite) me pondré a traducir el restante.

Saludos.

@C47D
Copy link
Collaborator

C47D commented Dec 9, 2018

@yeyeto2788 Creo que esa era la única convención a la que llegamos, por lo que he visto hiciste muy buen trabajo!. Por mi parte no creo poder revisar las traducciones hasta el siguiente fin de semana.

Saludos

@yeyeto2788
Copy link

@C47D sorry for switching back to English but I also want @tannewt to get the information. I saw some things I wanted to ask.

Is there a way to confirm all string in English are in all translated files? My question is because I thought i have translated everything 😢 but it seems it is not.

I'll try to check the differences and let you guys know but if you know the answer first let me know.

Regards.

@tannewt
Copy link
Member Author

tannewt commented Dec 11, 2018

@yeyeto2788 The compiler ensures that all built-in exception messages are translatable. There may be others that haven't been set up to be. What are some examples? We can help get everything translatable.

We still may be adding strings as well while we add new features. I hope to get us to a "string freeze" phase before we do the stable release of 4.0.0.

We also do not have a way to provide translations for the strings in our libraries. I would like to add that at some point as well.

@yeyeto2788
Copy link

@tannewt it is just a question I got on my mind since for example, when you do a soft reset of the board the information about CircuitPython version, compilation date and microcontroller is not in Spanish. As far as I saw, that string was translated into Spanish but it is still showing up in English 😢

I was also curious about how those errors/strings are added into the files that need to be translated.

I suppose that the libraries might also need to be translated into other languages and IMHO it would require to have the locale folder on the libraries itself and then the upip can handle the installation of the module. The problem I see in this solution is that either the code gets bigger or we'll need to create/duplicate the modules on each language which is not so good to do on more that 1k modules 😟

I can help on translating step by step what is required on my spare time so anything I can help with just ping me.

Regards.

@tannewt
Copy link
Member Author

tannewt commented Dec 13, 2018

@yeyeto2788 Please file separate issues for strings that cannot be translated. That is the best way for us to keep track of them.

The translation files are updated by running make translate at the top level of circuitpython. It uses gettext to find strings wrapped in a translate() function. If I remember right, the version string doesn't work because it uses C preprocessing to create the string rather than printf.

Next year we can take a look at libraries. The bundle can preprocess things as need be for running on CircuitPython and we can do the normal CPython way for it and pip.

@deshipu
Copy link

deshipu commented Mar 24, 2019

I started a translation for Polish: #1690

@tannewt
Copy link
Member Author

tannewt commented Mar 27, 2019

Hi all,
We're nearing completion of the first 4.0.0 stable release. We'll get many more people trying it as a result. Please take a look at translations when you have a chance and make any changes you'd like to see in 4.0.0. We can always update them after as well.
Thanks!

@tannewt tannewt modified the milestones: 4.0.0 - Bluetooth, Long term Mar 27, 2019
@C47D
Copy link
Collaborator

C47D commented Mar 27, 2019

I will try to get the Spanish translations up to day, haven't looked into it in a while.

EDIT: @yeyeto2788 beat me to it, see #1718

@adafruit-adabot adafruit-adabot removed the Hacktoberfest Beginner friendly issues for Hacktoberfest event label Nov 2, 2019
@microdev1 microdev1 pinned this issue Aug 26, 2021
@adafruit-adabot adafruit-adabot added the Hacktoberfest Beginner friendly issues for Hacktoberfest event label Oct 26, 2021
@FoamyGuy FoamyGuy removed the Hacktoberfest Beginner friendly issues for Hacktoberfest event label Nov 8, 2021
@adafruit-adabot adafruit-adabot added the Hacktoberfest Beginner friendly issues for Hacktoberfest event label Sep 29, 2022
@dhalbert dhalbert removed the Hacktoberfest Beginner friendly issues for Hacktoberfest event label Mar 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests