PDA

Afficher la version complète : Kana Tableaux de révision des Hiragana, Katakana, Romaji (sans transcription)



samz
11/11/2008, 23h18
Bonjour,
Pour réviser les syllabaires Hiragana et Katakana, je n'arrivais pas à me concentré sur le symbole sans que mon regard ne dévie vers la réponse (en Romaji) à côté de celui-ci dans les tableaux Hiragana et Katakana courant.
Il est aussi 'trop' facile de réviser lorsque les syllabes sont placées dans l'ordre usuelle: a,i,u,e,o.
J'ai donc développé ce petit script PHP construisant dans un ordre aléatoire les tableaux, Hiragana, Katakana, Romaji et double (Hiragana + Katakana). Une case ne contient que la syllabe (ou Romaji) sans sa transcription.

Tout commentaire est le bienvenue.
Merci et bonne révision.

URL: http://www.airfirst.ch/hkr/
UTILISATION:
- rafraichir/recharger la page pour générer de nouveaux tableaux aléatoires.
- imprimer la/les page(s).
- réviser là et quand vous le souhaitez.

** NOTE1: les syllabes ne s'affichent pas correctement si le script est sur un serveur local (Ex.: http://localhost/hkr/ )
** NOTE2. Par intérêt général j'étudie le japonais avec la méthode "40 leçons pour parler japonais" de la série "Langues pour tous". J'apprécie particulièrement cette méthode pour:
- sa structure, chaque nouveau élément est expliqué.
- sa progression assez lente.

LE SCRIPT PHP:


<?PHP
/*
********************** Construction aléatoire des tableaux de révision HIRAGANAS, KATAKANAS, ROMAJIS
Distribué sous licence GNU: GNU.ORG/licenses (http://GNU.ORG/Licenses)
Version 1.5 - Novembre 2008
*/
//SYLLABAIRE DES HIRAGANAS
$Hira=array('あ', 'い', 'う', 'え', 'お', 'か', 'き', 'く', 'け', 'こ', 'さ', 'し', 'す', 'せ', 'そ', 'た', 'ち', 'つ', 'て', 'と', 'な', 'に', 'ぬ', 'ね', 'の', 'は', 'ひ', 'ふ', 'へ', 'ほ', 'ま', 'み', 'む', 'め', 'も', 'ら', 'り', 'る', 'れ', 'ろ', 'や', 'ゆ', 'よ', 'わ', 'を', 'ん', 'が', 'ぎ', 'ぐ', 'げ', 'ご', 'ざ', 'じ', 'ず', 'ぜ', 'ぞ', 'だ', 'じ', 'ず', 'で', 'ど', 'ば', 'び', 'ぶ', 'べ', 'ぼ', 'ぱ', 'ぴ', 'ぷ', 'ぺ', 'ぽ', 'きゃ', 'きゅ', 'きょ', 'ぎゃ', 'ぎゅ', 'ぎょ', 'しゃ', 'しゅ', 'しょ', 'じゃ', 'じゅ', 'じょ', 'ちゃ', 'ちゅ', 'ちょ', 'にゃ', 'にゅ', 'にょ', 'ひゃ', 'ひゅ', 'ひょ', 'びゃ', 'びゅ', 'びょ', 'ぴゃ', 'ぴゅ', 'ぴょ', 'りゃ', 'りゅ', 'りょ');
//SYLLABAIRE DES KATAKANAS
$Kana=array('ア', 'イ', 'ウ', 'エ', 'オ', 'カ', 'キ', 'ク', 'ケ', 'コ', 'サ', 'シ', 'ス', 'セ', 'ソ', 'タ', 'チ', 'ツ', 'テ', 'ト', 'ナ', 'ニ', 'ヌ', 'ネ', 'ノ', 'ハ', 'ヒ', 'フ', 'ヘ', 'ホ', 'マ', 'ミ', 'ム', 'メ', 'モ', 'ラ', 'リ', 'ル', 'レ', 'ロ', 'ヤ', 'ユ', 'ヨ', 'ワ', 'ヲ', 'ン', 'ガ', 'ギ', 'グ', 'ゲ', 'ゴ', 'ザ', 'ジ', 'ズ', 'ゼ', 'ゾ', 'ダ', 'ジ', 'ズ', 'デ', 'ド', 'バ', 'ビ', 'ブ', 'ベ', 'ボ', 'パ', 'ピ', 'プ', 'ペ', 'ポ', 'キャ', 'キュ', 'キョ', 'ギャ', 'ギュ', 'ギョ', 'シャ', 'シュ', 'ショ', 'ジャ', 'ジュ', 'ジョ', 'チャ', 'チュ', 'チョ', 'ニャ', 'ニュ', 'ニョ', 'ヒャ', 'ヒュ', 'ヒョ', 'ビャ', 'ビュ', 'ビョ', 'ピャ', 'ピュ', 'ピョ', 'リャ', 'リュ', 'リョ');
//ROMAJIS
$Roma=array('a', 'i', 'u', 'e', 'o', 'ka', 'ki', 'ku', 'ke', 'ko', 'sa', 'shi', 'su', 'se', 'so', 'ta', 'chi', 'tsu', 'te', 'to', 'na', 'ni', 'nu', 'ne', 'no', 'ha', 'hi', 'fu', 'he', 'ho', 'ma', 'mi', 'mu', 'me', 'mo', 'ra', 'ri', 'ru', 're', 'ro', 'ya', 'yu', 'yo', 'wa', 'wo', 'n', 'ga', 'gi', 'gu', 'ge', 'go', 'za', 'ji', 'zu', 'ze', 'zo', 'da', 'ji', 'zu', 'de', 'do', 'ba', 'bi', 'bu', 'be', 'bo', 'pa', 'pi', 'pu', 'pe', 'po', 'kya', 'kyu', 'kyo', 'gya', 'gyu', 'gyo', 'sha', 'shu', 'sho', 'zya', 'zyu', 'zyo', 'cha', 'chu', 'cho', 'nya', 'nyu', 'nyo', 'hya', 'hyu', 'hyo', 'bya', 'byu', 'byo', 'pya', 'pyu', 'pyo', 'rya', 'ryu', 'ryo');

