- Trang chủ /
- Blog xây dựng
- / Cọc ván bê tông dự ứng lực
Google — Translate Jawi Kepada Rumi |top|
label { display: block; margin-bottom: 10px; font-weight: bold; color: #555; }
if not data or 'texts' not in data: return jsonify({ 'error': 'No texts provided', 'success': False }), 400 texts = data['texts'] results = [] for text in texts: try: translation = translator.translate(text, src='ms', dest='ms') results.append({ 'original': text, 'translated': translation.text, 'success': True }) except Exception as e: results.append({ 'original': text, 'error': str(e), 'success': False }) return jsonify({ 'results': results, 'success': True }), 200 except Exception as e: logger.error(f"Batch translation error: {str(e)}") return jsonify({ 'error': str(e), 'success': False }), 500 @app.route('/health', methods=['GET']) def health_check(): """ Health check endpoint """ return jsonify({ 'status': 'healthy', 'service': 'Jawi to Rumi Translator' }), 200
.loading { display: none; text-align: center; margin-top: 10px; color: #667eea; } google translate jawi kepada rumi
@app.route('/translate', methods=['POST']) def translate_jawi_to_rumi(): """ API endpoint to translate Jawi to Rumi """ try: data = request.get_json()
try { const translation = await googleTranslate(inputText, 'ms-Arab', 'ms-Latn'); outputDiv.textContent = translation; } catch (error) { console.error('Translation error:', error); errorDiv.textContent = 'Translation failed. Please check your internet connection and try again.'; errorDiv.style.display = 'block'; outputDiv.textContent = 'Translation error occurred.'; } finally { loadingDiv.style.display = 'none'; } } label { display: block
<script> async function translateText() { const inputText = document.getElementById('inputText').value.trim(); const loadingDiv = document.getElementById('loading'); const errorDiv = document.getElementById('error'); const outputDiv = document.getElementById('outputText');
.translation-box { margin-bottom: 20px; } 'success': False })
button:hover { transform: translateY(-2px); box-shadow: 0 5px 15px rgba(0,0,0,0.2); }