{"id":29150538,"url":"https://github.com/roborourke/wp-l10n-gen","last_synced_at":"2025-06-30T23:10:52.374Z","repository":{"id":62536574,"uuid":"100283600","full_name":"roborourke/wp-l10n-gen","owner":"roborourke","description":"Modern translation file generation for WP","archived":false,"fork":false,"pushed_at":"2020-02-03T21:09:13.000Z","size":36,"stargazers_count":8,"open_issues_count":4,"forks_count":3,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-28T16:12:06.140Z","etag":null,"topics":["l10n","translation","wordpress","wp-cli","wp-cli-package"],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/roborourke.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-08-14T15:41:33.000Z","updated_at":"2022-10-31T14:30:01.000Z","dependencies_parsed_at":"2022-11-02T15:15:26.793Z","dependency_job_id":null,"html_url":"https://github.com/roborourke/wp-l10n-gen","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/roborourke/wp-l10n-gen","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roborourke%2Fwp-l10n-gen","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roborourke%2Fwp-l10n-gen/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roborourke%2Fwp-l10n-gen/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roborourke%2Fwp-l10n-gen/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/roborourke","download_url":"https://codeload.github.com/roborourke/wp-l10n-gen/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roborourke%2Fwp-l10n-gen/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262864258,"owners_count":23376461,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["l10n","translation","wordpress","wp-cli","wp-cli-package"],"created_at":"2025-06-30T23:10:51.330Z","updated_at":"2025-06-30T23:10:52.338Z","avatar_url":"https://github.com/roborourke.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"Modern Translation File Generator for WordPress\n===============================================\n\nPreviously WordPress developers needed to use `makepot.php` to generate the .po files\nnecessary for translation.\n\nThis WP CLI command allows you to generate different types of translation file from WP\ncode and also convert between types easily.\n\nSupported translation file types are:\n\n* CSV\n* CSV Dictionary (no plural support)\n* JSON\n* JSON Dictionary (no plural support)\n* mo\n* PHP Array\n* po\n* jed\n* xliff\n* YAML\n* YAML Dictionary (no plural support) \n\n## Installation\n\nYou can install the command as WP CLI package (Recommended):\n\n```bash\nwp package install roborourke/wp-l10n-gen\n```\n\nUsing composer:\n\n```bash\ncomposer require roborourke/wp-l10n-gen\n```\n\nAs a plugin:\n\n```bash\ngit clone git@github.com:roborourke/wp-l10n-gen.git \ncd wp-l10-gen\ncomposer install\nwp plugin activate wp-l10n-gen # (or activate via wp-admin)\n```\n\n## Usage\n\nMore docs to come soon, to see options for now run:\n\n```bash\nwp l10n generate --help\nwp l10n convert --help\nwp l10n po2mo --help\n```\n\n## Roadmap \n\n * Improve generated headers\n * Documentation for use with JS based projects?\n\n## About\n\nBeing frustrated with the existing tools for generating translation files I wondered if\nthere was a better way that more closely tied in with the modern ways we interact with\nWP via the command line now.\n\nLooking to other PHP Projects and how they manage translations was a useful exercise although\nWP's translation function don't follow the usual standards. A bit of hacking later and I was\nable to get Oscar Otero's excellent [Gettext](https://github.com/oscarotero/Gettext) library\nworking with WordPress code.\n\n## Contributing\n\nIt's very early days yet but if anyone finds this useful and wants to contribute please go\nahead. You'll find my outline for a roadmap above and plenty of `TODO` comments in the code.\n\n### License\n\nGPLv3+\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Froborourke%2Fwp-l10n-gen","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Froborourke%2Fwp-l10n-gen","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Froborourke%2Fwp-l10n-gen/lists"}