Umlauts trong MacOS trình thông báo đầu cuối


1

OSX-Mojave. Tôi có một kịch bản đơn giản:

#!/bin/bash

key="..."
text="$(echo $(pbpaste) | sed "s/[\"\'<>]//g")"
translate="$(/usr/local/bin/wget -qO - "https://translate.yandex.net/api/v1.5/tr.json/translate?key=$key&text=$text&lang=ru")"
echo $translate | sed 's/.*\[\"\(.*\)\"\].*/\1/' | /usr/local/bin/terminal-notifier -title "$text" -subtitle "$translate"

Script hoạt động mà không có bất kỳ vấn đề nào và dịch nội dung từ bảng ghi tạm nếu được bắn từ thiết bị đầu cuối. Tôi muốn liên kết tập lệnh với phím nóng bàn phím. Đã làm với máy tự động, nhưng trong cửa sổ bật lên từ (trình thông báo đầu cuối) tôi không thấy ô và đó là lý do tại sao dịch sai. Tôi nghĩ rằng, vấn đề đó ở đâu đó với trình tự động hóa, tôi đã biên dịch ứng dụng đơn giản với osascript nơi tôi bắt đầu tập lệnh bash của mình và liên kết với phím nóng mà không có trình tự động hóa, nhưng vẫn là vấn đề tương tự. Nếu khởi động ứng dụng hoặc bash script từ cli, trong cửa sổ bật lên, tôi thấy các âm sắc và bản dịch chính xác. Nhưng với hotkey tôi lại thấy vấn đề với umlauts.

Có thể xin vui lòng ai đó giải thích cho tôi, đâu là một vấn đề hoặc nơi để tìm kiếm các lỗi. Cảm ơn bạn trước!

enter image description here

enter image description here


Bước đầu tiên là kiểm tra trả lời API cho loại mã hóa và nếu đó là UTF-8, v.v., hãy xem cách các ký tự đặc biệt được thể hiện (các điểm mã đơn? Bộ kết hợp?), Ví dụ: với hexdump -C .... Có vẻ như tôi cần khóa API cho URL này, vì vậy tôi không thể thử cho bạn. Bước tiếp theo là tìm ra mã hóa nào terminal-notifier cần, và để chuyển đổi nếu cần thiết.
dirkt

Tôi không hiểu, tại sao bắt đầu từ thiết bị đầu cuối hiển thị đầu ra chính xác, nhưng bắt đầu trên phím nóng từ GUI hiển thị đầu ra bị hỏng
kbu
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.