notedeck

One damus client to rule them all
git clone git://jb55.com/notedeck
Log | Files | Refs | README | LICENSE

commit 549fdc5da82b291bd1e811fed9aee3fa34acbb9b
parent c27aff6becdc352c6d0f9d2b51b62f7fbb71d348
Author: Terry Yiu <git@tyiu.xyz>
Date:   Tue, 22 Jul 2025 16:19:22 -0400

Add French, German, Simplified Chinese, and Traditional Chinese translations

Changelog-Added: Added French, German, Simplified Chinese, and Traditional Chinese translations
Signed-off-by: Terry Yiu <git@tyiu.xyz>

Diffstat:
Aassets/translations/de/main.ftl | 432+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aassets/translations/fr/main.ftl | 430+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aassets/translations/zh-CN/main.ftl | 431+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aassets/translations/zh-TW/main.ftl | 431+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mcrates/notedeck/DEVELOPER.md | 2+-
Mcrates/notedeck/src/i18n/manager.rs | 35+++++++++++++++++++++++++++++++----
6 files changed, 1756 insertions(+), 5 deletions(-)

diff --git a/assets/translations/de/main.ftl b/assets/translations/de/main.ftl @@ -0,0 +1,432 @@ +# Main translation file for Notedeck +# This file contains common UI strings used throughout the application +# Auto-generated by extract_i18n.py - DO NOT EDIT MANUALLY + + +# Regular strings + +# Profile about/bio field label +About_00c0 = Über +# Display name for account management +Accounts_e233 = Konten +# Column title for account management +Accounts_f018 = Konten +# Button label to add a relay +Add_269d = Hinzufügen +# Label for add column button +Add_47df = Hinzufügen +# Button label to add a different wallet +Add_a_different_wallet_that_will_only_be_used_for_this_account_de8d = Eine andere Wallet hinzufügen, die nur für dieses Konto verwendet wird +# Error message for missing wallet +Add_a_wallet_to_continue_d170 = Wallet hinzufügen um fortzufahren +# Button label to add a new account +Add_account_1cfc = Konto hinzufügen +# Column title for adding new account +Add_Account_d06c = Konto hinzufügen +# Display name for adding account +Add_Account_d715 = Konto hinzufügen +# Column title for adding algorithm column +Add_Algo_Column_0d75 = Algorithmus-Spalte hinzufügen +# Display name for adding column +Add_Column_c6ff = Spalte hinzufügen +# Column title for adding new column +Add_Column_c764 = Spalte hinzufügen +# Display name for adding deck +Add_Deck_6e5f = Deck hinzufügen +# Column title for adding new deck +Add_Deck_fabf = Deck hinzufügen +# Column title for adding external notifications column +Add_External_Notifications_Column_41ae = Externe Benachrichtigungsspalte hinzufügen +# Column title for adding hashtag column +Add_Hashtag_Column_ebf4 = Hashtag-Spalte hinzufügen +# Column title for adding last notes column +Add_Last_Notes_Column_bbad = Letzte Notizen-Spalte hinzufügen +# Column title for adding notifications column +Add_Notifications_Column_79f8 = Benachrichtigungs-Spalte hinzufügen +# Button label to add a relay +Add_relay_269d = Relay hinzufügen +# Button label to add a wallet +Add_Wallet_d1be = Wallet hinzufügen +# Title for algorithmic feeds column +Algo_2452 = Algorithmus +# Description for algorithmic feeds column +Algorithmic_feeds_to_aid_in_note_discovery_d344 = Algorithmische Feeds zur Hilfe bei der Entdeckung von Notizen +# Label for zap amount input field +Amount_70f0 = Menge +# Button to send message to Dave AI assistant +Ask_b7f4 = Fragen +# Placeholder text for Dave AI input field +Ask_dave_anything_33d1 = Frage Dave etwas... +# Profile banner URL field label +Banner_52ef = Banner +# Beta version label +BETA_8e5d = BETA +# Broadcast the note to all connected relays +Broadcast_fe43 = Senden +# Broadcast the note only to local network relays +Broadcast_Local_7e50 = Lokal senden +# Button label to cancel an action +Cancel_ed3b = Abbrechen +# Hover text for editable zap amount +Click_to_edit_0414 = Zum Bearbeiten anklicken +# Display name for note composition +Compose_Note_ad11 = Notiz erstellen +# Column title for note composition +Compose_Note_c094 = Notiz erstellen +# Button label to confirm an action +Confirm_f8a6 = Bestätigen +# Status label for connected relay +Connected_f8cc = Verbunden +# Status label for connecting relay +Connecting_6b7e = Verbinde... +# Title for contact list column +Contact_List_f85a = Kontaktliste +# Column title for contact lists +Contacts_7533 = Kontakte +# Timeline kind label for contact lists +Contacts_8b98 = Kontakte +# Column title for last notes per contact +Contacts__last_notes_3f84 = Kontakte (letzte Notizen) +# Button label to copy logs +Copy_a688 = Kopieren +# Button to copy media link to clipboard +Copy_Link_dc7c = Link kopieren +# Copy the unique note identifier to clipboard +Copy_Note_ID_6b45 = Notiz-ID kopieren +# Copy the raw note data in JSON format to clipboard +Copy_Note_JSON_9e4e = Notiz-JSON kopieren +# Copy the author's public key to clipboard +Copy_Pubkey_9cc4 = Pubkey kopieren +# Copy the text content of the note to clipboard +Copy_Text_f81c = Text kopieren +# Relative time in days +count_d_b9be = { $count }T. +# Relative time in hours +count_h_3ecb = { $count }Std. +# Relative time in minutes +count_m_b41e = { $count }Min. +# Relative time in months +count_mo_7aba = { $count }Mon. +# Relative time in seconds +count_s_aa26 = { $count }Sek. +# Relative time in weeks +count_w_7468 = { $count }Wo. +# Relative time in years +count_y_9408 = { $count }J. +# Button to create a new account +Create_Account_6994 = Konto erstellen +# Button label to create a new deck +Create_Deck_16b7 = Deck erstellen +# Column title for custom timelines +Custom_a69e = Benutzerdefiniert +# Display name for custom timelines +Custom_cb4f = Benutzerdefiniert +# Column title for zap amount customization +Customize_Zap_Amount_cfc4 = Zap-Betrag anpassen +# Display name for zap customization +Customize_Zap_Amount_ed29 = Zap-Betrag anpassen +# Column title for support page +Damus_Support_27c0 = Damus Support +# Label for deck name input field +Deck_name_cd32 = Deck-Name +# Label for decks section in side panel +DECKS_1fad = DECKS +# Label for default zap amount input +Default_amount_per_zap_399d = Standardbetrag pro Zap: +# Name of the default deck feed +Default_Deck_fcca = Standard-Deck +# Button label to delete a deck +Delete_Deck_bb29 = Deck löschen +# Tooltip for deleting a column +Delete_this_column_8d5a = Diese Spalte löschen +# Button label to delete a wallet +Delete_Wallet_d1d4 = Wallet löschen +# Profile display name field label +Display_name_f9d9 = Anzeigename +# Domain identification message +domain___will_be_used_for_identification_b67e = "{ $domain }" wird zur Identifikation verwendet +# Column title for editing deck +Edit_Deck_4018 = Deck bearbeiten +# Display name for editing deck +Edit_Deck_c9ba = Deck bearbeiten +# Button label to edit a deck +Edit_Deck_fd93 = Deck bearbeiten +# Button label to edit user profile +Edit_Profile_49e6 = Profil bearbeiten +# Display name for profile editing +Edit_Profile_6699 = Profil bearbeiten +# Column title for profile editing +Edit_Profile_8ad4 = Profil bearbeiten +# Placeholder for hashtag input field +Enter_the_desired_hashtags_here__for_multiple_space-separated_7a69 = Gewünschte Hashtags hier eingeben (für mehrere, durch Leerzeichen trennen) +# Placeholder for relay input field +Enter_the_relay_here_1c8b = Relay hier eingeben +# Hint text to prompt entering the user's public key. +Enter_the_user_s_key__npub__hex__nip05__here_650c = Hier den Benutzerschlüssel (npub, hex, nip05) eingeben... +# Label for key input field. Key can be public key (npub), private key (nsec), or Nostr address (NIP-05). +Enter_your_key_0fca = Gib deinen Schlüssel ein +# Instructions for entering Nostr credentials +Enter_your_public_key__npub___nostr_address__e_g___address____or_private_key__nsec___You_must_enter_your_private_key_to_be_able_to_post__reply__etc_48e9 = + Gib deinen öffentlichen Schlüssel (npub), eine Nostr-Adresse (z. B. {$address}) oder deinen privaten Schlüssel (nsec) ein. + Für das Veröffentlichen von Beiträgen und andere Aktionen ist dein privater Schlüssel erforderlich. +# Label for find user button +Find_User_bd12 = Profil finden +# Timeline kind label for hashtag feeds +Hashtag_a0ab = Hashtag +# Display name for hashtag feeds +Hashtags_617e = Hashtags +# Title for hashtags column +Hashtags_f8e0 = Hashtags +# Display name for home feed +Home_3efc = Startseite +# Title for Home column +Home_8c19 = Startseite +# Label for deck icon selection +Icon_b0ab = Symbol +# Title for individual user column +Individual_b776 = Individuell +# Error message for invalid zap amount +Invalid_amount_6630 = Ungültiger Betrag +# Error message for invalid key input +Invalid_key_4726 = Ungültiger Schlüssel +# Error message for invalid Nostr Wallet Connect URI +Invalid_NWC_URI_031b = Ungültige NWC URI +# Zap amount button for 100000 sats. Abbreviated because the button is too small to display the full amount. +k_100K_686c = 100K +# Zap amount button for 10000 sats. Abbreviated because the button is too small to display the full amount. +k_10K_f7e6 = 10K +# Zap amount button for 20000 sats. Abbreviated because the button is too small to display the full amount. +k_20K_4977 = 20K +# Zap amount button for 50000 sats. Abbreviated because the button is too small to display the full amount. +k_50K_c2dc = 50K +# Zap amount button for 5000 sats. Abbreviated because the button is too small to display the full amount. +k_5K_f7e6 = 5K +# Description for your notes column +Keep_track_of_your_notes___replies_a334 = Behalte den Überblick über deine Notizen & Antworten +# Title for last note per user column +Last_Note_per_User_17ad = Letzte Notiz pro Profil +# Timeline kind label for last notes per pubkey +Last_Notes_aefe = Letzte Notizen +# Display name for last notes per contact +Last_Per_Pubkey__Contact_33ce = Zuletzt pro Pubkey (Kontakt) +# Bitcoin Lightning network address field label +Lightning_network_address__lud16_ea51 = Lightning-Netzwerkadresse (lud16) +# Login page title +Login_9eef = Anmelden +# Login button text +Login_now___let_s_do_this_5630 = Jetzt anmelden — auf geht's! +# Text shown on blurred media from unfollowed users +Media_from_someone_you_don_t_follow_5611 = Medien von einem Profil, dem du nicht folgst +# Tooltip for moving a column +Moves_this_column_to_another_position_0d4b = Verschiebt diese Spalte an eine andere Position +# Title for the user's deck +My_Deck_4ac5 = Mein Deck +# Label asking if the user is new to Nostr. Underneath this label is a button to create an account. +New_to_Nostr_a2fd = Neu bei Nostr? +# NIP-05 identity field label +Nostr_address__NIP-05_identity_74a2 = Nostr-Adresse (NIP-05-Identität) +# Default username when profile is not available +nostrich_df29 = Nostrich +# Status label for disconnected relay +Not_Connected_6292 = Nicht verbunden +# Link text for note references +note_cad6 = Notiz +# Beta product warning message +Notedeck_is_a_beta_product__Expect_bugs_and_contact_us_when_you_run_into_issues_a671 = Notedeck ist ein Beta-Produkt. Erwarte Fehler und kontaktiere uns, wenn Probleme oder Fehler auftreten. +# Filter label for notes only view +Notes_03fb = Notizen +# Label for notes-only filter +Notes_60d2 = Notizen +# Filter label for notes and replies view +Notes___Replies_1ec2 = Notizen & Antworten +# Label for notes and replies filter +Notes___Replies_6e3b = Notizen & Antworten +# Timeline kind label for notifications +Notifications_6228 = Benachrichtigungen +# Display name for notifications +Notifications_8029 = Benachrichtigungen +# Column title for notifications +Notifications_d673 = Benachrichtigungen +# Title for notifications column +Notifications_ef56 = Benachrichtigungen +# Relative time for very recent events (less than 3 seconds) +now_2181 = Jetzt +# Button label to open email client +Open_Email_25e9 = E-Mail öffnen +# Instruction to open email client +Open_your_default_email_client_to_get_help_from_the_Damus_team_68dc = Öffne deinen Standard-E-Mail-Client, um Hilfe vom Damus-Team zu erhalten +# Placeholder text for NWC URI input +Paste_your_NWC_URI_here_b471 = Füge hier deine NWC-URI ein... +# Error message for missing deck name +Please_create_a_name_for_the_deck_38e7 = Bitte erstelle einen Namen für das Deck. +# Error message for missing deck name and icon +Please_create_a_name_for_the_deck_and_select_an_icon_0add = Bitte erstelle einen Namen für das Deck und wähle ein Symbol aus. +# Error message for missing deck icon +Please_select_an_icon_655b = Bitte wählen ein Symbol aus. +# Button label to post a note +Post_now_8a49 = Jetzt veröffentlichen +# Instruction for copying logs +Press_the_button_below_to_copy_your_most_recent_logs_to_your_system_s_clipboard__Then_paste_it_into_your_email_322e = Drücke die Schaltfläche unten, um deine neuesten Protokolle in die Zwischenablage deines Systems zu kopieren. Dann füge sie in deine E-Mail ein. +# Display name for user profiles +Profile_2478 = Profil +# Timeline kind label for user profiles +Profile_9027 = Profil +# Profile picture URL field label +Profile_picture_81ff = Profilbild +# Column title for quote composition +Quote_475c = Zitat +# Display name for quote composition +Quote_a38e = Zitat +# Error message when quote note cannot be found +Quote_of_unknown_note_e4f0 = Zitat von unbekannter Notiz +# Label for read-only profile mode +Read_only_82ff = Nur Lesezugriff +# Display name for relay management +Relays_7335 = Relays +# Column title for relay management +Relays_9d89 = Relays +# Label for relay list section +Relays_ad5e = Relays +# Column title for reply composition +Reply_3bf1 = Antwort +# Display name for reply composition +Reply_b40f = Antworten +# Hover text for reply button +Reply_to_this_note_f5de = Auf diese Notiz antworten +# Error message when reply note cannot be found +Reply_to_unknown_note_4401 = Antwort auf unbekannte Notiz +# Fallback template for replying to user +replying_to__user_15ab = Antwort an { $user } +# Template for replying to user in unknown thread +replying_to__user__in_someone_s_thread_e148 = Antwort an { $user } im Beitrag von jemandem +# Template for replying to note in different user's thread +replying_to__user__s__note__in__thread_user__s__thread_daa8 = Antwort auf { $user }'s { $note } in { $thread_user }'s { $thread } +# Template for replying to user's note +replying_to__user__s__note_ccba = Antwort auf { $user }'s { $note } +# Template for replying to root thread +replying_to__user__s__thread_444d = Antwort auf { $user }'s { $thread } +# Fallback text when reply note is not found +replying_to_a_note_e0bc = Antwort auf eine Notiz +# Hover text for repost button +Repost_this_note_8e56 = Diese Notiz teilen +# Label for reposted notes +Reposted_61c8 = Teilen +# Heading for support section +Running_into_a_bug_1796 = Ein Fehler aufgetreten? +# Label for satoshis (Bitcoin unit) for custom zap amount input field +SATS_45d7 = SATS +# Unit label for satoshis (Bitcoin unit) for configuring default zap amount in wallet settings. +sats_e5ec = Sats +# Button to save default zap amount +Save_6f7c = Speichern +# Button label to save profile changes +Save_changes_00db = Änderungen speichern +# Display name for search results +Search_0aa0 = Suche +# Display name for search page +Search_4503 = Suche +# Timeline kind label for search results +Search_a0b8 = Suche +# Column title for search page +Search_c573 = Suche +# Placeholder for search notes input field +Search_notes_42a6 = Notizen suchen... +# Search in progress message +Searching_for___query_5d18 = Suche nach '{ $query }' +# Description for Home column +See_notes_from_your_contacts_ac16 = Notizen von deinen Kontakten ansehen +# Description for universe column +See_the_whole_nostr_universe_7694 = Sieh dir das ganze Nostr-Universum an +# Button label to send a zap +Send_1ea4 = Senden +# Description for last note per user column +Show_the_last_note_for_each_user_from_a_list_50e7 = Zeige die letzte Notiz für jedes Profil aus einer Liste +# Button label to sign out of account +Sign_out_337b = Abmelden +# Title for someone else's notes column +Someone_else_s_Notes_7e5f = Notizen anderer Profile +# Title for someone else's notifications column +Someone_else_s_Notifications_82e6 = Mitteilungen anderer Profile +# Description for contact list column +Source_the_last_note_for_each_user_in_your_contact_list_e157 = Die letzte Notiz für jedes Profil aus deiner Kontaktliste anzeigen +# Description for hashtags column +Stay_up_to_date_with_a_certain_hashtag_88e3 = Mit einem bestimmten Hashtag auf dem Laufenden bleiben +# Description for notifications column +Stay_up_to_date_with_notifications_and_mentions_6f4e = Bleibe auf dem Laufenden mit Benachrichtigungen und Erwähnungen +# Description for someone else's notes column +Stay_up_to_date_with_someone_else_s_notes___replies_464c = Bleib auf dem Laufenden bei den Notizen & Antworten anderer +# Description for someone else's notifications column +Stay_up_to_date_with_someone_else_s_notifications_and_mentions_3473 = Bleib bei den Benachrichtigungen und Erwähnungen anderer auf dem Laufenden +# Description for individual user column +Stay_up_to_date_with_someone_s_notes___replies_aa78 = Bleib bei den Notizen & Antworten eines anderen auf dem Laufenden +# Description for your notifications column +Stay_up_to_date_with_your_notifications_and_mentions_e73e = Bleib bei deinen Benachrichtigungen und Erwähnungen auf dem Laufenden +# Step 1 label in support instructions +Step_1_8656 = Schritt 1 +# Step 2 label in support instructions +Step_2_d08d = Schritt 2 +# Column title for subscribing to external user +Subscribe_to_someone_else_s_notes_d1e9 = Abonniere die Notizen eines anderen +# Column title for subscribing to individual user +Subscribe_to_someone_s_notes_b3c8 = Abonniere die Notizen von jemandem +# Display name for support page +Support_a4b4 = Support +# Hover text for dark mode toggle button +Switch_to_dark_mode_4dec = Zum Dunkelmodus wechseln +# Hover text for light mode toggle button +Switch_to_light_mode_72ce = Zum Hellmodus wechseln +# Button text to load blurred media +Tap_to_Load_4b05 = Zum Laden antippen +# Message shown when Dave trial period has ended +The_Dave_Nostr_AI_assistant_trial_has_ended_____Thanks_for_testing__Zap-enabled_Dave_coming_soon_c6c7 = Die Testphase des Dave Nostr KI-Assistenten ist beendet :(. Vielen Dank fürs Ausprobieren! Zap-fähiger Dave kommt bald! +# Column title for note thread view +Thread_0f20 = Unterhaltungen +# Display name for thread view +Thread_9957 = Unterhaltungen +# Link text for thread references +thread_ad1f = Unterhaltungen +# Generic timeline kind label +Timeline_b0fc = Timeline +# Timeline kind label for universe feed +Universe_0a3e = Weltraum +# Display name for universe feed +Universe_d47e = Weltraum +# Title for universe column +Universe_e01e = Weltraum +# Column title for universe feed +Universe_ffaa = Weltraum +# Checkbox label for using wallet only for current account +Use_this_wallet_for_the_current_account_only_61dc = Diese Wallet nur für das aktuelle Konto verwenden +# Username and domain identification message +username___at___domain___will_be_used_for_identification_a4fd = "{ $username }" bei "{ $domain }" wird für die Identifikation verwendet werden +# Profile username field label +Username_daa7 = Benutzername +# Column title for wallet management +Wallet_5e50 = Wallet +# Display name for wallet management +Wallet_cdca = Wallet +# Hint for deck name input field +We_recommend_short_names_083e = Wir empfehlen kurze Namen +# Profile website field label +Website_7980 = Website +# Placeholder for note input field +Write_a_banger_note_here_bad2 = Schreib hier eine richtig coole Notiz... +# Placeholder text for key input field +Your_key_here_81bd = Dein Schlüssel hier... +# Title for your notes column +Your_Notes_f6db = Deine Notizen +# Title for your notifications column +Your_Notifications_080d = Deine Benachrichtigungen +# Heading for zap (tip) action +Zap_16b4 = Zap +# Hover text for zap button +Zap_this_note_42b2 = Zappe diese Notiz + +# Pluralized strings + +# Search results count +Got__count__results_for___query_85fb = + { $count -> + [one] { $count } Ergebnis für '{ $query } gefunden' + *[other] { $count } Ergebnisse für '{ $query } gefunden' + } diff --git a/assets/translations/fr/main.ftl b/assets/translations/fr/main.ftl @@ -0,0 +1,430 @@ +# Main translation file for Notedeck +# This file contains common UI strings used throughout the application +# Auto-generated by extract_i18n.py - DO NOT EDIT MANUALLY + + +# Regular strings + +# Profile about/bio field label +About_00c0 = A propos +# Display name for account management +Accounts_e233 = Comptes +# Column title for account management +Accounts_f018 = Comptes +# Button label to add a relay +Add_269d = Ajouter +# Label for add column button +Add_47df = Ajouter +# Button label to add a different wallet +Add_a_different_wallet_that_will_only_be_used_for_this_account_de8d = Ajouter un portefeuille différent qui ne sera utilisé que pour ce compte +# Error message for missing wallet +Add_a_wallet_to_continue_d170 = Ajouter un portefeuille pour continuer +# Button label to add a new account +Add_account_1cfc = Ajouter un compte +# Column title for adding new account +Add_Account_d06c = Ajouter un compte +# Display name for adding account +Add_Account_d715 = Ajouter un compte +# Column title for adding algorithm column +Add_Algo_Column_0d75 = Ajouter une colonne Algo +# Display name for adding column +Add_Column_c6ff = Ajouter une colonne +# Column title for adding new column +Add_Column_c764 = Ajouter une colonne +# Display name for adding deck +Add_Deck_6e5f = Ajouter un deck +# Column title for adding new deck +Add_Deck_fabf = Ajouter un deck +# Column title for adding external notifications column +Add_External_Notifications_Column_41ae = Ajouter une colonne pour les notifications externes +# Column title for adding hashtag column +Add_Hashtag_Column_ebf4 = Ajouter une colonne Hashtag +# Column title for adding last notes column +Add_Last_Notes_Column_bbad = Ajouter une colonne pour les dernières notes +# Column title for adding notifications column +Add_Notifications_Column_79f8 = Ajouter une colonne pour les notifications +# Button label to add a relay +Add_relay_269d = Ajouter un relai +# Button label to add a wallet +Add_Wallet_d1be = Ajouter un portefeuille +# Title for algorithmic feeds column +Algo_2452 = Algo +# Description for algorithmic feeds column +Algorithmic_feeds_to_aid_in_note_discovery_d344 = Des fils algorithmiques pour faciliter la découverte de notes +# Label for zap amount input field +Amount_70f0 = Montant +# Button to send message to Dave AI assistant +Ask_b7f4 = Demander +# Placeholder text for Dave AI input field +Ask_dave_anything_33d1 = Demandez à Dave n'importe quoi... +# Profile banner URL field label +Banner_52ef = Bannière +# Beta version label +BETA_8e5d = BETA +# Broadcast the note to all connected relays +Broadcast_fe43 = Diffusion +# Broadcast the note only to local network relays +Broadcast_Local_7e50 = Diffusion locale +# Button label to cancel an action +Cancel_ed3b = Annuler +# Hover text for editable zap amount +Click_to_edit_0414 = Cliquer pour modifier +# Display name for note composition +Compose_Note_ad11 = Ecrire une note +# Column title for note composition +Compose_Note_c094 = Ecrire une note +# Button label to confirm an action +Confirm_f8a6 = Confirmer +# Status label for connected relay +Connected_f8cc = Connecté +# Status label for connecting relay +Connecting_6b7e = Connexion... +# Title for contact list column +Contact_List_f85a = Liste de contacts +# Column title for contact lists +Contacts_7533 = Contacts +# Timeline kind label for contact lists +Contacts_8b98 = Contacts +# Column title for last notes per contact +Contacts__last_notes_3f84 = Contacts (dernières notes) +# Button label to copy logs +Copy_a688 = Copier +# Button to copy media link to clipboard +Copy_Link_dc7c = Copier le lien +# Copy the unique note identifier to clipboard +Copy_Note_ID_6b45 = Copier l'ID de la note +# Copy the raw note data in JSON format to clipboard +Copy_Note_JSON_9e4e = Copier le JSON de la note +# Copy the author's public key to clipboard +Copy_Pubkey_9cc4 = Copier la Pubkey +# Copy the text content of the note to clipboard +Copy_Text_f81c = Copier le texte +# Relative time in days +count_d_b9be = { $count }j +# Relative time in hours +count_h_3ecb = { $count }h +# Relative time in minutes +count_m_b41e = { $count }min +# Relative time in months +count_mo_7aba = { $count }m +# Relative time in seconds +count_s_aa26 = { $count }s +# Relative time in weeks +count_w_7468 = { $count }sem +# Relative time in years +count_y_9408 = { $count }a +# Button to create a new account +Create_Account_6994 = Créer un compte +# Button label to create a new deck +Create_Deck_16b7 = Créer un deck +# Column title for custom timelines +Custom_a69e = Personnaliser +# Display name for custom timelines +Custom_cb4f = Personnaliser +# Column title for zap amount customization +Customize_Zap_Amount_cfc4 = Personnaliser le montant du Zap +# Display name for zap customization +Customize_Zap_Amount_ed29 = Personnaliser le montant du Zap +# Column title for support page +Damus_Support_27c0 = Assistance Damus +# Label for deck name input field +Deck_name_cd32 = Nom du deck +# Label for decks section in side panel +DECKS_1fad = DECKS +# Label for default zap amount input +Default_amount_per_zap_399d = Montant par défaut pour un Zap : +# Name of the default deck feed +Default_Deck_fcca = Deck par défaut +# Button label to delete a deck +Delete_Deck_bb29 = Supprimer le deck +# Tooltip for deleting a column +Delete_this_column_8d5a = Supprimer cette colonne +# Button label to delete a wallet +Delete_Wallet_d1d4 = Supprimer le portefeuille +# Profile display name field label +Display_name_f9d9 = Nom d'utilisateur +# Domain identification message +domain___will_be_used_for_identification_b67e = "{ $domain }" sera utilisé pour l'identification +# Column title for editing deck +Edit_Deck_4018 = Modifier le deck +# Display name for editing deck +Edit_Deck_c9ba = Modifier le deck +# Button label to edit a deck +Edit_Deck_fd93 = Modifier le deck +# Button label to edit user profile +Edit_Profile_49e6 = Modifier le profil +# Display name for profile editing +Edit_Profile_6699 = Modifier le profil +# Column title for profile editing +Edit_Profile_8ad4 = Modifier le profil +# Placeholder for hashtag input field +Enter_the_desired_hashtags_here__for_multiple_space-separated_7a69 = Entrez les hashtags souhaités ici (séparez-les avec un espace) +# Placeholder for relay input field +Enter_the_relay_here_1c8b = Entrer un relai ici +# Hint text to prompt entering the user's public key. +Enter_the_user_s_key__npub__hex__nip05__here_650c = Entrer ici la clé de l'utilisateur (npub, hex, nip05)... +# Label for key input field. Key can be public key (npub), private key (nsec), or Nostr address (NIP-05). +Enter_your_key_0fca = Entrez votre clé +# Instructions for entering Nostr credentials +Enter_your_public_key__npub___nostr_address__e_g___address____or_private_key__nsec___You_must_enter_your_private_key_to_be_able_to_post__reply__etc_48e9 = Entrez votre clé publique (npub), votre adresse nostr (par exemple { $address }), ou votre clé privée (nsec). Vous devez entrer votre clé privée pour pouvoir poster, répondre, etc. +# Label for find user button +Find_User_bd12 = Trouver un utilisateur +# Timeline kind label for hashtag feeds +Hashtag_a0ab = Hashtag +# Display name for hashtag feeds +Hashtags_617e = Hashtags +# Title for hashtags column +Hashtags_f8e0 = Hashtags +# Display name for home feed +Home_3efc = Accueil +# Title for Home column +Home_8c19 = Accueil +# Label for deck icon selection +Icon_b0ab = Icone +# Title for individual user column +Individual_b776 = Individuel +# Error message for invalid zap amount +Invalid_amount_6630 = Montant invalide +# Error message for invalid key input +Invalid_key_4726 = Clé non valide. +# Error message for invalid Nostr Wallet Connect URI +Invalid_NWC_URI_031b = Invalide NWC URI +# Zap amount button for 100000 sats. Abbreviated because the button is too small to display the full amount. +k_100K_686c = 100K +# Zap amount button for 10000 sats. Abbreviated because the button is too small to display the full amount. +k_10K_f7e6 = 10K +# Zap amount button for 20000 sats. Abbreviated because the button is too small to display the full amount. +k_20K_4977 = 20K +# Zap amount button for 50000 sats. Abbreviated because the button is too small to display the full amount. +k_50K_c2dc = 50K +# Zap amount button for 5000 sats. Abbreviated because the button is too small to display the full amount. +k_5K_f7e6 = 5K +# Description for your notes column +Keep_track_of_your_notes___replies_a334 = Gardez une trace de vos notes & réponses +# Title for last note per user column +Last_Note_per_User_17ad = Dernière note par utilisateur +# Timeline kind label for last notes per pubkey +Last_Notes_aefe = Dernières notes +# Display name for last notes per contact +Last_Per_Pubkey__Contact_33ce = Dernière par Pubkey (Contact) +# Bitcoin Lightning network address field label +Lightning_network_address__lud16_ea51 = Adresse réseau Lightning (lud16) +# Login page title +Login_9eef = Se connecter +# Login button text +Login_now___let_s_do_this_5630 = Se connecter maintenant - c'est parti ! +# Text shown on blurred media from unfollowed users +Media_from_someone_you_don_t_follow_5611 = Média d'une personne que vous ne suivez pas +# Tooltip for moving a column +Moves_this_column_to_another_position_0d4b = Déplace cette colonne vers une autre position +# Title for the user's deck +My_Deck_4ac5 = Mon deck +# Label asking if the user is new to Nostr. Underneath this label is a button to create an account. +New_to_Nostr_a2fd = Nouveau sur Nostr ? +# NIP-05 identity field label +Nostr_address__NIP-05_identity_74a2 = Adresse Nostr (NIP-05 identité) +# Default username when profile is not available +nostrich_df29 = nostrich +# Status label for disconnected relay +Not_Connected_6292 = Non connecté +# Link text for note references +note_cad6 = note +# Beta product warning message +Notedeck_is_a_beta_product__Expect_bugs_and_contact_us_when_you_run_into_issues_a671 = Notedeck est un produit en phase beta. Attendez-vous à des bugs et contactez-nous si vous rencontrez des problèmes. +# Filter label for notes only view +Notes_03fb = Notes +# Label for notes-only filter +Notes_60d2 = Notes +# Filter label for notes and replies view +Notes___Replies_1ec2 = Notes & Réponses +# Label for notes and replies filter +Notes___Replies_6e3b = Notes & Réponses +# Timeline kind label for notifications +Notifications_6228 = Notifications +# Display name for notifications +Notifications_8029 = Notifications +# Column title for notifications +Notifications_d673 = Notifications +# Title for notifications column +Notifications_ef56 = Notifications +# Relative time for very recent events (less than 3 seconds) +now_2181 = maintenant +# Button label to open email client +Open_Email_25e9 = Ouvrir Email +# Instruction to open email client +Open_your_default_email_client_to_get_help_from_the_Damus_team_68dc = Ouvrez votre service d'email par défaut pour obtenir de l'aide de l'équipe Damus +# Placeholder text for NWC URI input +Paste_your_NWC_URI_here_b471 = Collez ici votre NWC URI... +# Error message for missing deck name +Please_create_a_name_for_the_deck_38e7 = Veuillez créer un nom pour le deck. +# Error message for missing deck name and icon +Please_create_a_name_for_the_deck_and_select_an_icon_0add = Veuillez créer un nom pour le deck et sélectionner une icône. +# Error message for missing deck icon +Please_select_an_icon_655b = Veuillez choisir une icône. +# Button label to post a note +Post_now_8a49 = Publier maintenant +# Instruction for copying logs +Press_the_button_below_to_copy_your_most_recent_logs_to_your_system_s_clipboard__Then_paste_it_into_your_email_322e = Cliquez sur le bouton ci-dessous pour copier vos données les plus récentes dans le presse-papiers de votre système. Collez-les ensuite dans votre courrier électronique. +# Display name for user profiles +Profile_2478 = Profil +# Timeline kind label for user profiles +Profile_9027 = Profil +# Profile picture URL field label +Profile_picture_81ff = Photo de profil +# Column title for quote composition +Quote_475c = Citation +# Display name for quote composition +Quote_a38e = Citation +# Error message when quote note cannot be found +Quote_of_unknown_note_e4f0 = Citation d'une note inconnue +# Label for read-only profile mode +Read_only_82ff = En lecture seule +# Display name for relay management +Relays_7335 = Relais +# Column title for relay management +Relays_9d89 = Relais +# Label for relay list section +Relays_ad5e = Relais +# Column title for reply composition +Reply_3bf1 = Répondre +# Display name for reply composition +Reply_b40f = Répondre +# Hover text for reply button +Reply_to_this_note_f5de = Répondre à cette note +# Error message when reply note cannot be found +Reply_to_unknown_note_4401 = Répondre à la note inconnue +# Fallback template for replying to user +replying_to__user_15ab = répondre à { $user } +# Template for replying to user in unknown thread +replying_to__user__in_someone_s_thread_e148 = répondre à { $user } dans le fil de discussion +# Template for replying to note in different user's thread +replying_to__user__s__note__in__thread_user__s__thread_daa8 = répondre à la { $note } de { $user } dans le { $thread } sur le { $thread_user } +# Template for replying to user's note +replying_to__user__s__note_ccba = répondre à la { $note } de { $user } +# Template for replying to root thread +replying_to__user__s__thread_444d = répondre dans le { $thread } de { $user } +# Fallback text when reply note is not found +replying_to_a_note_e0bc = répondre à une note +# Hover text for repost button +Repost_this_note_8e56 = Republier cette note +# Label for reposted notes +Reposted_61c8 = Republier +# Heading for support section +Running_into_a_bug_1796 = Vous rencontrez un problème ? +# Label for satoshis (Bitcoin unit) for custom zap amount input field +SATS_45d7 = SATS +# Unit label for satoshis (Bitcoin unit) for configuring default zap amount in wallet settings. +sats_e5ec = sats +# Button to save default zap amount +Save_6f7c = Enregistrer +# Button label to save profile changes +Save_changes_00db = Enregistrer les modifications +# Display name for search results +Search_0aa0 = Recherche +# Display name for search page +Search_4503 = Rechercher +# Timeline kind label for search results +Search_a0b8 = Recherche +# Column title for search page +Search_c573 = Rechercher +# Placeholder for search notes input field +Search_notes_42a6 = Rechercher des notes... +# Search in progress message +Searching_for___query_5d18 = Recherche par '{ $query }' +# Description for Home column +See_notes_from_your_contacts_ac16 = Afficher les notes de vos contacts +# Description for universe column +See_the_whole_nostr_universe_7694 = Voir l'ensemble de l'univers nostr +# Button label to send a zap +Send_1ea4 = Envoyer +# Description for last note per user column +Show_the_last_note_for_each_user_from_a_list_50e7 = Afficher la dernière note de chaque utilisateur à partir d'une liste +# Button label to sign out of account +Sign_out_337b = Se déconnecter +# Title for someone else's notes column +Someone_else_s_Notes_7e5f = Notes de quelqu'un d'autre +# Title for someone else's notifications column +Someone_else_s_Notifications_82e6 = Notifications de quelqu'un d'autre +# Description for contact list column +Source_the_last_note_for_each_user_in_your_contact_list_e157 = Source de la dernière note pour chaque utilisateur de votre liste de contacts +# Description for hashtags column +Stay_up_to_date_with_a_certain_hashtag_88e3 = Restez informé sur un hashtag +# Description for notifications column +Stay_up_to_date_with_notifications_and_mentions_6f4e = Restez informé avec les notifications et les mentions +# Description for someone else's notes column +Stay_up_to_date_with_someone_else_s_notes___replies_464c = Restez informé des notes et des réponses de quelqu'un d'autre +# Description for someone else's notifications column +Stay_up_to_date_with_someone_else_s_notifications_and_mentions_3473 = Restez informé des notifications et mentions de quelqu'un d'autre +# Description for individual user column +Stay_up_to_date_with_someone_s_notes___replies_aa78 = Restez informé des notes et réponses de quelqu'un +# Description for your notifications column +Stay_up_to_date_with_your_notifications_and_mentions_e73e = Restez informé pour vos notifications et mentions +# Step 1 label in support instructions +Step_1_8656 = Etape 1 +# Step 2 label in support instructions +Step_2_d08d = Etape 2 +# Column title for subscribing to external user +Subscribe_to_someone_else_s_notes_d1e9 = S'abonner aux notes de quelqu'un d'autre +# Column title for subscribing to individual user +Subscribe_to_someone_s_notes_b3c8 = S'abonner aux notes de quelqu'un +# Display name for support page +Support_a4b4 = Assistance +# Hover text for dark mode toggle button +Switch_to_dark_mode_4dec = Passer en mode sombre +# Hover text for light mode toggle button +Switch_to_light_mode_72ce = Passer en mode clair +# Button text to load blurred media +Tap_to_Load_4b05 = Appuyer pour charger +# Message shown when Dave trial period has ended +The_Dave_Nostr_AI_assistant_trial_has_ended_____Thanks_for_testing__Zap-enabled_Dave_coming_soon_c6c7 = La période d'essai de l'assistant IA Dave Nostr est terminée :(. Merci de l'avoir testé ! Un Dave compatible-Zap sera bientôt disponible ! +# Column title for note thread view +Thread_0f20 = Fil +# Display name for thread view +Thread_9957 = Fil +# Link text for thread references +thread_ad1f = fil +# Generic timeline kind label +Timeline_b0fc = Chronologie +# Timeline kind label for universe feed +Universe_0a3e = Universel +# Display name for universe feed +Universe_d47e = Universel +# Title for universe column +Universe_e01e = Universel +# Column title for universe feed +Universe_ffaa = Universel +# Checkbox label for using wallet only for current account +Use_this_wallet_for_the_current_account_only_61dc = Utiliser ce portefeuille pour le compte actuel +# Username and domain identification message +username___at___domain___will_be_used_for_identification_a4fd = "{ $username }" à "{ $domain }" sera utilisé pour l'identification +# Profile username field label +Username_daa7 = Nom d'utilisateur +# Column title for wallet management +Wallet_5e50 = Portefeuille +# Display name for wallet management +Wallet_cdca = Portefeuille +# Hint for deck name input field +We_recommend_short_names_083e = Nous recommandons des noms courts +# Profile website field label +Website_7980 = Site web +# Placeholder for note input field +Write_a_banger_note_here_bad2 = Écrivez une note banger ici... +# Placeholder text for key input field +Your_key_here_81bd = Votre clé ici... +# Title for your notes column +Your_Notes_f6db = Vos Notes +# Title for your notifications column +Your_Notifications_080d = Vos notifications +# Heading for zap (tip) action +Zap_16b4 = Zap +# Hover text for zap button +Zap_this_note_42b2 = Zap cette note + +# Pluralized strings + +# Search results count +Got__count__results_for___query_85fb = + { $count -> + [one] A obtenu { $count } pour '{ $query }' + *[other] A obtenu { $count } pour '{ $query }' + } diff --git a/assets/translations/zh-CN/main.ftl b/assets/translations/zh-CN/main.ftl @@ -0,0 +1,431 @@ +# Main translation file for Notedeck +# This file contains common UI strings used throughout the application +# Auto-generated by extract_i18n.py - DO NOT EDIT MANUALLY + + +# Regular strings + +# Profile about/bio field label +About_00c0 = 关于 +# Display name for account management +Accounts_e233 = 帐户 +# Column title for account management +Accounts_f018 = 帐户 +# Button label to add a relay +Add_269d = 添加 +# Label for add column button +Add_47df = 添加 +# Button label to add a different wallet +Add_a_different_wallet_that_will_only_be_used_for_this_account_de8d = 添加一个仅用于此帐户的不同钱包 +# Error message for missing wallet +Add_a_wallet_to_continue_d170 = 添加钱包以继续 +# Button label to add a new account +Add_account_1cfc = 添加帐户 +# Column title for adding new account +Add_Account_d06c = 添加帐户 +# Display name for adding account +Add_Account_d715 = 添加帐户 +# Column title for adding algorithm column +Add_Algo_Column_0d75 = 添加算法列 +# Display name for adding column +Add_Column_c6ff = 添加列 +# Column title for adding new column +Add_Column_c764 = 添加列 +# Display name for adding deck +Add_Deck_6e5f = 添加仪表板 +# Column title for adding new deck +Add_Deck_fabf = 添加仪表板 +# Column title for adding external notifications column +Add_External_Notifications_Column_41ae = 添加外部通知列 +# Column title for adding hashtag column +Add_Hashtag_Column_ebf4 = 添加标签列 +# Column title for adding last notes column +Add_Last_Notes_Column_bbad = 添加最新笔记列 +# Column title for adding notifications column +Add_Notifications_Column_79f8 = 添加通知列 +# Button label to add a relay +Add_relay_269d = 添加中继器 +# Button label to add a wallet +Add_Wallet_d1be = 添加钱包 +# Title for algorithmic feeds column +Algo_2452 = 算法 +# Description for algorithmic feeds column +Algorithmic_feeds_to_aid_in_note_discovery_d344 = 用于帮助发现笔记的算法源 +# Label for zap amount input field +Amount_70f0 = 金额 +# Button to send message to Dave AI assistant +Ask_b7f4 = 询问 +# Placeholder text for Dave AI input field +Ask_dave_anything_33d1 = 向 Dave 提问任何问题… +# Profile banner URL field label +Banner_52ef = 横幅 +# Beta version label +BETA_8e5d = BETA +# Broadcast the note to all connected relays +Broadcast_fe43 = 广播 +# Broadcast the note only to local network relays +Broadcast_Local_7e50 = 仅广播至本地中继 +# Button label to cancel an action +Cancel_ed3b = 取消 +# Hover text for editable zap amount +Click_to_edit_0414 = 点击以编辑 +# Display name for note composition +Compose_Note_ad11 = 撰写笔记 +# Column title for note composition +Compose_Note_c094 = 撰写笔记 +# Button label to confirm an action +Confirm_f8a6 = 确认 +# Status label for connected relay +Connected_f8cc = 已连接 +# Status label for connecting relay +Connecting_6b7e = 正在连接... +# Title for contact list column +Contact_List_f85a = 联系人列表 +# Column title for contact lists +Contacts_7533 = 联系人 +# Timeline kind label for contact lists +Contacts_8b98 = 联系人 +# Column title for last notes per contact +Contacts__last_notes_3f84 = 联系人(最新笔记) +# Button label to copy logs +Copy_a688 = 复制 +# Button to copy media link to clipboard +Copy_Link_dc7c = 复制链接 +# Copy the unique note identifier to clipboard +Copy_Note_ID_6b45 = 复制笔记 ID +# Copy the raw note data in JSON format to clipboard +Copy_Note_JSON_9e4e = 复制笔记 JSON +# Copy the author's public key to clipboard +Copy_Pubkey_9cc4 = 复制公钥 +# Copy the text content of the note to clipboard +Copy_Text_f81c = 复制文本 +# Relative time in days +count_d_b9be = { $count }天 +# Relative time in hours +count_h_3ecb = { $count }小时 +# Relative time in minutes +count_m_b41e = { $count }分钟 +# Relative time in months +count_mo_7aba = { $count }月 +# Relative time in seconds +count_s_aa26 = { $count }秒 +# Relative time in weeks +count_w_7468 = { $count }周 +# Relative time in years +count_y_9408 = { $count }年 +# Button to create a new account +Create_Account_6994 = 创建帐户 +# Button label to create a new deck +Create_Deck_16b7 = 创建仪表板 +# Column title for custom timelines +Custom_a69e = 自定义 +# Display name for custom timelines +Custom_cb4f = 自定义 +# Column title for zap amount customization +Customize_Zap_Amount_cfc4 = 自定义打闪金额 +# Display name for zap customization +Customize_Zap_Amount_ed29 = 自定义打闪金额 +# Column title for support page +Damus_Support_27c0 = 达摩支持 +# Label for deck name input field +Deck_name_cd32 = 仪表板名称 +# Label for decks section in side panel +DECKS_1fad = 仪表板 +# Label for default zap amount input +Default_amount_per_zap_399d = 打闪默认金额: +# Name of the default deck feed +Default_Deck_fcca = 默认仪表板 +# Button label to delete a deck +Delete_Deck_bb29 = 删除仪表板 +# Tooltip for deleting a column +Delete_this_column_8d5a = 删除此列 +# Button label to delete a wallet +Delete_Wallet_d1d4 = 删除钱包 +# Profile display name field label +Display_name_f9d9 = 显示名称 +# Domain identification message +domain___will_be_used_for_identification_b67e = "{ $domain }" 将用于身份识别 +# Column title for editing deck +Edit_Deck_4018 = 编辑仪表板 +# Display name for editing deck +Edit_Deck_c9ba = 编辑仪表板 +# Button label to edit a deck +Edit_Deck_fd93 = 编辑仪表板 +# Button label to edit user profile +Edit_Profile_49e6 = 编辑个人档案 +# Display name for profile editing +Edit_Profile_6699 = 编辑个人档案 +# Column title for profile editing +Edit_Profile_8ad4 = 编辑个人档案 +# Placeholder for hashtag input field +Enter_the_desired_hashtags_here__for_multiple_space-separated_7a69 = 在此输入所需的标签 (用于多个时以空格分隔) +# Placeholder for relay input field +Enter_the_relay_here_1c8b = 在此输入中继器 +# Hint text to prompt entering the user's public key. +Enter_the_user_s_key__npub__hex__nip05__here_650c = 在此输入用户的密钥(npub、hex、nip05)... +# Label for key input field. Key can be public key (npub), private key (nsec), or Nostr address (NIP-05). +Enter_your_key_0fca = 请输入你的密钥 +# Instructions for entering Nostr credentials +Enter_your_public_key__npub___nostr_address__e_g___address____or_private_key__nsec___You_must_enter_your_private_key_to_be_able_to_post__reply__etc_48e9 = 请输入你的公钥(npub)、nostr 地址(如 { $address })、或私钥(nsec)。 你必须输入你的私钥才能发帖、回复等等。 +# Label for find user button +Find_User_bd12 = 查找用户 +# Timeline kind label for hashtag feeds +Hashtag_a0ab = 标签 +# Display name for hashtag feeds +Hashtags_617e = 标签 +# Title for hashtags column +Hashtags_f8e0 = 标签 +# Display name for home feed +Home_3efc = 主页 +# Title for Home column +Home_8c19 = 主页 +# Label for deck icon selection +Icon_b0ab = 图标 +# Title for individual user column +Individual_b776 = 个人 +# Error message for invalid zap amount +Invalid_amount_6630 = 无效金额 +# Error message for invalid key input +Invalid_key_4726 = 无效密钥。 +# Error message for invalid Nostr Wallet Connect URI +Invalid_NWC_URI_031b = 无效 NWC URI +# Zap amount button for 100000 sats. Abbreviated because the button is too small to display the full amount. +k_100K_686c = 10万 +# Zap amount button for 10000 sats. Abbreviated because the button is too small to display the full amount. +k_10K_f7e6 = 1万 +# Zap amount button for 20000 sats. Abbreviated because the button is too small to display the full amount. +k_20K_4977 = 2万 +# Zap amount button for 50000 sats. Abbreviated because the button is too small to display the full amount. +k_50K_c2dc = 5万 +# Zap amount button for 5000 sats. Abbreviated because the button is too small to display the full amount. +k_5K_f7e6 = 5千 +# Description for your notes column +Keep_track_of_your_notes___replies_a334 = 随时查看你的笔记和回复 +# Title for last note per user column +Last_Note_per_User_17ad = 每个用户的最新笔记 +# Timeline kind label for last notes per pubkey +Last_Notes_aefe = 最新笔记 +# Display name for last notes per contact +Last_Per_Pubkey__Contact_33ce = 每个公钥(联系人)的最新笔记 +# Bitcoin Lightning network address field label +Lightning_network_address__lud16_ea51 = 闪电网络地址(lud16) +# Login page title +Login_9eef = 登录 +# Login button text +Login_now___let_s_do_this_5630 = 立即登录——让我们开始吧! +# Text shown on blurred media from unfollowed users +Media_from_someone_you_don_t_follow_5611 = 来自你不关注的用户的媒体 +# Tooltip for moving a column +Moves_this_column_to_another_position_0d4b = 将此列移动到其他位置 +# Title for the user's deck +My_Deck_4ac5 = 我的仪表板 +# Label asking if the user is new to Nostr. Underneath this label is a button to create an account. +New_to_Nostr_a2fd = 第一次使用 Nostr? +# NIP-05 identity field label +Nostr_address__NIP-05_identity_74a2 = Nostr 地址 (NIP-05 标识符) +# Default username when profile is not available +nostrich_df29 = nostr 用户 +# Status label for disconnected relay +Not_Connected_6292 = 未连接 +# Link text for note references +note_cad6 = 笔记 +# Beta product warning message +Notedeck_is_a_beta_product__Expect_bugs_and_contact_us_when_you_run_into_issues_a671 = Notedeck目前是测试版产品。可能会出现故障,如果遇到问题请及时联系我们。 +# Filter label for notes only view +Notes_03fb = 笔记 +# Label for notes-only filter +Notes_60d2 = 笔记 +# Filter label for notes and replies view +Notes___Replies_1ec2 = 笔记和回复 +# Label for notes and replies filter +Notes___Replies_6e3b = 笔记和回复 +# Timeline kind label for notifications +Notifications_6228 = 通知 +# Display name for notifications +Notifications_8029 = 通知 +# Column title for notifications +Notifications_d673 = 通知 +# Title for notifications column +Notifications_ef56 = 通知 +# Relative time for very recent events (less than 3 seconds) +now_2181 = 刚刚 +# Button label to open email client +Open_Email_25e9 = 打开电子邮箱 +# Instruction to open email client +Open_your_default_email_client_to_get_help_from_the_Damus_team_68dc = 打开你的默认电子邮件客户端以获得达摩团队的帮助 +# Placeholder text for NWC URI input +Paste_your_NWC_URI_here_b471 = 在此粘贴你的 NWC URI... +# Error message for missing deck name +Please_create_a_name_for_the_deck_38e7 = 请为仪表板创建一个名称。 +# Error message for missing deck name and icon +Please_create_a_name_for_the_deck_and_select_an_icon_0add = 请为仪表板创建一个名称并选择一个图标。 +# Error message for missing deck icon +Please_select_an_icon_655b = 请选择一个图标。 +# Button label to post a note +Post_now_8a49 = 立即发布 +# Instruction for copying logs +Press_the_button_below_to_copy_your_most_recent_logs_to_your_system_s_clipboard__Then_paste_it_into_your_email_322e = 请按下面的按钮将你最近的日志复制到系统剪贴板,然后将其粘贴到你的电子邮件。 +# Display name for user profiles +Profile_2478 = 个人资料 +# Timeline kind label for user profiles +Profile_9027 = 个人资料 +# Profile picture URL field label +Profile_picture_81ff = 头像图片 +# Column title for quote composition +Quote_475c = 引用 +# Display name for quote composition +Quote_a38e = 引用 +# Error message when quote note cannot be found +Quote_of_unknown_note_e4f0 = 引用未知笔记 +# Label for read-only profile mode +Read_only_82ff = 只读 +# Display name for relay management +Relays_7335 = 中继器 +# Column title for relay management +Relays_9d89 = 中继器 +# Label for relay list section +Relays_ad5e = 中继器 +# Column title for reply composition +Reply_3bf1 = 回复 +# Display name for reply composition +Reply_b40f = 回复 +# Hover text for reply button +Reply_to_this_note_f5de = 回复此笔记 +# Error message when reply note cannot be found +Reply_to_unknown_note_4401 = 回复未知笔记 +# Fallback template for replying to user +replying_to__user_15ab = 正在回复{ $user } +# Template for replying to user in unknown thread +replying_to__user__in_someone_s_thread_e148 = 正在回复某人帖子中的{ $user } +# Template for replying to note in different user's thread +replying_to__user__s__note__in__thread_user__s__thread_daa8 = 正在回复在{ $thread_user }的{ $thread }中的{ $user }的{ $note } +# Template for replying to user's note +replying_to__user__s__note_ccba = 正在回复{ $user }的{ $note } +# Template for replying to root thread +replying_to__user__s__thread_444d = 正在回复{ $user }的{ $thread } +# Fallback text when reply note is not found +replying_to_a_note_e0bc = 正在回复笔记 +# Hover text for repost button +Repost_this_note_8e56 = 转发此笔记 +# Label for reposted notes +Reposted_61c8 = 已转发 +# Heading for support section +Running_into_a_bug_1796 = 遇到故障了吗? +# Label for satoshis (Bitcoin unit) for custom zap amount input field +SATS_45d7 = 聪 +# Unit label for satoshis (Bitcoin unit) for configuring default zap amount in wallet settings. +sats_e5ec = 聪 +# Button to save default zap amount +Save_6f7c = 保存 +# Button label to save profile changes +Save_changes_00db = 保存变更 +# Display name for search results +Search_0aa0 = 搜索 +# Display name for search page +Search_4503 = 搜索 +# Timeline kind label for search results +Search_a0b8 = 搜索 +# Column title for search page +Search_c573 = 搜索 +# Placeholder for search notes input field +Search_notes_42a6 = 搜索笔记... +# Search in progress message +Searching_for___query_5d18 = 正在搜索'{ $query }' +# Description for Home column +See_notes_from_your_contacts_ac16 = 查看来自你的联系人的笔记 +# Description for universe column +See_the_whole_nostr_universe_7694 = 查看整个 nostr 宇宙 +# Button label to send a zap +Send_1ea4 = 发送 +# Description for last note per user column +Show_the_last_note_for_each_user_from_a_list_50e7 = 显示列表中每个用户的最新一条笔记 +# Button label to sign out of account +Sign_out_337b = 登出 +# Title for someone else's notes column +Someone_else_s_Notes_7e5f = 其他人的笔记 +# Title for someone else's notifications column +Someone_else_s_Notifications_82e6 = 其他人的通知 +# Description for contact list column +Source_the_last_note_for_each_user_in_your_contact_list_e157 = 获取你的联系人列表中每个用户的最新一条笔记 +# Description for hashtags column +Stay_up_to_date_with_a_certain_hashtag_88e3 = 获取某个标签的最新动态 +# Description for notifications column +Stay_up_to_date_with_notifications_and_mentions_6f4e = 获取通知和提及的最新动态 +# Description for someone else's notes column +Stay_up_to_date_with_someone_else_s_notes___replies_464c = 获取其他用户的笔记和回复的最新动态 +# Description for someone else's notifications column +Stay_up_to_date_with_someone_else_s_notifications_and_mentions_3473 = 获取其他用户的通知和提及的最新动态 +# Description for individual user column +Stay_up_to_date_with_someone_s_notes___replies_aa78 = 获取某人的笔记和回复的最新动态 +# Description for your notifications column +Stay_up_to_date_with_your_notifications_and_mentions_e73e = 获取你的通知和提及的最新动态 +# Step 1 label in support instructions +Step_1_8656 = 第一步 +# Step 2 label in support instructions +Step_2_d08d = 第二步 +# Column title for subscribing to external user +Subscribe_to_someone_else_s_notes_d1e9 = 订阅他人的笔记 +# Column title for subscribing to individual user +Subscribe_to_someone_s_notes_b3c8 = 订阅某人的笔记 +# Display name for support page +Support_a4b4 = 获取帮助 +# Hover text for dark mode toggle button +Switch_to_dark_mode_4dec = 切换到暗色模式 +# Hover text for light mode toggle button +Switch_to_light_mode_72ce = 切换到亮色模式 +# Button text to load blurred media +Tap_to_Load_4b05 = 点击加载 +# Message shown when Dave trial period has ended +The_Dave_Nostr_AI_assistant_trial_has_ended_____Thanks_for_testing__Zap-enabled_Dave_coming_soon_c6c7 = Dave Nostr AI 助手试用期已经结束 :(。感谢测试!可打闪付款的 Dave 即将来临! +# Column title for note thread view +Thread_0f20 = 帖子 +# Display name for thread view +Thread_9957 = 帖子 +# Link text for thread references +thread_ad1f = 帖子 +# Generic timeline kind label +Timeline_b0fc = 时间线 +# Timeline kind label for universe feed +Universe_0a3e = 宇宙 +# Display name for universe feed +Universe_d47e = 宇宙 +# Title for universe column +Universe_e01e = 宇宙 +# Column title for universe feed +Universe_ffaa = 宇宙 +# Checkbox label for using wallet only for current account +Use_this_wallet_for_the_current_account_only_61dc = 此钱包仅限用于当前帐户 +# Username and domain identification message +username___at___domain___will_be_used_for_identification_a4fd = "{ $username }" 于 "{ $domain }" 将被用于身份识别 +# Profile username field label +Username_daa7 = 用户名 +# Column title for wallet management +Wallet_5e50 = 钱包 +# Display name for wallet management +Wallet_cdca = 钱包 +# Hint for deck name input field +We_recommend_short_names_083e = 我们推荐使用简短的名称 +# Profile website field label +Website_7980 = 网站 +# Placeholder for note input field +Write_a_banger_note_here_bad2 = 在这里写条超赞的笔记... +# Placeholder text for key input field +Your_key_here_81bd = 在此输入你的密钥... +# Title for your notes column +Your_Notes_f6db = 你的笔记 +# Title for your notifications column +Your_Notifications_080d = 你的通知 +# Heading for zap (tip) action +Zap_16b4 = 打闪 +# Hover text for zap button +Zap_this_note_42b2 = 打闪此笔记 + +# Pluralized strings + +# Search results count +Got__count__results_for___query_85fb = + { + $count -> + [one] 查询"{ $query }"得到{ $count }条结果 + *[other] 查询"{ $query }"得到{ $count }条结果 + } diff --git a/assets/translations/zh-TW/main.ftl b/assets/translations/zh-TW/main.ftl @@ -0,0 +1,431 @@ +# Main translation file for Notedeck +# This file contains common UI strings used throughout the application +# Auto-generated by extract_i18n.py - DO NOT EDIT MANUALLY + + +# Regular strings + +# Profile about/bio field label +About_00c0 = 關於 +# Display name for account management +Accounts_e233 = 帳戶 +# Column title for account management +Accounts_f018 = 帳戶 +# Button label to add a relay +Add_269d = 添加 +# Label for add column button +Add_47df = 添加 +# Button label to add a different wallet +Add_a_different_wallet_that_will_only_be_used_for_this_account_de8d = 添加一個僅用於此帳戶的不同錢包 +# Error message for missing wallet +Add_a_wallet_to_continue_d170 = 添加錢包以繼續 +# Button label to add a new account +Add_account_1cfc = 新增帳戶 +# Column title for adding new account +Add_Account_d06c = 新增帳戶 +# Display name for adding account +Add_Account_d715 = 新增帳戶 +# Column title for adding algorithm column +Add_Algo_Column_0d75 = 添加算法列 +# Display name for adding column +Add_Column_c6ff = 添加列 +# Column title for adding new column +Add_Column_c764 = 添加列 +# Display name for adding deck +Add_Deck_6e5f = 添加儀表板 +# Column title for adding new deck +Add_Deck_fabf = 添加儀表板 +# Column title for adding external notifications column +Add_External_Notifications_Column_41ae = 添加外部通知列 +# Column title for adding hashtag column +Add_Hashtag_Column_ebf4 = 添加標籤列 +# Column title for adding last notes column +Add_Last_Notes_Column_bbad = 添加最新筆記列 +# Column title for adding notifications column +Add_Notifications_Column_79f8 = 添加通知列 +# Button label to add a relay +Add_relay_269d = 新增中繼器 +# Button label to add a wallet +Add_Wallet_d1be = 新增錢包 +# Title for algorithmic feeds column +Algo_2452 = 算法 +# Description for algorithmic feeds column +Algorithmic_feeds_to_aid_in_note_discovery_d344 = 用於幫助發現筆記的算法源 +# Label for zap amount input field +Amount_70f0 = 金額 +# Button to send message to Dave AI assistant +Ask_b7f4 = 詢問 +# Placeholder text for Dave AI input field +Ask_dave_anything_33d1 = 向 Dave 提問任何問題... +# Profile banner URL field label +Banner_52ef = 橫幅 +# Beta version label +BETA_8e5d = 測試版 +# Broadcast the note to all connected relays +Broadcast_fe43 = 廣播 +# Broadcast the note only to local network relays +Broadcast_Local_7e50 = 僅廣播至本地中繼 +# Button label to cancel an action +Cancel_ed3b = 取消 +# Hover text for editable zap amount +Click_to_edit_0414 = 點擊編輯 +# Display name for note composition +Compose_Note_ad11 = 撰寫筆記 +# Column title for note composition +Compose_Note_c094 = 撰寫筆記 +# Button label to confirm an action +Confirm_f8a6 = 確認 +# Status label for connected relay +Connected_f8cc = 已連接 +# Status label for connecting relay +Connecting_6b7e = 正在連接 ... +# Title for contact list column +Contact_List_f85a = 聯絡人列表 +# Column title for contact lists +Contacts_7533 = 聯絡人 +# Timeline kind label for contact lists +Contacts_8b98 = 聯絡人 +# Column title for last notes per contact +Contacts__last_notes_3f84 = 聯絡人(最新筆記) +# Button label to copy logs +Copy_a688 = 複製 +# Button to copy media link to clipboard +Copy_Link_dc7c = 複製鏈接 +# Copy the unique note identifier to clipboard +Copy_Note_ID_6b45 = 複製筆記 ID +# Copy the raw note data in JSON format to clipboard +Copy_Note_JSON_9e4e = 複製筆記 JSON +# Copy the author's public key to clipboard +Copy_Pubkey_9cc4 = 複製公鑰 +# Copy the text content of the note to clipboard +Copy_Text_f81c = 複製文字 +# Relative time in days +count_d_b9be = { $count }天 +# Relative time in hours +count_h_3ecb = { $count }小時 +# Relative time in minutes +count_m_b41e = { $count }分鐘 +# Relative time in months +count_mo_7aba = { $count }月 +# Relative time in seconds +count_s_aa26 = { $count }秒 +# Relative time in weeks +count_w_7468 = { $count }週 +# Relative time in years +count_y_9408 = { $count }年 +# Button to create a new account +Create_Account_6994 = 創建帳戶 +# Button label to create a new deck +Create_Deck_16b7 = 創建儀表板 +# Column title for custom timelines +Custom_a69e = 自訂 +# Display name for custom timelines +Custom_cb4f = 自訂 +# Column title for zap amount customization +Customize_Zap_Amount_cfc4 = 自訂打閃金額 +# Display name for zap customization +Customize_Zap_Amount_ed29 = 自訂打閃金額 +# Column title for support page +Damus_Support_27c0 = 達摩支持 +# Label for deck name input field +Deck_name_cd32 = 儀表板名稱 +# Label for decks section in side panel +DECKS_1fad = 儀表板 +# Label for default zap amount input +Default_amount_per_zap_399d = 默認打閃金額: +# Name of the default deck feed +Default_Deck_fcca = 默認儀表板 +# Button label to delete a deck +Delete_Deck_bb29 = 刪除儀表板 +# Tooltip for deleting a column +Delete_this_column_8d5a = 刪除此列 +# Button label to delete a wallet +Delete_Wallet_d1d4 = 刪除錢包 +# Profile display name field label +Display_name_f9d9 = 顯示名稱 +# Domain identification message +domain___will_be_used_for_identification_b67e = "{ $domain }" 將用於身份識別 +# Column title for editing deck +Edit_Deck_4018 = 編輯儀表板 +# Display name for editing deck +Edit_Deck_c9ba = 編輯儀表板 +# Button label to edit a deck +Edit_Deck_fd93 = 編輯儀表板 +# Button label to edit user profile +Edit_Profile_49e6 = 編輯個人檔案 +# Display name for profile editing +Edit_Profile_6699 = 編輯個人檔案 +# Column title for profile editing +Edit_Profile_8ad4 = 編輯個人檔案 +# Placeholder for hashtag input field +Enter_the_desired_hashtags_here__for_multiple_space-separated_7a69 = 在此輸入所需的標籤(用於多個時以空格分隔) +# Placeholder for relay input field +Enter_the_relay_here_1c8b = 在此輸入中繼器 +# Hint text to prompt entering the user's public key. +Enter_the_user_s_key__npub__hex__nip05__here_650c = 請輸入用戶的密鑰(npub、hex、nip05)... +# Label for key input field. Key can be public key (npub), private key (nsec), or Nostr address (NIP-05). +Enter_your_key_0fca = 請輸入你的密鑰 +# Instructions for entering Nostr credentials +Enter_your_public_key__npub___nostr_address__e_g___address____or_private_key__nsec___You_must_enter_your_private_key_to_be_able_to_post__reply__etc_48e9 = 請輸入你的公鑰(npub)、nostr 地址(如 { $address })、或私鑰(nsec)。你必須輸入你的私鑰才能發貼、回覆等等。 +# Label for find user button +Find_User_bd12 = 查找用戶 +# Timeline kind label for hashtag feeds +Hashtag_a0ab = 標籤 +# Display name for hashtag feeds +Hashtags_617e = 標籤 +# Title for hashtags column +Hashtags_f8e0 = 標籤 +# Display name for home feed +Home_3efc = 主頁 +# Title for Home column +Home_8c19 = 主頁 +# Label for deck icon selection +Icon_b0ab = 圖標 +# Title for individual user column +Individual_b776 = 個人 +# Error message for invalid zap amount +Invalid_amount_6630 = 無效金額 +# Error message for invalid key input +Invalid_key_4726 = 無效密鑰。 +# Error message for invalid Nostr Wallet Connect URI +Invalid_NWC_URI_031b = 無效 NWC URI +# Zap amount button for 100000 sats. Abbreviated because the button is too small to display the full amount. +k_100K_686c = 10萬 +# Zap amount button for 10000 sats. Abbreviated because the button is too small to display the full amount. +k_10K_f7e6 = 1萬 +# Zap amount button for 20000 sats. Abbreviated because the button is too small to display the full amount. +k_20K_4977 = 2萬 +# Zap amount button for 50000 sats. Abbreviated because the button is too small to display the full amount. +k_50K_c2dc = 5萬 +# Zap amount button for 5000 sats. Abbreviated because the button is too small to display the full amount. +k_5K_f7e6 = 5千 +# Description for your notes column +Keep_track_of_your_notes___replies_a334 = 隨時查看你的筆記和回覆 +# Title for last note per user column +Last_Note_per_User_17ad = 每個用戶的最新筆記 +# Timeline kind label for last notes per pubkey +Last_Notes_aefe = 最新筆記 +# Display name for last notes per contact +Last_Per_Pubkey__Contact_33ce = 每個公鑰(聯繫人)的最新筆記 +# Bitcoin Lightning network address field label +Lightning_network_address__lud16_ea51 = 閃電網絡地址(lud16) +# Login page title +Login_9eef = 登錄 +# Login button text +Login_now___let_s_do_this_5630 = 立即登錄——讓我們開始吧! +# Text shown on blurred media from unfollowed users +Media_from_someone_you_don_t_follow_5611 = 來自你不關注的用戶的媒體 +# Tooltip for moving a column +Moves_this_column_to_another_position_0d4b = 將此列移動到其他位置 +# Title for the user's deck +My_Deck_4ac5 = 我的儀表板 +# Label asking if the user is new to Nostr. Underneath this label is a button to create an account. +New_to_Nostr_a2fd = 第一次使用 Nostr? +# NIP-05 identity field label +Nostr_address__NIP-05_identity_74a2 = Nostr 地址(NIP-05 標識符) +# Default username when profile is not available +nostrich_df29 = nostr 用戶 +# Status label for disconnected relay +Not_Connected_6292 = 未連接 +# Link text for note references +note_cad6 = 筆記 +# Beta product warning message +Notedeck_is_a_beta_product__Expect_bugs_and_contact_us_when_you_run_into_issues_a671 = Notedeck 目前是測試版產品。可能會出現故障,如果遇到問題請及時聯繫我們。 +# Filter label for notes only view +Notes_03fb = 筆記 +# Label for notes-only filter +Notes_60d2 = 筆記 +# Filter label for notes and replies view +Notes___Replies_1ec2 = 筆記和回覆 +# Label for notes and replies filter +Notes___Replies_6e3b = 筆記和回覆 +# Timeline kind label for notifications +Notifications_6228 = 通知 +# Display name for notifications +Notifications_8029 = 通知 +# Column title for notifications +Notifications_d673 = 通知 +# Title for notifications column +Notifications_ef56 = 通知 +# Relative time for very recent events (less than 3 seconds) +now_2181 = 剛剛 +# Button label to open email client +Open_Email_25e9 = 打開電子郵箱 +# Instruction to open email client +Open_your_default_email_client_to_get_help_from_the_Damus_team_68dc = 打開你的默認電子郵件客戶端以獲得達摩團隊的幫助 +# Placeholder text for NWC URI input +Paste_your_NWC_URI_here_b471 = 在此貼上你的 NWC URI... +# Error message for missing deck name +Please_create_a_name_for_the_deck_38e7 = 請為儀表板創建一個名稱。 +# Error message for missing deck name and icon +Please_create_a_name_for_the_deck_and_select_an_icon_0add = 請為儀表板創建一個名稱並選擇一個圖標。 +# Error message for missing deck icon +Please_select_an_icon_655b = 請選擇一個圖標。 +# Button label to post a note +Post_now_8a49 = 立即發布 +# Instruction for copying logs +Press_the_button_below_to_copy_your_most_recent_logs_to_your_system_s_clipboard__Then_paste_it_into_your_email_322e = 請按下面的按鈕將你最近的日誌複製到剪貼板,然後將其粘貼到你的電子郵件。 +# Display name for user profiles +Profile_2478 = 個人檔案 +# Timeline kind label for user profiles +Profile_9027 = 個人檔案 +# Profile picture URL field label +Profile_picture_81ff = 頭像圖片 +# Column title for quote composition +Quote_475c = 引用 +# Display name for quote composition +Quote_a38e = 引用 +# Error message when quote note cannot be found +Quote_of_unknown_note_e4f0 = 引用未知筆記 +# Label for read-only profile mode +Read_only_82ff = 只讀 +# Display name for relay management +Relays_7335 = 中繼器 +# Column title for relay management +Relays_9d89 = 中繼器 +# Label for relay list section +Relays_ad5e = 中繼器 +# Column title for reply composition +Reply_3bf1 = 回覆 +# Display name for reply composition +Reply_b40f = 回覆 +# Hover text for reply button +Reply_to_this_note_f5de = 回覆此筆記 +# Error message when reply note cannot be found +Reply_to_unknown_note_4401 = 回覆未知筆記 +# Fallback template for replying to user +replying_to__user_15ab = 正在回覆{ $user } +# Template for replying to user in unknown thread +replying_to__user__in_someone_s_thread_e148 = 正在回覆某人帖子中的{ $user } +# Template for replying to note in different user's thread +replying_to__user__s__note__in__thread_user__s__thread_daa8 = 正在回覆在{ $thread_user }的{ $thread }中的{ $user }的{ $note } +# Template for replying to user's note +replying_to__user__s__note_ccba = 正在回覆{ $user }的{ $note } +# Template for replying to root thread +replying_to__user__s__thread_444d = 正在回覆{ $user }的{ $thread } +# Fallback text when reply note is not found +replying_to_a_note_e0bc = 正在回覆筆記 +# Hover text for repost button +Repost_this_note_8e56 = 轉發此筆記 +# Label for reposted notes +Reposted_61c8 = 已轉發 +# Heading for support section +Running_into_a_bug_1796 = 遇到故障了嗎? +# Label for satoshis (Bitcoin unit) for custom zap amount input field +SATS_45d7 = 聰 +# Unit label for satoshis (Bitcoin unit) for configuring default zap amount in wallet settings. +sats_e5ec = 聰 +# Button to save default zap amount +Save_6f7c = 保存 +# Button label to save profile changes +Save_changes_00db = 保存變更 +# Display name for search results +Search_0aa0 = 搜索 +# Display name for search page +Search_4503 = 搜索 +# Timeline kind label for search results +Search_a0b8 = 搜索 +# Column title for search page +Search_c573 = 搜索 +# Placeholder for search notes input field +Search_notes_42a6 = 搜索筆記... +# Search in progress message +Searching_for___query_5d18 = 正在搜索「{ $query }」 +# Description for Home column +See_notes_from_your_contacts_ac16 = 查看來自你的聯繫人的筆記 +# Description for universe column +See_the_whole_nostr_universe_7694 = 查看整個 nostr 宇宙 +# Button label to send a zap +Send_1ea4 = 發送 +# Description for last note per user column +Show_the_last_note_for_each_user_from_a_list_50e7 = 顯示列表中每個用戶的最後一條筆記 +# Button label to sign out of account +Sign_out_337b = 登出 +# Title for someone else's notes column +Someone_else_s_Notes_7e5f = 其他人的筆記 +# Title for someone else's notifications column +Someone_else_s_Notifications_82e6 = 其他人的通知 +# Description for contact list column +Source_the_last_note_for_each_user_in_your_contact_list_e157 = 獲取你的聯繫人列表中每個用戶的最新一條筆記 +# Description for hashtags column +Stay_up_to_date_with_a_certain_hashtag_88e3 = 獲取某個標籤的最新動態 +# Description for notifications column +Stay_up_to_date_with_notifications_and_mentions_6f4e = 獲取通知和提及的最新動態 +# Description for someone else's notes column +Stay_up_to_date_with_someone_else_s_notes___replies_464c = 獲取其他用戶的筆記和回覆的最新動態 +# Description for someone else's notifications column +Stay_up_to_date_with_someone_else_s_notifications_and_mentions_3473 = 獲取其他用戶的通知和提及的最新動態 +# Description for individual user column +Stay_up_to_date_with_someone_s_notes___replies_aa78 = 獲取某人的筆記和回覆的最新動態 +# Description for your notifications column +Stay_up_to_date_with_your_notifications_and_mentions_e73e = 獲取你的通知和提及的最新動態 +# Step 1 label in support instructions +Step_1_8656 = 第一步 +# Step 2 label in support instructions +Step_2_d08d = 第二步 +# Column title for subscribing to external user +Subscribe_to_someone_else_s_notes_d1e9 = 訂閱他人的筆記 +# Column title for subscribing to individual user +Subscribe_to_someone_s_notes_b3c8 = 訂閱某人的筆記 +# Display name for support page +Support_a4b4 = 獲取幫助 +# Hover text for dark mode toggle button +Switch_to_dark_mode_4dec = 切換到暗色模式 +# Hover text for light mode toggle button +Switch_to_light_mode_72ce = 切換到亮色模式 +# Button text to load blurred media +Tap_to_Load_4b05 = 點擊加載 +# Message shown when Dave trial period has ended +The_Dave_Nostr_AI_assistant_trial_has_ended_____Thanks_for_testing__Zap-enabled_Dave_coming_soon_c6c7 = Dave Nostr AI 助手試用期已經結束 :(。感謝測試!可打閃付款的 Dave 即將來臨! +# Column title for note thread view +Thread_0f20 = 串文 +# Display name for thread view +Thread_9957 = 串文 +# Link text for thread references +thread_ad1f = 串文 +# Generic timeline kind label +Timeline_b0fc = 時間線 +# Timeline kind label for universe feed +Universe_0a3e = 宇宙 +# Display name for universe feed +Universe_d47e = 宇宙 +# Title for universe column +Universe_e01e = 宇宙 +# Column title for universe feed +Universe_ffaa = 宇宙 +# Checkbox label for using wallet only for current account +Use_this_wallet_for_the_current_account_only_61dc = 此錢包僅限用於當前帳戶 +# Username and domain identification message +username___at___domain___will_be_used_for_identification_a4fd = "{ $username }" 於 "{ $domain }" 將被用於身份識別 +# Profile username field label +Username_daa7 = 用戶名 +# Column title for wallet management +Wallet_5e50 = 錢包 +# Display name for wallet management +Wallet_cdca = 錢包 +# Hint for deck name input field +We_recommend_short_names_083e = 我們推薦使用簡短的名稱 +# Profile website field label +Website_7980 = 網站 +# Placeholder for note input field +Write_a_banger_note_here_bad2 = 在這裡寫條超讚的筆記... +# Placeholder text for key input field +Your_key_here_81bd = 在此輸入你的密鑰... +# Title for your notes column +Your_Notes_f6db = 你的筆記 +# Title for your notifications column +Your_Notifications_080d = 你的通知 +# Heading for zap (tip) action +Zap_16b4 = 打閃 +# Hover text for zap button +Zap_this_note_42b2 = 打閃此筆記 + +# Pluralized strings + +# Search results count +Got__count__results_for___query_85fb = + { + $count -> + [one] 查詢"{ $query }"得到{ $count }條結果 + *[other] 查詢"{ $query }"得到{ $count }條結果 + } diff --git a/crates/notedeck/DEVELOPER.md b/crates/notedeck/DEVELOPER.md @@ -332,7 +332,7 @@ For testing that all user-facing strings are going through the localization syst UI layout renders well with different language translations, enable the pseudolocale: ```bash -NOTEDECK_PSEUDOLOCALE=1 cargo run -- --debug +cargo run -- --debug --locale en-XA ``` The pseudolocale (`en-XA`) transforms English text in a way that is still readable but makes adjustments obvious enough that they are different from the original text (such as replacing English letters with accented equivalents), helping identify potential UI layout issues once it gets translated diff --git a/crates/notedeck/src/i18n/manager.rs b/crates/notedeck/src/i18n/manager.rs @@ -7,7 +7,11 @@ use unic_langid::{langid, LanguageIdentifier}; const EN_XA: LanguageIdentifier = langid!("en-XA"); const EN_US: LanguageIdentifier = langid!("en-US"); -const NUM_FTLS: usize = 2; +const DE: LanguageIdentifier = langid!("de"); +const FR: LanguageIdentifier = langid!("FR"); +const ZH_CN: LanguageIdentifier = langid!("ZH_CN"); +const ZH_TW: LanguageIdentifier = langid!("ZH_TW"); +const NUM_FTLS: usize = 6; struct StaticBundle { identifier: LanguageIdentifier, @@ -16,12 +20,28 @@ struct StaticBundle { const FTLS: [StaticBundle; NUM_FTLS] = [ StaticBundle { + identifier: EN_US, + ftl: include_str!("../../../../assets/translations/en-US/main.ftl"), + }, + StaticBundle { identifier: EN_XA, ftl: include_str!("../../../../assets/translations/en-XA/main.ftl"), }, StaticBundle { - identifier: EN_US, - ftl: include_str!("../../../../assets/translations/en-US/main.ftl"), + identifier: DE, + ftl: include_str!("../../../../assets/translations/de/main.ftl"), + }, + StaticBundle { + identifier: FR, + ftl: include_str!("../../../../assets/translations/fr/main.ftl"), + }, + StaticBundle { + identifier: ZH_CN, + ftl: include_str!("../../../../assets/translations/zh-CN/main.ftl"), + }, + StaticBundle { + identifier: ZH_TW, + ftl: include_str!("../../../../assets/translations/zh-TW/main.ftl"), }, ]; @@ -51,7 +71,14 @@ impl Default for Localization { let fallback_locale = default_locale.to_owned(); // Build available locales list - let available_locales = vec![EN_US.clone(), EN_XA.clone()]; + let available_locales = vec![ + EN_US.clone(), + EN_XA.clone(), + DE.clone(), + FR.clone(), + ZH_CN.clone(), + ZH_TW.clone(), + ]; Self { current_locale: default_locale.to_owned(),