shopify_app 9.0.0 → 12.0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +0 -2
- data/CHANGELOG.md +145 -0
- data/README.md +180 -126
- data/app/assets/javascripts/shopify_app/itp_helper.js +6 -6
- data/app/assets/javascripts/shopify_app/storage_access.js +36 -7
- data/app/controllers/concerns/shopify_app/authenticated.rb +1 -1
- data/app/controllers/shopify_app/callback_controller.rb +14 -5
- data/app/controllers/shopify_app/extension_verification_controller.rb +20 -0
- data/app/controllers/shopify_app/sessions_controller.rb +44 -18
- data/app/views/shopify_app/sessions/enable_cookies.html.erb +3 -1
- data/app/views/shopify_app/sessions/request_storage_access.html.erb +2 -1
- data/app/views/shopify_app/sessions/top_level_interaction.html.erb +1 -0
- data/app/views/shopify_app/shared/redirect.html.erb +1 -0
- data/config/locales/cs.yml +23 -0
- data/config/locales/da.yml +20 -0
- data/config/locales/de.yml +5 -5
- data/config/locales/en.yml +1 -1
- data/config/locales/es.yml +3 -3
- data/config/locales/fi.yml +20 -0
- data/config/locales/fr.yml +3 -3
- data/config/locales/hi.yml +23 -0
- data/config/locales/it.yml +2 -3
- data/config/locales/ja.yml +1 -1
- data/config/locales/ko.yml +19 -0
- data/config/locales/ms.yml +22 -0
- data/config/locales/nb.yml +21 -0
- data/config/locales/nl.yml +3 -3
- data/config/locales/pl.yml +21 -0
- data/config/locales/pt-BR.yml +9 -10
- data/config/locales/pt-PT.yml +22 -0
- data/config/locales/sv.yml +21 -0
- data/config/locales/th.yml +20 -0
- data/config/locales/tr.yml +22 -0
- data/config/locales/zh-CN.yml +3 -3
- data/config/locales/zh-TW.yml +1 -2
- data/docs/Quickstart.md +44 -16
- data/docs/Releasing.md +0 -1
- data/docs/install-on-dev-shop.png +0 -0
- data/docs/test-your-app.png +0 -0
- data/karma.conf.js +1 -0
- data/lib/generators/shopify_app/add_after_authenticate_job/add_after_authenticate_job_generator.rb +2 -2
- data/lib/generators/shopify_app/add_marketing_activity_extension/add_marketing_activity_extension_generator.rb +39 -0
- data/lib/generators/shopify_app/add_marketing_activity_extension/templates/marketing_activities_controller.rb +62 -0
- data/lib/generators/shopify_app/home_controller/home_controller_generator.rb +0 -6
- data/lib/generators/shopify_app/install/install_generator.rb +27 -11
- data/lib/generators/shopify_app/install/templates/_flash_messages.html.erb +1 -17
- data/lib/generators/shopify_app/install/templates/embedded_app.html.erb +11 -10
- data/lib/generators/shopify_app/install/templates/flash_messages.js +26 -0
- data/lib/generators/shopify_app/install/templates/shopify_app.js +15 -0
- data/lib/generators/shopify_app/install/templates/shopify_app.rb +6 -3
- data/lib/generators/shopify_app/install/templates/shopify_app_index.js +2 -0
- data/lib/generators/shopify_app/install/templates/shopify_provider.rb +1 -0
- data/lib/generators/shopify_app/install/templates/user_agent.rb +5 -0
- data/lib/generators/shopify_app/user_model/templates/db/migrate/create_users.erb +16 -0
- data/lib/generators/shopify_app/user_model/templates/user.rb +7 -0
- data/lib/generators/shopify_app/user_model/templates/users.yml +4 -0
- data/lib/generators/shopify_app/user_model/user_model_generator.rb +38 -0
- data/lib/shopify_app.rb +46 -29
- data/lib/shopify_app/configuration.rb +24 -9
- data/lib/shopify_app/controller_concerns/login_protection.rb +53 -7
- data/lib/shopify_app/engine.rb +4 -0
- data/lib/shopify_app/managers/webhooks_manager.rb +1 -1
- data/lib/shopify_app/middleware/same_site_cookie_middleware.rb +33 -0
- data/lib/shopify_app/session/in_memory_session_store.rb +1 -1
- data/lib/shopify_app/session/session_repository.rb +2 -2
- data/lib/shopify_app/session/session_storage.rb +10 -22
- data/lib/shopify_app/session/storage_strategies/shop_storage_strategy.rb +23 -0
- data/lib/shopify_app/session/storage_strategies/user_storage_strategy.rb +24 -0
- data/lib/shopify_app/utils.rb +7 -0
- data/lib/shopify_app/version.rb +1 -1
- data/package-lock.json +7212 -11
- data/package.json +9 -9
- data/service.yml +1 -1
- data/shopify_app.gemspec +10 -5
- data/translation.yml +1 -1
- data/yarn.lock +2555 -1886
- metadata +115 -19
- data/lib/generators/shopify_app/home_controller/templates/shopify_app_ready_script.html.erb +0 -7
data/config/locales/es.yml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
es:
|
3
3
|
logged_out: Cerrar sesión
|
4
|
-
could_not_log_in: No se pudo iniciar sesión en tu tienda
|
4
|
+
could_not_log_in: No se pudo iniciar sesión en tu tienda Shopify
|
5
5
|
invalid_shop_url: Dominio de tienda inválido
|
6
6
|
enable_cookies_heading: Habilitar cookies de %{app}
|
7
7
|
enable_cookies_body: Debes habilitar manualmente las cookies en este navegador para
|
@@ -11,8 +11,8 @@ es:
|
|
11
11
|
de 30 días.
|
12
12
|
enable_cookies_action: Habilitar cookies
|
13
13
|
top_level_interaction_heading: Tu navegador necesita autenticar %{app}
|
14
|
-
top_level_interaction_body: Tu navegador requiere aplicaciones
|
15
|
-
|
14
|
+
top_level_interaction_body: Tu navegador requiere aplicaciones como %{app} para
|
15
|
+
solicitarte acceso a cookies antes de que Shopify pueda abrirlo por ti.
|
16
16
|
top_level_interaction_action: Continuar
|
17
17
|
request_storage_access_heading: "%{app} necesita acceso a las cookies"
|
18
18
|
request_storage_access_body: Esto permite que la aplicación te autentique almacenando
|
@@ -0,0 +1,20 @@
|
|
1
|
+
---
|
2
|
+
fi:
|
3
|
+
logged_out: Olet kirjautunut ulos
|
4
|
+
could_not_log_in: Kirjautuminen Shopify-kauppaan ei onnistunut
|
5
|
+
invalid_shop_url: Virheellinen kaupan verkkotunnus
|
6
|
+
enable_cookies_heading: Ota käyttöön sovelluksen %{app} evästeet
|
7
|
+
enable_cookies_body: Sinun on otettava evästeet käyttöön manuaalisesti tässä selaimessa,
|
8
|
+
jotta voit käyttää sovellusta %{app} Shopifyssa.
|
9
|
+
enable_cookies_footer: Evästeiden avulla sovellus voi todentaa sinut tallentamalla
|
10
|
+
asetuksesi ja henkilötietosi tilapäisesti. Ne vanhenevat 30 päivän kuluttua.
|
11
|
+
enable_cookies_action: Ota evästeet käyttöön
|
12
|
+
top_level_interaction_heading: Selaimesi täytyy todentaa %{app}
|
13
|
+
top_level_interaction_body: Selaimesi vaatii sovelluksia, kuten %{app}, pyytämään
|
14
|
+
sinulta luvan evästeiden käyttöön, ennen kuin Shopify voi avata sovelluksen.
|
15
|
+
top_level_interaction_action: Jatka
|
16
|
+
request_storage_access_heading: "%{app} edellyttää evästeiden käyttöä"
|
17
|
+
request_storage_access_body: Näin sovellus voi todentaa sinut tallentamalla henkilötietosi
|
18
|
+
tilapäisesti. Napsauta Jatka ja salli evästeet sovelluksen käyttämiseksi.
|
19
|
+
request_storage_access_footer: Evästeet vanhenevat 30 päivän kuluttua.
|
20
|
+
request_storage_access_action: Jatka
|
data/config/locales/fr.yml
CHANGED
@@ -11,9 +11,9 @@ fr:
|
|
11
11
|
expirent après 30 jours.
|
12
12
|
enable_cookies_action: Activer les cookies
|
13
13
|
top_level_interaction_heading: Votre navigateur doit s'authentifier %{app}
|
14
|
-
top_level_interaction_body: Votre navigateur nécessite des applications
|
15
|
-
|
16
|
-
|
14
|
+
top_level_interaction_body: Votre navigateur nécessite des applications telles que
|
15
|
+
%{app} pour vous demander l'accès aux cookies avant que Shopify ne puisse l'ouvrir
|
16
|
+
pour vous.
|
17
17
|
top_level_interaction_action: Continuer
|
18
18
|
request_storage_access_heading: "%{app} a besoin d'accéder aux cookies"
|
19
19
|
request_storage_access_body: Cela permet à l'application de vous authentifier en
|
@@ -0,0 +1,23 @@
|
|
1
|
+
---
|
2
|
+
hi:
|
3
|
+
logged_out: सफलतापूर्वक लॉग आउट कर दिया
|
4
|
+
could_not_log_in: Shopify स्टोर में लॉग इन नहीं किया जा सका
|
5
|
+
invalid_shop_url: अमान्य शॉप डोमेन
|
6
|
+
enable_cookies_heading: "%{app} के कुकीज़ सक्षम करें"
|
7
|
+
enable_cookies_body: आपको %{app} का उपयोग Shopify में करने के लिए इस ब्राउज़र में
|
8
|
+
कुकीज़ मैन्युअल रूप से सक्षम करने चाहिए.
|
9
|
+
enable_cookies_footer: कुकीज़ अस्थायी रूप से आपकी वरीयताएं और व्यक्तिगत जानकारी स्टोर
|
10
|
+
कर ऐप को आपको प्रमाणित करने देते हैं. इनकी समय-सीमा 30 दिनों बाद समाप्त हो जाती
|
11
|
+
है.
|
12
|
+
enable_cookies_action: कुकीज़ को सक्षम करें
|
13
|
+
top_level_interaction_heading: आपके ब्राउज़र को %{app} प्रमाणित करने की आवश्यकता
|
14
|
+
है
|
15
|
+
top_level_interaction_body: आपके ब्राउज़र को %{app} जैसे ऐप की ज़रूरत होती है, जो
|
16
|
+
Shopify द्वारा आपके लिए उसे खोलने से पहले कुकीज़ पर पहुंचने करने की अनुमति मांगे.
|
17
|
+
top_level_interaction_action: जारी रखें
|
18
|
+
request_storage_access_heading: "%{app} को कुकीज़ पर पहुंच करने की आवश्यकता है"
|
19
|
+
request_storage_access_body: यह आपकी व्यक्तिगत जानकारी अस्थायी रूप से स्टोर कर ऐप
|
20
|
+
को आपको प्रमाणित करने देता है. जारी रखें पर क्लिक करें और कुकीज़ को ऐप उपयोग करने
|
21
|
+
की अनुमति दें.
|
22
|
+
request_storage_access_footer: कुकीज़ की समय-सीमा 30 दिनों बाद समाप्त हो जाती है.
|
23
|
+
request_storage_access_action: जारी रखें
|
data/config/locales/it.yml
CHANGED
@@ -10,9 +10,8 @@ it:
|
|
10
10
|
temporaneamente le tue preferenze e informazioni personali. Scadono dopo 30 giorni.
|
11
11
|
enable_cookies_action: Abilita i cookie
|
12
12
|
top_level_interaction_heading: Il tuo browser deve autenticare %{app}
|
13
|
-
top_level_interaction_body: Il tuo browser richiede che app
|
14
|
-
|
15
|
-
di Shopify.
|
13
|
+
top_level_interaction_body: Il tuo browser richiede che app come %{app} ti chiedano
|
14
|
+
l'accesso ai cookie prima dell'apertura automatica da parte di Shopify.
|
16
15
|
top_level_interaction_action: Continua
|
17
16
|
request_storage_access_heading: "%{app} deve accedere ai cookie"
|
18
17
|
request_storage_access_body: L'app potrà così autenticarti memorizzando temporaneamente
|
data/config/locales/ja.yml
CHANGED
@@ -8,7 +8,7 @@ ja:
|
|
8
8
|
enable_cookies_footer: Cookieを使用すると、各種設定や個人情報を一時的に保存することで、アプリ認証を受けることができます。30日後に有効期限が切れます。
|
9
9
|
enable_cookies_action: Cookieを有効にする
|
10
10
|
top_level_interaction_heading: お使いのブラウザを更新する必要があります%{app}
|
11
|
-
top_level_interaction_body: Shopifyがアプリを開けるように、ブラウザーはCookie
|
11
|
+
top_level_interaction_body: Shopifyがアプリを開けるように、ブラウザーはCookieにアクセスするための%{app}のようなアプリが必要です。
|
12
12
|
top_level_interaction_action: 続ける
|
13
13
|
request_storage_access_heading: "%{app}クッキーにアクセスする必要がある"
|
14
14
|
request_storage_access_body: Cookieを使用すると、個人情報を一時的に保存することで、アプリ認証を受けることができます。[続行]
|
@@ -0,0 +1,19 @@
|
|
1
|
+
---
|
2
|
+
ko:
|
3
|
+
logged_out: 성공적으로 로그아웃 되었습니다.
|
4
|
+
could_not_log_in: Shopify 스토어에 로그인할 수 없습니다.
|
5
|
+
invalid_shop_url: 유효하지 않은 상점 도메인
|
6
|
+
enable_cookies_heading: "%{app}에서 쿠키를 사용 가능"
|
7
|
+
enable_cookies_body: Shopify 내에서 %{app} 을 사용하기 위해 이 브라우저에서 쿠키를 수동으로 사용할 수 있습니다.
|
8
|
+
enable_cookies_footer: 쿠키를 사용하면 개인의 선호나 정보를 임시로 저장하여 앱에서 사용자를 인증할 수 있습니다. 쿠키는 30일
|
9
|
+
후에 만료됩니다.
|
10
|
+
enable_cookies_action: 쿠리 사용 가능
|
11
|
+
top_level_interaction_heading: 브라우저에서 %{app} 을 인증해야 합니다.
|
12
|
+
top_level_interaction_body: Shopify를 열기 전 쿠키에 엑세스하려면 %{app} 과 같은 앱 들이 브라우저에 설치되어야
|
13
|
+
합니다.
|
14
|
+
top_level_interaction_action: 계속
|
15
|
+
request_storage_access_heading: "%{app}에서 쿠키에 접근해야 합니다."
|
16
|
+
request_storage_access_body: 이를 통해 개인 정보를 임시로 저장하여 앱에서 사용자를 인증할 수 있습니다. 계속 클릭하여
|
17
|
+
쿠키로 앱을 사용하세요.
|
18
|
+
request_storage_access_footer: 쿠키는 30일 후에 만료됩니다.
|
19
|
+
request_storage_access_action: 계속
|
@@ -0,0 +1,22 @@
|
|
1
|
+
---
|
2
|
+
ms:
|
3
|
+
logged_out: Berjaya log keluar
|
4
|
+
could_not_log_in: Tidak dapat log masuk ke kedai Shopify
|
5
|
+
invalid_shop_url: Domain kedai tidak sah
|
6
|
+
enable_cookies_heading: Dayakan kuki dari %{app}
|
7
|
+
enable_cookies_body: Anda mesti mengaktifkan kuki secara manual dalam pelayar ini
|
8
|
+
untuk %{app} digunakan dalam Shopify.
|
9
|
+
enable_cookies_footer: Kuki membenarkan aplikasi mengesahkan anda dengan menyimpan
|
10
|
+
keutamaan dan maklumat peribadi anda buat sementara waktu. Ia tamat tempoh selepas
|
11
|
+
30 hari.
|
12
|
+
enable_cookies_action: Dayakan kuki
|
13
|
+
top_level_interaction_heading: Pelayar anda perlu mengesahkan %{app}
|
14
|
+
top_level_interaction_body: Pelayar anda memerlukan aplikasi seperti %{app} untuk
|
15
|
+
meminta anda akses kepada kuki sebelum Shopify boleh membukanya untuk anda.
|
16
|
+
top_level_interaction_action: Teruskan
|
17
|
+
request_storage_access_heading: "%{app} memerlukan akses kepada kuki"
|
18
|
+
request_storage_access_body: Ini membolehkan aplikasi mengesahkan anda dengan menyimpan
|
19
|
+
maklumat peribadi anda buat sementara waktu. Klik teruskan dan benarkan kuki untuk
|
20
|
+
menggunakan aplikasi.
|
21
|
+
request_storage_access_footer: Kuki akan tamat tempoh selepas 30 hari.
|
22
|
+
request_storage_access_action: Teruskan
|
@@ -0,0 +1,21 @@
|
|
1
|
+
---
|
2
|
+
nb:
|
3
|
+
logged_out: Logget ut
|
4
|
+
could_not_log_in: Kunne ikke logge på Shopify-butikken
|
5
|
+
invalid_shop_url: Ugyldig butikkdomene
|
6
|
+
enable_cookies_heading: Aktiver informasjonskapsler fra %{app}
|
7
|
+
enable_cookies_body: Du kan manuelt aktivere informasjonskapsler i denne nettleseren
|
8
|
+
for å kunne bruke %{app} i Shopify.
|
9
|
+
enable_cookies_footer: Informasjonskapsler lar appen autentisere deg ved å midlertidig
|
10
|
+
lagre innstillingene og personopplysningene dine. De går ut etter 30 dager.
|
11
|
+
enable_cookies_action: Aktiver informasjonskapsler
|
12
|
+
top_level_interaction_heading: Nettleseren din må autentisere %{app}
|
13
|
+
top_level_interaction_body: Nettleseren din krever apper som %{app} for å spørre
|
14
|
+
deg om tilgang til informasjonskapsler før Shopify kan åpne den for deg.
|
15
|
+
top_level_interaction_action: Fortsett
|
16
|
+
request_storage_access_heading: "%{app} må ha tilgang til informasjonskapsler"
|
17
|
+
request_storage_access_body: Informasjonskapsler lar appen autentisere deg ved å
|
18
|
+
midlertidig lagre personopplysningene dine. Klikk på Fortsett og gi informasjonskapsler
|
19
|
+
tillatelse til å bruke appen.
|
20
|
+
request_storage_access_footer: Informasjonskapslene går ut etter 30 dager.
|
21
|
+
request_storage_access_action: Fortsett
|
data/config/locales/nl.yml
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
---
|
2
2
|
nl:
|
3
|
-
logged_out:
|
3
|
+
logged_out: u bent afgemeld
|
4
4
|
could_not_log_in: Kon niet aanmelden bij Shopify-winkel
|
5
5
|
invalid_shop_url: Ongeldig winkeldomein
|
6
6
|
enable_cookies_heading: Schakel cookies in van %{app}
|
@@ -10,8 +10,8 @@ nl:
|
|
10
10
|
persoonlijke informatie tijdelijk op te slaan. Ze vervallen na 30 dagen.
|
11
11
|
enable_cookies_action: Schakel cookies in
|
12
12
|
top_level_interaction_heading: Uw browser moet %{app} verifiëren
|
13
|
-
top_level_interaction_body: Uw browser heeft apps
|
14
|
-
|
13
|
+
top_level_interaction_body: Uw browser heeft apps nodig zoals %{app} om u toegang
|
14
|
+
te vragen tot cookies voordat Shopify het voor u kan openen.
|
15
15
|
top_level_interaction_action: Doorgaan
|
16
16
|
request_storage_access_heading: "%{app} heeft toegang tot cookies nodig"
|
17
17
|
request_storage_access_body: Hiermee kan de app u verifiëren door uw persoonlijke
|
@@ -0,0 +1,21 @@
|
|
1
|
+
---
|
2
|
+
pl:
|
3
|
+
logged_out: Pomyślne wylogowanie
|
4
|
+
could_not_log_in: Nie można zalogować się do sklepu Shopify
|
5
|
+
invalid_shop_url: Nieprawidłowa domena sklepu
|
6
|
+
enable_cookies_heading: Włącz korzystanie z plików cookie z %{app}
|
7
|
+
enable_cookies_body: Aby móc korzystać z %{app} w Shopify, musisz ręcznie włączyć
|
8
|
+
korzystanie z plików cookie w tej przeglądarce.
|
9
|
+
enable_cookies_footer: Pliki cookie umożliwiają uwierzytelnianie aplikacji przez
|
10
|
+
tymczasowe przechowywanie preferencji i danych osobowych. Wygasają one po 30 dniach.
|
11
|
+
enable_cookies_action: Włącz korzystanie z plików cookie
|
12
|
+
top_level_interaction_heading: Twoja przeglądarka wymaga uwierzytelnienia %{app}
|
13
|
+
top_level_interaction_body: Twoja przeglądarka wymaga takich aplikacji jak %{app},
|
14
|
+
aby poprosić o dostęp do plików cookie, zanim Shopify będzie mógł ją otworzyć.
|
15
|
+
top_level_interaction_action: Kontynuuj
|
16
|
+
request_storage_access_heading: "%{app} potrzebuje dostępu do plików cookie"
|
17
|
+
request_storage_access_body: Dzięki temu aplikacja może Cię uwierzytelniać, tymczasowo,
|
18
|
+
przechowując Twoje dane osobowe. Kliknij przycisk Kontynuuj i zezwalaj na pliki
|
19
|
+
cookie, aby korzystać z aplikacji.
|
20
|
+
request_storage_access_footer: Pliki cookie wygasają po 30 dniach.
|
21
|
+
request_storage_access_action: Kontynuuj
|
data/config/locales/pt-BR.yml
CHANGED
@@ -1,18 +1,17 @@
|
|
1
1
|
---
|
2
2
|
pt-BR:
|
3
|
-
logged_out: Você saiu
|
3
|
+
logged_out: Você saiu.
|
4
4
|
could_not_log_in: Não foi possível fazer login na Shopify store
|
5
5
|
invalid_shop_url: Domínio de loja inválido
|
6
|
-
enable_cookies_heading:
|
7
|
-
enable_cookies_body: Você
|
8
|
-
usar %{app} dentro da Shopify.
|
9
|
-
enable_cookies_footer: Os cookies permitem que o
|
10
|
-
|
11
|
-
|
12
|
-
enable_cookies_action: Ativar cookies
|
6
|
+
enable_cookies_heading: Habilitar cookies de %{app}
|
7
|
+
enable_cookies_body: Você precisa habilitar manualmente os cookies neste navegador
|
8
|
+
para usar %{app} dentro da Shopify.
|
9
|
+
enable_cookies_footer: Os cookies permitem que o app o autentique armazenando temporariamente
|
10
|
+
suas preferências e dados pessoais. Eles expiram depois de 30 dias.
|
11
|
+
enable_cookies_action: Habilitar cookies
|
13
12
|
top_level_interaction_heading: Seu navegador precisa autenticar %{app}
|
14
|
-
top_level_interaction_body: Seu navegador exige que apps
|
15
|
-
|
13
|
+
top_level_interaction_body: Seu navegador exige que apps como o %{app} consultem
|
14
|
+
você sobre o acesso a cookies antes que a Shopify os abra.
|
16
15
|
top_level_interaction_action: Continuar
|
17
16
|
request_storage_access_heading: "%{app} precisa acessar cookies"
|
18
17
|
request_storage_access_body: Isso permite que o app autentique você armazenando
|
@@ -0,0 +1,22 @@
|
|
1
|
+
---
|
2
|
+
pt-PT:
|
3
|
+
logged_out: Terminou a sessão com sucesso
|
4
|
+
could_not_log_in: Não foi possível iniciar sessão na loja da Shopify
|
5
|
+
invalid_shop_url: Domínio de loja inválido
|
6
|
+
enable_cookies_heading: Ativar cookies de %{app}
|
7
|
+
enable_cookies_body: Tem de ativar manualmente os cookies neste navegador para utilizar
|
8
|
+
%{app} dentro da Shopify.
|
9
|
+
enable_cookies_footer: Os cookies permitem que a aplicação o autentique armazenando
|
10
|
+
temporariamente as suas preferências e informações pessoais. Expiram ao fim de
|
11
|
+
30 dias.
|
12
|
+
enable_cookies_action: Ativar cookies
|
13
|
+
top_level_interaction_heading: O seu navegador tem de autenticar %{app}
|
14
|
+
top_level_interaction_body: O seu navegador exige que aplicações como %{app} lhe
|
15
|
+
solicitem o acesso de cookies, antes que a Shopify as possa abrir.
|
16
|
+
top_level_interaction_action: Continuar
|
17
|
+
request_storage_access_heading: "%{app} tem de aceder a cookies"
|
18
|
+
request_storage_access_body: Isto permite que a aplicação o autentique armazenando
|
19
|
+
temporariamente as suas informações pessoais. Clique em continuar e permita os
|
20
|
+
cookies para utilizar a aplicação.
|
21
|
+
request_storage_access_footer: Os cookies expiram ao fim de 30 dias.
|
22
|
+
request_storage_access_action: Continuar
|
@@ -0,0 +1,21 @@
|
|
1
|
+
---
|
2
|
+
sv:
|
3
|
+
logged_out: Har loggats ut
|
4
|
+
could_not_log_in: Det gick inte att logga in i Shopify-butiken
|
5
|
+
invalid_shop_url: Ogiltig butiksdomän
|
6
|
+
enable_cookies_heading: Aktivera cookies från %{app}
|
7
|
+
enable_cookies_body: Du måste aktivera cookies manuellt i den här webbläsaren för
|
8
|
+
att kunna använda %{app} inom Shopify.
|
9
|
+
enable_cookies_footer: Cookies låter appen autentisera dig genom att tillfälligt
|
10
|
+
lagra dina inställningar och personuppgifter. De upphör efter 30 dagar.
|
11
|
+
enable_cookies_action: Aktivera cookies
|
12
|
+
top_level_interaction_heading: Din webbläsare måste verifiera %{app}
|
13
|
+
top_level_interaction_body: Din webbläsare kräver att appar som %{app} frågar dig
|
14
|
+
om tillgång till cookies innan Shopify kan öppna den för dig.
|
15
|
+
top_level_interaction_action: Fortsätt
|
16
|
+
request_storage_access_heading: "%{app} behöver tillgång till cookies"
|
17
|
+
request_storage_access_body: Detta gör det möjligt för appen att autentisera dig
|
18
|
+
genom att tillfälligt lagra din personliga information. Klicka på fortsätt och
|
19
|
+
tillåta cookies att använda appen.
|
20
|
+
request_storage_access_footer: Cookies upphör efter 30 dagar.
|
21
|
+
request_storage_access_action: Fortsätt
|
@@ -0,0 +1,20 @@
|
|
1
|
+
---
|
2
|
+
th:
|
3
|
+
logged_out: ออกจากระบบสำเร็จ
|
4
|
+
could_not_log_in: ไม่สามารถเข้าสู่ระบบร้านค้า Shopify ได้
|
5
|
+
invalid_shop_url: โดเมนร้านค้าไม่ถูกต้อง
|
6
|
+
enable_cookies_heading: เปิดใช้งานคุกกี้จาก %{app}
|
7
|
+
enable_cookies_body: คุณต้องเปิดใช้งานคุกกี้ด้วยตนเองในเบราว์เซอร์นี้เพื่อใช้งาน
|
8
|
+
%{app} ภายใน Shopify
|
9
|
+
enable_cookies_footer: คุกกี้ช่วยให้แอปตรวจสอบความถูกต้องของคุณด้วยการจัดเก็บความชื่นชอบและข้อมูลส่วนตัวของคุณชั่วคราว
|
10
|
+
คุกกี้จะหมดอายุหลังจาก 30 วัน
|
11
|
+
enable_cookies_action: เปิดใช้งานคุกกี้
|
12
|
+
top_level_interaction_heading: เบราว์เซอร์ของคุณต้องรับรองความถูกต้องของ %{app}
|
13
|
+
top_level_interaction_body: เบราว์เซอร์ของคุณต้องการแอปอย่าง %{app} เพื่อขอให้คุณเข้าถึงคุกกี้ก่อนที่
|
14
|
+
Shopify จะสามารถเปิดมันให้คุณได้
|
15
|
+
top_level_interaction_action: ดำเนินการต่อ
|
16
|
+
request_storage_access_heading: "%{app} ต้องการสิทธิ์การเข้าถึงคุกกี้"
|
17
|
+
request_storage_access_body: สิ่งนี้ช่วยให้แอปตรวจสอบความถูกต้องของคุณด้วยการจัดเก็บข้อมูลส่วนตัวของคุณชั่วคราว
|
18
|
+
คลิกดำเนินการต่อและอนุญาตให้คุกกี้ใช้แอป
|
19
|
+
request_storage_access_footer: คุกกี้จะหมดอายุหลังจาก 30 วัน
|
20
|
+
request_storage_access_action: ดำเนินการต่อ
|
@@ -0,0 +1,22 @@
|
|
1
|
+
---
|
2
|
+
tr:
|
3
|
+
logged_out: Oturum başarıyla kapatıldı
|
4
|
+
could_not_log_in: Shopify mağazasında oturum açılamadı
|
5
|
+
invalid_shop_url: Geçersiz mağaza alan adı
|
6
|
+
enable_cookies_heading: "%{app} uygulamasından çerezleri etkinleştir"
|
7
|
+
enable_cookies_body: "%{app} uygulamasını Shopify içinde kullanabilmek için bu tarayıcıda
|
8
|
+
çerezleri manuel olarak etkinleştirmelisiniz."
|
9
|
+
enable_cookies_footer: Çerezler, tercihlerinizi ve kişisel bilgilerinizi geçici
|
10
|
+
olarak saklayıp uygulamanın kimliğinizi doğrulamasına imkan tanır. Çerezlerin
|
11
|
+
süresi 30 gün sonra sonra sona erer.
|
12
|
+
enable_cookies_action: Çerezleri etkinleştir
|
13
|
+
top_level_interaction_heading: Tarayıcınızın %{app} kimliğini doğrulaması gerekiyor
|
14
|
+
top_level_interaction_body: Tarayıcınız, Shopify tarafından açılmadan önce %{app}
|
15
|
+
gibi uygulamaların sizden çerezlere erişim izni istemesini zorunlu tutuyor.
|
16
|
+
top_level_interaction_action: Devam
|
17
|
+
request_storage_access_heading: "%{app} uygulamasının çerezlere erişmesi gerekiyor"
|
18
|
+
request_storage_access_body: Böylece uygulama, kişisel bilgilerinizi geçici olarak
|
19
|
+
saklayıp kimliğinizi doğrulayabilir. Devam et'e tıklayın ve çerezlerin uygulamayı
|
20
|
+
kullanmasına izin verin.
|
21
|
+
request_storage_access_footer: Çerezlerin süresi 30 gün sonra sonra sona erer.
|
22
|
+
request_storage_access_action: Devam
|
data/config/locales/zh-CN.yml
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
---
|
2
2
|
zh-CN:
|
3
|
-
logged_out:
|
3
|
+
logged_out: 已成功退出
|
4
4
|
could_not_log_in: 无法登录到 Shopify 商店
|
5
|
-
invalid_shop_url:
|
5
|
+
invalid_shop_url: 商店域名无效
|
6
6
|
enable_cookies_heading: 从 %{app} 启用 Cookie
|
7
7
|
enable_cookies_body: 您必须在此浏览器中手动启用 Cookie 才能在 Shopify 中使用 %{app}。
|
8
8
|
enable_cookies_footer: Cookie 使此应用能够通过暂时存储您的偏好设置和个人信息来验证您的身份。这些信息将在 30 天后过期。
|
9
9
|
enable_cookies_action: 启用 Cookie
|
10
10
|
top_level_interaction_heading: 您的浏览器需要对 %{app} 进行验证
|
11
|
-
top_level_interaction_body: 您的浏览器要求类似 %{app}
|
11
|
+
top_level_interaction_body: 您的浏览器要求类似 %{app} 的应用向您请求访问 Cookie,之后 Shopify 才能为您打开它。
|
12
12
|
top_level_interaction_action: 继续
|
13
13
|
request_storage_access_heading: "%{app} 需要访问 Cookie"
|
14
14
|
request_storage_access_body: 这使此应用能够通过暂时存储您的个人信息来验证您的身份。单击继续并启用 Cookie 以使用此应用。
|
data/config/locales/zh-TW.yml
CHANGED
@@ -8,8 +8,7 @@ zh-TW:
|
|
8
8
|
enable_cookies_footer: Cookie 可讓應用程式暫時儲存您的偏好設定和個人資訊,藉此驗證您的身分,這些資料會在 30 天後失效。
|
9
9
|
enable_cookies_action: 啟用 Cookie
|
10
10
|
top_level_interaction_heading: 您的瀏覽器需要驗證 %{app}
|
11
|
-
top_level_interaction_body:
|
12
|
-
為您開啟此應用程式。
|
11
|
+
top_level_interaction_body: 您的瀏覽器要求 %{app} 等應用程式向您請求 Cookie 的存取權限,才能讓 Shopify 為您開啟該應用程式。
|
13
12
|
top_level_interaction_action: 繼續
|
14
13
|
request_storage_access_heading: "%{app} 需要 Cookie 存取權限"
|
15
14
|
request_storage_access_body: Cookie 可讓應用程式暫時儲存您的個人資訊,藉此驗證您的身分。按一下繼續並允許 Cookie 使用此應用程式。
|
data/docs/Quickstart.md
CHANGED
@@ -1,11 +1,13 @@
|
|
1
1
|
Quickstart
|
2
2
|
==========
|
3
3
|
|
4
|
-
|
4
|
+
Get started building and deploying a new Shopify App to Heroku in just a few minutes. This guide assumes you have Ruby/Rails installed on your computer already; if you haven't done that already start with [this guide.](https://guides.rubyonrails.org/v5.0/getting_started.html#installing-rails)
|
5
5
|
|
6
6
|
1. New Rails App (with postgres)
|
7
7
|
--------------------------------
|
8
8
|
|
9
|
+
To create a new Rails app and use this generator, open your terminal and run the following commands:
|
10
|
+
|
9
11
|
```sh
|
10
12
|
$ rails new test-app --database=postgresql
|
11
13
|
$ cd test-app
|
@@ -17,43 +19,51 @@ $ git commit -m 'new rails app'
|
|
17
19
|
2. Create a new Heroku app
|
18
20
|
--------------------------
|
19
21
|
|
20
|
-
The next step is to create a new
|
22
|
+
The next step is to create a new Heroku app to host your application. If you haven't got a Heroku account yet, create a free account [here](https://www.heroku.com/).
|
23
|
+
|
24
|
+
Head to the Heroku dashboard and create a new app, or run the following commands with the [Heroku CLI](https://devcenter.heroku.com/articles/heroku-cli#download-and-install) installed, substituting `name` for the name of your own app:
|
21
25
|
|
22
|
-
|
26
|
+
CLI:
|
23
27
|
```sh
|
24
28
|
$ heroku create name
|
25
29
|
$ heroku git:remote -a name
|
26
30
|
```
|
27
31
|
|
28
|
-
|
32
|
+
Once you have created an app on Heroku, we need to let Git know where the Heroku server is so we can deploy to it later. Copy the app's name from your Heroku dashboard and substitute `appname.git` with the name you chose earlier:
|
29
33
|
|
30
34
|
web:
|
31
35
|
```sh
|
32
36
|
# https://dashboard.heroku.com/new
|
33
|
-
$ git remote add heroku git@heroku.com:
|
37
|
+
$ git remote add heroku git@heroku.com:appname.git
|
34
38
|
```
|
35
39
|
|
36
|
-
3. Create a new App in the
|
40
|
+
3. Create a new App in the Shopify Partner dashboard
|
37
41
|
-----------------------------------------
|
42
|
+
* Create a Shopify app in the [Partners dashboard](https://partner.shopify.com). For this tutorial, you can choose either a public or custom app, but you can [learn about App Types here.](https://help.shopify.com/en/manual/apps/app-types)
|
38
43
|
[https://app.shopify.com/services/partners/api_clients](https://app.shopify.com/services/partners/api_clients)
|
39
|
-
*
|
40
|
-
*
|
41
|
-
*
|
42
|
-
|
44
|
+
* Set the callback url to `https://<appname>.herokuapp.com/`
|
45
|
+
* Choose an embedded app
|
46
|
+
* Set the app's `redirect_uri` to `https://<appname>.herokuapp.com/auth/shopify/callback`
|
43
47
|
|
44
|
-
4. Add ShopifyApp to
|
48
|
+
4. Add ShopifyApp to Gemfile
|
45
49
|
----------------------------
|
50
|
+
|
51
|
+
Run these commands to add the `shopify_app` Gem to your app:
|
52
|
+
|
46
53
|
```sh
|
47
54
|
$ echo "gem 'shopify_app'" >> Gemfile
|
48
55
|
$ bundle install
|
49
56
|
```
|
50
57
|
|
51
|
-
Note
|
58
|
+
**Note:** we recommend using the latest version of Shopify Gem. Check the [Git tags](https://github.com/Shopify/shopify_app/tags) to see the latest release version and then add it to your Gemfile e.g `gem 'shopify_app', '~> 7.0.0'`
|
52
59
|
|
53
60
|
5. Run the ShopifyApp generator
|
54
61
|
-------------------------------
|
62
|
+
|
63
|
+
Generate the code for your app by running these commands:
|
64
|
+
|
55
65
|
```sh
|
56
|
-
#
|
66
|
+
# Use the keys from your app you created in the partners area
|
57
67
|
$ rails generate shopify_app --api_key <shopify_api_key> --secret <shopify_api_secret>
|
58
68
|
$ git add .
|
59
69
|
$ git commit -m 'generated shopify app'
|
@@ -61,10 +71,12 @@ $ git commit -m 'generated shopify app'
|
|
61
71
|
|
62
72
|
If you forget to set your keys or redirect uri above, you will find them in the shopify_app initializer at: `/config/initializers/shopify_app.rb`.
|
63
73
|
|
64
|
-
We recommend adding a gem or utilizing
|
74
|
+
We recommend adding a gem or utilizing environment variables (`.env`) to handle your keys before releasing your app. [Learn more about using environment variables.](https://www.honeybadger.io/blog/ruby-guide-environment-variables/)
|
65
75
|
|
66
|
-
6. Deploy
|
76
|
+
6. Deploy your app
|
67
77
|
---------
|
78
|
+
|
79
|
+
Once you've generated your app, push it into your Heroku environment to see it up and running:
|
68
80
|
```sh
|
69
81
|
$ git push heroku
|
70
82
|
$ heroku run rake db:migrate
|
@@ -72,4 +84,20 @@ $ heroku run rake db:migrate
|
|
72
84
|
|
73
85
|
7. Install the App!
|
74
86
|
-------------------
|
75
|
-
|
87
|
+
|
88
|
+
Ensure you have created a [development store](https://help.shopify.com/en/api/getting-started/making-your-first-request#create-a-development-store) using the Shopify Partner Dashboard. If you don't already have one, [create one by following these instructions](https://help.shopify.com/en/api/getting-started/making-your-first-request#create-a-development-store).
|
89
|
+
|
90
|
+
##### Note: The following step will cause your store to become `transfer-disabled.` Read more about store transfer and why it's important [here](https://help.shopify.com/en/api/guides/store-transfers#transfer-disabled-stores). This is an irreversible change, so be sure you don't plan to transfer this store to a merchant.
|
91
|
+
|
92
|
+
Install the app onto your new development store using the Partner Dashboard. Log in to your account, visit the apps page, click the app you created earlier, and looking for the `Test your app` instructions where you can select a store to install your app on.
|
93
|
+
|
94
|
+
![Installing an app on the partners dashboard dropdown](/docs/install-on-dev-shop.png)
|
95
|
+
|
96
|
+
### OR
|
97
|
+
|
98
|
+
![Installing an app on the partners dashboard card](/docs/test-your-app.png)
|
99
|
+
|
100
|
+
8. Great work!
|
101
|
+
-------------------
|
102
|
+
|
103
|
+
You're done creating your first app on Shopify. Keep going and learn more by [diving into our full documentation](https://help.shopify.com/en/api/getting-started), or join our [community of developers.](https://community.shopify.com/c/Shopify-Apps/bd-p/shopify-apps)
|