php-school / php-workshop

🔮 PHP School workshop framework. The stuff you use to build your workshop!
http://www.phpschool.io/
MIT License
46 stars 4 forks source link

Add translator #96

Open AydinHassan opened 8 years ago

AydinHassan commented 8 years ago

If we support multi-language we will no doubt have to translate all the output. We will need to write a translator or pull in a 3rd party library (my preference) and run all output through the translators. We shouldn't translate actual exercises, just stuff like exercise names, menu buttons, rendering information and so on.

We will need to decide how we store translations and we will need to shift all existing output to en translations to this medium.

tdutrion commented 7 years ago

Any preference regarding the third party library?

I usually work with Zend i18n but I'm slightly worried it comes with useless classes for this use case (filters, view helpers) and therefore it would be interesting to use Symfony translation.

In terms of storage, flat PHP files (arrays) might be a good fit in terms of performances.

Also, having the project on a platform such as poeditor.com would help with translations.

Also, I am interested in helping with this issue!

mikeymike commented 7 years ago

hey @tdutrion thanks for getting involved 😄

Currently no preference on the library to use, Symfony's looks nice and comes with the array loader so we could have it in a flat PHP file like you mentioned.

Poeditor looks good, I guess this would need to be workshop specific and maybe down to the maintainers of them to do to make the their workshop translatable.

I'd assume the workshop framework will contain a bunch of translations with placeholders for any dynamic content though, so that would likely be the first step. Then we'd probably need a way for the workshop to define what languages it supports.

I'm not sure if / how we can handle RTL languages though 🤔 would likely need some alterations to be made in cli-menu package.

Let me know your thoughts 👍