Skip to content

Latest commit

ย 

History

History
470 lines (308 loc) ยท 20.2 KB

README_KR.md

File metadata and controls

470 lines (308 loc) ยท 20.2 KB

Pot (๊ฐ„ํŽธ ๋ฒˆ์—ญ๊ธฐ)

A cross-platform translator application (Telegram Group)

License Tauri JavaScript Rust Windows MacOS Linux



ไธญๆ–‡ | English | ํ•œ๊ธ€

๋ชฉ์ฐจ

์‚ฌ์šฉ๋ฒ•

์„ ํƒ์˜์—ญ ์ž๋™๋ฒˆ์—ญ ์ž…๋ ฅ๋‹จ์–ด ๋ฒˆ์—ญ ์™ธ๋ถ€ํ˜ธ์ถœ
๋ฌธ์žฅ์„ ์„ ํƒํ•˜๊ณ  ๋ฒˆ์—ญ๋‹จ์ถ•ํ‚ค๋ฅผ ๋ˆ„๋ฆ…๋‹ˆ๋‹ค ๋ฒˆ์—ญ์ฐฝ์„ ์—ด๊ณ , ๋ฒˆ์—ญํ•  ๋ฌธ์žฅ์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋žจ๊ณผ ์—ฐ๋™ํ•˜์—ฌ ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค, External Calls ์ฐธ๊ณ 
ํด๋ฆฝ๋ณด๋“œ ์ž๋™์ธ์‹ ์Šคํฌ๋ฆฐ์ƒท OCR์–ธ์–ด์ธ์‹ ์Šคํฌ๋ฆฐ์ƒท ์ž๋™๋ฒˆ์—ญ
ํด๋ฆฝ๋ณด๋“œ ๋ชจ๋‹ˆํ„ฐ๋ง ์˜ต์…˜์„ ํ†ตํ•ด, ํ…์ŠคํŠธ๋ฅผ ๋ณต์‚ฌํ•˜๋ฉด ์ž๋™์œผ๋กœ ๋ฒˆ์—ญํ•ฉ๋‹ˆ๋‹ค ํ™”๋ฉด์บก์ณ๋ฅผ ํ†ตํ•ด ๋ฌธ์ž๋ฅผ ์ธ์‹ํ•ฉ๋‹ˆ๋‹ค ํ™”๋ฉด์„ ์บก์ณํ•˜๋ฉด ์ธ์‹ํ•œ ๋ฌธ์žฅ์„ ๋ฒˆ์—ญํ•ฉ๋‹ˆ๋‹ค

๊ธฐ๋Šฅ

์ƒ์„ธ ํŽ˜์ด์ง€

๋ฒˆ์—ญ

์ถ”๊ฐ€ํ•ญ๋ชฉ์€ ๋‹ค์Œ์„ ์ฐธ๊ณ  Plugin System

๋ฌธ์ž์ธ์‹

์ถ”๊ฐ€ํ•ญ๋ชฉ์€ ๋‹ค์Œ์„ ์ฐธ๊ณ  Plugin System

๋ฌธ์ž-์Œ์„ฑ๋ณ€ํ™˜

์ถ”๊ฐ€ํ•ญ๋ชฉ์€ ๋‹ค์Œ์„ ์ฐธ๊ณ  Plugin System

์‚ฌ์ „

์ถ”๊ฐ€ํ•ญ๋ชฉ์€ ๋‹ค์Œ์„ ์ฐธ๊ณ  Plugin System

-ํ”Œ๋Ÿฌ๊ทธ์ธ- ์‹œ์Šคํ…œ

์ •ํ•ด์ง„ ๊ธฐ๋ณธ ์„ค์ •ํ•ญ๋ชฉ ์™ธ์—, -ํ”Œ๋Ÿฌ๊ทธ์ธ ์‹œ์Šคํ…œ-์„ ํ†ตํ•ด ์‚ฌ์šฉ์ž๊ฐ€ ์›ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

-ํ”Œ๋Ÿฌ๊ทธ์ธ-์˜ ์„ค์น˜

์„ค์น˜๊ฐ€๋Šฅํ•œ ํ”Œ๋Ÿฌ๊ทธ์ธ ํ•ญ๋ชฉ์€ ๋‹ค์Œ์„ ์ฐธ๊ณ ํ•˜์„ธ์š” Plugin List. ๊ทธ๋ฆฌ๊ณ  ํ•„์š”ํ•œ ํ•ญ๋ชฉ์„ ๋‹ค์šด๋ฐ›์œผ์‹ญ์‹œ์˜ค.

ํ”Œ๋Ÿฌ๊ทธ์ธ์˜ ํ™•์žฅ์ž๋Š” .potext ์ž…๋‹ˆ๋‹ค. ๋‹ค์šด๋ฐ›์€ .potext ํ™•์žฅ์ž ํŒŒ์ผ์„ ํ”„๋กœ๊ทธ๋žจ ์„ค์ •๋ฉ”๋‰ด - ์„œ๋น„์Šค - Add External Plugin - Install External Plugin ๋ฉ”๋‰ด์—์„œ ๋“ฑ๋กํ•˜์—ฌ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. ํŒŒ์ผ์„ ๋“ฑ๋กํ•˜๋ฉด ํ•ด๋‹น ํ•ญ๋ชฉ์„ ํ”„๋กœ๊ทธ๋žจ์˜ ์‚ฌ์šฉ๋ชฉ๋ก์— ํ‘œ์‹œ๊ฐ€ ๋˜์–ด ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•ด ์ง‘๋‹ˆ๋‹ค.

๋ฌธ์ œํ•ด๊ฒฐ

  • ํŠน์ •๋ชจ๋“ˆ์„ ๋ถˆ๋Ÿฌ์˜ค์ง€ ๋ชปํ•  ๋•Œ (Windows)

    C++ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์—†์„ ๋•Œ ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๊ฐ€ ์ฃผ๋กœ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์ŒํŽ˜์ด์ง€๋ฅผ ๋ฐฉ๋ฌธํ•˜์—ฌ ํ•„์š”ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. ์ฐธ๊ณ  ํŽ˜์ด์ง€

  • ์œ ํšจํ•˜์ง€ ์•Š์€ Win32 ํ”„๋กœ๊ทธ๋žจ (Windows)

    ์‹œ์Šคํ…œ ๋˜๋Š” ํ”„๋กœ๊ทธ๋žจ๊ณผ ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ๋‹ค์šด๋ฐ›์•„ ์„ค์น˜ํ•œ ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค. ํ”Œ๋Ÿฌ๊ทธ์ธ์—์„œ ์ ์ ˆํ•œ ํŒŒ์ผ์„ ๋‹ค์šด๋ฐ›์•˜๋Š”์ง€ ํ™•์ธํ•˜์‹œ๊ณ  ์žฌ์„ค์น˜ ํ•˜์‹ญ์‹œ์˜ค.

-ํ”Œ๋Ÿฌ๊ทธ์ธ-์˜ ๊ฐœ๋ฐœ

ํ…œํ”Œ๋ฆฟ Template ํ•ญ๋ชฉ์—์„œ ๋‹ค์–‘ํ•œ ํ•ญ๋ชฉ์„ ํ”Œ๋Ÿฌ๊ทธ์ธ๋“ค์„ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค Plugin List. ์ด ๊ณณ์—์„œ ํ•„์š”ํ•œ ๋ฌธ์„œ๋ฅผ ์ฐธ๊ณ ํ•˜์‹ญ์‹œ์˜ค.

์„ค์น˜๋ฐฉ๋ฒ•

Windows ์œˆ๋„์šฐ

Winget ์„ ์ด์šฉํ•œ ์„ค์น˜

winget install Pylogmon.pot

์ˆ˜๋™ ์„ค์น˜

  1. ์ตœ์‹ ๋ฒ„์ „ ๋‹ค์šด๋กœ๋“œ ํŽ˜์ด์ง€ Release์—์„œ .exe ํŒŒ์ผ์„ ๋‹ค์šด๋ฐ›์Šต๋‹ˆ๋‹ค.

    • 64-bit ๋ฒ„์ „ ์‚ฌ์šฉ์‹œ, pot_{version}_x64-setup.exe
    • 32-bit ๋ฒ„์ „ ์‚ฌ์šฉ์‹œ, pot_{version}_x86-setup.exe
    • arm64 ๋ฒ„์ „ ์‚ฌ์šฉ์‹œ, pot_{version}_arm64-setup.exe
  2. ๋”๋ธ”ํด๋ฆญํ•˜์—ฌ ์„ค์น˜๋ฅผ ํ•ฉ๋‹ˆ๋‹ค.

