From 77ff6163e29b53d3a551c965fe1ed1c5e2809902 Mon Sep 17 00:00:00 2001 From: Evan Paterakis Date: Wed, 8 May 2024 06:45:45 +0300 Subject: [PATCH 1/2] feat: translations --- src/API/Instance.vala | 2 ++ src/API/InstanceV2.vala | 14 ++++++++++ src/API/Translation.vala | 25 +++++++++++++++++ src/API/meson.build | 2 ++ src/Services/Accounts/InstanceAccount.vala | 21 +++++++++++++++ src/Widgets/Status.vala | 31 ++++++++++++++++++++++ 6 files changed, 95 insertions(+) create mode 100644 src/API/InstanceV2.vala create mode 100644 src/API/Translation.vala diff --git a/src/API/Instance.vala b/src/API/Instance.vala index 21df3ba8a..9ccb8833d 100644 --- a/src/API/Instance.vala +++ b/src/API/Instance.vala @@ -16,6 +16,8 @@ public class Tuba.API.Instance : Entity { public API.Pleroma.Instance? pleroma { get; set; default = null; } public Gee.ArrayList? rules { get; set; } + public bool tuba_can_translate { get; set; default=false; } + public override Type deserialize_array_type (string prop) { switch (prop) { case "languages": diff --git a/src/API/InstanceV2.vala b/src/API/InstanceV2.vala new file mode 100644 index 000000000..ccdc2d718 --- /dev/null +++ b/src/API/InstanceV2.vala @@ -0,0 +1,14 @@ +public class Tuba.API.InstanceV2 : Entity { + public class Configuration : Entity { + public class Translation : Entity { + public bool enabled { get; set; default = false; } + } + public Translation translation { get; set; default = null; } + } + + public Configuration configuration { get; set; default = null; } + + public static InstanceV2 from (Json.Node node) throws Error { + return Entity.from_json (typeof (API.InstanceV2), node) as API.InstanceV2; + } +} diff --git a/src/API/Translation.vala b/src/API/Translation.vala new file mode 100644 index 000000000..75a770f11 --- /dev/null +++ b/src/API/Translation.vala @@ -0,0 +1,25 @@ +public class Tuba.API.Translation : Entity { + public class Poll : Entity { + public class Option : Entity { + public string title { get; set; default = ""; } + } + public string id { get; set; default = ""; } + public Gee.ArrayList