Skip to content

Translation to Another Language #1311

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

Open
Phon1209 opened this issue Jul 19, 2024 · 11 comments
Open

Translation to Another Language #1311

Phon1209 opened this issue Jul 19, 2024 · 11 comments

Comments

@Phon1209
Copy link

I want to reach out to the contributors here as I plan to translate your content into my primary language (Thai). However, I have 2 concerns on the matter, and want your input on this.

  1. The translated version will be on my website (not launched), and I want to keep your site's contributors as well. Is there any way to pull the contributor list from this site to mine as I want to give the credit to all who contribute here as well?
  2. In an event when the article from this site changed (for whatever reason), can I get a notification for me to subsequently translate them?
@reverofevil
Copy link

  1. List of contributors is generated mostly from git history. If you clone this repo, and then start translating, they'll be still on the list.
  2. To get notified of edits you can press Watch button (next to Fork and Star) on the main page, and get notified of activity here. Also if you work in a fork of a repo, you can set up 2 git remotes, and just see all the commits in your git gui of choice.

@jxu
Copy link
Contributor

jxu commented Aug 19, 2024

Are you sure it isn't better to just have a translated version on this site? Keeping translations in sync will be a big issue no matter what. The tldr project supports many languages but relies solely on a small number of translators per language.

@filipemsilv4
Copy link

Are you sure it isn't better to just have a translated version on this site? Keeping translations in sync will be a big issue no matter what. The tldr project supports many languages but relies solely on a small number of translators per language.

What you mean by "The tldr project supports many languages but relies solely on a small number of translators per language"?

I thought this repository would only accept articles in English, am I wrong? I would love to translate it into my language (Portuguese).

@jxu
Copy link
Contributor

jxu commented Oct 9, 2024

What you mean by "The tldr project supports many languages but relies solely on a small number of translators per language"?

https://github.com/tldr-pages/tldr is a separate project that makes mini manpages. They accept translations but those can become out of date, and it relies on translators to maintain them. I don't think this project has any pages not in English. We are already short on maintainers so I don't think we should venture into translations. But you can make a translation on your own site as long as it's credited properly.

@adamant-pwn
Copy link
Member

Hi there!

  1. We generate our contributor lists for GitHub history, and use a custom fork of MkDocs GitHub committers plugin to do so. So, you can theoretically copy it, but how much effort would be needed on your side depends on many factors, e.g. which site engine you use and whether it has a similar functionality.
  2. You can monitor new commits in this repository for that, or e.g. use RSS feed.

Theoretically, I think, mkdocs also has some plugins for translations/multilingual sites support which may allow to host some versions here, but I didn't really look into it. I suppose we can consider it if there is a significant demand for such things, but it would also likely mean that we'll need to add maintainers that are fluent in translation's languages to facilitate updates.

@adamant-pwn
Copy link
Member

adamant-pwn commented Oct 12, 2024

Generally, it is a recurrent topic: #823, #504, #1243. In principle, I'd be happy to discuss possible integrations of translated versions with the main site when there occurs to be a serious commitment to making such translated versions. Also pinging @amirmtaati.

@filipemsilv4
Copy link

Generally, it is a recurrent topic: #823, #504, #1243. In principle, I'd be happy to discuss possible integrations of translated versions with the main site when there occurs to be a serious commitment to making such translated versions. Also pinging @amirmtaati.

I’m seriously interested in translating the content into Portuguese. A while ago, I worked on the translation of the Competitive Programming Handbook and believe that cp-algorithms is an excellent source of content. I forked the repository a few days ago to start working on the translation and am fully committed to making it a reality. Having the translated content integrated into the main site would be fantastic.

@jxu
Copy link
Contributor

jxu commented Oct 12, 2024

I don't think it's as bad as it sounds to have a manual list of contributors for each article. From what I've seen, each article only has one or two main writers (or translator from e-maxx), and the rest can be seen in the commit history. If you look at A&S or DLMF, each section has its main author and then probably little edits from there.

@jakobkogler
Copy link
Member

I'm really in favor of not doing this in this repository, or on the website cp-algorithms.com.

As host of the website, we are somewhat responsible for the content, and I would then like to have some control over it.
For instance to check legality or quality.
In English, we can catch those things before we put them on the website, in a different language we can't judge this.

E.g. sharing copy-righted pictures or articles. This has happened to us before, where some kids think they want to contribute, and go to a random blog post on the internet, and just copy and submit those articles word for word without asking the original author. Or even sharing copy-right protected books as PDF (something that e-maxx.ru still does).

@filipemsilv4 / @Phon1209 - this is also not about your personal abilities. You could be highly skilled writers with expertise in algorithms or you could be beginners. I simply don’t know. Teaching algorithms is hard, and simply translating an article word for word, or using something like Google Translate or ChatGPT, might not be enough to end up with a good translation (especially since some of the source articles are already somewhat bad).
We had PRs with contributions of very bad articles before - both in style (not using the Markdown/Latex formatting or using it completely wrong) and content (non-existing or wrong explanations, wrong algorithms, ...). In languages we understand we can judge this and block it if we think somethings wrong or bad.
I really don't wanna be in charge of a Portuguese website with content that I don't understand.

Additionally, I don't want another half-finished thing on our website.
It's already in a somewhat half-finished state (the project was started 10 years ago, and we still didn't finish translating all articles, and are missing some very mainstream topics), and I don't want to start over with another feature that increases the complexity of the project and makes it even more unfinished.
I fear that if we allow multiple languages, we will end up with the 5 easiest articles translated into 20 languages, and with 0 translations for anything else. Translating a small, already good written article about something simple like Binary Exponentiation is fun, and then when it comes to harder articles like Suffix Trees or Push-Relabel algorithms where the original source articles is already incomplete and hard to understand, nobody is motivated any more or has the knowledge to write about it.

I already don't see the motivation to maintain and improve the English pages (include in myself, THANKS @adamant-pwn for taking care of PRs from time to time), and I don't see why it should be particularly different in other languages. We already had attempts to translate the website into Portuguese (https://cp-algorithms-brasil.com/) or other languages, and afaik they have all been abandoned.

@filipemsilv4 @Phon1209
That should however not hinder you. If you are motivated, go ahead and translate articles on your own or in a team, and host them yourself. If you have something that's worth sharing, we can put a link to your copies on our main page.

@adamant-pwn
Copy link
Member

Thanks for the feedback, Jakob! To clarify, I'm somewhat more supportive of the idea than Jakob, and I think that in principle it should be fine to outsource the reviews in alternative language variants to trusted native speakers, while also providing them some guidelines on what we expect from the quality/legality perspective and coordinating the effort. To address some particular points,

Teaching algorithms is hard, and simply translating an article word for word, or using something like Google Translate or ChatGPT, might not be enough to end up with a good translation (especially since some of the source articles are already somewhat bad)

I think there should be less issues in a foreign language variant with this than in English, as contributors are much more likely to speak the language natively (which is often not the case for contributors here). Of course, automated translations should still be discouraged, but at least human-made ones are likely to be better in a local language.

this is also not about your personal abilities. You could be highly skilled writers with expertise in algorithms or you could be beginners. I simply don’t know

This is generally a valid point, but I think that it'd be better to have some ways to establish whether a person is competent, rather than just having a pessimistic default assumptions. Maybe one way to see it would be to ask potential maintainers of the variant sites to contribute to the main site for some extended period of time and try to become maintainers and/or start off the variant on their own in a self-hosted mode, and then get back to us if and when the variant site has grown significantly, and before that we can also help by linking to the fork on the main page.

In languages we understand we can judge this and block it if we think somethings wrong or bad. I really don't wanna be in charge of a Portuguese website with content that I don't understand.

This is a valid point, but similar to the previous one, I'd say that it should generally be fine as long as we trust that whoever is maintaining the variant site is competent and not a bad actor. Also if Jakob's concern is about personal responsibility because he legally represents cp-algorithms due to hosting and such, I wonder if we can do something to associate responsibility for the website with the cp-algorithms in general, rather than just Jakob 🤔

Also, speaking of personal responsibility, in principle we do not have to host the language variant of the site on https://cp-algorithms.com, and can as well add a language selector to a completely separate self-hosted site, which should hopefully limit our liability for its contents.

I fear that if we allow multiple languages, we will end up with the 5 easiest articles translated into 20 languages, and with 0 translations for anything else

This also makes sense. As I wrote above, I think from this perspective, what we can try is to encourage people to start a self-hosted mirror, and then get back to discussing a tighter integration, such as adding a language selector, when the project is properly wound up and we can see that the effort is really going somewhere and not likely to get abandoned.

@jakobkogler
Copy link
Member

Good points.

Yes, if we have people that we trust, we can think of integrating content of them to our website. However I wouldn't want to start immediately with new people, that we don't know yet and where we don't know how long they are willing to contribute.

This also makes sense. As I wrote above, I think from this perspective, what we can try is to encourage people to start a self-hosted mirror, and then get back to discussing a tighter integration, such as adding a language selector, when the project is properly wound up and we can see that the effort is really going somewhere and not likely to get abandoned.

Yes, I think that would be best option. A translation project should start as it's own project.

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

6 participants