···14 "expires": "Expires",
15 "name": "Name",
16 "dashboard": "Dashboard",
17- "backToDashboard": "← Dashboard"
0018 },
19 "login": {
20 "title": "Sign In",
···45 "register": {
46 "title": "Create Account",
47 "subtitle": "Create a new account on this PDS",
00048 "handle": "Handle",
49 "handlePlaceholder": "yourname",
50 "handleHint": "Your full handle will be: @{handle}",
···226 "revoke": "Revoke",
227 "revoking": "Revoking...",
228 "creating": "Creating...",
229- "revokeConfirm": "Revoke app password \"{name}\"? Apps using this password will no longer be able to access your account."
000230 },
231 "sessions": {
232 "title": "Active Sessions",
···14 "expires": "Expires",
15 "name": "Name",
16 "dashboard": "Dashboard",
17+ "backToDashboard": "← Dashboard",
18+ "copied": "Copied!",
19+ "copyToClipboard": "Copy to Clipboard"
20 },
21 "login": {
22 "title": "Sign In",
···47 "register": {
48 "title": "Create Account",
49 "subtitle": "Create a new account on this PDS",
50+ "migrateTitle": "Already have a Bluesky account?",
51+ "migrateDescription": "You can migrate your existing account to this PDS instead of creating a new one. Your followers, posts, and identity will come with you.",
52+ "migrateLink": "Migrate with PDS Moover",
53 "handle": "Handle",
54 "handlePlaceholder": "yourname",
55 "handleHint": "Your full handle will be: @{handle}",
···231 "revoke": "Revoke",
232 "revoking": "Revoking...",
233 "creating": "Creating...",
234+ "revokeConfirm": "Revoke app password \"{name}\"? Apps using this password will no longer be able to access your account.",
235+ "saveWarningTitle": "Important: Save this app password!",
236+ "saveWarningMessage": "This password is required to sign into apps that don't support passkeys or OAuth. You will only see it once.",
237+ "acknowledgeLabel": "I have saved my app password in a secure location"
238 },
239 "sessions": {
240 "title": "Active Sessions",
+10-2
frontend/src/locales/fi.json
···14 "expires": "Vanhenee",
15 "name": "Nimi",
16 "dashboard": "Hallintapaneeli",
17- "backToDashboard": "← Hallintapaneeli"
0018 },
19 "login": {
20 "title": "Kirjaudu sisään",
···45 "register": {
46 "title": "Luo tili",
47 "subtitle": "Luo uusi tili tälle PDS:lle",
00048 "handle": "Käyttäjänimi",
49 "handlePlaceholder": "nimesi",
50 "handleHint": "Täydellinen käyttäjänimesi on: @{handle}",
···226 "revoke": "Peruuta",
227 "revoking": "Peruutetaan...",
228 "creating": "Luodaan...",
229- "revokeConfirm": "Peruuta sovelluksen salasana \"{name}\"? Sovellukset, jotka käyttävät tätä salasanaa, eivät enää pääse tilillesi."
000230 },
231 "sessions": {
232 "title": "Aktiiviset istunnot",
···14 "expires": "Vanhenee",
15 "name": "Nimi",
16 "dashboard": "Hallintapaneeli",
17+ "backToDashboard": "← Hallintapaneeli",
18+ "copied": "Kopioitu!",
19+ "copyToClipboard": "Kopioi"
20 },
21 "login": {
22 "title": "Kirjaudu sisään",
···47 "register": {
48 "title": "Luo tili",
49 "subtitle": "Luo uusi tili tälle PDS:lle",
50+ "migrateTitle": "Onko sinulla jo Bluesky-tili?",
51+ "migrateDescription": "Voit siirtää olemassa olevan tilisi tälle PDS:lle uuden luomisen sijaan. Seuraajasi, julkaisusi ja identiteettisi siirtyvät mukana.",
52+ "migrateLink": "Siirrä PDS Mooverilla",
53 "handle": "Käyttäjänimi",
54 "handlePlaceholder": "nimesi",
55 "handleHint": "Täydellinen käyttäjänimesi on: @{handle}",
···231 "revoke": "Peruuta",
232 "revoking": "Peruutetaan...",
233 "creating": "Luodaan...",
234+ "revokeConfirm": "Peruuta sovelluksen salasana \"{name}\"? Sovellukset, jotka käyttävät tätä salasanaa, eivät enää pääse tilillesi.",
235+ "saveWarningTitle": "Tärkeää: Tallenna tämä sovelluksen salasana!",
236+ "saveWarningMessage": "Tämä salasana tarvitaan kirjautumiseen sovelluksiin, jotka eivät tue pääsyavaimia tai OAuthia. Näet sen vain kerran.",
237+ "acknowledgeLabel": "Olen tallentanut sovelluksen salasanani turvalliseen paikkaan"
238 },
239 "sessions": {
240 "title": "Aktiiviset istunnot",
···14 "expires": "만료일",
15 "name": "이름",
16 "dashboard": "대시보드",
17+ "backToDashboard": "← 대시보드",
18+ "copied": "복사됨!",
19+ "copyToClipboard": "클립보드에 복사"
20 },
21 "login": {
22 "title": "로그인",
···47 "register": {
48 "title": "계정 만들기",
49 "subtitle": "이 PDS에 새 계정을 만듭니다",
50+ "migrateTitle": "이미 Bluesky 계정이 있으신가요?",
51+ "migrateDescription": "새 계정을 만드는 대신 기존 계정을 이 PDS로 마이그레이션할 수 있습니다. 팔로워, 게시물, ID가 함께 이전됩니다.",
52+ "migrateLink": "PDS Moover로 마이그레이션",
53 "handle": "핸들",
54 "handlePlaceholder": "사용자 이름",
55 "handleHint": "전체 핸들: @{handle}",
···231 "revoke": "취소",
232 "revoking": "취소 중...",
233 "creating": "생성 중...",
234+ "revokeConfirm": "앱 비밀번호 \"{name}\"을(를) 취소하시겠습니까? 이 비밀번호를 사용하는 앱은 더 이상 계정에 액세스할 수 없습니다.",
235+ "saveWarningTitle": "중요: 이 앱 비밀번호를 저장하세요!",
236+ "saveWarningMessage": "이 비밀번호는 패스키 또는 OAuth를 지원하지 않는 앱에 로그인하는 데 필요합니다. 한 번만 볼 수 있습니다.",
237+ "acknowledgeLabel": "앱 비밀번호를 안전한 곳에 저장했습니다"
238 },
239 "sessions": {
240 "title": "활성 세션",
+10-2
frontend/src/locales/sv.json
···14 "expires": "Upphör",
15 "name": "Namn",
16 "dashboard": "Kontrollpanel",
17- "backToDashboard": "← Kontrollpanel"
0018 },
19 "login": {
20 "title": "Logga in",
···45 "register": {
46 "title": "Skapa konto",
47 "subtitle": "Skapa ett nytt konto på denna PDS",
00048 "handle": "Användarnamn",
49 "handlePlaceholder": "dittnamn",
50 "handleHint": "Ditt fullständiga användarnamn blir: @{handle}",
···226 "revoke": "Återkalla",
227 "revoking": "Återkallar...",
228 "creating": "Skapar...",
229- "revokeConfirm": "Återkalla applösenord \"{name}\"? Appar som använder detta lösenord kommer inte längre att kunna komma åt ditt konto."
000230 },
231 "sessions": {
232 "title": "Aktiva sessioner",
···14 "expires": "Upphör",
15 "name": "Namn",
16 "dashboard": "Kontrollpanel",
17+ "backToDashboard": "← Kontrollpanel",
18+ "copied": "Kopierat!",
19+ "copyToClipboard": "Kopiera"
20 },
21 "login": {
22 "title": "Logga in",
···47 "register": {
48 "title": "Skapa konto",
49 "subtitle": "Skapa ett nytt konto på denna PDS",
50+ "migrateTitle": "Har du redan ett Bluesky-konto?",
51+ "migrateDescription": "Du kan flytta ditt befintliga konto till denna PDS istället för att skapa ett nytt. Dina följare, inlägg och identitet följer med.",
52+ "migrateLink": "Flytta med PDS Moover",
53 "handle": "Användarnamn",
54 "handlePlaceholder": "dittnamn",
55 "handleHint": "Ditt fullständiga användarnamn blir: @{handle}",
···231 "revoke": "Återkalla",
232 "revoking": "Återkallar...",
233 "creating": "Skapar...",
234+ "revokeConfirm": "Återkalla applösenord \"{name}\"? Appar som använder detta lösenord kommer inte längre att kunna komma åt ditt konto.",
235+ "saveWarningTitle": "Viktigt: Spara detta applösenord!",
236+ "saveWarningMessage": "Detta lösenord krävs för att logga in i appar som inte stöder passkeys eller OAuth. Du ser det bara en gång.",
237+ "acknowledgeLabel": "Jag har sparat mitt applösenord på en säker plats"
238 },
239 "sessions": {
240 "title": "Aktiva sessioner",
···1+CREATE TABLE IF NOT EXISTS server_config (
2+ key TEXT PRIMARY KEY,
3+ value TEXT NOT NULL,
4+ updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
5+);
6+7+INSERT INTO server_config (key, value) VALUES ('server_name', 'Tranquil PDS') ON CONFLICT DO NOTHING;
···2pub mod app_password;
3pub mod email;
4pub mod invite;
05pub mod meta;
6pub mod passkey_account;
7pub mod passkeys;
···20pub use app_password::{create_app_password, list_app_passwords, revoke_app_password};
21pub use email::{confirm_email, request_email_update, update_email};
22pub use invite::{create_invite_code, create_invite_codes, get_account_invite_codes};
023pub use meta::{describe_server, health, robots_txt};
24pub use passkey_account::{
25 complete_passkey_setup, create_passkey_account, recover_passkey_account,
···2pub mod app_password;
3pub mod email;
4pub mod invite;
5+pub mod logo;
6pub mod meta;
7pub mod passkey_account;
8pub mod passkeys;
···21pub use app_password::{create_app_password, list_app_passwords, revoke_app_password};
22pub use email::{confirm_email, request_email_update, update_email};
23pub use invite::{create_invite_code, create_invite_codes, get_account_invite_codes};
24+pub use logo::get_logo;
25pub use meta::{describe_server, health, robots_txt};
26pub use passkey_account::{
27 complete_passkey_setup, create_passkey_account, recover_passkey_account,