web-dev-qa-db-de.com

Die Lokalisierung von benutzerdefinierten Beitragstypen und Taxonomien funktioniert nicht

nach ein paar stunden im netz habe ich mich entschlossen hier mein problem zu stellen. Ich bin in einer Umgebung mit mehreren Standorten und habe diesen benutzerdefinierten Post-Typ-Code:

$products_labels = array(
    'name'                => _x( 'Prodotti', 'General post type name', 'textdomain' ),
    'singular_name'       => _x( 'Prodotto', 'General post type name', 'textdomain' ),
    'menu_name'           => _x( 'Prodotti', 'General post type menu label', 'textdomain' ),
    'parent_item_colon'   => __( 'Genitore elemento:', 'textdomain' ),
    'all_items'           => __( 'Tutti gli elementi', 'textdomain' ),
    'view_item'           => __( 'Vedi', 'textdomain' ),
    'add_new_item'        => __( 'Aggiungi nuovo elemento', 'textdomain' ),
    'add_new'             => __( 'Aggiungi nuovo', 'textdomain' ),
    'edit_item'           => __( 'Modifica', 'textdomain' ),
    'update_item'         => __( 'Aggiorna', 'textdomain' ),
    'search_items'        => __( 'Cerca', 'textdomain' ),
    'not_found'           => __( 'Non trovato', 'textdomain' ),
    'not_found_in_trash'  => __( 'Non trovato nel cestino', 'textdomain' ),
);
$products_args = array(
    'label'               => __( 'Prodotti', 'textdomain' ),
    'description'         => __( 'Prodotti', 'textdomain' ),
    'labels'              => $products_labels,
    'supports'            => array( 'title', 'thumbnail', 'editor', 'excerpt', 'revisions', 'page-attributes' ),
    'taxonomies'          => array( 'product_category' ),
    'hierarchical'        => false,
    'public'              => true,
    'show_ui'             => true,
    'show_in_menu'        => true,
    'show_in_nav_menus'   => true,
    'show_in_admin_bar'   => true,
    'menu_position'       => 5,
    'menu_icon'           => '',
    'can_export'          => true,
    'has_archive'         => true,
    'exclude_from_search' => false,
    'publicly_queryable'  => true,
    'capability_type'     => 'page',
);

Eine meiner Seiten ist in deutscher Sprache und das Backoffice wurde auch in deutscher Sprache eingerichtet. Alle Zeichenfolgen sind korrekt übersetzt (das Frontend funktioniert ohne Probleme) und die Datei de_DE.mo ist gut geladen, aber die Bezeichnungen aus der Sicht des Administrators sind nicht lokalisiert und ich kann nicht verstehen, warum nicht :(

Dies ist die Ladetextdomäne

load_theme_textdomain( 'textdomain', THEMEPATH . '/languages' );

bitte finden Sie das angehängte Bild enter image description here

Hoffe du kannst mir helfen :(

AKTUALISIEREN:

Mir ist aufgefallen, dass nicht alle in functions.php geschriebenen Zeichenfolgen übersetzt sind. Die einzige Möglichkeit, sie zu übersetzen, besteht darin, Zeichenfolgen in eine neue Funktion einzufügen, die bei der Init-Aktion aufgerufen wird.

beispiel:

NICHT ÜBERSETZT

$str = __('My string','textdomain');

ÜBERSETZT:

function my_function_name()
{
    $str = __('My string','textdomain');
    echo $str;
}

add_action('init','my_function_name', 0);

UPDATE 2:

Gelöst. Sie müssen die load_theme_textdomain nicht durch eine Aktion laden, sondern direkt als erste Zeile in die Datei functions.php geschrieben. Jetzt sind meine benutzerdefinierten Post-Typenschilder endlich übersetzt :)

2
user2660802

Gelöst. Sie müssen die load_theme_textdomain nicht durch eine Aktion laden, sondern direkt als erste Zeile in die Datei functions.php geschrieben. Jetzt sind meine benutzerdefinierten Post-Typenschilder endlich übersetzt :)

1
user2660802

Laut der Dokumentation sollteafter_setup_theme als Hook zum Laden von Übersetzungen verwendet werden.

add_action( 'after_setup_theme', 'my_theme_setup' );
function my_theme_setup(){
    load_theme_textdomain( 'my-theme', get_template_directory() . '/languages' );
}
0
Adrian