diff options
-rw-r--r-- | src/archive_parser.cpp | 21 | ||||
-rw-r--r-- | src/templates/status_info.html | 1 |
2 files changed, 22 insertions, 0 deletions
diff --git a/src/archive_parser.cpp b/src/archive_parser.cpp index d677f84..d16cd49 100644 --- a/src/archive_parser.cpp +++ b/src/archive_parser.cpp @@ -209,6 +209,25 @@ QString get_html_status_object_as_list(QJsonObject obj, QString element_name) { return text; } +QString get_html_status_object_languages(QJsonObject obj, QString element_name = "contentMap") { + QString text; + + if (obj.contains(element_name) and obj.value(element_name).isObject()) { + QJsonObject content_map = obj.value(element_name).toObject(); + QStringList languages = content_map.keys(); + + for (auto lang : languages) + text.append(lang + ", "); + } + + if (text.isEmpty()) + text = "<em>(unknown)</em>"; + else + text.chop(2); // remove leftover ", " + + return text; +} + QString Archive::get_html_status_attachments(QJsonValueRef attachments_ref, int text_zone_width) { QString text; QJsonArray attachments = attachments_ref.toArray(); @@ -278,6 +297,7 @@ QString Archive::get_html_status_info(int status_index, int text_zone_width, Sta if (activity["content"].isString()) { info_text.replace("{{content}}", activity["content"].toString()); + info_text.replace("{{lang}}", get_html_status_object_languages(activity)); } } else if (obj["object"].isString()) { QString text = obj["object"].toString(); @@ -292,6 +312,7 @@ QString Archive::get_html_status_info(int status_index, int text_zone_width, Sta info_text.replace("{{content}}", content_text); info_text.replace("{{summary}}", "<em>(empty)</em>"); + info_text.replace("{{lang}}", "<em>(not applicable)</em>"); info_text.replace("{{attachment-div}}", ""); } diff --git a/src/templates/status_info.html b/src/templates/status_info.html index a51c066..9ff5ec5 100644 --- a/src/templates/status_info.html +++ b/src/templates/status_info.html @@ -10,6 +10,7 @@ <li id="publication-date"><b>Published:</b> {{published}}</li> <li id="to"><b>To:</b> {{to}}</li> <li id="cc"><b>CC:</b> {{cc}}</li> + <li id="lang"><b>Language:</b> {{lang}}</li> <li>URL to <a href="{{url-status}}">Status</a>, <a href="{{url-id}}">JSON-LD Object</a></li> </ul> |