{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":10893519,"defaultBranch":"main","name":"i18n-tasks","ownerLogin":"glebm","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2013-06-23T22:44:34.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/216339?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1726433489.0","currentOid":""},"activityList":{"items":[{"before":"a2d879df6431839977a0ebbb30dbd6e016d5b2ca","after":null,"ref":"refs/heads/595-google-translate-newline","pushedAt":"2024-09-15T20:51:29.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"glebm","name":"Gleb Mazovetskiy","path":"/glebm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/216339?s=80&v=4"}},{"before":"2cba1093e3c555b6664f62604a2e2f2dfe6f1a6e","after":"7b4eb2963f9b1ec75e64d5899381807b861c082b","ref":"refs/heads/main","pushedAt":"2024-09-15T20:51:25.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"glebm","name":"Gleb Mazovetskiy","path":"/glebm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/216339?s=80&v=4"},"commit":{"message":"Google Translator: Improves newline handling\n\n- The newline replacement only worked when extra spaces were added\n by Google Translate API, which is not always happening.\n- Adds some more tests to catch this and changes the replacement to\n be closer to replacing of interpolations.\n- Fixes #595\n\nThis is a frustating bug that has been open for many years:\nhttps://issuetracker.google.com/issues/119256504?pli=1\n\nMaybe one of the other APIs are more consistent.","shortMessageHtmlLink":"Google Translator: Improves newline handling"}},{"before":null,"after":"a2d879df6431839977a0ebbb30dbd6e016d5b2ca","ref":"refs/heads/595-google-translate-newline","pushedAt":"2024-09-14T10:51:37.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"davidwessman","name":"David Wessman","path":"/davidwessman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6763624?s=80&v=4"},"commit":{"message":"Google Translator: Improves newline handling\n\n- The newline replacement only worked when extra spaces were added\n by Google Translate API, which is not always happening.\n- Adds some more tests to catch this and changes the replacement to\n be closer to replacing of interpolations.\n- Fixes #595\n\nThis is a frustating bug that has been open for many years:\nhttps://issuetracker.google.com/issues/119256504?pli=1\n\nMaybe one of the other APIs are more consistent.","shortMessageHtmlLink":"Google Translator: Improves newline handling"}},{"before":null,"after":"a2cc3aeebd1d2c8eaf4b8ef2d2caafd11ce72752","ref":"refs/heads/dependabot/github_actions/paambaati/codeclimate-action-9","pushedAt":"2024-08-26T02:29:14.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"chore(deps): bump paambaati/codeclimate-action from 8 to 9\n\nBumps [paambaati/codeclimate-action](https://github.com/paambaati/codeclimate-action) from 8 to 9.\n- [Release notes](https://github.com/paambaati/codeclimate-action/releases)\n- [Changelog](https://github.com/paambaati/codeclimate-action/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/paambaati/codeclimate-action/compare/v8...v9)\n\n---\nupdated-dependencies:\n- dependency-name: paambaati/codeclimate-action\n dependency-type: direct:production\n update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"chore(deps): bump paambaati/codeclimate-action from 8 to 9"}},{"before":"88e8f544d096405914e4ebc4afe8bd3a15a8645f","after":null,"ref":"refs/heads/dependabot/github_actions/paambaati/codeclimate-action-8","pushedAt":"2024-06-17T07:07:11.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"glebm","name":"Gleb Mazovetskiy","path":"/glebm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/216339?s=80&v=4"}},{"before":"6a46c6192f45c692352460a00bb744dd959f7a5f","after":"2cba1093e3c555b6664f62604a2e2f2dfe6f1a6e","ref":"refs/heads/main","pushedAt":"2024-06-17T07:07:10.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"glebm","name":"Gleb Mazovetskiy","path":"/glebm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/216339?s=80&v=4"},"commit":{"message":"chore(deps): bump paambaati/codeclimate-action from 6 to 8\n\nBumps [paambaati/codeclimate-action](https://github.com/paambaati/codeclimate-action) from 6 to 8.\n- [Release notes](https://github.com/paambaati/codeclimate-action/releases)\n- [Changelog](https://github.com/paambaati/codeclimate-action/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/paambaati/codeclimate-action/compare/v6...v8)\n\n---\nupdated-dependencies:\n- dependency-name: paambaati/codeclimate-action\n dependency-type: direct:production\n update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"chore(deps): bump paambaati/codeclimate-action from 6 to 8"}},{"before":null,"after":"88e8f544d096405914e4ebc4afe8bd3a15a8645f","ref":"refs/heads/dependabot/github_actions/paambaati/codeclimate-action-8","pushedAt":"2024-06-17T02:22:26.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"chore(deps): bump paambaati/codeclimate-action from 6 to 8\n\nBumps [paambaati/codeclimate-action](https://github.com/paambaati/codeclimate-action) from 6 to 8.\n- [Release notes](https://github.com/paambaati/codeclimate-action/releases)\n- [Changelog](https://github.com/paambaati/codeclimate-action/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/paambaati/codeclimate-action/compare/v6...v8)\n\n---\nupdated-dependencies:\n- dependency-name: paambaati/codeclimate-action\n dependency-type: direct:production\n update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"chore(deps): bump paambaati/codeclimate-action from 6 to 8"}},{"before":null,"after":"d3f927486e2086f7ea47cde64e440eb7a396c50a","ref":"refs/heads/translate-pattern","pushedAt":"2024-06-16T16:30:21.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"davidwessman","name":"David Wessman","path":"/davidwessman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6763624?s=80&v=4"},"commit":{"message":"Adds command to translate a pattern of keys\n\n- Related to #574","shortMessageHtmlLink":"Adds command to translate a pattern of keys"}},{"before":"6e811f3066d7e9a28c829cecf2f9fb73c0186244","after":null,"ref":"refs/heads/controller-contextual-parsing","pushedAt":"2024-06-10T19:08:57.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"glebm","name":"Gleb Mazovetskiy","path":"/glebm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/216339?s=80&v=4"}},{"before":"21450667d9df7730442abdc64741df065ba8870e","after":"6a46c6192f45c692352460a00bb744dd959f7a5f","ref":"refs/heads/main","pushedAt":"2024-06-10T18:51:30.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"davidwessman","name":"David Wessman","path":"/davidwessman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6763624?s=80&v=4"},"commit":{"message":"PrismScanner: Contextual parsing for Rails (#565)","shortMessageHtmlLink":"PrismScanner: Contextual parsing for Rails (#565)"}},{"before":"2d4d28ed0c9cff58e315e977392651e1c40a3df3","after":"21450667d9df7730442abdc64741df065ba8870e","ref":"refs/heads/main","pushedAt":"2024-06-10T17:24:08.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"glebm","name":"Gleb Mazovetskiy","path":"/glebm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/216339?s=80&v=4"},"commit":{"message":"Closes #575 - Allow configuring translation backend in yaml\n\n- Use the Enum option parser for the translation_backend to prevent fallback to `en`\n- Add `allow_blank` argument to the Enum option parser. We want -b to be optional so we can use the config file backend if present\n- Update translation strings for translation_backend CLI argument to list all options\n- Error when invalid backend is specified\n- Retain :google backend default, specify in `I18n::Tasks::Configuration#translation_config`\n- Tidy README to remove duplication and show backend configuration via config file","shortMessageHtmlLink":"Closes #575 - Allow configuring translation backend in yaml"}},{"before":"7638579b8cfd509da9c65d377667af4ae81da20c","after":"6e811f3066d7e9a28c829cecf2f9fb73c0186244","ref":"refs/heads/controller-contextual-parsing","pushedAt":"2024-06-09T14:30:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"davidwessman","name":"David Wessman","path":"/davidwessman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6763624?s=80&v=4"},"commit":{"message":"Fixes test","shortMessageHtmlLink":"Fixes test"}},{"before":"e2dcf072fe706b4c43878bc3a8c7ac840f760882","after":"7638579b8cfd509da9c65d377667af4ae81da20c","ref":"refs/heads/controller-contextual-parsing","pushedAt":"2024-06-09T14:27:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"davidwessman","name":"David Wessman","path":"/davidwessman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6763624?s=80&v=4"},"commit":{"message":"Update lib/i18n/tasks/scanners/prism_scanners/visitor.rb","shortMessageHtmlLink":"Update lib/i18n/tasks/scanners/prism_scanners/visitor.rb"}},{"before":"1ba8b45726658292b002f320557563e1e5d23396","after":"e2dcf072fe706b4c43878bc3a8c7ac840f760882","ref":"refs/heads/controller-contextual-parsing","pushedAt":"2024-06-09T14:18:19.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"davidwessman","name":"David Wessman","path":"/davidwessman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6763624?s=80&v=4"},"commit":{"message":"PrismScanner: Contextual parsing for Rails\n\nAdds a scanner that supports:\n - `before_action` in controllers\n - translations in nested method calls\n - `model_name.human`\n - `human_attribute_name`","shortMessageHtmlLink":"PrismScanner: Contextual parsing for Rails"}},{"before":"87424f4b216221b603563e4afa0191ce5a83931f","after":"1ba8b45726658292b002f320557563e1e5d23396","ref":"refs/heads/controller-contextual-parsing","pushedAt":"2024-06-09T13:42:12.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"davidwessman","name":"David Wessman","path":"/davidwessman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6763624?s=80&v=4"},"commit":{"message":"PrismScanner: Contextual parsing for Rails\n\nAdds a scanner that supports:\n - `before_action` in controllers\n - translations in nested method calls\n - `model_name.human`\n - `human_attribute_name`","shortMessageHtmlLink":"PrismScanner: Contextual parsing for Rails"}},{"before":"9852a3f49661babdba58cec841538e637da9f48e","after":"2d4d28ed0c9cff58e315e977392651e1c40a3df3","ref":"refs/heads/main","pushedAt":"2024-06-07T15:24:54.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"davidwessman","name":"David Wessman","path":"/davidwessman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6763624?s=80&v=4"},"commit":{"message":"Provide a 'Changelog' link on rubygems.org/gems/i18n-tasks (#583)\n\n* Provide a 'Changelog' link on rubygems.org/gems/i18n-tasks\r\n\r\nBy providing a 'changelog_uri' in the metadata of the gemspec a\r\n'Changelog' link will be shown on https://rubygems.org/gems/i18n-tasks\r\nwhich makes it quick and easy for someone to check on the changes\r\nintroduced with a new version.\r\n\r\nDetails of this functionality can be found on https://guides.rubygems.org/specification-reference/\r\n\r\n* Add source_code_uri metadata to gemspec","shortMessageHtmlLink":"Provide a 'Changelog' link on rubygems.org/gems/i18n-tasks (#583)"}},{"before":"2c5cf39a5eb1edc7fc394577bb2005dc98fca2af","after":"87424f4b216221b603563e4afa0191ce5a83931f","ref":"refs/heads/controller-contextual-parsing","pushedAt":"2024-06-07T04:32:20.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"davidwessman","name":"David Wessman","path":"/davidwessman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6763624?s=80&v=4"},"commit":{"message":"PrismScanner: Contextual parsing for Rails\n\nAdds a scanner that supports:\n - `before_action` in controllers\n - translations in nested method calls\n - `model_name.human`\n - `human_attribute_name`","shortMessageHtmlLink":"PrismScanner: Contextual parsing for Rails"}},{"before":"6bcc60915a7a9fb9b7723f1163a4a09d27e00441","after":"2c5cf39a5eb1edc7fc394577bb2005dc98fca2af","ref":"refs/heads/controller-contextual-parsing","pushedAt":"2024-06-06T20:14:01.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"davidwessman","name":"David Wessman","path":"/davidwessman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6763624?s=80&v=4"},"commit":{"message":"PrismScanner: Contextual parsing for Rails\n\nAdds a scanner that supports:\n - `before_action` in controllers\n - translations in nested method calls\n - `model_name.human`\n - `human_attribute_name`","shortMessageHtmlLink":"PrismScanner: Contextual parsing for Rails"}},{"before":"ac7c37ec085adf53a5cfa9d39975f31d8ff388d7","after":"6bcc60915a7a9fb9b7723f1163a4a09d27e00441","ref":"refs/heads/controller-contextual-parsing","pushedAt":"2024-06-06T20:09:12.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"davidwessman","name":"David Wessman","path":"/davidwessman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6763624?s=80&v=4"},"commit":{"message":"PrismScanner: Contextual parsing for Rails\n\nAdds a scanner that supports:\n - `before_action` in controllers\n - translations in nested method calls\n - `model_name.human`\n - `human_attribute_name`","shortMessageHtmlLink":"PrismScanner: Contextual parsing for Rails"}},{"before":"c91dd8deed81d30c351f78a81093de0a6b1da82c","after":"ac7c37ec085adf53a5cfa9d39975f31d8ff388d7","ref":"refs/heads/controller-contextual-parsing","pushedAt":"2024-06-06T19:45:40.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"davidwessman","name":"David Wessman","path":"/davidwessman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6763624?s=80&v=4"},"commit":{"message":"PrismParser: Contextual parsing for Rails","shortMessageHtmlLink":"PrismParser: Contextual parsing for Rails"}},{"before":"35e7df76e4bed4995216ec4486ee6d2eab07eecd","after":"c91dd8deed81d30c351f78a81093de0a6b1da82c","ref":"refs/heads/controller-contextual-parsing","pushedAt":"2024-06-06T19:44:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"davidwessman","name":"David Wessman","path":"/davidwessman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6763624?s=80&v=4"},"commit":{"message":"Restructure and rename files","shortMessageHtmlLink":"Restructure and rename files"}},{"before":"8b05c514d8d1d5b3a44a06f82ba8435d9eef517e","after":"35e7df76e4bed4995216ec4486ee6d2eab07eecd","ref":"refs/heads/controller-contextual-parsing","pushedAt":"2024-06-06T19:28:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"davidwessman","name":"David Wessman","path":"/davidwessman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6763624?s=80&v=4"},"commit":{"message":"Rewrites visitor to be more generic","shortMessageHtmlLink":"Rewrites visitor to be more generic"}},{"before":"36fd6fdbe1cb5c56b467eb847df1133171079597","after":"8b05c514d8d1d5b3a44a06f82ba8435d9eef517e","ref":"refs/heads/controller-contextual-parsing","pushedAt":"2024-06-05T20:35:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"davidwessman","name":"David Wessman","path":"/davidwessman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6763624?s=80&v=4"},"commit":{"message":"Adds support for # i18n-tasks-skip-prism comment\n\n- Fallback to ruby ast scanner if comment is added","shortMessageHtmlLink":"Adds support for # i18n-tasks-skip-prism comment"}},{"before":"90e7600be668fca2c0c4496eb4c10ff8d126a362","after":"36fd6fdbe1cb5c56b467eb847df1133171079597","ref":"refs/heads/controller-contextual-parsing","pushedAt":"2024-06-01T23:01:21.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"davidwessman","name":"David Wessman","path":"/davidwessman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6763624?s=80&v=4"},"commit":{"message":"Supports Rails model translations","shortMessageHtmlLink":"Supports Rails model translations"}},{"before":"b9cacb4d2a9da1a484cede71cf6400bcb7084dd2","after":"90e7600be668fca2c0c4496eb4c10ff8d126a362","ref":"refs/heads/controller-contextual-parsing","pushedAt":"2024-05-30T21:09:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"davidwessman","name":"David Wessman","path":"/davidwessman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6763624?s=80&v=4"},"commit":{"message":"Handles more parsing via visitor\n\n- Supports scope and relative key where it is not supported","shortMessageHtmlLink":"Handles more parsing via visitor"}},{"before":"a5e99161fe1f8962c404d0e580b80cde5ca08bcb","after":"b9cacb4d2a9da1a484cede71cf6400bcb7084dd2","ref":"refs/heads/controller-contextual-parsing","pushedAt":"2024-05-26T16:21:00.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"davidwessman","name":"David Wessman","path":"/davidwessman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6763624?s=80&v=4"},"commit":{"message":"Removes support for relative keys everywhere","shortMessageHtmlLink":"Removes support for relative keys everywhere"}},{"before":"6047cc80cc8a4f32042e2354e598817b195d1cf8","after":"a5e99161fe1f8962c404d0e580b80cde5ca08bcb","ref":"refs/heads/controller-contextual-parsing","pushedAt":"2024-05-26T08:22:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"davidwessman","name":"David Wessman","path":"/davidwessman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6763624?s=80&v=4"},"commit":{"message":"Adds support for lambda before_action","shortMessageHtmlLink":"Adds support for lambda before_action"}},{"before":"753753d1769d72c6fed8abe6f874772862fd1efd","after":"6047cc80cc8a4f32042e2354e598817b195d1cf8","ref":"refs/heads/controller-contextual-parsing","pushedAt":"2024-05-25T19:50:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"davidwessman","name":"David Wessman","path":"/davidwessman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6763624?s=80&v=4"},"commit":{"message":"Fixes comments and changes how context is passed","shortMessageHtmlLink":"Fixes comments and changes how context is passed"}},{"before":"2018d849be20751c2ee5b61fc4e766792a35fed1","after":"753753d1769d72c6fed8abe6f874772862fd1efd","ref":"refs/heads/controller-contextual-parsing","pushedAt":"2024-05-24T05:38:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"davidwessman","name":"David Wessman","path":"/davidwessman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6763624?s=80&v=4"},"commit":{"message":"Handles comments and changes how context is included","shortMessageHtmlLink":"Handles comments and changes how context is included"}},{"before":"5d7ae4e1dc62a1cee347ad8c112673a1e3a56c34","after":"2018d849be20751c2ee5b61fc4e766792a35fed1","ref":"refs/heads/controller-contextual-parsing","pushedAt":"2024-05-19T06:22:14.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"davidwessman","name":"David Wessman","path":"/davidwessman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6763624?s=80&v=4"},"commit":{"message":"PrismParser: Contextual parsing for Rails","shortMessageHtmlLink":"PrismParser: Contextual parsing for Rails"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xNVQyMDo1MToyOS4wMDAwMDBazwAAAAS23ZCi","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xNVQyMDo1MToyOS4wMDAwMDBazwAAAAS23ZCi","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNS0xOVQwNjoyMjoxNC4wMDAwMDBazwAAAARN7_0X"}},"title":"Activity ยท glebm/i18n-tasks"}