๋ฌธ์ œํ•ด๊ฒฐ

  • ์„ค์น˜ ํ›„ ํ”„๋กœ๊ทธ๋žจ์ฐฝ์ด ๋ณด์ด์ง€ ์•Š๊ฑฐ๋‚˜ ์˜ค๋ฅธ์ชฝ ํ•˜๋‹จ ์‹œ์Šคํ…œ ํŠธ๋ ˆ์ด ํ•ญ๋ชฉ์— ์•„์ด์ฝ˜์ด ํ‘œ์‹œ๋˜์ง€ ์•Š์„ ๊ฒฝ์šฐ,

    ์œˆ๋„์šฐ-๋ธŒ๋ผ์šฐ์ €์—์„œ ์‚ฌ์šฉํ•˜๋Š” WebView2 ๊ธฐ๋Šฅ์ด ์„ค์น˜๋˜์ง€ ์•Š์•˜๊ฑฐ๋‚˜ ๋น„ํ™œ์„ฑํ™” ๋œ ๊ฒฝ์šฐ ์ž…๋‹ˆ๋‹ค. ์ด ๋•Œ๋Š” WebView2 ๋ฅผ ์„ค์น˜ํ•˜๊ฑฐ๋‚˜ ๊ธฐ๋Šฅ์„ ์žฌ์„ค์ • ํ•˜์‹ญ์‹œ์˜ค.

    ํšŒ์‚ฌ/๊ธฐ์—… ์‚ฌ์šฉ์ž์˜ ๊ฒฝ์šฐ WebView2 ๊ธฐ๋Šฅ์ด ์„ค์น˜๋˜์ง€ ์•Š์•˜๊ฑฐ๋‚˜ ๋น„ํ™œ์„ฑํ™”๋œ ๊ฒฝ์šฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ๋‹ค์Œ์„ ์„ค์น˜ํ•˜์‹ญ์‹œ์˜ค. WebView2 version pot_{version} at [Release](https://github.com/pot-app/pot-desktop/releases/latest) _{arch}_fix_webview2_runtime-setup.exe

    ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ, Windows 7 compatibility mode์—์„œ ์‹œ๋„ํ•ด ๋ณด์‹ญ์‹œ์˜ค.

MacOS ๋งฅOS

Brew๋ฅผ ํ†ตํ•œ ์„ค์น˜

  1. ํƒญ์— ์ถ”๊ฐ€:
brew tap pot-app/homebrew-tap
  1. ์„ค์น˜:
brew install --cask pot
  1. ์—…๋ฐ์ดํŠธ:
brew upgrade --cask pot

์ˆ˜๋™์„ค์น˜

  1. ์ตœ์‹ ๋ฒ„์ „ ๋‹ค์šด๋กœ๋“œ ํŽ˜์ด์ง€ Release์—์„œ .dmg ํŒŒ์ผ์„ ๋‹ค์šด๋ฐ›์Šต๋‹ˆ๋‹ค. (M1 ์‚ฌ์šฉ์ž์ด๋ฉด, ๋‹ค์Œ ํŒŒ์ผ๋ช…์„ ๋‹ค์šด๋กœ๋“œ ํ•ฉ๋‹ˆ๋‹ค pot_{version}_aarch64.dmg, ๊ธฐํƒ€ ์‚ฌ์šฉ์ž๋Š” ๋‹ค์Œ ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œ ํ•ฉ๋‹ˆ๋‹ค. pot_{version}_x64.dmg)
  2. ๋”๋ธ”ํด๋ฆญํ•˜์—ฌ ์„ค์น˜๋ฅผ ํ•ฉ๋‹ˆ๋‹ค.

๋ฌธ์ œํ•ด๊ฒฐ

  • "pot" ์„ ์—ด ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ๋Š” ๊ฐœ๋ฐœ์ž ์ธ์ฆ์ด ๋˜์ง€ ์•Š์•„์„œ ์ž…๋‹ˆ๋‹ค.

    ์ทจ์†Œ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๊ณ  ์„ค์ • ๋ฉ”๋‰ด๋กœ ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค -> ๊ฐœ์ธ์ •๋ณด ๋ฐ ๋ณด์•ˆ ๋ฉ”๋‰ด์—์„œ ์„ค์ •์„ ํ•ฉ๋‹ˆ๋‹ค. ์—ด๊ธฐ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•œ ๋‹ค์Œ ํŒ์—… ์ฐฝ์—์„œ ์—ด๊ธฐ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ์ดํ›„์—๋Š” ํฌํŠธ๋ฅผ ์—ด ๋•Œ ๋” ์ด์ƒ ํŒ์—… ๊ฒฝ๊ณ ๊ฐ€ ํ‘œ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

    ๊ฐœ์ธ์ •๋ณด ๋ฐ ๋ณด์•ˆ์—์„œ ์œ„์˜ ์˜ต์…˜์„ ์ฐพ์„ ์ˆ˜ ์—†๊ฑฐ๋‚˜ Apple Silicon ์ปดํ“จํ„ฐ์—์„œ ํŒŒ์ผ ์†์ƒ๊ณผ ๊ฐ™์€ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋˜๋Š” ๊ฒฝ์šฐ. Terminal.app์„ ์—ด๊ณ  ๋‹ค์Œ ๋ช…๋ น์„ ์ž…๋ ฅํ•œ ๋‹ค์Œ(์ค‘๊ฐ„์— ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•ด์•ผ ํ•  ์ˆ˜๋„ ์žˆ์Œ), pot์„ ๋‹ค์‹œ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค:

    sudo xattr -d com.apple.quarantine /Applications/pot.app
  • ์—ด ๋•Œ๋งˆ๋‹ค ๊ถŒํ•œ ํ”„๋กฌํ”„ํŠธ๊ฐ€ ๋‚˜ํƒ€๋‚˜๊ฑฐ๋‚˜ ๋ฐ”๋กœ ๊ฐ€๊ธฐ ๋ฒˆ์—ญ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ ์„ค์ • -> ๊ฐœ์ธ์ •๋ณด ๋ฐ ๋ณด์•ˆ -> ์ง€์› ๊ธฐ๋Šฅ์œผ๋กœ ์ด๋™ํ•˜์—ฌ Pot์„ ์ œ๊ฑฐํ•œ ๋‹ค์Œ Pot์„ ๋‹ค์‹œ ์ถ”๊ฐ€ํ•˜์„ธ์š”..

Linux

Debian/Ubuntu ๋ฐ๋น„์•ˆ/์šฐ๋ถ„ํˆฌ

๋ฆฌ๋ˆ…์Šค ํ™˜๊ฒฝ์„ ์œ„ํ•ด deb ํŒŒ์ผ์ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค

์ฐธ๊ณ  : ๋‘ ๊ฐ€์ง€ ๋ฒ„์ „์ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. glibc2.28๊ธฐ๋ฐ˜์˜ universal๊ณผ openssl-1.1 ๋ฒ„์ „์ž…๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋žจ์ด ๋‹น์‹ ์˜ ์ปดํ“จํ„ฐ์—์„œ ์ •์ƒ์ ์œผ๋กœ ์‹คํ–‰๋˜์ง€ ์•Š๋Š”๋‹ค๋ฉด dependency์™€ ๊ด€๋ จ๋œ ๋ฌธ์ œ์ผ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. universal๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๋ฉด ์ด์ „ ๋ฒ„์ „์˜ dependency๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‹คํ–‰ํ•˜๋ฉด ๋Œ€๋ถ€๋ถ„ ์‹คํ–‰์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

Arch/Manjaro

Warning

In newer version of Webkit2Gtk (2.42.0), Because Nvidia Proprietary drives are not fully implemented DMABUF, it will cause failure to start and crash.
Please downgrade or add the WEBKIT_DISABLE_DMABUF_RENDERER=1 environment variable to /etc/environment (or other places where environment variables are set) to turn off the use of DMABUF.

  1. View on AUR

Use aur helper๏ผš

yay -S pot-translation # or pot-translation-bin or pot-translation-git
# or
paru -S pot-translation # or pot-translation-bin or pot-translation-git
  1. If you are using archlinuxcn, you can install directly using pacman:
sudo pacman -S pot-translation

Flatpak

Warning

์‹œ์Šคํ…œ ํŠธ๋ ˆ์ด ์•„์ด์ฝ˜์ด Flatpak์„ ํ†ตํ•ด ์„ค์น˜ํ•˜๋ฉด ํ‘œ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Download on Flathub

์™ธ๋ถ€ํ˜ธ์ถœ

Pot์€ ์™„๋ฒฝํ•œ HTTP ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋žจ๊ณผ ์—ฐ๋™ํ•ด์„œ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ํƒ€ ํ”„๋กœ๊ทธ๋žจ์€ HTTP requests๋ฅผ 127.0.0.1:port ์ฃผ์†Œ๋กœ ๋ณด๋‚ด์–ด ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ํฌํŠธ๋Š” 60828์ž…๋‹ˆ๋‹ค. ์ด๋Š” ์‚ฌ์šฉ์ž ์„ค์ •์—์„œ ๋ณ€๊ฒฝ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

API ์ƒ์„ธ:

POST "/" => Translate given text (body is text to translate)
GET "/config" => Open settings
POST "/translate" => Translate given text (same as "/")
GET "/selection_translate" => Translate selected text
GET "/input_translate" => Open input translation
GET "/ocr_recognize" => Perform OCR on screenshot
GET "/ocr_translate" => Perform translation on screenshot
GET "/ocr_recognize?screenshot=false" => OCR without taking screenshot
GET "/ocr_translate?screenshot=false" => Translate screenshot without taking screenshot
GET "/ocr_recognize?screenshot=true" => OCR with screenshot
GET "/ocr_translate?screenshot=true" => Translate screenshot

์˜ˆ์ œ:

  • ์„ ํƒ์˜์—ญ ์ž๋™๋ฒˆ์—ญ:

    "์„ ํƒ์˜์—ญ ์ž๋™๋ฒˆ์—ญ"์„ ํ˜ธ์ถœํ•˜๋ ค๋ฉด ๊ฐ„๋‹จํžˆ 127.0.0.1:port์— ํ˜ธ์ถœ์š”์ฒญ์„ ํ•ฉ๋‹ˆ๋‹ค:

    E.g. curl ์‚ฌ์šฉ์‹œ:

    curl "127.0.0.1:60828/selection_translate"

์ž์ฒด์Šคํฌ๋ฆฐ์ƒท ๋ฏธ์‚ฌ์šฉ OCR ๊ธฐ๋Šฅ

OCR ๋ฐ ๋ฒˆ์—ญ์„ ์œ„ํ•ด์„œ pot์€ ์ž์ฒด ์Šคํฌ๋ฆฐ์ƒท(ํ™”๋ฉด์บก์ณ)๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์ฒด ํ™”๋ฉด์บก์ณ ํˆด์„ ์‚ฌ์šฉํ•˜๋ฉด ํŠน์ •ํ™˜๊ฒฝ์—์„œ ์ž์ฒด ์Šคํฌ๋ฆฐ์ƒท ๊ธฐ๋Šฅ์ด ์ •์ƒ์ ์œผ๋กœ ๋™์ž‘ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์„ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Workflow:

  1. ํƒ€ ์Šคํฌ๋ฆฐ์ƒท ํ”„๋กœ๊ทธ๋žจ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ™”๋ฉด์„ ์บก์ณํ•ฉ๋‹ˆ๋‹ค
  2. ์บก์ณํ•œ ํ™”๋ฉด์„ ๋‹ค์Œ ์œ„์น˜์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. $CACHE/com.pot-app.desktop/pot_screenshot_cut.png
  3. ์™ธ๋ถ€ํ˜ธ์ถœ์„ ํ†ตํ•ด ๋ฒˆ์—ญ์š”์ฒญ์„ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค. 127.0.0.1:port/ocr_recognize?screenshot=false

$CACHE ๋Š” ์‹œ์Šคํ…œ ์บ์‹œ ํด๋”์ž…๋‹ˆ๋‹ค. e.g. ์œˆ๋„์šฐ๋Š” ๋‹ค์Œ๊ฒฝ๋กœ๋ฅผ ํ™•์ธํ•˜์„ธ์š” C:\Users\{username}\AppData\Local\com.pot-app.desktop\pot_screenshot_cut.png .

์˜ˆ์ œ

๋ฆฌ๋ˆ…์Šค์—์„œ Flameshot์„ ํ™œ์šฉํ•œ OCR:

rm ~/.cache/com.pot-app.desktop/pot_screenshot_cut.png && flameshot gui -s -p ~/.cache/com.pot-app.desktop/pot_screenshot_cut.png && curl "127.0.0.1:60828/ocr_recognize?screenshot=false"

Existing Usages (Quick selection translation)

SnipDo (Windows)

  1. SnipDo๋ฅผ Microsoft Store ์—์„œ ๋‹ค์šด๋ฐ›์•„ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.
  2. DSnipDo ํ™•์žฅํŒฉ์„ ์ตœ์‹ ๋ฒ„์ „ ๋‹ค์šด ๊ฒฝ๋กœ์—์„œ Release (pot.pbar) ๋‹ค์šด๋ฐ›์Šต๋‹ˆ๋‹ค.
  3. ๋”๋ธ”ํด๋ฆญํ•˜์—ฌ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.
  4. ํŠน์ •๋‹จ์–ด๋ฅผ ์„ ํƒํ•˜๊ฒŒ ๋˜๋ฉด, ์„ ํƒ์˜์—ญ์˜ ์˜ค๋ฅธ์ชฝ ์œ— ๋ถ€๋ถ„์— ๋ฒˆ์—ญ์•„์ด์ฝ˜์ด ๋ณด์ด๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ํด๋ฆญํ•˜์—ฌ ๋ฒˆ์—ญ์„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

PopClip (MacOS)

  1. PopClip๋ฅผ App Store ์—์„œ ๋‹ค์šด๋ฐ›์•„ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.
  2. PopClip ํ™•์žฅํŒฉ์„ ์ตœ์‹ ๋ฒ„์ „ ๋‹ค์šด ๊ฒฝ๋กœ์—์„œ Release (pot.popclipextz) ๋‹ค์šด๋ฐ›์Šต๋‹ˆ๋‹ค.
  3. ๋”๋ธ”ํด๋ฆญํ•˜์—ฌ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.
  4. PopClip settings์—์„œ ๊ธฐ๋Šฅ์„ ํ™œ์„ฑํ™” ํ•˜๋ฉด ์„ ํƒ์˜์—ญ์˜ ๋ฒˆ์—ญ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Starry (Linux)

Starry๋Š” ์•„์ง ๊ฐœ๋ฐœ๋‹จ๊ณ„์— ๋จธ๋ฌผ๋Ÿฌ ์žˆ์Šต๋‹ˆ๋‹ค.๋”ฐ๋ผ์„œ ์‚ฌ์šฉ์ž๊ฐ€ ์ง์—… ์ปดํŒŒ์ผํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Github: ccslykx/Starry

Wayland ์ง€์›

๋ฐฐํฌํŒ๋งˆ๋‹ค Wayland์— ๋Œ€ํ•œ ์ง€์› ์ˆ˜์ค€์ด ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— pot ์ž์ฒด๋กœ๋Š” ์™„๋ฒฝํ•œ ํ˜ธํ™˜์„ฑ์„ ๋‹ฌ์„ฑํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋‹ค์Œ์€ ์ ์ ˆํ•œ ๊ตฌ์„ฑ์„ ํ†ตํ•ด ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๋ช‡ ๊ฐ€์ง€ ์ผ๋ฐ˜์ ์ธ ๋ฌธ์ œ์— ๋Œ€ํ•œ ํ•ด๊ฒฐ์ฑ…์œผ๋กœ, Wayland์—์„œ pot์„ ์™„๋ฒฝํ•˜๊ฒŒ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹จ์ถ•ํ‚ค๋ฅผ ์ ์šฉํ•  ์ˆ˜ ์—†์„ ๋•Œ,

ํƒ€์šฐ๋ฆฌTauri๋Š” ์›จ์ด๋žœ๋“œWayland๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์—, pot์˜ ๋‹จ์ถ•ํ‚ค ๊ธฐ๋Šฅ์€ ์›จ์ด๋žœ๋“œWaylan์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ ๋‹จ์ถ•ํ‚ค๋ฅผ ์„ค์ •ํ•˜๊ณ  curl๋กœ ์š”์ฒญ์„ ๋ณด๋‚ด ํŒŸ์„ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ž์„ธํ•œ ๋‚ด์šฉ์€External Calls ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

๋‹จ์ถ•ํ‚ค๊ฐ€ ๋™์ž‘ํ•˜์ง€ ์•Š์„ ๋•Œ,

์ผ๋ถ€ ์ˆœ์ˆ˜ ์›จ์ด๋žœ๋“œWayland ๋ฐ์Šคํฌํ†ฑ ํ™˜๊ฒฝ/์ฐฝ ๊ด€๋ฆฌ์ž(์˜ˆ: ํ•˜์ดํ”„๋žœ๋“œ)์—์„œ๋Š” pot์˜ ๊ธฐ๋ณธ ์ œ๊ณต ์Šคํฌ๋ฆฐ์ƒท ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ๋‹ค๋ฅธ ์Šคํฌ๋ฆฐ์ƒท ๋„๊ตฌ๋ฅผ ๋Œ€์‹  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ Not Using Built-in Screenshot ์„น์…˜์„ ์ฐธ์กฐํ•˜์„ธ์š”.

์•„๋ž˜๋Š” ์Šคํฌ๋ฆฐ์ƒท ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด grim๊ณผ slurp๋ฅผ ์‚ฌ์šฉํ•˜๋Š” Hyprland์˜ ๊ตฌ์„ฑ ์˜ˆ์‹œ์ž…๋‹ˆ๋‹ค:

bind = ALT, X, exec, grim -g "$(slurp)" ~/.cache/com.pot-app.desktop/pot_screenshot_cut.png && curl "127.0.0.1:60828/ocr_recognize?screenshot=false"
bind = ALT, C, exec, grim -g "$(slurp)" ~/.cache/com.pot-app.desktop/pot_screenshot_cut.png && curl "127.0.0.1:60828/ocr_translate?screenshot=false"

๋‹ค๋ฅธ ๋ฐ์Šคํฌํ†ฑ ํ™˜๊ฒฝ/์ฐฝ ๊ด€๋ฆฌ์ž๋„ ๋น„์Šทํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

๋ฒˆ์—ญ์ฐฝ์€ ๋งˆ์šฐ์Šค ์ขŒํ‘œ๋ฅผ ๋”ฐ๋ผ๊ฐ‘๋‹ˆ๋‹ค.

ํ˜„์žฌ ์›จ์ด๋žœ๋“œWayland์—์„œ ์ •ํ™•ํ•œ ๋งˆ์šฐ์Šค ์ขŒํ‘œ๋ฅผ ์–ป์„ ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋‚ด๋ถ€ ๊ตฌํ˜„์ด ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํŠน์ • ๋ฐ์Šคํฌํ†ฑ ํ™˜๊ฒฝ/์ฐฝ ๊ด€๋ฆฌ์ž์˜ ๊ฒฝ์šฐ ์ฐฝ ๊ทœ์น™์„ ์„ค์ •ํ•˜์—ฌ ๋งˆ์šฐ์Šค ์œ„์น˜์— ๋”ฐ๋ฅธ ์ฐฝ์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ๋Š” ํ•˜์ดํ”„๋žœ๋“œHyprland๋ฅผ ์˜ˆ๋กœ ๋“ค์–ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค:

windowrulev2 = float, class:(pot), title:(Translator|OCR|PopClip|Screenshot Translate) # Translation window floating
windowrulev2 = move cursor 0 0, class:(pot), title:(Translator|PopClip|Screenshot Translate) # Translation window follows the mouse position.

๋‹ค์ค‘์–ธ์–ด ์ง€์›(Weblate)

๊ธฐ์—ฌ์ž

์‚ฌ์šฉ์ž ์ปดํŒŒ์ผ

์š”๊ตฌ์‚ฌํ•ญ

Node.js >= 18.0.0

pnpm >= 8.5.0

Rust >= 1.80.0

์ปดํŒŒ์ผ ๋ฐฉ๋ฒ•

  1. repository์„ ๋ณต์‚ฌํ•ฉ๋‹ˆ๋‹ค

    git clone https://github.com/pot-app/pot-desktop.git
  2. dependencies๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค

    cd pot-desktop
    pnpm install
  3. (Only Linux) dependencies๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค

    sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libayatana-appindicator3-dev librsvg2-dev patchelf libxdo-dev libxcb1 libxrandr2 libdbus-1-3
  4. ๊ฐœ๋ฐœ๋ชจ๋“œ (Optional)

    pnpm tauri dev # Run the app in development mode
  5. ๋นŒ๋“œ

    pnpm tauri build # Build into installation package

๊ด€๋ จ์‚ฌํ•ญ