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!
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àoterminal-notifier
cần, và để chuyển đổi nếu cần thiết.