Skip to content

Refactor Translator wrapping and add new Linters

Compare
Choose a tag to compare
@Aeliot-Tm Aeliot-Tm released this 06 May 20:21
· 96 commits to main since this release
88f64ef
  • Features:
    • Add linter same_value which detects translation keys with the same value.
    • Add linter invalid_value which detects translation values matching some configured pattern.
    • Implement saving of detected missed translation to separate directory by wrapped Translator.
    • Implement command for the testing if missed translations logged.
  • Minors:
    • Add docker configuration for development purposes.
    • Add bash command bin/dev/remove_reports for development purposes.
    • Add suggestion to install package symfony/translation.
    • Configured CS Fixer.
    • Mark configuration insert_missed_keys: '' deprecated.
      Use missed_keys: { insert_position: '' } instead of it.
    • Mark configuration yaml: { key_pattern: '' } deprecated.
      Use linter: { key_valid_pattern: '' } instead of it.
    • Mark method \Aeliot\Bundle\TransMaintain\Service\Yaml\FilesFinder::getLocales() as deprecated.
      Use \Aeliot\Bundle\TransMaintain\Service\LocalesDetector::getLocales() instead of it.
    • Mark method \Aeliot\Bundle\TransMaintain\Service\Yaml\KeysParser::parseFiles() as deprecated.
      Use \Aeliot\Bundle\TransMaintain\Service\Yaml\FileToSingleLevelArrayParser::parseFiles() instead of it.
    • Refactored gluing of yaml tree to single level array.
    • Refactored rendering of linters' reports.
    • Rename class \Aeliot\Bundle\TransMaintain\Model\CsvReader to \Aeliot\Bundle\TransMaintain\Model\CSV.
    • Sort translations files map.
    • Switch name and alias of YAML lint command.
    • Updated package "symfony/translation" version in dev dependencies.
  • Bug fixes:
    • Fix braking of translation keys by cleaner when comma is inside key.
    • Fix registering of missed translation.
    • Fix sorting of translation Ids during keys pattern matching.
    • Remove not used dependencies.
  • Backward compatibility breaks:
    • Removed deprecated constants:
      • \Aeliot\Bundle\TransMaintain\Service\Yaml\LinterRegistry::PRESET_ALL
      • \Aeliot\Bundle\TransMaintain\Service\Yaml\LinterRegistry::PRESET_BASE
    • Change naming:
      • language_id -> translation_id
      • language -> locale
    • Move Translator decorators to the separate namespace.
    • Refactored linters' ReportBag class.
    • Removed class \Aeliot\Bundle\TransMaintain\Report\Builder\ConsoleOutputTableBuilder.
      Use service \Aeliot\Bundle\TransMaintain\Service\ReportBagConsoleRenderer instead of it.
    • Removed linters' report line classes:
      • \Aeliot\Bundle\TransMaintain\Model\AbstractLine
      • \Aeliot\Bundle\TransMaintain\Model\EmptyValueLine
      • \Aeliot\Bundle\TransMaintain\Model\FilesMissedLine
      • \Aeliot\Bundle\TransMaintain\Model\FilesTransformedLine
      • \Aeliot\Bundle\TransMaintain\Model\InvalidValueLine
      • \Aeliot\Bundle\TransMaintain\Model\KeysDuplicatedLine
      • \Aeliot\Bundle\TransMaintain\Model\KeysMissedLine
      • \Aeliot\Bundle\TransMaintain\Model\KeysPatternLine
      • \Aeliot\Bundle\TransMaintain\Model\SameValueLine
    • Removed trait \Aeliot\Bundle\TransMaintain\Service\Yaml\Linter\GlueKeysTrait.
      Use class \Aeliot\Bundle\TransMaintain\Service\Yaml\KeysLinker instead of it.