Mam wtyczkę, która umieszcza statusy postów w menu administratora typu post. Jestem w trakcie internacjonalizacji i zastanawiam się, jak poradzić sobie z tą sytuacją.
Wtyczka korzysta z kilku unikatowych ciągów, które otrzymają domenę tekstową w następujący sposób:
__( 'Select the post statuses to <strong>exclude</strong> from post type admin menus', 'csmpmsi' )
Ale są też przypadki, w których używam słowa związane z rdzenia do ich znaczenia związane rdzenia tak: __( 'Pages' )
. Wydaje mi się, że w tej sytuacji wykluczenie domeny tekstowej i skorzystanie z terminów już zlokalizowanych w rdzeniu ma sens. Kodeks wydaje się jednak bardzo wyraźny:
Jeśli próbujesz przetłumaczyć wtyczkę, obowiązują te same porady, co powyżej, z wyjątkiem tego
musisz użyć domeny, która jest załadowana w haku wtyczki
każde wywołanie tłumaczenia musi mieć postać __ („tekst”, „nazwa domeny”)
Czy to koszerność WP?
źródło
Odpowiedzi:
Nigdy nie polegaj na podstawowych ciągach tłumaczenia, mogą one zmienić lub uzyskać
context
parametr w dowolnym momencie. Gdy tak się stanie, użytkownicy otrzymają częściowo przetłumaczony interfejs, a tłumacze nie będą w stanie tego naprawić.Należy również pamiętać, że ten sam ciąg nie jest koniecznie tłumaczony wszędzie z tym samym słowem. Nawet bez parametru kontekstu przydatne może być użycie innego tłumaczenia wtyczki w niektórych językach. Nie byłoby to jednak możliwe, jeśli nie włączysz łańcucha do wtyczki.
Zobacz dyskusję na czacie, którą mieliśmy kilka dni temu na ten temat.
źródło
Tak, ale proszę nie. To jest jak standard kodowania, lepiej go przestrzegaj, nawet jeśli możesz uzyskać niewielką przewagę, omijając go.
Lepsze powody:
W wersji 3.5 WordPress nie ma plików tłumaczenia monolitu, został podzielony na 3 części ze względu na wydajność. Jeśli ten trend będzie się utrzymywał, czy możesz być pewien, że domena domyślna zostanie w ogóle załadowana, gdy spróbujesz jej użyć
__('Pages')
?Nie zapisujesz pracy w lokalizatorze - narzędzia do tłumaczenia, takie jak poedit, nie wiedzą, jak radzić sobie z dwiema domenami tłumaczenia w jednym pliku, aw twoim przykładzie wygenerują plik .po, który zawiera słowo „Strony”, nawet jeśli użyj do tego domyślnej domeny. Lokalizator nie sprawdza faktycznego wykorzystania napisów, które tłumaczy, chyba że musi zrozumieć kontekst, więc nie zauważy innej domeny i przetłumaczy słowo. Ponadto, jeśli lokalizator zna swoje narzędzia, będzie miał bazę tłumaczeń opartą na podstawowych plikach tłumaczeń WordPress w sposób, który umożliwi poeditowi automatyczne tłumaczenie słów takich jak „Strony”.
źródło
Możesz tego spróbować
Lub
Odniesienie : https://v123.tw/use-wordpress-core-translation/
Powodzenia!!
źródło