Unique Report URLs
When you scan a repository, the health report is accessible via a URL containing the repository path:- Bookmarking: Save frequently-checked repositories for quick access
- Sharing: Send the link to teammates without requiring them to re-scan
- Documentation: Include in README files, wikis, or project dashboards
Short URL Format
For convenience, you can also access reports using a shorter URL format:Real-Time Scanning
Reports are generated on-demand rather than cached:Always Fresh Data
Each time you visit a report URL, i18n Doctor re-scans the repository to fetch the latest translation files from the default branch. This ensures you always see current data.
Implications
- Up-to-date: No stale data or outdated coverage metrics
- Load time: Scans take 3-10 seconds depending on repository size
- Rate limits: Each view counts toward GitHub API rate limits
To avoid re-scanning, bookmark or cache the page after the initial load. The report will remain visible until you refresh.
Scanning Specific Branches
By default, reports scan the repository’s default branch (usuallymain or master). To scan a different branch, specify it in the URL:
- Checking translation status before merging feature branches
- Comparing coverage between production and development branches
- Validating translations in release candidate branches
Social Preview Cards
When you share an i18n Doctor report URL on social media, Slack, or other platforms, a preview card is automatically generated with:- Repository name and description
- Average coverage percentage across all locales
- Total missing keys count
- i18n Doctor branding and logo

Implementation
The preview cards use Open Graph meta tags:og:image is dynamically generated based on the latest scan data.
Embedding Reports
You can embed live translation health metrics in external dashboards or documentation using iframes:embed=true parameter provides a simplified view optimized for embedding:
- Removes navigation header and footer
- Hides branding elements
- Adjusts spacing for compact display
- Disables background animations
Embedded reports still generate real-time scans on load. Be mindful of rate limits if embedding on high-traffic pages.
Badge Generation
Generate a dynamic badge showing your translation coverage:
- Updates automatically with each scan
- Uses color coding (green/yellow/red) based on average coverage
- Shows the coverage percentage
- Links to the full health report when clicked
Badge Styles
Customize the badge appearance with query parameters:Team Collaboration
Shareable reports enable several collaboration workflows:Code Review
Include the report URL in pull request descriptions to show translation impact:Sprint Planning
Share the report during planning to allocate translation work:Stakeholder Updates
Send non-technical stakeholders a simple URL instead of exporting data:Access Control
This means:- Anyone with the URL can view the report (no authentication required)
- Reports are effectively public data
- Don’t share reports that might reveal sensitive business information
- Running i18n Doctor locally (self-hosted option)
- Using GitHub Actions with the i18n Doctor CLI
- Exporting reports and sharing via secure channels
URL Parameters Reference
| Parameter | Values | Description |
|---|---|---|
repo | owner/repo or full GitHub URL | Repository to scan |
embed | true / false | Enable embedded mode (no header/footer) |
branch | Branch name | Scan a specific branch instead of default |
format | html / json | Response format (JSON for API access) |
JSON API
Fetch raw report data programmatically:The JSON API is useful for building custom dashboards, CI/CD integrations, or monitoring systems.
Reporting Issues
If a shared report shows incorrect data:- Verify the branch: Ensure you’re scanning the correct branch
- Check file formats: Confirm translation files use supported formats (JSON/YAML/PO)
- Review directory structure: Ensure files follow supported patterns
- Refresh the page: Re-scan to fetch the latest data