[
'title' => __( 'Active service:', 'wpml-translation-management' ),
'deactivate' => __( 'Deactivate', 'wpml-translation-management' ),
'modal_header' => sprintf(
__(
'Enter here your %s authentication details',
'wpml-translation-management'
),
$active_service->get_name()
),
'modal_tip' => $active_service->get_popup_message() ?
$active_service->get_popup_message() :
__( 'You can find API token at %s site', 'wpml-translation-management' ),
'modal_title' => sprintf(
__( '%s authentication', 'wpml-translation-management' ),
$active_service->get_name()
),
'refresh_language_pairs' => __( 'Refresh language pairs', 'wpml-translation-management' ),
'refresh_ts_info' => __( 'Refresh information', 'wpml-translation-management' ),
'documentation_lower' => __( 'documentation', 'wpml-translation-management' ),
'refreshing_ts_message' => __(
'Refreshing translation service information...',
'wpml-translation-management'
),
],
'active_service' => $active_service,
'nonces' => [
\WPML_TP_Refresh_Language_Pairs::AJAX_ACTION => wp_create_nonce( \WPML_TP_Refresh_Language_Pairs::AJAX_ACTION ),
ActivationAjax::REFRESH_TS_INFO_ACTION => wp_create_nonce( ActivationAjax::REFRESH_TS_INFO_ACTION ),
],
'needs_info_refresh' => self::shouldRefreshData( $active_service ),
];
$authentication_message = [];
/* translators: sentence 1/3: create account with the translation service ("%1$s" is the service name) */
$authentication_message[] = __(
'To send content for translation to %1$s, you need to have an %1$s account.',
'wpml-translation-management'
);
/* translators: sentence 2/3: create account with the translation service ("one" is "one account) */
$authentication_message[] = __(
"If you don't have one, you can create it after clicking the authenticate button.",
'wpml-translation-management'
);
/* translators: sentence 3/3: create account with the translation service ("%2$s" is "documentation") */
$authentication_message[] = __(
'Please, check the %2$s page for more details.',
'wpml-translation-management'
);
$model['strings']['authentication'] = [
'description' => implode( ' ', $authentication_message ),
'authenticate_button' => __( 'Authenticate', 'wpml-translation-management' ),
'de_authorize_button' => __( 'De-authorize', 'wpml-translation-management' ),
'update_credentials_button' => __( 'Update credentials', 'wpml-translation-management' ),
'is_authorized' => self::isAuthorizedText( $active_service->get_name() ),
];
return $model;
}
private static function isAuthorizedText( $serviceName ) {
$query_args = [
'page' => WPML_TM_FOLDER . \WPML_Translation_Management::PAGE_SLUG_MANAGEMENT,
'sm' => 'dashboard',
];
$href = add_query_arg( $query_args, admin_url( 'admin.php' ) );
$dashboard = '' .
__( 'Translation Dashboard', 'wpml-translation-management' ) .
'';
$isAuthorized = sprintf(
__( 'Success! You can now send content to %s.', 'wpml-translation-management' ),
$serviceName
);
$isAuthorized .= '
';
// translators: "%s" is replaced with the link to the "Translation Dashboard"
$isAuthorized .= sprintf(
__( 'Go to the %s to choose the content and send it to translation.', 'wpml-translation-management' ),
$dashboard
);
return $isAuthorized;
}
private static function shouldRefreshData( \WPML_TP_Service $active_service ) {
$refresh_time = time() - ( self::HOURS_BEFORE_TS_REFRESH * HOUR_IN_SECONDS );
return ! $active_service->get_last_refresh() || $active_service->get_last_refresh() < $refresh_time;
}
}