We recently localized ClinCapture to Russian for Synergy Research Group, latest addition to our CRO partners, and thought I would share some of our best practices. We are honored that ClinCapture is being presented by Synergy Research Group, in Moscow during the Clinical Trials Russia Conference taking place later this week. It’s always a real treat to work with a partner in the field, especially one that is working in an international space such as Russia, Central Asia, and Eastern Europe.
Tom Hickerson, Senior EDC Manager at Clinovo
Synergy is one of several partners that we’ve worked with this fall as part of our CRO Partnership Program, which gives us the opportunity to collaborate with CROs in the US and international fields. This is an exciting opportunity, as it allows us to collaborate with an entire ecosystem of global partners, and quickly take their feedback into account while we keep improving ClinCapture.
The challenge of Internationalization and Localization (often shortened to I18N and L10N because they are eighteen and ten letters from the first to the last letter) in an application is always a daunting task, especially in a project that has over ten years’ worth of development history. It’s worth pointing out that I18N refers to creating a system that has the potential of being translated to multiple languages, while L10N refers to the process of adapting a system to a specific language, which has already been internationalized. In our case, ClinCapture has been through multiple rounds of I18N, and the last round of L10N is taking place in Russian.
I’d like to write a little bit about how far we’ve come since the first internationalization project for ClinCapture. My first take-away to our readers: When you develop a feature, you need to assess from the start if this feature will need I18N/L10N, versus a feature to be used only in English, and implement with that requirement in mind as you work with the development roadmap.
I originally helped implement the first I18N changes in 2007 to OpenClinica, by implementing changes from an outside company called BAP Health in Spain. They were one of our first outside collaborators, and the I18N drive was completely driven by them as an open-source, community effort. It opened up the ability for us to apply our solutions to a number of European and Asian organizations and agencies, and was a great step forward in making the project more popular to its growing community.
Sharing the same open source code, ClinCapture has always been available in a number of languages since that time. However, we’ve grown quite a bit in the last two years, and the code and feature set for ClinCapture is much different now. There are certain challenges that you have to keep in mind as you grow an application and develop new multi-language features. They include the following:
- Alphabets, and their encoding. ClinCapture has always captured data in a character encoding that allows for foreign alphabets, called Unicode. (For more on the subject and how this is a complex issue, you can read the landmark article by Joel Spolsky for developers here.) Now, you may get the impression that this is not really an issue, until you start to work with text files yourself. Editing files in Notepad, for example, will create one kind of encoding for your computer, while editing files in Microsoft Word will create something entirely different.
- Dates. In working with dates, you quickly find out that Czech dates, French dates, Russian dates can all differ on the web page, but all have to be cleanly read and saved into the database in the same way. We’ve worked with many calendar widgets in the past, but are now upgrading the ‘date picker’ for all our dates to the latest standard in our upcoming releases. You can see more about the work we’re doing with that here.
- Making sure settings are accurately reflected in the application. Up until now, ClinCapture kept track of its user’s language settings by looking at the browser setting. Our experience has been that sometimes, different browsers interpret the default language differently. Also, the language of the operating system may affect the browser’s language setting as well. To counter this unpredictability, ClinCapture will now ask for the user to define the language specifically. You can see more about the work we’re doing with that here.
The Developer Team and Testing Team are working very hard to make sure ClinCapture is the best not only in English, but in any language. There are always a number of issues with making sure any application is fully compliant and fully internationalized. Our engagement with partners and clients like Synergy Research gives us a short, positive feedback loop within which we can quickly find and fix issues with multiple language support.
What do you think about our technical feature set and roadmap for ClinCapture in the future? You are always welcome to sign up for a community account and contribute to the discussion here at our community development site. Also, if you are an international user or CRO and would like to see ClinCapture in your local language, you can contact us about collaborating with us in our next localization efforts.
Tom Hickerson, Senior EDC Manager at Clinovo
+ 1 800 987 6007