Initial commit
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
import sys
|
||||
import subprocess
|
||||
import re
|
||||
import io
|
||||
|
||||
# Fix Windows console encoding
|
||||
if sys.platform == 'win32':
|
||||
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
|
||||
sys.stderr = io.TextIOWrapper(sys.stderr.buffer, encoding='utf-8')
|
||||
|
||||
def translate(text):
|
||||
"""Translate text to Russian using ollama translator model"""
|
||||
try:
|
||||
# Run ollama command
|
||||
result = subprocess.run(
|
||||
['ollama', 'run', 'translator', text],
|
||||
capture_output=True,
|
||||
text=True,
|
||||
encoding='utf-8'
|
||||
)
|
||||
|
||||
# Get output
|
||||
output = result.stdout
|
||||
|
||||
# Remove <think>...</think> tags and their content
|
||||
output = re.sub(r'<think>.*?</think>', '', output, flags=re.DOTALL)
|
||||
|
||||
# Remove empty lines and strip whitespace
|
||||
output = '\n'.join(line.strip() for line in output.split('\n') if line.strip())
|
||||
|
||||
return output
|
||||
|
||||
except Exception as e:
|
||||
return f"Error: {e}"
|
||||
|
||||
if __name__ == "__main__":
|
||||
if len(sys.argv) < 2:
|
||||
print("Usage: python translate.py \"text to translate\"")
|
||||
sys.exit(1)
|
||||
|
||||
text = ' '.join(sys.argv[1:])
|
||||
result = translate(text)
|
||||
print(result)
|
||||
Reference in New Issue
Block a user