http://www.mediawiki.org/wiki/Special:Code/MediaWiki/96590
Revision: 96590
Author: maxsem
Date: 2011-09-08 18:08:40 +0000 (Thu, 08 Sep 2011)
Log Message:
-----------
Syntax help in Special:Hieroglyphs
Modified Paths:
--------------
trunk/extensions/wikihiero/SpecialHieroglyphs.php
trunk/extensions/wikihiero/wikihiero.i18n.php
Modified: trunk/extensions/wikihiero/SpecialHieroglyphs.php
===================================================================
--- trunk/extensions/wikihiero/SpecialHieroglyphs.php 2011-09-08 17:34:24 UTC
(rev 96589)
+++ trunk/extensions/wikihiero/SpecialHieroglyphs.php 2011-09-08 18:08:40 UTC
(rev 96590)
@@ -21,6 +21,20 @@
const HIEROGLYPHS_PER_ROW = 10;
const CACHE_EXPIRY = 86400; // 1 day
+ private $hiero;
+ private $syntaxHelp = array(
+ array( 'code' => '-', 'message' => 'wikihiero-separator',
'example' => 'A1 - B1' ),
+ array( 'code' => ':', 'message' => 'wikihiero-superposition',
'example' => 'p:t' ),
+ array( 'code' => ':', 'message' => 'wikihiero-juxtaposition',
'example' => 'p*t' ),
+ array( 'code' => '!', 'message' => 'wikihiero-eol', 'example'
=> 'A1-B1 ! C1-D1' ),
+ );
+ private $helpColumns = array(
+ 'code',
+ 'meaning',
+ 'example',
+ 'result',
+ );
+
public function __construct() {
parent::__construct( 'Hieroglyphs' );
}
@@ -62,6 +76,8 @@
. Html::closeElement( 'form' )
);
+ $this->hiero = new WikiHiero();
+
$out->addHTML( '<table><tr><td>' );
$out->addHTML( '<div class="mw-hiero-list">' );
$out->addHTML( $this->listHieroglyphs() );
@@ -86,15 +102,25 @@
return $html;
}
$html = '';
- $hiero = new WikiHiero();
- $files = array_keys( $hiero->getFiles() );
+
+ $html .= $this->getHeading( 'wikihiero-syntax', 'syntax' );
+ $html .= '<table class="wikitable"><tr>';
+ foreach ( $this->helpColumns as $col ) {
+ $html .= '<th>' . wfMessage( "wikihiero-th-$col"
)->escaped() . '</th>';
+ }
+ $html .= '</tr>';
+ foreach ( $this->syntaxHelp as $e ) {
+ $html .= $this->getSyntaxHelp( $e['code'],
$e['message'], $e['example'] );
+ }
+ $html .= "</table>\n";
+
+ $files = array_keys( $this->hiero->getFiles() );
natsort( $files );
foreach ( $this->getCategories() as $cat ) {
$alnum = strlen( $cat ) == 1;
- $html .= "<h2 id=\"cat-$cat\">" . wfMessage(
"wikihiero-category-$cat" )->escaped() . "</h2>
-<table class=\"wikitable\">
-";
+ $html .= $this->getHeading( "wikihiero-category-$cat",
"cat-$cat" );
+ $html .= "<table class=\"wikitable\">\n";
$upperRow = $lowerRow = '';
$columns = 0;
$rows = 0;
@@ -105,7 +131,7 @@
if ( strpos( $code, $cat ) !== 0 || ( $alnum &&
!ctype_digit( $code[1] ) ) ) {
continue; // wrong category
}
- $upperRow .= '<td>' . $hiero->renderHtml( $code
) . '</td>';
+ $upperRow .= '<td>' . $this->hiero->renderHtml(
$code ) . '</td>';
$lowerRow .= '<th>' . htmlspecialchars( $code )
. '</th>';
$columns++;
if ( $columns == self::HIEROGLYPHS_PER_ROW ) {
@@ -128,11 +154,22 @@
}
private function getToc() {
- $html = '<table class="toc mw-hiero-toc"><tr>';
+ $html = '<table class="toc mw-hiero-toc">';
+
+ $syntax = wfMessage( 'wikihiero-syntax' )->text();
+ $html .= '<tr><td colspan="5">'
+ . Html::element( 'a',
+ array( 'href' => "#syntax", 'title' =>
$syntax ),
+ $syntax
+ )
+ . '</td></tr>';
$count = 0;
$cats = $this->getCategories();
$end = array_pop( $cats );
foreach ( $cats as $cat ) {
+ if ( $count % 5 == 0 ) {
+ $html .= '<tr>';
+ }
$html .= '<td>'
. Html::element( 'a',
array( 'href' => "#cat-$cat", 'title'
=> wfMessage( "wikihiero-category-$cat" )->text() ),
@@ -141,16 +178,16 @@
. '</td>';
$count++;
if ( $count % 5 == 0 ) {
- $html .= '</tr><tr>';
+ $html .= '</tr>';
}
}
- $html .= '</tr><tr><td colspan="5">'
+ $html .= '<tr><td colspan="5">'
. Html::element( 'a',
array( 'href' => "#cat-$end", 'title'
=> wfMessage( "wikihiero-category-$end" )->text() ),
$end
)
- . '</td>';
- return $html . '</tr></table>';
+ . '</td></tr></table>';
+ return $html;
}
/**
@@ -166,4 +203,16 @@
$res[] = 'Aa';
return $res;
}
+
+ private function getHeading( $message, $anchor ) {
+ return "<h2 id=\"$anchor\">" . wfMessage( $message )->escaped()
. "</h2>\n";
+ }
+
+ private function getSyntaxHelp( $code, $message, $example ) {
+ return '<tr><th>' . htmlspecialchars( $code ) . '</th><td>'
+ . wfMessage( $message )->escaped() . '</td><td>'
+ . '<code>' . htmlspecialchars(
"<hiero>$example</hiero>" ) . '</code></td><td>'
+ . $this->hiero->renderHtml( $example )
+ . "</td></tr>\n";
+ }
}
\ No newline at end of file
Modified: trunk/extensions/wikihiero/wikihiero.i18n.php
===================================================================
--- trunk/extensions/wikihiero/wikihiero.i18n.php 2011-09-08 17:34:24 UTC
(rev 96589)
+++ trunk/extensions/wikihiero/wikihiero.i18n.php 2011-09-08 18:08:40 UTC
(rev 96590)
@@ -15,6 +15,15 @@
See [http://en.wikipedia.org/wiki/Help:WikiHiero_syntax here] for markup
description.',
'wikihiero-input' => 'Input text',
'wikihiero-result' => 'Result',
+ 'wikihiero-syntax' => 'Syntax',
+ 'wikihiero-th-code' => 'Code',
+ 'wikihiero-th-meaning' => 'Meaning',
+ 'wikihiero-th-example' => 'Example code',
+ 'wikihiero-th-result' => 'Result',
+ 'wikihiero-separator' => 'Separator',
+ 'wikihiero-eol' => 'End of line',
+ 'wikihiero-superposition' => 'Subdivision',
+ 'wikihiero-juxtaposition' => 'Juxtaposition',
'wikihiero-load-error' => 'Load error!',
'wikihiero-category-A' => 'A: Man and his occupations',
'wikihiero-category-B' => 'B: Woman and her occupations',
@@ -192,6 +201,11 @@
*/
$messages['bg'] = array(
'wikihiero-desc' => 'Добавя етикет <code><hiero></code> за
показване на [[Special:Hieroglyphs|йероглифи]]',
+ 'wikihiero-syntax' => 'Синтаксис',
+ 'wikihiero-eol' => 'Край на реда',
+ 'wikihiero-separator' => 'Сепаратор',
+ 'wikihiero-superposition' => 'Разделител',
+ 'wikihiero-juxtaposition' => 'Премятане',
'wikihiero-category-A' => 'A: Мъжът и дейностите му',
'wikihiero-category-B' => 'B: Жената и дейностите й',
'wikihiero-category-C' => 'C: Антропоморфни божества',
@@ -212,6 +226,11 @@
*/
$messages['br'] = array(
'wikihiero-desc' => 'Ouzhpennañ a ra ar valizenn
<code><hiero></code> evit embann ar [[Special:Hieroglyphs|hieroglifoù]].',
+ 'wikihiero-syntax' => 'Ereadur',
+ 'wikihiero-eol' => 'Dibenn al linenn',
+ 'wikihiero-separator' => 'Dispartier',
+ 'wikihiero-superposition' => 'Isrann',
+ 'wikihiero-juxtaposition' => 'Kenstok',
'wikihiero-category-A' => 'A: Мъжът и дейностите му',
'wikihiero-category-B' => 'B: Жената и дейностите й',
'wikihiero-category-C' => 'C: Антропоморфни божества',
@@ -239,6 +258,11 @@
*/
$messages['ca'] = array(
'wikihiero-desc' => "Afegeix l'etiqueta <code><hiero></code> per
a visualitzar [[Special:Hieroglyphs|jeroglífics]]",
+ 'wikihiero-syntax' => 'Sintaxi',
+ 'wikihiero-eol' => 'Fi de línia',
+ 'wikihiero-separator' => 'Separador',
+ 'wikihiero-superposition' => 'Subdivisió',
+ 'wikihiero-juxtaposition' => 'Juxtaposició',
'wikihiero-category-A' => 'A: L\'home i les seves ocupacions',
'wikihiero-category-B' => 'B: La dona i les seves ocupacions',
'wikihiero-category-C' => 'C: Deitats antropomòrfiques',
@@ -259,6 +283,11 @@
*/
$messages['cs'] = array(
'wikihiero-desc' => 'Přidává značku <code><hiero></code> pro
zobrazování [[Special:Hieroglyphs|hieroglyfů]]',
+ 'wikihiero-syntax' => 'Syntaxe',
+ 'wikihiero-eol' => 'Konec řádka',
+ 'wikihiero-separator' => 'Oddělovač',
+ 'wikihiero-superposition' => 'Podrozdělení',
+ 'wikihiero-juxtaposition' => 'Juxtapozice',
'wikihiero-category-A' => 'A: Muž a jeho práce',
'wikihiero-category-B' => 'B: Žena a její práce',
'wikihiero-category-C' => 'C: Antropomorfní božstva',
@@ -328,6 +357,11 @@
'wikihiero-input' => 'Eingabetext',
'wikihiero-result' => 'Ergebnis',
'wikihiero-load-error' => 'Ladefehler!',
+ 'wikihiero-syntax' => 'Syntax',
+ 'wikihiero-eol' => 'Ende der Zeile',
+ 'wikihiero-separator' => 'Trennzeichen',
+ 'wikihiero-superposition' => 'Untereinanderstellung',
+ 'wikihiero-juxtaposition' => 'Nebeneinanderstellung',
'wikihiero-category-A' => 'A: Männer und ihre Beschäftigungen',
'wikihiero-category-B' => 'B: Frauen und ihre Beschäftigungen',
'wikihiero-category-C' => 'C: Menschenähnliche Gottheiten',
@@ -392,6 +426,11 @@
'wikihiero-input' => 'Enmetu tekston',
'wikihiero-result' => 'Rezulto',
'wikihiero-load-error' => 'Eraro de ŝarĝado!',
+ 'wikihiero-syntax' => 'Sintakso',
+ 'wikihiero-eol' => 'Linifino',
+ 'wikihiero-separator' => 'Disigilo',
+ 'wikihiero-superposition' => 'Subdivido',
+ 'wikihiero-juxtaposition' => 'Apudmeto',
'wikihiero-category-A' => 'A: Viro kaj siaj okupoj',
'wikihiero-category-B' => 'B: Virino kaj siaj okupoj',
'wikihiero-category-C' => 'C: Homformaj diuloj',
@@ -425,6 +464,11 @@
*/
$messages['es'] = array(
'wikihiero-desc' => 'Añade elemento <code><hiero></code> para
mostrar un [[Special:Hieroglyphs|jeroglífico]]',
+ 'wikihiero-syntax' => 'Sintaxis',
+ 'wikihiero-eol' => 'Fin de línea',
+ 'wikihiero-separator' => 'Separador',
+ 'wikihiero-superposition' => 'Dispårtaedje',
+ 'wikihiero-juxtaposition' => 'Yuxtaposición',
'wikihiero-category-A' => 'A: El hombre y sus oficios',
'wikihiero-category-B' => 'B: La mujer y sus oficios',
'wikihiero-category-C' => 'C: Dioses antropomórficos',
@@ -514,6 +558,11 @@
'wikihiero-input' => 'Texte entré',
'wikihiero-result' => 'Résultat',
'wikihiero-load-error' => 'Erreur de chargement!',
+ 'wikihiero-syntax' => 'Syntaxe',
+ 'wikihiero-eol' => 'Fin de ligne',
+ 'wikihiero-separator' => 'Separateur',
+ 'wikihiero-superposition' => 'Subdivision',
+ 'wikihiero-juxtaposition' => 'Juxtaposition',
'wikihiero-category-A' => 'A: Hommes et leurs occupations',
'wikihiero-category-B' => 'B: Femmes et leurs occupations',
'wikihiero-category-C' => 'C: Divinités',
@@ -716,6 +765,11 @@
*/
$messages['ia'] = array(
'wikihiero-desc' => 'Adde le etiquetta <code><hiero></code> pro
inserer [[Special:Hieroglyphs|hieroglyphos]]',
+ 'wikihiero-syntax' => 'Syntaxe',
+ 'wikihiero-eol' => 'Fin de linea',
+ 'wikihiero-separator' => 'Separator',
+ 'wikihiero-superposition' => 'Subdivision',
+ 'wikihiero-juxtaposition' => 'Juxtaposition',
);
/** Indonesian (Bahasa Indonesia)
@@ -754,6 +808,10 @@
'wikihiero-input' => 'Inserisci il testo',
'wikihiero-result' => 'Risultato',
'wikihiero-load-error' => 'Errore di caricamento!',
+ 'wikihiero-syntax' => 'Sintassi',
+ 'wikihiero-eol' => 'Fine riga',
+ 'wikihiero-separator' => 'Separatore',
+ 'wikihiero-superposition' => 'Suddivisione',
'wikihiero-category-A' => "A: L'uomo e le sue occupazioni",
'wikihiero-category-B' => 'B: La donna e le sue occupazioni',
'wikihiero-category-C' => 'C: Divinità antropomorfe',
@@ -825,6 +883,11 @@
);
$messages['kk'] = array(
+ 'wikihiero-syntax' => 'Синтаксис',
+ 'wikihiero-eol' => 'Жол аяғы',
+ 'wikihiero-separator' => 'Айырғыш',
+ 'wikihiero-superposition' => 'Төменгі бөлім',
+ 'wikihiero-juxtaposition' => 'Тығыз жақындату',
'wikihiero-category-A' => 'A: Ер адам және оның шұғылдануы',
'wikihiero-category-B' => 'B: Әйел адам және оның шұғылдануы',
'wikihiero-category-C' => 'C: Адам пішімді құдіреттер',
@@ -862,6 +925,11 @@
);
$messages['la'] = array(
+ 'wikihiero-syntax' => 'Syntaxis',
+ 'wikihiero-eol' => 'Finis versus',
+ 'wikihiero-separator' => 'Separator',
+ 'wikihiero-superposition' => 'Subdivisio',
+ 'wikihiero-juxtaposition' => 'Iuxtapositio',
'wikihiero-category-A' => 'A: Vir et negotia sua',
'wikihiero-category-B' => 'B: Femina et negotia sua',
'wikihiero-category-C' => 'C: Numina humanus aspectus',
@@ -1036,6 +1104,11 @@
'wikihiero-input' => 'Invoertekst',
'wikihiero-result' => 'Resultaat',
'wikihiero-load-error' => 'Fout bij het laden!',
+ 'wikihiero-syntax' => 'Syntax',
+ 'wikihiero-eol' => 'Einde van regel',
+ 'wikihiero-separator' => 'Scheidingsteken',
+ 'wikihiero-superposition' => 'Onderverdeling',
+ 'wikihiero-juxtaposition' => 'Nevenschikking',
'wikihiero-category-A' => 'A: De man en zijn bezigheden',
'wikihiero-category-B' => 'B: De vrouw en haar bezigheden',
'wikihiero-category-C' => 'C: Anthropomorfe Goden',
@@ -1188,6 +1261,11 @@
'wikihiero-input' => 'Texto de entrada',
'wikihiero-result' => 'Resultado',
'wikihiero-load-error' => 'Erro de carga!',
+ 'wikihiero-syntax' => 'Sintaxe',
+ 'wikihiero-eol' => 'Fim de linha',
+ 'wikihiero-separator' => 'Separador',
+ 'wikihiero-superposition' => 'Subdivisão',
+ 'wikihiero-juxtaposition' => 'Justaposição',
'wikihiero-category-A' => 'A: O homem e suas ocupações',
'wikihiero-category-B' => 'B: A mulher e suas ocupações',
'wikihiero-category-C' => 'C: Divindades antropomorfas',
@@ -1349,6 +1427,11 @@
'wikihiero-input' => 'Входной текст:',
'wikihiero-result' => 'Результат',
'wikihiero-load-error' => 'Ошибка загрузки!',
+ 'wikihiero-syntax' => 'Синтаксис',
+ 'wikihiero-eol' => 'Перевод строки',
+ 'wikihiero-separator' => 'Разделитель',
+ 'wikihiero-superposition' => 'Вертикальная группировка',
+ 'wikihiero-juxtaposition' => 'Горизонтальная группировка',
'wikihiero-category-A' => 'A: Мужчина и его занятия',
'wikihiero-category-B' => 'B: Женщина и её занятия',
'wikihiero-category-C' => 'C: Антропоморфные боги',
@@ -1415,6 +1498,11 @@
*/
$messages['sk'] = array(
'wikihiero-desc' => 'Pridáva značku <code><hiero></code> na
zobrazovanie [[Special:Hieroglyphs|hieroglyfov]]',
+ 'wikihiero-syntax' => 'Syntax',
+ 'wikihiero-eol' => 'Koniec riadka',
+ 'wikihiero-separator' => 'Oddeľovač',
+ 'wikihiero-superposition' => 'Podrozdelenie',
+ 'wikihiero-juxtaposition' => 'Juxtapozícia',
'wikihiero-category-A' => 'A: Muž a jeho práce',
'wikihiero-category-B' => 'B: Žena a jej práce',
'wikihiero-category-C' => 'C: Antropomorfné božstvá',
@@ -1488,6 +1576,11 @@
*/
$messages['sr-ec'] = array(
'wikihiero-desc' => 'Додаје <code><hiero></code> ознаку за приказ
[[Special:Hieroglyphs|хијероглифа]].',
+ 'wikihiero-syntax' => 'Синтакса',
+ 'wikihiero-eol' => 'Крај реда',
+ 'wikihiero-separator' => 'Раздвајач',
+ 'wikihiero-superposition' => 'Преметање',
+ 'wikihiero-juxtaposition' => 'Прирашћивање',
'wikihiero-category-A' => 'A: Мушкарац и његова занимања',
'wikihiero-category-B' => 'B: Жена и њена занимања',
'wikihiero-category-C' => 'C: Човеколика божанства',
@@ -1534,6 +1627,11 @@
'wikihiero-input' => 'Inmatningstext',
'wikihiero-result' => 'Resultat',
'wikihiero-load-error' => 'Inläsningsfel!',
+ 'wikihiero-syntax' => 'Syntax',
+ 'wikihiero-eol' => 'Radbrytning',
+ 'wikihiero-separator' => 'Separator',
+ 'wikihiero-superposition' => 'Underavdelning',
+ 'wikihiero-juxtaposition' => 'Juxaposition (stående förbindelse)',
'wikihiero-category-A' => 'A: Mannen och hans sysslor',
'wikihiero-category-B' => 'B: Kvinnan och hennes sysslor',
'wikihiero-category-C' => 'C: Gudomligheter',
@@ -1714,6 +1812,9 @@
);
$messages['wa'] = array(
+ 'wikihiero-syntax' => 'Sintacse',
+ 'wikihiero-eol' => 'Fén d\' roye',
+ 'wikihiero-separator' => 'Separateur',
'wikihiero-category-A' => 'A: L\' ome et ses fijhaedjes',
'wikihiero-category-B' => 'B: Li feme et ses fijhaedjes',
'wikihiero-category-C' => 'C: Dius',
_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs