Commit Graph

633 Commits

Author SHA1 Message Date
Abdellatif Ait boudad
ce540aeaf9 update changelog. 2015-09-07 18:06:19 +00:00
Berny Cantos
ff5d6a3a98 [Translation][Loader] added XLIFF 2.0 support. 2015-09-07 17:58:34 +00:00
Nicolas Grekas
e70bec97b4 Merge branch '2.7' into 2.8
* 2.7:
  [2.7] Clean deprecated interfaces
  use new repo location in some readme.md
  [Validator] Cleanup a test
2015-09-06 10:37:06 +02:00
Nicolas Grekas
ae643240bb Merge branch '2.3' into 2.7
* 2.3:
  use new repo location in some readme.md
2015-09-06 10:36:38 +02:00
Abdellatif Ait boudad
2592fe9e1d [Translator] Added missing changelog notes. 2015-09-05 16:20:14 +00:00
Abdellatif Ait boudad
be4716505f feature #15562 [translation] Deprecated DiffOperation (zerustech)
This PR was merged into the 2.8 branch.

Discussion
----------

[translation] Deprecated DiffOperation

## Summary:
The ``DiffOperation`` class has been deprecated and ``TargetOperation``
should be used instead, because ``DiffOperation`` has nothing to do
with 'diff', thus its class name is misleading.

Also added detailed documents for all operation interface and classes.

## Background:

The following names should have consistent meanings for all operations:

The name of ``intersection`` is temporarily introduced here to explain this issue.

* [x] ``intersection`` = source ∩ target = {x: x ∈ source ∧ x ∈ target}
* [x] ``all`` = **result of the operation, depends on the operation.**
* [x] ``new`` = all ∖ source = {x: x ∈ all ∧ x ∉ source}
* [x] ``obsolete`` = source ∖ all = {x: x ∈ source ∧ x ∉ all}

The following analysis explains why ``DiffOperation`` should be deprecated.

## Logic of ``MergeOperation``:
* [x] ``all`` = source ∪ target = {x: x ∈ source ∨ x ∈ target}
* [x] ``new`` = all ∖ source = {x: x ∈ target ∧ ∉ source}
* [x] ``obsolete`` = source ∖ all = {x: x ∈ source ∧ x ∉ source ∧ x ∉ target} = ∅

This absolutely makes sense.

## Logic of ``DiffOperation``:
* [ ] ``all`` =  intersection ∪ (target ∖ intersection) = target
* [x] ``new`` = all ∖ source = {x: x ∈ target ∧ x ∉ source}
* [x] ``obsolete`` = source ∖ all = source ∖ target = {x: x ∈ source ∧ x ∉ target}

The ``all`` part is confusing because 'diff' should either mean 'relative complement' or 'symmetric difference' operation:

### Relative Complement:
* ``all`` = source ∖ target = {x: x ∈ source ∧ x ∉ target}

### Symmetric Difference:
* ``all`` = (source ∖ target) ∪ (target ∖ source) = {x: x ∈ source ∧ x ∉ target ∨ x ∈ target ∧ x ∉ source}

### Current Logic has Nothing to do with "Diff":
* ``all`` =  intersection ∪ (target ∖ intersection) = target

So the name of ``DiffOperation`` is misleading and inappropriate.
Unfortunately, there is no corresponding set operation for this class,
so it's hard to give it an apppriate name.
From my point of view, I believe the most accurate name for this class
should be ``TargetOperation`` because its result is same as the target set.

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | yes
| Tests pass?   | yes
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | n/a

Commits
-------

353c94d [translation][framework-bundle] Deprecated DiffOperation
2015-09-05 11:37:34 +00:00
JakeFr
fa7fe56830 use new repo location in some readme.md 2015-09-03 22:55:07 +02:00
Nicolas Grekas
22b17b2c93 Merge branch '2.7' into 2.8
* 2.7:
  [travis] Add PHP 7 to allowed failures until segfaults are fixed
  [Intl] Fix test
  [Translator][fallback catalogues] fixed circular reference.
  bumped Symfony version to 2.3.33
  updated VERSION for 2.3.32
  update CONTRIBUTORS for 2.3.32
  updated CHANGELOG for 2.3.32
  [FrameworkBundle] Fix templating.helper.code.file_link_format when defined by ini setting
  [console] Use the description when no help is available
