mirror of
https://github.com/bitsocialnet/5chan.git
synced 2026-08-03 07:41:04 +02:00
Merge branch 'codex/fix/latest-update-feedback'
This commit is contained in:
@@ -379,5 +379,6 @@
|
||||
"p2p_stats_updated": "Updated",
|
||||
"p2p_stats_starting": "P2P stats appear after the P2P client starts.",
|
||||
"pass_question_governance": "هل سيتحكم 5chan Pass في إدارة الدليل؟",
|
||||
"pass_answer_governance": "لا. التوجه الحالي هو أن حاملي 5chan Pass يمكنهم المشاركة في التصويت على الدليل، لكن آليات الحوكمة النهائية يجب أن تتضمن مواءمة BSO-holder وضمانات بدلاً من منح حاملي pass وحدهم السيطرة النهائية."
|
||||
"pass_answer_governance": "لا. التوجه الحالي هو أن حاملي 5chan Pass يمكنهم المشاركة في التصويت على الدليل، لكن آليات الحوكمة النهائية يجب أن تتضمن مواءمة BSO-holder وضمانات بدلاً من منح حاملي pass وحدهم السيطرة النهائية.",
|
||||
"app_is_up_to_date": "أنت على أحدث إصدار"
|
||||
}
|
||||
|
||||
@@ -379,5 +379,6 @@
|
||||
"p2p_stats_updated": "Updated",
|
||||
"p2p_stats_starting": "P2P stats appear after the P2P client starts.",
|
||||
"pass_question_governance": "5chan Pass কি ডিরেক্টরি শাসন নিয়ন্ত্রণ করবে?",
|
||||
"pass_answer_governance": "না। বর্তমান দিকনির্দেশনা হলো 5chan Pass ধারকেরা ডিরেক্টরি ভোটিংয়ে অংশ নিতে পারবেন, তবে চূড়ান্ত শাসনব্যবস্থায় শুধু pass-ধারীদের চূড়ান্ত নিয়ন্ত্রণের বদলে BSO-holder alignment এবং সুরক্ষা ব্যবস্থা থাকতে হবে।"
|
||||
"pass_answer_governance": "না। বর্তমান দিকনির্দেশনা হলো 5chan Pass ধারকেরা ডিরেক্টরি ভোটিংয়ে অংশ নিতে পারবেন, তবে চূড়ান্ত শাসনব্যবস্থায় শুধু pass-ধারীদের চূড়ান্ত নিয়ন্ত্রণের বদলে BSO-holder alignment এবং সুরক্ষা ব্যবস্থা থাকতে হবে।",
|
||||
"app_is_up_to_date": "আপনি সর্বশেষ সংস্করণে আছেন"
|
||||
}
|
||||
|
||||
@@ -379,5 +379,6 @@
|
||||
"p2p_stats_updated": "Updated",
|
||||
"p2p_stats_starting": "P2P stats appear after the P2P client starts.",
|
||||
"pass_question_governance": "Bude 5chan Pass řídit správu adresáře?",
|
||||
"pass_answer_governance": "Ne. Současný směr je takový, že držitelé 5chan Pass se mohou účastnit hlasování o adresáři, ale konečné mechanismy správy by měly zahrnovat sladění s BSO-holder a ochranné prvky namísto toho, aby konečnou kontrolu měli pouze držitelé passu."
|
||||
"pass_answer_governance": "Ne. Současný směr je takový, že držitelé 5chan Pass se mohou účastnit hlasování o adresáři, ale konečné mechanismy správy by měly zahrnovat sladění s BSO-holder a ochranné prvky namísto toho, aby konečnou kontrolu měli pouze držitelé passu.",
|
||||
"app_is_up_to_date": "máte nejnovější verzi"
|
||||
}
|
||||
|
||||
@@ -379,5 +379,6 @@
|
||||
"p2p_stats_updated": "Updated",
|
||||
"p2p_stats_starting": "P2P stats appear after the P2P client starts.",
|
||||
"pass_question_governance": "Vil 5chan Pass kontrollere katalogets styring?",
|
||||
"pass_answer_governance": "Nej. Den nuværende retning er, at indehavere af 5chan Pass kan deltage i afstemning om kataloget, men de endelige styringsmekanismer bør omfatte BSO-holder-tilpasning og sikkerhedsforanstaltninger i stedet for, at pass-indehavere alene har den endelige kontrol."
|
||||
"pass_answer_governance": "Nej. Den nuværende retning er, at indehavere af 5chan Pass kan deltage i afstemning om kataloget, men de endelige styringsmekanismer bør omfatte BSO-holder-tilpasning og sikkerhedsforanstaltninger i stedet for, at pass-indehavere alene har den endelige kontrol.",
|
||||
"app_is_up_to_date": "du har den nyeste version"
|
||||
}
|
||||
|
||||
@@ -379,5 +379,6 @@
|
||||
"p2p_stats_updated": "Updated",
|
||||
"p2p_stats_starting": "P2P stats appear after the P2P client starts.",
|
||||
"pass_question_governance": "Wird 5chan Pass die Verzeichnis-Governance steuern?",
|
||||
"pass_answer_governance": "Nein. Die aktuelle Richtung ist, dass Inhaber von 5chan Pass an Verzeichnisabstimmungen teilnehmen können, aber die endgültigen Governance-Mechanismen sollten eine Ausrichtung auf BSO-holder und Schutzmechanismen enthalten, statt den Inhabern des Passes allein die endgültige Kontrolle zu geben."
|
||||
"pass_answer_governance": "Nein. Die aktuelle Richtung ist, dass Inhaber von 5chan Pass an Verzeichnisabstimmungen teilnehmen können, aber die endgültigen Governance-Mechanismen sollten eine Ausrichtung auf BSO-holder und Schutzmechanismen enthalten, statt den Inhabern des Passes allein die endgültige Kontrolle zu geben.",
|
||||
"app_is_up_to_date": "du hast die neueste Version"
|
||||
}
|
||||
|
||||
@@ -379,5 +379,6 @@
|
||||
"p2p_stats_updated": "Updated",
|
||||
"p2p_stats_starting": "P2P stats appear after the P2P client starts.",
|
||||
"pass_question_governance": "Θα ελέγχει το 5chan Pass τη διακυβέρνηση του καταλόγου;",
|
||||
"pass_answer_governance": "Όχι. Η τρέχουσα κατεύθυνση είναι ότι οι κάτοχοι του 5chan Pass μπορούν να συμμετέχουν στην ψηφοφορία καταλόγου, αλλά οι τελικοί μηχανισμοί διακυβέρνησης θα πρέπει να περιλαμβάνουν ευθυγράμμιση με τους BSO-holder και δικλίδες ασφαλείας αντί για τελικό έλεγχο μόνο από κατόχους pass."
|
||||
"pass_answer_governance": "Όχι. Η τρέχουσα κατεύθυνση είναι ότι οι κάτοχοι του 5chan Pass μπορούν να συμμετέχουν στην ψηφοφορία καταλόγου, αλλά οι τελικοί μηχανισμοί διακυβέρνησης θα πρέπει να περιλαμβάνουν ευθυγράμμιση με τους BSO-holder και δικλίδες ασφαλείας αντί για τελικό έλεγχο μόνο από κατόχους pass.",
|
||||
"app_is_up_to_date": "έχετε την πιο πρόσφατη έκδοση"
|
||||
}
|
||||
|
||||
@@ -379,5 +379,6 @@
|
||||
"p2p_stats_updated": "Updated",
|
||||
"p2p_stats_starting": "P2P stats appear after the P2P client starts.",
|
||||
"pass_question_governance": "Will 5chan Pass control directory governance?",
|
||||
"pass_answer_governance": "No. The current direction is that 5chan Pass holders can participate in directory voting, but final governance mechanics should include BSO-holder alignment and safeguards instead of pass-only final control."
|
||||
"pass_answer_governance": "No. The current direction is that 5chan Pass holders can participate in directory voting, but final governance mechanics should include BSO-holder alignment and safeguards instead of pass-only final control.",
|
||||
"app_is_up_to_date": "you're on latest"
|
||||
}
|
||||
|
||||
@@ -379,5 +379,6 @@
|
||||
"p2p_stats_updated": "Updated",
|
||||
"p2p_stats_starting": "P2P stats appear after the P2P client starts.",
|
||||
"pass_question_governance": "¿Controlará 5chan Pass la gobernanza del directorio?",
|
||||
"pass_answer_governance": "No. La dirección actual es que los titulares de 5chan Pass puedan participar en la votación del directorio, pero los mecanismos finales de gobernanza deben incluir alineación con BSO-holder y salvaguardas en lugar de un control final exclusivo de los titulares del pass."
|
||||
"pass_answer_governance": "No. La dirección actual es que los titulares de 5chan Pass puedan participar en la votación del directorio, pero los mecanismos finales de gobernanza deben incluir alineación con BSO-holder y salvaguardas en lugar de un control final exclusivo de los titulares del pass.",
|
||||
"app_is_up_to_date": "ya tienes la última versión"
|
||||
}
|
||||
|
||||
@@ -379,5 +379,6 @@
|
||||
"p2p_stats_updated": "Updated",
|
||||
"p2p_stats_starting": "P2P stats appear after the P2P client starts.",
|
||||
"pass_question_governance": "آیا 5chan Pass کنترل حاکمیت دایرکتوری را در دست خواهد گرفت؟",
|
||||
"pass_answer_governance": "خیر. جهتگیری فعلی این است که دارندگان 5chan Pass بتوانند در رأیگیری دایرکتوری شرکت کنند، اما سازوکارهای نهایی حاکمیتی باید بهجای کنترل نهایی فقط توسط دارندگان pass، شامل همراستایی با BSO-holder و سازوکارهای حفاظتی باشند."
|
||||
"pass_answer_governance": "خیر. جهتگیری فعلی این است که دارندگان 5chan Pass بتوانند در رأیگیری دایرکتوری شرکت کنند، اما سازوکارهای نهایی حاکمیتی باید بهجای کنترل نهایی فقط توسط دارندگان pass، شامل همراستایی با BSO-holder و سازوکارهای حفاظتی باشند.",
|
||||
"app_is_up_to_date": "شما از آخرین نسخه استفاده میکنید"
|
||||
}
|
||||
|
||||
@@ -379,5 +379,6 @@
|
||||
"p2p_stats_updated": "Updated",
|
||||
"p2p_stats_starting": "P2P stats appear after the P2P client starts.",
|
||||
"pass_question_governance": "Hallitseeko 5chan Pass hakemiston hallintoa?",
|
||||
"pass_answer_governance": "Ei. Nykyinen suunta on, että 5chan Passin haltijat voivat osallistua hakemistoäänestykseen, mutta lopullisten hallintamekanismien tulisi sisältää BSO-holder-linjaus ja suojatoimet sen sijaan, että lopullinen valta olisi vain passin haltijoilla."
|
||||
"pass_answer_governance": "Ei. Nykyinen suunta on, että 5chan Passin haltijat voivat osallistua hakemistoäänestykseen, mutta lopullisten hallintamekanismien tulisi sisältää BSO-holder-linjaus ja suojatoimet sen sijaan, että lopullinen valta olisi vain passin haltijoilla.",
|
||||
"app_is_up_to_date": "käytössä on uusin versio"
|
||||
}
|
||||
|
||||
@@ -379,5 +379,6 @@
|
||||
"p2p_stats_updated": "Updated",
|
||||
"p2p_stats_starting": "P2P stats appear after the P2P client starts.",
|
||||
"pass_question_governance": "Kokontrolin ba ng 5chan Pass ang pamamahala ng directory?",
|
||||
"pass_answer_governance": "Hindi. Ang kasalukuyang direksyon ay ang mga may hawak ng 5chan Pass ay maaaring lumahok sa pagboto sa directory, pero ang pinal na mekanika ng governance ay dapat may kasamang BSO-holder alignment at mga safeguard sa halip na pass-only na pinal na kontrol."
|
||||
"pass_answer_governance": "Hindi. Ang kasalukuyang direksyon ay ang mga may hawak ng 5chan Pass ay maaaring lumahok sa pagboto sa directory, pero ang pinal na mekanika ng governance ay dapat may kasamang BSO-holder alignment at mga safeguard sa halip na pass-only na pinal na kontrol.",
|
||||
"app_is_up_to_date": "pinakabagong bersyon ang gamit mo"
|
||||
}
|
||||
|
||||
@@ -379,5 +379,6 @@
|
||||
"p2p_stats_updated": "Updated",
|
||||
"p2p_stats_starting": "P2P stats appear after the P2P client starts.",
|
||||
"pass_question_governance": "5chan Pass contrôlera-t-il la gouvernance de l'annuaire ?",
|
||||
"pass_answer_governance": "Non. L’orientation actuelle est que les détenteurs de 5chan Pass peuvent participer au vote du répertoire, mais les mécanismes finaux de gouvernance devraient inclure un alignement avec les BSO-holder et des garde-fous au lieu d’un contrôle final réservé aux seuls détenteurs du pass."
|
||||
"pass_answer_governance": "Non. L’orientation actuelle est que les détenteurs de 5chan Pass peuvent participer au vote du répertoire, mais les mécanismes finaux de gouvernance devraient inclure un alignement avec les BSO-holder et des garde-fous au lieu d’un contrôle final réservé aux seuls détenteurs du pass.",
|
||||
"app_is_up_to_date": "vous avez la dernière version"
|
||||
}
|
||||
|
||||
@@ -379,5 +379,6 @@
|
||||
"p2p_stats_updated": "Updated",
|
||||
"p2p_stats_starting": "P2P stats appear after the P2P client starts.",
|
||||
"pass_question_governance": "האם 5chan Pass ישלוט בניהול הספרייה?",
|
||||
"pass_answer_governance": "לא. הכיוון הנוכחי הוא שמחזיקי 5chan Pass יוכלו להשתתף בהצבעה על הספרייה, אבל מנגנוני הממשל הסופיים צריכים לכלול יישור עם BSO-holder ואמצעי הגנה במקום שליטה סופית של מחזיקי pass בלבד."
|
||||
"pass_answer_governance": "לא. הכיוון הנוכחי הוא שמחזיקי 5chan Pass יוכלו להשתתף בהצבעה על הספרייה, אבל מנגנוני הממשל הסופיים צריכים לכלול יישור עם BSO-holder ואמצעי הגנה במקום שליטה סופית של מחזיקי pass בלבד.",
|
||||
"app_is_up_to_date": "זו הגרסה העדכנית ביותר"
|
||||
}
|
||||
|
||||
@@ -379,5 +379,6 @@
|
||||
"p2p_stats_updated": "Updated",
|
||||
"p2p_stats_starting": "P2P stats appear after the P2P client starts.",
|
||||
"pass_question_governance": "क्या 5chan Pass डायरेक्टरी गवर्नेंस को नियंत्रित करेगा?",
|
||||
"pass_answer_governance": "नहीं। वर्तमान दिशा यह है कि 5chan Pass धारक directory voting में भाग ले सकें, लेकिन अंतिम governance mechanisms में केवल pass धारकों के अंतिम नियंत्रण के बजाय BSO-holder alignment और safeguards शामिल होने चाहिए।"
|
||||
"pass_answer_governance": "नहीं। वर्तमान दिशा यह है कि 5chan Pass धारक directory voting में भाग ले सकें, लेकिन अंतिम governance mechanisms में केवल pass धारकों के अंतिम नियंत्रण के बजाय BSO-holder alignment और safeguards शामिल होने चाहिए।",
|
||||
"app_is_up_to_date": "आप नवीनतम संस्करण पर हैं"
|
||||
}
|
||||
|
||||
@@ -379,5 +379,6 @@
|
||||
"p2p_stats_updated": "Updated",
|
||||
"p2p_stats_starting": "P2P stats appear after the P2P client starts.",
|
||||
"pass_question_governance": "A 5chan Pass fogja irányítani a címtár felügyeletét?",
|
||||
"pass_answer_governance": "Nem. A jelenlegi irány az, hogy az 5chan Pass tulajdonosai részt vehetnek a könyvtárszavazásban, de a végleges irányítási mechanizmusoknak BSO-holder igazodást és védőkorlátokat kell tartalmazniuk a kizárólag pass-tulajdonosi végső kontroll helyett."
|
||||
"pass_answer_governance": "Nem. A jelenlegi irány az, hogy az 5chan Pass tulajdonosai részt vehetnek a könyvtárszavazásban, de a végleges irányítási mechanizmusoknak BSO-holder igazodást és védőkorlátokat kell tartalmazniuk a kizárólag pass-tulajdonosi végső kontroll helyett.",
|
||||
"app_is_up_to_date": "a legújabb verziót használod"
|
||||
}
|
||||
|
||||
@@ -379,5 +379,6 @@
|
||||
"p2p_stats_updated": "Updated",
|
||||
"p2p_stats_starting": "P2P stats appear after the P2P client starts.",
|
||||
"pass_question_governance": "Apakah 5chan Pass akan mengendalikan tata kelola direktori?",
|
||||
"pass_answer_governance": "Tidak. Arah saat ini adalah bahwa pemegang 5chan Pass dapat berpartisipasi dalam pemungutan suara direktori, tetapi mekanisme tata kelola final harus mencakup penyelarasan BSO-holder dan perlindungan, bukan kontrol final yang hanya dipegang pemilik pass."
|
||||
"pass_answer_governance": "Tidak. Arah saat ini adalah bahwa pemegang 5chan Pass dapat berpartisipasi dalam pemungutan suara direktori, tetapi mekanisme tata kelola final harus mencakup penyelarasan BSO-holder dan perlindungan, bukan kontrol final yang hanya dipegang pemilik pass.",
|
||||
"app_is_up_to_date": "Anda sudah di versi terbaru"
|
||||
}
|
||||
|
||||
@@ -379,5 +379,6 @@
|
||||
"p2p_stats_updated": "Updated",
|
||||
"p2p_stats_starting": "P2P stats appear after the P2P client starts.",
|
||||
"pass_question_governance": "5chan Pass controllerà la governance della directory?",
|
||||
"pass_answer_governance": "No. L'attuale direzione è che i titolari di 5chan Pass possano partecipare al voto della directory, ma i meccanismi finali di governance dovrebbero includere allineamento con i BSO-holder e salvaguardie invece di un controllo finale riservato solo ai titolari del pass."
|
||||
"pass_answer_governance": "No. L'attuale direzione è che i titolari di 5chan Pass possano partecipare al voto della directory, ma i meccanismi finali di governance dovrebbero includere allineamento con i BSO-holder e salvaguardie invece di un controllo finale riservato solo ai titolari del pass.",
|
||||
"app_is_up_to_date": "hai l'ultima versione"
|
||||
}
|
||||
|
||||
@@ -379,5 +379,6 @@
|
||||
"p2p_stats_updated": "Updated",
|
||||
"p2p_stats_starting": "P2P stats appear after the P2P client starts.",
|
||||
"pass_question_governance": "5chan Pass はディレクトリのガバナンスを管理しますか?",
|
||||
"pass_answer_governance": "いいえ。現在の方針では、5chan Pass保有者はディレクトリ投票に参加できますが、最終的なガバナンスの仕組みには、pass保有者だけの最終支配ではなく、BSO-holderとの整合性とセーフガードを含めるべきです。"
|
||||
"pass_answer_governance": "いいえ。現在の方針では、5chan Pass保有者はディレクトリ投票に参加できますが、最終的なガバナンスの仕組みには、pass保有者だけの最終支配ではなく、BSO-holderとの整合性とセーフガードを含めるべきです。",
|
||||
"app_is_up_to_date": "最新バージョンです"
|
||||
}
|
||||
|
||||
@@ -379,5 +379,6 @@
|
||||
"p2p_stats_updated": "Updated",
|
||||
"p2p_stats_starting": "P2P stats appear after the P2P client starts.",
|
||||
"pass_question_governance": "5chan Pass가 디렉터리 거버넌스를 통제하나요?",
|
||||
"pass_answer_governance": "아니요. 현재 방향은 5chan Pass 보유자가 디렉터리 투표에 참여할 수 있도록 하는 것이지만, 최종 거버넌스 메커니즘에는 pass 보유자만의 최종 통제 대신 BSO-holder 정렬과 안전장치가 포함되어야 합니다."
|
||||
"pass_answer_governance": "아니요. 현재 방향은 5chan Pass 보유자가 디렉터리 투표에 참여할 수 있도록 하는 것이지만, 최종 거버넌스 메커니즘에는 pass 보유자만의 최종 통제 대신 BSO-holder 정렬과 안전장치가 포함되어야 합니다.",
|
||||
"app_is_up_to_date": "최신 버전입니다"
|
||||
}
|
||||
|
||||
@@ -379,5 +379,6 @@
|
||||
"p2p_stats_updated": "Updated",
|
||||
"p2p_stats_starting": "P2P stats appear after the P2P client starts.",
|
||||
"pass_question_governance": "5chan Pass निर्देशिका प्रशासन नियंत्रित करेल का?",
|
||||
"pass_answer_governance": "नाही. सध्याची दिशा अशी आहे की 5chan Pass धारक directory voting मध्ये सहभागी होऊ शकतात, पण अंतिम governance mechanics मध्ये pass-only final control ऐवजी BSO-holder alignment आणि safeguards समाविष्ट असले पाहिजेत."
|
||||
"pass_answer_governance": "नाही. सध्याची दिशा अशी आहे की 5chan Pass धारक directory voting मध्ये सहभागी होऊ शकतात, पण अंतिम governance mechanics मध्ये pass-only final control ऐवजी BSO-holder alignment आणि safeguards समाविष्ट असले पाहिजेत.",
|
||||
"app_is_up_to_date": "तुम्ही नवीनतम आवृत्तीवर आहात"
|
||||
}
|
||||
|
||||
@@ -379,5 +379,6 @@
|
||||
"p2p_stats_updated": "Updated",
|
||||
"p2p_stats_starting": "P2P stats appear after the P2P client starts.",
|
||||
"pass_question_governance": "Zal 5chan Pass het beheer van de directory bepalen?",
|
||||
"pass_answer_governance": "Nee. De huidige richting is dat houders van 5chan Pass kunnen deelnemen aan directory voting, maar de uiteindelijke governance-mechanismen moeten BSO-holder-afstemming en waarborgen bevatten in plaats van pass-only definitieve controle."
|
||||
"pass_answer_governance": "Nee. De huidige richting is dat houders van 5chan Pass kunnen deelnemen aan directory voting, maar de uiteindelijke governance-mechanismen moeten BSO-holder-afstemming en waarborgen bevatten in plaats van pass-only definitieve controle.",
|
||||
"app_is_up_to_date": "je hebt de nieuwste versie"
|
||||
}
|
||||
|
||||
@@ -379,5 +379,6 @@
|
||||
"p2p_stats_updated": "Updated",
|
||||
"p2p_stats_starting": "P2P stats appear after the P2P client starts.",
|
||||
"pass_question_governance": "Vil 5chan Pass styre katalogstyringen?",
|
||||
"pass_answer_governance": "Nei. Den nåværende retningen er at innehavere av 5chan Pass kan delta i katalogavstemning, men de endelige styringsmekanismene bør inkludere BSO-holder-tilpasning og sikkerhetstiltak i stedet for at passinnehavere alene har endelig kontroll."
|
||||
"pass_answer_governance": "Nei. Den nåværende retningen er at innehavere av 5chan Pass kan delta i katalogavstemning, men de endelige styringsmekanismene bør inkludere BSO-holder-tilpasning og sikkerhetstiltak i stedet for at passinnehavere alene har endelig kontroll.",
|
||||
"app_is_up_to_date": "du har den nyeste versjonen"
|
||||
}
|
||||
|
||||
@@ -379,5 +379,6 @@
|
||||
"p2p_stats_updated": "Updated",
|
||||
"p2p_stats_starting": "P2P stats appear after the P2P client starts.",
|
||||
"pass_question_governance": "Czy 5chan Pass będzie kontrolować zarządzanie katalogiem?",
|
||||
"pass_answer_governance": "Nie. Obecny kierunek jest taki, że posiadacze 5chan Pass mogą uczestniczyć w głosowaniu katalogowym, ale ostateczne mechanizmy zarządzania powinny obejmować zgodność z BSO-holder i zabezpieczenia zamiast wyłącznej ostatecznej kontroli posiadaczy passa."
|
||||
"pass_answer_governance": "Nie. Obecny kierunek jest taki, że posiadacze 5chan Pass mogą uczestniczyć w głosowaniu katalogowym, ale ostateczne mechanizmy zarządzania powinny obejmować zgodność z BSO-holder i zabezpieczenia zamiast wyłącznej ostatecznej kontroli posiadaczy passa.",
|
||||
"app_is_up_to_date": "masz najnowszą wersję"
|
||||
}
|
||||
|
||||
@@ -379,5 +379,6 @@
|
||||
"p2p_stats_updated": "Updated",
|
||||
"p2p_stats_starting": "P2P stats appear after the P2P client starts.",
|
||||
"pass_question_governance": "O 5chan Pass controlará a governança do diretório?",
|
||||
"pass_answer_governance": "Não. A direção atual é que os detentores de 5chan Pass possam participar da votação de diretório, mas os mecanismos finais de governança devem incluir alinhamento com BSO-holder e salvaguardas em vez de controle final apenas dos detentores do pass."
|
||||
"pass_answer_governance": "Não. A direção atual é que os detentores de 5chan Pass possam participar da votação de diretório, mas os mecanismos finais de governança devem incluir alinhamento com BSO-holder e salvaguardas em vez de controle final apenas dos detentores do pass.",
|
||||
"app_is_up_to_date": "você está na versão mais recente"
|
||||
}
|
||||
|
||||
@@ -379,5 +379,6 @@
|
||||
"p2p_stats_updated": "Updated",
|
||||
"p2p_stats_starting": "P2P stats appear after the P2P client starts.",
|
||||
"pass_question_governance": "Va controla 5chan Pass guvernanța directorului?",
|
||||
"pass_answer_governance": "Nu. Direcția actuală este ca deținătorii de 5chan Pass să poată participa la votul pentru director, dar mecanismele finale de guvernanță ar trebui să includă aliniere cu BSO-holder și măsuri de protecție în locul controlului final exclusiv al deținătorilor de pass."
|
||||
"pass_answer_governance": "Nu. Direcția actuală este ca deținătorii de 5chan Pass să poată participa la votul pentru director, dar mecanismele finale de guvernanță ar trebui să includă aliniere cu BSO-holder și măsuri de protecție în locul controlului final exclusiv al deținătorilor de pass.",
|
||||
"app_is_up_to_date": "ai cea mai recentă versiune"
|
||||
}
|
||||
|
||||
@@ -379,5 +379,6 @@
|
||||
"p2p_stats_updated": "Updated",
|
||||
"p2p_stats_starting": "P2P stats appear after the P2P client starts.",
|
||||
"pass_question_governance": "Будет ли 5chan Pass контролировать управление каталогом?",
|
||||
"pass_answer_governance": "Нет. Текущее направление таково: владельцы 5chan Pass могут участвовать в голосовании по каталогам, но итоговые механизмы управления должны включать согласование с BSO-holder и защитные меры вместо окончательного контроля только со стороны владельцев pass."
|
||||
"pass_answer_governance": "Нет. Текущее направление таково: владельцы 5chan Pass могут участвовать в голосовании по каталогам, но итоговые механизмы управления должны включать согласование с BSO-holder и защитные меры вместо окончательного контроля только со стороны владельцев pass.",
|
||||
"app_is_up_to_date": "у вас последняя версия"
|
||||
}
|
||||
|
||||
@@ -379,5 +379,6 @@
|
||||
"p2p_stats_updated": "Updated",
|
||||
"p2p_stats_starting": "P2P stats appear after the P2P client starts.",
|
||||
"pass_question_governance": "A do ta kontrollojë 5chan Pass qeverisjen e drejtorisë?",
|
||||
"pass_answer_governance": "Jo. Drejtimi aktual është që mbajtësit e 5chan Pass mund të marrin pjesë në votimin e drejtorisë, por mekanizmat përfundimtarë të qeverisjes duhet të përfshijnë përputhje me BSO-holder dhe masa mbrojtëse në vend të kontrollit përfundimtar vetëm nga mbajtësit e pass-it."
|
||||
"pass_answer_governance": "Jo. Drejtimi aktual është që mbajtësit e 5chan Pass mund të marrin pjesë në votimin e drejtorisë, por mekanizmat përfundimtarë të qeverisjes duhet të përfshijnë përputhje me BSO-holder dhe masa mbrojtëse në vend të kontrollit përfundimtar vetëm nga mbajtësit e pass-it.",
|
||||
"app_is_up_to_date": "jeni në versionin më të fundit"
|
||||
}
|
||||
|
||||
@@ -379,5 +379,6 @@
|
||||
"p2p_stats_updated": "Updated",
|
||||
"p2p_stats_starting": "P2P stats appear after the P2P client starts.",
|
||||
"pass_question_governance": "Kommer 5chan Pass att kontrollera katalogets styrning?",
|
||||
"pass_answer_governance": "Nej. Den nuvarande inriktningen är att innehavare av 5chan Pass kan delta i katalogomröstning, men de slutliga styrningsmekanismerna bör inkludera BSO-holder-anpassning och skyddsåtgärder i stället för att passinnehavare ensamma har slutlig kontroll."
|
||||
"pass_answer_governance": "Nej. Den nuvarande inriktningen är att innehavare av 5chan Pass kan delta i katalogomröstning, men de slutliga styrningsmekanismerna bör inkludera BSO-holder-anpassning och skyddsåtgärder i stället för att passinnehavare ensamma har slutlig kontroll.",
|
||||
"app_is_up_to_date": "du har den senaste versionen"
|
||||
}
|
||||
|
||||
@@ -379,5 +379,6 @@
|
||||
"p2p_stats_updated": "Updated",
|
||||
"p2p_stats_starting": "P2P stats appear after the P2P client starts.",
|
||||
"pass_question_governance": "5chan Pass డైరెక్టరీ పాలనను నియంత్రిస్తుందా?",
|
||||
"pass_answer_governance": "కాదు. ప్రస్తుత దిశ ఏమిటంటే 5chan Pass హోల్డర్లు directory voting లో పాల్గొనగలరు, కానీ తుది governance mechanics లో pass-only final control కి బదులుగా BSO-holder alignment మరియు safeguards ఉండాలి."
|
||||
"pass_answer_governance": "కాదు. ప్రస్తుత దిశ ఏమిటంటే 5chan Pass హోల్డర్లు directory voting లో పాల్గొనగలరు, కానీ తుది governance mechanics లో pass-only final control కి బదులుగా BSO-holder alignment మరియు safeguards ఉండాలి.",
|
||||
"app_is_up_to_date": "మీరు తాజా సంస్కరణలో ఉన్నారు"
|
||||
}
|
||||
|
||||
@@ -379,5 +379,6 @@
|
||||
"p2p_stats_updated": "Updated",
|
||||
"p2p_stats_starting": "P2P stats appear after the P2P client starts.",
|
||||
"pass_question_governance": "5chan Pass จะควบคุมการกำกับดูแลไดเรกทอรีหรือไม่?",
|
||||
"pass_answer_governance": "ไม่ใช่ ทิศทางปัจจุบันคือผู้ถือ 5chan Pass สามารถมีส่วนร่วมในการโหวตไดเรกทอรีได้ แต่กลไกการกำกับดูแลขั้นสุดท้ายควรมีทั้งความสอดคล้องกับ BSO-holder และมาตรการป้องกัน แทนที่จะให้ผู้ถือ pass เป็นผู้ควบคุมขั้นสุดท้ายเพียงฝ่ายเดียว"
|
||||
"pass_answer_governance": "ไม่ใช่ ทิศทางปัจจุบันคือผู้ถือ 5chan Pass สามารถมีส่วนร่วมในการโหวตไดเรกทอรีได้ แต่กลไกการกำกับดูแลขั้นสุดท้ายควรมีทั้งความสอดคล้องกับ BSO-holder และมาตรการป้องกัน แทนที่จะให้ผู้ถือ pass เป็นผู้ควบคุมขั้นสุดท้ายเพียงฝ่ายเดียว",
|
||||
"app_is_up_to_date": "คุณใช้เวอร์ชันล่าสุดแล้ว"
|
||||
}
|
||||
|
||||
@@ -379,5 +379,6 @@
|
||||
"p2p_stats_updated": "Updated",
|
||||
"p2p_stats_starting": "P2P stats appear after the P2P client starts.",
|
||||
"pass_question_governance": "5chan Pass dizin yönetişimini kontrol edecek mi?",
|
||||
"pass_answer_governance": "Hayır. Mevcut yön, 5chan Pass sahiplerinin dizin oylamasına katılabilmesi yönünde, ancak nihai yönetişim mekanizmaları, yalnızca pass sahiplerine nihai kontrol vermek yerine BSO-holder uyumu ve güvenceler içermelidir."
|
||||
"pass_answer_governance": "Hayır. Mevcut yön, 5chan Pass sahiplerinin dizin oylamasına katılabilmesi yönünde, ancak nihai yönetişim mekanizmaları, yalnızca pass sahiplerine nihai kontrol vermek yerine BSO-holder uyumu ve güvenceler içermelidir.",
|
||||
"app_is_up_to_date": "en son sürümdesiniz"
|
||||
}
|
||||
|
||||
@@ -379,5 +379,6 @@
|
||||
"p2p_stats_updated": "Updated",
|
||||
"p2p_stats_starting": "P2P stats appear after the P2P client starts.",
|
||||
"pass_question_governance": "Чи контролюватиме 5chan Pass управління каталогом?",
|
||||
"pass_answer_governance": "Ні. Поточний напрям полягає в тому, що власники 5chan Pass можуть брати участь у голосуванні за каталоги, але фінальні механіки врядування мають включати узгодження з BSO-holder і запобіжники замість остаточного контролю лише з боку власників pass."
|
||||
"pass_answer_governance": "Ні. Поточний напрям полягає в тому, що власники 5chan Pass можуть брати участь у голосуванні за каталоги, але фінальні механіки врядування мають включати узгодження з BSO-holder і запобіжники замість остаточного контролю лише з боку власників pass.",
|
||||
"app_is_up_to_date": "у вас найновіша версія"
|
||||
}
|
||||
|
||||
@@ -379,5 +379,6 @@
|
||||
"p2p_stats_updated": "Updated",
|
||||
"p2p_stats_starting": "P2P stats appear after the P2P client starts.",
|
||||
"pass_question_governance": "کیا 5chan Pass ڈائریکٹری گورننس کو کنٹرول کرے گا؟",
|
||||
"pass_answer_governance": "نہیں۔ موجودہ سمت یہ ہے کہ 5chan Pass رکھنے والے directory voting میں حصہ لے سکیں، لیکن حتمی governance mechanics میں صرف pass holders کے final control کے بجائے BSO-holder alignment اور safeguards شامل ہونے چاہئیں۔"
|
||||
"pass_answer_governance": "نہیں۔ موجودہ سمت یہ ہے کہ 5chan Pass رکھنے والے directory voting میں حصہ لے سکیں، لیکن حتمی governance mechanics میں صرف pass holders کے final control کے بجائے BSO-holder alignment اور safeguards شامل ہونے چاہئیں۔",
|
||||
"app_is_up_to_date": "آپ تازہ ترین ورژن پر ہیں"
|
||||
}
|
||||
|
||||
@@ -379,5 +379,6 @@
|
||||
"p2p_stats_updated": "Updated",
|
||||
"p2p_stats_starting": "P2P stats appear after the P2P client starts.",
|
||||
"pass_question_governance": "5chan Pass có kiểm soát việc quản trị thư mục không?",
|
||||
"pass_answer_governance": "Không. Định hướng hiện tại là người nắm giữ 5chan Pass có thể tham gia bỏ phiếu thư mục, nhưng cơ chế quản trị cuối cùng nên bao gồm sự đồng bộ với BSO-holder và các biện pháp bảo vệ thay vì quyền kiểm soát cuối cùng chỉ dành cho người giữ pass."
|
||||
"pass_answer_governance": "Không. Định hướng hiện tại là người nắm giữ 5chan Pass có thể tham gia bỏ phiếu thư mục, nhưng cơ chế quản trị cuối cùng nên bao gồm sự đồng bộ với BSO-holder và các biện pháp bảo vệ thay vì quyền kiểm soát cuối cùng chỉ dành cho người giữ pass.",
|
||||
"app_is_up_to_date": "bạn đang dùng phiên bản mới nhất"
|
||||
}
|
||||
|
||||
@@ -379,5 +379,6 @@
|
||||
"p2p_stats_updated": "Updated",
|
||||
"p2p_stats_starting": "P2P stats appear after the P2P client starts.",
|
||||
"pass_question_governance": "5chan Pass 会控制目录治理吗?",
|
||||
"pass_answer_governance": "不是。当前方向是 5chan Pass 持有者可以参与目录投票,但最终治理机制应包含与 BSO-holder 的一致性和保障措施,而不是仅由 pass 持有者拥有最终控制权。"
|
||||
"pass_answer_governance": "不是。当前方向是 5chan Pass 持有者可以参与目录投票,但最终治理机制应包含与 BSO-holder 的一致性和保障措施,而不是仅由 pass 持有者拥有最终控制权。",
|
||||
"app_is_up_to_date": "你已是最新版本"
|
||||
}
|
||||
|
||||
+31
@@ -92,6 +92,7 @@ describe('InterfaceSettings', () => {
|
||||
useFeedViewSettingsStore.getState().setEnableInfiniteScroll(false);
|
||||
useAppUpdateStore.setState({
|
||||
availableUpdate: null,
|
||||
appUpdateCheckStatus: 'idle',
|
||||
isApplyingUpdate: false,
|
||||
isCheckingForUpdate: false,
|
||||
applyAppUpdate: testState.applyAppUpdateMock,
|
||||
@@ -106,6 +107,8 @@ describe('InterfaceSettings', () => {
|
||||
|
||||
afterEach(() => {
|
||||
act(() => root.unmount());
|
||||
useAppUpdateStore.getState().clearAppUpdateCheckStatus();
|
||||
vi.useRealTimers();
|
||||
container.remove();
|
||||
setItemSpy.mockRestore();
|
||||
vi.unstubAllGlobals();
|
||||
@@ -230,6 +233,7 @@ describe('InterfaceSettings', () => {
|
||||
});
|
||||
|
||||
it('checks for app updates when the check button is pressed', async () => {
|
||||
testState.refreshAvailableUpdateMock.mockResolvedValueOnce(null);
|
||||
render(createElement(InterfaceSettings));
|
||||
await settleLazyImports();
|
||||
|
||||
@@ -245,6 +249,33 @@ describe('InterfaceSettings', () => {
|
||||
expect(testState.applyAppUpdateMock).not.toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it('shows then clears the latest-version status when no app update is available', async () => {
|
||||
vi.useFakeTimers();
|
||||
testState.refreshAvailableUpdateMock.mockResolvedValueOnce(null);
|
||||
render(createElement(InterfaceSettings));
|
||||
await settleLazyImports();
|
||||
|
||||
const button = findButtonByText('Check');
|
||||
expect(button).toBeTruthy();
|
||||
|
||||
await act(async () => {
|
||||
button?.dispatchEvent(new MouseEvent('click', { bubbles: true }));
|
||||
await Promise.resolve();
|
||||
});
|
||||
|
||||
expect(container.textContent).toContain('app_is_up_to_date');
|
||||
|
||||
act(() => {
|
||||
vi.advanceTimersByTime(3999);
|
||||
});
|
||||
expect(container.textContent).toContain('app_is_up_to_date');
|
||||
|
||||
act(() => {
|
||||
vi.advanceTimersByTime(1);
|
||||
});
|
||||
expect(container.textContent).not.toContain('app_is_up_to_date');
|
||||
});
|
||||
|
||||
it('applies the available app update when the button is pressed', async () => {
|
||||
useAppUpdateStore.setState({
|
||||
availableUpdate: {
|
||||
|
||||
@@ -8,8 +8,10 @@ const UpdateButton = () => {
|
||||
const availableUpdate = useAppUpdateStore((state) => state.availableUpdate);
|
||||
const isApplyingUpdate = useAppUpdateStore((state) => state.isApplyingUpdate);
|
||||
const isCheckingForUpdate = useAppUpdateStore((state) => state.isCheckingForUpdate);
|
||||
const appUpdateCheckStatus = useAppUpdateStore((state) => state.appUpdateCheckStatus);
|
||||
const applyAppUpdate = useAppUpdateStore((state) => state.applyAppUpdate);
|
||||
const refreshAvailableUpdate = useAppUpdateStore((state) => state.refreshAvailableUpdate);
|
||||
const showAppUpdateUpToDateStatus = useAppUpdateStore((state) => state.showAppUpdateUpToDateStatus);
|
||||
|
||||
const handleUpdateAction = async () => {
|
||||
try {
|
||||
@@ -18,13 +20,17 @@ const UpdateButton = () => {
|
||||
return;
|
||||
}
|
||||
|
||||
await refreshAvailableUpdate();
|
||||
const update = await refreshAvailableUpdate();
|
||||
if (!update) {
|
||||
showAppUpdateUpToDateStatus();
|
||||
}
|
||||
} catch (error) {
|
||||
alert(String(error));
|
||||
}
|
||||
};
|
||||
const buttonLabel = availableUpdate ? t('download') : t('check');
|
||||
const isBusy = isApplyingUpdate || isCheckingForUpdate;
|
||||
const shouldShowUpToDateStatus = !isCheckingForUpdate && !availableUpdate && appUpdateCheckStatus === 'upToDate';
|
||||
|
||||
return (
|
||||
<>
|
||||
@@ -36,6 +42,11 @@ const UpdateButton = () => {
|
||||
{t('checking_for_updates')}
|
||||
</span>
|
||||
)}
|
||||
{shouldShowUpToDateStatus && (
|
||||
<span className={styles.updateStatus} aria-live='polite'>
|
||||
{t('app_is_up_to_date')}
|
||||
</span>
|
||||
)}
|
||||
{!isCheckingForUpdate && availableUpdate && (
|
||||
<span className={styles.updateStatus} aria-live='polite'>
|
||||
{t('new_version_found')}:
|
||||
|
||||
@@ -1,19 +1,50 @@
|
||||
import { create } from 'zustand';
|
||||
import { applyAvailableAppUpdate, resolveAvailableAppUpdate, type AvailableAppUpdate } from '../lib/app-update';
|
||||
|
||||
type AppUpdateCheckStatus = 'idle' | 'upToDate';
|
||||
|
||||
interface AppUpdateState {
|
||||
availableUpdate: AvailableAppUpdate | null;
|
||||
appUpdateCheckStatus: AppUpdateCheckStatus;
|
||||
isApplyingUpdate: boolean;
|
||||
isCheckingForUpdate: boolean;
|
||||
clearAppUpdateCheckStatus: () => void;
|
||||
showAppUpdateUpToDateStatus: () => void;
|
||||
refreshAvailableUpdate: () => Promise<AvailableAppUpdate | null>;
|
||||
applyAppUpdate: () => Promise<void>;
|
||||
}
|
||||
|
||||
const UP_TO_DATE_STATUS_TIMEOUT_MS = 4000;
|
||||
|
||||
let appUpdateCheckStatusTimeout: ReturnType<typeof setTimeout> | null = null;
|
||||
|
||||
const clearAppUpdateCheckStatusTimeout = () => {
|
||||
if (appUpdateCheckStatusTimeout !== null) {
|
||||
clearTimeout(appUpdateCheckStatusTimeout);
|
||||
appUpdateCheckStatusTimeout = null;
|
||||
}
|
||||
};
|
||||
|
||||
const scheduleAppUpdateCheckStatusClear = (clearStatus: () => void) => {
|
||||
clearAppUpdateCheckStatusTimeout();
|
||||
appUpdateCheckStatusTimeout = setTimeout(clearStatus, UP_TO_DATE_STATUS_TIMEOUT_MS);
|
||||
};
|
||||
|
||||
const useAppUpdateStore = create<AppUpdateState>((set, get) => ({
|
||||
availableUpdate: null,
|
||||
appUpdateCheckStatus: 'idle',
|
||||
isApplyingUpdate: false,
|
||||
isCheckingForUpdate: false,
|
||||
clearAppUpdateCheckStatus: () => {
|
||||
clearAppUpdateCheckStatusTimeout();
|
||||
set({ appUpdateCheckStatus: 'idle' });
|
||||
},
|
||||
showAppUpdateUpToDateStatus: () => {
|
||||
set({ appUpdateCheckStatus: 'upToDate' });
|
||||
scheduleAppUpdateCheckStatusClear(get().clearAppUpdateCheckStatus);
|
||||
},
|
||||
refreshAvailableUpdate: async () => {
|
||||
get().clearAppUpdateCheckStatus();
|
||||
set({ isCheckingForUpdate: true });
|
||||
try {
|
||||
const availableUpdate = await resolveAvailableAppUpdate();
|
||||
|
||||
Reference in New Issue
Block a user