help@rskworld.in +91 93305 39277
RSK World
  • Home
  • Development
    • Web Development
    • Mobile Apps
    • Software
    • Games
    • Project
  • Technologies
    • Data Science
    • AI Development
    • Cloud Development
    • Blockchain
    • Cyber Security
    • Dev Tools
    • Testing Tools
  • Blog
  • About
  • Contact

Theme Settings

Color Scheme
Display Options
Font Size
100%
Back to Project
RSK World
real-estate-bot
/
src
RSK World
real-estate-bot
Real Estate Bot - Python + Flask + OpenAI + SQLite + Property Search + AI Chatbot + Viewing Scheduler
src
  • __pycache__
  • __init__.py476 B
  • ai_recommendation_engine.py20.6 KB
  • app.py7.8 KB
  • blockchain_integration.py1.5 KB
  • chatbot.py15.5 KB
  • database.py18.4 KB
  • image_enhancer.py7.9 KB
  • multilang_support.py8.8 KB
  • neighborhood_analyzer.py6.1 KB
  • price_prediction_engine.py25.1 KB
  • property_search.py15.6 KB
  • virtual_tour_manager.py21.8 KB
  • voice_assistant.py27.6 KB
notifications.pymultilang_support.py
src/multilang_support.py
Raw Download
Find: Go to:
"""
Multi-Language Support with Real-Time Translation
Author: RSK World (https://rskworld.in)
Founded by: Molla Samser
Designer & Tester: Rima Khatun
Contact: info@rskworld.com, +91 93305 39277
Year: 2026
"""

import os
import json
from typing import Dict, Any, List
from datetime import datetime

