translation_manager = $translation_manager; $this->language_manager = $language_manager; $this->actions = $actions; $this->flags = new FlagRegistry(); } /** * Renders the language selector on a taxonomy add form. * * @param string $taxonomy Taxonomy name. * @return void */ public function render_add_fields( $taxonomy ) { $selected_language = (string) $this->new_term_language_id( $taxonomy ); wp_nonce_field( 'shapetranslate_add_term_language_' . $taxonomy, 'shapetranslate_term_language_nonce' ); ?>
render_language_select( $selected_language, '' ); ?>

translation_manager->get_term_language_id( $term->term_id, $term->taxonomy ); $selected_language = '' !== $current_language_id ? $current_language_id : (string) $this->new_term_language_id( $term->taxonomy ); wp_nonce_field( 'shapetranslate_edit_term_language_' . $term->taxonomy . '_' . $term->term_id, 'shapetranslate_term_language_nonce' ); ?> render_language_select( $selected_language, $current_language_id ); ?>

render_translations( $term, $current_language_id ); ?> language_manager->get_default_id(), (string) $taxonomy ); } /** * Renders an enabled-language selector while retaining a disabled assignment. * * @param string $selected_language_id Selected language identifier. * @param string $current_language_id Persisted language identifier. * @return void */ private function render_language_select( $selected_language_id, $current_language_id ) { ?>

translation_manager->get_translations( $term->term_id, $term->taxonomy ); ?> $language Language record. * @param string $current_language_id Current language identifier. * @param array $translations Translation map. * @return void */ private function render_language_action( WP_Term $term, $language, $current_language_id, $translations ) { $language_id = $language['id']; $target_id = isset( $translations[ $language_id ] ) ? absint( $translations[ $language_id ] ) : 0; $add_label = sprintf( /* translators: %s: native language name. */ __( 'Add %s translation', 'shapetranslate' ), $language['native_name'] ); ?>
  • flags->get_flag_html( $language ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- Sanitized by FlagRegistry::get_flag_html(). ?> render_existing_translation( $target_id, $term->taxonomy, $language ); ?> actions->can_create_translation( $term ) ) : ?>
  • $language Target language record. * @return void */ private function render_existing_translation( $term_id, $taxonomy, $language ) { $edit_url = current_user_can( 'edit_term', $term_id ) ? $this->actions->get_edit_url( $term_id, $taxonomy ) : ''; $label = sprintf( /* translators: %s: language name. */ __( 'Edit %s translation', 'shapetranslate' ), $language['native_name'] ); if ( '' !== $edit_url ) { ?>