Skip to main content

forked from ydataai/ydata-profiling and modify the code to support international multilingual functionality

Project description

YData Profiling Multilingual

Note: This is a fork of ydataai/ydata-profiling with added international multilingual functionality. I only implemented multilingual language support - all core profiling features remain unchanged from the original project.

Build Status PyPI download month Code Coverage Release Version Python Version Code style: black

🌍 What I Added

This fork adds comprehensive internationalization (i18n) support to the original ydata-profiling:

  • 🔤 Multi-language Support: Built-in English, Chinese, and framework for custom languages
  • 🛠️ Custom Translations: Users can create and load their own translation files
  • 📊 Localized Reports: All UI elements, labels, and messages are translatable
  • ⚙️ Translation Tools: Command-line utilities for creating and validating translations
  • 🔄 100% Backward Compatibility: Works exactly like original ydata-profiling

🙏 Credits

  • Original Project: ydata-profiling by YData team
  • Multilingual Enhancement: Added by Landon Zeng
  • What I Did: Only implemented i18n functionality - all core features are from the original project

🚀 Quick Start

Installation

pip install ydata-profiling-multilingual

Basic Usage (Same as Original + Language Support)

import pandas as pd
from ydata_profiling import ProfileReport
 
# Create sample data
df = pd.DataFrame({
    'numeric': [1, 2, 3, 4, 5],
    'categorical': ['A', 'B', 'A', 'C', 'B'],
})
 
# Generate report in Chinese (NEW FEATURE)
profile = ProfileReport(df, title="数据分析报告", locale='zh')
profile.to_file("chinese_report.html")
 
# Generate report in English (same as original)
profile = ProfileReport(df, title="Data Analysis Report")
profile.to_file("english_report.html")

🌐 Supported Languages

  • English (en) - Default
  • Chinese Simplified (zh) - 简体中文
  • Custom Languages - Add your own!

🔧 New Multilingual Features

Export Translation Template

# Use new command line tool
ydata-profiling-translate create-template -l en -o ./my_template.json

Create Custom Translation

from ydata_profiling.i18n import load_translation_file, set_locale
 
# Load your custom translation file
load_translation_file('my_french.json', 'fr')
 
# Generate French report
profile = ProfileReport(df, title="Rapport d'Analyse", locale='fr')

Load Translation Directory

from ydata_profiling.i18n import add_translation_directory
 
# Load all translations from a directory
add_translation_directory('./my_translations/')

📚 Examples

Check the examples/ folder for complete workflows:

# Run the complete example
python examples/translation_workflow_example.py

🔄 Migration from Original

If you're using the original ydata-profiling, migration is seamless:

# Your existing code works unchanged
from ydata_profiling import ProfileReport
profile = ProfileReport(df)  # Still works!
 
# Just add locale for multilingual support
profile = ProfileReport(df, locale='zh')  # Now with Chinese!

🤝 Contributing

This project focuses only on multilingual functionality. For core profiling features:

  • Core Issues: Please report to original ydata-profiling
  • Translation Issues: Report here at ydata-profiling-multilingual

Adding New Languages

  1. Export English template: ydata-profiling-translate create-template
  2. Translate the JSON file
  3. Submit PR with your translation

📄 License

Same as original project: MIT License

🔗 Links

⚠️ Disclaimer

I am not affiliated with YData. This is an independent fork that adds multilingual support. All core profiling algorithms and features are from the original ydata-profiling project. I only implemented the internationalization layer.

🌟 If this multilingual version helps you, please star both repositories:

  • ⭐ Original ydata-profiling
  • ⭐ This multilingual fork

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ydata_profiling_multilingual-1.1.0.tar.gz (5.4 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ydata_profiling_multilingual-1.1.0-py2.py3-none-any.whl (5.5 MB view details)

Uploaded Python 2Python 3

File details

Details for the file ydata_profiling_multilingual-1.1.0.tar.gz.

File metadata

File hashes

Hashes for ydata_profiling_multilingual-1.1.0.tar.gz
Algorithm Hash digest
SHA256 e2767c4a0d7e35882df184493e4402f1d912decfb2783c5051576f498fcefbcc
MD5 a642188b9a9d3824a8fd4c52dc861874
BLAKE2b-256 2eae1747cd784af31d4dc31537e251cb4094baf21be183ffaf81dd27d03bbd1a

See more details on using hashes here.

File details

Details for the file ydata_profiling_multilingual-1.1.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for ydata_profiling_multilingual-1.1.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 6ed8975407706c226492ced5e9a7023c57a9c3f2a795ced8f9ae327d075853e5
MD5 ee82928085d68b076efea9c5a8a29290
BLAKE2b-256 b87ef5831f258c70244c49f789a2aa46ea33be634cece149dd8409a2917d1e4d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page