2015-09-03 13:42:45 +02:00
Nicolas Grekas
05d9411670 Merge branch '2.3' into 2.7
* 2.3:
  [Intl] Fix test
  [Translator][fallback catalogues] fixed circular reference.
  bumped Symfony version to 2.3.33
  updated VERSION for 2.3.32
  update CONTRIBUTORS for 2.3.32
  updated CHANGELOG for 2.3.32
  [FrameworkBundle] Fix templating.helper.code.file_link_format when defined by ini setting
  [console] Use the description when no help is available

Conflicts:
	src/Symfony/Component/Console/Tests/Fixtures/application_asxml1.txt
	src/Symfony/Component/Console/Tests/Fixtures/application_asxml2.txt
	src/Symfony/Component/HttpKernel/Kernel.php
2015-09-03 13:40:38 +02:00
Michael Lee
353c94db64 [translation][framework-bundle] Deprecated DiffOperation
The ``DiffOperation`` class has been deprecated and ``TargetOperation``
should be used instead, because ``DiffOperation`` has nothing to do
with 'diff', thus its class name is misleading.

Also added detailed documents for all operation interface and classes.

The following names should have consistent meanings for all operations:

The name of ``intersection`` is temporarily introduced here to explain this issue.

* [x] ``intersection`` = source ∩ target = {x: x ∈ source ∧ x ∈ target}
* [x] ``all`` = **result of the operation, depends on the operation.**
* [x] ``new`` = all ∖ source = {x: x ∈ all ∧ x ∉ source}
* [x] ``obsolete`` = source ∖ all = {x: x ∈ source ∧ x ∉ all}

The following analysis explains why ``DiffOperation`` should be deprecated.

* [x] ``all`` = source ∪ target = {x: x ∈ source ∨ x ∈ target}
* [x] ``new`` = all ∖ source = {x: x ∈ target ∧ ∉ source}
* [x] ``obsolete`` = source ∖ all = {x: x ∈ source ∧ x ∉ source ∧ x ∉ target} = ∅

This absolutely makes sense.

* [ ] ``all`` =  intersection ∪ (target ∖ intersection) = target
* [x] ``new`` = all ∖ source = {x: x ∈ target ∧ x ∉ source}
* [x] ``obsolete`` = source ∖ all = source ∖ target = {x: x ∈ source ∧ x ∉ target}

The ``all`` part is confusing because 'diff' should either mean 'relative complement' or 'symmetric difference' operation:

* ``all`` = source ∖ target = {x: x ∈ source ∧ x ∉ target}

* ``all`` = (source ∖ target) ∪ (target ∖ source) = {x: x ∈ source ∧ x ∉ target ∨ x ∈ target ∧ x ∉ source}

* ``all`` =  intersection ∪ (target ∖ intersection) = target

So the name of ``DiffOperation`` is misleading and inappropriate.
Unfortunately, there is no corresponding set operation for this class,
so it's hard to give it an apppriate name.
From my point of view, I believe the most accurate name for this class
should be ``TargetOperation`` because its result is same as the target set.

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | yes
| Tests pass?   | yes
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | n/a
2015-09-03 14:49:29 +08:00
Abdellatif Ait boudad
79e29c1f23 [Translator][fallback catalogues] fixed circular reference. 2015-09-02 09:56:25 +00:00
Nicolas Grekas
d76cc03382 Merge branch '2.7' into 2.8
* 2.7:
  Require symfony/intl ~2.4 when Locale::setDefault() is used
  [Form][2.7][ Choice type] fixed groups with empty array.

