amyjko / faculty

Amy's faculty webpage
Creative Commons Zero v1.0 Universal
22 stars 21 forks source link

Translating to other languages #171

Open SMSadegh19 opened 1 year ago

SMSadegh19 commented 1 year ago

Hello!

I observed the webpage about computing education research FAQ, which is very useful and fascinates me.

There's the idea of translating this page into other languages so many people can discover and learn its points.

If you are Ok, I can translate it into Persian (my native language) in this repository or a new one; Then you can link to other languages at the bottom of the page.

Thanks a lot for your lovely work.

amyjko commented 1 year ago

That's a great idea! Having multiple translations seems essential. There is the question of maintenance: I regularly update the FAQ, but I don't have a process for maintaining a backlog of translations. Would you be willing to commit to collaborating on a process and working through the backlog?

SMSadegh19 commented 1 year ago

Oh! Such an excellent idea.

Sure! I'm willing to collaborate on the process.

Also, there's an idea to have a guideline for translators. You can have versioning for your web pages and books, so people can find differences easier. If somebody translates your web pages in other sites, they can follow versioning and update their pages. Otherwise, we can make a GitHub project to handle changes if there are some translations in this repository. So we can create tasks for translating into other languages and update them.

SMSadegh19 commented 1 year ago

For example, the guideline can be something like this:

Before you make a translation, check the issues tab above to see if someone else is already working on it. If so, you can collaborate! And if no one else is, please create a new issue in this repo so that others know you're working on it!

Step 1) Fork and clone this repository.

Step 2) Look up the two-letter code of the language you're translating to here: https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes

Step 3) Make a folder with the name xxx and a file with the name yyy.yy inside and ... .

Step 4) Send a Pull Request so I can make your translation go live!

amyjko commented 1 year ago

I think that's a good sketch for a process. There are a few other issues to consider, primarily around how I've built the site using SvelteKit, which doesn't yet have any localization support built in:

SMSadegh19 commented 1 year ago

It seems there's a package for SvelteKit localization support, called sveltekit-i18n. (A guide to this package)

But I think using this package isn't very vital. I think localization packages are more useful for small things like buttons, titles, and menu items. But for large texts like papers, guidelines, books, etc It doesn't seem to be helpful and we can have different URLs for translations like /fa, /fr, and /de.

For the second point you mentioned, we can have a red warning bar at the top of translated page:

This page is translated by volunteers and the main author doesn't have any responsibility for the translation. Also, you can contribute and make the translation better through the GitHub repository.

amyjko commented 1 year ago

Agreed on the packages; for content-heavy things, I think it's fine. I can own the non-content parts of translations, like anything that interacts with Svelte components (including routing things).

If you're willing to 1) draft guidelines in the README, 2) draft a translation with the disclaimer, I'm happy to commit to doing the integration work and finalizing the guidelines.

SMSadegh19 commented 1 year ago

Great! Thanks a lot.

I'm just waiting for the specified routing and components' structure; so I can write draft guidelines. (Until next week) Due to my semester, exams, and projects, my deadline for the Persian draft translation is 19/02/2023. (I'm sorry if it's late. I don't want to make an empty promise. But I'll try to do it earlier than the deadline.)

amyjko commented 1 year ago

No worries, there is no urgency on this. I'll try to work on this soon.

amyjko commented 1 year ago

Okay, in d967c5b, I added an fa route with a copy of the text, a div with a lang attribute that matches the route name. No link to the route yet.

This is pretty simplistic, so once we make progress and see how this looks, I'll rearchitect as necessary.

SMSadegh19 commented 1 year ago

Thank you very much. I will begin working on the translation as soon as possible on the new branch.