+void TaskManifestFile::setWidgetDescription(Manifest & manifest)
+{
+ FOREACH(localizedData, m_context.widgetConfig.configInfo.localizedDataSet)
+ {
+ Locale i = localizedData->first;
+ DPL::OptionalString tag = getLangTag(i); // translate en -> en_US etc
+ if (tag.IsNull()) {
+ tag = i;
+ }
+ DPL::OptionalString description = localizedData->second.description;
+ generateWidgetDescription(manifest, tag, description);
+ }
+}
+
+void TaskManifestFile::generateWidgetDescription(Manifest & manifest,
+ const DPL::OptionalString& tag,
+ DPL::OptionalString description)
+{
+ if (!!description) {
+ if (!!tag) {
+ DPL::String locale =
+ LanguageTagsProvider::BCP47LanguageTagToLocale(*tag);
+ if (!locale.empty()) {
+ manifest.addDescription(DescriptionType(*description, locale));
+ } else {
+ manifest.addDescription(DescriptionType(*description));
+ }
+ } else {
+ manifest.addDescription(DescriptionType(*description));
+ }
+ }
+}
+