Conflicts:
	src/Symfony/Component/Form/composer.json
	src/Symfony/Component/Translation/composer.json
	src/Symfony/Component/Validator/composer.json
2015-09-01 15:59:44 +02:00
Nicolas Grekas
2c4860877d Require symfony/intl ~2.4 when Locale::setDefault() is used 2015-09-01 15:39:59 +02:00
Abdellatif Ait boudad
f667a345ac [Translation] added <tool> element metadata to XliffFileDumper 2015-08-27 09:23:57 +00:00
Abdellatif Ait boudad
09e88dc676 [Translation][Xliff loader] fixed check target node. 2015-08-27 08:47:02 +00:00
Nicolas Grekas
fb9838c2d4 Merge branch '2.7' into 2.8
* 2.7:
  Various fixes esp. on Windows
  Fix the validation of form resources to register the default theme
  Fix the retrieval of the value with property path when using a loader
  [appveyor] minor enhancements
  [Process] Disable failing tests on Windows
  [Translation] Fix the string casting in the XliffFileLoader
  Windows and Intl fixes
  Add appveyor.yml for C.I. on Windows
  [VarDumper] fixed HtmlDumper to target specific the head tag
  [travis] merge php: nightly and deps=high test-matrix lines
  consistently use str_replace to unify directory separators
  Support omitting the <target> node in an .xlf file.
  Fix the handling of values for multiple choice types
  moved PHP nightly to PHP 7.0
  [Security] Add missing docblock in PreAuthenticatedToken

Conflicts:
	.travis.yml
2015-08-27 08:53:13 +02:00
Nicolas Grekas
7f4f7131dd Merge branch '2.3' into 2.7
* 2.3:
  [Translation] Fix the string casting in the XliffFileLoader

Conflicts:
	src/Symfony/Component/Translation/Loader/XliffFileLoader.php
2015-08-26 12:49:32 +02:00
Christophe Coevoet
b856f62cd4 [Translation] Fix the string casting in the XliffFileLoader 2015-08-26 11:54:34 +02:00
Abdellatif Ait boudad
ffdab9259a Merge branch '2.3' into 2.7
Conflicts:
	.travis.yml
	src/Symfony/Component/Translation/Loader/XliffFileLoader.php
2015-08-25 12:59:36 +00:00
Leo Feyer
3dcda1a8bd Support omitting the <target> node in an .xlf file. 2015-08-25 11:54:38 +00:00
Fabien Potencier
aad7963ede Merge branch '2.7' into 2.8
* 2.7:
  fixes CS
2015-08-24 09:18:02 +02:00
Fabien Potencier
c0e4495b66 fixes CS 2015-08-24 09:13:45 +02:00
Marcos Sánchez
b913695682 Add support for target attributes.
The previous implementation ignored attributes in target nodes in xliff files
so they were lost when you load and then dump the same file. This change
should fix that problem.
2015-08-11 12:01:27 -03:00
Damien Alexandre
85ae760d05 [Translation] Add parameters to DataCollectorTranslator 2015-07-09 18:26:53 +02:00
Fabien Potencier
f5fefeff49 Merge branch '2.7' into 2.8
* 2.7:
  Added 'default' color
  [HttpFoundation] Reload the session after regenerating its id
  [HttpFoundation] Add a test case to confirm a bug in session migration
  [Serializer] Fix ClassMetadata::sleep()
  [2.6] Static Code Analysis for Components and Bundles
  [Finder] Command::addAtIndex() fails with Command instance argument
  [DependencyInjection] Freeze also FrozenParameterBag::remove
  [Twig][Bridge] replaced `extends` with `use` in bootstrap_3_horizontal_layout.html.twig
  fix CS
  fixed CS
  Add a way to reset the singleton
  [Security] allow to use `method` in XML configs
  [Serializer] Fix Groups tests.
  Remove duplicate example
  Remove var not used due to returning early (introduced in 8982c32)
  [Serializer] Fix Groups PHPDoc
  Enhance hhvm test skip message
  fix for legacy asset() with EmptyVersionStrategy
  [Form] Added upgrade notes for #15061
