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.8.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.8-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.8.tar.gz.

File metadata

File hashes

Hashes for ydata_profiling_multilingual-1.0.8.tar.gz
Algorithm Hash digest
SHA256 ed9e1e7f9eb5ed235322bcf5c0087eb614f1b2b409c4bd85a96608aedca21c5f
MD5 d7a92cfdb1104842357d8c4cefb70849
BLAKE2b-256 96da56989b36a4a605aa490e490432b5a1027efbaac2fe0304846ba497ee0715

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ydata_profiling_multilingual-1.0.8-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 4dd208d6eff0d3eedf0aed19c9ec1d161bb2482e35327da329bcf434de790f21
MD5 a4563f4d4581acc048a3741d0c6b4942
BLAKE2b-256 d1ef8eabd77ba10bb394eca69fa7b5f3eda884bfeaec54bcf3b8b0f1f5c62426

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