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
Metadata
Release files for ydata-profiling-multilingual 1.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| ydata_profiling_multilingual-1.1.1.tar.gz | 5.4 MB | Without provenance | Details for ydata_profiling_multilingual-1.1.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| ydata_profiling_multilingual-1.1.1-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details for ydata_profiling_multilingual-1.1.1-py2.py3-none-any.whl |
Total release size: 10.9 MB
Release files / ydata_profiling_multilingual-1.1.1.tar.gz
| Download URL | ydata_profiling_multilingual-1.1.1.tar.gz |
|---|---|
| Size | 5.4 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
85a6e740cc8208ace10159146eeaba1333bc9cae6914ad27666c40ca0df32f65
|
|
BLAKE2b-256 checksum How to use checksums |
52a3f3149fa61db7f665b42ecb56fa3c78ae7d0928b09690deccaef3b82b9370
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.11
|
Release files / ydata_profiling_multilingual-1.1.1-py2.py3-none-any.whl
| Download URL | ydata_profiling_multilingual-1.1.1-py2.py3-none-any.whl |
|---|---|
| Size | 5.5 MB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
9bf00ab1e712005b17730a6f928ff337d1a45168b23939217d7f695aee9cd985
|
|
BLAKE2b-256 checksum How to use checksums |
09975a5fda1d66a3b2cca3957d5cfe7b7e88bf21ad94cb6cde351a51cc28f7d1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.11
|
Security for ydata-profiling-multilingual 1.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.