$text_source ) { if ( isset( $texts_unknow_translated[ $key ] ) ) { $translations_new[] = array( 'source' => $text_source, 'translation' => $texts_unknow_translated[ $key ], ); } } $translations_new = wplng_save_translations( $translations_new, $language_target_id ); /** * Separate page translations */ $translations_in_page = array(); foreach ( $translations as $translation ) { foreach ( $texts as $text ) { $text = wplng_text_esc( $text ); if ( ! empty( $translation['source'] ) && $translation['source'] === $text ) { $translations_in_page[] = $translation; } } } /** * Merge know and new translations */ $translations = array_merge( $translations_in_page, $translations_new ); /** * Place the modal HTML before body ending */ $html_saved = str_replace( '', wplng_get_editor_modal_html( $translations ) . '', $html_saved ); /** * Apply a filter before return $html */ $html = apply_filters( 'wplng_html_translated', $html ); return $html_saved; } function wplng_get_editor_modal_html( $translations ) { if ( empty( $translations ) ) { return ''; } /** * Return button */ $url = wplng_get_url_current(); $url_original = $url; $url_original = remove_query_arg( 'wplingua-editor', $url_original ); $url_original = remove_query_arg( 'wplingua-list', $url_original ); $return_button = ''; if ( ! empty( $url_original ) ) { $return_button .= ' 'grey-simple-smooth', 'style' => 'dropdown', 'flags' => 'rectangular', 'title' => 'name', ) ); /** * Create the switcher HTML */ $html = '
'; $html .= '
'; $html .= ''; // End .wplng-languages // Create link for current language if ( $language_website['id'] === $language_current_id ) { $url = wplng_get_url_original(); $html .= ''; } $html .= ''; $html .= esc_html( $language_website['name'] ); $html .= ''; $html .= ''; } else { foreach ( $languages_target as $language_target ) { if ( $language_target['id'] !== $language_current_id ) { continue; } $url = wplng_get_url_current_for_language( $language_target['id'] ); $html .= ''; } $html .= ''; $html .= esc_html( $language_target['name'] ); $html .= ''; $html .= ''; break; } } $html .= '
'; // End .switcher-content $html .= '
'; // End .wplng-switcher return $html; }