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.
🌍 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
- Export English template: ydata-profiling-translate create-template
- Translate the JSON file
- Submit PR with your translation
📄 License
Same as original project: MIT License
🔗 Links
- Original Project: ydata-profiling
- This Fork: ydata-profiling-multilingual
- My GitHub: landonzeng
⚠️ 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ydata_profiling_multilingual-1.0.9.tar.gz.
File metadata
- Download URL: ydata_profiling_multilingual-1.0.9.tar.gz
- Upload date:
- Size: 5.4 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0c7144b3f6a890981f3f3f7e63e0bb19926ae43535339d3abc44dcf901ec6f5f
|
|
| MD5 |
c7d138f36d46ea34f283ea2f08724b23
|
|
| BLAKE2b-256 |
65d7bafeab51fb28eeed18e3f641584d41c1dc3264dbe97107de7fb43a8a01c3
|
File details
Details for the file ydata_profiling_multilingual-1.0.9-py2.py3-none-any.whl.
File metadata
- Download URL: ydata_profiling_multilingual-1.0.9-py2.py3-none-any.whl
- Upload date:
- Size: 5.5 MB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5849fab96893bc436581e1eeeace5fe549f924a83922eacff8a43cab615c9f4a
|
|
| MD5 |
f8c80983dab4a094f50dd2f49ae1f698
|
|
| BLAKE2b-256 |
36ced117be33a4bfdd357daba2da49f9a7b16ca62452107992ff6003b5877334
|