Skip to content

Releases: SkyLundy/Fluency

Release v1.0.9

18 Jun 17:35
Compare
Choose a tag to compare

NOTE: If upgrading from 1.0.7 or earlier, you will be required to configure your selected translation engine again after upgrading. Existing content will not be affected.

  • Fix issue where upgrading from v1.0.7 or earlier to v1.0.8 would cause translation failure due to updating how the module stores configuration data. Credit to @jacmaes for finding and reporting. Resolves #5

Release v1.0.8

28 Mar 18:02
Compare
Choose a tag to compare

NOTE: You will be required to configure your selected translation engine again after upgrading.
Existing content will not be affected.

  • Added ability to disable translation on a per-field basis. Reference README.md for usage.
  • Added composer.json to list in the packagist.org directory. You can now install Fluency with composer require firewire/fluency
  • Updated the style of the text in the activity overlay, like "Translating" and "Refreshing" to
    look better where fields may be smaller.
  • Acitivity overlay animation texts are now randomized for each instance. Just aesthetics.
  • Fix issue where CKEditors in collapsed Repeater and RepeaterMatrix fields would fail to be
    initialized using Fluency when loaded via AJAX after expanding the repeater item. Credit to
    @saintsfield for finding and reporting
  • Fix issue where translating a field when there are both languages that are and are not
    translatable/configured in Fluency are present would fail. Now indicates per-language
    unavailability depending if configured in Fluency or not. Credit to @ryangorley for finding and
    reporting
  • Made the donate button on the config page smaller
  • Fix error caused by Fluency attempting to get the translation action from the module config before
    it was available
  • Uninstalling the module now deletes the Fluency admin page
  • Fluency config values are now stored as JSON rather than serialized objects which in some
    instances was causing issues on some servers with ModSecurity and false positives. Credit to @update-switzerland for finding and reporting.
  • Add fromJson method to FluencyDTO parent class to better handle Data Transfer Object instantiation
    where data may come from storage as JSON
  • Translation cache is now enabled by default as described in the README.md file

Release v1.0.7

25 Jan 19:55
Compare
Choose a tag to compare
  • Add ability to have both 'Translate From Default Language' and 'Translate To All Languages' buttons added to inputfields. Credit to @ryangorley for the feature suggestion
  • Add ability to translate any file used by ProcessWire directly where the __() string translation method is used from the filesystem in any directory. See Fluency::translateProcessWireFiles() method for documentation and usage
  • Translation results can now be casted to a string. Casting EngineTranslationData objects to string now outputs the first item in the translations property array which is useful when translating individual strings. Credit to @BernhardBaumrock for the feature suggestion
  • Add source/target language swapping and clear field contents buttons to the standalone translator, translated content field is now readonly, various improvements
  • Add cache clearing on module delete, because it's polite.
  • Fix issue where when creating a page, translating page titles would not populate the URLs of other languages. Credit to @ryangorley for finding and reporting
  • Fix improper return value for Fluency::translate() method when pre-translation error occurs
  • Add methods to AllConfiguredLanguageData object where filtering and finding ConfiguredLanguageData objects is improved
  • Remove 'Click To Translate All' button on the 'Find Files To Translate' page where it did nothing
  • Add Fluency::clearAllCaches() method and matching Fluency API endpoint
  • Improve documentation
  • Moved PHP array value type checking to importable functions
  • Fluency now makes recommendations for actions where necessary when upgrading
  • Improve messaging when Fluency experiences issues during module configuration. Credit to @BernhardBaumrock for recommending
  • Fix issue where 'Translate to all languages' button would also translate the default content which would unnecessarily increase API usage (sorry)
  • Add TranslationCache::getAllCachedTranslations() method to... do what the method name says
  • Add TranslationCache::deleteByCacheKey() method to... also do what the method name says
  • Clean up namespace registration in Fluency.module.php
  • Remove unused class imports
  • Remove legacy JavaScripts
  • Fix UI issue where translate buttons for page name fields were next to the inputs rather than under them
  • Fix issue where translations may include encoded HTML entities. Bug caused by translating links in content. Credit to @BernhardBaumrock for finding/reporting
  • Fix issue with handling entities via mbstring now errors in PHP 8.2 causing translations with ProcessWire page links to fail, credit to @BernhardBaumrock for finding and reporting.
  • Fix issue where FluencyErrors::FLUENCY_UNKNOWN_TARGET showed a message indicating that the source language was the issue. Credit to @BernhardBaumrock for finding and reporting

