TablePress bohužiaľ nepodporuje WPML and prekladací editor ATE. Preto sa vám pri preklade podstránky nezobrazí možnosť zmeniť tabuľku na inú, ktoré je preložená.

Najjednoduchší spôsob, aký zobraziť tabuľku v inom jazyku na preloženej podstránke, je nasledovný:

Úvodné nastavenie

Choďte do WPML > Settings > Post Types Translation a v zozname pre TablePress Tables (tablepress_table) zmeňte nastavenie na Translatable – use translation if available or fallback to default language. Nastavenia uložte pod tabuľkou.

Do vašej child témy do súboru functions.php vložte tento kód:

/**
 * Shortcode: Display TablePress table based on the current language
 *
 * @author Brandbonsai.com
 */
add_shortcode( 'bonsai_tables', 'run_shortcode_bonsai_tables' );
function run_shortcode_bonsai_tables( $atts ) {

    $default_lang = 'sk';

    // GET current language via WPML; fallback to 'sk'.
    $current_lang = apply_filters( 'wpml_current_language', null );
    $current_lang = is_string( $current_lang ) && $current_lang !== '' ? strtolower( $current_lang ) : 'sk';

    // Current lang ID set
    if( isset( $atts[$current_lang] ) ) {
        return do_shortcode( '[ table id="' . (int) $atts[$current_lang] . '"]' );
    }

    // Current lang NOT set
    // Display default
    if( isset( $atts[$default_lang] ) )
        return do_shortcode( '[ table id="' . (int) $atts[$default_lang] . '"]' );
    }

    // No ID set
    return __( 'Prosím zadajte ID tabuliek vo formáte sk="ID" en="ID".', 'brandbonsai' );

}

Preloženie tabuľky

Choďte do TablePress > Všetky tabuľky, vytvorte kópiu tabuľky, ktorú chcete preložiť, upravte danú tabuľku, preložte jej obsah a tabuľku uložte. V zozname tabuliek si poznačte ID tabuľky v každom jazyku.

V zozname tabuliek kliknite na stĺpec Meno tabuľky, čo zoradí tabuľky podľa ich názvu. Takto budete vidieť jazykové verzie rovnakej tabuľky vedľa seba.

Automatické preloženie obsahu tabuľky

Skopírujte obsah tabuľky v slovenčine.

V Google Sheets vytvorte novú tabuľku a vložte do nej slovenský obsah.

Vytvorte novú záložku.

Do prvej bunky vložte tento kód a stlačte enter:

=MAP(Sheet1!A1:Z,
  LAMBDA(x,
    IF(ISTEXT(x),
      IF(x="","", GOOGLETRANSLATE(x,"auto","en")),
      x
    )
  )
)

Preložený obsah skopírujte a vložte späť do tabuľky na vašom webe.

Otvorte podstránku, do ktorej chcete vložiť viacjazyčnú tabuľku.

Namiesto pridanie bloku TablePress, alebo shortcode [table id=1 /], vložte tento shortcode:

[ bonsai_tables sk="1" en="2"]

Podstránku uložte.

Choďte do WPML > Translations a aktualizujte preklad danej podstránky.

Zobrazte preloženú podstránku, vaša tabuľka by sa mala zobraziť preložená.

V kódoch v tomto článku je za znakom [ medzera. Táto medzeru musíte odstrániť. Je tam iba preto, aby sa v článku zobrazil tento kód a nespustil priamo daný shortcode.

Zanechajte nám komentár

Share