}
- SGPropertyNode *locale = NULL;
+ _currentLocale = NULL;
BOOST_FOREACH(string lang, languages) {
- locale = findLocaleNode(lang);
- if (locale) {
+ SG_LOG(SG_GENERAL, SG_DEBUG, "trying to find locale for " << lang );
+ _currentLocale = findLocaleNode(lang);
+ if (_currentLocale) {
+ SG_LOG(SG_GENERAL, SG_DEBUG, "found locale for " << lang << " at " << _currentLocale->getPath() );
break;
}
}
- if (!locale)
+ // load resource for system messages (translations for fgfs internal messages)
+ loadResource("sys");
+
+ // load resource for atc messages
+ loadResource("atc");
+
+ if (!_currentLocale)
{
SG_LOG(SG_GENERAL, SG_ALERT,
- "No internationalization settings specified in preferences.xml" );
+ "System locale not found or no internationalization settings specified in preferences.xml. Using default (en)." );
return false;
}
- _currentLocale = locale;
-
- // load resource for system messages (translations for fgfs internal messages)
- loadResource("sys");
-
return true;
}
if (!path_str)
{
SG_LOG(SG_GENERAL, SG_WARN, "No path in " << stringNode->getPath() << "/" << resource << ".");
- return NULL;
+ return false;
}
path.append(path_str);
SG_LOG(SG_GENERAL, SG_INFO, "Reading localized strings for '" <<
localeNode->getStringValue("lang", "<none>")
- <<"' from " << path.str());
+ <<"' from " << path);
// load the actual file
try
{
- readProperties(path.str(), stringNode->getNode(resource, 0, true));
+ readProperties(path, stringNode->getNode(resource, 0, true));
} catch (const sg_exception &e)
{
- SG_LOG(SG_GENERAL, SG_ALERT, "Unable to read the localized strings from " << path.str() <<
+ SG_LOG(SG_GENERAL, SG_ALERT, "Unable to read the localized strings from " << path <<
". Error: " << e.getFormattedMessage());
return false;
}