Initialisation du projet

master
robert.sebille@cassiopea.org 7 years ago
commit 272071d4cf

55
.gitattributes vendored

@ -0,0 +1,55 @@
* text=auto !eol
/LICENSE -text
/LICENSE_maxiGos_v6 -text
/README_usage -text
lang/paquet-maxigos_en.php -text
lang/paquet-maxigos_fr.php -text
maxigos/_i18n/maxigos-rosewood-basic.js -text
maxigos/_i18n/maxigos-rosewood-comment.js -text
maxigos/_i18n/maxigos-rosewood-diagram.js -text
maxigos/_i18n/maxigos-rosewood-game.js -text
maxigos/_i18n/maxigos-rosewood-problem.js -text
maxigos/_i18n/maxigos-rosewood-tree.js -text
maxigos/_i18n/mgos-i18n-en.js -text
maxigos/_i18n/mgos-i18n-fr.js -text
maxigos/_i18n/mgos-i18n-ja.js -text
maxigos/_i18n/mgos-i18n-zh-tw.js -text
maxigos/_i18n/mgos-i18n-zh.js -text
maxigos/fm.js -text
maxigos/kifu.js -text
maxigos/maxigos-chameleon-basic.js -text
maxigos/maxigos-chameleon-comment.js -text
maxigos/maxigos-chameleon-diagram.js -text
maxigos/maxigos-chameleon-game.js -text
maxigos/maxigos-chameleon-problem.js -text
maxigos/maxigos-chameleon-tree.js -text
maxigos/maxigos-classic-basic.js -text
maxigos/maxigos-classic-comment.js -text
maxigos/maxigos-classic-diagram.js -text
maxigos/maxigos-classic-game.js -text
maxigos/maxigos-classic-lesson.js -text
maxigos/maxigos-classic-problem.js -text
maxigos/maxigos-classic-tree.js -text
maxigos/maxigos-edit.js -text
maxigos/maxigos-minimalist-basic.js -text
maxigos/maxigos-minimalist-comment.js -text
maxigos/maxigos-minimalist-diagram.js -text
maxigos/maxigos-minimalist-game.js -text
maxigos/maxigos-minimalist-problem.js -text
maxigos/maxigos-minimalist-tree.js -text
maxigos/maxigos-neo-classic-basic.js -text
maxigos/maxigos-neo-classic-comment.js -text
maxigos/maxigos-neo-classic-diagram.js -text
maxigos/maxigos-neo-classic-game.js -text
maxigos/maxigos-neo-classic-problem.js -text
maxigos/maxigos-neo-classic-tree.js -text
maxigos/maxigos-tatami-basic.js -text
maxigos/maxigos-tatami-comment.js -text
maxigos/maxigos-tatami-diagram.js -text
maxigos/maxigos-tatami-game.js -text
maxigos/maxigos-tatami-problem.js -text
maxigos/maxigos-tatami-tree.js -text
maxigos/tiger.js -text
/maxigos_administrations.php -text
modeles/maxigos.html -text
/paquet.xml -text

@ -0,0 +1,165 @@
GNU LESSER GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
This version of the GNU Lesser General Public License incorporates
the terms and conditions of version 3 of the GNU General Public
License, supplemented by the additional permissions listed below.
0. Additional Definitions.
As used herein, "this License" refers to version 3 of the GNU Lesser
General Public License, and the "GNU GPL" refers to version 3 of the GNU
General Public License.
"The Library" refers to a covered work governed by this License,
other than an Application or a Combined Work as defined below.
An "Application" is any work that makes use of an interface provided
by the Library, but which is not otherwise based on the Library.
Defining a subclass of a class defined by the Library is deemed a mode
of using an interface provided by the Library.
A "Combined Work" is a work produced by combining or linking an
Application with the Library. The particular version of the Library
with which the Combined Work was made is also called the "Linked
Version".
The "Minimal Corresponding Source" for a Combined Work means the
Corresponding Source for the Combined Work, excluding any source code
for portions of the Combined Work that, considered in isolation, are
based on the Application, and not on the Linked Version.
The "Corresponding Application Code" for a Combined Work means the
object code and/or source code for the Application, including any data
and utility programs needed for reproducing the Combined Work from the
Application, but excluding the System Libraries of the Combined Work.
1. Exception to Section 3 of the GNU GPL.
You may convey a covered work under sections 3 and 4 of this License
without being bound by section 3 of the GNU GPL.
2. Conveying Modified Versions.
If you modify a copy of the Library, and, in your modifications, a
facility refers to a function or data to be supplied by an Application
that uses the facility (other than as an argument passed when the
facility is invoked), then you may convey a copy of the modified
version:
a) under this License, provided that you make a good faith effort to
ensure that, in the event an Application does not supply the
function or data, the facility still operates, and performs
whatever part of its purpose remains meaningful, or
b) under the GNU GPL, with none of the additional permissions of
this License applicable to that copy.
3. Object Code Incorporating Material from Library Header Files.
The object code form of an Application may incorporate material from
a header file that is part of the Library. You may convey such object
code under terms of your choice, provided that, if the incorporated
material is not limited to numerical parameters, data structure
layouts and accessors, or small macros, inline functions and templates
(ten or fewer lines in length), you do both of the following:
a) Give prominent notice with each copy of the object code that the
Library is used in it and that the Library and its use are
covered by this License.
b) Accompany the object code with a copy of the GNU GPL and this license
document.
4. Combined Works.
You may convey a Combined Work under terms of your choice that,
taken together, effectively do not restrict modification of the
portions of the Library contained in the Combined Work and reverse
engineering for debugging such modifications, if you also do each of
the following:
a) Give prominent notice with each copy of the Combined Work that
the Library is used in it and that the Library and its use are
covered by this License.
b) Accompany the Combined Work with a copy of the GNU GPL and this license
document.
c) For a Combined Work that displays copyright notices during
execution, include the copyright notice for the Library among
these notices, as well as a reference directing the user to the
copies of the GNU GPL and this license document.
d) Do one of the following:
0) Convey the Minimal Corresponding Source under the terms of this
License, and the Corresponding Application Code in a form
suitable for, and under terms that permit, the user to
recombine or relink the Application with a modified version of
the Linked Version to produce a modified Combined Work, in the
manner specified by section 6 of the GNU GPL for conveying
Corresponding Source.
1) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (a) uses at run time
a copy of the Library already present on the user's computer
system, and (b) will operate properly with a modified version
of the Library that is interface-compatible with the Linked
Version.
e) Provide Installation Information, but only if you would otherwise
be required to provide such information under section 6 of the
GNU GPL, and only to the extent that such information is
necessary to install and execute a modified version of the
Combined Work produced by recombining or relinking the
Application with a modified version of the Linked Version. (If
you use option 4d0, the Installation Information must accompany
the Minimal Corresponding Source and Corresponding Application
Code. If you use option 4d1, you must provide the Installation
Information in the manner specified by section 6 of the GNU GPL
for conveying Corresponding Source.)
5. Combined Libraries.
You may place library facilities that are a work based on the
Library side by side in a single library together with other library
facilities that are not Applications and are not covered by this
License, and convey such a combined library under terms of your
choice, if you do both of the following:
a) Accompany the combined library with a copy of the same work based
on the Library, uncombined with any other library facilities,
conveyed under the terms of this License.
b) Give prominent notice with the combined library that part of it
is a work based on the Library, and explaining where to find the
accompanying uncombined form of the same work.
6. Revised Versions of the GNU Lesser General Public License.
The Free Software Foundation may publish revised and/or new versions
of the GNU Lesser General Public License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the
Library as you received it specifies that a certain numbered version
of the GNU Lesser General Public License "or any later version"
applies to it, you have the option of following the terms and
conditions either of that published version or of any later version
published by the Free Software Foundation. If the Library as you
received it does not specify a version number of the GNU Lesser
General Public License, you may choose any version of the GNU Lesser
General Public License ever published by the Free Software Foundation.
If the Library as you received it specifies that a proxy can decide
whether future versions of the GNU Lesser General Public License shall
apply, that proxy's public statement of acceptance of any version is
permanent authorization for you to choose that version for the
Library.

@ -0,0 +1,9 @@
maxiGos v6 Copyright (c) 1998-2016, Francois Mizessyn
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

