Jump to content

Nápověda:Rozšíření:Phonos

From mediawiki.org
This page is a translated version of the page Help:Extension:Phonos and the translation is 100% complete.
Od září 2023 mají wikiny WMF povolený pouze inline audio přehrávač. Vykreslování IPA stále čeká na vývoj nového zdroje.

Rozšíření Phonos usnadňuje vkládání zvukových úryvků do wiki stránek.

Použití

Zavedené wikiny pravděpodobně budou chtít používat Phonos prostřednictvím šablony. Viz #Nasazení níže.

Phonos přidává parser tag, který zobrazí ikonu reproduktoru a text IPA. Kliknutím na ně se přehraje příslušný zvuk.

Tag parseru má následující strukturu. Všechny parametry jsou volitelné, ale musí být zadán alespoň jeden jiný než jazyk:

<phonos wikibase="[id]" file="[nazev_souboru]" ipa="[Poznámky IPA]" text="[prostý text]" lang="[jazyk]" class="[třídy CSS]">[popisek]</phonos>

  • file – název zvukového souboru z Commons, který se má použít místo zvuku generovaného vyhledávacím nástrojem nebo načteného z Wikidat. Toto by měl být základní název souboru bez File:, například file="Example.ogg".
  • label (volitelné, není atribut, obvykle prázdné) – popisek, který se zobrazí a přepíše libovolnou hodnotu ipa. Může obsahovat wikitext.
  • wikibase – ID položky nebo lexému Wikidat, ze kterého se má načíst IPA transcription (P898) (pokud se nepoužívá ipa) a nebo pronunciation audio (P443) (pokud se nepoužívá file). Při zadávání lexému musí být uveden také parametr text, který musí přesně odpovídat reprezentaci lexému.

Nefunkční

Následující možnosti vyžadují, aby bylo PhonosInlineAudioPlayerMode nastaveno na false, což není výchozí nastavení v instalacích Wikimedie.

  • ipanotace IPA k vykreslení. Některé zdroje mohou fungovat lépe s držáky kolem řetězce nebo bez nich. Pokud se vám nepodaří vykreslit požadovaný IPA soubor v enginu, můžete zadat ipa="-" a poté použít text (viz níže) k zadání prostého textu toho, co chcete vykreslit.
  • text – reprezentace řetězce v prostém textu, používaná některými vyhledávači jako záložní varianta, když nejsou schopny vykreslit IPA[1], a také bude použita jako popisek tlačítka, pokud není poskytnut žádný obsah popisku.
  • lang – kód jazyka, který pomáhá vyhledávači lépe vyslovovat a nebo vybírat správné informace z Wikidat. Výchozí nastavení je jazyk obsahu stránky, na které je tag parseru použit.
  • class – třídy CSS, které se mají aplikovat na přehrávač (od verze MediaWiki 1.44-wmf.12).
Varování Varování: Hodnota label přepíše hodnotu ipa a hodnota ipa přepíše hodnotu text.

Režim integrovaného audio přehrávače

Phonos je standardně umístěn do adresáře PhonosInlineAudioPlayerMode. V tomto režimu se přehrají pouze zadané zvukové soubory – buď zadané parametrem file=, nebo soubor, na který odkazuje položka zadaná parametrem wikibase=. Zobrazení IPA není k dispozici v režimu vloženého audio přehrávače.

Poznámky k použití

Some voice models used by text-to-speech engines do not support every available phoneme — if an unrecognised phoneme is passed in the ipa, engines which support reading the text parameter will do so instead. To ensure only the IPA is rendered, do not pass the text parameter.

Příklady

Příklad použití rozšíření Phonos
Wikitext Výstup, když je povoleno PhonosInlineAudioPlayerMode Výstup, když je PhonosInlineAudioPlayerMode zakázán
<phonos file="Voiceover-mathml-example-1.wav">Listen</phonos> Listen Listen
<phonos wikibase="Q37" lang="lb" />
<phonos ipa="kæt" /> kæt kæt

Nasazení

Zavedené wikiny již mohou mít šablonu, která se používá k vykreslování IPA. V takových případech může být žádoucí, aby používal Phonos, aby veškeré stávající použití IPA automaticky používalo Phonos. Seznam většiny těchto šablon na Wikimedii naleznete v odkazech na adrese Template:IPA (Q5751017). Zde uvedeme několik základních příkladů, jak změnit tyto šablony pro použití v Phonosu.

Bezpečnostní upozornění

Zkontrolujte, kolik transkluzí šablona obsahuje.[2] Pokud jich je mnoho (několik stovek nebo více), můžete před úpravou živé šablony provést testování, například pomocí TemplateSandbox . Pokud šablona obsahuje statisíce nebo miliony transkluzí, je třeba postupovat s maximální opatrností a před úpravou živé šablony provést důkladné otestování. Alternativně by bezpečnější cestou mohlo být zavedení nové šablony a nechat ji komunitu pomalu používat, čímž se zajistí, že Phonos bude fungovat tak, jak má. Později lze hlavní šablonu aktualizovat a novější na ni jednoduše přesměrovat.

Kromě toho některé wikiny mají více šablon IPA, které se mohou navzájem volat. Editoři šablon by měli být opatrní a upravovat tyto šablony ve správném pořadí, aby se volání Phonosu neduplikovala.

A konečně, pokud si vaše wiki přeje upravit kategorie sledování používané Phonosem, udělejte to před aktualizací šablon, které by mohly způsobit rozsáhlé nasazení. Phonos používá následující kategorie sledování:

Kategorie sledování chyb Phonosu
Název kategorie Stránka rozhraní
Stránky používající rozšíření Phonos MediaWiki:Phonos-tracking-category
Stránky s chybami při vykreslování Phonos MediaWiki:Phonos-error-category

Jednoduchý příklad

Uvažujme typickou šablonu IPA, která používá pouze styling:

<span style="font-family:DejaVu Sans, sans-serif; text-decoration:underline dotted;">{{{1|<noinclude>hə'ləʊ</noinclude>}}}</span>

V tomto případě nahradíme celou šablonu syntaxí Phonosu, například:

{{#tag:phonos|{{{1|<noinclude>hə'ləʊ</noinclude>}}}|ipa={{{1|<noinclude>hə'ləʊ</noinclude>}}}}|lang={{{lang|{{PAGELANGUAGE}}}}}}}

Note we need to use the {{#tag}} parser function since this is in a template, but it will render the same as:

<phonos ipa="hə'ləʊ" lang="{{{lang|{{PAGELANGUAGE}}}}}">hə'ləʊ</phonos>

We also added the |lang= attribute, since that is required for Phonos. Také jsme to přidali jako parametr šablony pro případ, že by se IPA lišilo od jazyka stránky.

Taking it a step further, we can expand the template to include any of the other features Phonos provides, such as a custom label, and pulling audio from a file or Wikidata.

{{#tag:phonos|{{{1|{{{label|<noinclude>Hello</noinclude>}}}}}}|ipa={{{1|<noinclude>hə'ləʊ</noinclude>}}}}|lang={{{lang|{{PAGELANGUAGE}}}}}|text={{{text|<noinclude>hello</noinclude>}}}|wikibase={{{wikidata|}}}|file={{{file|}}}}}

The template now has the additional parameters |label= (which is the same as the unnamed |1= parameter), |text=, |wikidata=, and |file=. Je v pořádku, pokud současné transkluze tyto možnosti nevyužívají, ale nyní jsou k dispozici, aby vaše komunita mohla využít těchto funkcí, které Phonos nabízí.

Complex example

English Wikipedia has several more language-specific versions of IPA templates, such as {{IPAc-en}} along with other language variants. These are implemented through a Lua module at Module:IPAc-en. Instructions on how to implement this in Lua is outside the scope of this documentation, but we will still explain what needs to be done on a high-level, as if it were implemented in wikitext like normal templates.

Each argument passed to {{IPAc-en}} is an individual diaphoneme. Phonos does not support this natively, so the Lua module must concatenate the diaphonemes into a single string like hə'ləʊ and call the parser tag from the Lua module. Additionally, this template links to a IPA help page. It may not be necessary to have this link anymore since Phonos produces actual audio, so you don't need to link to a guide on how to read IPA. However, let's assume we want to keep the link. In such a case we can't utilize the label of the ‎<phonos> tag, since that is always a link to play the audio. Instead, you'll want to put the link adjacent to the Phonos tag. The resulting wikitext (with all other available Phonos features) would look something like:

{{#tag:phonos||ipa={{{1|<noinclude>hə'ləʊ</noinclude>}}}}|lang={{{lang|{{PAGELANGUAGE}}}}}|text={{{text|<noinclude>hello</noinclude>}}}|wikibase={{{wikidata|}}}|file={{{file|}}}}}&nbsp;[[Help:IPA|{{{1|{{{label|<noinclude>Hello</noinclude>}}}}}}]]

Notice the double pipes || at the beginning, which is where the label for the ‎<phonos> tag normally goes. Here we leave it blank, and put the link to the IPA help page adjacent to the Phonos tag, so you have a playable icon followed by the link.

Inline audio templates

As explained in the last example, it's possible to make Phonos render only a icon that plays the audio when clicked. You don't have to use IPA either, instead you can link to an existing file or Wikidata item (assuming the item has the IPA transcription (P898) property). This is useful if you already have human-recorded audio for the word, and there's no need to render it through the Phonos engine.

On English Wikipedia, such a template exists as Template:Audio (see cross-wiki usage at Template:Audio (Q5622389)). However without Phonos, when you click on the play icon the user is brought to a separate page to listen to the audio. Phonos allows you to play the file without leaving the page.

A basic implementation for this would be similar to the following:

{{#tag:phonos||wikibase={{{wikidata|}}}|file={{{1|}}}}}

Similarly there is Template:Audio-IPA (Q6190820), which is the same except it is meant to display IPA as well. On English Wikipedia, this ends up using both Template:Audio and Template:IPA. Assuming Template:IPA now supports the |file= parameter as we implemented in the simple example above, you could simply change the entire Audio-IPA template to use Template:IPA, something like:

{{IPA|{{{2}}}|file={{{1}}}}}

Some wikis have yet another similar template, Template:IPA audio link (Q8140322). The implementation there would be similar to the one just above where you call the newly changed Template:IPA that accepts a filename.

Styling

Phonos provides its own styling in an effort to keep IPA rendering consistent across all wikis, but you can still override the styling in your template using TemplateStyles if you wish.

Getting help

If you need help deploying Phonos to your wiki's templates, please feel free to reach out to us at meta:Talk:Community Wishlist Survey 2022/Generate Audio for IPA.

JavaScript integration

Phonos provides a front-end hook to mutate the Audio object created by Phonos.

JavaScript hooks for Phonos
Hook Type Description
ext.Phonos.audio HTMLAudioElement The Audio object for the file used by Phonos

This can for example be used to control playblack speed with a gadget or user script, such as with the following:

mw.hook( 'ext.Phonos.audio' ).add( function ( audio ) {
	audio.playbackRate = 0.5;
} );

Notes

  1. Viz poznámky k použití
  2. To lze provést použitím toolforge:linkcount