+ if (aStrAttr->isUValue()) { // already translated text
+ char16_t* aStr = aStrAttr->valueU();
+ std::wstring aWStr((wchar_t*)aStr);
+ static const int aBufSize = 1000;
+ static char aMBStr[aBufSize];
+ wcstombs(aMBStr, aWStr.c_str(), aBufSize);
+ std::string aCodec = Config_Translator::codec("");
+ aText = QTextCodec::codecForName(aCodec.c_str())->toUnicode(aMBStr);
+ } else {
+ std::string aMsg = aStrAttr->value();
+ aText = ModuleBase_Tools::translate(myFeature->getKind(), aMsg);
+ }
+ }
+ if (myPrefix == "") {
+ myLabel->setText(aText);
+ } else {
+ myLabel->setText(ModuleBase_Tools::translate(myFeature->getKind(), myPrefix) + aText);