Releases: faberNovel/ad_localize
Releases · faberNovel/ad_localize
v6.3.0
v6.1.0
Added
- new option (iOS only)
--auto-escape-percent
that escapes % character in wording. This option should be used if the wording is intended to be used withString(format:)
.
v6.0.0
Added
- Remove extra spaces before and after key/translation contents
- skip lines starting with a
#
character - new option
-l
or--locales
to export only a subset or locales - Separate csv parse responsibility between key parser and csv parser
- use Rubocop to detect coding style offenses (also in github workflow)
- print warning log when a value is replaced during merge
Changed
- strip translations
- parse csv in 2 steps : first analyze keys and keep them in a map, second add translations to keys
- do not store empty values during parse if
-x
option is active - handle duplicate keys while parsing csv instead of while exporting for a platform
- BREAKING CHANGE : the way to provide service account information is no longer to set GCLOUD_CLIENT_SECRET with the content of the service account configuration. Now you need to provide the path to the configuration using the environment variable GOOGLE_APPLICATION_CREDENTIALS
- we no longer access to spreadsheet cells using GSheet v4. Now we downloaded all the relevant sheets and then we parse file contents like normal csv files. We use the exponentiel retry feature provided by google with a maximum of 3 attempts more info here. We noticed we had download error for 6 or more sheets in a spreadsheet.
- locale wording stores separately each type of wording. This allows to export each wording type concurrently if you want to
- no more plaform interactor. It has been replaced with generated file interactors. We still have an ios interactor because there are multiple files to export.
- All templated serializers now share a common parent :
TemplatedSerializer
- Isolate the process to ensure a translation is correctly formatted for a platform in a new class type
sanitizers
. They can be tested separately.
Removed
- no more GSpreadsheetOptions. It is handled directly in request