2015-07-09 18:11:14 +02:00
Fabien Potencier
175af7f3ac Merge branch '2.6' into 2.7
* 2.6:
  Added 'default' color
  [HttpFoundation] Reload the session after regenerating its id
  [HttpFoundation] Add a test case to confirm a bug in session migration
  [2.6] Static Code Analysis for Components and Bundles
  [Finder] Command::addAtIndex() fails with Command instance argument
  [DependencyInjection] Freeze also FrozenParameterBag::remove
  [Twig][Bridge] replaced `extends` with `use` in bootstrap_3_horizontal_layout.html.twig
  fix CS
  fixed CS
  Add a way to reset the singleton
  [Security] allow to use `method` in XML configs
  Remove duplicate example
  Remove var not used due to returning early (introduced in 8982c32)
  Enhance hhvm test skip message
2015-07-09 18:07:40 +02:00
Vladimir Reznichenko
1dac1277a3 [2.6] Static Code Analysis for Components and Bundles 2015-07-08 07:59:48 +02:00
Nicolas Grekas
f59a0baa95 Merge branch '2.7' into 2.8
* 2.7:
  Update DateTimeToArrayTransformer.php
  Mock microtime() and time() in transient tests
  Azerbaijani language pluralization rule
  Move HHVM tests out of the allowed failures
2015-07-01 20:24:26 +02:00
Nicolas Grekas
4b9446edf8 Merge branch '2.6' into 2.7
* 2.6:
  Update DateTimeToArrayTransformer.php
  Mock microtime() and time() in transient tests
  Azerbaijani language pluralization rule
  Move HHVM tests out of the allowed failures
2015-07-01 20:23:16 +02:00
Nicolas Grekas
d5cbc46cd9 Merge branch '2.3' into 2.6
* 2.3:
  Update DateTimeToArrayTransformer.php
  Mock microtime() and time() in transient tests
  Azerbaijani language pluralization rule
  Move HHVM tests out of the allowed failures
2015-07-01 20:23:01 +02:00
Şəhriyar İmanov
efd927a660 Azerbaijani language pluralization rule
In AZ, as in TR, pluralization is always 0: 

0 kitab (zero books)
1 kitab (1 book)
3 kitab (3 books)
104 kitab (104 books)

