p5.js-website icon indicating copy to clipboard operation
p5.js-website copied to clipboard

[GSoC 2025] Friendly p5.js Reference Translation Tasks

Open Divyansh013 opened this issue 6 months ago • 8 comments

Hi everyone! 👋

This issue tracks the deliverables for my Google Summer of Code 2025 project under the Processing Foundation: "Friendly p5.js Reference Translation Tasks." The goal is to build GitHub Actions and contributor workflows to help translation stewards and volunteers keep the p5.js reference up to date across languages.

I’ll be checking off these items as the project progresses. Feedback is always welcome!


Core GitHub Actions & Automation

  • [ ] GitHub Action to detect changes in English reference pages (MDX files).
  • [ ] Automatic flagging of outdated translations by comparing update timestamps or metadata.
  • [ ] GitHub Issues created or updated for each affected translation (per language).
  • [ ] Weekly scheduled Action to summarize all outdated or missing translation files.
  • [ ] Add needsUpdate: true frontmatter in outdated translation MDX files via PRs.

Missing Translation Detection

  • [ ] Detect English reference files with no translated counterpart in each supported language.
  • [ ] Automatically open Issues or PRs to notify language teams of missing translation files.
  • [ ] (Optional stretch) Create stub MDX files for missing translations and open PRs.

Contributor Communication Workflow

  • [ ] Tag relevant translation maintainers (via GitHub handles or teams) when updates are needed.
  • [ ] Maintain a translation-teams.yml or similar config to manage language <-> contributor mapping.
  • [ ] Document how to respond to flagged translation updates (contributor guide section).

Astro Site Integration

  • [ ] If needsUpdate flag is used, add a visible banner to the reference page via Astro templates.
  • [ ] Ensure that all automation respects Astro’s content schema and doesn’t break the build.

Documentation

  • [ ] Write a “Translation Maintenance Guide” explaining all new workflows.
  • [ ] Add setup instructions for maintainers and new stewards (how to run checks, add languages, etc.).
  • [ ] Provide dry-run logs or test cases showing how Actions behave.

Let’s make p5.js documentation even more accessible and translator-friendly this summer! 🚀
Tagging @stalgiag and @ksen0 for visibility.

Divyansh013 avatar May 26 '25 17:05 Divyansh013

Hello people, as a next step in my ongoing GSoC Project, I want help over the issue template that will be auto generated whenever there is any change in English Reference file,

Here's the current issue template format that would be automatically generated:


🌍 Update HI translation for description.mdx

🌍 Translation Update Needed

File: src/content/examples/en/01_Shapes_And_Color/00_Shape_Primitives/description.mdx Language: Hindi (हिन्दी) Translation file: src/content/examples/hi/01_Shapes_And_Color/00_Shape_Primitives/description.mdx

📅 Timeline

  • English last updated: 6/10/2024 by p5js-contributor
  • Translation last updated: 6/1/2024 by hindi-translator

🔗 Quick Links

📋 What to do

  1. Review the English changes in the file
  2. Update the Hindi (हिन्दी) translation accordingly
  3. Maintain the same structure and formatting
  4. Test the translation for accuracy and cultural appropriateness

📝 Recent English Changes

Last commit: Update shape primitives documentation with better examples


This issue was automatically created by the p5.js Translation Tracker 🤖 Need help? Check our translation guidelines


Tagging i18n stewards for discussion @takshittt , @lirenjie95 , @limzykenneth

Divyansh013 avatar Jun 15 '25 18:06 Divyansh013

