2011 Summer Project Week Internationalization of Slicer

From NAMIC Wiki
Jump to: navigation, search
Home < 2011 Summer Project Week Internationalization of Slicer

Full Title of Project

  Internationalization of Slicer

Key Investigators

  • ZJUT: Luping Fang, Ping Cao
  • Isomics: Steve Pieper
  • UPenn: Daniel Haehn
  • Kitware: Jean-Christophe Fillion-Robin, Julien Finet
  • BWH: Suares Tamekue
  • UTC: Yiming Ge
  • University of Szeged: Attila Nagy (remote participation from Hungary)


Objective

The internationalization of an application is the process of making the application usable by people in countries other than one's own.The aim of this project is investigating the feasibility and approach of the internationalization of Slicer as painless as possible for Slicer and its extensions developers. Work will focus on the UI form, dynamic string display. Hopelly, the modules coded in either Python or C++ can be processed in an easy way.

Approach, Plan

Our approach is to based on the built-in internationalization feature of Qt, do some experiments on one UI form and two modules (one is developed by C++, the other is developed by Python) to find the localized methods applicable to Slicer 4. Finally, we hope to summarize the procedure and provide associated template.

Progress

1.We modified a few source codes in endoscopy module and this module can now be displayed in different language successfully.
2.An sample translation template file is defined. Based on it, we had 6 language translations (Chinese, German, Hungarian, Russian, French and Spanish) from 6 volunteers. Thank them for their help.
3.Language selection is input as an option when start Slicer. Usage: Slicer --language-select <language_code>. The screen snapshots are attached.
In general, based on Qt, internationalization of Slicer can be implemented efficiently. The work of the project week gave the proof of concept.

References

http://www.youtube.com/watch?v=lz9deRYwNFY

Delivery Mechanism

This work will be delivered to the NAMIC Kit as a

  1. Slicer Module
    1. Built-in: