diff --git a/build.gradle.kts b/build.gradle.kts
index 47832010f..c7d45203e 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -35,4 +35,11 @@ allprojects {
)
}
}
+ configurations.all {
+ resolutionStrategy.eachDependency {
+ if (requested.group == "net.java.dev.jna" && requested.name == "jna") {
+ useTarget("net.java.dev.jna:jna:5.12.1")
+ }
+ }
+ }
}
diff --git a/desktopApp/build.gradle.kts b/desktopApp/build.gradle.kts
index 71659dfda..82e6948dc 100644
--- a/desktopApp/build.gradle.kts
+++ b/desktopApp/build.gradle.kts
@@ -98,8 +98,3 @@ val macExtraPlistKeys: String
"""
-
-apply(from = "vlc-download-task.gradle.kts")
-tasks.named("compileKotlin") {
- dependsOn("downloadVlc")
-}
\ No newline at end of file
diff --git a/desktopApp/src/main/ composeResources/values-af-rZA/strings.xml b/desktopApp/src/main/ composeResources/values-af-rZA/strings.xml
deleted file mode 100644
index 045e125f3..000000000
--- a/desktopApp/src/main/ composeResources/values-af-rZA/strings.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
diff --git a/desktopApp/src/main/ composeResources/values-ar-rSA/strings.xml b/desktopApp/src/main/ composeResources/values-ar-rSA/strings.xml
deleted file mode 100644
index abcd8074d..000000000
--- a/desktopApp/src/main/ composeResources/values-ar-rSA/strings.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-
-
- حسناً
- إلغاء
- حذف
- تحديث
- تأليف
- تسجيل الدخول
- الإعدادات
- المنزل
- الإشعارات
- أنا
- اكتشف
- الإعدادات
- محلي
- عامة
- مميز
- المفضلة
- المفضلة
- قائمة
- التحديثات
- الرسائل المباشرة
- راس
- تبويقات جديدة
- الرجوع
- رابط مثيل
- التالي
- لا يوجد مثيلات
- مرحبا بكم في Felle
- الفلاش هو عميل شبكة اجتماعية لـ %1$s.\nللبدء، الرجاء تحديد خدمة للاتصال بها.
- الرجاء الانتظار بينما نقوم بالتحقق من بيانات الاعتماد الخاصة بك.
- المشاركات
- الوظائف والردود
- إعجاب
- الوسائط
- تقرير
- ما هي المشكلة مع هذا المنشور؟
- مزعج
- غير قانوني وعاجل
- مضللة
- محتوى جنسي غير مرغوب فيه
- السلوك المعادي للمجتمع
- اخرى
- إشارات أو ردود مفرطة
- ثالثا - الانتهاكات الصارخة للقانون أو شروط الخدمة
- هذه المشاركة مضللة
- العقل أو المواد الإباحية غير الموصوفة بهذه الصفة
- التحرش أو الغطرسة أو التعصب
- مشكلة غير مدرجة في هذه الخيارات
- حذف
- هل أنت متأكد من أنك تريد حذف هذا؟
- تقرير
- هل أنت متأكد من أنك تريد الإبلاغ عن هذا؟
- إزالة الإشارة المرجعية
- إضافة إشارة مرجعية
- إعجاب
- خلافا
- المزيد
- اقتباس
- إضافة رد فعل
- إزالة رد الفعل
- الرد
- تقرير
- تغريدة
- إزالة التغريدة
- إعادة المحاولة
- تعليق
- إعادة
- حديثاً
- البحث
- Show thumbnail list
- إخفاء قائمة الصور المصغرة
- حفظ
- ملء الشاشة
- إضافة قائمة
- تحرير القائمة
- حذف القائمة
- هل أنت متأكد من أنك تريد حذف هذه القائمة %1$s؟
- لا توجد قوائم
- فشل تحميل القوائم
- إنشاء قائمة
- اسم القائمة
- اسم القائمة
- الأعضاء
- تحرير الأعضاء
- لا يوجد أعضاء
- فشل تحميل الأعضاء
- تحرير قائمة الأعضاء
- ابحث عن التالي
- البحث
- البحث
- لم يتم العثور على مستخدمين
- فشل البحث عن المستخدمين
- إضافة
- إزالة
- وصف القائمة
- وصف القائمة
- تغذيتي
- اكتشف الخلاصات
- تم إنشاؤها بواسطة %1$s
- إلغاء الاشتراك
- اشترك
-
diff --git a/desktopApp/src/main/ composeResources/values-ca-rES/strings.xml b/desktopApp/src/main/ composeResources/values-ca-rES/strings.xml
deleted file mode 100644
index 045e125f3..000000000
--- a/desktopApp/src/main/ composeResources/values-ca-rES/strings.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
diff --git a/desktopApp/src/main/ composeResources/values-cs-rCZ/strings.xml b/desktopApp/src/main/ composeResources/values-cs-rCZ/strings.xml
deleted file mode 100644
index 4c7dfb788..000000000
--- a/desktopApp/src/main/ composeResources/values-cs-rCZ/strings.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-
-
- OK
- Zrušit
- Vymazat
- Aktualizovat
- Napsat
- Přihlásit se
- Nastavení
- Domů
- Oznámení
- Já
- Objevte
- Nastavení
- Místní
- Veřejnost
- Doporučené
- Záložky
- Oblíbená
- Seznam
- Zdroje
- Přímé zprávy
- RSS
- Nové tooty
- Zpět
- URL instance
- Další
- Nebyly nalezeny žádné instance
- Vítejte na Flare
- Flare je sociální síťový klient pro %1$s.\nChcete-li začít, vyberte službu, ke které se chcete připojit.
- Počkejte prosím, než ověříme Vaše přihlašovací údaje.
- Příspěvky
- Příspěvky a odpovědi
- Líbí se mi
- Média
- Nahlásit
- Jaký je problém s tímto příspěvkem?
- Nevyžádaná pošta
- Nelegální a naléhavé
- Klamavý
- Nechtěný Sexuální obsah
- Protisociální chování
- Ostatní
- Nadměrné zmínky nebo odpovědi
- Vyjasnění porušení práva nebo podmínek poskytování služeb
- Tento příspěvek je zavádějící
- Nudita nebo pornografie, které jako takové nejsou označeny
- Obtěžování, trollling nebo netolerance
- Problém nezahrnutý do těchto možností
- Vymazat
- Jste si jisti, že to chcete odstranit?
- Nahlásit
- Opravdu to chcete nahlásit?
- Odstranit záložku
- Přidat záložku
- Líbí se mi
- Nelíbí se mi
- Více
- Cenová nabídka
- Přidat reakci
- Odstranit reakci
- Odpověď
- Nahlásit
- Opakovat
- Odstranit retweet
- Opakovat
- Komentář
- Znovu odeslat
- Nedávné
- Hledat
- Show thumbnail list
- Skrýt seznam náhledů
- Uložit
- Celá obrazovka
- Přidat seznam
- Upravit seznam
- Odstranit seznam
- Jste si jisti, že chcete odstranit tento seznam %1$s?
- Žádné seznamy
- Nepodařilo se načíst seznamy
- Vytvořit seznam
- Název seznamu
- Název seznamu
- Členové
- Upravit členy
- Žádní členové
- Nepodařilo se načíst členy
- Upravit seznam členů
- Hledat následující
- Hledat
- Hledat
- Nenalezeni žádní uživatelé
- Nepodařilo se vyhledat uživatele
- Přidat
- Odebrat
- Popis seznamu
- Popis seznamu
- Moje zdroje
- Objevte kanály
- Vytvořil %1$s
- Odhlásit odběr
- Odebírat
-
diff --git a/desktopApp/src/main/ composeResources/values-da-rDK/strings.xml b/desktopApp/src/main/ composeResources/values-da-rDK/strings.xml
deleted file mode 100644
index 300291638..000000000
--- a/desktopApp/src/main/ composeResources/values-da-rDK/strings.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-
-
- Ok
- Annuller
- Slet
- Opdater
- Skriv
- Login
- Indstillinger
- Hjem
- Notifikationer
- Mig
- Opdag
- Indstillinger
- Lokal
- Offentlig
- Fremhævet
- Bogmærker
- Favorit
- Liste
- Feeds
- Direkte Beskeder
- Rss
- Nye toots
- Tilbage
- Instance URL
- Næste
- Ingen forekomster fundet
- Velkommen til Flare
- Flare er en social netværksklient for %1$s.\nFor at komme i gang skal du vælge en tjeneste at oprette forbindelse til.
- Vent venligst mens vi verificerer dine legitimationsoplysninger.
- Indlæg
- Indlæg og svar
- Likes
- Medier
- Rapport
- Hvad er problemet med dette indlæg?
- Spam
- Ulovlig og hastende
- Misvisende
- Uønsket Seksuelt Indhold
- Anti-Social Opførsel
- Andet
- Overdreven omtaler eller svar
- Grove overtrædelser af lov eller tjenestevilkår
- Dette indlæg er misvisende
- Nøgenhed eller pornografi, der ikke er mærket som sådan
- Harassment, trolling, eller intolerance
- Et problem der ikke er inkluderet i disse muligheder
- Slet
- Er du sikker på, at du vil slette dette?
- Rapport
- Er du sikker på, at du vil rapportere dette?
- Fjern bogmærke
- Tilføj bogmærke
- Ligesom
- I modsætning
- Mere
- Tilbud
- Tilføj reaktion
- Fjern reaktion
- Svar
- Rapport
- Retweet
- Fjern retweet
- Forsøg igen
- Kommentar
- Genpost
- Seneste
- Søg
- Show thumbnail list
- Skjul miniatureliste
- Gem
- Fuldskærm
- Tilføj liste
- Rediger liste
- Slet liste
- Er du sikker på, at du vil slette denne liste %1$s?
- Ingen lister
- Kunne ikke indlæse lister
- Opret liste
- Liste navn
- Liste navn
- Medlemmer
- Rediger medlemmer
- Ingen medlemmer
- Kunne ikke indlæse medlemmer
- Rediger liste medlemmer
- Søg efter følgende
- Søg
- Søg
- Ingen brugere fundet
- Kunne ikke søge brugere
- Tilføj
- Fjern
- Liste beskrivelse
- Liste beskrivelse
- Mine feeds
- Opdag feeds
- Oprettet af %1$s
- Afmeld
- Abonnér
-
diff --git a/desktopApp/src/main/ composeResources/values-de-rDE/strings.xml b/desktopApp/src/main/ composeResources/values-de-rDE/strings.xml
deleted file mode 100644
index 3c897c317..000000000
--- a/desktopApp/src/main/ composeResources/values-de-rDE/strings.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-
-
- Ok
- Abbrechen
- Löschen
- Aktualisieren
- Verfassen
- Anmelden
- Einstellungen
- Zuhause
- Benachrichtigungen
- Ich
- Entdecken
- Einstellungen
- Lokal
- Öffentlich
- Empfohlen
- Lesezeichen
- Favorit
- Liste
- Feeds
- Direkte Nachrichten
- RS
- Neue toots
- Zurück
- Instanz URL
- Nächste
- Keine Instanzen gefunden
- Willkommen bei Leuchtturm
- Flare ist ein Sozialnetzwerk-Client für %1$s.\nUm loszulegen, wählen Sie bitte einen Dienst zum Verbinden aus.
- Bitte warten Sie, bis wir Ihre Zugangsdaten verifizieren.
- Beiträge
- Beiträge und Antworten
- Gefällt
- Medien
- Bericht
- Was ist das Problem mit diesem Beitrag?
- Spam
- Illegaler und dringender
- Irreführend
- Ungewollter sexueller Inhalt
- Anti-Soziales Verhalten
- Andere
- Übermäßige Erwähnungen oder Antworten
- eklatante Verstöße gegen das Recht oder die Nutzungsbedingungen
- Dieser Beitrag ist irreführend
- Nacktheit oder Pornographie nicht als solche gekennzeichnet
- Belästigung, Trolle oder Intoleranz
- Ein Problem nicht in diesen Optionen enthalten
- Löschen
- Bist du sicher, dass du dies löschen möchtest?
- Bericht
- Bist du sicher, dass du dies melden möchtest?
- Lesezeichen entfernen
- Lesezeichen hinzufügen
- Möge
- Anders
- Mehr
- Zitat
- Antwort hinzufügen
- Reaktion entfernen
- Antwort
- Bericht
- Retweet
- Retweet entfernen
- Wiederholen
- Kommentar
- Repost
- Neueste
- Suchen
- Show thumbnail list
- Thumbnail-Liste ausblenden
- Speichern
- Vollbild
- Neue Liste
- Liste bearbeiten
- Liste löschen
- Sind Sie sicher, dass Sie diese Liste %1$s löschen möchten?
- Keine Listen
- Fehler beim Laden der Listen
- Liste erstellen
- Listenname
- Listenname
- Mitglieder
- Mitglieder bearbeiten
- Keine Mitglieder
- Fehler beim Laden der Mitglieder
- Listenmitglieder bearbeiten
- Folgende suchen
- Suchen
- Suchen
- Keine Benutzer gefunden
- Fehler bei der Suche der Benutzer
- Neu
- Entfernen
- Listenbeschreibung
- Listenbeschreibung
- Meine Feeds
- Feeds entdecken
- Erstellt von %1$s
- Abmelden
- Abonnieren
-
diff --git a/desktopApp/src/main/ composeResources/values-el-rGR/strings.xml b/desktopApp/src/main/ composeResources/values-el-rGR/strings.xml
deleted file mode 100644
index 209004b59..000000000
--- a/desktopApp/src/main/ composeResources/values-el-rGR/strings.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-
-
- Εντάξει
- Ακύρωση
- Διαγραφή
- Ανανέωση
- Σύνθεση
- Είσοδος
- Ρυθμίσεις
- Αρχική
- Ειδοποιήσεις
- Εγώ
- Ανακαλύψτε
- Ρυθμίσεις
- Τοπικό
- Δημόσιο
- Προτεινόμενα
- Σελιδοδείκτες
- Αγαπημένο
- Λίστα
- Ροές
- Άμεσα Μηνύματα
- RSS
- Νέα φωνές
- Πίσω
- Διεύθυνση Url Παρουσίας
- Επόμενο
- Δεν βρέθηκαν παρουσίες
- Καλώς ήλθατε στο Flare
- Το Flare είναι ένας πελάτης κοινωνικής δικτύωσης για %1$s.\nΓια να ξεκινήσετε, παρακαλώ επιλέξτε μια υπηρεσία με την οποία θα συνδεθείτε.
- Παρακαλώ περιμένετε όσο επαληθεύουμε τα στοιχεία σας.
- Αναρτήσεις
- Δημοσιεύσεις και απαντήσεις
- Αρέσει
- Πολυμέσα
- Αναφορά
- Ποιο είναι το ζήτημα με αυτή την ανάρτηση?
- Ανεπιθύμητα
- Παράνομο και Επείγον
- Παραπλανητικό
- Ανεπιθύμητο Σεξουαλικό Περιεχόμενο
- Αντικοινωνική Συμπεριφορά
- Άλλο
- Υπέρμετρες αναφορές ή απαντήσεις
- Καταφανείς παραβιάσεις του νόμου ή των όρων υπηρεσίας
- Αυτή η ανάρτηση είναι παραπλανητική
- Γυμνό ή πορνογραφία που δεν χαρακτηρίζεται ως τέτοια
- Παρενόχληση, συρτή ή δυσανεξία
- Ένα ζήτημα που δεν περιλαμβάνεται σε αυτές τις επιλογές
- Διαγραφή
- Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτό?
- Αναφορά
- Είστε βέβαιοι ότι θέλετε να αναφέρετε αυτό?
- Αφαίρεση σελιδοδείκτη
- Προσθήκη σελιδοδείκτη
- Αρέσει
- Σε αντίθεση
- Περισσότερα
- Παράθεση
- Προσθήκη αντίδρασης
- Αφαίρεση αντίδρασης
- Απάντηση
- Αναφορά
- Retweet
- Αφαίρεση retweet
- Επανάληψη
- Σχόλιο
- Επαναδημοσίευση
- Πρόσφατα
- Αναζήτηση
- Show thumbnail list
- Απόκρυψη λίστας μικρογραφιών
- Αποθήκευση
- Πλήρης Οθόνη
- Προσθήκη λίστας
- Επεξεργασία λίστας
- Διαγραφή λίστας
- Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτή τη λίστα %1$s?
- Δεν υπάρχουν λίστες
- Αποτυχία φόρτωσης λιστών
- Δημιουργία λίστας
- Όνομα λίστας
- Όνομα λίστας
- Μέλη
- Επεξεργασία μελών
- Κανένα μέλος
- Αποτυχία φόρτωσης μελών
- Επεξεργασία λίστας μελών
- Αναζητήστε τα παρακάτω σας
- Αναζήτηση
- Αναζήτηση
- Δεν βρέθηκαν χρήστες
- Αποτυχία αναζήτησης χρηστών
- Προσθήκη
- Αφαίρεση
- Περιγραφή λίστας
- Περιγραφή λίστας
- Οι ροές μου
- Ανακαλύψτε ροές
- Δημιουργήθηκε από %1$s
- Διαγραφή
- Εγγραφή
-
diff --git a/desktopApp/src/main/ composeResources/values-en-rUS/strings.xml b/desktopApp/src/main/ composeResources/values-en-rUS/strings.xml
deleted file mode 100644
index 045e125f3..000000000
--- a/desktopApp/src/main/ composeResources/values-en-rUS/strings.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
diff --git a/desktopApp/src/main/ composeResources/values-es-rES/strings.xml b/desktopApp/src/main/ composeResources/values-es-rES/strings.xml
deleted file mode 100644
index fcb60ff36..000000000
--- a/desktopApp/src/main/ composeResources/values-es-rES/strings.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-
-
- Ok
- Cancelar
- Eliminar
- Refrescar
- Redactar
- Ingresar
- Ajustes
- Inicio
- Notificaciones
- Yo
- Descubre
- Ajustes
- Local
- Público
- Destacado
- Marcadores
- Favorito
- Lista
- Alimentos
- Mensajes directos
- Bruto
- Nuevos toots
- Atrás
- URL de instancia
- Siguiente
- No se encontraron instancias
- Bienvenido a Bengala
- Flare es un cliente de red social para %1$s.\nPara empezar, seleccione un servicio para conectarse.
- Por favor, espere mientras verificamos sus credenciales.
- Mensajes
- Mensajes y respuestas
- Me gusta
- Medios
- Reporte
- ¿Cuál es el problema con esta publicación?
- Spam
- Ilegal y urgente
- Misular
- Contenido sexual no deseado
- Comportamiento antisocial
- Otro
- Menciones o respuestas excesivas
- Violaciones de declaración de la ley o de las condiciones de servicio
- Esta publicación es engañosa
- Nudidad o pornografía no etiquetadas como tales
- Acoso, trolling, o intolerancia
- Un problema no incluido en estas opciones
- Eliminar
- ¿Está seguro que desea eliminar esto?
- Reporte
- ¿Estás seguro de que quieres reportar esto?
- Eliminar marcador
- Añadir marcador
- Me gusta
- A diferencia de
- Más
- Cotización
- Añadir reacción
- Eliminar reacción
- Responder
- Reporte
- Retwittear
- Eliminar retweet
- Reintentar
- Comentario
- Repostar
- Recientes
- Buscar
- Show thumbnail list
- Ocultar lista de miniaturas
- Guardar
- Pantalla completa
- Añadir lista
- Editar lista
- Borrar lista
- ¿Está seguro que desea eliminar esta lista %1$s?
- No hay listas
- Error al cargar las listas
- Crear lista
- Nombre de lista
- Nombre de lista
- Miembros
- Editar miembros
- No hay miembros
- Error al cargar miembros
- Editar miembros de la lista
- Busca en tu siguiente
- Buscar
- Buscar
- No hay usuarios
- Error al buscar usuarios
- Añadir
- Eliminar
- Descripción de lista
- Descripción de lista
- Mis Feeds
- Descubre feeds
- Creado por %1$s
- Darse de baja
- Suscribirse
-
diff --git a/desktopApp/src/main/ composeResources/values-fi-rFI/strings.xml b/desktopApp/src/main/ composeResources/values-fi-rFI/strings.xml
deleted file mode 100644
index 2af1534ea..000000000
--- a/desktopApp/src/main/ composeResources/values-fi-rFI/strings.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-
-
- Ok
- Peruuta
- Poista
- Päivitä
- Luo
- Kirjaudu
- Asetukset
- Koti
- Ilmoitukset
- Minä
- Löydä
- Asetukset
- Paikallinen
- Julkinen
- Suositellut
- Kirjanmerkit
- Suosikki
- Lista
- Syötteet
- Suorat Viestit
- RSS
- Uudet tootit
- Takaisin
- Ilmentymän URL
- Seuraava
- Esiintymiä ei löytynyt
- Tervetuloa Flareen
- Flare on sosiaalisen verkoston asiakasohjelma %1$s.\nPäästäksesi alkuun, valitse palvelu, johon haluat yhteyden.
- Ole hyvä ja odota kunnes vahvistamme käyttäjätunnuksesi.
- Julkaisut
- Julkaisut ja vastaukset
- Tykkäykset
- Media
- Raportoi
- Mikä on ongelma tässä viestissä?
- Roskaposti
- Laiton ja kiireellinen
- Harhaanjohtava
- Ei-Haluttu Seksuaalinen Sisältö
- Sosiaalinen Käyttäytyminen
- Muu
- Liialliset maininnat tai vastaukset
- Lain tai palvelusehtojen räikeät rikkomukset
- Tämä viesti on harhaanjohtava
- Arkuus tai pornografia, jota ei ole merkitty sellaiseksi
- Häirintä, trollaus, tai suvaitsemattomuus
- Ongelma, joka ei sisälly näihin vaihtoehtoihin
- Poista
- Oletko varma, että haluat poistaa tämän?
- Raportoi
- Oletko varma, että haluat raportoida tästä?
- Poista kirjanmerkki
- Lisää kirjanmerkki
- Tykkää
- Toisin
- Lisää
- Tarjous
- Lisää reaktio
- Poista reaktio
- Vastaa
- Raportoi
- Yritä Uudelleen
- Poista uudelleentwiittaa
- Yritä Uudelleen
- Kommentti
- Uudelleenlähetys
- Viimeisimmät
- Etsi
- Show thumbnail list
- Piilota pikkukuvien lista
- Tallenna
- Kokoruutu
- Lisää lista
- Muokkaa listaa
- Poista lista
- Oletko varma, että haluat poistaa tämän luettelon %1$s?
- Ei listoja
- Listajen lataaminen epäonnistui
- Luo lista
- Listan nimi
- Listan nimi
- Jäsenet
- Muokkaa jäseniä
- Ei jäseniä
- Jäsenten lataaminen epäonnistui
- Muokkaa listan jäseniä
- Etsi seuraamuksesi
- Etsi
- Etsi
- Käyttäjiä ei löytynyt
- Käyttäjien haku epäonnistui
- Lisää
- Poista
- Listan kuvaus
- Listan kuvaus
- Omat syötteet
- Löydä syötteet
- Luotu %1$s
- Peruuta Tilaus
- Tilaa
-
diff --git a/desktopApp/src/main/ composeResources/values-fr-rFR/strings.xml b/desktopApp/src/main/ composeResources/values-fr-rFR/strings.xml
deleted file mode 100644
index ca32221d7..000000000
--- a/desktopApp/src/main/ composeResources/values-fr-rFR/strings.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-
-
- Ok
- Abandonner
- Supprimez
- Rafraîchir
- Composer
- Se connecter
- Réglages
- Domicile
- Notifications
- Moi
- Découvrir
- Réglages
- Locale
- Publique
- En vedette
- Signets
- Favoris
- Liste
- Flux
- Messages directs
- Rss
- Nouveaux pouets
- Précédent
- URL de l\'instance
- Suivant
- Aucune instance trouvée
- Bienvenue dans Flare
- Fusée éclairante est un client de réseau social pour %1$s.\nPour commencer, veuillez sélectionner un service auquel vous connecter.
- Veuillez patienter pendant que nous vérifions vos identifiants.
- Publications
- Messages et réponses
- J\'aime
- Médias
- Rapporter
- Quel est le problème avec ce message ?
- Spam
- Illégal et urgent
- Mauvaise
- Contenu sexuel non désiré
- Comportement anti-social
- Autres
- Mentions ou réponses excessives
- Violations flagrantes de la loi ou des conditions d\'utilisation
- Ce message est trompeur
- Nudité ou pornographie non étiquetée en tant que telle
- Harcèlement, troll ou intolérance
- Un problème non inclus dans ces options
- Supprimez
- Êtes-vous sûr de vouloir supprimer cela ?
- Rapporter
- Êtes-vous sûr de vouloir signaler cela ?
- Supprimer le favori
- Ajouter un favori
- J\'aime
- J\'aime
- En savoir plus
- Devis
- Ajouter une réaction
- Supprimer la réaction
- Répondre
- Rapporter
- Retweet
- Supprimer le retweet
- Réessayer
- Commenter
- Republier
- Récentes
- Chercher
- Show thumbnail list
- Masquer la liste des vignettes
- Enregistrer
- Plein écran
- Ajouter une liste
- Editer la liste
- Supprimer la liste
- Êtes-vous sûr de vouloir supprimer cette liste %1$s?
- Aucune liste
- Impossible de charger les listes
- Créer une liste
- Nom de liste
- Nom de liste
- Membres
- Modifier les membres
- Aucun membre
- Impossible de charger les membres
- Modifier les membres de la liste
- Recherchez dans vos recherches suivantes
- Chercher
- Chercher
- Aucun utilisateur trouvé
- Impossible de rechercher des utilisateurs
- Ajouter
- Retirer
- Description de la liste
- Description de la liste
- Mes flux
- Découvrir les flux
- Créé par %1$s
- Se désabonner
- S\'abonner
-
diff --git a/desktopApp/src/main/ composeResources/values-hu-rHU/strings.xml b/desktopApp/src/main/ composeResources/values-hu-rHU/strings.xml
deleted file mode 100644
index 045e125f3..000000000
--- a/desktopApp/src/main/ composeResources/values-hu-rHU/strings.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
diff --git a/desktopApp/src/main/ composeResources/values-it-rIT/strings.xml b/desktopApp/src/main/ composeResources/values-it-rIT/strings.xml
deleted file mode 100644
index c5e6361bd..000000000
--- a/desktopApp/src/main/ composeResources/values-it-rIT/strings.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-
-
- OK
- Annulla
- Elimina
- Aggiorna
- Componi
- Accedi
- Impostazioni
- Home
- Notifiche
- Io
- Scopri
- Impostazioni
- Locale
- Pubblico
- Vetrina
- Segnalibri
- Preferito
- Elenco
- Feed
- Messaggi Diretti
- Rss
- Nuovi toots
- Indietro
- Url Istanza
- Successivo
- Nessuna istanza trovata
- Benvenuto in chiarore
- Flare è un client di social network per %1$s.\nPer iniziare, selezionare un servizio a cui connettersi.
- Attendere mentre verifichiamo le tue credenziali.
- Post
- Posti e risposte
- Mi Piace
- Media
- Segnala
- Qual è il problema con questo post?
- Spam
- Illegale e urgente
- fuorviante
- Contenuto Sessuale Indesiderato
- Comportamento Anti-Sociale
- Altro
- Menzioni o risposte eccessive
- Glaring violazioni della legge o dei termini di servizio
- Questo post è fuorviante
- Nudità o pornografia non etichettate come tali
- Molestie, trolling o intolleranza
- Un problema non incluso in queste opzioni
- Elimina
- Sei sicuro di voler eliminare questo?
- Segnala
- Sei sicuro di voler segnalare questo?
- Rimuovi segnalibro
- Aggiungi segnalibro
- Like
- A differenza
- Altro
- Preventivo
- Aggiungi reazione
- Rimuovi reazione
- Rispondi
- Segnala
- Retweet
- Rimuovi retweet
- Riprova
- Commento
- Repost
- Recenti
- Cerca
- Show thumbnail list
- Nascondi elenco miniature
- Salva
- Schermo
- Aggiungi elenco
- Modifica elenco
- Elimina elenco
- Sei sicuro di voler eliminare questo elenco %1$s?
- Nessuna lista
- Impossibile caricare le liste
- Crea lista
- Nome elenco
- Nome elenco
- Membri
- Modifica membri
- Nessun membro
- Impossibile caricare i membri
- Modifica membri della lista
- Cerca qui di seguito
- Cerca
- Cerca
- Nessun utente trovato
- Ricerca degli utenti non riuscita
- Aggiungi
- Rimuovi
- Descrizione elenco
- Descrizione elenco
- I miei feed
- Scopri i feed
- Creato da %1$s
- Disiscriviti
- Abbonati
-
diff --git a/desktopApp/src/main/ composeResources/values-iw-rIL/strings.xml b/desktopApp/src/main/ composeResources/values-iw-rIL/strings.xml
deleted file mode 100644
index 045e125f3..000000000
--- a/desktopApp/src/main/ composeResources/values-iw-rIL/strings.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
diff --git a/desktopApp/src/main/ composeResources/values-ja-rJP/strings.xml b/desktopApp/src/main/ composeResources/values-ja-rJP/strings.xml
deleted file mode 100644
index 68b09795a..000000000
--- a/desktopApp/src/main/ composeResources/values-ja-rJP/strings.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-
-
- OK
- キャンセル
- 削除
- 更新
- 作成
- ログイン
- 設定
- ホーム
- 通知
- 自分
- 見つける
- 設定
- ローカル
- 公開
- 注目
- ブックマーク
- お気に入り
- リスト
- フィード
- ダイレクトメッセージ
- RSS
- 新しいトゥート
- 戻る
- インスタンス URL
- 次へ
- インスタンスが見つかりません
- Flareへようこそ
- Flare は %1$sのソーシャルネットワーククライアントです。\n開始するには、接続するサービスを選択してください。
- 認証情報を確認するまでしばらくお待ちください。
- 投稿
- 投稿と返信
- いいね
- メディア
- レポート
- この投稿の問題点は何ですか?
- 迷惑メール
- 規約違反かつ緊急
- 誤解を招く内容
- 望ましくない性的コンテンツ
- 反社会的行動
- その他
- 過度のメンションまたは返信
- 法令またはサービス利用規約の違反
- 誤解を招く投稿
- ヌードまたはポルノとしてラベル付けされていない
- 嫌がらせ、荒らし、荒らし
- これらのオプションに含まれていない問題
- 削除
- 削除してもよろしいですか?
- レポート
- これを報告してもよろしいですか?
- ブックマークを削除
- ブックマークを追加
- いいね!
- いいね!を解除
- もっと見る
- 引用
- リアクションを追加
- リアクションを削除
- 返信
- レポート
- リツイート
- リツイートを削除
- 再試行する
- コメント
- リポスト
- 最近のもの
- 検索
- Show thumbnail list
- サムネイル一覧を非表示
- 保存
- 全画面
- リストを追加
- リストを編集
- リストを削除
- リスト %1$s を削除してもよろしいですか?
- リストがありません
- リストの読み込みに失敗しました
- リストを作成
- リスト名
- リスト名
- メンバー
- メンバーを編集
- メンバーなし
- メンバーの読み込みに失敗しました
- リストメンバーを編集
- フォローしているものを検索
- 検索
- 検索
- ユーザーが見つかりませんでした
- ユーザー検索に失敗しました
- 追加
- 削除
- リストの説明
- リストの説明
- 私のフィード
- フィードを発見する
- 作成者: %1$s
- 購読解除
- 購読する
-
diff --git a/desktopApp/src/main/ composeResources/values-ko-rKR/strings.xml b/desktopApp/src/main/ composeResources/values-ko-rKR/strings.xml
deleted file mode 100644
index 045e125f3..000000000
--- a/desktopApp/src/main/ composeResources/values-ko-rKR/strings.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
diff --git a/desktopApp/src/main/ composeResources/values-nl-rNL/strings.xml b/desktopApp/src/main/ composeResources/values-nl-rNL/strings.xml
deleted file mode 100644
index 119592be4..000000000
--- a/desktopApp/src/main/ composeResources/values-nl-rNL/strings.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-
-
- Ok
- annuleren
- Verwijderen
- Vernieuwen
- Samenstellen
- Aanmelden
- Instellingen
- Startpagina
- Notificaties
- IK
- Ontdek
- Instellingen
- lokaal
- Openbaar
- Aanbevolen
- Bladwijzers
- Favoriete
- Klantenlijst
- Feeds
- Directe Berichten
- RSS
- Nieuwe toots
- Achterzijde
- Aanleg URL
- Volgende
- Geen instanties gevonden
- Welkom bij Flare
- Verlaging is een sociaal netwerk client voor %1$s.\nSelecteer een service om verbinding te maken met %1$s.
- Een moment geduld aub terwijl we uw inloggegevens verifiëren.
- Berichten
- Berichten en antwoorden
- Vind-ik-leuk
- Medium
- Rapporteren
- Wat is het probleem met dit bericht?
- Spam
- Illegaal en urgent
- Misleidend
- Ongewenste seksuele inhoud
- Anti-sociaal gedrag
- anders
- Overmatige vermeldingen of reacties
- Ernstige schendingen van de wet of de gebruiksvoorwaarden
- Deze post is misleidend
- Voedingsstoffen of pornografie niet als zodanig geëtiketteerd
- Pesterij, trollen of intolerantie
- Een probleem niet opgenomen in deze opties
- Verwijderen
- Weet u zeker dat u dit wilt verwijderen?
- Rapporteren
- Weet u zeker dat u dit wilt melden?
- Bladwijzer verwijderen
- Bladwijzer toevoegen
- vind-ik-leuk
- Anders dan
- Meer
- Offerte
- Reactie toevoegen
- Reactie verwijderen
- Beantwoorden
- Rapporteren
- Retweet
- Verwijder retweet
- Opnieuw
- Opmerking
- Herpost
- Recentelijk
- Zoeken
- Show thumbnail list
- Verberg thumbnail lijst
- Opslaan
- Volledig scherm
- Lijst toevoegen
- Lijst bewerken
- Lijst verwijderen
- Weet u zeker dat u deze lijst %1$s wilt verwijderen?
- Geen lijsten
- Laden van lijsten mislukt
- Lijst aanmaken
- Lijst naam
- Lijst naam
- leden
- Deelnemers bewerken
- Geen leden
- Laad deelnemers mislukt
- Lijstleden bewerken
- Zoek je volgende
- Zoeken
- Zoeken
- Geen gebruikers gevonden
- Zoeken naar gebruikers mislukt
- Toevoegen
- Verwijderen
- Omschrijving lijst
- Omschrijving lijst
- Mijn feeds
- Ontdek feeds
- Aangemaakt door %1$s
- Afmelden
- Abonneren
-
diff --git a/desktopApp/src/main/ composeResources/values-no-rNO/strings.xml b/desktopApp/src/main/ composeResources/values-no-rNO/strings.xml
deleted file mode 100644
index a4b4c6134..000000000
--- a/desktopApp/src/main/ composeResources/values-no-rNO/strings.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-
-
- Ok
- Avbryt
- Slett
- Oppdater
- Skriv
- Innlogging
- Innstillinger
- Hjem
- Varsler
- Meg
- Oppdag
- Innstillinger
- Lokal
- Offentlig
- Anbefalt
- Bokmerker
- Favoritt
- Liste
- Strøm
- Direkte meldinger
- RSS
- Nye toots
- Tilbake
- Instans URL
- Neste
- Ingen instanser funnet
- Velkommen til oppsprett
- Oppblussing er en sosial nettverk-klient for %1$s.\nFor å komme i gang, velg en tjeneste du vil koble til.
- Vennligst vent mens vi bekrefter dine legitimasjon.
- Innlegg
- Innlegg og svar
- Liker
- Medier
- Rapporter
- Hva er problemet med dette innlegget?
- Søppelpost
- Ulovlig og Haster
- Villende
- Uønsket suell innhold
- Anti-Social Athavior
- Annet
- Overdreven omtale eller svar
- Anskaffelse av lovbrudd eller tjenestevilkår
- Dette innlegget er misvisende
- Nudity eller pornografi som ikke er merket slik
- Trakassering, kontroll eller intoleranse
- Et problem er ikke inkludert i disse alternativene
- Slett
- Er du sikker på at du vil slette dette?
- Rapporter
- Er du sikker på at du vil rapportere dette?
- Fjern bokmerke
- Legg til bokmerke
- Lik
- Ulikt
- Mer
- Sitat
- Legg til reaksjon
- Fjern reaksjon
- Svar
- Rapporter
- Prøv igjen
- Fjern retweet
- Prøv igjen
- Kommentar
- Gjenkjenn
- Siste
- Søk
- Show thumbnail list
- Skjul miniatyrbilde liste
- Lagre
- Fullskjerm
- Legge til listen
- Rediger liste
- Slett liste
- Er du sikker på at du vil slette denne listen %1$s?
- Ingen lister
- Kunne ikke laste lister
- Lag oppgaveliste
- Navn på liste
- Navn på liste
- Medlemmer
- Rediger medlemmer
- Ingen medlemmer
- Kunne ikke laste inn medlemmer
- Rediger listemedlemmer
- Søk i dine følger
- Søk
- Søk
- Ingen brukere funnet
- Kunne ikke søke brukere
- Legg til
- Fjern
- Liste beskrivelse
- Liste beskrivelse
- Mine fôr
- Oppdag fôr
- Opprettet av %1$s
- Avmeld
- Abonner
-
diff --git a/desktopApp/src/main/ composeResources/values-pl-rPL/strings.xml b/desktopApp/src/main/ composeResources/values-pl-rPL/strings.xml
deleted file mode 100644
index c155352f8..000000000
--- a/desktopApp/src/main/ composeResources/values-pl-rPL/strings.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-
-
- OK
- Anuluj
- Usuń
- Odśwież
- Napisz
- Logowanie
- Ustawienia
- Strona główna
- Powiadomienia
- Pr
- Odkryj
- Ustawienia
- Lokalny
- Publiczne
- Polecane
- Zakładki
- Ulubione
- Lista
- Kanały
- Wiadomości bezpośrednie
- Rss
- Nowe wpisy
- Powrót
- Adres URL instancji
- Następny
- Nie znaleziono instancji
- Witaj w Flare
- Flare jest klientem sieci społecznościowej dla %1$s.\nAby rozpocząć, wybierz usługę, z którą chcesz się połączyć.
- Proszę czekać, weryfikujemy Twoje dane logowania.
- Posty
- Posty i odpowiedzi
- Polubienia
- Media
- Zgłoszenie
- Jaki jest problem z tym postem?
- Spam
- Nielegalne i pilne
- Wprowadzanie w błąd
- Niechciana zawartość seksualna
- Zachowanie antyspołeczne
- Inne
- Nadmierne wzmianki lub odpowiedzi
- Łączenie naruszeń prawa lub warunków świadczenia usług
- Ten post wprowadza w błąd
- Nudność lub pornografia nieoznaczona jako taka.
- molestowanie, troling, nietolerancja
- Problem nieuwzględniony w tych opcjach
- Usuń
- Czy na pewno chcesz to usunąć?
- Zgłoszenie
- Czy na pewno chcesz to zgłosić?
- Usuń zakładkę
- Dodaj zakładkę
- Lubię
- Nie lubię
- Więcej
- Oferta
- Dodaj reakcję
- Usuń reakcję
- Odpowiedz
- Zgłoszenie
- crwdns74747:0crwdne74747:0
- Usuń retweet
- Ponów próbę
- Komentarz
- Udostępnij ponownie
- Najnowsze
- Szukaj
- Show thumbnail list
- Ukryj listę miniatur
- Zapisz
- Pełny ekran
- Dodaj listę
- Edytuj listę
- Usuń listę
- Czy na pewno chcesz usunąć tę listę %1$s?
- Brak list
- Nie udało się załadować list
- Utwórz listę
- Nazwa listy
- Nazwa listy
- Członkowie
- Edytuj użytkowników
- Brak członków
- Nie udało się załadować członków
- Edytuj członków listy
- Przeszukaj obserwowane
- Szukaj
- Szukaj
- Nie znaleziono użytkowników
- Nie udało się wyszukać użytkowników
- Dodaj
- Usuń
- Opis listy
- Opis listy
- Moje kanały
- Odkryj kanały
- Utworzone przez %1$s
- Anuluj subskrypcję
- Subskrybuj
-
diff --git a/desktopApp/src/main/ composeResources/values-pt-rBR/strings.xml b/desktopApp/src/main/ composeResources/values-pt-rBR/strings.xml
deleted file mode 100644
index 128f9351d..000000000
--- a/desktopApp/src/main/ composeResources/values-pt-rBR/strings.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-
-
- Certo
- cancelar
- excluir
- atualizar
- Compor
- Conectar-se
- Confirgurações
- Residencial
- notificações
- Eu
- Pendentes
- Confirgurações
- Localização
- Público
- Destaques
- Favoritos
- Favorito
- Lista
- Conteúdos
- Mensagens Diretas
- RSS
- Novos toots
- Anterior
- Instância URL
- Próximo
- Nenhuma instância encontrada
- Bem-vindo ao Sinalizador
- Sinalizador é um cliente de rede social para %1$s.\nPara começar, selecione um serviço para se conectar.
- Por favor, aguarde enquanto verificamos suas credenciais.
- Postagens
- Mensagens e respostas
- Gostos
- Multimídia
- Denunciar
- Qual é o problema com esta publicação?
- Spam
- Ilegal e Urgente
- Enganador
- Conteúdo Sexual Indesejado
- Comportamento anti-social
- Outros
- Menções ou respostas excessivas
- Violações flagrantes das leis ou termos de serviço
- Este post está enganando
- Nudez ou pornografia não rotulada como tal
- Assédio, Trollação ou intolerância
- Uma issue não incluída nessas opções
- excluir
- Tem certeza que deseja excluir isto?
- Denunciar
- Tem certeza de que deseja denunciar isto?
- Remover marcador favorito
- Adicionar marcador
- Gostei
- Descurtir
- MAIS
- Cotação
- Adicionar reação
- Remover reação
- Responder
- Denunciar
- Retweetar
- Remover retweet
- Repetir
- Comentar
- Republicar
- Recente
- Pesquisa
- Show thumbnail list
- Ocultar lista de miniaturas
- Guardar
- Tela cheia
- Adicionar lista
- Editar lista
- Excluir lista
- Tem certeza que deseja excluir esta lista %1$s?
- Nenhuma lista
- Falha ao carregar listas
- Criar lista
- Nome da lista
- Nome da lista
- membros
- Editar membros
- Não membros
- Falha ao carregar membros
- Editar membros da lista
- Pesquisar no seu seguinte
- Pesquisa
- Pesquisa
- Nenhum usuário encontrado
- Falha ao procurar usuários
- Adicionar
- Excluir
- Descrição da lista
- Descrição da lista
- Meus feeds
- Alimentos de descobertas
- Criado por %1$s
- Desinscrever
- Inscrever-se
-
diff --git a/desktopApp/src/main/ composeResources/values-pt-rPT/strings.xml b/desktopApp/src/main/ composeResources/values-pt-rPT/strings.xml
deleted file mode 100644
index 128f9351d..000000000
--- a/desktopApp/src/main/ composeResources/values-pt-rPT/strings.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-
-
- Certo
- cancelar
- excluir
- atualizar
- Compor
- Conectar-se
- Confirgurações
- Residencial
- notificações
- Eu
- Pendentes
- Confirgurações
- Localização
- Público
- Destaques
- Favoritos
- Favorito
- Lista
- Conteúdos
- Mensagens Diretas
- RSS
- Novos toots
- Anterior
- Instância URL
- Próximo
- Nenhuma instância encontrada
- Bem-vindo ao Sinalizador
- Sinalizador é um cliente de rede social para %1$s.\nPara começar, selecione um serviço para se conectar.
- Por favor, aguarde enquanto verificamos suas credenciais.
- Postagens
- Mensagens e respostas
- Gostos
- Multimídia
- Denunciar
- Qual é o problema com esta publicação?
- Spam
- Ilegal e Urgente
- Enganador
- Conteúdo Sexual Indesejado
- Comportamento anti-social
- Outros
- Menções ou respostas excessivas
- Violações flagrantes das leis ou termos de serviço
- Este post está enganando
- Nudez ou pornografia não rotulada como tal
- Assédio, Trollação ou intolerância
- Uma issue não incluída nessas opções
- excluir
- Tem certeza que deseja excluir isto?
- Denunciar
- Tem certeza de que deseja denunciar isto?
- Remover marcador favorito
- Adicionar marcador
- Gostei
- Descurtir
- MAIS
- Cotação
- Adicionar reação
- Remover reação
- Responder
- Denunciar
- Retweetar
- Remover retweet
- Repetir
- Comentar
- Republicar
- Recente
- Pesquisa
- Show thumbnail list
- Ocultar lista de miniaturas
- Guardar
- Tela cheia
- Adicionar lista
- Editar lista
- Excluir lista
- Tem certeza que deseja excluir esta lista %1$s?
- Nenhuma lista
- Falha ao carregar listas
- Criar lista
- Nome da lista
- Nome da lista
- membros
- Editar membros
- Não membros
- Falha ao carregar membros
- Editar membros da lista
- Pesquisar no seu seguinte
- Pesquisa
- Pesquisa
- Nenhum usuário encontrado
- Falha ao procurar usuários
- Adicionar
- Excluir
- Descrição da lista
- Descrição da lista
- Meus feeds
- Alimentos de descobertas
- Criado por %1$s
- Desinscrever
- Inscrever-se
-
diff --git a/desktopApp/src/main/ composeResources/values-ro-rRO/strings.xml b/desktopApp/src/main/ composeResources/values-ro-rRO/strings.xml
deleted file mode 100644
index 9a9e4c961..000000000
--- a/desktopApp/src/main/ composeResources/values-ro-rRO/strings.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-
-
- Ok
- Anulează
- Ștergere
- Împrospătează
- Compune
- Autentificare
- Setări
- Acasă
- Notificări
- Eu
- Descoperă
- Setări
- Local
- Publice
- Recomandate
- Marcaje
- Favorit
- Listă
- Fluxuri
- Mesaje directe
- RSS
- Notițe noi
- Înapoi
- URL Instanță
- Următoarea
- Nu s-au găsit instanțe
- Bun venit la Flare
- Flare este un client de rețea socială pentru %1$s.\nPentru a începe, vă rugăm să selectați un serviciu la care să vă conectați.
- Te rugăm să aștepți până îți verificăm acreditările.
- Mesaje
- Postări și răspunsuri
- Aprecieri
- Media
- Raport
- Care este problema cu acest post?
- Spam
- ilegal și urgent
- Inducere
- Conținut sexual nedorit
- Comportament antisocial
- Altele
- Mențiuni sau răspunsuri excesive
- Încălcări clare ale legii sau ale termenilor serviciului
- Această postare este înșelătoare
- Nuditate sau pornografie nedenumită ca atare
- Hărțuire, intimidare sau intoleranță
- O problemă care nu este inclusă în aceste opțiuni
- Ștergere
- Sunteţi sigur că doriţi să ştergeţi acest lucru?
- Raport
- Ești sigur că vrei să raportezi acest lucru?
- Eliminaţi marcajul
- Adaugă marcaj
- Apreciere
- Spre deosebire
- Mai
- Ofertă
- Adaugă reacţie
- Eliminați reacția
- Răspuns
- Raport
- Retweet
- Elimină retweet
- Reîncercați
- Comentariu
- Repostează
- Recente
- Caută
- Show thumbnail list
- Ascunde lista de miniaturi
- Salvează
- Ecran complet
- Adaugă listă
- Editare listă
- Șterge lista
- Sunteţi sigur că doriţi să ştergeţi această listă %1$s?
- Nicio listă
- Încărcarea listelor a eșuat
- Creați o listă
- Nume listă
- Nume listă
- Membri
- Editare membri
- Niciun membru
- Încărcarea membrilor a eșuat
- Editare membri listă
- Căutați următoarele
- Caută
- Caută
- Niciun utilizator găsit
- Căutarea utilizatorilor a eșuat
- Adăugare
- Elimină
- Descriere listă
- Descriere listă
- Fluxurile mele
- Descoperă feed-uri
- Creat de %1$s
- Dezabonare
- Abonează-te
-
diff --git a/desktopApp/src/main/ composeResources/values-ru-rRU/strings.xml b/desktopApp/src/main/ composeResources/values-ru-rRU/strings.xml
deleted file mode 100644
index 7bc348195..000000000
--- a/desktopApp/src/main/ composeResources/values-ru-rRU/strings.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-
-
- ОК
- Отмена
- Удалить
- Обновить
- Написать
- Логин
- Настройки
- Домашний
- Уведомления
- Я
- Узнайте
- Настройки
- Локальный
- Публичный
- Избранные
- Закладки
- Избранное
- Список
- Ленты
- Прямые сообщения
- Rss
- Новые зубы
- Назад
- URL экземпляра
- Следующий
- Экземпляров не найдено
- Добро пожаловать в Сигнал
- Flare - это клиент социальной сети для %1$s.\nЧтобы начать, пожалуйста, выберите сервис, к которому можно подключиться.
- Пожалуйста, подождите, пока мы верифицируем ваши учетные данные.
- Должности
- Сообщения и ответы
- Лайки
- Медиа
- Отчет
- В чем проблема с этим сообщением?
- Спам
- Незаконный и срочный
- Вводящий в заблуждение
- Нежелаемый сексуальный контент
- Антисоциальное поведение
- Прочие вопросы
- Чрезмерные упоминания или ответы
- Вопиющие нарушения закона или условий предоставления услуг
- Этот пост вводит в заблуждение
- Нуждаемость или порнография не помечены как таковые
- Домогательства, троллинги или нетерпимость
- Проблема не была включена в эти параметры
- Удалить
- Вы уверены, что хотите удалить это?
- Отчет
- Вы уверены, что хотите сообщить об этом?
- Удалить закладку
- Добавить закладку
- Лайкнуть
- Не нравится
- Ещё
- Цитата
- Добавить реакцию
- Удалить реакцию
- Ответ
- Отчет
- Ретвитнуть
- Удалить ретвит
- Повторить
- Комментарий
- Репост
- Недавние
- Искать
- Show thumbnail list
- Скрыть список миниатюр
- Сохранить
- Полноэкранный
- Добавить список
- Изменить список
- Удалить список
- Вы уверены, что хотите удалить этот список %1$s?
- Нет списков
- Не удалось загрузить списки
- Создать список
- Название списка
- Название списка
- Члены Комитета
- Изменить участников
- Нет участников
- Не удалось загрузить участников
- Редактировать участников списка
- Искать в вашей подписке
- Искать
- Искать
- Пользователей не найдено
- Не удалось найти пользователей
- Добавить
- Удалить
- Описание списка
- Описание списка
- Мои каналы
- Откройте фиды
- Создано %1$s
- Отписаться
- Подписаться
-
diff --git a/desktopApp/src/main/ composeResources/values-sr-rSP/strings.xml b/desktopApp/src/main/ composeResources/values-sr-rSP/strings.xml
deleted file mode 100644
index 045e125f3..000000000
--- a/desktopApp/src/main/ composeResources/values-sr-rSP/strings.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
diff --git a/desktopApp/src/main/ composeResources/values-sv-rSE/strings.xml b/desktopApp/src/main/ composeResources/values-sv-rSE/strings.xml
deleted file mode 100644
index 81d74e06e..000000000
--- a/desktopApp/src/main/ composeResources/values-sv-rSE/strings.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-
-
- Ok
- Avbryt
- Radera
- Uppdatera
- Skriv
- Inloggning
- Inställningar
- Hem
- Aviseringar
- Jag
- Upptäck
- Inställningar
- Lokal
- Publik
- Utvalda
- Bokmärken
- Favorit
- Lista
- Flöden
- Direkta meddelanden
- Rss
- Nya toots
- Tillbaka
- Instans URL
- Nästa
- Inga instanser hittades
- Välkommen till Flare
- Flare är en social nätverkskund för %1$s.\nFör att komma igång, vänligen välj en tjänst att ansluta till.
- Vänligen vänta medan vi verifierar dina uppgifter.
- Inlägg
- Inlägg och svar
- Gillar
- Media
- Rapportera
- Vad är problemet med det här inlägget?
- Spam
- Olagligt och bråttom
- Vilseledande
- Oönskat sexuellt innehåll
- Antisocialt beteende
- Annat
- Överdrivna omnämnanden eller svar
- Allvarliga brott mot lag eller tjänstevillkor
- Det här inlägget är vilseledande
- Nakenhet eller pornografi är inte märkta som sådana
- Trakassering, trolling, eller intolerans
- Ett problem som inte ingår i dessa alternativ
- Radera
- Är du säker du vill ta bort detta?
- Rapportera
- Är du säker på att du vill rapportera detta?
- Ta bort bokmärke
- Lägg till bokmärke
- Gilla
- Ogilla
- Mer
- Offert
- Lägg till reaktion
- Ta bort reaktion
- Svara
- Rapportera
- Retweet
- Ta bort retweet
- Försök igen
- Kommentar
- Omvänd
- Senaste
- Sök
- Show thumbnail list
- Dölj miniatyrlista
- Spara
- Helskärm
- Lägg till lista
- Redigera lista
- Ta bort lista
- Är du säker på att du vill ta bort denna lista %1$s?
- Inga listor
- Det gick inte att ladda listor
- Skapa lista
- Listans namn
- Listans namn
- Medlemmar
- Redigera medlemmar
- Inga medlemmar
- Det gick inte att läsa in medlemmar
- Redigera listans medlemmar
- Sök efter följande
- Sök
- Sök
- Inga användare hittades
- Misslyckades med att söka användare
- Lägg till
- Radera
- Lista beskrivning
- Lista beskrivning
- Mina flöden
- Upptäck flöden
- Skapad av %1$s
- Avprenumerera
- Prenumerera
-
diff --git a/desktopApp/src/main/ composeResources/values-tr-rTR/strings.xml b/desktopApp/src/main/ composeResources/values-tr-rTR/strings.xml
deleted file mode 100644
index 045e125f3..000000000
--- a/desktopApp/src/main/ composeResources/values-tr-rTR/strings.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
diff --git a/desktopApp/src/main/ composeResources/values-uk-rUA/strings.xml b/desktopApp/src/main/ composeResources/values-uk-rUA/strings.xml
deleted file mode 100644
index 64f1d5736..000000000
--- a/desktopApp/src/main/ composeResources/values-uk-rUA/strings.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-
-
- Гаразд
- Скасувати
- Видалити
- Оновити
- Написати лист
- Логін
- Налаштування
- Домашній екран
- Сповіщення
- Ме
- Відкрийте для себе
- Налаштування
- Місцевий
- Загальнодоступна
- Рекомендовані
- Закладки
- Фаворит
- Список
- Стрічки новин
- Миттєві повідомлення
- RSS
- Нові дмухи
- Відмінити
- URL-адреса інстансу
- Уперед
- Екземплярів не знайдено
- Ласкаво просимо до Flare
- Flare - це клієнт соціальної мережі для %1$s.\nдля початку, будь ласка, виберіть службу для підключення.
- Будь ласка, зачекайте, поки ми перевіряємо ваші облікові дані.
- Повідомлення
- Повідомлення і відповіді
- Сподобалося
- Медіа
- Доповісти
- Що проблема з цим постом?
- Спам
- Нелегальний та спецнат
- Оселінг
- Небажаний сексуальний вміст
- Антисоціальна поведінка
- Інше
- Надмірні згадки або відповіді
- славні порушення закону або умови надання послуг
- Цей пост в омані
- Нагота чи порнографія не позначена як така
- Домагання, тролінг або нетерпимість
- Проблема не включена до цих опцій
- Видалити
- Ви впевнені, що бажаєте видалити це?
- Доповісти
- Ви впевнені, що хочете повідомити про це?
- Видалити з обраного
- Додати до закладок
- Подобається
- На відміну від
- Більше
- Цитувати
- Додати реакцію
- Видалити реакцію
- Відповідь
- Доповісти
- Ретвіт
- Видалити ретвіт
- Повторити спробу
- Коментар
- Репост
- Недавні
- Пошук
- Show thumbnail list
- Приховати список ескізів
- Зберегти
- Повноекранний
- Додати список
- Редагувати список
- Видалити список
- Ви дійсно бажаєте видалити цей список %1$s?
- Немає списків
- Не вдалося завантажити списки
- Створити список
- Назва списку
- Назва списку
- Члени
- Редагувати учасників
- Немає учасників
- Не вдалося завантажити члени
- Редагувати список учасників
- Пошук підписок
- Пошук
- Пошук
- Користувачів не знайдено
- Помилка пошуку користувачів
- Додати
- Видалити
- Список описів
- Список описів
- Мої стрічки
- Відкрийте для себе стрічки
- Створено %1$s
- Відмовитися від підписки
- Підписатися
-
diff --git a/desktopApp/src/main/ composeResources/values-vi-rVN/strings.xml b/desktopApp/src/main/ composeResources/values-vi-rVN/strings.xml
deleted file mode 100644
index 045e125f3..000000000
--- a/desktopApp/src/main/ composeResources/values-vi-rVN/strings.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
diff --git a/desktopApp/src/main/ composeResources/values-zh-rCN/strings.xml b/desktopApp/src/main/ composeResources/values-zh-rCN/strings.xml
deleted file mode 100644
index b0e3bee31..000000000
--- a/desktopApp/src/main/ composeResources/values-zh-rCN/strings.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-
-
- 好的
- 取消
- 删除
- 刷新
- 发帖
- 登录
- 设置
- 首页
- 通知
- 我
- 发现
- 设置
- 本地
- 公开
- 精选
- 书签
- 收藏
- 列表
- 订阅源
- 私信
- Rss
- 有新嘟文
- 后退
- 实例地址
- 下一步
- 没有找到实例
- 欢迎使用 Flare
- 闪光是 %1$s的社交网络客户端。\n若要开始,请选择要连接的服务。
- 请稍等,正在验证您的凭据。
- 帖子
- 帖子和回复
- 点赞
- 媒体
- 举报
- 这篇帖子有什么问题?
- 垃圾信息
- 违法违规
- 误导
- 不良性内容
- 反社会行为
- 其他
- 过多的提及或回复
- 明显违反法律或服务条款
- 这篇帖子具有误导性
- 未标明的裸露或色情内容
- 骚扰、恶作剧或不宽容行为
- 这些选项中未包含的问题
- 删除
- 您确定要删除此内容吗?
- 举报
- 您确定要举报此内容吗?
- 删除书签
- 添加书签
- 点赞
- 取消点赞
- 更多
- 引用
- 添加反应
- 移除反应
- 回复
- 举报
- 转推
- 移除转推
- 重试
- 评论
- 转发
- 最近的
- 搜索
- Show thumbnail list
- 隐藏缩略图列表
- 保存
- 全屏
- 新建列表
- 编辑列表
- 删除列表
- 您确定要删除这个列表 %1$s?
- 列表为空
- 无法加载列表
- 创建列表
- 列表名称
- 列表名称
- 成员
- 编辑成员
- 暂无成员
- 无法加载成员
- 编辑成员
- 搜索您的关注
- 搜索
- 搜索
- 未找到用户
- 搜索用户失败
- 添加
- 删除账户
- 列表描述
- 列表描述
- 我的订阅
- 发现订阅源
- 由%1$s创建
- 取消订阅
- 订阅
-
diff --git a/desktopApp/src/main/ composeResources/values-zh-rTW/strings.xml b/desktopApp/src/main/ composeResources/values-zh-rTW/strings.xml
deleted file mode 100644
index 045e125f3..000000000
--- a/desktopApp/src/main/ composeResources/values-zh-rTW/strings.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
diff --git a/desktopApp/src/main/kotlin/dev/dimension/flare/di/DesktopModule.kt b/desktopApp/src/main/kotlin/dev/dimension/flare/di/DesktopModule.kt
index 8f9594542..b0a26abfd 100644
--- a/desktopApp/src/main/kotlin/dev/dimension/flare/di/DesktopModule.kt
+++ b/desktopApp/src/main/kotlin/dev/dimension/flare/di/DesktopModule.kt
@@ -3,6 +3,7 @@ package dev.dimension.flare.di
import dev.dimension.flare.common.InAppNotification
import dev.dimension.flare.common.Message
import dev.dimension.flare.ui.component.platform.VideoPlayerPool
+import org.koin.core.module.dsl.singleOf
import org.koin.dsl.binds
import org.koin.dsl.module
@@ -27,9 +28,5 @@ val desktopModule =
}
}
} binds arrayOf(InAppNotification::class)
- single {
- VideoPlayerPool(
- get(),
- )
- }
+ singleOf(::VideoPlayerPool)
}
diff --git a/desktopApp/src/main/kotlin/dev/dimension/flare/ui/route/Router.kt b/desktopApp/src/main/kotlin/dev/dimension/flare/ui/route/Router.kt
index f40a61820..c2018d722 100644
--- a/desktopApp/src/main/kotlin/dev/dimension/flare/ui/route/Router.kt
+++ b/desktopApp/src/main/kotlin/dev/dimension/flare/ui/route/Router.kt
@@ -89,8 +89,8 @@ internal fun Router(
it.arguments
?.getString("accountKey")
?.let(MicroBlogKey::valueOf)
- ?.let(AccountType::Specific)
- if (userKey != null && accountKey != null) {
+ ?.let(AccountType::Specific) ?: AccountType.Guest
+ if (userKey != null) {
ProfileScreen(
accountType = accountKey,
userKey = userKey,
diff --git a/desktopApp/vlc-download-task.gradle.kts b/desktopApp/vlc-download-task.gradle.kts
deleted file mode 100644
index cd1ead221..000000000
--- a/desktopApp/vlc-download-task.gradle.kts
+++ /dev/null
@@ -1,295 +0,0 @@
-import org.apache.tools.ant.taskdefs.condition.Os
-import org.gradle.api.DefaultTask
-import org.gradle.api.tasks.TaskAction
-import java.io.File
-import java.net.URI
-import java.net.http.HttpClient
-import java.net.http.HttpRequest
-import java.net.http.HttpResponse
-import java.nio.file.Files
-import java.nio.file.StandardCopyOption
-import java.util.zip.ZipInputStream
-
-// Define task class
-open class DownloadVlcTask : DefaultTask() {
- // Set VLC version as a property for easy updates
- private val vlcVersion = "3.0.20"
-
- @TaskAction
- fun downloadVlc() {
- val isWindows = Os.isFamily(Os.FAMILY_WINDOWS)
- val isMacOS = Os.isFamily(Os.FAMILY_MAC)
- val isArm64 =
- System.getProperty("os.arch").lowercase().contains("aarch64") ||
- System.getProperty("os.arch").lowercase().contains("arm64")
-
- // Use projectDir to locate resource directory
- val resourcesDir = File(project.projectDir, "resources")
- if (!resourcesDir.exists()) {
- resourcesDir.mkdirs()
- }
-
- // Create download directory in project's build folder
- val downloadDir = File(project.buildDir, "download")
- if (!downloadDir.exists()) {
- downloadDir.mkdirs()
- }
-
- when {
- isWindows -> {
- val targetDir = File(resourcesDir, "windows-x64")
- if (!targetDir.exists()) {
- targetDir.mkdirs()
- }
-
- // Check if directory is empty
- if (targetDir.listFiles()?.isEmpty() != false) {
- println("Windows x64 platform detected, downloading VLC $vlcVersion...")
- downloadAndExtractZip(
- "https://download.videolan.org/pub/videolan/vlc/$vlcVersion/win64/vlc-$vlcVersion-win64.zip",
- targetDir,
- downloadDir,
- )
- } else {
- println("Windows x64 directory already contains files, skipping download")
- }
- }
-
- isMacOS && isArm64 -> {
- val targetDir = File(resourcesDir, "macos-arm64")
- if (!targetDir.exists()) {
- targetDir.mkdirs()
- }
-
- // Check if directory is empty
- if (targetDir.listFiles()?.isEmpty() != false) {
- println("MacOS ARM64 platform detected, downloading VLC $vlcVersion...")
- downloadAndMountDmg(
- "https://download.videolan.org/pub/videolan/vlc/$vlcVersion/macosx/vlc-$vlcVersion-arm64.dmg",
- targetDir,
- downloadDir,
- )
- } else {
- println("MacOS ARM64 directory already contains files, skipping download")
- }
- }
-
- isMacOS -> {
- val targetDir = File(resourcesDir, "macos-x64")
- if (!targetDir.exists()) {
- targetDir.mkdirs()
- }
-
- // Check if directory is empty
- if (targetDir.listFiles()?.isEmpty() != false) {
- println("MacOS x64 platform detected, downloading VLC $vlcVersion...")
- downloadAndMountDmg(
- "https://download.videolan.org/pub/videolan/vlc/$vlcVersion/macosx/vlc-$vlcVersion-intel64.dmg",
- targetDir,
- downloadDir,
- )
- } else {
- println("MacOS x64 directory already contains files, skipping download")
- }
- }
-
- else -> {
- println("Unsupported platform")
- }
- }
- }
-
- private fun downloadAndExtractZip(
- url: String,
- targetDir: File,
- downloadDir: File,
- ) {
- try {
- println("Downloading: $url")
- val tempFile = File(downloadDir, "vlc-download-${System.currentTimeMillis()}.zip")
-
- // Use URI and HttpClient instead of deprecated URL constructor
- val client = HttpClient.newBuilder().build()
- val request =
- HttpRequest
- .newBuilder()
- .uri(URI.create(url))
- .GET()
- .build()
-
- client.send(request, HttpResponse.BodyHandlers.ofInputStream()).body().use { input ->
- Files.copy(input, tempFile.toPath(), StandardCopyOption.REPLACE_EXISTING)
- }
-
- println("Download complete, extracting...")
-
- // Create lib directory
- val libDir = File(targetDir, "lib")
- if (!libDir.exists()) {
- libDir.mkdirs()
- }
-
- // First pass: determine the root directory in the zip
- var rootDirName = ""
- ZipInputStream(tempFile.inputStream()).use { zipIn ->
- var entry = zipIn.nextEntry
- if (entry != null) {
- val pathParts = entry.name.split("/")
- if (pathParts.isNotEmpty()) {
- rootDirName = pathParts[0]
- }
- }
- }
-
- println("Detected root directory in zip: $rootDirName")
-
- // Second pass: extract files, renaming from 'vlc-x.x.x' to 'lib'
- ZipInputStream(tempFile.inputStream()).use { zipIn ->
- var entry = zipIn.nextEntry
- while (entry != null) {
- // Skip the root directory entry itself
- if (entry.name != "$rootDirName/") {
- // Replace the root directory name with "lib"
- val relativePath =
- if (rootDirName.isNotEmpty()) {
- entry.name.substring(rootDirName.length + 1)
- } else {
- entry.name
- }
-
- val outputFile = File(libDir, relativePath)
-
- if (entry.isDirectory) {
- if (!outputFile.exists()) {
- outputFile.mkdirs()
- }
- } else {
- // Create parent directories if they don't exist
- outputFile.parentFile?.mkdirs()
-
- // Extract file
- outputFile.outputStream().use { output ->
- zipIn.copyTo(output)
- }
- }
- }
-
- zipIn.closeEntry()
- entry = zipIn.nextEntry
- }
- }
-
- println("Extraction complete")
- } catch (e: Exception) {
- println("Error during download or extraction: ${e.message}")
- e.printStackTrace()
- }
- }
-
- private fun downloadAndMountDmg(
- url: String,
- targetDir: File,
- downloadDir: File,
- ) {
- try {
- println("Downloading: $url")
- val tempFile = File(downloadDir, "vlc-download-${System.currentTimeMillis()}.dmg")
-
- // Use URI and HttpClient instead of deprecated URL constructor
- val client = HttpClient.newBuilder().build()
- val request =
- HttpRequest
- .newBuilder()
- .uri(URI.create(url))
- .GET()
- .build()
-
- client.send(request, HttpResponse.BodyHandlers.ofInputStream()).body().use { input ->
- Files.copy(input, tempFile.toPath(), StandardCopyOption.REPLACE_EXISTING)
- }
-
- println("Download complete, mounting DMG file...")
-
- // Mount DMG file
- val mountPoint = File(System.getProperty("java.io.tmpdir"), "vlc_mount")
- if (!mountPoint.exists()) {
- mountPoint.mkdirs()
- }
-
- val mountProcess =
- ProcessBuilder(
- "hdiutil",
- "attach",
- "-mountpoint",
- mountPoint.absolutePath,
- tempFile.absolutePath,
- ).start()
-
- val mountExitCode = mountProcess.waitFor()
- if (mountExitCode != 0) {
- throw RuntimeException("Failed to mount DMG file, exit code: $mountExitCode")
- }
-
- println("DMG mounted, copying content...")
-
- // Look for the MacOS directory containing the actual binaries
- val vlcApp = File(mountPoint, "VLC.app")
- val macOSDir = File(vlcApp, "Contents/MacOS")
-
- if (macOSDir.exists() && macOSDir.isDirectory) {
- // Copy all files from MacOS directory directly to targetDir
- println("Copying files from VLC.app/Contents/MacOS directly to target directory")
- macOSDir.listFiles()?.forEach { file ->
- val targetFile = File(targetDir, file.name)
- if (file.isDirectory) {
- copyDirectory(file, targetFile)
- } else {
- Files.copy(file.toPath(), targetFile.toPath(), StandardCopyOption.REPLACE_EXISTING)
- }
- }
- println("Files copied successfully")
- } else {
- println("VLC.app/Contents/MacOS not found in mounted DMG")
- }
-
- // Unmount DMG
- val unmountProcess =
- ProcessBuilder(
- "hdiutil",
- "detach",
- mountPoint.absolutePath,
- ).start()
-
- val unmountExitCode = unmountProcess.waitFor()
- if (unmountExitCode != 0) {
- println("Warning: Failed to unmount DMG, exit code: $unmountExitCode")
- }
-
- println("Processing complete")
- } catch (e: Exception) {
- println("Error during download or DMG processing: ${e.message}")
- e.printStackTrace()
- }
- }
-
- private fun copyDirectory(
- source: File,
- target: File,
- ) {
- if (!target.exists()) {
- target.mkdirs()
- }
-
- source.listFiles()?.forEach { file ->
- val targetFile = File(target, file.name)
- if (file.isDirectory) {
- copyDirectory(file, targetFile)
- } else {
- Files.copy(file.toPath(), targetFile.toPath(), StandardCopyOption.REPLACE_EXISTING)
- }
- }
- }
-}
-
-// Register task
-tasks.register("downloadVlc")
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index 9e1bc1c77..2a76ad89b 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -49,7 +49,6 @@ materialKolor = "2.1.1"
room = "2.7.0"
sqlite = "2.5.0"
compose-multiplatform = "1.7.3"
-mediamp = "0.0.25"
[libraries]
androidx-collection = { module = "androidx.collection:collection", version.ref = "collection" }
@@ -193,10 +192,6 @@ jSystemThemeDetector = { module = "com.github.Dansoftowner:jSystemThemeDetector"
jetbrains-navigation-compose = { module = "org.jetbrains.androidx.navigation:navigation-compose", version = "2.8.0-alpha10" }
-mediamp-vlc-loader = { module = "org.openani.mediamp:mediamp-vlc-loader", version.ref = "mediamp" }
-mediamp-vlc = { module = "org.openani.mediamp:mediamp-vlc", version.ref = "mediamp" }
-mediamp-vlc-compose = { module = "org.openani.mediamp:mediamp-vlc-compose", version.ref = "mediamp" }
-
[bundles]
compose = ["ui", "ui-util", "ui-graphics", "ui-tooling", "ui-tooling-preview", "material3", "material3WindowSizeClass", "material3-adaptive-navigation-suite", "material3-adaptive", "material3-adaptive-navigation", "material3-adaptive-layout"]
navigation = ["navigation-compose"]
@@ -210,7 +205,6 @@ compose-destinations = ["compose-destinations", "material3-navigation"]
media3 = ["media3-exoplayer", "media3-ui", "media3-hls"]
firebase = ["firebase-analytics-ktx", "firebase-crashlytics-ktx"]
ktorfit = ["ktorfit-lib", "ktorfit-converters-response", "ktorfit-converters-flow", "ktorfit-converters-call"]
-mediamp = ["mediamp-vlc-loader", "mediamp-vlc", "mediamp-vlc-compose"]
[plugins]
android-application = { id = "com.android.application", version.ref = "agp" }
diff --git a/shared/ui/component/build.gradle.kts b/shared/ui/component/build.gradle.kts
index f5fee7a02..83f6cb8a2 100644
--- a/shared/ui/component/build.gradle.kts
+++ b/shared/ui/component/build.gradle.kts
@@ -55,7 +55,7 @@ kotlin {
implementation(libs.fluent.ui)
implementation(libs.koin.compose)
implementation(compose("org.jetbrains.compose.material3:material3-window-size-class"))
- api(libs.bundles.mediamp)
+ implementation("io.github.kdroidfilter:composemediaplayer:0.6.4")
implementation(libs.androidx.collection)
}
}
diff --git a/shared/ui/component/src/androidMain/kotlin/dev/dimension/flare/ui/component/VideoPlayer.kt b/shared/ui/component/src/androidMain/kotlin/dev/dimension/flare/ui/component/VideoPlayer.kt
index 8102840ed..d4d97ea41 100644
--- a/shared/ui/component/src/androidMain/kotlin/dev/dimension/flare/ui/component/VideoPlayer.kt
+++ b/shared/ui/component/src/androidMain/kotlin/dev/dimension/flare/ui/component/VideoPlayer.kt
@@ -118,7 +118,7 @@ public fun VideoPlayer(
delay(500)
}
}
- DisposableEffect(Unit) {
+ DisposableEffect(uri) {
onDispose {
playerPool.release(uri)
}
diff --git a/shared/ui/component/src/androidMain/kotlin/dev/dimension/flare/ui/component/platform/PlatformVideoPlayer.android.kt b/shared/ui/component/src/androidMain/kotlin/dev/dimension/flare/ui/component/platform/PlatformVideoPlayer.android.kt
index e6ff89dab..05cf1f499 100644
--- a/shared/ui/component/src/androidMain/kotlin/dev/dimension/flare/ui/component/platform/PlatformVideoPlayer.android.kt
+++ b/shared/ui/component/src/androidMain/kotlin/dev/dimension/flare/ui/component/platform/PlatformVideoPlayer.android.kt
@@ -21,6 +21,7 @@ internal actual fun PlatformVideoPlayer(
onLongClick: (() -> Unit)?,
autoPlay: Boolean,
remainingTimeContent: @Composable (BoxScope.(Long) -> Unit)?,
+ errorContent: @Composable BoxScope.() -> Unit,
loadingPlaceholder: @Composable BoxScope.() -> Unit,
) {
VideoPlayer(
diff --git a/shared/ui/component/src/commonMain/kotlin/dev/dimension/flare/ui/component/platform/PlatformVideoPlayer.kt b/shared/ui/component/src/commonMain/kotlin/dev/dimension/flare/ui/component/platform/PlatformVideoPlayer.kt
index 6e17ba0a6..76c78331b 100644
--- a/shared/ui/component/src/commonMain/kotlin/dev/dimension/flare/ui/component/platform/PlatformVideoPlayer.kt
+++ b/shared/ui/component/src/commonMain/kotlin/dev/dimension/flare/ui/component/platform/PlatformVideoPlayer.kt
@@ -9,6 +9,10 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.layout.ContentScale
+import compose.icons.FontAwesomeIcons
+import compose.icons.fontawesomeicons.Solid
+import compose.icons.fontawesomeicons.solid.FaceFrown
+import dev.dimension.flare.ui.component.FAIcon
import dev.dimension.flare.ui.component.NetworkImage
@Composable
@@ -26,6 +30,21 @@ internal expect fun PlatformVideoPlayer(
onLongClick: (() -> Unit)? = null,
autoPlay: Boolean = true,
remainingTimeContent: @Composable (BoxScope.(Long) -> Unit)? = null,
+ errorContent: @Composable BoxScope.() -> Unit = {
+ if (previewUri != null) {
+ Box(
+ modifier =
+ Modifier
+ .fillMaxSize(),
+ contentAlignment = Alignment.Center,
+ ) {
+ FAIcon(
+ FontAwesomeIcons.Solid.FaceFrown,
+ contentDescription = null,
+ )
+ }
+ }
+ },
loadingPlaceholder: @Composable BoxScope.() -> Unit = {
if (previewUri != null) {
Box(
diff --git a/shared/ui/component/src/commonMain/kotlin/dev/dimension/flare/ui/component/status/StatusMediaComponent.kt b/shared/ui/component/src/commonMain/kotlin/dev/dimension/flare/ui/component/status/StatusMediaComponent.kt
index a47fe63b2..07e5ca2b1 100644
--- a/shared/ui/component/src/commonMain/kotlin/dev/dimension/flare/ui/component/status/StatusMediaComponent.kt
+++ b/shared/ui/component/src/commonMain/kotlin/dev/dimension/flare/ui/component/status/StatusMediaComponent.kt
@@ -27,6 +27,7 @@ import androidx.compose.ui.platform.LocalUriHandler
import androidx.compose.ui.unit.dp
import compose.icons.FontAwesomeIcons
import compose.icons.fontawesomeicons.Solid
+import compose.icons.fontawesomeicons.solid.CircleExclamation
import compose.icons.fontawesomeicons.solid.CirclePlay
import compose.icons.fontawesomeicons.solid.EyeSlash
import dev.dimension.flare.common.AppDeepLink
@@ -290,6 +291,38 @@ public fun MediaItem(
color = Color.White,
)
},
+ errorContent = {
+ Box(
+ modifier =
+ Modifier
+ .fillMaxSize(),
+ contentAlignment = Alignment.Center,
+ ) {
+ NetworkImage(
+ contentScale = contentScale,
+ model = media.thumbnailUrl,
+ contentDescription = media.description,
+ modifier =
+ Modifier
+ .fillMaxSize(),
+ )
+ }
+ FAIcon(
+ FontAwesomeIcons.Solid.CircleExclamation,
+ modifier =
+ Modifier
+ .padding(16.dp)
+ .align(Alignment.BottomStart)
+ .background(
+ color = Color.Black.copy(alpha = 0.75f),
+ shape = PlatformTheme.shapes.medium,
+ ).padding(
+ 8.dp,
+ ),
+ tint = Color.White,
+ contentDescription = null,
+ )
+ },
remainingTimeContent =
if (showCountdown) {
{
diff --git a/shared/ui/component/src/jvmMain/kotlin/dev/dimension/flare/ui/component/platform/PlatformVideoPlayer.jvm.kt b/shared/ui/component/src/jvmMain/kotlin/dev/dimension/flare/ui/component/platform/PlatformVideoPlayer.jvm.kt
index 694ddb217..87b77daa5 100644
--- a/shared/ui/component/src/jvmMain/kotlin/dev/dimension/flare/ui/component/platform/PlatformVideoPlayer.jvm.kt
+++ b/shared/ui/component/src/jvmMain/kotlin/dev/dimension/flare/ui/component/platform/PlatformVideoPlayer.jvm.kt
@@ -11,10 +11,10 @@ import androidx.compose.foundation.layout.wrapContentSize
import androidx.compose.runtime.Composable
import androidx.compose.runtime.DisposableEffect
import androidx.compose.runtime.LaunchedEffect
-import androidx.compose.runtime.collectAsState
-import androidx.compose.runtime.derivedStateOf
import androidx.compose.runtime.getValue
+import androidx.compose.runtime.mutableLongStateOf
import androidx.compose.runtime.remember
+import androidx.compose.runtime.setValue
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clipToBounds
import androidx.compose.ui.geometry.Size
@@ -23,21 +23,14 @@ import androidx.compose.ui.layout.layout
import androidx.compose.ui.platform.LocalDensity
import androidx.compose.ui.unit.Density
import androidx.compose.ui.unit.Dp
-import kotlinx.coroutines.CoroutineScope
-import kotlinx.coroutines.launch
-import org.openani.mediamp.InternalMediampApi
-import org.openani.mediamp.PlaybackState
-import org.openani.mediamp.features.AudioLevelController
-import org.openani.mediamp.playUri
-import org.openani.mediamp.vlc.VlcMediampPlayer
-import org.openani.mediamp.vlc.compose.VlcMediampPlayerSurface
+import io.github.kdroidfilter.composemediaplayer.VideoPlayerState
+import io.github.kdroidfilter.composemediaplayer.VideoPlayerSurface
+import kotlinx.coroutines.delay
import kotlin.concurrent.timer
-import kotlin.coroutines.CoroutineContext
-import kotlin.coroutines.EmptyCoroutineContext
import kotlin.math.roundToInt
import kotlin.time.Duration.Companion.minutes
-@OptIn(ExperimentalFoundationApi::class, InternalMediampApi::class)
+@OptIn(ExperimentalFoundationApi::class)
@Composable
internal actual fun PlatformVideoPlayer(
uri: String,
@@ -53,6 +46,7 @@ internal actual fun PlatformVideoPlayer(
onLongClick: (() -> Unit)?,
autoPlay: Boolean,
remainingTimeContent: @Composable (BoxScope.(Long) -> Unit)?,
+ errorContent: @Composable BoxScope.() -> Unit,
loadingPlaceholder: @Composable BoxScope.() -> Unit,
) {
val playerPool: VideoPlayerPool = org.koin.compose.koinInject()
@@ -60,54 +54,49 @@ internal actual fun PlatformVideoPlayer(
remember(uri) {
playerPool
.get(uri)
+ .apply {
+ if (autoPlay) {
+ play()
+ }
+ volume = if (muted) 0f else 1f
+ }
}
- val state by player.playbackState.collectAsState()
- LaunchedEffect(state) {
- if (state in listOf(PlaybackState.READY, PlaybackState.PAUSED) && autoPlay) {
- player.features[AudioLevelController.Key]?.setMute(muted)
- player.resume()
- }
- }
- LaunchedEffect(muted) {
- player.features[AudioLevelController.Key]?.setMute(muted)
- }
- DisposableEffect(Unit) {
+ DisposableEffect(uri) {
onDispose {
playerPool.release(uri)
}
}
- val properties by player.mediaProperties.collectAsState()
- val position by player.currentPositionMillis.collectAsState()
+ var remainingTime by remember { mutableLongStateOf(0L) }
val density = LocalDensity.current
val size =
- remember(state) {
- val dimension = player.player.video().videoDimension()
- if (dimension != null) {
+ remember(player.metadata) {
+ val height = player.metadata.height
+ val width = player.metadata.width
+ if (height != null && width != null) {
with(density) {
Size(
- width = dimension.width.toFloat(),
- height = dimension.height.toFloat(),
+ width = width.toFloat(),
+ height = height.toFloat(),
)
}
} else {
null
}
}
- val remainingTime by remember {
- derivedStateOf {
- properties?.durationMillis?.let { duration ->
- if (duration > 0) {
- duration - position
- } else {
- 0
- }
- } ?: 0
+ LaunchedEffect(player) {
+ while (true) {
+ val duration = player.metadata.duration
+ if (remainingTimeContent != null && duration != null) {
+ val position = player.sliderPos / 1000f
+ remainingTime = (duration * 1000 * (1f - position)).toLong()
+ }
+ delay(500)
}
}
Box(modifier) {
- VlcMediampPlayerSurface(
- mediampPlayer = player,
+ VideoPlayerSurface(
+ playerState = player,
modifier =
Modifier
.clipToBounds()
@@ -133,7 +122,9 @@ internal actual fun PlatformVideoPlayer(
}
}.matchParentSize(),
)
- if (state != PlaybackState.PLAYING || position <= 0) {
+ if (player.error != null) {
+ errorContent.invoke(this)
+ } else if (player.isLoading) {
loadingPlaceholder()
} else {
remainingTimeContent?.invoke(this, remainingTime)
@@ -173,28 +164,23 @@ private fun Modifier.resizeWithContentScale(
),
)
-public class VideoPlayerPool(
- private val scope: CoroutineScope,
- private val context: CoroutineContext = EmptyCoroutineContext,
-) {
- private val positionPool = mutableMapOf()
+public class VideoPlayerPool {
+ private val positionPool = mutableMapOf()
private val lockCount = linkedMapOf()
private val pool =
- lruCache(
+ lruCache(
maxSize = 10,
create = { uri ->
- VlcMediampPlayer(context)
+ VideoPlayerState()
.apply {
- player.controls().repeat = true
- scope.launch {
- playUri(uri)
- }
+ loop = true
+ openUri(uri)
}
},
onEntryRemoved = { evicted, key, oldValue, newValue ->
if (evicted) {
- positionPool.put(key, oldValue.getCurrentPositionMillis())
- oldValue.close()
+ positionPool.put(key, oldValue.sliderPos)
+ oldValue.dispose()
} else if (newValue != null) {
val position = positionPool.get(key)
if (position != null) {
@@ -209,14 +195,14 @@ public class VideoPlayerPool(
timer(period = 1.minutes.inWholeMilliseconds) {
pool.snapshot().forEach { (uri, _) ->
if (lockCount.getOrElse(uri) { 0 } == 0L) {
- pool.remove(uri)?.close()
+ pool.remove(uri)?.dispose()
}
}
}
- public fun peek(uri: String): VlcMediampPlayer? = pool.get(uri)
+ public fun peek(uri: String): VideoPlayerState? = pool.get(uri)
- public fun get(uri: String): VlcMediampPlayer {
+ public fun get(uri: String): VideoPlayerState {
lock(uri)
return pool.get(uri)!!
}