Apparently ZF ruleset was wrong in the first place :)
2015-07-01 16:29:20 +02:00
Nicolas Grekas
351174be88 [2.8] Silence newest deprecations 2015-06-19 17:11:11 +02:00
Gordon Franke
692deff7b0 fix Merge branch '2.7' into 2.8 JsonFileLoader 2015-06-11 21:27:42 +02:00
Fabien Potencier
ae470cdf14 Merge branch '2.7' into 2.8
* 2.7:
  Fix test name
  fixed CS
  Allow new lines in Messages translated with transchoice() (replacement for #14867)
  [Form] Swap new ChoiceView constructor arguments to ease migrating from the deprecated one
  [2.3] Fix tests on Windows
  [Yaml] remove partial deprecation annotation
  Silence invasive deprecation warnings, opt-in for warnings
  Documenting how to keep option value BC - see #14377

Conflicts:
	src/Symfony/Bridge/Doctrine/composer.json
	src/Symfony/Bridge/Twig/composer.json
2015-06-11 19:27:52 +02:00
Fabien Potencier
99f95ac212 Merge branch '2.6' into 2.7
* 2.6:
  fixed CS
  Allow new lines in Messages translated with transchoice() (replacement for #14867)
  [2.3] Fix tests on Windows
2015-06-11 19:26:34 +02:00
Fabien Potencier
f0045deaba Merge branch '2.3' into 2.6
* 2.3:
  fixed CS
  Allow new lines in Messages translated with transchoice() (replacement for #14867)
  [2.3] Fix tests on Windows
2015-06-11 19:26:27 +02:00
Fabien Potencier
009efb8dec fixed CS 2015-06-11 15:53:10 +02:00
azine
786b8a664e Allow new lines in Messages translated with transchoice() (replacement for #14867) 2015-06-11 15:52:49 +02:00
reecefowell
73bbaa6cc7 Silence invasive deprecation warnings, opt-in for warnings 2015-06-08 10:37:21 +01:00
Fabien Potencier
99ec717a22 Merge branch '2.7' into 2.8
* 2.7:
  [Security] Update tests after a merge
  [Console] Remove an unused argument and fix a small cs issue
  [Translator] avoid serialize unserializable resources.
2015-06-05 18:29:33 +02:00
Fabien Potencier
5593bdd56e Merge branch '2.7' into 2.8
* 2.7: (95 commits)
  [DependencyInjection] provide better error message when using deprecated configuration options
  [console][TableCell] get cell width without decoration.
  Improve the config validation in TwigBundle
  [VarDumper] Changed tooltip to expand-all keybinding in OS X
  [Bridge\PhpUnit] Fix composer installed phpunit detection
  [VarDumper] Fix generic casters calling order
  [2.7][SecurityBundle] Remove SecurityContext from Compile
  [WebProfilerBundle][logger] added missing deprecation message.
  Fix profiler CSS
  [Security][Acl] enforce string identifiers
  [FrameworkBundle] make `templating.helper.router` service available again for BC reasons
  [BrowserKit] Fix bug when uri starts with http.
  bumped Symfony version to 2.7.1
  updated VERSION for 2.7.0
  updated CHANGELOG for 2.7.0
  bumped Symfony version to 2.6.10
  updated VERSION for 2.6.9
  updated CHANGELOG for 2.6.9
  fixed tests
  bumped Symfony version to 2.3.31
  ...

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Command/TranslationDebugCommand.php
	src/Symfony/Bundle/WebProfilerBundle/Resources/views/Collector/logger.html.twig
	src/Symfony/Component/HttpKernel/Kernel.php
	src/Symfony/Component/Translation/Loader/JsonFileLoader.php
2015-06-04 22:21:09 +02:00
Abdellatif Ait boudad
7220f2c880 [Translator] avoid serialize unserializable resources. 2015-05-31 17:58:25 +00:00
Fabien Potencier
b07eca5453 Merge branch '2.6' into 2.7
* 2.6: (21 commits)
  Revert "bug #14262 [TwigBundle] Refresh twig paths when resources change. (aitboudad)"
  InvalidResourceException file name
  [Validators] Remove forgotten space in a translation key [nl]
  [Validators] Correct translation key and content [nl]
  bumped Symfony version to 2.6.9
  updated VERSION for 2.6.8
  updated CHANGELOG for 2.6.8
  added missing CVE number
  bumped Symfony version to 2.3.30
  updated VERSION for 2.3.29
  update CONTRIBUTORS for 2.3.29
  updated CHANGELOG for 2.3.29
  [Validators] Missing translations for arabic language.
  Code style
  fixed C
  [HttpKernel][Bundle] Check extension implements ExtensionInterface
  [DebugBundle] Fix config XSD
  [CS] [Console] StreamOuput : fix loose comparison
  [Framework][router commands] fixed failing test.
  [HttpKernel] Do not call the FragmentListener if _controller is already defined
  ...

Conflicts:
	src/Symfony/Component/HttpKernel/Kernel.php
	src/Symfony/Component/Serializer/Normalizer/PropertyNormalizer.php
2015-05-29 16:44:44 +02:00
Fabien Potencier
c349cb3528 Merge branch '2.3' into 2.6
* 2.3:
  Revert "bug #14262 [TwigBundle] Refresh twig paths when resources change. (aitboudad)"
  InvalidResourceException file name
  [Validators] Remove forgotten space in a translation key [nl]
  [Validators] Correct translation key and content [nl]
  added missing CVE number
  bumped Symfony version to 2.3.30
  updated VERSION for 2.3.29
  update CONTRIBUTORS for 2.3.29
  updated CHANGELOG for 2.3.29
  [CS] [Console] StreamOuput : fix loose comparison
  [DependencyInjection] Avoid unnecessary calls to strtolower()

Conflicts:
	src/Symfony/Component/Console/Output/StreamOutput.php
	src/Symfony/Component/HttpKernel/Kernel.php
2015-05-29 16:42:58 +02:00
Ladislav Tánczos
2e04e23c6a InvalidResourceException file name 2015-05-28 22:42:23 +02:00
Fabien Potencier
58efb98c6f Merge branch '2.6' into 2.7
* 2.6: (30 commits)
  [Translation] fixed JSON loader on PHP 7 when file is empty
  Fix typo
  Check instance of FormBuilderInterface instead of FormBuilder
  [Security] TokenBasedRememberMeServices test to show why encoding username is required
  [Security] AbstractRememberMeServices::encodeCookie() validates cookie parts
  fixed typo
  [console][formater] allow format toString object.
  [HttpFoundation] Fix baseUrl when script filename is contained in pathInfo
  Avoid redirection to XHR URIs
  [HttpFoundation] IpUtils::checkIp4() should allow  networks
  [2.6] Fix HTML escaping of to-source links
  Fix HTML escaping of to-source links
  ExceptionHandler: More Encoding
  Fix the rendering of deprecation log messages
  [FrameworkBundle] Removed unnecessary parameter in TemplateController
  [DomCrawler] Throw an exception if a form field path is incomplete.
  Fixed the indentation in the compiled template for the DumpNode
  [Console] Delete duplicate test in CommandTest
  [TwigBundle] Refresh twig paths when resources change.
  WebProfiler break words
  ...

Conflicts:
	src/Symfony/Bridge/Twig/composer.json
	src/Symfony/Bundle/WebProfilerBundle/Resources/views/Collector/logger.html.twig
	src/Symfony/Component/Debug/ExceptionHandler.php
2015-05-22 16:54:25 +02:00
Fabien Potencier
af36c341ac [Translation] fixed JSON loader on PHP 7 when file is empty 2015-05-22 16:37:51 +02:00
Gennady Telegin
29ec5caf8a [Translation] add options 'as_tree', 'inline' to YamlFileDumper to dump messages as tree instead of simple list.
Dump messages as tree based on '.' character as a delimeter in path.
For example this rray('foo.bar' => 'value') will be converted to array('foo' => array('bar' => 'value')).

Correctly process cases like this ['foo.bar' => 'test1', 'foo' => 'test2'].
2015-05-20 12:35:10 +03:00
Fabien Potencier
4b71fe0310 Merge branch '2.7' into 2.8
* 2.7:
  fixed CS
  fixed CS
  fixed CS
  Fix WebProfilerBundle compatiblity with HttpKernel < 2.7
  [Validator] Deprecated PHP7-incompatible constraints and related validators
  [DebugBundle] Allow alternative destination for dumps
  [DebugBundle] Use output mechanism of dumpers instead of echoing
  [DebugBundle] Always collect dumps
  [FrameworkBundle] Applied new styles to the config:debug & config:dump-reference commands
  Fix tests in HHVM
  CS: Pre incrementation/decrementation should be used if possible

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/composer.json
2015-05-15 16:11:12 +02:00
Fabien Potencier
e13373ec11 Merge branch '2.6' into 2.7
* 2.6:
  [DebugBundle] Allow alternative destination for dumps
  [DebugBundle] Use output mechanism of dumpers instead of echoing
  [DebugBundle] Always collect dumps
  Fix tests in HHVM
  CS: Pre incrementation/decrementation should be used if possible

Conflicts:
	src/Symfony/Component/Finder/Expression/Glob.php
2015-05-15 15:33:16 +02:00