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.0.7.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.0.7-py2.py3-none-any.whl (5.5 MB view details)

Uploaded Python 2Python 3

File details

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

File metadata

File hashes

Hashes for ydata_profiling_multilingual-1.0.7.tar.gz
Algorithm Hash digest
SHA256 bc542017d819ef5996f3643708e947d4f68112ba61f5e3a5c6929336e7147945
MD5 1dec7a9bcf952c6ef57f1b6a781c6046
BLAKE2b-256 cb2f1ff3df64e43d0f4eb6bc81d6d96c74379025f37c363848c907e3ca4b6ea5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ydata_profiling_multilingual-1.0.7-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 a341d85ef863ac9be03bed0c24044f0329fc9366b0693cac9b2649b9ad10bc79
MD5 f2a780b226dbcb35dcb5c0a95b25b3e2
BLAKE2b-256 2dd592a2fea4c61e206799f6c9d35b447447e68412bab6fe1f81398f00fd71f1

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