Jump to content

API:Yerelleştirme

From mediawiki.org
Revision as of 04:53, 6 July 2020 by Baris6161TURK (talk | contribs) (Created page with "Örneklerde atıfta bulunulan sayfalar genellikle bağlantılı olmamalıdır, çünkü bu bağlantıların pek çok vikide bulunması olası değildir.")
MediaWiki sürümü:
1.25
Gerrit change 160798

Bu, MediaWiki eylem API'sinin (api.php) yerelleştirilmesine özgü şeyleri belgeler.

MediaWiki yerelleştirmesi hakkında genel yorumlar için Yerelleştirme sayfasına bakın.

Mesaj dosyaları

MediaWiki çekirdeği için yerelleştirme mesajları includes/api/i18n altında bulunur.

Uzantılar için, yalnızca API belgesi için kullanılan ve çoğu son kullanıcı tarafından görülmeyen mesajlar birden fazla dosya için normal mekanizmalar kullanılarak ayrı bir dosyada olmalıdır. Yeni mesaj eklemeyle ilgili yerelleştirme belgelerine bakın.

Yardım mesajları

Adlandırma

API modülleri için yardım mesajları, action=help “modules” parametresi için kullanılan dize olan "module path" kullanılarak adlandırılır. $wgAPIModules ile eklenen modüller için bu, bu dizide kullanılan anahtarla aynı olurken, $wgAPIPropModules , $wgAPIListModules veya $wgAPIMetaModules ile eklenen modüller için, "query+" önekine sahip anahtar olacaktır.

  • Daha önce getDescription() yöntemi tarafından döndürülen açıklama iletisi ikiye bölünmüştür: modülün tek satırlık özetini içeren bir apihelp-$path-summary mesajı ve modül düzeyinde ek belgeler içeren bir apihelp-$path-extended-description. Bunlar, karşılık gelen yöntemlerle geçersiz kılınabilir, ancak bunun gerekli olduğu durumlar nadirdir.
    • 1.30'dan önce bir apihelp-$path-description mesajı kullanıldı. Bu, getDescriptionMessage() yöntemi uygulanarak geçersiz kılındı, ancak bunun gerekli olduğu durumlar nadirdi.
  • Daha önce getParamDescription() yöntemi tarafından döndürülen parametre açıklama iletileri apihelp-$path-param-$name (burada $name, getAllowedParams() öğesinin anahtarıdır). Bu, getAllowedParams() üzerinden döndürülen veri yapısında ApiBase::PARAM_HELP_MSG için bir değer ayarlanarak geçersiz kılınabilir.
    • "Daha fazla sonuç olduğunda, devam etmek için bunu kullanın" benzeri bir açıklamaya sahip parametreler, yinelenen bir iletiyi yeniden tanımlamak yerine api-help-param-continue kullanmalıdır.
    • "newer" ve "older" (ilgili "start" ve "end" parametreleriyle) değerleri alan parametreleri sıralamak, yinelenen bir iletiyi yeniden tanımlamak yerine api-help-param-direction kullanmalıdır.
    • needsToken() uygulayarak CSRF anahtarını kullanan modüllerin token parametresini belgelemeleri gerekmez; bu ApiBase tarafından otomatik olarak yapılır.
    • Birkaç ek sabit getAllowedParams() olarak kullanılabilir; ayrıntılar için ApiBase bakın.
  • ApiBase::PARAM_TYPE dizisi olan parametreler, her değerin ayrı ayrı belgelendiğini belirtmek için $ 2 kullanabilir. Bu iletiler varsayılan olarak apihelp-$path-paramvalue-$name-$value şeklindedir. İletiler varsayılana göre adlandırılmışsa, iletileri ApiBase::PARAM_HELP_MSG_PER_VALUE dizisindeki değerlerle eşleştirmeye gerek yoktur (yine de var olması gerekir, ancak boş bırakılabilir).
  • Tüm örneklerde açıklayıcı bir metin bulunmalıdır. Mesaj adları apihelp-$path-example-$arbitrarySuffix satırları boyunca olmalıdır.

Mesaj belgesi

qqq.json içindeki mesajları belgelendirirken aşağıdaki şablonları kullanın:

Mesaj biçimlendirme

Tüm mesajlar bir nokta ile bitmeli ve gramer cümleleri olmalıdır. Varsayılan olarak iletilere iletilen parametreler için #Mesaj belgesi'nden bağlanan şablonlara bakın.

İletilerde anlamsal vikimetin işaretlemesi kullanın:

  • Parametre anahtarları için ‎<var> ve ayrıca $wgMiserMode gibi değişkenlere kaynakçası.
  • Parametrelerin olası değerleri, değerlere sahip parametrelerden bahsedilmesi (diğer modüllere kaynakça dahil) ve örnek belgelerdeki giriş değerlerinden bahsedilmesi için ‎<kbd>.
  • API çıkışındaki anahtarlardan veya değerlerden bahsetmek için ‎<samp>.
  • Bilgisayar kodu olan herhangi bir şey için ‎<code>, ör. "max-age üstbilgisi" veya "‎<head> sayfası".
  • Anlamsal işaretleme kullanırken ek tırnak işaretlerine ihtiyacınız yoktur.

Diğer API modüllerine kaynağınız gerekiyorsa, bağlantıyı Special:ApiHelp ile bağlayın ve yardım biçimlendiricisi doğru olanı yapacaktır. Örneğin, belgelerde çeşitli token parametreleri için "[[Special:ApiHelp/query+tokens|action=query&meta=tokens]]" kullanılır. Special:ApiHelp bağlantısı, aynı yardım sayfasındaysa, sayfaya bağlı bir bağlantı olarak düzgün bir şekilde görüntülenir (örnek). Benzer şekilde, $wgMiserMode gibi MediaWiki yapılandırma değişkenlerine yapılan kaynaklar, mediawiki.org'daki belgelere bağlanmalıdır.

Örneklerde atıfta bulunulan sayfalar genellikle bağlantılı olmamalıdır, çünkü bu bağlantıların pek çok vikide bulunması olası değildir.

Hata ve uyarılar

Errors are raised by calling $this->dieWithError( $messageObjectOrKey ); and the message can be localized in the usual way. Likewise for warnings with $this->addWarning( $messageObjectOrKey );. See API:Errors and warnings for details.

Customarily API error messages have message keys starting with apierror- and warnings with apiwarn-.

Text in API responses

ApiBase, and thus all API modules, are also context sources. Messages should generally be accessed using $this->msg(), and the API module itself should generally be passed when an IContextSource is needed.

Messages should not be arbitrarily included in the output because a client might find it useful.

Improving localisations on translatewiki

You can add and improve API help message translations on translatewiki.net, in the same manner as other core MediaWiki messages. The relevant message groups include

See also