This repository has been archived on 2023-08-20. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
Nicolas Grekas 91121acf4b bug #40283 [Translation] Make name attribute optional in xliff2 (MarieMinasyan)
This PR was submitted for the 5.2 branch but it was merged into the 4.4 branch instead.

Discussion
----------

[Translation] Make `name` attribute optional in xliff2

Do not set a fake `name` attribute on `unit` element from xliff2 to allow using `source` attribute and avoid missing translation error

| Q             | A
| ------------- | ---
| Branch?       | 5.2
| Bug fix?      | yes/no
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #37055
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!-- required for new features -->

When `xlf` translations are loaded, if a name exists on `unit` element, the segment's source is ignored:
```foreach ($xml->xpath('//xliff:unit') as $unit) {
            foreach ($unit->segment as $segment) {
                $attributes = $unit->attributes();
                $source = $attributes['name'] ?? $segment->source;
```

At the same time, when dumping translations, the segment's source is copied into the unit's name attribute, unless it's longer than 80 characters. In that case, `substr(md5($source), -7)` is set into the name attribute.
This results in a missing translation error, because the source is ignored and the name is a random string.

Suggested solution: only set the name attribute if the string is less than 80 characters.

Commits
-------

97058559cc [Translation] Make `name` attribute optional in xliff2
2021-02-24 17:01:10 +01:00
.github Move github templates at the org level 2021-02-23 11:03:30 +01:00
src/Symfony [Translation] Make name attribute optional in xliff2 2021-02-24 17:01:00 +01:00
.appveyor.yml Ignore indirect deprecation triggered by doctrine/orm 2021-02-16 10:34:45 +01:00
.editorconfig Update .editorconfig 2018-09-06 16:22:56 +02:00
.gitattributes "export-ignore" contracts and phpunit-bridge 2021-01-22 10:53:35 +01:00
.gitignore Run the phpunit-bridge from a PR 2019-08-02 17:46:19 +02:00
.php_cs.dist Update PHP CS Fixer config to v2.18 2021-01-18 03:36:26 +01:00
.travis.yml install compatible versions of mongodb/mongodb only 2021-02-17 15:20:29 +01:00
CHANGELOG-4.0.md Merge branch '3.4' into 4.1 2018-08-01 18:22:14 +02:00
CHANGELOG-4.1.md updated CHANGELOG for 4.1.10 2019-01-06 17:16:07 +01:00
CHANGELOG-4.2.md updated CHANGELOG for 4.2.10 2019-06-26 16:19:37 +02:00
CHANGELOG-4.3.md updated CHANGELOG for 4.3.10 2020-01-21 14:13:32 +01:00
CHANGELOG-4.4.md Update CHANGELOG for 4.4.19 2021-01-27 14:50:17 +01:00
CODE_OF_CONDUCT.md Added the Code of Conduct file 2018-10-10 03:13:30 -07:00
composer.json Fix "provide" declarations 2021-02-06 09:54:26 +01:00
CONTRIBUTING.md Mention the community review guide 2016-12-18 22:02:35 +01:00
CONTRIBUTORS.md Add some information about the username in CONTRIBUTORS 2021-02-09 09:21:20 +01:00
LICENSE Bump license year 2021-01-01 10:24:35 +01:00
link Fix CS in link binary 2020-12-10 19:02:00 +01:00
phpunit Skip checking return types on PHP <= 7.2 2021-02-11 09:19:35 +01:00
phpunit.xml.dist Adds LDAP Adapter test in integration group 2020-11-16 15:17:13 +01:00
README.md Update README.md 2020-12-29 01:17:49 +01:00
UPGRADE-4.0.md Fix CS in changelogs 2020-12-10 17:34:26 +01:00
UPGRADE-4.1.md Merge branch '4.0' into 4.1 2018-05-31 12:17:53 +02:00
UPGRADE-4.2.md Merge branch '3.4' into 4.3 2020-01-08 18:19:22 +01:00
UPGRADE-4.3.md Merge branch '4.3' into 4.4 2019-11-19 13:20:06 +01:00
UPGRADE-4.4.md Fix CS in changelogs 2020-12-10 17:34:26 +01:00
UPGRADE-5.0.md Fix CS in changelogs 2020-12-10 17:34:26 +01:00

Symfony is a PHP framework for web and console applications and a set of reusable PHP components. Symfony is used by thousands of web applications (including BlaBlaCar.com and Spotify.com) and most of the popular PHP projects (including Drupal and Magento).

Installation

Documentation

Community

Contributing

Symfony is an Open Source, community-driven project with thousands of contributors. Join them contributing code or contributing documentation.

Security Issues

If you discover a security vulnerability within Symfony, please follow our disclosure procedure.

About Us

Symfony development is sponsored by SensioLabs, led by the Symfony Core Team and supported by Symfony contributors.