Release v1.0.6

26 Dec 22:35
Compare
Choose a tag to compare

Bugfix, Internal Updates, Recommended for all users

  • Move initializations to init() method so that Fluency can be used prior to ready() which to
    allow functionality to be extended beyond the page context. Allows Fluency to be accessed and
    used by other modules.
  • Removed call to previously removed method in module

Release v1.0.5

22 Dec 18:24
Compare
Choose a tag to compare

Critical update, Bugfix upgrade recommended for all users.

  • Fix return type error when Fluency attempts to get configured languages in some instances credit
    to @jacmaes for finding and reporting. Resolves issue 3.
  • Fix bug where rendering language links appended an extra divider after list if a divider was
    passed to the method

Full Changelog: v1.0.4...v1.0.5

Release v1.0.4

19 Dec 20:21
Compare
Choose a tag to compare
  • Added TOC to README
  • Reorganized/clarified text of README for easier reading
  • Fixed speling mistakes in README
  • Expanded README to include Contributing section
  • Expanded README to include documentation for translating multiple strings in one call
  • Expanded README to include documentation for DTO methods and helpers
  • FluencyMarkup now accepts null for $classes parameter
  • FluencyMarkup now removes empty HTML attributes on render
  • The module method renderLanguageLinks now adds active class to <li> element containing the current page language rather than the <a> element contained within it.
  • When when a divider value is passed to renderLanguageLinks, the <li> element is given a divider class
  • Added missing parameter description to docblock for renderLanguageLink

Release v1.0.3

19 Dec 04:41
Compare
Choose a tag to compare
  • Can now get number of engine translatable languages by passing the EngineTranslatableLangauages
    instance to count()
  • Update README to include information about site & core translation files
  • Update README to include additional detaila about caching
  • Update README to include additional details and examples on module methods
  • Spelling errors in docblocks fixed
  • Add additional work to Translation Engine DEVDOC (WIP)

Release v1.0.2

17 Dec 20:34
Compare
Choose a tag to compare
  • Added single-click translation for ProcessWire core translation pages. Any module or file using
    __() can be translated with one click.
  • Expanded README to include documentation on using the markup output features for front end HTML
  • Expanded README to include additional details on interacting with Fluency programmatically
  • Expanded README to include additional information on caching, performance, and usage
  • Fixed issue where separators in language link list markup were not rendering correctly

Release v1.0.1

12 Dec 18:52
Compare
Choose a tag to compare

Minor changes

  • Updated README.md with current module information
  • Fix spelling errors in Fluency module docblock
  • Remove JS debug logging from development

Release v1.0.0

11 Dec 17:46
Compare
Choose a tag to compare
  • Added the ability to enable a "Translate to all languages" button for Inputfields. This enables cross-language translation to all languages with one click. The old style of per-field buttons is still available. The option can be chosen on the Fluency module config page.
  • Links to ProcessWire pages in translated content are changed to pages in that language
  • Add AllConfiguredLanguagesData Data Transfer Object, see Potential Breaking Changes
  • Empty fields cannot be translated. This fixes an issue where translating an empty field may lead to data loss in other fields where an empty translation would overwrite content that is already present.
  • Fix issue where translation buttons inside InputfieldTable and FieldsetPage did not work, or worked inconsistently. Credit to @romaincazier for finding/reporting.

Release contains potential breaking changes for applications that use the module programmatically.

Additional notes available in CHANGELOG.md

Full Changelog: v0.9.1b...v1.0