Following VTK, ITK, and most other software, with this commit, Slicer switches to “UTF-8 everywhere”. This will make it possible to load files that have special character in their names, use special characters in node names or any other text.
This also opens up the possibility for full and correct translation of the application to any language, but there is still significant work needed to get there (e…g, consistent usage of tr
in C++ code, introduction of translation macro in Python code, design solution for translation of CLI modules).
Coding conventions: std::string
and char*
variables always store string with UTF-8 encoding and text in files are always expected to use UTF-8 encoding. See coding examples and more background information in the style guide.