Tovább a tartalomhoz

Egyedi mezők fordítási beállításai a wpml-config.xml fájlban

Translate, Copy, Copy once és Ignore beállítás, mezőattribútumok, kódolás, linkek, azonosítók átalakítása és kifejezésmezők.

Az egyedi mezők fordítási beállításai

Szekció neve “Az egyedi mezők fordítási beállításai”

A WPML négy fordítási beállítást ad az egyedi mezőkhöz:

Beállítás Mit csinál Látszik az ATE-ben?
Translate Az egyedi mező értékét fordíthatóvá teszi. Igen
Copy Átmásolja az értéket az alapértelmezett nyelvről a másodlagosra, és szinkronban tartja őket. Nem
Copy once Egyszer átmásolja az értéket, de nem tartja szinkronban. Nem
Ignore Nem másolja át az értéket a másodlagos nyelvre. Nem

Példa az egyedi mezők felvételére a konfigurációs fájlba:

<wpml-config>
<custom-fields>
<custom-field action="copy">quantity</custom-field>
<custom-field action="translate">custom-title</custom-field>
<custom-field action="copy">weight</custom-field>
<custom-field action="copy-once">bg-color</custom-field>
<custom-field action="translate">custom-description</custom-field>
<custom-field action="ignore">date-added</custom-field>
</custom-fields>
</wpml-config>

A mező regisztrálásához attribútumokat adhatsz:

  • style: egysoros (line), szövegterület (textarea) vagy WYSIWYG (visual) megjelenítés;
  • label: a mező neve a konfigurációs fájlban. A WPML nem adja át az Advanced Translation Editornak, ezért a fordító nem látja;
  • group: a csoport neve, amelybe a mező tartozik a konfigurációs fájlban. Az Advanced Translation Editorban minden regisztrált egyedi mező együtt szerepel a Custom Fields alatt, a csoport neve nem látszik, és külön szakasz sem jön létre hozzá.
<wpml-config>
<custom-fields>
<custom-field action="translate" style="line" label="Title">custom-title</custom-field>
<custom-field action="translate" style="textarea" label="Description">custom-description</custom-field>
<custom-field action="translate" style="visual" label="Some content" group="Custom group">custom-wysiwyg</custom-field>
</custom-fields>
</wpml-config>

Az Advanced Translation Editorban mind a három mező együtt jelenik meg a Custom Fields alatt, a regisztrálás sorrendjében.

Az opcionális encoding attribútummal megváltoztathatod az alapértelmezett (kódolás nélküli) kódolást. Értékei:

  • json
  • base64
  • urlencode

Több kódolást vesszővel választhatsz el:

<wpml-config>
<custom-fields>
<custom-field action="translate" encoding="json,base64">keywords</custom-field>
</custom-fields>
</wpml-config>

Ha az egyedi mező hivatkozást tartalmaz, a translate_link_target attribútummal rákényszerítheted a WPML-t, hogy ellenőrizze és igazítsa a mező hivatkozásait. Ehhez a hivatkozásnak <a> címkékben kell lennie.

<wpml-config>
<custom-fields>
<custom-field action="translate" translate_link_target="1">name_of_the_acf_field</custom-field>
</custom-fields>
</wpml-config>

A WPML alapból az egyedi mezők minden al-kulcsát lefordítja. Ha ezt el akarod kerülni, add meg, mely al-kulcsokat kell lefordítani:

<wpml-config>
<custom-fields>
<custom-field action="translate">with_attributes</custom-field>
<custom-field action="translate">with_deep_attributes</custom-field>
<custom-field action="translate">no_attributes</custom-field>
</custom-fields>
<custom-fields-texts>
<key name="with_attributes">
<key name="attribute1" />
<key name="attribute2" />
</key>
<key name="with_deep_attributes">
<key name="attribute1" />
<key name="attribute2">
<key name="level1">
<key name="level2">
</key>
</key>
</key>
</key>
</custom-fields-texts>
</wpml-config>

Helyettesítő karaktereket ugyanúgy használhatsz, mint az admin szövegeknél:

  • <key name="title-*" />: minden title- kezdetű al-mezőre illeszkedik;
  • <key name="*" />: minden al-mezőre illeszkedik, általában tömbindex megadására;
  • a [{"title":"First title"},{"title":"Second title"}] szerkezethez használd a következőt:
<wpml-config>
<custom-fields-texts>
<key name="key-name">
<key name="*">
<key name="title" />
</key>
</key>
</custom-fields-texts>
</wpml-config>

Azonosítók automatikus átalakítása a bejegyzések egyedi mezőiben

Szekció neve “Azonosítók automatikus átalakítása a bejegyzések egyedi mezőiben”

A WPML 4.8-tól megadhatod az egyedi mezőkben tárolt azonosítókat. A WPML a frontenden lecseréli őket a lefordított változatukra. Ez csak akkor működik, ha a fordítási beállítás Copy (<custom-field action="copy">).

A custom-fields részben használd:

  • type: milyen objektumra hivatkozik, például post-ids;
  • sub-type (opcionális): ha egy bejegyzéstípus slugját is meg akarod adni.

A WPML ezeket az alakokat ismeri fel és alakítja át:

  • egyetlen azonosító (123);
  • vesszővel elválasztott lista („123,456,789”);
  • azonosítók tömbje vagy kódolt tömbje ([123,456,789]).
<custom-fields>
<custom-field action="copy" type="post-ids" sub-type="product">custom_field_with_id</custom-field>
</custom-fields>

Ha az azonosítók a custom-fields-texts részben, al-szinten vannak beágyazva, a WPML a mező fordítási beállításától (copy, translate stb.) függetlenül felismeri és átalakítja őket:

<wpml-config>
<custom-fields-texts>
<key name="custom_field_with_nested_ids">
<key name="custom_field_nested_key_with_ids" type="post-ids" sub-type="product" />
<key name="custom_field_nested_key_with_ids_with_wildcard_*" type="post-ids" sub-type="product" />
<key name="custom_field_nested_key_with_subkey">
<key name="custom_field_nested_key_with_subkey_with_ids" type="post-ids" sub-type="product" />
</key>
</key>
</custom-fields-texts>
</wpml-config>

Ugyanezzel a type és sub-type szintaxissal azonosítókat adhatsz meg az admin szövegekben is (a wp_options táblában).

Kifejezésmezők (taxonómia-termek egyedi mezői) fordítási beállításai

Szekció neve “Kifejezésmezők (taxonómia-termek egyedi mezői) fordítási beállításai”

A taxonómia-termek egyedi mezőinek fordításához meg kell adnod a mező nevét és a műveletet: translate, copy, copy-once vagy ignore. A kódot a wpml-config címke alá tedd.

  • translate: a felhasználó lefordíthatja a mező értékét. Az érték megjelenik a fordítószerkesztő képernyőjén, és kézzel, automatikusan vagy más fordítóknak elküldve fordítható.
  • copy: az alapértelmezett nyelv értékét átmásolja a másodlagos nyelvekre. Az alapértelmezett nyelv értékének módosítása mindig átmásolódik. A copy mezők nem jelennek meg a fordítószerkesztőben.
  • copy-once: a kezdeti fordításkor átmásolja az értéket. Ezek a mezők nem jelennek meg a fordítószerkesztőben, de a felhasználó a szerkesztőképernyőn módosíthatja a másodlagos nyelv értékét.
  • ignore: nem másolja át a mezőt a másodlagos nyelvre.
<wpml-config>
<custom-term-fields>
<custom-term-field action="copy">term_meta_A</custom-term-field>
<custom-term-field action="translate">term_meta_B</custom-term-field>
<custom-term-field action="ignore">term_meta_C</custom-term-field>
<custom-term-field action="copy-once">term_meta_D</custom-term-field>
</custom-term-fields>
</wpml-config>

A kifejezések egyedi mezőiben tárolt azonosítók átalakítása

Szekció neve “A kifejezések egyedi mezőiben tárolt azonosítók átalakítása”

Ez is csak akkor megy, ha a mező Copy beállítású (<custom-term-field action="copy">). A bejegyzések egyedi mezőihez hasonlóan itt is megadhatod a taxonómia-mezőkben tárolt objektumazonosítókat, a WPML pedig átalakítja őket a lefordított változatra. A custom-term-fields részben használd:

  • type: milyen objektumra hivatkozik, például post-ids vagy taxonomy-ids;
  • sub-type (opcionális): a konkrét entitás.
<wpml-config>
<custom-term-fields>
<custom-term-field action="copy" type="post-ids" sub-type="product">custom_term_field_with_id</custom-term-field>
</custom-term-fields>
</wpml-config>

Az általános tudnivalókat a Nyelvi konfigurációs fájl fejezet tartalmazza.

Készült:

Tiszteletben tartjuk a magánszférádat

Sütiket használunk a böngészési élmény javítására és a forgalom elemzésére. Az analitika csak akkor indul, ha engeded. Adatvédelmi irányelvek, Sütitájékoztató.

Sütibeállítások