-
-
Notifications
You must be signed in to change notification settings - Fork 9.6k
Translations: incorrect domain using "t" function and named domain argument #44899
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
Comments
Not a bug for me but probably an unimplemented case in the Translation PhpExtractor. Could you have a look? |
We discussed with @stof & @nicolas-grekas about adding support of named arguments in PhpExtractor. It seems to require to add a new optional dependency on https://github.com/nikic/PHP-Parser to leverage AST features and avoid to continue with tokens, especially since we will probably have to add support of some other syntax (like inline variable assignation, see #42285). |
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
Symfony version(s) affected
5.4.2
Description
Using
Symfony\Component\Translation\t
function and using nameddomain
argument "translation:extract" and "debug:translations" use incorrect domain (default onemessages
is used).How to reproduce
Calling

debug:translation
reports incorrect domain:Workaround:
Calling

debug:translation
reports correctly:Possible Solution
No response
Additional Context
No response
The text was updated successfully, but these errors were encountered: