Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
130 changes: 0 additions & 130 deletions .phrase.yml

This file was deleted.

2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,11 @@ All notable changes to this project will be documented in this file.

## UNRELEASED
### Added
* ui/ui-toolkit: i18n using the Lokalise
### Changed
* ui: The `ProductResolver.Builder` now requires a project as constructor param, since the default value has been removed
### Removed
* ui: Remove phrase for i18n
### Fixed
* core: Handle `SQLiteDatabaseLockedException` to fix app crash when updating the database
* ui: Avoid npe caused by `isEmpty()` check on a null shopping cart
Expand Down
1 change: 1 addition & 0 deletions kotlin-sample/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ android {
versionCode = 1
versionName = "1.0"

resourceConfigurations.addAll(listOf("de", "en"))
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}

Expand Down
64 changes: 32 additions & 32 deletions kotlin-sample/src/main/res/values-de/strings.xml
Original file line number Diff line number Diff line change
@@ -1,35 +1,35 @@
<?xml version="1.0" encoding="UTF-8"?>
<resources>
<string name="Dashboard.text">Besuche eine unterstütze Filiale, um mit Snabble einzukaufen!</string>
<string name="Dashboard.title">Willkommen bei Snabble</string>
<string name="home">Start</string>
<string name="Onboarding.accept">Akzeptieren</string>
<string name="Onboarding.message1">Mit Snabble scannst du deinen Einkauf selbst und bezahlt direkt in der App. Ohne in der Schlange zu stehen und ohne deinen Einkauf auf’s Band zu legen.</string>
<string name="Onboarding.message2">Betrete eine teilnehmende Filiale, starte den Einkauf und halte den Barcode eines Artikels vor die Kamera. Der Rest erklärt sich von selbst.</string>
<string name="Onboarding.message3">Bitte akzeptiere die Nutzungsbedingungen und lies die Datenschutzhinweise.</string>
<string name="profile">Profil</string>
<string name="Profile.customerCard">Kundenkarte</string>
<string name="Profile.deleteAccount">Account löschen</string>
<string name="Profile.developerMode">Entwickler-Einstellungen</string>
<string name="Profile.environment">Umgebung</string>
<string name="Profile.Environment.production">Production</string>
<string name="Profile.Environment.staging">Staging</string>
<string name="Profile.Environment.testing">Testing</string>
<string name="Profile.header">Dein Profil</string>
<string name="Profile.imprint">Impressum</string>
<string name="Profile.lastPurchases">Vorherige Einkäufe</string>
<string name="Profile.legalNotes">Rechtliche Hinweise</string>
<string name="Profile.licences">Lizenzen</string>
<string name="Profile.paymentMethods">Zahlungsmethoden</string>
<string name="Profile.privacy">Datenschutzerklärung</string>
<string name="Profile.pushMessages">Push-Benachrichtigungen</string>
<string name="Profile.resetAppID">AppID zurücksetzen</string>
<string name="Profile.resetClientID">Client ID zurücksetzen</string>
<string name="Profile.saveEnergy">Strom sparen</string>
<string name="Profile.settings">Einstellungen</string>
<string name="Profile.showOnboarding">Zeige Onboarding</string>
<string name="Profile.terms">Nutzungsbedingungen</string>
<string name="scanner">Scanner</string>
<string name="shoppingCart">Warenkorb</string>
<string name="shops">Filialen</string>
<string name="Dashboard.text">Besuche eine unterstütze Filiale, um mit Snabble einzukaufen!</string>
<string name="Dashboard.title">Willkommen bei Snabble</string>
<string name="Onboarding.accept">Akzeptieren</string>
<string name="Onboarding.message1">Mit Snabble scannst du deinen Einkauf selbst und bezahlt direkt in der App. Ohne in der Schlange zu stehen und ohne deinen Einkauf auf’s Band zu legen.</string>
<string name="Onboarding.message2">Betrete eine teilnehmende Filiale, starte den Einkauf und halte den Barcode eines Artikels vor die Kamera. Der Rest erklärt sich von selbst.</string>
<string name="Onboarding.message3">Bitte akzeptiere die Nutzungsbedingungen und lies die Datenschutzhinweise.</string>
<string name="Profile.Environment.production">Produktion</string>
<string name="Profile.Environment.staging">Staging</string>
<string name="Profile.Environment.testing">Testing</string>
<string name="Profile.customerCard">Kundenkarte</string>
<string name="Profile.deleteAccount">Account löschen</string>
<string name="Profile.developerMode">Entwickler-Einstellungen</string>
<string name="Profile.environment">Umgebung</string>
<string name="Profile.header">Dein Profil</string>
<string name="Profile.imprint">Impressum</string>
<string name="Profile.lastPurchases">Vorherige Einkäufe</string>
<string name="Profile.legalNotes">Rechtliche Hinweise</string>
<string name="Profile.licences">Lizenzen</string>
<string name="Profile.paymentMethods">Zahlungsmethoden</string>
<string name="Profile.privacy">Datenschutzerklärung</string>
<string name="Profile.pushMessages">Push-Benachrichtigungen</string>
<string name="Profile.resetAppID">AppID zurücksetzen</string>
<string name="Profile.resetClientID">Client ID zurücksetzen</string>
<string name="Profile.saveEnergy">Strom sparen</string>
<string name="Profile.settings">Einstellungen</string>
<string name="Profile.showOnboarding">Zeige Onboarding</string>
<string name="Profile.terms">Nutzungsbedingungen</string>
<string name="home">Start</string>
<string name="profile">Profil</string>
<string name="scanner">Scanner</string>
<string name="shoppingCart">Warenkorb</string>
<string name="shops">Filialen</string>
</resources>
64 changes: 32 additions & 32 deletions kotlin-sample/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
@@ -1,35 +1,35 @@
<?xml version="1.0" encoding="UTF-8"?>
<resources>
<string name="Dashboard.text">Visit a supported store to shop with Snabble!</string>
<string name="Dashboard.title">Welcome to Snabble</string>
<string name="home">Start</string>
<string name="Onboarding.accept">Agree</string>
<string name="Onboarding.message1">Using Snabble, you scan your purchase yourself and pay directly in the app. No queueing and without putting your purchase on the belt.</string>
<string name="Onboarding.message2">Enter a participating store, start shopping and hold the barcode of an article in front of the camera. The rest is self-explanatory.</string>
<string name="Onboarding.message3">Please accept the terms of use and take note of the privacy policy.</string>
<string name="profile">Profile</string>
<string name="Profile.customerCard">Customer Card</string>
<string name="Profile.deleteAccount">Delete Account</string>
<string name="Profile.developerMode">Developer Settings</string>
<string name="Profile.environment">"Environment "</string>
<string name="Profile.Environment.production">Production</string>
<string name="Profile.Environment.staging">Staging</string>
<string name="Profile.Environment.testing">Testing</string>
<string name="Profile.header">Your Profile</string>
<string name="Profile.imprint">Imprint</string>
<string name="Profile.lastPurchases">Last Purchases</string>
<string name="Profile.legalNotes">Legal Notes</string>
<string name="Profile.licences">Licences</string>
<string name="Profile.paymentMethods">Payment Methods</string>
<string name="Profile.privacy">Privacy Policy</string>
<string name="Profile.pushMessages">Push Messages</string>
<string name="Profile.resetAppID">Reset AppID</string>
<string name="Profile.resetClientID">Reset Client ID</string>
<string name="Profile.saveEnergy">Save energy</string>
<string name="Profile.settings">Settings</string>
<string name="Profile.showOnboarding">Show Onboarding</string>
<string name="Profile.terms">Terms</string>
<string name="scanner">Scanner</string>
<string name="shoppingCart">Shopping Cart</string>
<string name="shops">Shops</string>
<string name="Dashboard.text">Visit a supported store to shop with Snabble!</string>
<string name="Dashboard.title">Welcome to Snabble</string>
<string name="Onboarding.accept">Agree</string>
<string name="Onboarding.message1">Using Snabble, you scan your purchase yourself and pay directly in the app. Without standing in line and without putting your purchase on the conveyor belt.</string>
<string name="Onboarding.message2">Enter a participating store, start shopping and hold the barcode of an article in front of the camera. The rest is self-explanatory.</string>
<string name="Onboarding.message3">Please accept the terms of use and take note of the privacy policy.</string>
<string name="Profile.Environment.production">Production</string>
<string name="Profile.Environment.staging">Staging</string>
<string name="Profile.Environment.testing">Testing</string>
<string name="Profile.customerCard">Customer Card</string>
<string name="Profile.deleteAccount">Delete Account</string>
<string name="Profile.developerMode">Developer Settings</string>
<string name="Profile.environment">Environment</string>
<string name="Profile.header">Your Profile</string>
<string name="Profile.imprint">Imprint</string>
<string name="Profile.lastPurchases">Last Purchases</string>
<string name="Profile.legalNotes">Legal Notes</string>
<string name="Profile.licences">Licenses</string>
<string name="Profile.paymentMethods">Payment Methods</string>
<string name="Profile.privacy">Privacy Policy</string>
<string name="Profile.pushMessages">Push Messages</string>
<string name="Profile.resetAppID">Reset AppID</string>
<string name="Profile.resetClientID">Reset Client ID</string>
<string name="Profile.saveEnergy">Save energy</string>
<string name="Profile.settings">Settings</string>
<string name="Profile.showOnboarding">Show Onboarding</string>
<string name="Profile.terms">Terms</string>
<string name="home">Start</string>
<string name="profile">Profile</string>
<string name="scanner">Scanner</string>
<string name="shoppingCart">Shopping Cart</string>
<string name="shops">Shops</string>
</resources>
26 changes: 26 additions & 0 deletions lokalise.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
#!/usr/bin/env zsh
#
# Lokalise CLI v2 can be found here: https://github.com/lokalise/lokalise-cli-2-go
#
# Setting the environment variable LOKALISE_ACCESS_TOKEN is necessary to execute this script.

function lokalise {
lokalise2 \
--token $LOKALISE_ACCESS_TOKEN \
--project-id $1 \
file download \
--format xml \
--unzip-to $2 \
--export-empty-as skip \
--include-description=false \
$@
}

# ui
lokalise 3931709465f04f20a1bc18.55914019 ui/src/main/res --exclude-tags Onboarding,Shop,Scanner

# ui-toolkit
lokalise 3931709465f04f20a1bc18.55914019 ui-toolkit/src/main/res --include-tags Onboarding,Shop,Scanner

# sample app
lokalise 8964099365f434ac71f546.06213099 kotlin-sample/src/main/res
Loading