{"id":20963860,"url":"https://github.com/codemix/yii2-excel-message","last_synced_at":"2025-10-27T04:02:46.657Z","repository":{"id":36397466,"uuid":"40702375","full_name":"codemix/yii2-excel-message","owner":"codemix","description":"Translate messages via Excel files","archived":false,"fork":false,"pushed_at":"2018-04-25T10:40:34.000Z","size":22,"stargazers_count":12,"open_issues_count":0,"forks_count":4,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-05-30T01:41:47.752Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","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/codemix.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":"2015-08-14T07:43:35.000Z","updated_at":"2019-07-31T09:41:26.000Z","dependencies_parsed_at":"2022-08-21T04:40:31.316Z","dependency_job_id":null,"html_url":"https://github.com/codemix/yii2-excel-message","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/codemix/yii2-excel-message","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codemix%2Fyii2-excel-message","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codemix%2Fyii2-excel-message/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codemix%2Fyii2-excel-message/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codemix%2Fyii2-excel-message/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/codemix","download_url":"https://codeload.github.com/codemix/yii2-excel-message/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codemix%2Fyii2-excel-message/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260285694,"owners_count":22986441,"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":[],"created_at":"2024-11-19T02:48:39.960Z","updated_at":"2025-10-27T04:02:41.635Z","avatar_url":"https://github.com/codemix.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"Yii2 Excel Message\n==================\n\n[![Latest Stable Version](https://poser.pugx.org/codemix/yii2-excel-message/v/stable.svg)](https://packagist.org/packages/codemix/yii2-excel-message)\n[![Total Downloads](https://poser.pugx.org/codemix/yii2-excel-message/downloads)](https://packagist.org/packages/codemix/yii2-excel-message)\n[![Latest Unstable Version](https://poser.pugx.org/codemix/yii2-excel-message/v/unstable.svg)](https://packagist.org/packages/codemix/yii2-excel-message)\n[![License](https://poser.pugx.org/codemix/yii2-excel-message/license.svg)](https://packagist.org/packages/codemix/yii2-excel-message)\n\n\nTranslate messages via Excel files.\n\n\n## Features\n\nWith this extension you can export messages from PHP message files to Excel,\nsend them to your translators and read them back into your message files.\n\n\u003e **Note:** To read and write to and from Excel file, we use the excellent\n\u003e [PhpSpreadsheet](https://github.com/PHPOffice/PhpSpreadsheet) package.\n\n\n## Installation\n\nInstall the package with [composer](http://getcomposer.org).\n\n    composer require codemix/yii2-excel-message\n\nThen update your console configuration:\n\n```php\n\u003c?php\nreturn [\n    'controllerMap' =\u003e [\n        'excel-message' =\u003e [\n            'class' =\u003e 'codemix\\excelmessage\\ExcelMessageController'\n        ]\n    ]\n    // ...\n];\n```\n\n## Creating Excel files with new translations\n\nTo create Excel files with new  translations, you need to supply the Yii2 message\nconfiguration and the output directory where the files should be written to:\n\n```\n./yii excel-message messages/config.php /output/dir\n```\n\nThis will create one file per language (filename == language) with one sheet per\ncategory. The source messages are listed in column `A`. Translators should add their\ntranslations to column `B`.\n\nThe files will be in `Excel2007` format with `xlsx` extension.\n\nIf you want a file with all translations instead, pass `all` as 3rd argument. You can\nalso export only certain languages or categories:\n\n```\n./yii excel-message --languages=de,fr --categories=nav,app messages/config.php /output/dir\n```\n\n## Update PHP message files from Excel files\n\nAfter you receive the Excel files back from your translators you can update your\nPHP message files. Again you need to supply the Yii2 message configuration and\nthe directory path where your Excel files are:\n\n```\n./yii excel-message/import messages/config.php /input/dir\n```\n\nThis will add the new translations to your PHP message files. Yes it's\nreally that simple.\n\nYou can also pass a third parameter with the file extension, the default is `xlsx`\nas used by Excel 2007+ files. PhpSpreadsheet should also autodetect other Excel formats \n\n\u003e **Note:** The files must be provided in the same format as they where created by\n\u003e the export:\n\u003e  * One file per language with language code as filename\n\u003e  * One sheet per category\n\u003e  * Source messages in column `A`, translations in column `B`\n\u003e  * First line is skipped.\n\n## Options\n\nYou can use the following options.\n\nOption  | Description\n------- | -----------\n`--languages=aa,bb,cc` | Comma separated list of languages to process.\n`--categories=cat1,cat2` | Comma separated list of categories to process.\n`--ignoreLanguages=aa,bb,cc` | Comma separated list of languages to ignore. This option is ignored if `--languages` is used.\n`--ignoreCategories=cat1,cat2` | Comma separated list of categories to ignore. This option is ignored if `--categories` is used.\n`--lineHeight=x` | `export` only: The line height to set on the excel file. The default is *auto* but this [does not work](https://github.com/PHPOffice/PHPExcel/issues/588) if the file is openend in LibreOffice Calc. So you can set a fixed line height like `50` here as a workaround.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodemix%2Fyii2-excel-message","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodemix%2Fyii2-excel-message","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodemix%2Fyii2-excel-message/lists"}