{"id":34585383,"url":"https://github.com/phamhungtien/phtv","last_synced_at":"2026-05-07T03:03:36.725Z","repository":{"id":328863722,"uuid":"1116398203","full_name":"PhamHungTien/PHTV","owner":"PhamHungTien","description":"PHTV - Precision Hybrid Typing Vietnamese | Bộ gõ Tiếng Việt Đa năng \u0026 Chuẩn xác cho macOS","archived":false,"fork":false,"pushed_at":"2026-05-02T00:57:51.000Z","size":116166,"stargazers_count":148,"open_issues_count":17,"forks_count":21,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-05-02T02:33:41.494Z","etag":null,"topics":["gotiengviet","input-method","macos","macosinput","phtv","swift","telex","vietnamese","vni"],"latest_commit_sha":null,"homepage":"https://phamhungtien.com/PHTV/","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PhamHungTien.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["phamhungtien"],"ko_fi":"phamhungtien","custom":["https://paypal.me/phamhungtien1404","https://phamhungtien.com/PHTV/#donate"]}},"created_at":"2025-12-14T19:26:44.000Z","updated_at":"2026-05-02T00:57:54.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/PhamHungTien/PHTV","commit_stats":null,"previous_names":["phamhungtien/phtv"],"tags_count":195,"template":false,"template_full_name":null,"purl":"pkg:github/PhamHungTien/PHTV","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PhamHungTien%2FPHTV","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PhamHungTien%2FPHTV/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PhamHungTien%2FPHTV/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PhamHungTien%2FPHTV/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PhamHungTien","download_url":"https://codeload.github.com/PhamHungTien/PHTV/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PhamHungTien%2FPHTV/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32720776,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-07T02:14:30.463Z","status":"ssl_error","status_checked_at":"2026-05-07T02:14:29.405Z","response_time":62,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gotiengviet","input-method","macos","macosinput","phtv","swift","telex","vietnamese","vni"],"created_at":"2025-12-24T10:30:04.465Z","updated_at":"2026-05-07T03:03:36.719Z","avatar_url":"https://github.com/PhamHungTien.png","language":"Swift","funding_links":["https://github.com/sponsors/phamhungtien","https://ko-fi.com/phamhungtien","https://paypal.me/phamhungtien1404","https://phamhungtien.com/PHTV/#donate"],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n\u003cimg src=\"docs/images/icon.png\" alt=\"PHTV Icon\" width=\"128\" height=\"128\"\u003e\n\n# PHTV — Precision Hybrid Typing Vietnamese\n\n### Bộ gõ tiếng Việt hiện đại cho macOS\n\n[![License: AGPL v3](https://img.shields.io/badge/License-AGPLv3-blue.svg)](https://www.gnu.org/licenses/agpl-3.0)\n[![Build Status](https://img.shields.io/github/actions/workflow/status/PhamHungTien/PHTV/release.yml?branch=main\u0026label=Build)](../../actions/workflows/release.yml)\n[![macOS 14+](https://img.shields.io/badge/macOS-14+-blue.svg)](https://www.apple.com/macos/)\n[![Universal Binary](https://img.shields.io/badge/Universal-Intel%20%2B%20Apple%20Silicon-red.svg)](https://support.apple.com/en-us/HT211814)\n[![Swift 6.0+](https://img.shields.io/badge/Swift-6.0+-orange.svg)](https://swift.org)\n[![GitHub release](https://img.shields.io/github/v/release/PhamHungTien/PHTV)](../../releases/latest)\n[![Auto-update](https://img.shields.io/badge/Auto--update-Sparkle-green.svg)](https://sparkle-project.org/)\n[![GitHub stars](https://img.shields.io/github/stars/PhamHungTien/PHTV)](../../stargazers)\n[![Sponsor](https://img.shields.io/badge/❤️_Sponsor-PHTV-ea4aaa?style=flat\u0026logo=github-sponsors)](https://phamhungtien.com/PHTV/#donate)\n\n[**Tải về**](https://phamhungtien.com/PHTV/) | [**Tài liệu**](docs/INSTALL.md) | [**Báo lỗi**](../../issues) | [**FAQ**](docs/FAQ.md) | [**☕ Ủng hộ**](https://phamhungtien.com/PHTV/#donate)\n\n\u003c/div\u003e\n\n---\n\n## Giới thiệu\n\n**PHTV (Precision Hybrid Typing Vietnamese)** là bộ gõ tiếng Việt **offline, nhanh, và riêng tư** cho macOS 14+. Được phát triển hoàn toàn bằng Swift/SwiftUI, mang đến trải nghiệm gõ tiếng Việt mượt mà và tích hợp sâu vào hệ thống.\n\n✨ **Tự động cập nhật** - Nhận phiên bản mới ngay khi ra mắt với Sparkle framework. Không cần tải lại thủ công!\n\n## 🚀 Quick Start\n\n```bash\n# Cài đặt bằng Homebrew\nbrew install --cask phamhungtien/tap/phtv\n\n# Mở ứng dụng\nopen /Applications/PHTV.app\n```\n\n**⚠️ Quan trọng:** Trước khi sử dụng, bạn **phải tắt các tính năng tự động sửa lỗi của macOS** (Correct spelling, Capitalize words,...) trong *System Settings → Keyboard → Edit Input Sources* để tránh xung đột. Xem [hướng dẫn chi tiết tại đây](docs/INSTALL.md#️-chuẩn-bị-trước-khi-cài-đặt).\n\n**Sau khi cài:**\n1. Cho phép quyền **Accessibility** trong System Settings\n2. Click icon **En** trên menu bar → chọn **Vi** để bật tiếng Việt\n3. Nhấn **Control + Shift** để chuyển đổi Việt/Anh (tùy chỉnh trong Settings)\n4. Bắt đầu gõ! 🎉\n\n## Tính năng\n\n### Cốt lõi\n- **Hoàn toàn offline** - Không cần Internet, bảo mật tuyệt đối\n- **Telex, VNI, Simple Telex** - Đầy đủ các phương pháp gõ phổ biến\n- **Nhiều bảng mã** - Unicode, TCVN3 (ABC), VNI Windows, Unicode Compound\n- **Native macOS** - Giao diện SwiftUI hiện đại, hỗ trợ Dark Mode\n\n### Gõ thông minh\n- **Kiểm tra chính tả** - Tự động phát hiện từ sai chính tả\n- **Chính tả hiện đại** - Hỗ trợ quy tắc \"oà, uý\" thay vì \"òa, úy\"\n- **Gõ tắt nhanh (Quick Telex)** - cc→ch, gg→gi, kk→kh, nn→ng, qq→qu, pp→ph, tt→th\n- **Phụ âm đầu/cuối nhanh** - f→ph, j→gi, w→qu (đầu) và g→ng, h→nh, k→ch (cuối)\n- **Tự động viết hoa** - Viết hoa chữ cái đầu câu sau dấu chấm\n- **Tự động khôi phục** - Hỗ trợ 2 chế độ: khôi phục nếu không phải tiếng Việt hoặc chỉ khôi phục nếu là tiếng Anh (VD: \"tẻminal\" → \"terminal\")\n- **Vietnamese consonant detection** - Logic thông minh phân biệt từ tiếng Việt có dấu và từ tiếng Anh (VD: \"đi\" vs \"did\", \"fix\" vs \"fi\")\n\n### Macro \u0026 Text Snippets\n- **Gõ tắt thông minh** - Định nghĩa từ viết tắt tùy ý (VD: \"btw\" → \"by the way\")\n- **Text Snippets** - Gõ tắt động với ngày, giờ, clipboard, random, counter\n- **Tự động viết hoa macro** - \"Btw\" → \"By the way\", \"BTW\" → \"BY THE WAY\"\n- **Hoạt động ở cả 2 chế độ** - Macro hoạt động cả khi gõ tiếng Việt và tiếng Anh\n- **Import/Export** - Nhập xuất danh sách macro từ file\n- **Danh mục** - Tổ chức macro theo nhóm với icon và màu sắc\n\n### Lịch sử Clipboard\n- **Lưu nội dung đã sao chép** - Tự động lưu văn bản, ảnh, đường dẫn file vào lịch sử\n- **Dán nhanh bằng phím tắt** - Mặc định ⌃V (Control + V), tuỳ chỉnh trong Settings\n- **Tìm kiếm** - Tìm nhanh trong danh sách nội dung đã sao chép\n- **Giao diện Liquid Glass** - Đồng bộ với PHTV Picker, hỗ trợ kéo di chuyển\n- **Tuỳ chỉnh** - Giới hạn số mục lưu (10–100), mặc định tắt\n\n### PHTV Picker (Emoji \u0026 GIF)\n- **Giao diện Liquid Glass** - Thiết kế hiện đại theo chuẩn Apple với hiệu ứng glass morphism\n- **1,463 Emoji từ Unicode v17.0** - Đầy đủ emoji mới nhất với categories và tìm kiếm\n- **GIF không giới hạn** - Tích hợp Klipy API với hàng ngàn GIF miễn phí\n- **Tìm kiếm thông minh** - Tìm Emoji/GIF theo từ khóa tiếng Việt và tiếng Anh\n- **Auto-paste** - Click là gửi ngay, không cần Cmd+V\n- **Multi-format support** - Hoạt động với iMessage, Zalo, Messenger Web và các app khác\n- **Auto cleanup** - Tự động xóa file GIF đã tải sau 5 giây\n- **Ad-supported** - Miễn phí hoàn toàn nhờ quảng cáo từ Klipy\n- **Hotkey tiện lợi** - Cmd+E (tùy chỉnh được) để mở nhanh\n\n### Tương thích ứng dụng\n- **Keyboard Layout Compatibility** - Hỗ trợ Dvorak, Colemak và các bố cục bàn phím đặc biệt\n- **Claude Code Support** - Tự nhận diện session Claude Code trong Terminal/IDE và áp timing profile ổn định hơn, không cần patch riêng\n- **Safe Mode** - Tự động khôi phục khi Accessibility API gặp lỗi\n- **Excluded Apps** - Danh sách ứng dụng tự động chuyển sang tiếng Anh\n- **Send Key Step-by-Step** - Gửi từng phím riêng lẻ cho ứng dụng tương thích kém\n- **Nhớ bảng mã theo ứng dụng** - Tự động chuyển bảng mã phù hợp cho từng app\n\n### Phím tắt \u0026 Điều khiển\n- **Phím chuyển ngôn ngữ tùy chỉnh** - Control, Option, Command, Shift hoặc tổ hợp\n- **Tạm tắt tiếng Việt** - Giữ phím để tạm thời gõ tiếng Anh\n- **Khôi phục ký tự gốc** - Nhấn ESC để hoàn tác dấu (VD: \"việt\" → \"viejet\")\n- **Smart Switch** - Tự động nhớ ngôn ngữ cho từng ứng dụng\n\n### Phát hiện bàn phím non-Latin\n- **Tự động chuyển về English** - Khi dùng bàn phím Nhật, Trung, Hàn, A Rập, Thái, Hindi...\n- **Khôi phục tự động** - Chuyển lại bàn phím Latin sẽ khôi phục chế độ tiếng Việt\n- **Hỗ trợ đa dạng** - Japanese, Chinese, Korean, Arabic, Hebrew, Thai, Greek, Cyrillic, v.v.\n\n### Hệ thống\n- **Khởi động cùng macOS** - Tùy chọn chạy khi đăng nhập\n- **Hot Reload** - Thay đổi cài đặt không cần khởi động lại\n- **Tự động cập nhật (Sparkle)** - Kiểm tra và cập nhật phiên bản mới tự động từ GitHub với EdDSA signing bảo mật\n- **Import/Export cài đặt** - Sao lưu và khôi phục toàn bộ settings\n- **Menu bar icon** - Hiển thị trạng thái Vi/En trên thanh menu\n- **Báo lỗi thông minh** - Tự động thu thập log debug, thống kê lỗi, gửi qua GitHub/Email\n\n## Screenshots\n\n\u003cdiv align=\"center\"\u003e\n\n### Menu Bar \u0026 PHTV Picker\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003ctd width=\"20%\" align=\"center\"\u003e\n\u003cimg src=\"docs/images/ui/menubar_ui.png\" alt=\"Menu Bar UI\" width=\"200\"\u003e\n\u003cp\u003e\u003cem\u003eMenu Bar\u003c/em\u003e\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd width=\"26%\" align=\"center\"\u003e\n\u003cimg src=\"docs/images/ui/PHTV_Picker_1_Emoji.png\" alt=\"PHTV Picker - Emoji\" width=\"280\"\u003e\n\u003cp\u003e\u003cem\u003eEmoji Picker\u003c/em\u003e\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd width=\"26%\" align=\"center\"\u003e\n\u003cimg src=\"docs/images/ui/PHTV_Picker_2_GIF.png\" alt=\"PHTV Picker - GIF\" width=\"280\"\u003e\n\u003cp\u003e\u003cem\u003eGIF Picker\u003c/em\u003e\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd width=\"26%\" align=\"center\"\u003e\n\u003cimg src=\"docs/images/ui/PHTV_Picker_3_Sticker.png\" alt=\"PHTV Picker - Sticker\" width=\"280\"\u003e\n\u003cp\u003e\u003cem\u003eSticker Picker\u003c/em\u003e\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n### Settings\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003ctd width=\"25%\" align=\"center\"\u003e\n\u003cimg src=\"docs/images/Setting_1_bogo.png\" alt=\"Settings - Bộ gõ\" width=\"100%\"\u003e\n\u003cp\u003e\u003cem\u003eBộ gõ\u003c/em\u003e\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd width=\"25%\" align=\"center\"\u003e\n\u003cimg src=\"docs/images/Setting_2_phimtat.png\" alt=\"Settings - Phím tắt\" width=\"100%\"\u003e\n\u003cp\u003e\u003cem\u003ePhím tắt\u003c/em\u003e\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd width=\"25%\" align=\"center\"\u003e\n\u003cimg src=\"docs/images/Setting_3_gotat.png\" alt=\"Settings - Gõ tắt\" width=\"100%\"\u003e\n\u003cp\u003e\u003cem\u003eGõ tắt\u003c/em\u003e\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd width=\"25%\" align=\"center\"\u003e\n\u003cimg src=\"docs/images/Setting_4_ungdung.png\" alt=\"Settings - Ứng dụng\" width=\"100%\"\u003e\n\u003cp\u003e\u003cem\u003eỨng dụng\u003c/em\u003e\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"25%\" align=\"center\"\u003e\n\u003cimg src=\"docs/images/Setting_5_hethong.png\" alt=\"Settings - Hệ thống\" width=\"100%\"\u003e\n\u003cp\u003e\u003cem\u003eHệ thống\u003c/em\u003e\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd width=\"25%\" align=\"center\"\u003e\n\u003cimg src=\"docs/images/Setting_6_baoloi.png\" alt=\"Settings - Báo lỗi\" width=\"100%\"\u003e\n\u003cp\u003e\u003cem\u003eBáo lỗi\u003c/em\u003e\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd width=\"25%\" align=\"center\"\u003e\n\u003cimg src=\"docs/images/Setting_7_thongtin.png\" alt=\"Settings - Thông tin\" width=\"100%\"\u003e\n\u003cp\u003e\u003cem\u003eThông tin\u003c/em\u003e\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd width=\"25%\"\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n\u003c/div\u003e\n\n## Cài đặt\n\n### Homebrew (khuyên dùng)\n\n```bash\nbrew install --cask phamhungtien/tap/phtv\n```\n\n\u003e 💡 **Tự động cập nhật**: Sau khi cài, PHTV sẽ tự động kiểm tra và thông báo khi có phiên bản mới. Không cần `brew upgrade` thủ công!\n\n**Cập nhật thủ công qua Homebrew (nếu muốn):**\n```bash\nbrew upgrade --cask phtv\n```\n\n**Gỡ cài đặt:**\n```bash\n# Gỡ ứng dụng\nbrew uninstall --cask phtv\n\n# Gỡ sạch (bao gồm cả settings)\nbrew uninstall --zap --cask phtv\n```\n\n### Tải trực tiếp\n\n```bash\n# Tải từ website\nopen https://phamhungtien.com/PHTV/\n\n# Hoặc từ GitHub Releases\nopen https://github.com/PhamHungTien/PHTV/releases/latest\n```\n\n### Build từ source\n\n```bash\ngit clone https://github.com/PhamHungTien/PHTV.git\ncd PHTV/App\nopen PHTV.xcodeproj\n# Build với Cmd+B, chạy với Cmd+R\n```\n\n\u003e **Lưu ý**: Ứng dụng cần quyền **Accessibility** để hoạt động. Vào **System Settings \u003e Privacy \u0026 Security \u003e Accessibility** và thêm PHTV.\n\nXem chi tiết kiến trúc: [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md)\n\n### 🤖 CI/CD \u0026 Release Automation\n\nPHTV sử dụng GitHub Actions để tự động build, sign, và release:\n- ✅ **Tự động build** trên macOS 26 với Xcode\n- ✅ **Code signing** với Apple Development certificate\n- ✅ **Tạo DMG** với Applications shortcut\n- ✅ **Sparkle signing** cho auto-update bảo mật\n- ✅ **Auto-update Homebrew** formula và appcast.xml\n- ✅ **Auto-increment build number** cho mỗi release\n\nXem chi tiết tại [.github/workflows/README.md](.github/workflows/README.md)\n\n## Sử dụng\n\n### Phím tắt mặc định\n\n| Phím tắt | Chức năng |\n| --- | --- |\n| **Control + Shift** | Chuyển Việt/Anh (tùy chỉnh được) |\n| **ESC** | Khôi phục ký tự gốc (hoàn tác dấu) |\n| **Giữ Option** | Tạm tắt tiếng Việt (tùy chỉnh được) |\n| **Control + V** | Mở Lịch sử Clipboard (tùy chỉnh được, mặc định tắt) |\n\n### Menu Bar\n\nClick biểu tượng **Vi** (Việt) / **En** (Anh) trên menu bar:\n\n- Chuyển đổi phương pháp gõ (Telex/VNI/Simple Telex)\n- Thay đổi bảng mã (Unicode/TCVN3/VNI Windows/Unicode Compound)\n- Bật/tắt kiểm tra chính tả, gõ tắt\n- Mở Settings để cấu hình chi tiết\n\n### Cài đặt chi tiết\n\n| Tab | Nội dung |\n| --- | --- |\n| **Bộ gõ** | Phương pháp gõ, bảng mã, chính tả, Quick Telex, phụ âm nhanh |\n| **Phím tắt** | Phím chuyển ngôn ngữ, tạm tắt tiếng Việt, PHTV Picker hotkey, Lịch sử Clipboard |\n| **Gõ tắt** | Quản lý macro, text snippets, import/export, tự động viết hoa |\n| **Ứng dụng** | Excluded Apps, Send Key Step-by-Step, Keyboard Layout, Safe Mode |\n| **Hệ thống** | Khởi động cùng macOS, Smart Switch, cập nhật, menu bar, phát hiện bàn phím non-Latin |\n| **Báo lỗi** | Gửi báo cáo lỗi qua GitHub hoặc Email với crash logs và debug info |\n| **Thông tin** | Phiên bản, giấy phép, ủng hộ phát triển |\n\n## Yêu cầu hệ thống\n\n| Thành phần | Yêu cầu |\n| --- | --- |\n| **macOS** | 14.0+ (Sonoma trở lên) |\n| **Kiến trúc** | Universal Binary (Intel + Apple Silicon) |\n| **Xcode** | Phiên bản mới nhất (nếu build từ source) |\n| **Quyền** | Accessibility |\n\n\u003e **Lưu ý**: PHTV hỗ trợ cả Intel và Apple Silicon (M1/M2/M3/M4/...). Universal Binary cho mọi Mac chạy macOS 14.0+.\n\n## Công nghệ\n\n### Core\n- **Swift 6.0** + **SwiftUI** - Giao diện native hiện đại, 100% Swift\n- **CGEvent API** - Event interception và xử lý bàn phím\n- **Accessibility API** - Hỗ trợ Spotlight và các app đặc biệt\n- **NSUserDefaults** - Lưu trữ cấu hình local\n\n### Distribution \u0026 Updates\n- **Sparkle 2.8.1** - Framework auto-update với EdDSA signing\n- **GitHub Actions** - CI/CD tự động build và release\n- **Homebrew Cask** - Package manager cho macOS\n- **DMG** - Universal disk image với Applications symlink\n\n## Tài liệu\n\n### Người dùng\n- **[Cài đặt](docs/INSTALL.md)** - Hướng dẫn cài đặt chi tiết\n- **[FAQ](docs/FAQ.md)** - Các câu hỏi thường gặp\n\n### Nhà phát triển\n- **[GitHub Actions Workflows](.github/workflows/README.md)** - CI/CD, auto-update, và release automation\n- **[Scripts](scripts/)** - Scripts tự động hóa (Homebrew, Sparkle, DMG creation)\n- **Engine Regression Tests** - Chạy `xcodebuild -project App/PHTV.xcodeproj -scheme PHTV -configuration Debug -destination 'platform=macOS' test -only-testing:PHEngineTests/EngineRegressionTests` để kiểm tra các lỗi hồi quy quan trọng của bộ gõ\n- **[Kiến trúc](docs/ARCHITECTURE.md)** - Thiết kế hệ thống và cấu trúc mã nguồn\n- **[Contributing](CONTRIBUTING.md)** - Hướng dẫn đóng góp\n- **[Security](SECURITY.md)** - Chính sách bảo mật\n\n## Đóng góp\n\nMọi đóng góp đều được chào đón! Xem [CONTRIBUTING.md](CONTRIBUTING.md) để biết cách thức.\n\n**Các cách đóng góp:**\n\n- [Báo lỗi](../../issues/new?template=bug_report.md)\n- [Đề xuất tính năng](../../issues/new?template=feature_request.md)\n- Gửi Pull Request\n- Cải thiện tài liệu\n\n## Hỗ trợ \u0026 Liên hệ\n\n- Email: phamhungtien.contact@gmail.com\n- GitHub: [Issues](../../issues) | [Discussions](../../discussions)\n- Website: [phamhungtien.com/PHTV](https://phamhungtien.com/PHTV/)\n- Facebook: [PHTVInput](https://www.facebook.com/PHTVInput)\n- LinkedIn: [Phạm Hùng Tiến](https://www.linkedin.com/in/ph%E1%BA%A1m-h%C3%B9ng-ti%E1%BA%BFn-a1b405327/)\n\n## License \u0026 Credits\n\nPHTV được phát hành dưới giấy phép **[GNU AGPL v3.0](LICENSE)**.\n\n### Cảm ơn đặc biệt\n\n- **[UniKey](https://unikey.org/)** — Phạm Kim Long — Engine xử lý tiếng Việt\n- **[OpenKey](https://github.com/tuyenvm/OpenKey)** — Mai Vũ Tuyên — Engine xử lý tiếng Việt\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n### Nếu PHTV hữu ích, hãy cho dự án một star!\n\n[![GitHub stars](https://img.shields.io/github/stars/PhamHungTien/PHTV?style=social)](../../stargazers)\n\n**[Về đầu trang](#phtv)**\n\nMade with love for Vietnamese macOS users\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphamhungtien%2Fphtv","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphamhungtien%2Fphtv","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphamhungtien%2Fphtv/lists"}