merge conflicts
This commit is contained in:
commit
3f44ced2c6
7 changed files with 225 additions and 65 deletions
|
|
@ -3951,5 +3951,7 @@
|
|||
},
|
||||
"freeTrialDesc": "New users recieve a one week free trial of Pangea Chat",
|
||||
"activateTrial": "Activate Trial",
|
||||
"inNoSpaces": "You are not a member of any classes or exchanges"
|
||||
"inNoSpaces": "You are not a member of any classes or exchanges",
|
||||
"successfullySubscribed": "You have successfully subscribed!",
|
||||
"clickToManageSubscription": "Click here to manage your subscription."
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,19 +1,9 @@
|
|||
import 'dart:async';
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
|
||||
import 'package:adaptive_dialog/adaptive_dialog.dart';
|
||||
import 'package:collection/collection.dart';
|
||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||
import 'package:future_loading_dialog/future_loading_dialog.dart';
|
||||
import 'package:go_router/go_router.dart';
|
||||
import 'package:matrix/matrix.dart';
|
||||
import 'package:receive_sharing_intent/receive_sharing_intent.dart';
|
||||
import 'package:uni_links/uni_links.dart';
|
||||
|
||||
// Project imports:
|
||||
import 'package:fluffychat/config/app_config.dart';
|
||||
import 'package:fluffychat/config/themes.dart';
|
||||
import 'package:fluffychat/pages/chat_list/chat_list_view.dart';
|
||||
|
|
@ -24,10 +14,23 @@ import 'package:fluffychat/pangea/utils/add_to_space.dart';
|
|||
import 'package:fluffychat/pangea/utils/chat_list_handle_space_tap.dart';
|
||||
import 'package:fluffychat/pangea/utils/error_handler.dart';
|
||||
import 'package:fluffychat/pangea/utils/firebase_analytics.dart';
|
||||
import 'package:fluffychat/pangea/widgets/subscription/subscription_snackbar.dart';
|
||||
import 'package:fluffychat/utils/localized_exception_extension.dart';
|
||||
import 'package:fluffychat/utils/matrix_sdk_extensions/client_stories_extension.dart';
|
||||
import 'package:fluffychat/utils/matrix_sdk_extensions/matrix_locals.dart';
|
||||
import 'package:fluffychat/utils/platform_infos.dart';
|
||||
import 'package:fluffychat/utils/tor_stub.dart'
|
||||
if (dart.library.html) 'package:tor_detector_web/tor_detector_web.dart';
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||
import 'package:future_loading_dialog/future_loading_dialog.dart';
|
||||
import 'package:go_router/go_router.dart';
|
||||
import 'package:matrix/matrix.dart';
|
||||
import 'package:receive_sharing_intent/receive_sharing_intent.dart';
|
||||
import 'package:uni_links/uni_links.dart';
|
||||
|
||||
import '../../../utils/account_bundles.dart';
|
||||
import '../../utils/matrix_sdk_extensions/matrix_file_extension.dart';
|
||||
import '../../utils/url_launcher.dart';
|
||||
|
|
@ -35,9 +38,6 @@ import '../../utils/voip/callkeep_manager.dart';
|
|||
import '../../widgets/fluffy_chat_app.dart';
|
||||
import '../../widgets/matrix.dart';
|
||||
|
||||
import 'package:fluffychat/utils/tor_stub.dart'
|
||||
if (dart.library.html) 'package:tor_detector_web/tor_detector_web.dart';
|
||||
|
||||
enum SelectMode {
|
||||
normal,
|
||||
share,
|
||||
|
|
@ -445,6 +445,7 @@ class ChatListController extends State<ChatList>
|
|||
//#Pangea
|
||||
StreamSubscription? classStream;
|
||||
StreamSubscription? _invitedSpaceSubscription;
|
||||
StreamSubscription? _subscriptionStatusStream;
|
||||
//Pangea#
|
||||
|
||||
@override
|
||||
|
|
@ -502,6 +503,14 @@ class ChatListController extends State<ChatList>
|
|||
}
|
||||
}
|
||||
});
|
||||
|
||||
_subscriptionStatusStream = pangeaController
|
||||
.subscriptionController.subscriptionStream.stream
|
||||
.listen((event) {
|
||||
if (mounted) {
|
||||
showSubscribedSnackbar(context);
|
||||
}
|
||||
});
|
||||
//Pangea#
|
||||
|
||||
super.initState();
|
||||
|
|
@ -515,6 +524,7 @@ class ChatListController extends State<ChatList>
|
|||
//#Pangea
|
||||
classStream?.cancel();
|
||||
_invitedSpaceSubscription?.cancel();
|
||||
_subscriptionStatusStream?.cancel();
|
||||
//Pangea#
|
||||
scrollController.removeListener(_onScroll);
|
||||
super.dispose();
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
import 'dart:async';
|
||||
import 'dart:convert';
|
||||
|
||||
// Package imports:
|
||||
import 'package:adaptive_dialog/adaptive_dialog.dart';
|
||||
import 'package:fluffychat/config/app_config.dart';
|
||||
import 'package:fluffychat/pangea/controllers/base_controller.dart';
|
||||
|
|
@ -15,7 +14,6 @@ import 'package:fluffychat/pangea/utils/error_handler.dart';
|
|||
import 'package:fluffychat/pangea/utils/firebase_analytics.dart';
|
||||
import 'package:fluffychat/pangea/widgets/subscription/subscription_paywall.dart';
|
||||
import 'package:fluffychat/utils/platform_infos.dart';
|
||||
// Project imports:
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||
|
|
@ -29,6 +27,7 @@ class SubscriptionController extends BaseController {
|
|||
|
||||
//convert this logic to use completer
|
||||
bool initialized = false;
|
||||
final StreamController subscriptionStream = StreamController.broadcast();
|
||||
|
||||
SubscriptionController(PangeaController pangeaController) : super() {
|
||||
_pangeaController = pangeaController;
|
||||
|
|
@ -67,7 +66,13 @@ class SubscriptionController extends BaseController {
|
|||
|
||||
if (!kIsWeb) {
|
||||
Purchases.addCustomerInfoUpdateListener(
|
||||
(CustomerInfo info) => updateCustomerInfo(),
|
||||
(CustomerInfo info) async {
|
||||
final bool wasSubscribed = isSubscribed;
|
||||
await updateCustomerInfo();
|
||||
if (!wasSubscribed && isSubscribed) {
|
||||
subscriptionStream.add(true);
|
||||
}
|
||||
},
|
||||
);
|
||||
}
|
||||
setState();
|
||||
|
|
|
|||
|
|
@ -1,14 +1,18 @@
|
|||
import 'dart:async';
|
||||
|
||||
// Project imports:
|
||||
import 'package:fluffychat/config/app_config.dart';
|
||||
import 'package:fluffychat/pangea/config/environment.dart';
|
||||
import 'package:fluffychat/pangea/controllers/pangea_controller.dart';
|
||||
import 'package:fluffychat/pangea/controllers/subscription_controller.dart';
|
||||
import 'package:fluffychat/pangea/pages/settings_subscription/settings_subscription_view.dart';
|
||||
import 'package:fluffychat/pangea/utils/subscription_app_id.dart';
|
||||
import 'package:fluffychat/pangea/widgets/subscription/subscription_snackbar.dart';
|
||||
import 'package:fluffychat/widgets/matrix.dart';
|
||||
// Project imports:
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:go_router/go_router.dart';
|
||||
// Package imports:
|
||||
import 'package:url_launcher/url_launcher_string.dart';
|
||||
|
||||
class SubscriptionManagement extends StatefulWidget {
|
||||
|
|
@ -23,6 +27,7 @@ class SubscriptionManagementController extends State<SubscriptionManagement> {
|
|||
final PangeaController pangeaController = MatrixState.pangeaController;
|
||||
SubscriptionDetails? selectedSubscription;
|
||||
late StreamSubscription _settingsSubscription;
|
||||
StreamSubscription? _subscriptionStatusStream;
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
|
|
@ -39,6 +44,7 @@ class SubscriptionManagementController extends State<SubscriptionManagement> {
|
|||
void dispose() {
|
||||
super.dispose();
|
||||
_settingsSubscription.cancel();
|
||||
_subscriptionStatusStream?.cancel();
|
||||
}
|
||||
|
||||
bool get currentSubscriptionAvailable =>
|
||||
|
|
@ -119,6 +125,12 @@ class SubscriptionManagementController extends State<SubscriptionManagement> {
|
|||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
_subscriptionStatusStream ??= pangeaController
|
||||
.subscriptionController.subscriptionStream.stream
|
||||
.listen((_) {
|
||||
showSubscribedSnackbar(context);
|
||||
context.go('/rooms');
|
||||
});
|
||||
return SettingsSubscriptionView(this);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import 'package:fluffychat/config/app_config.dart';
|
|||
import 'package:fluffychat/pangea/controllers/pangea_controller.dart';
|
||||
import 'package:fluffychat/pangea/controllers/subscription_controller.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
// Package imports:
|
||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||
|
||||
class SubscriptionOptions extends StatelessWidget {
|
||||
|
|
@ -75,7 +76,11 @@ class SubscriptionCard extends StatelessWidget {
|
|||
OutlinedButton(
|
||||
onPressed: () {
|
||||
pangeaController.subscriptionController
|
||||
.submitSubscriptionChange(subscription, context);
|
||||
.submitSubscriptionChange(
|
||||
subscription,
|
||||
context,
|
||||
);
|
||||
Navigator.of(context).pop();
|
||||
},
|
||||
child: Text(L10n.of(context)!.subscribe),
|
||||
),
|
||||
|
|
|
|||
34
lib/pangea/widgets/subscription/subscription_snackbar.dart
Normal file
34
lib/pangea/widgets/subscription/subscription_snackbar.dart
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
import 'package:fluffychat/config/app_config.dart';
|
||||
import 'package:flutter/gestures.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||
import 'package:go_router/go_router.dart';
|
||||
|
||||
void showSubscribedSnackbar(BuildContext context) {
|
||||
final Widget text = RichText(
|
||||
text: TextSpan(
|
||||
children: [
|
||||
TextSpan(
|
||||
text: L10n.of(context)!.successfullySubscribed,
|
||||
style: TextStyle(
|
||||
color: Theme.of(context).brightness == Brightness.light
|
||||
? Colors.white
|
||||
: Colors.black,
|
||||
),
|
||||
),
|
||||
const TextSpan(text: " "),
|
||||
TextSpan(
|
||||
text: L10n.of(context)!.clickToManageSubscription,
|
||||
style: const TextStyle(color: AppConfig.primaryColor),
|
||||
recognizer: TapGestureRecognizer()
|
||||
..onTap = () => context.go('/rooms/settings/subscription'),
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(
|
||||
content: text,
|
||||
),
|
||||
);
|
||||
}
|
||||
|
|
@ -759,7 +759,9 @@
|
|||
"trialExpiration",
|
||||
"freeTrialDesc",
|
||||
"activateTrial",
|
||||
"inNoSpaces"
|
||||
"inNoSpaces",
|
||||
"successfullySubscribed",
|
||||
"clickToManageSubscription"
|
||||
],
|
||||
|
||||
"bn": [
|
||||
|
|
@ -1527,7 +1529,9 @@
|
|||
"trialExpiration",
|
||||
"freeTrialDesc",
|
||||
"activateTrial",
|
||||
"inNoSpaces"
|
||||
"inNoSpaces",
|
||||
"successfullySubscribed",
|
||||
"clickToManageSubscription"
|
||||
],
|
||||
|
||||
"bo": [
|
||||
|
|
@ -2295,7 +2299,9 @@
|
|||
"trialExpiration",
|
||||
"freeTrialDesc",
|
||||
"activateTrial",
|
||||
"inNoSpaces"
|
||||
"inNoSpaces",
|
||||
"successfullySubscribed",
|
||||
"clickToManageSubscription"
|
||||
],
|
||||
|
||||
"ca": [
|
||||
|
|
@ -3058,7 +3064,9 @@
|
|||
"trialExpiration",
|
||||
"freeTrialDesc",
|
||||
"activateTrial",
|
||||
"inNoSpaces"
|
||||
"inNoSpaces",
|
||||
"successfullySubscribed",
|
||||
"clickToManageSubscription"
|
||||
],
|
||||
|
||||
"cs": [
|
||||
|
|
@ -3821,7 +3829,9 @@
|
|||
"trialExpiration",
|
||||
"freeTrialDesc",
|
||||
"activateTrial",
|
||||
"inNoSpaces"
|
||||
"inNoSpaces",
|
||||
"successfullySubscribed",
|
||||
"clickToManageSubscription"
|
||||
],
|
||||
|
||||
"de": [
|
||||
|
|
@ -4584,7 +4594,9 @@
|
|||
"trialExpiration",
|
||||
"freeTrialDesc",
|
||||
"activateTrial",
|
||||
"inNoSpaces"
|
||||
"inNoSpaces",
|
||||
"successfullySubscribed",
|
||||
"clickToManageSubscription"
|
||||
],
|
||||
|
||||
"el": [
|
||||
|
|
@ -5352,7 +5364,9 @@
|
|||
"trialExpiration",
|
||||
"freeTrialDesc",
|
||||
"activateTrial",
|
||||
"inNoSpaces"
|
||||
"inNoSpaces",
|
||||
"successfullySubscribed",
|
||||
"clickToManageSubscription"
|
||||
],
|
||||
|
||||
"eo": [
|
||||
|
|
@ -6115,7 +6129,9 @@
|
|||
"trialExpiration",
|
||||
"freeTrialDesc",
|
||||
"activateTrial",
|
||||
"inNoSpaces"
|
||||
"inNoSpaces",
|
||||
"successfullySubscribed",
|
||||
"clickToManageSubscription"
|
||||
],
|
||||
|
||||
"es": [
|
||||
|
|
@ -6142,7 +6158,9 @@
|
|||
"trialExpiration",
|
||||
"freeTrialDesc",
|
||||
"activateTrial",
|
||||
"inNoSpaces"
|
||||
"inNoSpaces",
|
||||
"successfullySubscribed",
|
||||
"clickToManageSubscription"
|
||||
],
|
||||
|
||||
"et": [
|
||||
|
|
@ -6905,7 +6923,9 @@
|
|||
"trialExpiration",
|
||||
"freeTrialDesc",
|
||||
"activateTrial",
|
||||
"inNoSpaces"
|
||||
"inNoSpaces",
|
||||
"successfullySubscribed",
|
||||
"clickToManageSubscription"
|
||||
],
|
||||
|
||||
"eu": [
|
||||
|
|
@ -7668,7 +7688,9 @@
|
|||
"trialExpiration",
|
||||
"freeTrialDesc",
|
||||
"activateTrial",
|
||||
"inNoSpaces"
|
||||
"inNoSpaces",
|
||||
"successfullySubscribed",
|
||||
"clickToManageSubscription"
|
||||
],
|
||||
|
||||
"fa": [
|
||||
|
|
@ -8431,7 +8453,9 @@
|
|||
"trialExpiration",
|
||||
"freeTrialDesc",
|
||||
"activateTrial",
|
||||
"inNoSpaces"
|
||||
"inNoSpaces",
|
||||
"successfullySubscribed",
|
||||
"clickToManageSubscription"
|
||||
],
|
||||
|
||||
"fi": [
|
||||
|
|
@ -9194,7 +9218,9 @@
|
|||
"trialExpiration",
|
||||
"freeTrialDesc",
|
||||
"activateTrial",
|
||||
"inNoSpaces"
|
||||
"inNoSpaces",
|
||||
"successfullySubscribed",
|
||||
"clickToManageSubscription"
|
||||
],
|
||||
|
||||
"fr": [
|
||||
|
|
@ -9957,7 +9983,9 @@
|
|||
"trialExpiration",
|
||||
"freeTrialDesc",
|
||||
"activateTrial",
|
||||
"inNoSpaces"
|
||||
"inNoSpaces",
|
||||
"successfullySubscribed",
|
||||
"clickToManageSubscription"
|
||||
],
|
||||
|
||||
"ga": [
|
||||
|
|
@ -10720,7 +10748,9 @@
|
|||
"trialExpiration",
|
||||
"freeTrialDesc",
|
||||
"activateTrial",
|
||||
"inNoSpaces"
|
||||
"inNoSpaces",
|
||||
"successfullySubscribed",
|
||||
"clickToManageSubscription"
|
||||
],
|
||||
|
||||
"gl": [
|
||||
|
|
@ -11483,7 +11513,9 @@
|
|||
"trialExpiration",
|
||||
"freeTrialDesc",
|
||||
"activateTrial",
|
||||
"inNoSpaces"
|
||||
"inNoSpaces",
|
||||
"successfullySubscribed",
|
||||
"clickToManageSubscription"
|
||||
],
|
||||
|
||||
"he": [
|
||||
|
|
@ -12246,7 +12278,9 @@
|
|||
"trialExpiration",
|
||||
"freeTrialDesc",
|
||||
"activateTrial",
|
||||
"inNoSpaces"
|
||||
"inNoSpaces",
|
||||
"successfullySubscribed",
|
||||
"clickToManageSubscription"
|
||||
],
|
||||
|
||||
"hi": [
|
||||
|
|
@ -13014,7 +13048,9 @@
|
|||
"trialExpiration",
|
||||
"freeTrialDesc",
|
||||
"activateTrial",
|
||||
"inNoSpaces"
|
||||
"inNoSpaces",
|
||||
"successfullySubscribed",
|
||||
"clickToManageSubscription"
|
||||
],
|
||||
|
||||
"hr": [
|
||||
|
|
@ -13777,7 +13813,9 @@
|
|||
"trialExpiration",
|
||||
"freeTrialDesc",
|
||||
"activateTrial",
|
||||
"inNoSpaces"
|
||||
"inNoSpaces",
|
||||
"successfullySubscribed",
|
||||
"clickToManageSubscription"
|
||||
],
|
||||
|
||||
"hu": [
|
||||
|
|
@ -14540,7 +14578,9 @@
|
|||
"trialExpiration",
|
||||
"freeTrialDesc",
|
||||
"activateTrial",
|
||||
"inNoSpaces"
|
||||
"inNoSpaces",
|
||||
"successfullySubscribed",
|
||||
"clickToManageSubscription"
|
||||
],
|
||||
|
||||
"id": [
|
||||
|
|
@ -15303,7 +15343,9 @@
|
|||
"trialExpiration",
|
||||
"freeTrialDesc",
|
||||
"activateTrial",
|
||||
"inNoSpaces"
|
||||
"inNoSpaces",
|
||||
"successfullySubscribed",
|
||||
"clickToManageSubscription"
|
||||
],
|
||||
|
||||
"ie": [
|
||||
|
|
@ -16068,7 +16110,9 @@
|
|||
"trialExpiration",
|
||||
"freeTrialDesc",
|
||||
"activateTrial",
|
||||
"inNoSpaces"
|
||||
"inNoSpaces",
|
||||
"successfullySubscribed",
|
||||
"clickToManageSubscription"
|
||||
],
|
||||
|
||||
"it": [
|
||||
|
|
@ -16831,7 +16875,9 @@
|
|||
"trialExpiration",
|
||||
"freeTrialDesc",
|
||||
"activateTrial",
|
||||
"inNoSpaces"
|
||||
"inNoSpaces",
|
||||
"successfullySubscribed",
|
||||
"clickToManageSubscription"
|
||||
],
|
||||
|
||||
"ja": [
|
||||
|
|
@ -17594,7 +17640,9 @@
|
|||
"trialExpiration",
|
||||
"freeTrialDesc",
|
||||
"activateTrial",
|
||||
"inNoSpaces"
|
||||
"inNoSpaces",
|
||||
"successfullySubscribed",
|
||||
"clickToManageSubscription"
|
||||
],
|
||||
|
||||
"ko": [
|
||||
|
|
@ -18357,7 +18405,9 @@
|
|||
"trialExpiration",
|
||||
"freeTrialDesc",
|
||||
"activateTrial",
|
||||
"inNoSpaces"
|
||||
"inNoSpaces",
|
||||
"successfullySubscribed",
|
||||
"clickToManageSubscription"
|
||||
],
|
||||
|
||||
"lt": [
|
||||
|
|
@ -19120,7 +19170,9 @@
|
|||
"trialExpiration",
|
||||
"freeTrialDesc",
|
||||
"activateTrial",
|
||||
"inNoSpaces"
|
||||
"inNoSpaces",
|
||||
"successfullySubscribed",
|
||||
"clickToManageSubscription"
|
||||
],
|
||||
|
||||
"lv": [
|
||||
|
|
@ -19888,7 +19940,9 @@
|
|||
"trialExpiration",
|
||||
"freeTrialDesc",
|
||||
"activateTrial",
|
||||
"inNoSpaces"
|
||||
"inNoSpaces",
|
||||
"successfullySubscribed",
|
||||
"clickToManageSubscription"
|
||||
],
|
||||
|
||||
"nb": [
|
||||
|
|
@ -20651,7 +20705,9 @@
|
|||
"trialExpiration",
|
||||
"freeTrialDesc",
|
||||
"activateTrial",
|
||||
"inNoSpaces"
|
||||
"inNoSpaces",
|
||||
"successfullySubscribed",
|
||||
"clickToManageSubscription"
|
||||
],
|
||||
|
||||
"nl": [
|
||||
|
|
@ -21414,7 +21470,9 @@
|
|||
"trialExpiration",
|
||||
"freeTrialDesc",
|
||||
"activateTrial",
|
||||
"inNoSpaces"
|
||||
"inNoSpaces",
|
||||
"successfullySubscribed",
|
||||
"clickToManageSubscription"
|
||||
],
|
||||
|
||||
"pl": [
|
||||
|
|
@ -22177,7 +22235,9 @@
|
|||
"trialExpiration",
|
||||
"freeTrialDesc",
|
||||
"activateTrial",
|
||||
"inNoSpaces"
|
||||
"inNoSpaces",
|
||||
"successfullySubscribed",
|
||||
"clickToManageSubscription"
|
||||
],
|
||||
|
||||
"pt": [
|
||||
|
|
@ -22945,7 +23005,9 @@
|
|||
"trialExpiration",
|
||||
"freeTrialDesc",
|
||||
"activateTrial",
|
||||
"inNoSpaces"
|
||||
"inNoSpaces",
|
||||
"successfullySubscribed",
|
||||
"clickToManageSubscription"
|
||||
],
|
||||
|
||||
"pt_BR": [
|
||||
|
|
@ -23708,7 +23770,9 @@
|
|||
"trialExpiration",
|
||||
"freeTrialDesc",
|
||||
"activateTrial",
|
||||
"inNoSpaces"
|
||||
"inNoSpaces",
|
||||
"successfullySubscribed",
|
||||
"clickToManageSubscription"
|
||||
],
|
||||
|
||||
"pt_PT": [
|
||||
|
|
@ -24471,7 +24535,9 @@
|
|||
"trialExpiration",
|
||||
"freeTrialDesc",
|
||||
"activateTrial",
|
||||
"inNoSpaces"
|
||||
"inNoSpaces",
|
||||
"successfullySubscribed",
|
||||
"clickToManageSubscription"
|
||||
],
|
||||
|
||||
"ro": [
|
||||
|
|
@ -25234,7 +25300,9 @@
|
|||
"trialExpiration",
|
||||
"freeTrialDesc",
|
||||
"activateTrial",
|
||||
"inNoSpaces"
|
||||
"inNoSpaces",
|
||||
"successfullySubscribed",
|
||||
"clickToManageSubscription"
|
||||
],
|
||||
|
||||
"ru": [
|
||||
|
|
@ -25997,7 +26065,9 @@
|
|||
"trialExpiration",
|
||||
"freeTrialDesc",
|
||||
"activateTrial",
|
||||
"inNoSpaces"
|
||||
"inNoSpaces",
|
||||
"successfullySubscribed",
|
||||
"clickToManageSubscription"
|
||||
],
|
||||
|
||||
"sk": [
|
||||
|
|
@ -26761,7 +26831,9 @@
|
|||
"trialExpiration",
|
||||
"freeTrialDesc",
|
||||
"activateTrial",
|
||||
"inNoSpaces"
|
||||
"inNoSpaces",
|
||||
"successfullySubscribed",
|
||||
"clickToManageSubscription"
|
||||
],
|
||||
|
||||
"sl": [
|
||||
|
|
@ -27527,7 +27599,9 @@
|
|||
"trialExpiration",
|
||||
"freeTrialDesc",
|
||||
"activateTrial",
|
||||
"inNoSpaces"
|
||||
"inNoSpaces",
|
||||
"successfullySubscribed",
|
||||
"clickToManageSubscription"
|
||||
],
|
||||
|
||||
"sr": [
|
||||
|
|
@ -28290,7 +28364,9 @@
|
|||
"trialExpiration",
|
||||
"freeTrialDesc",
|
||||
"activateTrial",
|
||||
"inNoSpaces"
|
||||
"inNoSpaces",
|
||||
"successfullySubscribed",
|
||||
"clickToManageSubscription"
|
||||
],
|
||||
|
||||
"sv": [
|
||||
|
|
@ -29053,7 +29129,9 @@
|
|||
"trialExpiration",
|
||||
"freeTrialDesc",
|
||||
"activateTrial",
|
||||
"inNoSpaces"
|
||||
"inNoSpaces",
|
||||
"successfullySubscribed",
|
||||
"clickToManageSubscription"
|
||||
],
|
||||
|
||||
"ta": [
|
||||
|
|
@ -29821,7 +29899,9 @@
|
|||
"trialExpiration",
|
||||
"freeTrialDesc",
|
||||
"activateTrial",
|
||||
"inNoSpaces"
|
||||
"inNoSpaces",
|
||||
"successfullySubscribed",
|
||||
"clickToManageSubscription"
|
||||
],
|
||||
|
||||
"th": [
|
||||
|
|
@ -30589,7 +30669,9 @@
|
|||
"trialExpiration",
|
||||
"freeTrialDesc",
|
||||
"activateTrial",
|
||||
"inNoSpaces"
|
||||
"inNoSpaces",
|
||||
"successfullySubscribed",
|
||||
"clickToManageSubscription"
|
||||
],
|
||||
|
||||
"tr": [
|
||||
|
|
@ -31352,7 +31434,9 @@
|
|||
"trialExpiration",
|
||||
"freeTrialDesc",
|
||||
"activateTrial",
|
||||
"inNoSpaces"
|
||||
"inNoSpaces",
|
||||
"successfullySubscribed",
|
||||
"clickToManageSubscription"
|
||||
],
|
||||
|
||||
"uk": [
|
||||
|
|
@ -32115,7 +32199,9 @@
|
|||
"trialExpiration",
|
||||
"freeTrialDesc",
|
||||
"activateTrial",
|
||||
"inNoSpaces"
|
||||
"inNoSpaces",
|
||||
"successfullySubscribed",
|
||||
"clickToManageSubscription"
|
||||
],
|
||||
|
||||
"vi": [
|
||||
|
|
@ -32881,7 +32967,9 @@
|
|||
"trialExpiration",
|
||||
"freeTrialDesc",
|
||||
"activateTrial",
|
||||
"inNoSpaces"
|
||||
"inNoSpaces",
|
||||
"successfullySubscribed",
|
||||
"clickToManageSubscription"
|
||||
],
|
||||
|
||||
"zh": [
|
||||
|
|
@ -33644,7 +33732,9 @@
|
|||
"trialExpiration",
|
||||
"freeTrialDesc",
|
||||
"activateTrial",
|
||||
"inNoSpaces"
|
||||
"inNoSpaces",
|
||||
"successfullySubscribed",
|
||||
"clickToManageSubscription"
|
||||
],
|
||||
|
||||
"zh_Hant": [
|
||||
|
|
@ -34407,6 +34497,8 @@
|
|||
"trialExpiration",
|
||||
"freeTrialDesc",
|
||||
"activateTrial",
|
||||
"inNoSpaces"
|
||||
"inNoSpaces",
|
||||
"successfullySubscribed",
|
||||
"clickToManageSubscription"
|
||||
]
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue