wenpai.org/wp-content/plugins/wporg-gp-translation-suggestions/inc/routes/class-translation-ai.php
2024-06-21 23:57:39 +08:00

43 lines
1.2 KiB
PHP

<?php
namespace WordPressdotorg\GlotPress\TranslationSuggestions\Routes;
use GP;
use GP_Route;
use WordPressdotorg\GlotPress\TranslationSuggestions\Translation_AI_Client;
use const WordPressdotorg\GlotPress\TranslationSuggestions\PLUGIN_DIR;
class Translation_AI extends GP_Route {
public function get_suggestions( $project_path, $locale_slug, $set_slug ) {
$original_id = gp_get( 'original' );
$nonce = gp_get( 'nonce' );
if ( ! wp_verify_nonce( $nonce, 'translation-ai-suggestions-' . $original_id ) ) {
wp_send_json_error( 'invalid_nonce' );
}
if ( empty( $original_id ) ) {
wp_send_json_error( 'no_original' );
}
$original = GP::$original->get( $original_id );
if ( ! $original ) {
wp_send_json_error( 'invalid_original' );
}
$locale = $locale_slug;
if ( 'default' !== $set_slug ) {
$locale .= '_' . $set_slug;
}
$suggestions = Translation_AI_Client::query( $original->singular, $locale );
if ( is_wp_error( $suggestions ) ) {
wp_send_json_error( $suggestions->get_error_code() );
}
wp_send_json_success( gp_tmpl_get_output( 'translation-ai-suggestions', [ 'suggestions' => $suggestions ], PLUGIN_DIR . '/templates/' ) );
}
}