github / choosealicense.com

A site to provide non-judgmental guidance on choosing a license for your open source project
https://choosealicense.com
MIT License
3.66k stars 1.33k forks source link

Internationalization / i18n / multilingual site #68

Open benbalter opened 11 years ago

benbalter commented 11 years ago

Would love to see about baking in I18N support to choosealicense.com proper. See #67 and #62

We already have the bulk of the strings in a single file (_config.yml), so it should just be a matter of abstracting out some of our variables, as far as I can tell.

Would love to take this on starting in August if there's interest. Would be a great exercise to set a standard for Jekyll L10N, and can iterate on some of the lessons learned form https://github.com/CMSgov/healthcare.gov.

@parkr any interest? @dhcole any insight / words of wisdom?

liks79 commented 11 years ago

It's really good! I hope 'choosealicense.com' support I18N. It is very valuable work for open source beginner!

weakish commented 11 years ago

@parkr any interest?

@parkr was not interested in supporting i18N in Jekyll core.

parkr commented 11 years ago

This looks like a great candidate for use of the _data directory proposed by @benbalter in https://github.com/mojombo/jekyll/pull/1003.

weakish commented 10 years ago

Just using subdomain?

A quick and simple (maybe not very elegant approach) is just using subdomains (with separate repositories) .

For example:

Thus, we only need to make sure that:

Done.

And in future we can switch to a more elegant solution once Jekyll has better support of I18N.

parkr commented 10 years ago

It'd be way easier to handle if everything were in one repo and simply to ship every translation under /LOCALE/ (e.g. /en/, /ko/) with pages for each. It's a lot of duplications, but right now it is the best option, given that Jekyll has no means of handling this.

haacked commented 10 years ago

@parkr Yeah, I'm kind of leaning towards that approach. @benbalter seem good to you?

liks79 commented 10 years ago

How about using URI separation? (http://choosealicense.com/{lang})

Fo example :

parkr commented 10 years ago

@liks79 That's exactly what I was proposing. :)

liks79 commented 10 years ago

@parkr Oh... I'm sorry ;) That's a good idea! Thanks!

haacked commented 10 years ago

Ok, just need someone to send a PR with at least one translated language. :)

liks79 commented 10 years ago

@Haacked

Ok, The die has been cast! =)

weakish commented 10 years ago

@liks79 It seems that some js files assumes resources are located in the root directory, thus simply moving all translated files to a sub directory will fail. I cannot speak javascript. If you've finished Korean translation, please @me, so I can just use your modifications.

weakish commented 10 years ago

@Haacked @benbalter @parkr @liks79 I have made a base for translations, please review my pull request.

liks79 commented 10 years ago

@weakish @Haacked @parkr @benbalter

131

It is a good reference implementation for I18N. I'll try to apply it for translation for Korean.

But, I am afraid too that copying HTML files...

kidchenko commented 10 years ago

Hi, I would like to contribute to the implementation of I18N. You need help?

I am web developer from Brazil. Here not lot speak English for this reason many people have benefited from the translation.

I can start and send a PR?

Vdragon commented 9 years ago

Hi, I would like to contribute Traditional Chinese(Taiwan) version of this great site!

ionas commented 8 years ago
mlinksva commented 8 years ago

I'm very interested in making this happen but have yet to digest the various possible approaches. Self-assigning for now as a reminder to do that digesting.

mlinksva commented 8 years ago

In https://github.com/github/choosealicense.com/network/members I noticed a couple translations through forks published on separate websites:

Glad people were motivated to do this and totally fine if they want to run their own sites, but probably a pain to keep up to date (if they want to do that).

mlinksva commented 7 years ago

Jekyll plugin https://github.com/untra/polyglot seems to generate copies of an entire site, including collections (as used here for /licenses/), under /{language-code}/ for each language configured, without any duplicate source files. I haven't looked deeply, but it seems to be the only Jekyll i18n plugin that does this -- others seem to require a file for each page for each language -- as would something not using any plugin, as prototyped in #131.

Using a plugin would mean switching to using the gh-pages branch for the rendered site, because we couldn't use GitHub Pages to do the rendering. This may be a price worth paying.

mlinksva commented 7 years ago

The Jekyll no-plugin i18n solution being worked on in https://github.com/github/open-source-guide/pull/295 for a related site may eventually be applicable here. Watch that if you're interested.

lqez commented 7 years ago

@mlinksva any updates? I'm interested in this issue for translating into Korean. If anyone can suggest a right way to make this I18N, we can do it together.

mlinksva commented 7 years ago

@lqez thanks for the ping! I was waiting to see a completed and deployed translation of github/open-source-guide to dig into how that is done and see whether it is the best way forward here. Looks like there's one that is close.

If you're super eager to get started and don't mind maybe reorganizing things later, feel free to fork the repo and translate everything in place like a couple others have done (fr and pt-BR) mentioned above.

JafarAkhondali commented 7 years ago

@mlinksva @benbalter Hi, thanks for you amazing job. We wanted to do the exact thing you have done in Persian until i saw your website so we planned to do the localization only and get a domain (thanks to you). As you know the problem is the lacking of translation files and making the forked repository update, So is it possible for you to give us a more accurate deadline for adding support for I18n? Thanks in advance :+1:

mlinksva commented 7 years ago

@JafarAkhondali thanks, really appreciate your interest. 🎉 Unfortunately, the most accurate statement about a deadline is that there isn't one. I do promise to look into whether we can copy the mechanism being used for opensource.guide translations once a completed one is deployed.

Another way to help now, other than forking and translating in place, which I admit isn't ideal, would be to do an advance evaluation of the mechanism described at https://github.com/github/opensource.guide/pull/295

JafarAkhondali commented 6 years ago

@mlinksva Sorry for late response, I've read your provided link, They use Crowdin to sync GitHub with Crowdin using a CLI script but we don't that anymore since crowding created Integration with GitHub. I've also found another reference for multilangugae website in Github pages with Jekyll. So using these two i almost created a multi language page but lack of experience in Ruby & Jekyll turned me down. Here is what i did:

Before beginning, I think(not sure) it's better ta rename all translateable files from file.extension to file-en.extension

  1. Create a project in crowdin
  2. Integrate project with Github
  3. Choose branch, and config files to translate, here is a sample config for this project(It's not accurate, just for the test) screenshot_20171010_033833
  4. Translate a file, then go to Integration tabs and press Sync now to sync project with github. It'll create a PR for translation files. With crowdin all translators can help translations easily.
  5. Use this guide to configure a multi language website.
mlinksva commented 6 years ago

Ran across recent Spanish translation not in forks network: https://github.com/Eligelicencia/eligeUnaLicencia

bluemix commented 6 years ago

any updates?

mlinksva commented 6 years ago

Micro-update: @bkeepers pointed out https://github.com/electron/electron-i18n (internationalization for another GitHub-maintained site) to me ... I haven't gotten around to see what it would take to set up that arrangement for this project yet, but it's on my list to evaluate. Thoughts and hints welcome.

mlinksva commented 6 years ago

Another micro-update: some translations of opensource.guide are now live (scroll to the bottom at that link for a chooser) using a simpler approach than referred to above http://mikemcquaid.com/2018/02/14/translations-with-rails-and-jekyll/ is a personal blog post about how it was done and why.

I hope to see whether this approach will work for choosealicense.com soon, but as usual any thoughts welcome.

katrinleinweber commented 6 years ago

Hello! I can't speak to the technical details, but once the "gates open" so to speak, I'd be happy to start the German version :-)

1000i100 commented 6 years ago

I've made a french translation for AGPLv3 resume : https://demo.mycelia.tools/#{%22userMode%22:%22page%22,%22panels%22:{%22details%22:%22big%22},%22selected%22:%22licence%22} src : https://framagit.org/mycelia/mycelia-front-app/blob/master/staticApp/default/config.yml#L124

lqez commented 5 years ago

It looks like https://github.com/github/opensource.guide could be a good example of how Jekyll page translated.

mlinksva commented 5 years ago

@lqez yes there's a start on that in https://github.com/github/choosealicense.com/pull/586 ... I haven't had a chance to look at it since August but hope to come back to it soon.

wizardbyron commented 5 years ago

Come on, this discussion has taken for years. Let's close it and make it work first Please!
BTW, The Chinese translation isn't available any more. Is there anything I can help ?

mlinksva commented 5 years ago

Apologies, I simply haven't gotten back to #586 yet, but aim to.

It looks like the Chinese content is still in https://github.com/github/choosealicense.com/pull/72 but that was from 2013; I imagine lots of strings have changed since then.

wizardbyron commented 5 years ago

Apologies, I simply haven't gotten back to #586 yet, but aim to.

It looks like the Chinese content is still in #72 but that was from 2013; I imagine lots of strings have changed since then.

Thanks for reply, I found the Chinese content is hosting on http://choosealicense.online/

victorwestmann commented 4 years ago

Just found out that the Brazilian Portuguese version of it already exists and it is available in the address http://escolhaumalicenca.com.br/ 💚💛

faloi commented 3 years ago

Any updates on this one? I'd like to contribute with the Spanish translation. 😄 🇦🇷

LoganTann commented 2 years ago

Any update in this issue ? It's opened since 2013, and I'd love to see a french translation of this website !

mlinksva commented 2 years ago

Thanks for the ping @LoganTann. Nothing concrete, though totally coincidentally a couple days ago a colleague and I discussed pairing on this, so please continue to watch this issue and thanks for your patience.

samusz commented 2 years ago

So how should go about starting a translation, eg for the French language ?

Licence issues need to get wider audience ; I believe l10n of this project is a good way to start this process.

tinhbao789 commented 1 year ago

Good