w moim temacie chcę zdefiniować szereg niestandardowych typów postów i niestandardowych taksonomii, z których każdy ma swój własny dostosowany ślimak; podstawowym językiem mojego motywu jest angielski, dlatego ślimaki będą w języku angielskim
na przykład podczas definiowania informacji o niestandardowym typie postu „produkt” argumentuje:
'rewrite' => array( 'slug' => 'product' ),
czy jest jakiś sposób na przetłumaczenie „ślimaka” przez pliki po / mo? czy mogę to ująć jako:
'rewrite' => array( 'slug' => __('product', 'mytextdomain') )
czy to nie zadziała? jaka jest obecna praktyka lokalizowania ślimaków?
prensa
z zestawem informacji o pracyprensa
. Przy użyciu WPML przetłumaczona strona jest taka,press
jak nie może byćprensa
ponownie: / pl / press /, która niczego nie wyświetla (zauważ, że teraz kliknięcie linku ES nie spowoduje powrotu do / prensa /). ALE, jeśli odwiedzasz / pl / prensa / to działa ...Odpowiedzi:
Nie próbowałbym zlokalizować twoich ślimaków. Zamiast tego dlaczego nie dać użytkownikom możliwości ich zmiany, dodając kolejne pole do strony ustawień łącza bezpośredniego?
Podłącz się
load-options-permalink.php
i skonfiguruj kilka rzeczy, aby złapać$_POST
dane i zapisać swój ślimak. Dodaj także pole ustawień do strony.Następnie funkcja oddzwaniania dla pola ustawień:
Następnie, gdy zarejestrujesz swój typ posta, złap za ślimak
get_option
. Jeśli go nie ma, użyj domyślnego.Oto część pola ustawień jako wtyczka https://gist.github.com/1275867
EDYCJA: Kolejna opcja
Można również zmienić ślimak w oparciu o to, co zdefiniowano w
WPLANG
stałej.Wystarczy napisać szybką funkcję, która przechowuje dane ...
Następnie weź ślimak, w którym rejestrujesz swój niestandardowy typ postu.
Najlepszą opcją, IMO, byłoby zarówno zaoferowanie użytkownikowi opcji, jak i zapewnienie stałych wartości domyślnych:
źródło
wpse30021
?Jeśli to nie zadziała, to po prostu po prostu:
źródło
Robię dokładnie to, co rozwijamy. Jest dostępny w 5 różnych językach, a każdy język ma przetłumaczony zestaw kategorii. Pierwszy składnik adresu URL w kompozycji jest analizowany w celu ustalenia, który język jest używany, w formacie kraju:
Następnie przetłumaczone kategorie są analizowane jako dalsze elementy adresu URL.
Adres URL jest analizowany w
parse_request
fazie:Ten przykład jest pozbawiony wymaganych kontroli, ale ma jedynie charakter przykładowy.
Takie podejście ma oczywiście wady, ale pozwala na stosowanie naturalnych adresów URL we wszystkich językach. Główne wady, które widzę to:
1) Nie wykorzystuje mechanizmu permalink. Można by to prawdopodobnie rozszerzyć, tak aby generowane były odpowiednie reguły permalink dla wszystkich języków i parse_request nie byłby konieczny, ale zrobienie tego dla wszystkich języków wymagałoby załadowania jednego pliku MO po drugim w pętli, a ja nie wiedzieć, jak dobrze jest to obsługiwane.
2) Jeśli tłumacz zmieni ślimak, linki zostaną unieważnione.
źródło
Możesz spróbować tego w swoim
functions.php
jak widać tutaj
źródło
Nie polecam, aby ślimaki były tłumaczalne .
Tłumaczenie dotyczy treści witryny przeznaczonych dla użytkowników . Informacje o ślimakach są używane wewnętrznie i są jedynie marginalnie „dostępne publicznie” poprzez przepisywanie adresów URL - adresy URL również nie powinny być tłumaczone .
Więc: zostaw ślimaki w spokoju, tak jak je definiujesz. Wykonuj tylko ciągi do tłumaczenia, które są przeznaczone do spożycia publicznego .
źródło