$Dual=array_merge($Hira,$Kana); //HIRAGANAS & KATAKANAS
$Rom2=array_merge($Roma,$Roma); //Double ROMAJIS

//Mixe aléatoirement les éléments d'un tableau associatif
function ShuffleAss($arr){
while(count($arr)>0){
$val=array_rand($arr);
$new_arr[$val]=$arr[$val];
unset($arr[$val]);}
return $new_arr;
}
//Associe les Kana à leur ROMAJI
$HiraAss=array(); for($i=0;$i<count($Hira);$i++){$HiraAss[$Roma[$i]."_".$i]=$Hira[$i];}
$KanaAss=array(); for($i=0;$i<count($Kana);$i++){$KanaAss[$Roma[$i]."_".$i]=$Kana[$i];}
$RomaAss=array(); for($i=0;$i<count($Roma);$i++){$RomaAss[ "_".$i]=$Roma[$i];}
$DualAss=array(); for($i=0;$i<count($Rom2);$i++){$DualAss[$Rom2[$i]."_".$i]=$Dual[$i];}
//Mixe les tableaux
$HiraMix=ShuffleAss($HiraAss);
$KanaMix=ShuffleAss($KanaAss);
$RomaMix=ShuffleAss($RomaAss);
$DualMix=ShuffleAss($DualAss);
//Construit un tableau HTML contenant les données d'un tableau 'STANDARD' PHP
//*** Utilisé dans les versions antérieures
function TableREG($Data){
$LonD=count($Data);
$Line=(int)(sqrt(count($Data)));
$Coll=$Line+1;
$n=0;
echo "<table>";
for($i=0;$i<$Line;$i++){
echo " <tr>\n";
for($j=0;$j<$Coll;$j++){
$cell=$n<$LonD?$Data[$n]:"&nbsp;";
$n++;
echo " <td>".$cell."</td>\n";
}
echo " </tr>\n";
}
echo "</table>\n";
}
//Construit un tableau HTML contenant les données d'un tableau ASSOCIATIF PHP
function TableAss($Data){
$LonD=count($Data);
$Line=(int)(sqrt(count($Data)));
$Coll=$Line+1;
reset($Data);
echo "<table>";
for($i=0;$i<$Line;$i++){
echo " <tr>\n";
for($j=0;$j<$Coll;$j++){
$val=current($Data);
if($val!=""){
list($title)=split("_",key($Data),2);
$title=$title==""?"":"title=' ".$title." '";
echo " <td $title>".$val."</td>\n";
}else{
echo " <td>&nbsp;</td>\n";
}
next($Data);
}
echo " </tr>\n";
}
echo "</table>\n";
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Revision HKR</title>
<style type="text/css">
<!--
HTML,*{margin:0Px;padding:0Px}
BODY {font-family:"MS Trbuchet",Arial,sans-serif;font-size:20Px;margin:10Px;cursor:default;}
TABLE {border-collapse:collapse;font-size:20Px;width:100%;padding:5Px;margin:0 0 10Px 0;}
TH {background-color:#CCCC99;white-space:nowrap}
TH,TD {vertical-align:top; padding:5Px;border:1Px solid #6E6E6E;}
TH {font-weight:bold;font-size:12Px;}
H1 {font-size:18Px;margin:0 0 5Px 0;}
HR {height:1Px;color:#666666;}
LI {list-style-position:inside;}
P {margin:0 0 5Px 0;padding:0Px;text-align:justify;}
A {text-decoration:none;color:#0000CC;}
A:hover{text-decoration:underline;color:#993300;}
-->
</style>
</head>
<body>
<?PHP
echo "<H1>Hiragana</H1>";
TableAss($HiraMix);
echo "<H1>Katakana</H1>";
TableAss($KanaMix);
echo "<H1>R&ocirc;maji</H1>";
TableAss($RomaMix);
echo "<H1>Hiragana &amp; Katakana</H1>";
TableAss($DualMix);
?>
</body>
</html>

samz
12/11/2008, 21h15
RevisionHKR: version 1.6

CORRECTIONS:
- 2 doublons dans la liste des Hiragana: じ,ず, remplacés par ぢ,づ (manquants)
- 2 doublons dans la liste des Katakana: ジ,ズ, remplacés par ヂ,ヅ (manquants)
AJOUTS:
- lien vers le code source du script (Clic droit > Sauver sous..., Puis changer l'extension en "php"). Car même en format CODE, le PHP/HTML/CSS est parfois altéré par le moteur du forum.
- lien pour générer de nouveaux tableaux (càd recharger la page).

URL: http://www.airfirst.ch/hkr/

PS.
- La mention "Distribué sous licence GNU: GNU.ORG/licenses", c'est juste pour faire un peu sérieux, et vous donner mon accord pour utiliser, modifier, dupliquer, distribuer ce script comme bon vous semble (mais sans but commercial), afin d'en faire profiter gratuitement tous ceux qui apprennent les syllabaires japonais. Si j'ai bien compris les termes de cette licences ;)
- Vous avez donc mon accord pour poser ce script sur le serveur où vous êtes autorisé à le faire.
- La page http://www.airfirst.ch/hkr/ est posée sur l'hébergement annuel d'un ami, et disparaitra s'il ne le renouvelle pas. Raison pour laquelle j'ai publier le code source dans mon message plus haut. OK bon, voici un miroir sur mon hébergement (avec une espérance de vie de quelques années): http://acc.jexiste.ch/JPN/RevisionHKR.php

Le code source est joint ci-dessous.

Bien à vous.

samz
14/11/2008, 23h27
Bonsoir,
Voici la version 1.8 (Revision18.php) de cet outil de révision des syllabaires japonais. Dans le dossier de mes contributions en relation avec le Japon:

http://acc.jexiste.ch/JPN/

Cette version permet de réviser les syllabaires en ligne grâce l'affichage de la solution en cliquant la cellule de la syllabe étudiée. Un second clic masque la solution.
Préférez la révision en ligne afin d'économiser du papier ;)

Le code source ci-dessous.

Une idée pour améliorer cet outils? Je vous écoute.
Bien à vous et bonne révision.