processing / p5.js-web-editor

The p5.js Editor is a website for creating p5.js sketches, with a focus on making coding accessible and inclusive for artists, designers, educators, beginners, and anyone else! You can create, share, or remix p5.js sketches without needing to download or configure anything.
https://editor.p5js.org
GNU Lesser General Public License v2.1
1.4k stars 1.34k forks source link

Enhancing Access: Adding More Languages to Improve Accessibility in p5.js Web Editor #2780

Closed Swarnendu0123 closed 3 months ago

Swarnendu0123 commented 10 months ago

Increasing Access

As a contributor, I propose the addition of several new languages to the p5.js Web Editor to enhance accessibility for native speakers. The inclusion of these languages will provide a more user-friendly experience, enabling a broader audience to engage with and benefit from the p5.js Web Editor.

Feature enhancement details

The suggested languages include

How Do I Add Feedback to These Translations?

Feedback for each translation's gist can be provided by commenting suggestions at the bottom of each file, or by [forking and cloning the gist] (https://docs.github.com/en/get-started/writing-on-github/editing-and-sharing-content-with-gists/forking-and-cloning-gists). If you choose to fork and clone the gist, you can add a comment that contains a link to the forked gist that has the suggested updates.

Swarnendu0123 commented 9 months ago

Hello @lindapaiste @raclim! I've been dedicated to addressing this issue for the past month. I would appreciate it if you could review my work and provide feedback. This will allow me to make any necessary changes based on your input. Thank you!

Should I convert all those PRs into 1 PR? or is it okey?

raclim commented 9 months ago

Thanks for your work on this so far!

To be honest, I'm a little hesitant about adding in these translations since I'm not sure if we're able to attentively maintain all of these (which also ties into https://github.com/processing/p5.js-web-editor/issues/1427). Although I agree that having more languages is mostly more beneficial than not having them at all, I think it would also be ideal to ensure we can have native speakers vet these as well. I think we would also want to consider if we need to make any UI changes to the language dropdown since we're adding a good number of them here.

@limzykenneth would you be able to add any insight on this as well? I think I'm a bit unsure here!

Swarnendu0123 commented 9 months ago

Screenshot (68) Well I feel, we have to add a scrollbar to the dropdown, but before that we need to add a fixed height to the dropdown and we are done. Can you suggest me what should be the height of dropdown? also you can suggest, if any other style changes is required.

limzykenneth commented 9 months ago

@Swarnendu0123 Are you a fluent user of these languages and if not how did you come about these translations? I'm highly wary of machine translated strings that are not vetted by a fluent user of said language and would strongly recommend not accepting them as is.

