notedeck

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

commit b285be97a14c7ce485b8646084cb9603e053c51f
parent 7321e828001a1f87565ea3e036007c01c85dd0a5
Author: Terry Yiu <git@tyiu.xyz>
Date:   Wed, 23 Jul 2025 00:15:01 -0400

Add Thai translations

Signed-off-by: Terry Yiu <git@tyiu.xyz>

Diffstat:
Aassets/translations/th/main.ftl | 370+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mcrates/notedeck/src/i18n/manager.rs | 8+++++++-
2 files changed, 377 insertions(+), 1 deletion(-)

diff --git a/assets/translations/th/main.ftl b/assets/translations/th/main.ftl @@ -0,0 +1,370 @@ +# 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 = เกี่ยวกับเรา +# 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 = เพิ่มบัญชี +# Column title for adding algorithm column +Add_Algo_Column_0d75 = เพิ่มคอลัมน์อัลกอฯ +# Column title for adding new column +Add_Column_c764 = เพิ่มคอลัมน์ +# Column title for adding new deck +Add_Deck_fabf = เพิ่ม Deck +# 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 = ถามเดฟได้ทุกเรื่อง... +# 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 = คลิกเพื่อแก้ไข +# 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 = ผู้ติดต่อ +# 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 = คัดลอก Pubkey +# Copy the text content of the note to clipboard +Copy_Text_f81c = คัดลอกข้อความ +# Relative time in days +count_d_b9be = { $count }d +# Relative time in hours +count_h_3ecb = { $count }h +# Relative time in minutes +count_m_b41e = { $count }m +# Relative time in months +count_mo_7aba = { $count }mo +# Relative time in seconds +count_s_aa26 = { $count }s +# Relative time in weeks +count_w_7468 = { $count }w +# Relative time in years +count_y_9408 = { $count }y +# Button to create a new account +Create_Account_6994 = สร้างบัญชี +# Button label to create a new deck +Create_Deck_16b7 = สร้าง Deck +# Column title for custom timelines +Custom_a69e = กำหนดเอง +# Column title for zap amount customization +Customize_Zap_Amount_cfc4 = กำหนดจำนวน Zap +# Column title for support page +Damus_Support_27c0 = ฝ่ายสนับสนุน Damus +# Label for deck name input field +Deck_name_cd32 = ชื่อ Deck +# Label for decks section in side panel +DECKS_1fad = DECKS +# Label for default zap amount input +Default_amount_per_zap_399d = ยอด Zap เริ่มต้น +# Name of the default deck feed +Default_Deck_fcca = Deck หลัก +# Button label to delete a deck +Delete_Deck_bb29 = ลบ Deck +# 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 = แก้ไข Deck +# Button label to edit a deck +Edit_Deck_fd93 = แก้ไข Deck +# Button label to edit user profile +Edit_Profile_49e6 = แก้ไขโปรไฟล์ +# 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 = ค้นหาผู้ใช้ +# Title for hashtags column +Hashtags_f8e0 = แฮชแท็ก +# 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 = 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 = ติดตามโน้ตและการตอบกลับของคุณ +# Title for last note per user column +Last_Note_per_User_17ad = โน้ตล่าสุดของผู้ใช้แต่ละคน +# Bitcoin Lightning network address field label +Lightning_network_address__lud16_ea51 = ที่อยู่ Lightning Network (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 = Deck ของฉัน +# 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 = นกม่วง +# 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 = โน้ตและการตอบกลับ +# 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 = เปิดโปรแกรมอีเมลของคุณเพื่อรับความช่วยเหลือจากทีม Damus +# 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 = กรุณาตั้งชื่อ Deck +# Error message for missing deck name and icon +Please_create_a_name_for_the_deck_and_select_an_icon_0add = กรุณาตั้งชื่อ Deck และเลือกไอคอน +# 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 = กดปุ่มด้านล่างเพื่อคัดลอกข้อมูลบันทึกล่าสุด ไปยังคลิปบอร์ด จากนั้นนำไปวางในอีเมลของคุณ +# Profile picture URL field label +Profile_picture_81ff = รูปโปรไฟล์ +# Column title for quote composition +Quote_475c = อ้างอิง +# Error message when quote note cannot be found +Quote_of_unknown_note_e4f0 = อ้างอิงโน้ตที่ไม่รู้จัก +# Label for read-only profile mode +Read_only_82ff = อ่านอย่างเดียว +# Column title for relay management +Relays_9d89 = รีเลย์ +# Label for relay list section +Relays_ad5e = รีเลย์ +# Column title for reply composition +Reply_3bf1 = ตอบกลับ +# 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 = ตอบกลับโน้ต { $note } ของ { $user } ในเธรด { $thread } ของ { $thread_user } +# 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 = 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 = บันทึก +# Button label to save profile changes +Save_changes_00db = บันทึกการเปลี่ยนแปลง +# 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 = ขั้นตอนที่ 1 +# Step 2 label in support instructions +Step_2_d08d = ขั้นตอนที่ 2 +# 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 = ติดตามโน้ตของผู้อื่น +# 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 = ช่วงทดลองใช้ผู้ช่วย AI 'Dave Nostr' ได้สิ้นสุดลงแล้ว :( ขอบคุณที่ร่วมทดสอบ! Dave ที่รองรับการ Zap กำลังจะมาเร็วๆ นี้! +# Column title for note thread view +Thread_0f20 = เธรด +# Link text for thread references +thread_ad1f = เธรด +# 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 = วอลเล็ต +# 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 = Zap +# Hover text for zap button +Zap_this_note_42b2 = Zap โน้ตนี้ + +# Pluralized strings + +# Search results count +Got__count__results_for___query_85fb = + { $count -> + [one] ผลการค้นหา '{ $query }': พบ { $count } รายการ + *[other] ผลการค้นหา '{ $query }': พบ { $count } รายการ + } diff --git a/crates/notedeck/src/i18n/manager.rs b/crates/notedeck/src/i18n/manager.rs @@ -11,9 +11,10 @@ const DE: LanguageIdentifier = langid!("de"); const ES_419: LanguageIdentifier = langid!("es-419"); const ES_ES: LanguageIdentifier = langid!("es-ES"); const FR: LanguageIdentifier = langid!("FR"); +const TH: LanguageIdentifier = langid!("TH"); const ZH_CN: LanguageIdentifier = langid!("ZH_CN"); const ZH_TW: LanguageIdentifier = langid!("ZH_TW"); -const NUM_FTLS: usize = 8; +const NUM_FTLS: usize = 9; struct StaticBundle { identifier: LanguageIdentifier, @@ -46,6 +47,10 @@ const FTLS: [StaticBundle; NUM_FTLS] = [ ftl: include_str!("../../../../assets/translations/fr/main.ftl"), }, StaticBundle { + identifier: TH, + ftl: include_str!("../../../../assets/translations/th/main.ftl"), + }, + StaticBundle { identifier: ZH_CN, ftl: include_str!("../../../../assets/translations/zh-CN/main.ftl"), }, @@ -90,6 +95,7 @@ impl Default for Localization { ES_419.clone(), ES_ES.clone(), FR.clone(), + TH.clone(), ZH_CN.clone(), ZH_TW.clone(), ];