@capivv/capacitor-sdk 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CapivvCapacitor.podspec +20 -0
- package/README.md +378 -0
- package/android/build.gradle +74 -0
- package/android/src/main/AndroidManifest.xml +5 -0
- package/android/src/main/java/com/capivv/capacitor/CapivvPlugin.kt +708 -0
- package/dist/esm/components/index.d.ts +1 -0
- package/dist/esm/components/index.js +9 -0
- package/dist/esm/components/index.js.map +1 -0
- package/dist/esm/definitions.d.ts +327 -0
- package/dist/esm/definitions.js +20 -0
- package/dist/esm/definitions.js.map +1 -0
- package/dist/esm/index.d.ts +7 -0
- package/dist/esm/index.js +10 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/l10n/translations.d.ts +73 -0
- package/dist/esm/l10n/translations.js +397 -0
- package/dist/esm/l10n/translations.js.map +1 -0
- package/dist/esm/templates/types.d.ts +118 -0
- package/dist/esm/templates/types.js +8 -0
- package/dist/esm/templates/types.js.map +1 -0
- package/dist/esm/web.d.ts +72 -0
- package/dist/esm/web.js +230 -0
- package/dist/esm/web.js.map +1 -0
- package/dist/plugin.cjs.js +661 -0
- package/dist/plugin.cjs.js.map +1 -0
- package/dist/plugin.js +664 -0
- package/dist/plugin.js.map +1 -0
- package/ios/Plugin/CapivvPlugin.m +21 -0
- package/ios/Plugin/CapivvPlugin.swift +655 -0
- package/package.json +89 -0
|
@@ -0,0 +1,397 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Capivv SDK Localization
|
|
3
|
+
*
|
|
4
|
+
* Provides localized strings for the Capivv SDK UI components.
|
|
5
|
+
*/
|
|
6
|
+
const translations = {
|
|
7
|
+
en: {
|
|
8
|
+
'common.continue': 'Continue',
|
|
9
|
+
'common.cancel': 'Cancel',
|
|
10
|
+
'common.close': 'Close',
|
|
11
|
+
'common.done': 'Done',
|
|
12
|
+
'common.loading': 'Loading...',
|
|
13
|
+
'common.processing': 'Processing...',
|
|
14
|
+
'common.error': 'Error',
|
|
15
|
+
'common.success': 'Success',
|
|
16
|
+
'common.tryAgain': 'Try Again',
|
|
17
|
+
'paywall.restore': 'Restore Purchases',
|
|
18
|
+
'paywall.restoring': 'Restoring...',
|
|
19
|
+
'paywall.purchasing': 'Purchasing...',
|
|
20
|
+
'paywall.startTrial': 'Start %d-day free trial',
|
|
21
|
+
'paywall.then': 'Then %@',
|
|
22
|
+
'paywall.perMonth': '/month',
|
|
23
|
+
'paywall.perYear': '/year',
|
|
24
|
+
'paywall.perWeek': '/week',
|
|
25
|
+
'paywall.bestValue': 'Best Value',
|
|
26
|
+
'paywall.mostPopular': 'Most Popular',
|
|
27
|
+
'paywall.save': 'Save %d%%',
|
|
28
|
+
'paywall.freeTrialIncluded': 'Free trial included',
|
|
29
|
+
'paywall.termsAndPrivacy': 'Terms of Service & Privacy Policy',
|
|
30
|
+
'paywall.legalDisclaimer': 'Payment will be charged to your account at confirmation of purchase. Subscription automatically renews unless it is canceled at least 24 hours before the end of the current period.',
|
|
31
|
+
'paywall.unlockPremium': 'Unlock Premium',
|
|
32
|
+
'paywall.noProductsAvailable': 'No products available',
|
|
33
|
+
'error.unableToLoad': 'Unable to Load',
|
|
34
|
+
'error.purchaseFailed': 'Purchase Failed',
|
|
35
|
+
'error.restoreFailed': 'Restore Failed',
|
|
36
|
+
'error.networkError': 'Network Error',
|
|
37
|
+
'error.somethingWentWrong': 'Something went wrong',
|
|
38
|
+
'error.dismiss': 'Dismiss',
|
|
39
|
+
'error.failedToLoadOfferings': 'Failed to load offerings',
|
|
40
|
+
'faq.title': 'Frequently Asked Questions',
|
|
41
|
+
'socialProof.rating': 'Rating',
|
|
42
|
+
'socialProof.reviews': 'reviews',
|
|
43
|
+
'socialProof.downloads': 'downloads',
|
|
44
|
+
'countdown.days': 'd',
|
|
45
|
+
'countdown.hours': 'h',
|
|
46
|
+
'countdown.minutes': 'm',
|
|
47
|
+
'countdown.seconds': 's',
|
|
48
|
+
},
|
|
49
|
+
es: {
|
|
50
|
+
'common.continue': 'Continuar',
|
|
51
|
+
'common.cancel': 'Cancelar',
|
|
52
|
+
'common.close': 'Cerrar',
|
|
53
|
+
'common.done': 'Hecho',
|
|
54
|
+
'common.loading': 'Cargando...',
|
|
55
|
+
'common.processing': 'Procesando...',
|
|
56
|
+
'common.error': 'Error',
|
|
57
|
+
'common.success': 'Exito',
|
|
58
|
+
'common.tryAgain': 'Intentar de nuevo',
|
|
59
|
+
'paywall.restore': 'Restaurar compras',
|
|
60
|
+
'paywall.restoring': 'Restaurando...',
|
|
61
|
+
'paywall.purchasing': 'Comprando...',
|
|
62
|
+
'paywall.startTrial': 'Comenzar prueba de %d dias',
|
|
63
|
+
'paywall.then': 'Luego %@',
|
|
64
|
+
'paywall.perMonth': '/mes',
|
|
65
|
+
'paywall.perYear': '/ano',
|
|
66
|
+
'paywall.perWeek': '/semana',
|
|
67
|
+
'paywall.bestValue': 'Mejor valor',
|
|
68
|
+
'paywall.mostPopular': 'Mas popular',
|
|
69
|
+
'paywall.save': 'Ahorra %d%%',
|
|
70
|
+
'paywall.freeTrialIncluded': 'Prueba gratuita incluida',
|
|
71
|
+
'paywall.termsAndPrivacy': 'Terminos de servicio y politica de privacidad',
|
|
72
|
+
'paywall.legalDisclaimer': 'El pago se cargara a su cuenta en la confirmacion de la compra. La suscripcion se renueva automaticamente a menos que se cancele al menos 24 horas antes del final del periodo actual.',
|
|
73
|
+
'paywall.unlockPremium': 'Desbloquear Premium',
|
|
74
|
+
'paywall.noProductsAvailable': 'No hay productos disponibles',
|
|
75
|
+
'error.unableToLoad': 'No se puede cargar',
|
|
76
|
+
'error.purchaseFailed': 'Compra fallida',
|
|
77
|
+
'error.restoreFailed': 'Restauracion fallida',
|
|
78
|
+
'error.networkError': 'Error de red',
|
|
79
|
+
'error.somethingWentWrong': 'Algo salio mal',
|
|
80
|
+
'error.dismiss': 'Descartar',
|
|
81
|
+
'error.failedToLoadOfferings': 'Error al cargar ofertas',
|
|
82
|
+
'faq.title': 'Preguntas frecuentes',
|
|
83
|
+
'socialProof.rating': 'Calificacion',
|
|
84
|
+
'socialProof.reviews': 'resenas',
|
|
85
|
+
'socialProof.downloads': 'descargas',
|
|
86
|
+
'countdown.days': 'd',
|
|
87
|
+
'countdown.hours': 'h',
|
|
88
|
+
'countdown.minutes': 'm',
|
|
89
|
+
'countdown.seconds': 's',
|
|
90
|
+
},
|
|
91
|
+
fr: {
|
|
92
|
+
'common.continue': 'Continuer',
|
|
93
|
+
'common.cancel': 'Annuler',
|
|
94
|
+
'common.close': 'Fermer',
|
|
95
|
+
'common.done': 'Termine',
|
|
96
|
+
'common.loading': 'Chargement...',
|
|
97
|
+
'common.processing': 'Traitement...',
|
|
98
|
+
'common.error': 'Erreur',
|
|
99
|
+
'common.success': 'Succes',
|
|
100
|
+
'common.tryAgain': 'Reessayer',
|
|
101
|
+
'paywall.restore': 'Restaurer les achats',
|
|
102
|
+
'paywall.restoring': 'Restauration...',
|
|
103
|
+
'paywall.purchasing': 'Achat...',
|
|
104
|
+
'paywall.startTrial': "Commencer l'essai de %d jours",
|
|
105
|
+
'paywall.then': 'Puis %@',
|
|
106
|
+
'paywall.perMonth': '/mois',
|
|
107
|
+
'paywall.perYear': '/an',
|
|
108
|
+
'paywall.perWeek': '/semaine',
|
|
109
|
+
'paywall.bestValue': 'Meilleur rapport qualite-prix',
|
|
110
|
+
'paywall.mostPopular': 'Le plus populaire',
|
|
111
|
+
'paywall.save': 'Economisez %d%%',
|
|
112
|
+
'paywall.freeTrialIncluded': 'Essai gratuit inclus',
|
|
113
|
+
'paywall.termsAndPrivacy': "Conditions d'utilisation et politique de confidentialite",
|
|
114
|
+
'paywall.legalDisclaimer': "Le paiement sera debite de votre compte lors de la confirmation de l'achat. L'abonnement se renouvelle automatiquement sauf annulation au moins 24 heures avant la fin de la periode en cours.",
|
|
115
|
+
'paywall.unlockPremium': 'Debloquer Premium',
|
|
116
|
+
'paywall.noProductsAvailable': 'Aucun produit disponible',
|
|
117
|
+
'error.unableToLoad': 'Impossible de charger',
|
|
118
|
+
'error.purchaseFailed': "Echec de l'achat",
|
|
119
|
+
'error.restoreFailed': 'Echec de la restauration',
|
|
120
|
+
'error.networkError': 'Erreur reseau',
|
|
121
|
+
'error.somethingWentWrong': "Une erreur s'est produite",
|
|
122
|
+
'error.dismiss': 'Fermer',
|
|
123
|
+
'error.failedToLoadOfferings': 'Echec du chargement des offres',
|
|
124
|
+
'faq.title': 'Questions frequentes',
|
|
125
|
+
'socialProof.rating': 'Note',
|
|
126
|
+
'socialProof.reviews': 'avis',
|
|
127
|
+
'socialProof.downloads': 'telechargements',
|
|
128
|
+
'countdown.days': 'j',
|
|
129
|
+
'countdown.hours': 'h',
|
|
130
|
+
'countdown.minutes': 'm',
|
|
131
|
+
'countdown.seconds': 's',
|
|
132
|
+
},
|
|
133
|
+
de: {
|
|
134
|
+
'common.continue': 'Fortfahren',
|
|
135
|
+
'common.cancel': 'Abbrechen',
|
|
136
|
+
'common.close': 'Schliessen',
|
|
137
|
+
'common.done': 'Fertig',
|
|
138
|
+
'common.loading': 'Laden...',
|
|
139
|
+
'common.processing': 'Verarbeitung...',
|
|
140
|
+
'common.error': 'Fehler',
|
|
141
|
+
'common.success': 'Erfolg',
|
|
142
|
+
'common.tryAgain': 'Erneut versuchen',
|
|
143
|
+
'paywall.restore': 'Kaufe wiederherstellen',
|
|
144
|
+
'paywall.restoring': 'Wiederherstellen...',
|
|
145
|
+
'paywall.purchasing': 'Kaufen...',
|
|
146
|
+
'paywall.startTrial': '%d-tagige Testversion starten',
|
|
147
|
+
'paywall.then': 'Dann %@',
|
|
148
|
+
'paywall.perMonth': '/Monat',
|
|
149
|
+
'paywall.perYear': '/Jahr',
|
|
150
|
+
'paywall.perWeek': '/Woche',
|
|
151
|
+
'paywall.bestValue': 'Bester Wert',
|
|
152
|
+
'paywall.mostPopular': 'Am beliebtesten',
|
|
153
|
+
'paywall.save': '%d%% sparen',
|
|
154
|
+
'paywall.freeTrialIncluded': 'Kostenlose Testversion enthalten',
|
|
155
|
+
'paywall.termsAndPrivacy': 'Nutzungsbedingungen und Datenschutz',
|
|
156
|
+
'paywall.legalDisclaimer': 'Die Zahlung wird bei Kaufbestatigung von Ihrem Konto abgebucht. Das Abonnement verlangert sich automatisch, sofern es nicht mindestens 24 Stunden vor Ende des aktuellen Zeitraums gekundigt wird.',
|
|
157
|
+
'paywall.unlockPremium': 'Premium freischalten',
|
|
158
|
+
'paywall.noProductsAvailable': 'Keine Produkte verfugbar',
|
|
159
|
+
'error.unableToLoad': 'Laden nicht moglich',
|
|
160
|
+
'error.purchaseFailed': 'Kauf fehlgeschlagen',
|
|
161
|
+
'error.restoreFailed': 'Wiederherstellung fehlgeschlagen',
|
|
162
|
+
'error.networkError': 'Netzwerkfehler',
|
|
163
|
+
'error.somethingWentWrong': 'Etwas ist schief gelaufen',
|
|
164
|
+
'error.dismiss': 'Schliessen',
|
|
165
|
+
'error.failedToLoadOfferings': 'Angebote konnten nicht geladen werden',
|
|
166
|
+
'faq.title': 'Haufig gestellte Fragen',
|
|
167
|
+
'socialProof.rating': 'Bewertung',
|
|
168
|
+
'socialProof.reviews': 'Bewertungen',
|
|
169
|
+
'socialProof.downloads': 'Downloads',
|
|
170
|
+
'countdown.days': 'T',
|
|
171
|
+
'countdown.hours': 'Std',
|
|
172
|
+
'countdown.minutes': 'Min',
|
|
173
|
+
'countdown.seconds': 'Sek',
|
|
174
|
+
},
|
|
175
|
+
ja: {
|
|
176
|
+
'common.continue': '続ける',
|
|
177
|
+
'common.cancel': 'キャンセル',
|
|
178
|
+
'common.close': '閉じる',
|
|
179
|
+
'common.done': '完了',
|
|
180
|
+
'common.loading': '読み込み中...',
|
|
181
|
+
'common.processing': '処理中...',
|
|
182
|
+
'common.error': 'エラー',
|
|
183
|
+
'common.success': '成功',
|
|
184
|
+
'common.tryAgain': '再試行',
|
|
185
|
+
'paywall.restore': '購入を復元',
|
|
186
|
+
'paywall.restoring': '復元中...',
|
|
187
|
+
'paywall.purchasing': '購入中...',
|
|
188
|
+
'paywall.startTrial': '%d日間の無料トライアルを開始',
|
|
189
|
+
'paywall.then': 'その後 %@',
|
|
190
|
+
'paywall.perMonth': '/月',
|
|
191
|
+
'paywall.perYear': '/年',
|
|
192
|
+
'paywall.perWeek': '/週',
|
|
193
|
+
'paywall.bestValue': 'ベストバリュー',
|
|
194
|
+
'paywall.mostPopular': '最も人気',
|
|
195
|
+
'paywall.save': '%d%%オフ',
|
|
196
|
+
'paywall.freeTrialIncluded': '無料トライアル付き',
|
|
197
|
+
'paywall.termsAndPrivacy': '利用規約とプライバシーポリシー',
|
|
198
|
+
'paywall.legalDisclaimer': '購入確認時にアカウントに請求されます。現在の期間終了の24時間前までにキャンセルしない限り、サブスクリプションは自動更新されます。',
|
|
199
|
+
'paywall.unlockPremium': 'プレミアムを解除',
|
|
200
|
+
'paywall.noProductsAvailable': '利用可能な製品がありません',
|
|
201
|
+
'error.unableToLoad': '読み込めません',
|
|
202
|
+
'error.purchaseFailed': '購入に失敗しました',
|
|
203
|
+
'error.restoreFailed': '復元に失敗しました',
|
|
204
|
+
'error.networkError': 'ネットワークエラー',
|
|
205
|
+
'error.somethingWentWrong': '問題が発生しました',
|
|
206
|
+
'error.dismiss': '閉じる',
|
|
207
|
+
'error.failedToLoadOfferings': 'オファーの読み込みに失敗しました',
|
|
208
|
+
'faq.title': 'よくある質問',
|
|
209
|
+
'socialProof.rating': '評価',
|
|
210
|
+
'socialProof.reviews': 'レビュー',
|
|
211
|
+
'socialProof.downloads': 'ダウンロード',
|
|
212
|
+
'countdown.days': '日',
|
|
213
|
+
'countdown.hours': '時',
|
|
214
|
+
'countdown.minutes': '分',
|
|
215
|
+
'countdown.seconds': '秒',
|
|
216
|
+
},
|
|
217
|
+
zh: {
|
|
218
|
+
'common.continue': '继续',
|
|
219
|
+
'common.cancel': '取消',
|
|
220
|
+
'common.close': '关闭',
|
|
221
|
+
'common.done': '完成',
|
|
222
|
+
'common.loading': '加载中...',
|
|
223
|
+
'common.processing': '处理中...',
|
|
224
|
+
'common.error': '错误',
|
|
225
|
+
'common.success': '成功',
|
|
226
|
+
'common.tryAgain': '重试',
|
|
227
|
+
'paywall.restore': '恢复购买',
|
|
228
|
+
'paywall.restoring': '恢复中...',
|
|
229
|
+
'paywall.purchasing': '购买中...',
|
|
230
|
+
'paywall.startTrial': '开始%d天免费试用',
|
|
231
|
+
'paywall.then': '然后 %@',
|
|
232
|
+
'paywall.perMonth': '/月',
|
|
233
|
+
'paywall.perYear': '/年',
|
|
234
|
+
'paywall.perWeek': '/周',
|
|
235
|
+
'paywall.bestValue': '最佳价值',
|
|
236
|
+
'paywall.mostPopular': '最受欢迎',
|
|
237
|
+
'paywall.save': '节省%d%%',
|
|
238
|
+
'paywall.freeTrialIncluded': '含免费试用',
|
|
239
|
+
'paywall.termsAndPrivacy': '服务条款和隐私政策',
|
|
240
|
+
'paywall.legalDisclaimer': '确认购买后将从您的账户扣款。除非在当前周期结束前至少24小时取消,否则订阅将自动续订。',
|
|
241
|
+
'paywall.unlockPremium': '解锁高级版',
|
|
242
|
+
'paywall.noProductsAvailable': '没有可用的产品',
|
|
243
|
+
'error.unableToLoad': '无法加载',
|
|
244
|
+
'error.purchaseFailed': '购买失败',
|
|
245
|
+
'error.restoreFailed': '恢复失败',
|
|
246
|
+
'error.networkError': '网络错误',
|
|
247
|
+
'error.somethingWentWrong': '出了点问题',
|
|
248
|
+
'error.dismiss': '关闭',
|
|
249
|
+
'error.failedToLoadOfferings': '加载产品失败',
|
|
250
|
+
'faq.title': '常见问题',
|
|
251
|
+
'socialProof.rating': '评分',
|
|
252
|
+
'socialProof.reviews': '评论',
|
|
253
|
+
'socialProof.downloads': '下载',
|
|
254
|
+
'countdown.days': '天',
|
|
255
|
+
'countdown.hours': '时',
|
|
256
|
+
'countdown.minutes': '分',
|
|
257
|
+
'countdown.seconds': '秒',
|
|
258
|
+
},
|
|
259
|
+
pt: {
|
|
260
|
+
'common.continue': 'Continuar',
|
|
261
|
+
'common.cancel': 'Cancelar',
|
|
262
|
+
'common.close': 'Fechar',
|
|
263
|
+
'common.done': 'Concluido',
|
|
264
|
+
'common.loading': 'Carregando...',
|
|
265
|
+
'common.processing': 'Processando...',
|
|
266
|
+
'common.error': 'Erro',
|
|
267
|
+
'common.success': 'Sucesso',
|
|
268
|
+
'common.tryAgain': 'Tentar novamente',
|
|
269
|
+
'paywall.restore': 'Restaurar compras',
|
|
270
|
+
'paywall.restoring': 'Restaurando...',
|
|
271
|
+
'paywall.purchasing': 'Comprando...',
|
|
272
|
+
'paywall.startTrial': 'Iniciar teste de %d dias',
|
|
273
|
+
'paywall.then': 'Depois %@',
|
|
274
|
+
'paywall.perMonth': '/mes',
|
|
275
|
+
'paywall.perYear': '/ano',
|
|
276
|
+
'paywall.perWeek': '/semana',
|
|
277
|
+
'paywall.bestValue': 'Melhor valor',
|
|
278
|
+
'paywall.mostPopular': 'Mais popular',
|
|
279
|
+
'paywall.save': 'Economize %d%%',
|
|
280
|
+
'paywall.freeTrialIncluded': 'Teste gratuito incluso',
|
|
281
|
+
'paywall.termsAndPrivacy': 'Termos de servico e politica de privacidade',
|
|
282
|
+
'paywall.legalDisclaimer': 'O pagamento sera cobrado em sua conta na confirmacao da compra. A assinatura e renovada automaticamente, a menos que seja cancelada pelo menos 24 horas antes do final do periodo atual.',
|
|
283
|
+
'paywall.unlockPremium': 'Desbloquear Premium',
|
|
284
|
+
'paywall.noProductsAvailable': 'Nenhum produto disponivel',
|
|
285
|
+
'error.unableToLoad': 'Nao foi possivel carregar',
|
|
286
|
+
'error.purchaseFailed': 'Falha na compra',
|
|
287
|
+
'error.restoreFailed': 'Falha na restauracao',
|
|
288
|
+
'error.networkError': 'Erro de rede',
|
|
289
|
+
'error.somethingWentWrong': 'Algo deu errado',
|
|
290
|
+
'error.dismiss': 'Fechar',
|
|
291
|
+
'error.failedToLoadOfferings': 'Falha ao carregar ofertas',
|
|
292
|
+
'faq.title': 'Perguntas frequentes',
|
|
293
|
+
'socialProof.rating': 'Avaliacao',
|
|
294
|
+
'socialProof.reviews': 'avaliacoes',
|
|
295
|
+
'socialProof.downloads': 'downloads',
|
|
296
|
+
'countdown.days': 'd',
|
|
297
|
+
'countdown.hours': 'h',
|
|
298
|
+
'countdown.minutes': 'm',
|
|
299
|
+
'countdown.seconds': 's',
|
|
300
|
+
},
|
|
301
|
+
it: {
|
|
302
|
+
'common.continue': 'Continua',
|
|
303
|
+
'common.cancel': 'Annulla',
|
|
304
|
+
'common.close': 'Chiudi',
|
|
305
|
+
'common.done': 'Fatto',
|
|
306
|
+
'common.loading': 'Caricamento...',
|
|
307
|
+
'common.processing': 'Elaborazione...',
|
|
308
|
+
'common.error': 'Errore',
|
|
309
|
+
'common.success': 'Successo',
|
|
310
|
+
'common.tryAgain': 'Riprova',
|
|
311
|
+
'paywall.restore': 'Ripristina acquisti',
|
|
312
|
+
'paywall.restoring': 'Ripristino...',
|
|
313
|
+
'paywall.purchasing': 'Acquisto...',
|
|
314
|
+
'paywall.startTrial': 'Inizia prova gratuita di %d giorni',
|
|
315
|
+
'paywall.then': 'Poi %@',
|
|
316
|
+
'paywall.perMonth': '/mese',
|
|
317
|
+
'paywall.perYear': '/anno',
|
|
318
|
+
'paywall.perWeek': '/settimana',
|
|
319
|
+
'paywall.bestValue': 'Miglior valore',
|
|
320
|
+
'paywall.mostPopular': 'Piu popolare',
|
|
321
|
+
'paywall.save': 'Risparmia %d%%',
|
|
322
|
+
'paywall.freeTrialIncluded': 'Prova gratuita inclusa',
|
|
323
|
+
'paywall.termsAndPrivacy': 'Termini di servizio e privacy',
|
|
324
|
+
'paywall.legalDisclaimer': "Il pagamento verra addebitato sul tuo account alla conferma dell'acquisto. L'abbonamento si rinnova automaticamente a meno che non venga annullato almeno 24 ore prima della fine del periodo corrente.",
|
|
325
|
+
'paywall.unlockPremium': 'Sblocca Premium',
|
|
326
|
+
'paywall.noProductsAvailable': 'Nessun prodotto disponibile',
|
|
327
|
+
'error.unableToLoad': 'Impossibile caricare',
|
|
328
|
+
'error.purchaseFailed': 'Acquisto fallito',
|
|
329
|
+
'error.restoreFailed': 'Ripristino fallito',
|
|
330
|
+
'error.networkError': 'Errore di rete',
|
|
331
|
+
'error.somethingWentWrong': 'Qualcosa e andato storto',
|
|
332
|
+
'error.dismiss': 'Chiudi',
|
|
333
|
+
'error.failedToLoadOfferings': 'Impossibile caricare le offerte',
|
|
334
|
+
'faq.title': 'Domande frequenti',
|
|
335
|
+
'socialProof.rating': 'Valutazione',
|
|
336
|
+
'socialProof.reviews': 'recensioni',
|
|
337
|
+
'socialProof.downloads': 'download',
|
|
338
|
+
'countdown.days': 'g',
|
|
339
|
+
'countdown.hours': 'h',
|
|
340
|
+
'countdown.minutes': 'm',
|
|
341
|
+
'countdown.seconds': 's',
|
|
342
|
+
},
|
|
343
|
+
};
|
|
344
|
+
/**
|
|
345
|
+
* Get the current locale from navigator
|
|
346
|
+
*/
|
|
347
|
+
function getCurrentLocale() {
|
|
348
|
+
if (typeof navigator !== 'undefined' && navigator.language) {
|
|
349
|
+
const lang = navigator.language.split('-')[0];
|
|
350
|
+
if (lang in translations) {
|
|
351
|
+
return lang;
|
|
352
|
+
}
|
|
353
|
+
}
|
|
354
|
+
return 'en';
|
|
355
|
+
}
|
|
356
|
+
/**
|
|
357
|
+
* Capivv L10n helper
|
|
358
|
+
*/
|
|
359
|
+
class CapivvL10n {
|
|
360
|
+
locale;
|
|
361
|
+
constructor(locale) {
|
|
362
|
+
this.locale = locale || getCurrentLocale();
|
|
363
|
+
}
|
|
364
|
+
/**
|
|
365
|
+
* Get a localized string by key
|
|
366
|
+
*/
|
|
367
|
+
get(key) {
|
|
368
|
+
return translations[this.locale][key] || translations.en[key] || key;
|
|
369
|
+
}
|
|
370
|
+
/**
|
|
371
|
+
* Get a formatted string with placeholder replacement
|
|
372
|
+
*/
|
|
373
|
+
format(key, ...args) {
|
|
374
|
+
let str = this.get(key);
|
|
375
|
+
args.forEach((arg, index) => {
|
|
376
|
+
str = str.replace(`%${index === 0 ? 'd' : '@'}`, String(arg));
|
|
377
|
+
});
|
|
378
|
+
return str;
|
|
379
|
+
}
|
|
380
|
+
/**
|
|
381
|
+
* Set the locale
|
|
382
|
+
*/
|
|
383
|
+
setLocale(locale) {
|
|
384
|
+
this.locale = locale;
|
|
385
|
+
}
|
|
386
|
+
/**
|
|
387
|
+
* Get the current locale
|
|
388
|
+
*/
|
|
389
|
+
getLocale() {
|
|
390
|
+
return this.locale;
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
// Export singleton instance
|
|
394
|
+
export const l10n = new CapivvL10n();
|
|
395
|
+
// Export class for custom instances
|
|
396
|
+
export { CapivvL10n };
|
|
397
|
+
//# sourceMappingURL=translations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"translations.js","sourceRoot":"","sources":["../../../src/l10n/translations.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Template Definition Types for Dynamic Paywall Rendering
|
|
3
|
+
*
|
|
4
|
+
* These types enable over-the-air template updates without requiring
|
|
5
|
+
* app store releases.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Complete template definition
|
|
9
|
+
*/
|
|
10
|
+
export interface TemplateDefinition {
|
|
11
|
+
components: TemplateComponent[];
|
|
12
|
+
theme?: 'light' | 'dark';
|
|
13
|
+
settings?: TemplateSettings;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Template settings for layout and behavior
|
|
17
|
+
*/
|
|
18
|
+
export interface TemplateSettings {
|
|
19
|
+
componentSpacing?: number;
|
|
20
|
+
horizontalPadding?: number;
|
|
21
|
+
showCloseButton?: boolean;
|
|
22
|
+
closeButtonDelay?: number;
|
|
23
|
+
backgroundStyle?: BackgroundStyle;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Background style configuration
|
|
27
|
+
*/
|
|
28
|
+
export interface BackgroundStyle {
|
|
29
|
+
type: 'solid' | 'gradient' | 'image';
|
|
30
|
+
color?: string;
|
|
31
|
+
gradientColors?: string[];
|
|
32
|
+
imageUrl?: string;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* A single component in the template
|
|
36
|
+
*/
|
|
37
|
+
export interface TemplateComponent {
|
|
38
|
+
id: string;
|
|
39
|
+
type: ComponentType;
|
|
40
|
+
props: ComponentProps;
|
|
41
|
+
order: number;
|
|
42
|
+
children?: TemplateComponent[];
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Component type enumeration
|
|
46
|
+
*/
|
|
47
|
+
export type ComponentType = 'headline' | 'subtitle' | 'text' | 'image' | 'featureList' | 'priceSelector' | 'ctaButton' | 'restoreButton' | 'legal' | 'spacer' | 'container' | 'video' | 'socialProof' | 'faq' | 'carousel' | 'progressIndicator' | 'countdown';
|
|
48
|
+
/**
|
|
49
|
+
* Component properties
|
|
50
|
+
*/
|
|
51
|
+
export interface ComponentProps {
|
|
52
|
+
text?: string;
|
|
53
|
+
alignment?: 'leading' | 'center' | 'trailing';
|
|
54
|
+
fontSize?: 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge';
|
|
55
|
+
fontWeight?: 'light' | 'regular' | 'medium' | 'semibold' | 'bold';
|
|
56
|
+
color?: string;
|
|
57
|
+
imageUrl?: string;
|
|
58
|
+
aspectRatio?: 'square' | 'landscape' | 'portrait' | 'wide';
|
|
59
|
+
features?: FeatureItem[];
|
|
60
|
+
showIcons?: boolean;
|
|
61
|
+
iconColor?: string;
|
|
62
|
+
showPrice?: boolean;
|
|
63
|
+
fullWidth?: boolean;
|
|
64
|
+
backgroundColor?: string;
|
|
65
|
+
cornerRadius?: number;
|
|
66
|
+
height?: number;
|
|
67
|
+
padding?: number;
|
|
68
|
+
videoUrl?: string;
|
|
69
|
+
autoplay?: boolean;
|
|
70
|
+
showControls?: boolean;
|
|
71
|
+
thumbnailUrl?: string;
|
|
72
|
+
averageRating?: number;
|
|
73
|
+
reviewCount?: number;
|
|
74
|
+
downloadCount?: number;
|
|
75
|
+
faqItems?: FAQItem[];
|
|
76
|
+
carouselItems?: CarouselItem[];
|
|
77
|
+
autoRotate?: boolean;
|
|
78
|
+
rotationInterval?: number;
|
|
79
|
+
currentStep?: number;
|
|
80
|
+
totalSteps?: number;
|
|
81
|
+
stepLabels?: string[];
|
|
82
|
+
countdownTo?: string;
|
|
83
|
+
countdownStyle?: 'simple' | 'labeled' | 'boxed' | 'circular';
|
|
84
|
+
showDays?: boolean;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Feature item for feature lists
|
|
88
|
+
*/
|
|
89
|
+
export interface FeatureItem {
|
|
90
|
+
title: string;
|
|
91
|
+
description?: string;
|
|
92
|
+
icon?: string;
|
|
93
|
+
included?: boolean;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* FAQ item for FAQ components
|
|
97
|
+
*/
|
|
98
|
+
export interface FAQItem {
|
|
99
|
+
question: string;
|
|
100
|
+
answer: string;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Carousel item for carousel components
|
|
104
|
+
*/
|
|
105
|
+
export interface CarouselItem {
|
|
106
|
+
imageUrl?: string;
|
|
107
|
+
title?: string;
|
|
108
|
+
description?: string;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Result of fetching a template from the API
|
|
112
|
+
*/
|
|
113
|
+
export interface TemplateLoadResult {
|
|
114
|
+
template: TemplateDefinition | null;
|
|
115
|
+
version: string;
|
|
116
|
+
updatedAt: string;
|
|
117
|
+
cacheTtlSeconds?: number;
|
|
118
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/templates/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { WebPlugin } from '@capacitor/core';
|
|
2
|
+
import type { CapivvPlugin, CapivvConfig, UserAttributes, UserInfo, Offering, Product, ProductType, PurchaseResult, Entitlement, EntitlementCheckResult } from './definitions';
|
|
3
|
+
import type { TemplateDefinition, TemplateLoadResult } from './templates/types';
|
|
4
|
+
/**
|
|
5
|
+
* Web implementation of the Capivv plugin.
|
|
6
|
+
* Uses the Capivv REST API directly for web platforms.
|
|
7
|
+
* Stripe integration can be added for web purchases.
|
|
8
|
+
*/
|
|
9
|
+
export declare class CapivvWeb extends WebPlugin implements CapivvPlugin {
|
|
10
|
+
private capivvConfig;
|
|
11
|
+
private userId;
|
|
12
|
+
private apiUrl;
|
|
13
|
+
configure(config: CapivvConfig): Promise<void>;
|
|
14
|
+
identify(options: {
|
|
15
|
+
userId: string;
|
|
16
|
+
attributes?: UserAttributes;
|
|
17
|
+
}): Promise<UserInfo>;
|
|
18
|
+
logout(): Promise<void>;
|
|
19
|
+
getUserInfo(): Promise<UserInfo>;
|
|
20
|
+
isBillingSupported(): Promise<{
|
|
21
|
+
isSupported: boolean;
|
|
22
|
+
}>;
|
|
23
|
+
getOfferings(): Promise<{
|
|
24
|
+
offerings: Offering[];
|
|
25
|
+
}>;
|
|
26
|
+
getProduct(options: {
|
|
27
|
+
productIdentifier: string;
|
|
28
|
+
productType?: ProductType;
|
|
29
|
+
}): Promise<{
|
|
30
|
+
product: Product;
|
|
31
|
+
}>;
|
|
32
|
+
getProducts(options: {
|
|
33
|
+
productIdentifiers: string[];
|
|
34
|
+
productType?: ProductType;
|
|
35
|
+
}): Promise<{
|
|
36
|
+
products: Product[];
|
|
37
|
+
}>;
|
|
38
|
+
purchase(options: {
|
|
39
|
+
productIdentifier: string;
|
|
40
|
+
productType?: ProductType;
|
|
41
|
+
planIdentifier?: string;
|
|
42
|
+
quantity?: number;
|
|
43
|
+
}): Promise<PurchaseResult>;
|
|
44
|
+
restorePurchases(): Promise<{
|
|
45
|
+
entitlements: Entitlement[];
|
|
46
|
+
}>;
|
|
47
|
+
checkEntitlement(options: {
|
|
48
|
+
entitlementIdentifier: string;
|
|
49
|
+
}): Promise<EntitlementCheckResult>;
|
|
50
|
+
getEntitlements(): Promise<{
|
|
51
|
+
entitlements: Entitlement[];
|
|
52
|
+
}>;
|
|
53
|
+
syncPurchases(): Promise<{
|
|
54
|
+
entitlements: Entitlement[];
|
|
55
|
+
}>;
|
|
56
|
+
manageSubscriptions(): Promise<void>;
|
|
57
|
+
/**
|
|
58
|
+
* Get a paywall template by identifier for OTA updates.
|
|
59
|
+
*/
|
|
60
|
+
getPaywallTemplate(identifier: string): Promise<TemplateLoadResult>;
|
|
61
|
+
/**
|
|
62
|
+
* Get offerings and template in parallel for a paywall.
|
|
63
|
+
*/
|
|
64
|
+
getPaywallWithTemplate(identifier: string): Promise<{
|
|
65
|
+
offerings: Offering[];
|
|
66
|
+
template: TemplateDefinition | null;
|
|
67
|
+
}>;
|
|
68
|
+
private ensureConfigured;
|
|
69
|
+
private ensureIdentified;
|
|
70
|
+
private apiRequest;
|
|
71
|
+
private mapOffering;
|
|
72
|
+
}
|