콘텐츠로 이동

입력 & 출력

yaku는 다음 세 가지 방식으로 입력을 받으며, 이 순서대로 확인합니다:

우선순위방법예제
1 (최고)파일 (-f)yaku --to ko -f article.en.txt
2위치 인수yaku --to ko "Hello, world"
3stdin 파이프echo "こんにちは" | yaku --to ko
4 (최저)대화형 입력yaku --to ko 실행 후 텍스트 입력 + Ctrl+D

여러 개가 제공되면 우선순위가 높은 소스가 사용됩니다.

하나 이상의 파일을 번역합니다. 여러 파일이 주어지면 내용이 연결됩니다:

Terminal window
# 단일 파일
yaku --to ko -f README.en.md
# 여러 파일
yaku --to ko -f chapter1.en.md -f chapter2.en.md

yaku는 파일 확장자(.md, .json, .yaml)에서 포맷을 자동 감지합니다. 자세한 내용은 포맷 인식 번역을 참조하세요.

짧은 텍스트를 명령줄에서 직접 전달합니다:

Terminal window
yaku --to ko "Good morning"
yaku --to ko "The meeting is tomorrow at ten."

여러 인수는 공백으로 연결됩니다:

Terminal window
yaku --to ko Hello world
# "Hello world"를 번역

다른 명령의 출력을 파이프합니다:

Terminal window
echo "Hello, world" | yaku --to ko
cat article.en.md | yaku --to ko
git log --oneline -5 | yaku --to ko
curl -s https://example.com/api/docs | yaku --to ko

stdin은 -f 옵션과 위치 인수가 모두 없을 때만 읽습니다. yaku는 stdin이 파이프인지 터미널인지 감지합니다:

  • 파이프 모드 — 조용히 읽습니다 (예: echo "こんにちは" | yaku --to ko)

  • 대화형 모드 — 입력 없이 터미널에서 yaku --to ko를 실행하면 yaku가 텍스트를 직접 입력하도록 안내합니다:

    Enter text to translate (Ctrl+D to finish):

    텍스트를 입력하거나 붙여넣은 후 Ctrl+D를 눌러 제출합니다.

yaku는 번역된 텍스트를 stdout에 쓰고 그 외에는 아무것도 쓰지 않습니다. 오류, 힌트, 상세 정보는 stderr로 전달됩니다. 파이프에 적합하도록 출력이 깨끗하게 유지됩니다:

Terminal window
# 클립보드로 파이프 (macOS)
echo "こんにちは" | yaku --to ko | pbcopy
# 다른 명령으로 파이프
yaku --to ko -f report.en.md | wc -w
# 파일로 리다이렉트
yaku --to ko -f doc.en.md > translated.md

파일에 직접 쓰기:

Terminal window
yaku --to ko -f README.en.md -o README.md

yaku는 stderr에 확인 메시지를 출력합니다:

Wrote README.md

모델명, 토큰 사용량, 경과 시간을 stderr에 출력합니다:

Terminal window
echo "Hello" | yaku --to ko --verbose

stdout:

안녕하세요

stderr:

Model: gemini-2.5-flash | Tokens: 42 in / 38 out | Time: 1.2s

상세 정보가 stderr로 전달되므로 stdout은 여전히 깨끗하게 파이프할 수 있습니다:

Terminal window
echo "Hello" | yaku --to ko --verbose | pbcopy
# 클립보드에 "안녕하세요"가 복사되고, 터미널에 모델 정보가 표시됨

yaku는 번역 텍스트에서 일반적인 LLM 아티팩트를 자동으로 정리합니다:

  • 서문 제거 — “번역 결과입니다:” 또는 “Translation:” 같은 불필요한 접두사를 제거합니다
  • 후미 설명 제거 — 이중 줄 바꿈 뒤에 LLM이 추가한 메모를 제거합니다 (예: “참고: X를 Y로 번역한 이유는…”)
  • 감싸는 따옴표 제거 — LLM이 때때로 추가하는 "text" 또는 「text」 래퍼를 제거합니다
  • 코드 펜스 제거 — 출력 주변의 ``` 래퍼를 제거합니다

이 기능은 모든 백엔드에서 자동으로 실행됩니다. 활성화할 필요가 없습니다.