Skip to content

4.0.0

Compare
Choose a tag to compare
@andrewlloyd100 andrewlloyd100 released this 23 Aug 13:33
  • TranslationManager now refactored out to its own dependency.
  • Now has a LocalizationWrappable protocol which defines the functions required from the TranslationManager
  • Now uses NStack API v2 which separates language resources into separate APIs and uses configuration apis to supply the client with the best language fit available to them and when the localisations should be updated with the API.
  • The handling of controlling, caching and returning translations is now handled by the TranslationManagerSDK instead of within NStack.
  • When in debug mode, you can shake the device which highlights any translations in the application. You can then submit a proposal to change the translation value on NStack or see other proposals previously submitted. This is all done with UI included within this SDK.
  • You can also remove this proposals from within the UI displayed.
  • Language override functionality to set a Locale to use instead of the selected language on the device. If this language is not available, the API will try to return the one available that is most suitable.
  • When setting the language override, it will now update all previously initialised translation objects and refresh their text with the newly selected languages translations.
  • New property wrapper to set localisations (label <=> skt.section.key)
  • To support the proposal mode and language override functionality, you must define the translation with the operator above or the localize() method. Setting the text straight on the object will not register the object as translatable for these functions to reference when required.
  • No longer has a dependency of Serpent, Cashier, and Alamofire
  • Features across NStack have now been refactored into separate managers
  • Translations returned by NStack are no longer optional, it will always return stored translations or those read from fallback json files. If these translations are not present, a fatal error crash will now be thrown.