at least 90% reviewed for the source file '/editions/free/src/localizations/en.json'
on the 'cy' language.
Manual sync of partially translated files: untranslated content is included with an empty translation or source language content depending on file format
at least 90% reviewed for the source file '/editions/free/src/localizations/en.json'
on the 'tr' language.
Manual sync of partially translated files: untranslated content is included with an empty translation or source language content depending on file format
at least 90% reviewed for the source file '/editions/free/src/localizations/en.json'
on the 'th' language.
Manual sync of partially translated files: untranslated content is included with an empty translation or source language content depending on file format
at least 90% reviewed for the source file '/editions/free/src/localizations/en.json'
on the 'es' language.
Manual sync of partially translated files: untranslated content is included with an empty translation or source language content depending on file format
at least 90% reviewed for the source file '/editions/free/src/localizations/en.json'
on the 'pt_BR' language.
Manual sync of partially translated files: untranslated content is included with an empty translation or source language content depending on file format
at least 90% reviewed for the source file '/editions/free/src/localizations/en.json'
on the 'pt' language.
Manual sync of partially translated files: untranslated content is included with an empty translation or source language content depending on file format
at least 90% reviewed for the source file '/editions/free/src/localizations/en.json'
on the 'pl' language.
Manual sync of partially translated files: untranslated content is included with an empty translation or source language content depending on file format
at least 90% reviewed for the source file '/editions/free/src/localizations/en.json'
on the 'no' language.
Manual sync of partially translated files: untranslated content is included with an empty translation or source language content depending on file format
at least 90% reviewed for the source file '/editions/free/src/localizations/en.json'
on the 'ja' language.
Manual sync of partially translated files: untranslated content is included with an empty translation or source language content depending on file format
at least 90% reviewed for the source file '/editions/free/src/localizations/en.json'
on the 'it' language.
Manual sync of partially translated files: untranslated content is included with an empty translation or source language content depending on file format
at least 90% reviewed for the source file '/editions/free/src/localizations/en.json'
on the 'el' language.
Manual sync of partially translated files: untranslated content is included with an empty translation or source language content depending on file format
at least 90% reviewed for the source file '/editions/free/src/localizations/en.json'
on the 'fr' language.
Manual sync of partially translated files: untranslated content is included with an empty translation or source language content depending on file format
at least 90% reviewed for the source file '/editions/free/src/localizations/en.json'
on the 'da' language.
Manual sync of partially translated files: untranslated content is included with an empty translation or source language content depending on file format
at least 90% reviewed for the source file '/editions/free/src/localizations/en.json'
on the 'zh_TW' language.
Manual sync of partially translated files: untranslated content is included with an empty translation or source language content depending on file format
at least 90% reviewed for the source file '/editions/free/src/localizations/en.json'
on the 'zh_CN' language.
Manual sync of partially translated files: untranslated content is included with an empty translation or source language content depending on file format
at least 90% reviewed for the source file '/editions/free/src/localizations/en.json'
on the 'ca' language.
Manual sync of partially translated files: untranslated content is included with an empty translation or source language content depending on file format
Refactor the native interface in preparation for switching iOS to use WKWebview.
* Finally rename the folder for device specific interfaces as `tablet` instead of `iPad`
* Update `import` statements to use the new name
* Create new `iOS.js` and `Android.js` based on previous `iPad/iOS.js` to separate the interfaces
* Add new `OS.js` class to manage the class variables, initialize the device interface delegate methods to the correct interface.
* refactor how `utils/lib` detects the current platform based on `navigtor.userAgent` based on https://stackoverflow.com/questions/37591279/detect-if-user-is-using-webview-for-android-ios-or-a-regular-browser. previous method relied on the Android interface being loaded or not. It can be difficult to detect the difference between in a browser and in a webview, but for now ScratchJr doesn’t need to worry about running in a browser
Trying to use the extension pattern this way gets an error when uploading the APK to Google Play, so just hard code the extension patters. This won’t work for PBS kids version.