27 điểm bởi 0126kjw 2025-01-08 | 17 bình luận | Chia sẻ qua WhatsApp

Tôi đã tạo ra một công cụ để giải quyết vấn đề tương thích tên file tiếng Hàn với Windows mà hẳn người dùng macOS đã từng gặp ít nhất một lần.

Vấn đề

Tên file tiếng Hàn được tạo trên macOS khi mở trên Windows sẽ bị tách rời jamo và hiển thị lỗi.
Trước đây, để giải quyết việc này, người ta thường dùng các cách như Automator kết hợp với convmv, nhưng việc thiết lập ban đầu khá khó khăn và có nhiều bất tiện.

Cách giải quyết

  • Được triển khai dưới dạng ứng dụng thường trú trên thanh menu, có thể dùng ngay khi cần
  • Chỉ cần kéo thả file vào biểu tượng là sẽ tự động chuyển đổi xong
  • Không cần thiết lập riêng hay thao tác terminal

Công nghệ sử dụng

  • Ứng dụng thanh menu dựa trên SwiftUI
  • Triển khai bằng Swift thuần để có môi trường chạy gọn nhẹ
  • Không có phụ thuộc bên ngoài

Bảo vệ quyền riêng tư

  • Mọi thao tác chuyển đổi tên file đều chỉ được xử lý trên máy tính cục bộ của người dùng
  • Hoàn toàn không giao tiếp với máy chủ bên ngoài nên không có rủi ro rò rỉ thông tin file ra ngoài
  • Nội dung hay metadata của file hoàn toàn không bị chỉnh sửa, chỉ chuyển đổi đúng phần tên file

[Liên kết]

GitHub: https://github.com/0126kjw/FileNic


Xin chào. Bình thường tôi chỉ âm thầm theo dõi, nhưng hôm nay muốn chia sẻ với mọi người nên lần đầu đăng ký và viết bài.

Trong công việc, khi gửi nhận file qua email, tôi đã nhiều lần nhận được phản hồi rằng tên file bị hiển thị lỗi.

Vì vậy tôi nghĩ hãy giải quyết việc này theo cách đơn giản nhất có thể, nên xin chia sẻ công cụ mà cá nhân tôi đã tự làm và dùng.

Rất mong nhận được ý kiến và phản hồi từ mọi người!

17 bình luận

 
0126kjw 2025-01-25

Xin chào! Có tin vui nên mình để lại bình luận haha

Giờ bạn đã có thể tải xuống qua App Store!

https://apple.co/3E7rWid

Cảm ơn haha

 
0126kjw 2025-01-15

Tính đến ngày 15 tháng 1, quy trình ký ứng dụng và xác thực đã hoàn tất, nên giờ đây có thể chạy ứng dụng mà không còn vấn đề bảo mật! 🎉
Ngoài ra, ở v1.0.5 dự kiến sẽ được bổ sung tính năng chuyển đổi thư mục. Chức năng và thiết lập để có thể chuyển đổi cả các tệp con trong thư mục cùng một lúc đã được thêm vào, đồng thời cũng đã sửa một số lỗi nhỏ, mong mọi người quan tâm nhiều hơn🙏
Thêm vào đó, chúng tôi sẽ cố gắng để sau này cũng có thể hỗ trợ phát hành thông qua HomeBrew và AppStore.
Xin chân thành cảm ơn rất nhiều người đã gửi phản hồi 😊

 
wedding 2025-01-12

Vì sao lại xảy ra hiện tượng tách jaso, và vì sao Apple không giải quyết vấn đề này nhỉ? Thật sự khá tò mò.

 
0126kjw 2025-01-15

Ngoài ra, sự khác biệt trong phương thức chuẩn hóa Unicode cũng đang ảnh hưởng đến người dùng của nhiều ngôn ngữ khác nhau. Đặc biệt, người dùng các ngôn ngữ như tiếng Đức, tiếng Pháp và tiếng Tây Ban Nha, vốn sử dụng dấu phụ phát âm (diacritics), cũng được biết là đang gặp phải những vấn đề tương tự.

Việc Apple và Microsoft mỗi bên đều giữ một phương thức chuẩn hóa khác nhau có lẽ là do nhiều ràng buộc kỹ thuật như khả năng tương thích với các hệ thống hiện có và tính tương thích ngược. Để giải quyết vấn đề này một cách có hệ thống, cần có những thay đổi mang tính nền tảng ở cả hai hệ điều hành, nhưng điều đó có thể ảnh hưởng lớn đến các hệ thống hiện tại nên có vẻ sẽ rất khó để xử lý.

 
0126kjw 2025-01-15