class MultiLanguageSupport:
    def __init__(self):
        """Initialize Multi-Language Support"""
        self.supported_languages = {
            'en': 'English',
            'hi': 'हिन्दी (Hindi)',
            'bn': 'বাংলা (Bengali)',
            'ta': 'தமிழ் (Tamil)',
            'te': 'తెలుగు (Telugu)',
            'mr': 'मराठी (Marathi)',
            'gu': 'ગુજરાતી (Gujarati)',
            'kn': 'ಕನ್ನಡ (Kannada)',
            'ml': 'മലയാളം (Malayalam)',
            'pa': 'ਪੰਜਾਬੀ (Punjabi)',
            'ur': 'اردو (Urdu)',
            'es': 'Español (Spanish)',
            'fr': 'Français (French)',
            'de': 'Deutsch (German)',
            'it': 'Italiano (Italian)',
            'pt': 'Português (Portuguese)',
            'ru': 'Русский (Russian)',
            'ja': '日本語 (Japanese)',
            'ko': '한국어 (Korean)',
            'zh': '中文 (Chinese)',
            'ar': 'العربية (Arabic)'
        }
        
        self.translations = self._load_translations()
        self.default_language = 'en'
    
    def _load_translations(self) -> Dict[str, Dict[str, str]]:
        """Load translation data"""
        translations = {
            'en': {
                'welcome': 'Welcome to Real Estate Bot',
                'search_properties': 'Search Properties',
                'schedule_viewing': 'Schedule Viewing',
                'property_details': 'Property Details',
                'price_prediction': 'Price Prediction',
                'virtual_tour': 'Virtual Tour',
                'contact_us': 'Contact Us',
                'bedrooms': 'Bedrooms',
                'bathrooms': 'Bathrooms',
                'area': 'Area',
                'price': 'Price',
                'location': 'Location',
                'amenities': 'Amenities',
                'year_built': 'Year Built'
            },
            'hi': {
                'welcome': 'रियल एस्टेट बॉट में आपका स्वागत है',
                'search_properties': 'प्रॉपर्टी खोजें',
                'schedule_viewing': 'व्यूइंग शेड्यूल करें',
                'property_details': 'प्रॉपर्टी विवरण',
                'price_prediction': 'मूल्य भविष्यवाणी',
                'virtual_tour': 'वर्चुअल टूर',
                'contact_us': 'संपर्क करें',
                'bedrooms': 'बेडरूम',
                'bathrooms': 'बाथरूम',
                'area': 'क्षेत्रफल',
                'price': 'कीमत',
                'location': 'स्थान',
                'amenities': 'सुविधाएं',
                'year_built': 'निर्माण वर्ष'
            },
            'bn': {
                'welcome': 'রিযেল এস্টেট বটে আপনাকে স্বাগতম',
                'search_properties': 'সম্পত্তি খুঁজুন',
                'schedule_viewing': 'ভিউয়িং শিডিউল করুন',
                'property_details': 'সম্পত্তির বিবরণ',
                'price_prediction': 'মূল্য পূর্বাভাস',
                'virtual_tour': 'ভার্চুয়াল ট্যুর',
                'contact_us': 'যোগাযোগ করুন',
                'bedrooms': 'বেডরুম',
                'bathrooms': 'বাথরুম',
                'area': 'এলাকা',
                'price': 'দাম',
                'location': 'অবস্থান',
                'amenities': '�ুবিধা',
                'year_built': 'নির্মাণ বছর'
            }
        }
        
        return translations
    
    def translate_text(self, text: str, target_language: str) -> str:
        """Translate text to target language"""
        if target_language not in self.supported_languages:
            return text
        
        if target_language == self.default_language:
            return text
        
        # Check if we have a direct translation
        translations = self.translations.get(target_language, {})
        if text in translations:
            return translations[text]
        
        # For demo purposes, return placeholder
        # In production, integrate with Google Translate API
        return f"[{self.supported_languages[target_language]}] {text}"
    
    def get_supported_languages(self) -> Dict[str, str]:
        """Get list of supported languages"""
        return self.supported_languages
    
    def detect_language(self, text: str) -> str:
        """Detect language of text (simplified)"""
        # Simple language detection based on characters
        if any(char in text for char in 'ऀँंःअआइईउऊऋएऐओऔकखगघङचछजझञटठडढणतथदधनपफबभमयरलवशषसह'):
            return 'hi'  # Hindi
        elif any(char in text for char in 'অআইঈউঊঋএঐওঔকখগঘঙচছজঝঞটঠডঢণতথদধনপফবভমযরলবশষসহ'):
            return 'bn'  # Bengali
        elif any(char in text for char in 'அஆஇஈஉஊஎஏஐஒஓஔகஙசஞடணதநபமயரலவழளறன'):
            return 'ta'  # Tamil
        else:
            return 'en'  # Default to English
    
    def format_property_data(self, property_data: Dict[str, Any], language: str) -> Dict[str, Any]:
        """Format property data in specified language"""
        formatted_data = property_data.copy()
        
        # Translate key fields
        translatable_fields = ['title', 'description', 'location']
        for field in translatable_fields:
            if field in formatted_data:
                formatted_data[f'{field}_translated'] = self.translate_text(
                    formatted_data[field], language
                )
        
        # Translate amenities
        if 'amenities' in formatted_data:
            translated_amenities = [
                self.translate_text(amenity, language) 
                for amenity in formatted_data['amenities']
            ]
            formatted_data['amenities_translated'] = translated_amenities
        
        return formatted_data
    
    def get_currency_symbol(self, language: str) -> str:
        """Get currency symbol for language"""
        currency_map = {
            'en': '₹',
            'hi': '₹',
            'bn': '₹',
            'ta': '₹',
            'te': '₹',
            'mr': '₹',
            'gu': '₹',
            'kn': '₹',
            'ml': '₹',
            'pa': '₹',
            'ur': '₹',
            'es': '€',
            'fr': '€',
            'de': '€',
            'it': '€',
            'pt': '€',
            'ru': '₽',
            'ja': '¥',
            'ko': '₩',
            'zh': '¥',
            'ar': 'ر.س'
        }
        
        return currency_map.get(language, '₹')
    
    def format_price(self, price: float, language: str) -> str:
        """Format price according to language conventions"""
        symbol = self.get_currency_symbol(language)
        
        if language in ['en', 'hi', 'bn', 'ta', 'te', 'mr', 'gu', 'kn', 'ml', 'pa', 'ur']:
            # Indian format
            formatted_price = f"{price:,.0f}".replace(',', ',')
            return f"{symbol} {formatted_price}"
        else:
            # International format
            formatted_price = f"{price:,.0f}"
            return f"{symbol}{formatted_price}"
    
    def translate_chat_response(self, response: str, user_language: str) -> str:
        """Translate chat response to user's language"""
        if user_language == self.default_language:
            return response
        
        # Split response into sentences and translate
        sentences = response.split('. ')
        translated_sentences = []
        
        for sentence in sentences:
            if sentence.strip():
                translated = self.translate_text(sentence.strip(), user_language)
                translated_sentences.append(translated)
        
        return '. '.join(translated_sentences)
211 lines•8.8 KB
python

About RSK World

Founded by Molla Samser, with Designer & Tester Rima Khatun, RSK World is your one-stop destination for free programming resources, source code, and development tools.

Founder: Molla Samser
Designer & Tester: Rima Khatun

Development

  • Game Development
  • Web Development
  • Mobile Development
  • AI Development
  • Development Tools

Legal

  • Terms & Conditions
  • Privacy Policy
  • Disclaimer

Contact Info

Nutanhat, Mongolkote
Purba Burdwan, West Bengal
India, 713147

+91 93305 39277

hello@rskworld.in
support@rskworld.in

© 2026 RSK World. All rights reserved.

Content used for educational purposes only. View Disclaimer