{"id":21669510,"url":"https://github.com/kkomelin/laravel-translatable-string-exporter","last_synced_at":"2026-04-01T17:22:48.308Z","repository":{"id":37980559,"uuid":"87451274","full_name":"kkomelin/laravel-translatable-string-exporter","owner":"kkomelin","description":"Translatable String Exporter for Laravel","archived":false,"fork":false,"pushed_at":"2026-03-18T09:46:47.000Z","size":215,"stargazers_count":328,"open_issues_count":1,"forks_count":44,"subscribers_count":6,"default_branch":"master","last_synced_at":"2026-03-19T00:55:52.686Z","etag":null,"topics":["export","exporter","json","laravel","localization","translation","translations"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kkomelin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"kkomelin","buy_me_a_coffee":"kkomelin"}},"created_at":"2017-04-06T16:28:35.000Z","updated_at":"2026-03-18T09:46:51.000Z","dependencies_parsed_at":"2022-08-19T14:20:27.910Z","dependency_job_id":"9225f5ae-2218-4ae3-8edf-34681147392c","html_url":"https://github.com/kkomelin/laravel-translatable-string-exporter","commit_stats":{"total_commits":226,"total_committers":25,"mean_commits":9.04,"dds":"0.31858407079646023","last_synced_commit":"51e6575223c345be359f5387ecaaf6bb7fc1de3d"},"previous_names":[],"tags_count":38,"template":false,"template_full_name":null,"purl":"pkg:github/kkomelin/laravel-translatable-string-exporter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kkomelin%2Flaravel-translatable-string-exporter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kkomelin%2Flaravel-translatable-string-exporter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kkomelin%2Flaravel-translatable-string-exporter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kkomelin%2Flaravel-translatable-string-exporter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kkomelin","download_url":"https://codeload.github.com/kkomelin/laravel-translatable-string-exporter/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kkomelin%2Flaravel-translatable-string-exporter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31290537,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T13:12:26.723Z","status":"ssl_error","status_checked_at":"2026-04-01T13:12:25.102Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["export","exporter","json","laravel","localization","translation","translations"],"created_at":"2024-11-25T12:22:55.203Z","updated_at":"2026-04-01T17:22:48.300Z","avatar_url":"https://github.com/kkomelin.png","language":"PHP","funding_links":["https://github.com/sponsors/kkomelin","https://buymeacoffee.com/kkomelin"],"categories":[],"sub_categories":[],"readme":"# Translatable String Exporter for Laravel\n\n[![Tests Status Badge](https://github.com/kkomelin/laravel-translatable-string-exporter/actions/workflows/run-tests.yml/badge.svg)](https://github.com/kkomelin/laravel-translatable-string-exporter/actions/workflows/run-tests.yml)\n[![PHPStan Status Badge](https://github.com/kkomelin/laravel-translatable-string-exporter/actions/workflows/phpstan.yml/badge.svg)](https://github.com/kkomelin/laravel-translatable-string-exporter/actions/workflows/phpstan.yml)\n[![Code Styles Check Badge](https://github.com/kkomelin/laravel-translatable-string-exporter/actions/workflows/php-cs-fixer.yml/badge.svg)](https://github.com/kkomelin/laravel-translatable-string-exporter/actions/workflows/php-cs-fixer.yml)\n\nYou can use `__('Translate me')` or `@lang('Translate me')` with translations in JSON files to translate strings.\nTranslatable String Exporter is aimed to collect all translatable strings of an application and create corresponding translation files in JSON format to simplify the process of translation.\n\n## Versions\n\n| Package    | PHP          |\n| ---------- | ------------ |\n| `\u003c=1.15.1` | `5.6`        |\n| `\u003e1.15.1`  | `^7.2\\|^8.0` |\n| `\u003e1.18.0`  | `^8.0`       |\n| `\u003e1.25.0`  | `^8.2`       |\n\n_Even though we drop support for PHP versions in minor releases, Composer ensures that users with previous versions of PHP don't get not-yet-supported PHP code._\n\n## Installation\n\n_Normally, it's enough to install the package as a development dependency._\n\n```bash\ncomposer require kkomelin/laravel-translatable-string-exporter --dev\n```\n\n## Configuration\n\nTo change [project defaults](https://github.com/kkomelin/laravel-translatable-string-exporter/wiki/Configuration-and-Project-Defaults), use the following command to create a configuration file in your `config/` folder and make necessary changes in there:\n\n```bash\nphp artisan vendor:publish --provider=\"KKomelin\\TranslatableStringExporter\\Providers\\ExporterServiceProvider\"\n```\n\n## Usage\n\n### Export translatable strings\n\n```bash\nphp artisan translatable:export \u003clang\u003e\n```\n\nWhere `\u003clang\u003e` is a language code or a comma-separated list of language codes.\nFor example:\n\n```bash\nphp artisan translatable:export es\nphp artisan translatable:export es,bg,de\n```\n\nThe command with the `\"es,bg,de\"` parameter passed will create `es.json`, `bg.json`, `de.json` files with translatable strings or update the existing files in the `lang/` folder of your project.\n\n### Find untranslated strings in a language file (command)\n\nTo inspect an existing language file (find untranslated strings), use this command:\n\n```bash\nphp artisan translatable:inspect-translations fr\n```\n\nThe command only supports inspecting one language at a time.\n\nTo export translatable strings for a language and then inspect translations in it, use the following command:\n\n```bash\nphp artisan translatable:inspect-translations fr --export-first\n```\n\n### Find untranslated strings in a language file (IDE)\n\nAn alternative way to find untranslated strings in your language files is to search for entries with the same string for original and translated.\nYou can do this in most editors using a regular expression.\n\nIn PhpStorm and VSCode, you can use this pattern: `\"([^\"]*)\": \"\\1\"`\n\n### Persistent strings\n\nSome strings are not included in the export, because they are being dynamically generated. For example:\n\n`{{ __(sprintf('Dear customer, your order has been %s', $orderStatus)) }}`\n\nWhere `$orderStatus` can be `'approved'`, `'paid'`, `'cancelled'` and so on.\n\nIn this case, you can add the strings to the `\u003clang\u003e.json` file manually. For example:\n\n```\n  ...,\n  \"Dear customer, your order has been approved\": \"Dear customer, your order has been approved\",\n  \"Dear customer, your order has been paid\": \"Dear customer, your order has been paid\",\n  ...\n```\n\nIn order for those, manually added, strings not to get removed the next time you run the export command, you should add them to a json file named `persistent-strings.json`. For example:\n\n```\n[\n  ...,\n  \"Dear customer, your order has been approved\",\n  \"Dear customer, your order has been paid\",\n  ...\n]\n```\n\n## License \u0026 Copyright\n\n[MIT](https://github.com/kkomelin/laravel-translatable-string-exporter/blob/master/LICENSE), (c) 2017-present Konstantin Komelin and [contributors](https://github.com/kkomelin/laravel-translatable-string-exporter/graphs/contributors)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkkomelin%2Flaravel-translatable-string-exporter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkkomelin%2Flaravel-translatable-string-exporter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkkomelin%2Flaravel-translatable-string-exporter/lists"}