Thanks for your work on this so far, @Divyansh013 ! A few thoughts based on the above, happy to hear others' thoughts.

  1. I think it could be helpful to make a bit more clear what the role of translators/contributors is, and how the stewards could support. For example, stewards can review the translation; or potentially close the issue if actually the translation is still OK even if file has changed.
  2. "Need help? Check our translation guidelines" --> What do you think should be covered by these guidelines? could we start with iterating on these issue templates first and from there include anything not covered in guidelines? I wonder what the other stewards thing.
  3. What do you think about combining the translations for different languages into 1 issue (for example: https://github.com/processing/p5.js-website/issues/708). Because such issues would be triggered every time the English version changes, it would generate multiple issues each time, which risks cluttering the log. (This sounds possibly similar to your idea of an aggregated approach per language)

ksen0 avatar Jun 16 '25 19:06 ksen0

  1. I think it could be helpful to make a bit more clear what the role of translators/contributors is, and how the stewards could support. For example, stewards can review the translation; or potentially close the issue if actually the translation is still OK even if file has changed.

Yes, potentially I can update my "What to do" section to contain more info like rerview the translation and if required, make necessary changes or close the issue depending on the change

  1. "Need help? Check our translation guidelines" --> What do you think should be covered by these guidelines? could we start with iterating on these issue templates first and from there include anything not covered in guidelines? I wonder what the other stewards thing.

I was thinking of having the same format guideline as we have for other sections like, unit-testing, documentation-style etc., the guide will simply contain the standards we follow, what re the section that doesn't need to be translated (code for example ) etc., however yes, we can work on this part later

  1. What do you think about combining the translations for different languages into 1 issue (for example: Translate the Code of Conduct #708). Because such issues would be triggered every time the English version changes, it would generate multiple issues each time, which risks cluttering the log. (This sounds possibly similar to your idea of an aggregated approach per language)

Yes, creating 1 issue instead of 4 will be much better and I think I can handle this as i am already checking with all the languages in coming days

Divyansh013 avatar Jun 18 '25 05:06 Divyansh013

🌍 Update HI Translation for description.mdx

🗂 Translation Update Required

File Path:
🔹 English: src/content/examples/en/01_Shapes_And_Color/00_Shape_Primitives/description.mdx
🔹 Hindi (हिन्दी): src/content/examples/hi/01_Shapes_And_Color/00_Shape_Primitives/description.mdx

Change Type: English file was updated. Hindi translation may be outdated.


🗓 Timeline

  • Latest English update: 6/10/2024 by p5js-contributor
  • Latest Hindi translation: 6/1/2024 by hindi-translator

🔗 Quick Access


✅ Action Checklist

For translators / contributors:

  • [ ] Review the English file changes
  • [ ] Confirm if translation already reflects the update — close the issue if so
  • [ ] Update the Hindi file accordingly
  • [ ] Maintain structure, code blocks, and formatting
  • [ ] Ensure translation is accurate and culturally appropriate

✏️ Summary of English File Changes

Last Commit: Update shape primitives documentation with better examples

_We may include a brief summary of what lines changed


📘 Need help? See our Translation Guidelines


🤖 This issue was auto-generated by the p5.js Translation Tracker github action

Divyansh013 avatar Jun 24 '25 18:06 Divyansh013

Hi @Divyansh013 ! Thanks for this thoughtful update. I think the summary "Change Type: English file was updated. Hindi translation may be outdated." is really helpful, and all the sections of this seem very helpful.

The checklist concept is great; Minor suggestions to make the "Action Checklist" more actionable:

  • [ ] Check the recent English file changes and the current Hindi translations
  • [ ] Is translation needed? Sometimes, changes don't affect text or its meaning; in that case - you can close this issue
  • [ ] Update the Hindi file to reflect the changes
  • [ ] Check that structure, code blocks, and formatting are maintained, and no new changes are introduced
  • [ ] Ensure translation is accurate and culturally appropriate

Very, very minor, totally up to you - might be nice to link to the workflow with "p5.js Translation Tracker" here: "🤖 This issue was auto-generated by the p5.js Translation Tracker"

ksen0 avatar Jun 24 '25 19:06 ksen0

Hi folks. Have you looked at this? https://github.com/processing/p5.js-web-editor/issues/3609#issuecomment-3225408508

cassiano avatar Sep 05 '25 19:09 cassiano

Hi @cassiano , thanks for the pointer, this was helpful! The p5.js editor maintainer and I will look into how to potentially reuse the approach but the i18n on the editor and the website are pretty distinct, both in terms of tech stack and the needs.

ksen0 avatar Oct 08 '25 19:10 ksen0

Thanks for all your work on this @Divyansh013 ! Based on this dry run, some notes for next steps and improvements, which you are welcome to open PRs for one by one or as a batch

(1) "Compare changes" and diff link seem really unmanageable in the case where there is so much time between updates. Meanwhile, the preview of English changes is excellent. If you have no objectiosn, please remove the "Compare changes" links and simplify the outdated translations list:

🔄 Outdated Translations

  • Spanish (Español): Last updated 1/30/2025 by limzykenneth 📝 View file
  • Hindi (हिन्दी): Last updated 1/30/2025 by limzykenneth 📝 View file
  • Korean (한국어): Last updated 1/30/2025 by limzykenneth 📝 View file
  • Chinese Simplified (简体中文): Last updated 1/30/2025 by limzykenneth 📝 View file

(3) Add the banner for "outdated" translation - then I will do the same dry run test for that.

(4) If all good, switch over to main branch from staging

(5) Listen also on tutorials, text-detail, events, libraries

(6) Reference pipeline

(7) Using stewards.yml to tag stewards

(8) Triggering workflow for one-time creation of translation tasks

Edit, sorry I hit the "close issue" button! Just meant to post the above.

ksen0 avatar Oct 08 '25 19:10 ksen0