Skip to content

Releases: Skillshare/formatphp

0.3.3

14 Jan 17:41
0.3.3
e7decc6
Compare
Choose a tag to compare

Added

  • Nothing.

Changed

  • Nothing.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • Normalize the locale file name before searching for it in MessageLoader, to account for differences in case, as well as filesystem case sensitivity (e.g. "en-XB" vs. "en_xb")

0.3.2

17 Dec 22:13
0.3.2
b61ad44
Compare
Choose a tag to compare

Added

  • Nothing.

Changed

  • Nothing.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • Check the contents of the file before parsing, to see if any of the formatting functions exist; if not, skip parsing the file

0.3.1

17 Dec 19:29
0.3.1
595c0f1
Compare
Choose a tag to compare

Added

  • Nothing.

Changed

  • Nothing.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • Fixed case where errors occurring during flattening would cause null to be passed to a method that does not accept null
  • Fixed case where "0" character caused a truthy check to fail, since 0 == false

0.3.0

16 Dec 20:37
0.3.0
faf5a70
Compare
Choose a tag to compare

Added

  • Add Crowdin as a format for writing and reading extracted messages
  • Add pseudo-locale console command to allow conversion of a locale to one of the supported pseudo-locales (en-XA, en-XB, xx-AC, xx-HA, and xx-LS).
  • Provide --flatten extraction option to tell the extractor to hoist selectors and flatten sentences as much as possible. For example, I have {count, plural, one{a dog} other{many dogs}} becomes {count, plural, one{I have a dog} other{I have many dogs}}. The goal is to provide as many full sentences as possible, since fragmented sentences are not translator-friendly.
  • Provide --validate-messages extraction option to print a list of validation failures and respond with a non-zero exit code on validation failures
  • Provide --add-missing-ids extraction option to update source code with auto-generated identifiers
  • Add Util\FormatHelper that provides getReader() and getWriter() methods
  • Introduce Format\Format final static class for format constants
  • Port @formatjs/icu-messageformat-parser to FormatPHP (FormatPHP\Icu\MessageFormat\Parser)

Changed

  • The Extractor\MessageExtractor constructor now requires Util\FormatHelper as a fifth parameter
  • Remove $config argument from Format\ReaderInterface
  • Remove $localeResolved argument from Format\ReaderInterface
  • Change type on $options argument in Format\WriterInterface from MessageExtractorOptions to a dedicated WriterOptions type
  • The MessageLoader constructor now accepts the following values for the $formatReader parameter:
    • Fully-qualified class name for a class that implements FormatPHP\Format\ReaderInterface
    • An already-instantiated instance object of FormatPHP\Format\ReaderInterface
    • A callable with the shape callable(mixed[]): FormatPHP\MessageCollection
    • The path to a script that returns a callable with this shape

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • Support rich text formatting in the same manner as FormatJS. Previously, we allowed HTML tags with attributes, etc., but this limits our ability to provide pseudo-locales and validation.

0.2.2

18 Nov 18:53
0.2.2
7da1518
Compare
Choose a tag to compare

Added

  • Nothing.

Changed

  • Nothing.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • Parse only string literals or concatenated string literals

0.2.1

17 Nov 18:24
0.2.1
9e03779
Compare
Choose a tag to compare

Added

  • Nothing.

Changed

  • Nothing.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • Do not throw exceptions when reading empty files

0.2.0

16 Nov 22:20
0.2.0
f8ab0b5
Compare
Choose a tag to compare

Added

  • Use a ParserErrorCollection instead of array to pass errors through to the parsers for appending errors
  • Provide --parser option to the extract command to allow custom parsers, in addition to the default php parser

Changed

  • Remove DescriptorParserInterface::parse()
  • Add DescriptorParserInterface::__invoke()

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • Nothing.

0.1.0

15 Nov 20:56
0.1.0
c89c21e
Compare
Choose a tag to compare

Added

  • Initial release of base functionality:
    • FormatPHP\FormatPHP::formatMessage() to format messages
    • Message extraction from application source code through formatphp extract console command
    • Message loading of locale messages in 3 formats: FormatPHP, Simple, and Smartling
    • FormatPHP\Intl\Locale and FormatPHP\Intl\MessageFormat for basic conformance with ECMA-402 and FormatJS

Changed

  • Nothing.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • Nothing.