From b70f250e8d5137fd990787ec9e3d058126cf14f3 Mon Sep 17 00:00:00 2001 From: watchakorn-18k <74919942+watchakorn-18k@users.noreply.github.com> Date: Tue, 9 Apr 2024 22:47:02 +0700 Subject: [PATCH] feat(translations): add Thai Language (#1319) * feat : added Thai Language * docs: broken link in README.md (fixes #1310) (#1311) --------- Co-authored-by: MerkomassDev <70111455+MerkomassDev@users.noreply.github.com> Co-authored-by: Kingkor Roy Tirtho --- README.md | 2 +- lib/collections/language_codes.dart | 8 +- lib/l10n/app_th.arb | 317 ++++++++++++++++++++++++++++ lib/l10n/l10n.dart | 3 +- 4 files changed, 324 insertions(+), 6 deletions(-) create mode 100644 lib/l10n/app_th.arb diff --git a/README.md b/README.md index de00054f4..4ad4e1be2 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ eliminating the need for Spotify Premium Btw it's not just another Electron app 😉 -Visit the website +Visit the website Discord Server Support me on Patron diff --git a/lib/collections/language_codes.dart b/lib/collections/language_codes.dart index 4b7a3a906..bd3f8740e 100644 --- a/lib/collections/language_codes.dart +++ b/lib/collections/language_codes.dart @@ -637,10 +637,10 @@ abstract class LanguageLocals { // name: "Tajik", // nativeName: "тоҷикӣ, toğikī, تاجیکی‎", // ), - // "th": const ISOLanguageName( - // name: "Thai", - // nativeName: "ไทย", - // ), + "th": const ISOLanguageName( + name: "Thai", + nativeName: "ไทย", + ), // "ti": const ISOLanguageName( // name: "Tigrinya", // nativeName: "ትግርኛ", diff --git a/lib/l10n/app_th.arb b/lib/l10n/app_th.arb new file mode 100644 index 000000000..94d144e98 --- /dev/null +++ b/lib/l10n/app_th.arb @@ -0,0 +1,317 @@ +{ + "guest": "ผู้มาเยือน", + "browse": "เรียกดู", + "search": "ค้นหา", + "library": "คลัง", + "lyrics": "เนื้อเพลง", + "settings": "ตั้งค่า", + "genre_categories_filter": "กรองประเภทหรือแนวเพลง...", + "genre": "ประเภท", + "personalized": "ปรับแต่ง", + "featured": "เด่น", + "new_releases": "เพิ่งปล่อยใหม่", + "songs": "เพลง", + "playing_track": "กำลังเล่น {track}", + "queue_clear_alert": "การดำเนินการนี้จะล้างคิวปัจจุบัน {track length} แทร็ก จะถูกลบออก\nคุณต้องการดำเนินการต่อหรือไม่?", + "load_more": "โหลดเพิ่มเติม", + "playlists": "เพลย์ลิสต์", + "artists": "ศิลปิน", + "albums": "อัลบั้ม", + "tracks": "แทร็ก", + "downloads": "ดาวน์โหลด" + "filter_playlists": "กรองเพลย์ลิสต์...", + "liked_tracks": "เพลงที่ชอบ", + "liked_tracks_description": "เพลงที่คุณชื่นชอบทั้งหมด", + "create_playlist": "สร้างเพลย์ลิสต์", + "create_a_playlist": "สร้างเพลย์ลิสต์", + "update_playlist": "อัพเดทเพลย์ลิสต์", + "create": "สร้าง", + "cancel": "ยกเลิก", + "update": "อัพเดท", + "playlist_name": "ชื่อเพลย์ลิสต์", + "name_of_playlist": "ชื่อของเพลย์ลิสต์", + "description": "คำอธิบาย", + "public": "สาธารณะ", + "collaborative": "ร่วมมือกัน", + "search_local_tracks": "ค้นหาเพลงในเครื่อง...", + "play": "เล่น", + "delete": "ลบ", + "none": "ไม่มี" + "sort_a_z": "เรียงตาม A-Z", + "sort_z_a": "เรียงตาม Z-A", + "sort_artist": "เรียงตามศิลปิน", + "sort_album": "เรียงตามอัลบั้ม", + "sort_duration": "เรียงตามความยาว", + "sort_tracks": "เรียงตามเพลง", + "currently_downloading": "กำลังดาวน์โหลด ({tracks_length})", + "cancel_all": "ยกเลิกทั้งหมด", + "filter_artist": "กรองศิลปิน...", + "followers": "{followers} ผู้ติดตาม", + "add_artist_to_blacklist": "เพิ่มศิลปินในบัญชีดำ", + "top_tracks": "เพลงฮิต", + "fans_also_like": "แฟนๆ ยังชอบ", + "loading": "กำลังโหลด...", + "artist": "ศิลปิน", + "blacklisted": "อยู่ในบัญชีดำ", + "following": "กำลังติดตาม", + "follow": "ติดตาม", + "artist_url_copied": "คัดลอก URL ศิลปินไปยังคลิปบอร์ด", + "added_to_queue": "เพิ่ม {tracks} เพลงลงในคิว", + "filter_albums": "กรองอัลบั้ม...", + "synced": "ซิงค์", + "plain": "เรียบง่าย", + "shuffle": "สุ่ม", + "search_tracks": "ค้นหาเพลง...", + "released": "เผยแพร่", + "error": "ข้อผิดพลาด {error}", + "title": "ชื่อ", + "time": "เวลา" + "more_actions": "เพิ่มเติม", + "download_count": "ดาวน์โหลด ({count})", + "add_count_to_playlist": "เพิ่ม ({count}) ลงในเพลย์ลิสต์", + "add_count_to_queue": "เพิ่ม ({count}) ลงในคิว", + "play_count_next": "เล่น ({count}) ต่อไป", + "album": "อัลบั้ม", + "copied_to_clipboard": "คัดลอก {data} ไปยังคลิปบอร์ด", + "add_to_following_playlists": "เพิ่ม {track} ลงในเพลย์ลิสต์", + "add": "เพิ่ม", + "added_track_to_queue": "เพิ่ม {track} ลงในคิว", + "add_to_queue": "เพิ่มลงในคิว", + "track_will_play_next": "{track} จะเล่นต่อไป", + "play_next": "เล่นต่อไป", + "removed_track_from_queue": "ลบ {track} ออกจากคิว", + "remove_from_queue": "ลบออกจากคิว", + "remove_from_favorites": "ลบออกจากรายการโปรด", + "save_as_favorite": "บันทึกเป็นรายการโปรด", + "add_to_playlist": "เพิ่มลงในเพลย์ลิสต์", + "remove_from_playlist": "ลบออกจากเพลย์ลิสต์", + "add_to_blacklist": "เพิ่มลงในบัญชีดำ", + "remove_from_blacklist": "ลบออกจากบัญชีดำ", + "share": "แชร์", + "mini_player": "มินิเพลเยอร์", + "slide_to_seek": "เลื่อนเพื่อไปข้างหน้าหรือถอยหลัง", + "shuffle_playlist": "สุ่มเพลย์ลิสต์", + "unshuffle_playlist": "ยกเลิกการสุ่มเพลย์ลิสต์", + "previous_track": "แทร็กก่อนหน้า", + "next_track": "แทร็กถัดไป", + "pause_playback": "หยุดการเล่น", + "resume_playback": "เล่นต่อ", + "loop_track": "วนเพลง", + "repeat_playlist": "ซ้ำเพลย์ลิสต์", + "queue": "คิว", + "alternative_track_sources": "แหล่งแทร็กอื่น", + "download_track": "ดาวน์โหลดแทร็ก", + "tracks_in_queue": "{tracks} แทร็กในคิว" + "clear_all": "ล้างทั้งหมด", + "show_hide_ui_on_hover": "แสดง/ซ่อน UI เมื่อโฮเวอร์", + "always_on_top": "อยู่ด้านบนเสมอ", + "exit_mini_player": "ออกจากมินิเพลย์เยอร์", + "download_location": "ตำแหน่งดาวน์โหลด", + "account": "บัญชี", + "login_with_spotify": "เข้าสู่ระบบด้วยบัญชี Spotify", + "connect_with_spotify": "เชื่อมต่อกับ Spotify", + "logout": "ออกจากระบบ", + "logout_of_this_account": "ออกจากระบบบัญชีนี้", + "language_region": "ภาษาและภูมิภาค", + "language": "ภาษา", + "system_default": "ค่าเริ่มต้นของระบบ", + "market_place_region": "ภูมิภาค Marketplace", + "recommendation_country": "ประเทศที่แนะนำ", + "appearance": "ลักษณะที่ปรากฏ", + "layout_mode": "โหมดเค้าโครง", + "override_layout_settings": "แทนที่การตั้งค่าโหมดเค้าโครงแบบตอบสนอง", + "adaptive": "ปรับเปลี่ยน", + "compact": "กระชับ", + "extended": "ขยาย", + "theme": "ธีม", + "dark": "มืด", + "light": "สว่าง", + "system": "ระบบ", + "accent_color": "สีเน้น", + "sync_album_color": "ซิงค์สีอัลบั้ม", + "sync_album_color_description": "ใช้สีเด่นของอาร์ตอัลบั้มเป็นสีเน้น", + "playback": "การเล่น", + "audio_quality": "คุณภาพเสียง", + "high": "สูง", + "low": "ต่ำ", + "pre_download_play": "ดาวน์โหลดล่วงหน้าและเล่น", + "pre_download_play_description": "แทนที่จะสตรีมเสียง ดาวน์โหลดข้อมูลและเล่นแทน (แนะนำสำหรับผู้ใช้แบนด์วิดธ์สูง)", + "skip_non_music": "ข้ามส่วนที่ไม่ใช่เพลง (SponsorBlock)", + "blacklist_description": "แทร็กและศิลปินที่บล็อก", + "wait_for_download_to_finish": "โปรดรอให้การดาวน์โหลดปัจจุบันเสร็จสิ้น", + "desktop": "เดสก์ท็อป", + "close_behavior": "ปิดพฤติกรรม", + "close": "ปิด", + "minimize_to_tray": "ลดขนาดลงถาด", + "show_tray_icon": "แสดงไอคอนถาดระบบ", + "about": "เกี่ยวกับ", + "u_love_spotube": "เรารู้ว่าคุณรัก Spotube", + "check_for_updates": "ตรวจสอบการปรับปรุง", + "about_spotube": "เกี่ยวกับ Spotube", + "blacklist": "แบล็กลิสต์", + "please_sponsor": "กรุณาสนับสนุน/บริจาค", + "spotube_description": "Spotube โปรแกรมเล่น Spotify ฟรีสำหรับทุกคน น้ำหนักเบา รองรับหลายแพลตฟอร์ม", + "version": "รุ่น", + "build_number": "หมายเลขบิลด์", + "founder": "ผู้ก่อตั้ง", + "repository": "ที่เก็บ", + "bug_issues": "ข้อผิดพลาด+ปัญหา", + "made_with": "ทำด้วย❤️ใน บังคลาเทศ🇧🇩", + "kingkor_roy_tirtho": "Kingkor Roy Tirtho", + "copyright": "© 2021-{current_year} Kingkor Roy Tirtho", + "license": "ใบอนุญาต", + "add_spotify_credentials": "เพิ่มข้อมูลรับรอง Spotify ของคุณเพื่อเริ่มต้น", + "credentials_will_not_be_shared_disclaimer": "ไม่ต้องกังวล ข้อมูลรับรองใดๆ ของคุณจะไม่ถูกเก็บรวบรวมหรือแชร์กับใคร", + "know_how_to_login": "ไม่รู้จักวิธีดำเนินการนี้ใช่ไหม", + "follow_step_by_step_guide": "ทำตามคู่มือทีละขั้น", + "spotify_cookie": "คุกกี้ Spotify {name}", + "cookie_name_cookie": "คุกกี้ {name}", + "fill_in_all_fields": "กรุณากรอกข้อมูลทุกช่อง", + "submit": "ยื่น", + "exit": "ออก", + "previous": "ย้อนกลับ", + "next": "ถัดไป", + "done": "เสร็จ", + "step_1": "ขั้นที่ 1", + "first_go_to": "ก่อนอื่น ไปที่", + "login_if_not_logged_in": "ยังไม่ได้เข้าสู่ระบบ ให้เข้าสู่ระบบ/ลงทะเบียน", + "step_2": "ขั้นที่ 2", + "step_2_steps": "1. หลังจากเข้าสู่ระบบแล้ว กด F12 หรือ คลิกขวาที่เมาส์ > ตรวจสอบเพื่อเปิด Devtools เบราว์เซอร์\n2. จากนั้นไปที่แท็บ "แอปพลิเคชัน" (Chrome, Edge, Brave เป็นต้น) หรือแท็บ "ที่เก็บข้อมูล" (Firefox, Palemoon เป็นต้น)\n3. ไปที่ส่วน "คุกกี้" แล้วไปที่ subsection "https://accounts.spotify.com"", + "step_3": "ขั้นที่ 3", + "step_3_steps": "คัดลอกค่าคุกกี้ "sp_dc"", + "success_emoji": "สำเร็จ", + "success_message": "ตอนนี้คุณเข้าสู่ระบบด้วยบัญชี Spotify ของคุณเรียบร้อยแล้ว ยอดเยี่ยม!", + "step_4": "ขั้นที่ 4", + "step_4_steps": "วางค่า "sp_dc" ที่คัดลอกมา", + "something_went_wrong": "มีอะไรผิดพลาด", + "piped_instance": "อินสแตนซ์เซิร์ฟเวอร์แบบ Pipe", + "piped_description": "อินสแตนซ์เซิร์ฟเวอร์แบบ Pipe ที่ใช้สำหรับการจับคู่แทร็ก", + "piped_warning": "บางอย่างอาจใช้งานไม่ได้ผล คุณจึงต้องรับความเสี่ยงเอง", + "generate_playlist": "สร้างเพลย์ลิสต์", + "track_exists": "แทร็ก {track} มีอยู่แล้ว", + "replace_downloaded_tracks": "แทนที่แทร็กที่ดาวน์โหลดทั้งหมด", + "skip_download_tracks": "ข้ามการดาวน์โหลดแทร็กที่ดาวน์โหลดทั้งหมด", + "do_you_want_to_replace": "คุณต้องการแทนที่แทร็กที่มีอยู่หรือไม่", + "replace": "แทนที่", + "skip": "ข้าม", + "select_up_to_count_type": "เลือกสูงสุด {count} {type}", + "select_genres": "เลือกประเภท", + "add_genres": "เพิ่มประเภท", + "country": "ประเทศ", + "number_of_tracks_generate": "จำนวนแทร็กที่จะสร้าง", + "acousticness": "อะคูสติก", + "danceability": "ความสามารถในการเต้น", + "energy": "พลัง", + "instrumentalness": "บรรเลง", + "liveness": "ความสด", + "loudness": "ความดัง", + "speechiness": "การพูด", + "valence": "ความสุข", + "popularity": "ความนิยม", + "key": "คีย์", + "duration": "ระยะเวลา (วินาที)", + "tempo": "ความเร็ว (BPM)", + "mode": "โหมด", + "time_signature": "ลายเซ็นเวลา", + "short": "สั้น", + "medium": "กลาง", + "long": "ยาว", + "min": "ต่ำสุด", + "max": "สูงสุด", + "target": "เป้าหมาย", + "moderate": "ปานกลาง", + "deselect_all": "ยกเลิกการเลือกทั้งหมด", + "select_all": "เลือกทั้งหมด", + "are_you_sure": "คุณแน่ใจไหม?", + "generating_playlist": "กำลังสร้างเพลย์ลิสต์ที่คุณกำหนดเอง...", + "selected_count_tracks": "เลือก {count} แทร็ก", + "download_warning": "ถ้าคุณดาวน์โหลดเพลงทั้งหมดเป็นจำนวนมาก คุณกำลังละเมิดลิขสิทธิ์เพลงและสร้างความเสียหายให้กับสังคมดนตรี สร้างสรรค์ หวังว่าคุณจะรับรู้เรื่องนี้ เสมอ พยายามเคารพและสนับสนุนผลงานหนักของศิลปิน", + "download_ip_ban_warning": "นอกเหนือจากนั้น IP ของคุณอาจถูกบล็อกบน YouTube เนื่องจากคำขอดาวน์โหลดมากเกินกว่าปกติ การบล็อก IP หมายความว่าคุณไม่สามารถใช้ YouTube (แม้ว่าคุณจะล็อกอินอยู่) เป็นเวลาอย่างน้อย 2-3 เดือนจากอุปกรณ์ IP นั้น และ Spotube จะไม่รับผิดชอบใด ๆ หากสิ่งนี้เกิดขึ้น", + "by_clicking_accept_terms": "คลิก 'ยอมรับ' คุณยินยอมตามเงื่อนไขต่อไปนี้:", + "download_agreement_1": "ฉันรู้ว่าฉันกำลังละเมิดลิขสิทธิ์เพลง ฉันเลว", + "download_agreement_2": "ฉันจะสนับสนุนศิลปินทุกที่ที่ฉันทำได้และฉันทำสิ่งนี้เพียงเพราะฉันไม่มีเงินซื้อผลงานศิลปะของพวกเขา", + "download_agreement_3": "ฉันรับทราบอย่างสมบูรณ์ว่า IP ของฉันอาจถูกบล็อกบน YouTube และฉันจะไม่ถือ Spotube หรือเจ้าของ/ผู้มีส่วนร่วมใด ๆ รับผิดชอบต่ออุบัติเหตุใด ๆ ที่เกิดจากการกระทำปัจจุบันของฉัน", + "decline": "ปฏิเสธ", + "accept": "ยอมรับ", + "details": "รายละเอียด", + "youtube": "youtube", + "channel": "ช่อง", + "likes": "ถูกใจ", + "dislikes": "ไม่ชอบ", + "views": "วิว", + "streamUrl": "สตรีม URL", + "stop": "หยุด", + "sort_newest": "เรียงตามการเพิ่มใหม่ล่าสุด", + "sort_oldest": "เรียงตามการเพิ่มเก่าสุด", + "sleep_timer": "ตั้งเวลาปิด", + "mins": "{minutes} นาที", + "hours": "{hours} ชั่วโมง", + "hour": "{hours} ชั่วโมง", + "custom_hours": "ชั่วโมงที่กำหนดเอง", + "logs": "บันทึก", + "developers": "นักพัฒนา", + "not_logged_in": "คุณไม่ได้เข้าสู่ระบบ", + "search_mode": "โหมดการค้นหา", + "audio_source": "แหล่งที่มาของเสียง", + "ok": "ตกลง", + "failed_to_encrypt": "เข้ารหัสล้มเหลว", + "encryption_failed_warning": "Spotube ใช้การเข้ารหัสเพื่อเก็บข้อมูลของคุณอย่างปลอดภัย แต่ไม่สามารถทำได้ ดังนั้นจะเปลี่ยนเป็นการจัดเก็บที่ไม่ปลอดภัย\nหากคุณใช้ Linux โปรดตรวจสอบว่าคุณได้ติดตั้งบริการลับ (gnome-keyring, kde-wallet, keepassxc เป็นต้น)", + "querying_info": "กำลังดึงข้อมูล...", + "piped_api_down": "Piped API ไม่ทำงาน", + "piped_down_error_instructions": "Piped instance {pipedInstance} ไม่ทำงานขณะนี้\n\nเปลี่ยนอินสแตนซ์หรือเปลี่ยน 'ประเภท API' เป็น YouTube API อย่างเป็นทางการ\n\nอย่าลืมรีสตาร์ทแอปหลังจากเปลี่ยน", + "you_are_offline": "คุณออฟไลน์อยู่", + "connection_restored": "การเชื่อมต่ออินเทอร์เน็ตของคุณได้รับการกู้คืน", + "use_system_title_bar": "ใช้แถบชื่อระบบ", + "crunching_results": "กำลังประมวลผล...", + "search_to_get_results": "ค้นหาเพื่อดูผลลัพธ์", + "use_amoled_mode": "ธีมมืดสนิท", + "pitch_dark_theme": "โหมด AMOLED", + "normalize_audio": "ปรับระดับเสียง", + "change_cover": "เปลี่ยนปก", + "add_cover": "เพิ่มปก", + "restore_defaults": "คืนค่าเริ่มต้น", + "download_music_codec": "ดาวน์โหลดโคเดคเพลง", + "streaming_music_codec": "สตรีมมิ่งโคเดคเพลง", + "login_with_lastfm": "เข้าสู่ระบบด้วย Last.fm", + "connect": "เชื่อมต่อ", + "disconnect_lastfm": "ตัดการเชื่อมต่อ Last.fm", + "disconnect": "ตัดการเชื่อมต่อ", + "username": "ชื่อผู้ใช้", + "password": "รหัสผ่าน", + "login": "เข้าสู่ระบบ", + "login_with_your_lastfm": "เข้าสู่ระบบด้วย Last.fm", + "scrobble_to_lastfm": "Scrobble ไปเป็น Last.fm", + "go_to_album": "ไปที่อัลบั้ม", + "discord_rich_presence": "Discord Rich Presence", + "browse_all": "เรียกดูทั้งหมด", + "genres": "ประเภท", + "explore_genres": "สำรวจประเภท", + "friends": "เพื่อน", + "no_lyrics_available": "ขออภัย ไม่พบเนื้อเพลงสำหรับเพลงนี้", + "start_a_radio": "เปิดวิทยุ", + "how_to_start_radio": "หากต้องการเปิดวิทยุฟังยังไง?", + "replace_queue_question": "คุณต้องการแทนที่คิวปัจจุบันหรือเพิ่มเข้าไปหรือไม่", + "endless_playback": "เล่นซ้ำ", + "delete_playlist": "ลบเพลย์ลิสต์", + "delete_playlist_confirmation": "คุณแน่ใจที่จะลบเพลย์ลิสต์นี้หรือไม่", + "local_tracks": "เพลงในเครื่อง", + "song_link": "ลิงค์เพลง", + "skip_this_nonsense": "ข้ามสิ่งไร้สาระนี้", + "freedom_of_music": "“เสรีภาพแห่งเสียงเพลง”", + "freedom_of_music_palm": "“เสรีภาพแห่งเสียงเพลง ในมือของคุณ”", + "get_started": "เริ่มต้น", + "youtube_source_description": "แนะนำและใช้งานได้ดีที่สุด", + "piped_source_description": "รู้สึกอิสระ? เหมือน YouTube แต่ฟรีกว่าเยอะ", + "jiosaavn_source_description": "ดีที่สุดสำหรับภูมิภาคเอเชียใต้", + "highest_quality": "คุณภาพสูงสุด: {quality}", + "select_audio_source": "เลือกแหล่งเสียง", + "endless_playback_description": "เพิ่มเพลงใหม่ลงในคิวโดยอัตโนมัติ", + "choose_your_region": "เลือกภูมิภาคของคุณ", + "choose_your_region_description": "สิ่งนี้จะช่วยให้ Spotube แสดงเนื้อหาที่เหมาะสมสำหรับคุณ", + "choose_ your_language": "เลือกภาษาของคุณ", + "help_project_grow": "ช่วยให้โครงการนี้เติบโต", + "help_project_grow_description": "Spotube เป็นโครงการโอเพนซอร์ส คุณสามารถช่วยให้โครงการนี้เติบโตได้โดยการมีส่วนร่วมในโครงการ รายงานข้อบกพร่อง หรือเสนอคุณสมบัติใหม่", + "contribute_on_github": "มีส่วนร่วมบน GitHub", + "donate_on_open_collective": "บริจาคบน Open Collective", + "browse_anonymously": "เรียกดูแบบไม่ระบุตัวตน" +} \ No newline at end of file diff --git a/lib/l10n/l10n.dart b/lib/l10n/l10n.dart index 31eecc99c..4ba9254ed 100644 --- a/lib/l10n/l10n.dart +++ b/lib/l10n/l10n.dart @@ -11,7 +11,7 @@ /// Stephan-P@github, SecularSteve@github => Dutch /// doannc2212@github => Vietnamese /// sappho192@github => Korean -library; +/// watchakorn-18k@github => Thai import 'package:flutter/material.dart'; class L10n { @@ -34,6 +34,7 @@ class L10n { const Locale('pt', 'PT'), const Locale('ru', 'RU'), const Locale('uk', 'UA'), + const Locale('th', 'TH'), const Locale('tr', 'TR'), const Locale('zh', 'CN'), const Locale('vi', 'VN'),