Vấn đề này phát sinh từ sự khác biệt trong cách chuẩn hóa Unicode mà macOS và Windows áp dụng.

Trong Unicode có hai cách chính để lưu trữ tiếng Hàn:

  • NFC (Normalization Form Canonical Composition): ghép các jamo lại và lưu thành một ký tự hoàn chỉnh
  • NFD (Normalization Form Canonical Decomposition): tách các jamo ra và lưu riêng từng phần

Windows dùng NFC nên lưu annyeong dưới dạng một ký tự hoàn chỉnh, trong khi macOS dùng NFD nên lưu riêng ieung, a, nieun, nieun, yeo, ieung. Chính sự khác biệt trong cách lưu trữ này khiến các ký tự bị tách rời khi mở tệp được tạo trên macOS trong Windows.

FileNic hỗ trợ chuyển đổi sự khác biệt này theo cách đơn giản cho người dùng, giúp tên tệp hiển thị đúng trên cả hai hệ điều hành.

 
godrm 2025-01-10

Có vẻ sẽ hữu ích với những ai thường xuyên chia sẻ qua lại với các nền tảng khác.
Bạn đã đăng ký tài khoản nhà phát triển chưa? Khi phát hành, nếu archive trong Xcode rồi export bản đã archive theo định dạng Direct Distribution, Apple sẽ thực hiện notarizing thông qua cổng nhà phát triển Apple. Khi đó, tương tự như phát hành qua App Store, quyền hạn sẽ được chứng thực nên có thể chạy ngay. Nếu tham khảo tài liệu này, có lẽ việc phát hành và chạy ứng dụng sẽ thuận lợi hơn: https://developer.apple.com/documentation/Security/…

 
0126kjw 2025-01-15

Xin chào! Cảm ơn bạn đã chia sẻ thông tin hữu ích. Để việc phân phối diễn ra suôn sẻ, quy trình ký và chứng thực đã được hoàn tất, và giờ đây đã được xử lý để bạn có thể sử dụng một cách thuận tiện mà không gặp lỗi khi chạy hay vấn đề bảo mật. Xin cảm ơn.

 
findnamo 2025-01-09

Tôi đã từng tạo một chức năng tương tự vào tháng 10 năm 2020 nên chia sẻ lại ở đây.

Khi chạy lần đầu, hãy giữ phím control rồi nhấn Mở.

 
0126kjw 2025-01-15

Tôi cũng đã dùng Contact rất nhiều! Cảm ơn bạn đã bình luận haha

 
dukjin 2025-01-10

Tôi đang dùng Contact rất tốt haha, đến giờ nó vẫn nằm trên thanh menu của tôi.

 
draupnir 2025-01-08

Tôi nhớ hồi cực kỳ đầu của thời lưu trữ đám mây, Dropbox đã giải quyết gần như hoàn hảo vấn đề kiểu này nên đã để lại cho tôi ấn tượng rất sâu sắc :)

 
0126kjw 2025-01-08

Cảm ơn bạn! Đúng như bạn nói, hóa ra trước đây Dropbox đã có tiền lệ như vậy. Nhờ đó tôi đã có được một góc nhìn rất hữu ích. Tôi mong ở cấp độ OS sẽ mặc định hỗ trợ chuẩn hóa Unicode NFC cho tên tệp tiếng Hàn, vì người dùng tiếng Hàn. Để những công cụ như thế này không còn cần thiết nữa. :)

 
cogurrl 2025-01-08

Khi chạy, thay vì hiện "nhà phát triển chưa được xác minh....", ngay từ lúc mở đã báo "không thể chạy ứng dụng", và cũng không thể xác nhận trong mục Bảo mật. (Mac 15.2(24C101))

 
0126kjw 2025-01-15

Quy trình ký ứng dụng và chứng thực đã hoàn tất, và hiện đã được xử lý để bạn có thể sử dụng thoải mái mà không gặp lỗi khi chạy hay vấn đề bảo mật. Một lần nữa xin cảm ơn bạn đã gửi phản hồi.

 
0126kjw 2025-01-08

Cảm ơn bạn đã chia sẻ vấn đề! Sau khi kiểm tra, mình phát hiện vấn đề là target phát hành đang được đặt thành 15.1. Đây là ứng dụng mình dùng một mình nên đã không để ý kịpT_T Mình sẽ thay đổi để có thể hỗ trợ toàn bộ từ macOS 13.0 trở lên và chỉnh lại file release! Cảm ơn bạn đã phản hồi

 
princox 2026-03-08

Vào App Store thì không thấy gì hiện ra cả, đây có đúng là liên kết hợp lệ không?!

 
princox 2026-03-08

Hiển thị thông báo rằng không có trang bạn đang tìm trong App Store!