'Google', 'yandex'=>'Yandex', 'localAiTranslator'=>'Chrome AI Translator', 'google_ai'=>'Gemini', 'openai_ai'=>'OpenAI', 'deepl_ai'=>'DeepL'); if (!is_array($all_data) || !isset($all_data['atfp'])) { $all_data['atfp'] = []; // Ensure $all_data['atfp'] is an array } $totals = array_reduce($all_data['atfp'] ?? [], function($carry, $translation) use (&$service_providers, $avilable_service_providers) { // Ensure $translation['string_count'] is numeric // Ensure all values are properly handled $carry['string_count'] += intval($translation['string_count'] ?? 0); $carry['character_count'] += intval($translation['character_count'] ?? 0); $carry['time_taken'] += intval($translation['time_taken'] ?? 0); if(isset($translation['service_provider']) && !empty($translation['service_provider']) && !in_array($translation['service_provider'], $service_providers) && in_array($translation['service_provider'], array_keys($avilable_service_providers))){ $service_providers[] = $translation['service_provider']; } // Count total translations instead of unique post IDs if (!empty($translation['post_id'])) { $carry['translation_count']++; } return $carry; }, ['string_count' => 0, 'character_count' => 0, 'time_taken' => 0, 'translation_count' => 0]); // Update the time taken string using the new function $time_taken_str = atfp_format_time_taken($totals['time_taken'] ,$text_domain); ?>

<?php echo esc_html__('TranslatePress Addon', $text_domain); ?>

[ 'free' => 'automatic-translator-addon-for-loco-translate/automatic-translator-addon-for-loco-translate.php', 'pro' => 'loco-automatic-translate-addon-pro/loco-automatic-translate-addon-pro.php', 'free_name' => esc_html__('LocoAI – Auto Translate For Loco Translate', $text_domain), 'pro_name' => esc_html__('LocoAI – Auto Translate for Loco Translate (Pro)', $text_domain), ], ]; // Check if the provided plugin slug exists if (!isset($plugin_paths[$plugin_slug])) { return $plugin_slug['free_name']; } $free_installed = isset($plugins[$plugin_paths[$plugin_slug]['free']]); $pro_installed = isset($plugins[$plugin_paths[$plugin_slug]['pro']]); // Determine which version is installed if ($pro_installed) { return $plugin_paths[$plugin_slug]['pro_name']; } elseif ($free_installed) { return $plugin_paths[$plugin_slug]['free_name']; } else { return $plugin_paths[$plugin_slug]['free_name']; } } function atfp_format_number($number, $text_domain) { if ($number >= 1000000000) { return round($number / 1000000000, 1) . esc_html__('B', $text_domain); } elseif ($number >= 1000000) { return round($number / 1000000, 1) . esc_html__('M', $text_domain); } elseif ($number >= 1000) { return round($number / 1000, 1) . esc_html__('K', $text_domain); } return $number; }