Parlez-vous Français
A Long Time Ago…
Back in the 1.4 days, when we were still investigating what to put into 1.5, I looked into adding multi-lingual support to CruiseControl.NET. Basically I had hoped to make CruiseControl.NET available to more people, especially those who did not speak English (or for whom English was not their first language).
As nice as the idea was, there was one major snag – no translators
So after a while the idea died a death. Unfortunately, my linguist ability is extremely limited (I’m learning Chinese, but it’s a painful and slow process!) So when we started preparing for the 1.5 release, the multi-lingual changes were dropped.
Recently, one of our users asked how to switch languages in the dashboard. When we told him it couldn’t be done, he came back with an offer of translating into French for us! So I have dusted off some of the old archived code and re-added multi-languages to CruiseControl.NET.
Keeping It Simple
Now the original version of the multi-lingual changes started with the Remote project and worked their way up through Core, Server and then onto the Dashboard (CCTray was bypassed). This meant, in theory, an administrator could completely switch their CC.NET install into a different language.
While this was a grand vision, it had a few detractors. For one, should exceptions be translated? (I said yes, others said no.) What about documentation? (Especially considering our documentation needs some TLC anyway.) What about support? Testing? Etc.
So for this second attempt I have pared it right back. The only thing that is translated is the dashboard – everything to do with the actual CI server is untouched. This, hopefully, bypasses most of the above concerns, while still allowing non-English speakers to use the system.
Additionally, I changed the code slightly. Originally the language was hard-coded – everyone had to use the selected language. The new version uses the language detection in ASP.NET and selects the user’s primary language (as specified by their browser).
Now for the bad news – currently there is only one translation, French, and it is still a work in progress. So, if you speak French, here is what the dashboard looks like currently:
And just to show that it is different, if I change my language back to English:
Acknowledgements
As I mentioned earlier my linguist ability is virtually nil. Louis-Philippe Carignan is the kind volunteer who provided the French translation. Many thanks Louis-Philippe, I hope this helps you
Hi Craig,
I know it’s not straight on topic, but…
We are currently hosting more than 50 projects on CC.Net. Thus the green/red line that shows if projects are broken is way down below. It would be very nice to have this green/red line above the project list instead of below.
Should be a small change for someone used to asp.net but unfortunately we’re not. Can you help?
TIA,
Markus
Hi Craig,
I tested the latest overnight build from cc.net and I detected this nice feature. Our servers are running on german system but most of us are used to work with English. Is there a way to disable this feature or tell ASP.NET to force using english?
thanx
Attila
Hi Attila,
Currently there is no way of turning it off, but this was an oversight on our behalf
I will raise it as an issue and hopefully someone will change it.
Craig
Great job Craig. I think the multi-lingual feature will help CC.Net gain more acceptance in French IT environments. For example, some French government agencies or ministries require their applications to be in French so this feature is greatly appreciated.
Well done !
Can you inform how a translation must be done?
on the blog or the wiki, so others can also translate the dashboard.
And just the dashboard and CCtray should be translated, or be able to be
Hi Ruben,
I’ll add the details in a new post (sometime soon). Just got a few more details to sort out and then I’ll write about it
Craig