@ -0,0 +1,72 @@
README_maxigos.txt
maxigos est un modèle pour Spip qui permet l'implémentation des principales fonctionnalités de maxiGos, "un ensemble d'outils permettant d'insérer des parties, problèmes et diagrammes de go enregistrés au format sgf dans une page web."
http://jeudego.org/maxiGos/
Le contenu sgf peut être écrit en paramètre du modèle ou contenu dans un fichier au format sgf (Smart Game Format, https://en.wikipedia.org/wiki/Smart_Game_Format)
Le modèle a été testé sous Spip 3.1, mais il n'y a pas à priori de raison pour qu'il ne fonctionne pas également sous Spip 3.0, ou 2.1 et 2.0. Simplement, il faut tester. Des retours d'utilisateurs sont les bienvenus à ce propos.
***Configuration.***
-* Les modèles sont à placer dans [votre_dossier_squelette]/modeles, par exemple: squelettes/modeles/maxigos.html et squelettes/modeles/autorise_sgf.html
-* Le répertoire maxigos du package est à charger en sous répertoire immédiat de votre dossier squelettes
**Autoriser les documents SGF**
Spip a "oublié" ;) d'autoriser les fichiers d'extension .sgf et les compresse zip. Il faut donc les autoriser directement dans la base de données, en ajoutant une ligne dans la table "spip_type_documents". Pour réaliser cela simplement, le package contient un modèle autorise_sgf.html qui ajoutera cette ligne dans la base si elle n'existe pas encore.
Utilisation simplissime: <code><autorise_sgf|></code>. Ce modèle n'est évidemment à utiliser qu'une seule fois, et vous pouvez supprimer le fichier autorise_sgf.html ensuite. Si vous l'utilisez plusieurs fois, cela n'a pas d'impact, l'autorisation n'est créée qu'une seule fois.
Et si vous préférez, via ligne de commande:
<code>INSERT INTO spip_type_documents (titre,extension,inclus,upload) VALUES("SGF","sgf","non","oui");</code> (les autres champs restent vides)
Voir http://www.spip.net/fr_article2002.html
***Règles du format sgf.***
Si vous voulez écrire du sgf directement dans le contenu, référez vous aux spécifications: http://www.red-bean.com/sgf/
La plupart du temps, vous préférerez sans doute utiliser des fichiers sgf créés automatiquement.
***Paramètres du modèle***
**Formatage**
- <code>langue=[langue]</code> où [langue] peut prendre les valeurs: fr (pour français, défaut), en (pour anglais), ja (pour japonais), zh (pour chinois), zh-tw (pour chinois taiwan)
- <code>style=[style]</code> où [style] peut prendre les valeurs: classic (par défaut), neo (pour neo-classic), tatami, minimal (pour minimalist), cameleon, [qui sont des valeurs multitypes] ou fm, kifu, tiger [qui sont des valeurs monotypes]
- <code>type=[type]</code> où [type] peut prendre les valeurs: basic (par défaut), comment, diagram, game, problem [qui sont des valeurs multistyles], tree, edit, lesson [qui sont des valeurs monostyles]
**Valeurs multitypes ou monotypes, et multistyles ou monostyles**
-* Les valeurs de style multitypes et les valeurs de types multistyles peuvent être associées, par exemple: <code>|style=neo|type=comment</code> ou <code>|style=cameleon|type=problem</code>
-* Par contre,
-** les valeurs de style monotypes (fm, kifu, tiger) ont leur propre type (et donc, le paramètre <code>|type=[quelquechose]</code> ne servira à rien.
-** et les valeurs de types monostyles (edit, lesson) ont leur propre style (et donc, le paramètre <code>|style=[quelquechose]</code> ne servira à rien.
Pour la signification des paramètres style et type, référez-vous aux exemples présentés sur cette page http://jeudego.org/maxiGos/_maxigos/_doc/_fr/download.php du site de maxiGos, sous l'intertitre "Téléchargement des lecteurs autonomes uniquement", et visualisez les exemples.
**Contenu**
Si les deux deux paramètres qui suivent (id_doc et contenu) sont présents, seul le paramètre id_doc sera pris en compte.
- <code>id_doc=XX</code> -- le contenu est dans un fichier d'id=XX, avec l'extension .sgf, téléchargé via Spip; peu importe que ce fichier soit lié ou non à l'objet (article, par exemple) où l'appel du modèle est inséré
- <code>contenu=un_contenu_sgf_ecrit_directement</code> -- le contenu SGF est écrit directement ou copié/collé dans l'objet Spip. {Attention, le contenu sgf écrit manuellement dans un article, ne supporte pas les "|" (pipe).} Ceci vaut uniquement pour le paramètre contenu.
***Exemples d'utilisation***
Dans un article, vu que l'utilisation dans un squelette paraît ici peu pertinente.
<code><maxigos|contenu=(;FF[4]GM[1]SZ[19]VW[aa:ii]FG[1]AW[ee]AB[de][fe][ed];B[ef]C[Correct !])></code> présentera un exemple de problème (prise d'une pierre), en style classic, type basic.
<code><maxigos|style=tatami|type=tree|langue=zh|id_doc=XX></code> affichera un lecteur de style tatami, de type tree, en chinois, avec la partie ou le problème contenu dans un fichier .sgf d'id=XX.
L'appel du modèle peut se faire également sans paramètres de cette manière: <code><maxigos|></code> (sans oublier le | (pipe)). L'appel produit alors un éditeur basique de style classic et de type basic. Si on ajoute des paramètres de style, de type et/ou de langue, sans paramètres de fichier ni de contenu, l'appel produit alors également un éditeur basique, mais de style [style], de type [type] et/ou de langue [langue]
***Package***
Le package comprend:
- le modèle maxigos.html
- le modèle autorise_sgf.html
- un mode d'emploi README_maxigos.txt
- le répertoire maxigos contenant une version de maxiGos v6.64 (lecteurs autonomes seulement + editeur + fichiers de langue)
***Evolution***
V 1.3:
- Remplacement du paramètre fichier (nom du fichier sgf) par id_doc (id du fichier sgf). Ca simplifie l'écriture.
- Recherche du fichier via une boucle documents (ça permet de supprimer la constante CHEMIN_REPERTOIRE_SPIP).
- modèle autorise_sgf.html qui crée l'extension sfg dans spip_types_documents.
V 1.2:
- Protection des variables php par préfixe unique (maxigos_).
- Mise en minuscules automatique des noms de fichiers pour correspondre aux uploads spipiens.
- Ajout des styles cameleon (multitypes) fm, kifu, tiger (monotypes) et du type lesson (monostyle).

@ -0,0 +1,17 @@
<?php
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
// Fichier source, a modifier dans svn://zone.spip.org/spip-zone/_plugins_/albums/trunk/lang/
$GLOBALS[$GLOBALS['idx_lang']] = array(
// A
'maxigos_description' => 'Maxigos proposes a model for Spip which allows the implementation of the main functionalities of [maxiGos-> http://jeudego.org/maxiGos/], « a set of tools allowing to insert parts, problems and diagrams of Go saved in sgf format in a web page. »
The sgf content can be written as a model parameter or contained in a sgf file ([Smart Game Format-> https://en.wikipedia.org/wiki/Smart_Game_Format]).
The model has been tested under Spip 3.1, but there is not particular reason that it does not work also under Spip 3.0, or 2.1 and 2.0. In other words, you have to test. Feedback from users is welcome.',
'maxigos_nom' => 'maxiGos integration',
'maxigos_slogan' => 'Go diagrams with maxiGos V6.4.'
);
?>

@ -0,0 +1,17 @@
<?php
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
// Fichier source, a modifier dans svn://zone.spip.org/spip-zone/_plugins_/albums/trunk/lang/
$GLOBALS[$GLOBALS['idx_lang']] = array(
// A
'maxigos_description' => 'maxigos propose un modèle pour Spip qui permet l\'implémentation des principales fonctionnalités de [maxiGos->http://jeudego.org/maxiGos/], « un ensemble d\'outils permettant dinsérer des parties, problèmes et diagrammes de go enregistrés au format sgf dans une page web. »
Le contenu sgf peut être écrit en paramètre du modèle ou contenu dans un fichier au format sgf ([Smart Game Format->https://en.wikipedia.org/wiki/Smart_Game_Format]).
Le modèle a été testé sous Spip 3.1, mais il n\'y a pas à priori de raison pour qu\'il ne fonctionne pas également sous Spip 3.0, ou 2.1 et 2.0. Simplement, il faut tester. Des retours d\'utilisateurs sont les bienvenus à ce propos.',
'maxigos_nom' => 'Intégration maxiGos',
'maxigos_slogan' => 'Diagrammes de go avec maxiGos V6.4.'
);
?>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -0,0 +1,3 @@
// begin of localization
if (typeof mxG=='undefined') mxG={};
// end of localization

@ -0,0 +1,3 @@
// begin of localization
if (typeof mxG=='undefined') mxG={};
// end of localization

@ -0,0 +1,386 @@
// begin of localization
if (typeof mxG=='undefined') mxG={};
if (typeof mxG.Z=='undefined') mxG.Z=[];
if (!mxG.Z.ja) mxG.Z.ja=[];
mxG.Z.ja["•"]=1; // particle style
// mgos.js
mxG.Z.ja["Require HTML5!"]="HTML5は必要です。";
mxG.Z.ja["Loading..."]="ダウンロード...";
// mgosBackToMain.js
mxG.Z.ja["Back to game"]="局を戻る";
// mgosCartouche.js
mxG.Z.ja["Caps"]="ハマ";
mxG.Z.ja["Rank"]="棋力";
// mgosComment.js
mxG.Z.ja["buildMove"]=function(k) {return k+"手";};
// mgosCut.js
mxG.Z.ja["Cut"]="カット";
// mgosEdit.js
mxG.Z.ja["Selection"]="セレクション";
mxG.Z.ja["Full/partial view"]="フル/部分的なビュー";
mxG.Z.ja["Place a move"]="手を打つ";
mxG.Z.ja["Add/remove a stone"]="石を追加/削除する";
mxG.Z.ja["Cut branch"]="ブランチのカット";
mxG.Z.ja["Copy branch"]="ブランチのコピー";
mxG.Z.ja["Paste branch"]="ブランチのペースト";
mxG.Z.ja["Label"]="ラベル";
mxG.Z.ja["Mark"]="印";
mxG.Z.ja["Circle"]="円の印";
mxG.Z.ja["Square"]="正方形の印";
mxG.Z.ja["Triangle"]="三角の印";
mxG.Z.ja["Numbering"]="ナンバリング";
mxG.Z.ja["As in book"]="本のように";
mxG.Z.ja["Indices"]="座標";
mxG.Z.ja["Variation marks"]="変化のマーク";
mxG.Z.ja["Variation style"]="変化のスタイル";
mxG.Z.ja["Mark on last"]="最後の手の上にマーク";
mxG.Z.ja["Marks and labels"]="マークとラベル";
mxG.Z.ja["Header"]="対局情報";
mxG.Z.ja["B"]="B";
mxG.Z.ja["I"]="I";
mxG.Z.ja["V"]="V";
mxG.Z.ja["H"]="H";
mxG.Z.ja["S"]="S";
mxG.Z.ja["OK"]="OK";
mxG.Z.ja["Cancel"]="キャンセル";
mxG.Z.ja["New (from this point):"]="新しい(この手から):";
mxG.Z.ja["Modify"]="変更する";
mxG.Z.ja["Remove"]="削除する";
mxG.Z.ja["Start numbering with:"]="最初の数字:";
mxG.Z.ja["No numbering"]="ナンバリングなし";
mxG.Z.ja["="]="";
mxG.Z.ja["~"]="〜";
mxG.Z.ja["!"]="良";
mxG.Z.ja["?"]="悪";
mxG.Z.ja["?!"]="疑";
mxG.Z.ja["!?"]="妙";
mxG.Z.ja["T"]="番";
mxG.Z.ja["Good move"]="良い手";
mxG.Z.ja["Bad move"]="悪い手";
mxG.Z.ja["Doubtful move"]="疑問手";
mxG.Z.ja["Interesting move"]="妙着";
mxG.Z.ja["Good for Black"]="黒が良い";
mxG.Z.ja["Good for White"]="白が良い";
mxG.Z.ja["Even"]="互角";
mxG.Z.ja["Unclear"]="はっきりしない局面";
mxG.Z.ja["Add turn in Sgf"]="黒番または白番はSGFに入れて";
// mgosFile.js
mxG.Z.ja["File"]="ファイル";
mxG.Z.ja["New"]="新規";
mxG.Z.ja["Open"]="開く";
mxG.Z.ja["Close"]="閉じる";
mxG.Z.ja["Save"]="保存";
mxG.Z.ja["Save on your device"]="保存する";
mxG.Z.ja["Send"]="送る";
mxG.Z.ja["Send by email"]="メールで送る";
mxG.Z.ja["Goban size"]="碁盤サイズ";
mxG.Z.ja["Email:"]="メール";
mxG.Z.ja["Create"]="作成する";
mxG.Z.ja["Add"]="加える";
//mxG.Z.ja["OK"]="OK";
//mxG.Z.ja["Cancel"]="キャンセル";
mxG.Z.ja["Values between 5 and 19:"]="5と19の間の値";
mxG.Z.ja["Values between 1 and 52:"]="1と52の間の値";
mxG.Z.ja["Click here to open a sgf file"]="SGFファイルを開くにはここをクリックして下さい。";
mxG.Z.ja["File name:"]="ファイル名";
mxG.Z.ja["Your browser cannot do this!"]="あなたのブラウザがこれを行うことはできません。";
mxG.Z.ja["Error"]="エラー";
mxG.Z.ja["Untitled"]="無題";
mxG.Z.ja["This is not a sgf file!"]="SGFファイルではありません。";
// mgosGoto.js
mxG.Z.ja["Guess-o-meter"]="ゲス-O-メートル";
// mgosHeader.js
//mxG.Z.ja["Header"]="対局情報";
mxG.Z.ja[" "]=" ";
mxG.Z.ja[", "]=", ";
mxG.Z.ja[": "]="";
mxG.Z.ja["."]=".";
mxG.Z.ja["-"]="〜";
mxG.Z.ja["Black"]="黒";
mxG.Z.ja["White"]="白";
mxG.Z.ja[" wins"]="勝ち";
mxG.Z.ja["Date"]="対局日";
mxG.Z.ja["Place"]="場所";
mxG.Z.ja["Rules"]="ルール";
mxG.Z.ja["Time limits"]="持時間";
mxG.Z.ja["Handicap"]="置石";
mxG.Z.ja["Result"]="結果";
mxG.Z.ja["none"]="なし";
mxG.Z.ja[" by resign"]="中押";
mxG.Z.ja[" by time"]="時間切れ";
mxG.Z.ja[" by forfeit"]="反則";
mxG.Z.ja[" by "]="";
mxG.Z.ja["game with no result"]="無勝負";
mxG.Z.ja["draw"]="持碁";
mxG.Z.ja["unknown result"]="未知";
mxG.Z.ja["Komi"]="コミ";
mxG.Z.ja[" point"]="目";
mxG.Z.ja[" points"]="目";
mxG.Z.ja[" Close "]="OK";
mxG.Z.ja["h"]="時間";
mxG.Z.ja["mn"]="分";
mxG.Z.ja["s"]="秒";
mxG.Z.ja[" per player"]="各";
mxG.Z.ja["Japanese"]="日本";
mxG.Z.ja["Chinese"]="中国";
mxG.Z.ja["Korean"]="韓国";
mxG.Z.ja["GOE"]="GOE";
mxG.Z.ja["AGA"]="AGA";
mxG.Z.ja[" move"]="手";
mxG.Z.ja[" moves"]="手";
mxG.Z.ja["Number of moves"]="手数";
mxG.Z.ja["buildDay"]=function(a)
{
return a.replace(/,([0-9]{2})/g,mxG.Z.ja["-"]+"$1").replace(/0([1-9])/g,"$1")+"日";
};
mxG.Z.ja["buildMonth"]=function(a)
{
return a.replace(/0([1-9])/g,"$1")+"月";
};
mxG.Z.ja["buildDate2"]=function(s)
{
var r,reg=/(^\s*([0-9]{2})(-([0-9]{2}(,[0-9]{2})*))?)(([^-])(.*))*\s*$/g;
if (s.match(reg))
{
r=s.replace(reg,"$8");
m=s.replace(reg,"$2");
d=s.replace(reg,"$4");
return mxG.Z.ja["buildMonth"](m)+(d?mxG.Z.ja["buildDay"](d):"")+(r?mxG.Z.ja[", "]+mxG.Z.ja["buildDate2"](r):"");
}
return s;
};
mxG.Z.ja["buildDate"]=function(s)
{
var r,y,m,reg=/(^\s*([0-9]{4})(-([^\.]*))*)(\.)?(.*)\s*$/g,k,km,z;
if (s.indexOf("~")>=0)
{
r=s.split("~");
km=r.length;
z=mxG.Z.ja["buildDate"](r[0]);
for (k=1;k<km;k++) z+="〜"+mxG.Z.ja["buildDate"](r[k]);
return z;
}
s=s.replace(/,([0-9]{4})/g,".$1");
if (s.match(reg))
{
r=s.replace(reg,"$6");
y=s.replace(reg,"$2");
m=s.replace(reg,"$4");
return (y+"年")+(m?mxG.Z.ja["buildDate2"](m):"")+(r?mxG.Z.ja[", "]+mxG.Z.ja["buildDate"](r):"");
}
return s;
};
mxG.Z.ja["buildRank"]=function(a)
{
var b=a;
if (b.match(/^[0-9]+[kdp]$/))
{
b=b.replace(/[dp]/,"段");
b=b.replace("k","級");
b=b.replace("10","十");
b=b.replace("1","一");
b=b.replace("2","二");
b=b.replace("3","三");
b=b.replace("4","四");
b=b.replace("5","五");
b=b.replace("6","六");
b=b.replace("7","七");
b=b.replace("8","八");
b=b.replace("9","九");
}
return b;
};
mxG.Z.ja["buildTimeLimits"]=function(a)
{
if (a.match(/^[0-9]+$/g))
{
var r="",t,h,mn,s;
t=parseInt(a);
h=Math.floor(t/3600);
if (h) r+=h+mxG.Z.ja["h"];
mn=Math.floor((t-h*3600)/60);
if (mn) r+=(r?mxG.Z.ja[" "]:"")+mn+mxG.Z.ja["mn"];
s=t-h*3600-mn*60;
if (s) r+=(r?mxG.Z.ja[" "]:"")+s+mxG.Z.ja["s"];
return mxG.Z.ja[" per player"]+r;
}
return a;
};
mxG.Z.ja["buildNumOfMoves"]=function(a) {return a+"手";};
mxG.Z.ja["buildResult"]=function(a)
{
var b="";
if (a.substr(0,1)=="B") b=mxG.Z.ja["Black"];
else if (a.substr(0,1)=="W") b=mxG.Z.ja["White"];
else if (a.substr(0,1)=="V") return mxG.Z.ja["game with no result"];
else if (a.substr(0,1)=="D") return mxG.Z.ja["draw"];
else if (a.substr(0,1)=="0") return mxG.Z.ja["draw"];
else if (a.substr(0,1)=="?") return mxG.Z.ja["unknown result"];
else return a;
if (a.substr(1,1)=="+")
{
if (a.substr(2,1)=="R") b+=mxG.Z.ja[" by resign"];
else if (a.substr(2,1)=="T") b+=mxG.Z.ja[" by time"];
else if (a.substr(2,1)=="F") b+=mxG.Z.ja[" by forfeit"];
else if (a.length>2) b+=(parseFloat(a.substr(2).replace(",","."))+mxG.Z.ja[" point"]);
}
b+=mxG.Z.ja[" wins"];
return b;
};
// mgosHelp.js
//mxG.Z.ja[" Close "]="OK";
mxG.Z.ja["Help"]="ヘルプ";
mxG.Z.ja["Help not available!"]="すみませんですがヘルプはありません。";
//mxG.Z.ja["Error"]="エラー";
// mgosImage.js
mxG.Z.ja["Image"]="イメージ";
// mgosInfo.js
mxG.Z.ja["Info"]="情報";
//mxG.Z.ja["OK"]="OK";
//mxG.Z.ja["Cancel"]="キャンセル";
mxG.Z.ja["Event:"]="大会名";
mxG.Z.ja["Round:"]="第◯局";
mxG.Z.ja["Black:"]="黑";
mxG.Z.ja["White:"]="白";
mxG.Z.ja["Rank:"]="棋力";
mxG.Z.ja["Komi:"]="コミ";
mxG.Z.ja["Handicap:"]="置石数";
mxG.Z.ja["Result:"]="結果";
mxG.Z.ja["Date:"]="対局日";
mxG.Z.ja["Place:"]="場所";
mxG.Z.ja["Rules:"]="ルール";
mxG.Z.ja["Time limits:"]="持時間";
mxG.Z.ja["Overtime:"]="秒読み";
mxG.Z.ja["Annotations:"]="評者名";
mxG.Z.ja["Copyright:"]="著作権者名";
mxG.Z.ja["Source:"]="引用元名";
mxG.Z.ja["User:"]="記録者名";
mxG.Z.ja["Black team:"]="黒チーム名";
mxG.Z.ja["White team:"]="白チーム名";
mxG.Z.ja["Game name:"]="対局名";
mxG.Z.ja["Opening:"]="布石情報";
mxG.Z.ja["General comment:"]="対局のコメント";
mxG.Z.ja["by resign"]="中押";
mxG.Z.ja["by time"]="時間切れ";
mxG.Z.ja["by forfeit"]="反則";
mxG.Z.ja["by"]="目";
mxG.Z.ja["on points"]="ポイントで";
mxG.Z.ja["suspended"]="打ち掛け";
mxG.Z.ja["Main"]="メイン";
mxG.Z.ja["Other"]="その他";
//mxG.Z.ja["Black"]="黑";
//mxG.Z.ja["White"]="白";
//mxG.Z.ja[" wins"]="勝ち";
//mxG.Z.ja["draw"]="持碁";
mxG.Z.ja["no result"]="無勝負";
mxG.Z.ja["unknown"]="未知";
// mgosKifu.js
mxG.Z.ja["Kifu"]="棋譜";
// mgosMenu.js
mxG.Z.ja["File"]="ファイル";
mxG.Z.ja["Edit"]="編集";
//mxG.Z.ja["Cut"]="カット";
mxG.Z.ja["Copy"]="コピー";
mxG.Z.ja["Paste"]="ペースト";
mxG.Z.ja["View"]="表示";
mxG.Z.ja["Window"]="ウィンドウ";
//mxG.Z.ja["Untitled"]="無題";
// mgosMoveInfo.js
// mgosNotSeen.js
mxG.Z.ja[" elsewhere"]=" 手抜き";
mxG.Z.ja[" pass"]=" パス";
mxG.Z.ja[" at "]=" => ";
// mgosOption.js
mxG.Z.ja["Options"]="オプション";
//mxG.Z.ja["OK"]="OK";
//mxG.Z.ja["Cancel"]="キャンセル";
//mxG.Z.ja["Mark on last"]="最後の手の上にマーク";
//mxG.Z.ja["Indices"]="座標";
//mxG.Z.ja["As in book"]="本のように";
//mxG.Z.ja["Numbering"]="ナンバリング";
//mxG.Z.ja["Marks and labels"]="マークとラベル";
//mxG.Z.ja["Variation marks"]="変化のマーク";
mxG.Z.ja["Show variations of current move instead of next move"]="現在の手の変化/次の一手の変化";
mxG.Z.ja["In 3d"]="3D";
mxG.Z.ja["When clicking on the goban"]="碁盤をクリックすると";
mxG.Z.ja["place a variation"]="変化を打つ";
mxG.Z.ja["try to guess the next move"]="次の一手を推測する";
mxG.Z.ja["from"]="から";
mxG.Z.ja["with"]="で";
mxG.Z.ja["Loop time:"]="ループ時間:";
mxG.Z.ja["Animated stone"]="石のアニメーション";
mxG.Z.ja["Animated stone time:"]="石のアニメーション時間:";
mxG.Z.ja["Eval score"]="点数";
// mgosPass.js
mxG.Z.ja["Pass"]="パス";
// mgosSgf.js
mxG.Z.ja["SGF"]="";
//mxG.Z.ja[" Close "]="OK";
// mgosSolve.js
mxG.Z.ja["Retry"]="最初に戻る";
mxG.Z.ja["Undo"]="一手戻る";
mxG.Z.ja["Continuation"]="最終手へ";
// mgosScore.js
mxG.Z.ja["Score"]="点数";
//mxG.Z.ja["Black:"]="黒:";
//mxG.Z.ja["White:"]="白:";
mxG.Z.ja["chinese rules"]="中国ルール";
mxG.Z.ja["AGA rules"]="AGAルール";
mxG.Z.ja["Ing rules"]="応氏ルール";
mxG.Z.ja["New-Zeland rules"]="ニュージーランドルール";
mxG.Z.ja["japanese rules"]="日本ルール";
mxG.Z.ja["territory"]="地";
mxG.Z.ja["prisoners"]="ハマ";
mxG.Z.ja["pass"]="パス";
mxG.Z.ja["stones"]="石";
mxG.Z.ja["last move"]="最後の手";
mxG.Z.ja["komi"]="コミ";
// mgosTitle.js
//mxG.Z.ja[", "]=", ";
// mgosVariations.js
mxG.Z.ja["Variations: "]="変化: ";
mxG.Z.ja["no variation"]="なし";
// mgosView.js
mxG.Z.ja["2d/3d"]="2D/3D";
mxG.Z.ja["Zoom+"]="ズーム+";
mxG.Z.ja["No zoom"]="ズームなし";
mxG.Z.ja["Zoom-"]="ズーム-";
mxG.Z.ja["Colors"]="色";
mxG.Z.ja["Goban background:"]="碁盤背景";
mxG.Z.ja["Line color:"]="線色";
mxG.Z.ja["Variation on focus color:"]="焦点に変化の色";
// end of localization

@ -0,0 +1,341 @@
// begin of localization
if (typeof mxG=='undefined') mxG={};
if (typeof mxG.Z=='undefined') mxG.Z=[];
if (!mxG.Z["zh-tw"]) mxG.Z["zh-tw"]=[];
// mgos.js
mxG.Z["zh-tw"]["Require HTML5!"]="需要HTML5";
mxG.Z["zh-tw"]["Loading..."]="下載...";
// mgosBackToMain.js
mxG.Z["zh-tw"]["Back to game"]="回到遊戲";
// mgosCartouche.js
mxG.Z["zh-tw"]["Caps"]="提子";
mxG.Z["zh-tw"]["Rank"]="等級";
// mgosComment.js
mxG.Z["zh-tw"]["buildMove"]=function(k) {return k+"手";};
// mgosCut.js
mxG.Z["zh-tw"]["Cut"]="剪切";
// mgosEdit.js
mxG.Z["zh-tw"]["Selection"]="選擇";
mxG.Z["zh-tw"]["Full/partial view"]="全部/部分選中";
mxG.Z["zh-tw"]["Place a move"]="黑/白走子";
mxG.Z["zh-tw"]["Add/remove a stone"]="增加/刪除棋子";
mxG.Z["zh-tw"]["Cut branch"]="剪切分支";
mxG.Z["zh-tw"]["Copy branch"]="複製分支";
mxG.Z["zh-tw"]["Paste branch"]="粘貼分支";
mxG.Z["zh-tw"]["Label"]="標籤";
mxG.Z["zh-tw"]["Mark"]="記號";
mxG.Z["zh-tw"]["Circle"]="圓形";
mxG.Z["zh-tw"]["Square"]="方塊";
mxG.Z["zh-tw"]["Triangle"]="三角";
mxG.Z["zh-tw"]["Numbering"]="編號";
mxG.Z["zh-tw"]["As in book"]="如在書";
mxG.Z["zh-tw"]["Indices"]="坐標";
mxG.Z["zh-tw"]["Variation marks"]="變化標記";
mxG.Z["zh-tw"]["Variation style"]="分支顯示風格";
mxG.Z["zh-tw"]["Mark on last"]="標記最後一手";
mxG.Z["zh-tw"]["Marks and labels"]="標記和標籤";
mxG.Z["zh-tw"]["Header"]="信息";
mxG.Z["zh-tw"]["B"]="B";
mxG.Z["zh-tw"]["I"]="I";
mxG.Z["zh-tw"]["V"]="V";
mxG.Z["zh-tw"]["H"]="H";
mxG.Z["zh-tw"]["S"]="S";
mxG.Z["zh-tw"]["OK"]="確定";
mxG.Z["zh-tw"]["Cancel"]="取消";
mxG.Z["zh-tw"]["New (from this point):"]="新編號:";
mxG.Z["zh-tw"]["Modify"]="修改";
mxG.Z["zh-tw"]["Remove"]="刪除";
mxG.Z["zh-tw"]["Start numbering with:"]="編號為:";
mxG.Z["zh-tw"]["No numbering"]="無編號";
// mgosFile.js
mxG.Z["zh-tw"]["New"]="新建";
mxG.Z["zh-tw"]["Open"]="打開";
mxG.Z["zh-tw"]["Close"]="關閉";
mxG.Z["zh-tw"]["Save"]="保存";
mxG.Z["zh-tw"]["Save on your device"]="保存";
mxG.Z["zh-tw"]["Send"]="發送";
mxG.Z["zh-tw"]["Send by email"]="寄電子郵件";
mxG.Z["zh-tw"]["Goban size"]="棋盤大小";
mxG.Z["zh-tw"]["Email:"]="電子郵件";
mxG.Z["zh-tw"]["Create"]="創建";
mxG.Z["zh-tw"]["Add"]="添加";
//mxG.Z["zh-tw"]["OK"]="確定";
//mxG.Z["zh-tw"]["Cancel"]="取消";
mxG.Z["zh-tw"]["Values between 5 and 19:"]="5到19中選";
mxG.Z["zh-tw"]["Values between 1 and 52:"]="1到52中選";
mxG.Z["zh-tw"]["Click here to open a sgf file"]="點擊這裡打開一個SGF文件";
mxG.Z["zh-tw"]["File name:"]="文件名:";
mxG.Z["zh-tw"]["Your browser cannot do this!"]="不可能";
mxG.Z["zh-tw"]["Error"]="錯誤";
mxG.Z["zh-tw"]["Untitled"]="無題";
mxG.Z["zh-tw"]["This is not a sgf file!"]="這不是SGF文件";
// mgosGoto.js
mxG.Z["zh-tw"]["Guess-o-meter"]="猜-O-米";
// mgosHeader.js
//mxG.Z["zh-tw"]["Header"]="信息";
mxG.Z["zh-tw"][" "]=" ";
mxG.Z["zh-tw"][", "]=", ";
mxG.Z["zh-tw"][": "]="";
mxG.Z["zh-tw"]["."]=".";
mxG.Z["zh-tw"]["-"]="〜";
mxG.Z["zh-tw"]["Black"]="黑";
mxG.Z["zh-tw"]["White"]="白";
mxG.Z["zh-tw"][" wins"]="勝";
mxG.Z["zh-tw"]["Date"]="日期";
mxG.Z["zh-tw"]["Place"]="地點";
mxG.Z["zh-tw"]["Rules"]="規則";
mxG.Z["zh-tw"]["Time limits"]="時限";
mxG.Z["zh-tw"]["Handicap"]="授子";
mxG.Z["zh-tw"]["Result"]="結果";
mxG.Z["zh-tw"]["none"]="沒有";
mxG.Z["zh-tw"][" by resign"]="中盤";
mxG.Z["zh-tw"][" by time"]="超時";
mxG.Z["zh-tw"][" by forfeit"]="棄權";
mxG.Z["zh-tw"][" by "]="";
mxG.Z["zh-tw"]["game with no result"]="無勝負";
mxG.Z["zh-tw"]["draw"]="持棋";
mxG.Z["zh-tw"]["unknown result"]="未知結果";
mxG.Z["zh-tw"]["Komi"]="貼目";
mxG.Z["zh-tw"][" point"]="目";
mxG.Z["zh-tw"][" points"]="目";
mxG.Z["zh-tw"][" Close "]="確定";
mxG.Z["zh-tw"]["h"]="點";
mxG.Z["zh-tw"]["mn"]="分";
mxG.Z["zh-tw"]["s"]="秒";
mxG.Z["zh-tw"][" per player"]="";
mxG.Z["zh-tw"]["Japanese"]="日本";
mxG.Z["zh-tw"]["Chinese"]="中國";
mxG.Z["zh-tw"]["Korean"]="韓國";
mxG.Z["zh-tw"]["GOE"]="GOE";
mxG.Z["zh-tw"]["AGA"]="AGA";
mxG.Z["zh-tw"][" move"]="手";
mxG.Z["zh-tw"][" moves"]="手";
mxG.Z["zh-tw"]["Number of moves"]="手數";
mxG.Z["zh-tw"]["buildDay"]=function(a)
{
return a.replace(/,([0-9]{2})/g,mxG.Z["zh-tw"]["-"]+"$1").replace(/0([1-9])/g,"$1")+"日";
};
mxG.Z["zh-tw"]["buildMonth"]=function(a)
{
return a.replace(/0([1-9])/g,"$1")+"月";
};
mxG.Z["zh-tw"]["buildDate2"]=function(s)
{
var r,reg=/(^\s*([0-9]{2})(-([0-9]{2}(,[0-9]{2})*))?)(([^-])(.*))*\s*$/g;
if (s.match(reg))
{
r=s.replace(reg,"$8");
m=s.replace(reg,"$2");
d=s.replace(reg,"$4");
return mxG.Z["zh-tw"]["buildMonth"](m)+(d?mxG.Z["zh-tw"]["buildDay"](d):"")+(r?mxG.Z["zh-tw"][", "]+mxG.Z["zh-tw"]["buildDate2"](r):"");
}
return s;
};
mxG.Z["zh-tw"]["buildDate"]=function(s)
{
var r,y,m,reg=/(^\s*([0-9]{4})(-([^\.]*))*)(\.)?(.*)\s*$/g;
s=s.replace(/,([0-9]{4})/g,".$1");
if (s.match(reg))
{
r=s.replace(reg,"$6");
y=s.replace(reg,"$2");
m=s.replace(reg,"$4");
return (y+"年")+(m?mxG.Z["zh-tw"]["buildDate2"](m):"")+(r?mxG.Z["zh-tw"][", "]+mxG.Z["zh-tw"]["buildDate"](r):"");
}
return s;
};
mxG.Z["zh-tw"]["buildRank"]=function(a)
{
var b=a;
if (b.match(/^[0-9]+[kdp]$/))
{
b=b.replace(/[dp]/,"段");
b=b.replace("k","級");
b=b.replace("10","十");
b=b.replace("1","一");
b=b.replace("2","二");
b=b.replace("3","三");
b=b.replace("4","四");
b=b.replace("5","五");
b=b.replace("6","六");
b=b.replace("7","七");
b=b.replace("8","八");
b=b.replace("9","九");
}
return b;
};
mxG.Z["zh-tw"]["buildNumOfMoves"]=function(a) {return "共"+a+"手";};
mxG.Z["zh-tw"]["buildResult"]=function(a)
{
var b="";
if (a.substr(0,1)=="B") b=mxG.Z["zh-tw"]["Black"];
else if (a.substr(0,1)=="W") b=mxG.Z["zh-tw"]["White"];
else if (a.substr(0,1)=="V") return mxG.Z["zh-tw"]["game with no result"];
else if (a.substr(0,1)=="D") return mxG.Z["zh-tw"]["draw"];
else if (a.substr(0,1)=="0") return mxG.Z["zh-tw"]["draw"];
else if (a.substr(0,1)=="?") return mxG.Z["zh-tw"]["unknown result"];
else return a;
b+=mxG.Z["zh-tw"][" wins"];
if (a.substr(1,1)=="+")
{
if (a.substr(2,1)=="R") b+=mxG.Z["zh-tw"][" by resign"];
else if (a.substr(2,1)=="T") b+=mxG.Z["zh-tw"][" by time"];
else if (a.substr(2,1)=="F") b+=mxG.Z["zh-tw"][" by forfeit"];
else if (a.length>2) b+=parseFloat(a.substr(2).replace(",","."))+mxG.Z["zh-tw"][" point"];
}
return b;
};
// mgosHelp.js
//mxG.Z["zh-tw"][" Close "]="確定";
mxG.Z["zh-tw"]["Help"]="幫助";
mxG.Z["zh-tw"]["Help not available!"]="幫助不可用";
//mxG.Z["zh-tw"]["Error"]="錯誤";
// mgosImage.js
mxG.Z["zh-tw"]["Image"]="圖片";
// mgosInfo.js
mxG.Z["zh-tw"]["Info"]="信息";
//mxG.Z["zh-tw"]["OK"]="確定";
//mxG.Z["zh-tw"]["Cancel"]="取消";
mxG.Z["zh-tw"]["Event:"]="賽事名稱:";
mxG.Z["zh-tw"]["Round:"]="輪次:";
mxG.Z["zh-tw"]["Black:"]="黑:";
mxG.Z["zh-tw"]["White:"]="白:";
mxG.Z["zh-tw"]["Rank:"]="等級:";
mxG.Z["zh-tw"]["Komi:"]="貼目:";
mxG.Z["zh-tw"]["Handicap:"]="授子:";
mxG.Z["zh-tw"]["Result:"]="結果:";
mxG.Z["zh-tw"]["Date:"]="日期:";
mxG.Z["zh-tw"]["Place:"]="地點:";
mxG.Z["zh-tw"]["Rules:"]="規則:";
mxG.Z["zh-tw"]["Time limits:"]="時限:";
mxG.Z["zh-tw"]["Overtime:"]="讀秒方式:";
mxG.Z["zh-tw"]["Annotations:"]="註解者:";
mxG.Z["zh-tw"]["Copyright:"]="版權:";
mxG.Z["zh-tw"]["Source:"]="棋譜來源:";
mxG.Z["zh-tw"]["User:"]="錄入者:";
mxG.Z["zh-tw"]["Black team:"]="執黑者隊名:";
mxG.Z["zh-tw"]["White team:"]="執白者隊名:";
mxG.Z["zh-tw"]["Game name:"]="對局名稱:";
mxG.Z["zh-tw"]["Opening:"]="開局名稱:";
mxG.Z["zh-tw"]["General comment:"]="對局評論:";
mxG.Z["zh-tw"]["by resign"]="中盤";
mxG.Z["zh-tw"]["by time"]="超時";
mxG.Z["zh-tw"]["by forfeit"]="棄權";
mxG.Z["zh-tw"]["by"]="目:";
mxG.Z["zh-tw"]["on points"]="目";
mxG.Z["zh-tw"]["suspended"]="遊戲暫停";
mxG.Z["zh-tw"]["Main"]="主要";
mxG.Z["zh-tw"]["Other"]="其它";
//mxG.Z["zh-tw"]["Black"]="黑";
//mxG.Z["zh-tw"]["White"]="白";
//mxG.Z["zh-tw"][" wins"]="勝";
//mxG.Z["zh-tw"]["draw"]="持棋";
mxG.Z["zh-tw"]["no result"]="無勝負";
mxG.Z["zh-tw"]["unknown"]="未知";
// mgosKifu.js
mxG.Z["zh-tw"]["Kifu"]="棋譜";
// mgosMenu.js
mxG.Z["zh-tw"]["File"]="文件";
mxG.Z["zh-tw"]["Edit"]="編輯";
//mxG.Z["zh-tw"]["Cut"]="剪切";
mxG.Z["zh-tw"]["Copy"]="複製";
mxG.Z["zh-tw"]["Paste"]="粘貼";
mxG.Z["zh-tw"]["View"]="視圖";
mxG.Z["zh-tw"]["Window"]="窗口";
//mxG.Z["zh-tw"]["Untitled"]="無題";
// mgosMoveInfo.js
// mgosNotSeen.js
mxG.Z["zh-tw"][" elsewhere"]=" 脫先";
mxG.Z["zh-tw"][" pass"]=" 虛手";
mxG.Z["zh-tw"][" at "]=" => ";
// mgosOption.js
mxG.Z["zh-tw"]["Options"]="選項";
//mxG.Z["zh-tw"]["OK"]="確定";
//mxG.Z["zh-tw"]["Cancel"]="取消";
//mxG.Z["zh-tw"]["Mark on last"]="標記最後一手";
//mxG.Z["zh-tw"]["Indices"]="坐標";
//mxG.Z["zh-tw"]["As in book"]="如在書";
//mxG.Z["zh-tw"]["Numbering"]="編號";
//mxG.Z["zh-tw"]["Marks and labels"]="標記和標籤";
//mxG.Z["zh-tw"]["Variation marks"]="變化標記";
mxG.Z["zh-tw"]["Show variations of current move instead of next move"]="兄弟分支顯示風格";
mxG.Z["zh-tw"]["In 3d"]="3D";
mxG.Z["zh-tw"]["When clicking on the goban"]="當點擊在棋盤上";
mxG.Z["zh-tw"]["place a variation"]="一個地方的變化";
mxG.Z["zh-tw"]["try to guess the next move"]="試圖去猜測下一步棋";
mxG.Z["zh-tw"]["from"]="第";
mxG.Z["zh-tw"]["with"]="手 為";
mxG.Z["zh-tw"]["Loop time:"]="循環時間:";
mxG.Z["zh-tw"]["Animated stone"]="石動畫";
mxG.Z["zh-tw"]["Animated stone time:"]="石動畫時間:";
mxG.Z["zh-tw"]["Eval score"]="得分";
// mgosPass.js
mxG.Z["zh-tw"]["Pass"]="虛手";
// mgosSgf.js
mxG.Z["zh-tw"]["SGF"]="";
//mxG.Z["zh-tw"][" Close "]="確定";
// mgosSolve.js
mxG.Z["zh-tw"]["Retry"]="重試";
mxG.Z["zh-tw"]["Undo"]="取消";
mxG.Z["zh-tw"]["Continuation"]="往最後";
// mgosScore.js
mxG.Z["zh-tw"]["Score"]="得分";
//mxG.Z["zh-tw"]["Black:"]="黑:";
//mxG.Z["zh-tw"]["White:"]="白:";
mxG.Z["zh-tw"]["chinese rules"]="中國規則";
mxG.Z["zh-tw"]["AGA rules"]="美國規則";
mxG.Z["zh-tw"]["Ing rules"]="應氏規則";
mxG.Z["zh-tw"]["New-Zeland rules"]="新西蘭規則";
mxG.Z["zh-tw"]["japanese rules"]="日本規則";
mxG.Z["zh-tw"]["territory"]="地";
mxG.Z["zh-tw"]["prisoners"]="提子";
mxG.Z["zh-tw"]["pass"]="虚手";
mxG.Z["zh-tw"]["stones"]="子";
mxG.Z["zh-tw"]["last move"]="最后一手";
mxG.Z["zh-tw"]["komi"]="貼目";
// mgosTitle.js
//mxG.Z["zh-tw"][", "]=", ";
// mgosVariations.js
mxG.Z["zh-tw"]["Variations: "]="變化: ";
mxG.Z["zh-tw"]["no variation"]="沒有變化";
// mgosView.js
mxG.Z["zh-tw"]["2d/3d"]="2D/3D";
mxG.Z["zh-tw"]["Zoom+"]="放大";
mxG.Z["zh-tw"]["No zoom"]="正常";
mxG.Z["zh-tw"]["Zoom-"]="縮小";
mxG.Z["zh-tw"]["Colors"]="顏色";
mxG.Z["zh-tw"]["Goban background:"]="棋盤背景";
mxG.Z["zh-tw"]["Line color:"]="線顏色";
mxG.Z["zh-tw"]["Variation on focus color:"]="焦點變化顏色";
// end of localization

@ -0,0 +1,341 @@
// begin of localization
if (typeof mxG=='undefined') mxG={};
if (typeof mxG.Z=='undefined') mxG.Z=[];
if (!mxG.Z.zh) mxG.Z.zh=[];
// mgos.js
mxG.Z.zh["Require HTML5!"]="需要HTML5";
mxG.Z.zh["Loading..."]="下载...";
// mgosBackToMain.js
mxG.Z.zh["Back to game"]="回到游戏";
// mgosCartouche.js
mxG.Z.zh["Caps"]="提子";
mxG.Z.zh["Rank"]="等级";
// mgosComment.js
mxG.Z.zh["buildMove"]=function(k) {return k+"手";};
// mgosCut.js
mxG.Z.zh["Cut"]="剪切";
// mgosEdit.js
mxG.Z.zh["Selection"]="选择";
mxG.Z.zh["Full/partial view"]="全部/部分选中";
mxG.Z.zh["Place a move"]="黑/白走子";
mxG.Z.zh["Add/remove a stone"]="增加/删除棋子";
mxG.Z.zh["Cut branch"]="剪切分支";
mxG.Z.zh["Copy branch"]="复制分支";
mxG.Z.zh["Paste branch"]="粘贴分支";
mxG.Z.zh["Label"]="标签";
mxG.Z.zh["Mark"]="记号";
mxG.Z.zh["Circle"]="圆形";
mxG.Z.zh["Square"]="方块";
mxG.Z.zh["Triangle"]="三角";
mxG.Z.zh["Numbering"]="编号";
mxG.Z.zh["As in book"]="如在书";
mxG.Z.zh["Indices"]="坐标";
mxG.Z.zh["Variation marks"]="变化标记";
mxG.Z.zh["Variation style"]="分支显示风格";
mxG.Z.zh["Mark on last"]="标记最后一手";
mxG.Z.zh["Marks and labels"]="标记和标签";
mxG.Z.zh["Header"]="信息";
mxG.Z.zh["B"]="B";
mxG.Z.zh["I"]="I";
mxG.Z.zh["V"]="V";
mxG.Z.zh["H"]="H";
mxG.Z.zh["S"]="S";
mxG.Z.zh["OK"]="确定";
mxG.Z.zh["Cancel"]="取消";
mxG.Z.zh["New (from this point):"]="新编号:";
mxG.Z.zh["Modify"]="修改";
mxG.Z.zh["Remove"]="删除";
mxG.Z.zh["Start numbering with:"]="编号为:";
mxG.Z.zh["No numbering"]="无编号";
// mgosFile.js
mxG.Z.zh["New"]="新建";
mxG.Z.zh["Open"]="打开";
mxG.Z.zh["Close"]="关闭";
mxG.Z.zh["Save"]="保存";
mxG.Z.zh["Save on your device"]="保存";
mxG.Z.zh["Send"]="发送";
mxG.Z.zh["Send by email"]="寄电子邮件";
mxG.Z.zh["Goban size"]="棋盘大小";
mxG.Z.zh["Email:"]="电子邮件";
mxG.Z.zh["Create"]="创建";
mxG.Z.zh["Add"]="添加";
//mxG.Z.zh["OK"]="确定";
//mxG.Z.zh["Cancel"]="取消";
mxG.Z.zh["Values between 5 and 19:"]="5到19中选";
mxG.Z.zh["Values between 1 and 52:"]="1到52中选";
mxG.Z.zh["Click here to open a sgf file"]="点击这里打开一个SGF文件";
mxG.Z.zh["File name:"]="文件名:";
mxG.Z.zh["Your browser cannot do this!"]="不可能";
mxG.Z.zh["Error"]="错误";
mxG.Z.zh["Untitled"]="无题";
mxG.Z.zh["This is not a sgf file!"]="这不是SGF文件";
// mgosGoto.js
mxG.Z.zh["Guess-o-meter"]="猜-O-米";
// mgosHeader.js
//mxG.Z.zh["Header"]="信息";
mxG.Z.zh[" "]=" ";
mxG.Z.zh[", "]=", ";
mxG.Z.zh[": "]="";
mxG.Z.zh["."]=".";
mxG.Z.zh["-"]="〜";
mxG.Z.zh["Black"]="黑";
mxG.Z.zh["White"]="白";
mxG.Z.zh[" wins"]="胜";
mxG.Z.zh["Date"]="日期";
mxG.Z.zh["Place"]="地点";
mxG.Z.zh["Rules"]="规则";
mxG.Z.zh["Time limits"]="时限";
mxG.Z.zh["Handicap"]="授子";
mxG.Z.zh["Result"]="结果";
mxG.Z.zh["none"]="没有";
mxG.Z.zh[" by resign"]="中盘";
mxG.Z.zh[" by time"]="超时";
mxG.Z.zh[" by forfeit"]="弃权";
mxG.Z.zh[" by "]="";
mxG.Z.zh["game with no result"]="无胜负";
mxG.Z.zh["draw"]="持棋";
mxG.Z.zh["unknown result"]="未知结果";
mxG.Z.zh["Komi"]="贴目";
mxG.Z.zh[" point"]="目";
mxG.Z.zh[" points"]="目";
mxG.Z.zh[" Close "]="确定";
mxG.Z.zh["h"]="点";
mxG.Z.zh["mn"]="分";
mxG.Z.zh["s"]="秒";
mxG.Z.zh[" per player"]="";
mxG.Z.zh["Japanese"]="日本";
mxG.Z.zh["Chinese"]="中国";
mxG.Z.zh["Korean"]="韩国";
mxG.Z.zh["GOE"]="GOE";
mxG.Z.zh["AGA"]="AGA";
mxG.Z.zh[" move"]="手";
mxG.Z.zh[" moves"]="手";
mxG.Z.zh["Number of moves"]="手数";
mxG.Z.zh["buildDay"]=function(a)
{
return a.replace(/,([0-9]{2})/g,mxG.Z.zh["-"]+"$1").replace(/0([1-9])/g,"$1")+"日";
};
mxG.Z.zh["buildMonth"]=function(a)
{
return a.replace(/0([1-9])/g,"$1")+"月";
};
mxG.Z.zh["buildDate2"]=function(s)
{
var r,reg=/(^\s*([0-9]{2})(-([0-9]{2}(,[0-9]{2})*))?)(([^-])(.*))*\s*$/g;
if (s.match(reg))
{
r=s.replace(reg,"$8");
m=s.replace(reg,"$2");
d=s.replace(reg,"$4");
return mxG.Z.zh["buildMonth"](m)+(d?mxG.Z.zh["buildDay"](d):"")+(r?mxG.Z.zh[", "]+mxG.Z.zh["buildDate2"](r):"");
}
return s;
};
mxG.Z.zh["buildDate"]=function(s)
{
var r,y,m,reg=/(^\s*([0-9]{4})(-([^\.]*))*)(\.)?(.*)\s*$/g;
s=s.replace(/,([0-9]{4})/g,".$1");
if (s.match(reg))
{
r=s.replace(reg,"$6");
y=s.replace(reg,"$2");
m=s.replace(reg,"$4");
return (y+"年")+(m?mxG.Z.zh["buildDate2"](m):"")+(r?mxG.Z.zh[", "]+mxG.Z.zh["buildDate"](r):"");
}
return s;
};
mxG.Z.zh["buildRank"]=function(a)
{
var b=a;
if (b.match(/^[0-9]+[kdp]$/))
{
b=b.replace(/[dp]/,"段");
b=b.replace("k","级");
b=b.replace("10","十");
b=b.replace("1","一");
b=b.replace("2","二");
b=b.replace("3","三");
b=b.replace("4","四");
b=b.replace("5","五");
b=b.replace("6","六");
b=b.replace("7","七");
b=b.replace("8","八");
b=b.replace("9","九");
}
return b;
};
mxG.Z.zh["buildNumOfMoves"]=function(a) {return "共"+a+"手";};
mxG.Z.zh["buildResult"]=function(a)
{
var b="";
if (a.substr(0,1)=="B") b=mxG.Z.zh["Black"];
else if (a.substr(0,1)=="W") b=mxG.Z.zh["White"];
else if (a.substr(0,1)=="V") return mxG.Z.zh["game with no result"];
else if (a.substr(0,1)=="D") return mxG.Z.zh["draw"];
else if (a.substr(0,1)=="0") return mxG.Z.zh["draw"];
else if (a.substr(0,1)=="?") return mxG.Z.zh["unknown result"];
else return a;
b+=mxG.Z.zh[" wins"];
if (a.substr(1,1)=="+")
{
if (a.substr(2,1)=="R") b+=mxG.Z.zh[" by resign"];
else if (a.substr(2,1)=="T") b+=mxG.Z.zh[" by time"];
else if (a.substr(2,1)=="F") b+=mxG.Z.zh[" by forfeit"];
else if (a.length>2) b+=parseFloat(a.substr(2).replace(",","."))+mxG.Z.zh[" point"];
}
return b;
};
// mgosHelp.js
//mxG.Z.zh[" Close "]="确定";
mxG.Z.zh["Help"]="帮助";
mxG.Z.zh["Help not available!"]="帮助不可用";
//mxG.Z.zh["Error"]="错误";
// mgosImage.js
mxG.Z.zh["Image"]="图片";
// mgosInfo.js
mxG.Z.zh["Info"]="信息";
//mxG.Z.zh["OK"]="确定";
//mxG.Z.zh["Cancel"]="取消";
mxG.Z.zh["Event:"]="赛事名称:";
mxG.Z.zh["Round:"]="轮次:";
mxG.Z.zh["Black:"]="黑:";
mxG.Z.zh["White:"]="白:";
mxG.Z.zh["Rank:"]="等级:";
mxG.Z.zh["Komi:"]="贴目:";
mxG.Z.zh["Handicap:"]="授子:";
mxG.Z.zh["Result:"]="结果:";
mxG.Z.zh["Date:"]="日期:";
mxG.Z.zh["Place:"]="地点:";
mxG.Z.zh["Rules:"]="规则:";
mxG.Z.zh["Time limits:"]="时限:";
mxG.Z.zh["Overtime:"]="读秒方式:";
mxG.Z.zh["Annotations:"]="注解者:";
mxG.Z.zh["Copyright:"]="版权:";
mxG.Z.zh["Source:"]="棋谱来源:";
mxG.Z.zh["User:"]="录入者:";
mxG.Z.zh["Black team:"]="执黑者队名:";
mxG.Z.zh["White team:"]="执白者队名:";
mxG.Z.zh["Game name:"]="对局名称:";
mxG.Z.zh["Opening:"]="开局名称:";
mxG.Z.zh["General comment:"]="对局评论:";
mxG.Z.zh["by resign"]="中盘";
mxG.Z.zh["by time"]="超时";
mxG.Z.zh["by forfeit"]="弃权";
mxG.Z.zh["by"]="目:";
mxG.Z.zh["on points"]="目";
mxG.Z.zh["suspended"]="游戏暂停";
mxG.Z.zh["Main"]="主要";
mxG.Z.zh["Other"]="其它";
//mxG.Z.zh["Black"]="黑";
//mxG.Z.zh["White"]="白";
//mxG.Z.zh[" wins"]="胜";
//mxG.Z.zh["draw"]="持棋";
mxG.Z.zh["no result"]="无胜负";
mxG.Z.zh["unknown"]="未知";
// mgosKifu.js
mxG.Z.zh["Kifu"]="棋谱";
// mgosMenu.js
mxG.Z.zh["File"]="文件";
mxG.Z.zh["Edit"]="编辑";
//mxG.Z.zh["Cut"]="剪切";
mxG.Z.zh["Copy"]="复制";
mxG.Z.zh["Paste"]="粘贴";
mxG.Z.zh["View"]="视图";
mxG.Z.zh["Window"]="窗口";
//mxG.Z.zh["Untitled"]="无题";
// mgosMoveInfo.js
// mgosNotSeen.js
mxG.Z.zh[" elsewhere"]=" 脱先";
mxG.Z.zh[" pass"]=" 虚手";
mxG.Z.zh[" at "]=" => ";
// mgosOption.js
mxG.Z.zh["Options"]="选项";
//mxG.Z.zh["OK"]="确定";
//mxG.Z.zh["Cancel"]="取消";
//mxG.Z.zh["Mark on last"]="标记最后一手";
//mxG.Z.zh["Indices"]="坐标";
//mxG.Z.zh["As in book"]="如在书";
//mxG.Z.zh["Numbering"]="编号";
//mxG.Z.zh["Marks and labels"]="标记和标签";
//mxG.Z.zh["Variation marks"]="变化标记";
mxG.Z.zh["Show variations of current move instead of next move"]="兄弟分支显示风格";
mxG.Z.zh["In 3d"]="3D";
mxG.Z.zh["When clicking on the goban"]="当点击在棋盘上";
mxG.Z.zh["place a variation"]="一个地方的变化";
mxG.Z.zh["try to guess the next move"]="试图去猜测下一步棋";
mxG.Z.zh["from"]="第";
mxG.Z.zh["with"]="手 为";
mxG.Z.zh["Loop time:"]="循环时间:";
mxG.Z.zh["Animated stone"]="石动画";
mxG.Z.zh["Animated stone time:"]="石动画时间:";
mxG.Z.zh["Eval score"]="得分";
// mgosPass.js
mxG.Z.zh["Pass"]="虚手";
// mgosSgf.js
mxG.Z.zh["SGF"]="";