-
-
Notifications
You must be signed in to change notification settings - Fork 9.6k
[Translation] Add support for named arguments in PhpExtractor #45972
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Labels
Comments
Named arguments might be doable in the existing token-based extractor even thought it is probably easier with the AST (the other issue about inline assignments really needs the AST approach). |
Duplicate of #44899 isn't it? |
Closed in favor of #44899 |
2 tasks
fabpot
added a commit
that referenced
this issue
Oct 20, 2022
This PR was merged into the 6.2 branch. Discussion ---------- [Translation] Add `PhpAstExtractor` | Q | A | ------------- | --- | Branch? | 6.2 | Bug fix? | no | New feature? | yes | Deprecations? | no | Tickets | Fix #44899, #42285, #45972, #45039 | License | MIT | Doc PR | symfony/symfony-docs#17369 After discussions with `@stof` and `@nicolas`-grekas at SymfonyLive Paris 2022, it appears clear that we need a brand new PhpExtractor in Translation to support various syntax, especially PHP8 new syntax (named arguments for example). In order to make this new extractor sustainable, performant and maintainable, it must be based on AST. That's why this PR adds a new optional dependency on [nikic/php-parser](https://github.com/nikic/PHP-Parser). The tests suite is the same as PhpExtractorTest, in addition to new cases for newly supported syntax. NB: I was inspired by https://github.com/php-translation/extractor design, with adaptations for Symfony. To-do: - [x] As suggested by `@Nyholm`, take a look at https://github.com/php-translation/extractor - [x] Fix #45039 (could be achieved easily with AST tree) Commits ------- 5d4a81f Add PhpAstExtractor
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Description
In PhpExtractor (used to extract translation keys (message) from PHP code), there is no support for PHP8 syntax with named arguments
ex:
$translator->trans(domain: 'validators', message: 'foo.bar')
We discussed with @stof & @nicolas-grekas about adding this support. It seems to require to add a new optional dependency on https://github.com/nikic/PHP-Parser to leverage AST features.
Todo:
Example
No response
The text was updated successfully, but these errors were encountered: