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

File metadata

File hashes

Hashes for ydata_profiling_multilingual-1.1.1.tar.gz
Algorithm Hash digest
SHA256 85a6e740cc8208ace10159146eeaba1333bc9cae6914ad27666c40ca0df32f65
MD5 a4109e03aa637888af59d053bc577516
BLAKE2b-256 52a3f3149fa61db7f665b42ecb56fa3c78ae7d0928b09690deccaef3b82b9370

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ydata_profiling_multilingual-1.1.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 9bf00ab1e712005b17730a6f928ff337d1a45168b23939217d7f695aee9cd985
MD5 ce077630d60663bafab76fb178673656
BLAKE2b-256 09975a5fda1d66a3b2cca3957d5cfe7b7e88bf21ad94cb6cde351a51cc28f7d1

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