Take for example the Malay translation of "Tidy Code" and "Tidy" which is translated as "Kod Rapi" and "Rapi". As direct translations they are fine, however it misunderstood the context of the translation here because "Rapi" is an adjective where as "Tidy" in this case is meant to be a verb. The more appropriate translations should have been something like "Kemas Kod" (might even need some adjustment grammar-wise as I'm pretty rusty). I can't vet any of the other languages but it is possible there are more issues like this.

That's also not to mention the most extreme case of Arabic where all the text will be aligned in the wrong direction.

Swarnendu0123 commented 9 months ago

@Swarnendu0123 Are you a fluent user of these languages and if not how did you come about these translations? I'm highly wary of machine translated strings that are not vetted by a fluent user of said language and would strongly recommend not accepting them as is.

I completely agree with you, but we can validate the translations if and only if any native speaker would verify it. What we can do, for now, we can do some modifications if required, and merge them. When the native speakers come to the web editor, they can identify, if there is any fault in our translation. Then they can eventually reach us via GitHub and give us suggestions on what the actual translation should be.

Take for example the Malay translation of "Tidy Code" and "Tidy" which is translated as "Kod Rapi" and "Rapi". As direct translations they are fine, however it misunderstood the context of the translation here because "Rapi" is an adjective where as "Tidy" in this case is meant to be a verb. The more appropriate translations should have been something like "Kemas Kod" (might even need some adjustment grammar-wise as I'm pretty rusty). I can't vet any of the other languages but it is possible there are more issues like this.

You mentioned some changes in Malay, can you please validate the Malay PR completely, so that if there are any changes, I can fix it. As the main motivation is to increase the accessibility for the local users.

That's also not to mention the most extreme case of Arabic where all the text will be aligned in the wrong direction.

raclim commented 9 months ago

Thanks @limzykenneth!

Hmm, @Swarnendu0123 I think then maybe for now we can give these translations some more time and wait to see if we can get other folks to review them before we release them. It might help to promote on other platforms that it'd be great if anyone who speaks those languages could give them a look.

raclim commented 9 months ago

I've been thinking about this and feel that since it might take a while to get these translations in and to help with PR organization, it might be better to move the each of these PRs into a Gist (which I believe contributors can still view and add comments/updates to) and link the Gists to this issue. I'll probably start transferring them into Gists tomorrow. @Swarnendu0123 @lindapaiste let me know if you have any other suggestions about this!

Swarnendu0123 commented 9 months ago

I've been thinking about this and feel that since it might take a while to get these translations in and to help with PR organization, it might be better to move the each of these PRs into a Gist (which I believe contributors can still view and add comments/updates to) and link the Gists to this issue.

Nice idea! In addition to that, whenever any translations will be reviewed by any native speakers, we can merge them up to the main code base. I am just a little worried about, how much the native speakers will be involved in the issue. For that, we can pin the issue, so that we can get maximum reviews.

I'll probably start transferring them into Gists tomorrow. @Swarnendu0123 @lindapaiste let me know if you have any other suggestions about this!

If you need any type of help in creating the Gists, feel free to delegate me that part.

raclim commented 9 months ago

I created several gists that contain the translations for each language, and updated the body of this issue with their links and instructions on how to provide feedback for them. I didn't add the Dutch one because the translations in that PR did not seem correct.

Since these have been transferred, I'm going to close the associated PRs. We can consider merging these in again once the languages have been reviewed and vetted.

raclim commented 9 months ago

I'm also going to add this pull request with Azerbaijani Translations here as well to the issue body.

Swarnendu0123 commented 9 months ago

Can we get this issue pinned, so that any native speaker comes, this issue can quickly attract him/her?

Zerobrofan commented 9 months ago

Hey @Swarnendu0123 and @raclim!

I would like to contribute to fix the Arabic translation since it's my first language. Upon a surface inspection, it appears that the translation is a bit messed up. Standard terms (like titles and descriptions) appear to be mostly fine with a few exceptions here and there. Some keywords have been translated literally, such as "regex", which lacks a direct equivalent in Arabic.

Also, I'm new to open-source! I learned about the "Processing Foundation" through GSoC 2024. I'll provide the updated gist here and in the comments of the gist once I'm finished.

Here is the updated gist for Arabic: https://gist.github.com/Zerobrofan/6303e873f83cacb5bac628e67e69e99f

I have fixed all translation errors and used synonyms more appropriate for the intended meaning. Most of the issues involved synonyms that didn't quite fit. For example, "Sketch" was translated to represent a literal painting rather than a project you open and code, along with many other elements. I hope this was helpful!

Swarnendu0123 commented 9 months ago

Hey @Swarnendu0123 and @raclim!

I would like to contribute to fix the Arabic translation since it's my first language. Upon a surface inspection, it appears that the translation is a bit messed up. Standard terms (like titles and descriptions) appear to be mostly fine with a few exceptions here and there. Some keywords have been translated literally, such as "regex", which lacks a direct equivalent in Arabic.

Also, I'm new to open-source! I learned about the "Processing Foundation" through GSoC 2024. I'll provide the updated gist here and in the comments of the gist once I'm finished.

Appreciate your enthusiasm!!

Swarnendu0123 commented 9 months ago

@Swarnendu0123 Here is the updated gist for Arabic: https://gist.github.com/Zerobrofan/6303e873f83cacb5bac628e67e69e99f

I have fixed all translation errors and used synonyms more appropriate for the intended meaning. Most of the issues involved synonyms that didn't quite fit. For example, "Sketch" was translated to represent a literal painting rather than a project you open and code, along with many other elements. I hope this was helpful!

Well, as you are a native speaker of Arabic, I feel this is now correct. But the main thing is the Arabic language that is a right aligned language.

Maybe we can add another property on the json by which we can decide, a particular language is aligned towards the left or right. And we can manipulate the

text-align: left/right

Also, I have come up with an article, which explains how we can add left-alignment for left aligned language in i18n: https://medium.com/@saif.as/localization-react-i18-next-and-rtl-support-including-material-ui-to-a-react-project-eeab31817467

@raclim @lindapaiste needs your views on it.

absmj commented 7 months ago

Hey @Swarnendu0123 and @raclim !

I created these translations about 6 months ago, but haven't received any response or feedback yet. The translations were done line-by-line from Turkish, which is more similar to Azerbaijani. Please note that I'm not confident that anyone has reviewed this translation.