diff --git a/app/i18n/i18n.go b/app/i18n/i18n.go
index 8c0f77b..4df311f 100644
--- a/app/i18n/i18n.go
+++ b/app/i18n/i18n.go
@@ -10,8 +10,8 @@ import (
// convert revel msg to js msg
-var msgBasePath = "/Users/life/Documents/Go/package1/src/github.com/leanote/leanote/messages/"
-var targetBasePath = "/Users/life/Documents/Go/package1/src/github.com/leanote/leanote/public/js/i18n/"
+var msgBasePath = "/Users/life/Documents/Go/package2/src/github.com/leanote/leanote/messages/"
+var targetBasePath = "/Users/life/Documents/Go/package2/src/github.com/leanote/leanote/public/js/i18n/"
func parse(filename string) {
file, err := os.Open(msgBasePath + filename)
reader := bufio.NewReader(file)
@@ -84,6 +84,8 @@ function getMsg(key, data) {
func main() {
parse("msg.en")
parse("msg.zh")
+ parse("msg.fr")
parse("blog.zh")
parse("blog.en")
+ parse("blog.fr")
}
diff --git a/app/views/home/header.html b/app/views/home/header.html
index 4b6b488..70fced9 100644
--- a/app/views/home/header.html
+++ b/app/views/home/header.html
@@ -38,7 +38,11 @@ function log(o) {
-
+
- {{msg . "home"}}
diff --git a/messages/blog.fr b/messages/blog.fr
new file mode 100644
index 0000000..34ff880
--- /dev/null
+++ b/messages/blog.fr
@@ -0,0 +1,91 @@
+# blog
+
+blogNavs=Navigation
+quickLinks=Liens rapides
+latestPosts=Dernières publications
+
+noBlog=Aucun blog
+noTag=Aucune étiquette
+blogClass=Catégorie
+updatedTime=Mis à jour à
+createdTime=Créé à
+fullBlog=Blog entier
+blogNav=Navigation du blog
+more=Plus...
+previous=Précédent
+next=Suivant
+
+#
+# set blog
+#
+blogSet=Configuration du blog
+baseInfoSet=Information de base
+commentSet=Commentaires
+themeSet=Thème
+theme=Thème
+blogName=Titre
+blogLogo=Logo
+blogDesc=Description
+aboutMe=A propos de moi
+
+#domain
+domainSet=Domaine
+subDomain=Sous-domaine
+domain=Domaine personnalisé
+
+# theme
+elegant=Elegant
+navFixed=Navigation figée sur le côté gauche
+
+openComment=Ouvrir un commentaire?
+chooseComment=Système de commentaires
+disqusHelp=Veuillez renseigner votre identifiant Disqus
+needHelp=Besoin d'aide?
+blogLogoTips=Téléverser une image pour remplacer le titre du blog
+saveSuccess=Sauvegarde réussie
+
+community=Communauté
+home=Accueil
+none=Aucun
+moreShare=Plus
+sinaWeibo=Weibo
+weixin=Weichat
+tencentWeibo=Tencent Weibo
+qqZone=QQ Zone
+renren=Renren
+report=Rapport
+like=J'aime
+unlike=Je n'aime plus
+viewers=Lecteurs
+author=Auteur
+delete=Effacer
+reply=Répondre
+comment=Commenter
+comments=Commentaires
+cancel=Annuler
+confirm=Confirmer
+signIn=S'identifier
+signUp=S'incrire
+submitComment=Soumettre
+reportReason1=不友善内容
+reportReason2=广告等垃圾信息
+reportReason3=违法违规内容
+reportReason4=不宜公开讨论的政治内容
+other=Autre
+reportReason=Raison
+chooseReason=请选择举报理由
+reportSuccess=举报成功, 我们处理后会通知作者, 感谢您的监督
+error=Erreur
+reportComment?=举报该评论?
+reportBlog?=举报该博客?
+confirmDeleteComment=Êtes-vous sûr?
+scanQRCode=Ouvrez Weichat et scannez le QR Code
+justNow=Seulement maintenant
+minutesAgo=Il y a quelques minutes
+hoursAgo=Il y a plusieurs heures
+daysAgo=Il y a plusieurs jours
+weeksAgo=Il y a plusieurs semaines
+monthsAgo=Il y a plusieurs mois
+
+
+a=a
\ No newline at end of file
diff --git a/messages/msg.fr b/messages/msg.fr
new file mode 100644
index 0000000..7256141
--- /dev/null
+++ b/messages/msg.fr
@@ -0,0 +1,348 @@
+# leanote
+app=Leanote
+moto=Plus qu'un simple bloc-notes!
+moto2=Connaissance, Blog, Partage, Coopération... tout est dans Leanote
+moto3=Simple mais pas simplet.
+fork github=Fork leanote sur Github
+
+# Home
+forgetPassword = Mot de passe oublié?
+or=ou
+try=Essayer
+3th=Comptes tiers
+usernameOrEmail=Nom d'utilisateur ou courriel
+password=Mot de passe
+home=Mon bloc-note
+desktopApp=App
+aboutLeanote=A propos de leanote
+suggestions=Suggestions
+yourSuggestions=Suggestions
+leanoteBlog=Blog
+knowledge=Connaissances
+knowledgeInfo=Utiliser leanote comme une note, gérer ses connaissances dans leanote.
+share=Partager
+shareInfo=Partagez vos connaissances avec vos amis dans leanote.
+cooperation=Coopération
+cooperationInfo=Collaborez avec vos amis pour augmenter vos connaissances.
+blog=Blog
+blogInfo=Vous pouvez publier vos connaissances et leanote et votre blog!
+suggestionsInfo=Aidez-nous à améliorer leanote.
+yourContact=Vos contacts
+emailOrOthers=Courriel ou autre méthode de contact
+captcha=Captcha
+reloadCaptcha=Recharger Captcha
+captchaError=Le Captcha ne correspond pas
+inputCaptcha=Le Captcha est requis
+noTag=No Tags
+
+hi=Coucou
+welcomeUseLeanote=Bienvenue!
+myNote=Ma note
+curUser=Courriel
+
+# form
+submit=Soumettre
+register=S'inscrire
+login=S'identifier
+password2=Confirmer votre mot de passe
+email=Courriel
+inputUsername=Le nom d'utilisateur(courriel) est requis
+inputEmail=Le courriel est requis
+wrongEmail=Wrong email
+wrongUsernameOrPassword=Mauvais nom d'utilisateur ou mot de passe
+inputPassword=Le mot de passe est requis
+wrongPassword=Mauvais mot de passe
+logining=S'identifier
+loginSuccess=Identification réussie!
+ing=En cours
+use = Utiliser
+hadAcount = Déjà inscrit?
+hasAcount = Pas encore inscrit?
+signInWithThird=Sign in with other account
+
+# 注册
+registerSuccessAndRdirectToNote=inscription réussie, redirection...
+userHasBeenRegistered=%s a été inscrit
+
+# 找回密码
+passwordTips=Doit comporter au moins 6 caractères
+findPassword=Demander le mot de passe
+findPasswordSendEmailOver=Nous avons déjà envoyer le lien pour demander un mot de passe sur votre adresse de courriel, veuillez consulter votre boite de réception.
+checkEmai=Vérifier le courriel
+findPasswordTimeout=Temps imparti écoulé
+reFindPassword=Re-demander le mot de passe
+updatePassword=Mettre à jour le mot de passe
+updatePasswordSuccessRedirectToLogin=Mise à jour du mot de passe réussie, redirection vers la page d'identification...
+inputPassword2=Veuillez taper votre mot de passe à nouveau
+confirmPassword=Veuillez confirmer votre mot de passe
+notGoodPassword=Le mot de passe est incorrect, il doit comporter au moins 6 caractères.
+
+# 笔记主页
+myBlog=Blog
+history=Historique
+save=Sauvegarder
+editorTips=Astuces
+editorTipsInfo=1. Raccourcis
ctrl+maj+c Active/désactive le code2. maj+entrée Sortir du bloc courant
ex.
dans cette situation vous pouvez utiliser maj+entrée pour sortir du bloc de code courant.
+newNote=Nouvelle note
+newMarkdownNote=Nouvelle Note Markdown
+noNoteNewNoteTips=Le bloc-note est vide, pourquoi pas...
+canntNewNoteTips=Désolé, impossible de créer une nouvelle note ici, veuillez d'abord choisir un bloc-note.
+new=Nouveau
+newMarkdown=Nouvelle note markdown
+clickAddTag=Cliquez pour ajouter une étiquette
+notebook=Bloc-note
+note=Note
+myNotebook=Mon bloc-note
+addNotebook=Ajouter un bloc-note
+search=Chercher
+clearSearch=Nettoyer la recherche
+all=Le plus récent
+trash=Corbeille
+delete=Effacer
+unTitled=Sans titre
+defaultShare=Partage par défaut
+leftHidden=Cacher la barre latérale
+leftShow=Montrer la barre latérale
+nav=Naviguer parmi les notes
+writingMode=Mode écriture
+normalMode=Mode normal
+saving=Sauvegarde
+saveSuccess=Sauvegarde réussie
+
+update=Mettre à jour
+create=Créer
+
+demoRegister=S'inscrire
+
+close=Fermer
+cancel=Annuler
+send=Envoyer
+
+# 标签
+tag=Etiquette
+myTag=Mes étiquettes
+red=rouge
+yellow=jaune
+blue=bleu
+green=vert
+
+# 设置
+accountSetting=Compte
+themeSetting=Thème
+setAvatar=Avatar
+logout=Déconnexion
+basicInfo=Basique
+basicInfoSet=Réglages de base du blog
+updateEmail=Mettre à jour le courriel
+usernameSetting=Mettre à jour le nom d'utilisateur
+username=Nom d'utilisateur
+avatar=Avatar
+chooseImage=Choisir une image
+oldPassword=Ancien mot de passe
+newPassword=Nouveau mot de passe
+admin=Administrateur
+
+default=Par défaut
+simple=Simple
+
+# tinymce
+uploadImage=Téléverser une image
+
+# blog
+aboutMe=A propos de moi
+blogSet=Réglages du blog
+
+# index
+discussion=Discussion
+download=Téléchargement
+howToInstallLeanote=Comment installer leanote
+
+#
+attachments = Pièces-jointes
+donate = Faire un don
+
+# contextmenu
+shareToFriends=Partage avec ses amis
+publicAsBlog=Publier en tant que blog
+cancelPublic=Annuler la publication
+move=Déplacer
+copy=Copier
+rename=Renommer
+addChildNotebook=Ajouer un bloc-note enfant
+deleteAllShared=Effacer l'utilisateur partagé
+deleteSharedNotebook=Effacer le bloc-notes partagé
+copyToMyNotebook=Copier vers mon bloc-notes
+
+####note-dev
+emailInSending=Envoi vers
+checkEmail=Vérifier courriel
+setUsername=Paramétrer le nom d'utilisateur
+setUsernameTips=Votre courriel actuel est: %s
. Vous pouvez définir un nom d'utilisateur unique.
Nom d'utilisateur' Au moins 4 caractères et sans caractères spéciaux.
+currentEmail=Votre courriel actuel est: %s
+updateEmail=Mettre à jour le courriel
+updateEmailTips=Vous devez confirmer votre courriel après la mise-à-jour. Le courriel confirmé sera le nouveau compte.
+sendVerifiedEmail=Envoyer le courriel de confirmation
+verified=Confirmé
+unVerified=Non confirmé
+verifiedNow=Confirmer maintenant
+resendVerifiedEmail=Renvoyer le courriel de confirmation
+
+# 分享
+defaulthhare=Par défaut
+addShare=Ajouter un ami
+friendEmail=Courriel de l'ami
+permission=Autorisation
+readOnly=Lecture seule
+writable=Editable
+inputFriendEmail=Le courriel de votre ami est requis/
+clickToChangePermission=Cliquez pour changer l'autorisation.
+sendInviteEmailToYourFriend=Envoyer un courriel d'invitation à votre ami.
+copySuccess=Copie réussie
+copyFailed=Copie échouée
+friendNotExits=Votre ami n'a pas de compte %s, lien d'invitation à s'enregistrer: %s
+emailBodyRequired=Corps du message requis
+clickToCopy=Cliquer pour copier
+sendSuccess=succès
+inviteEmailBody=Coucou, je suis %s, %s est génial, viens!
+
+# 历史记录
+historiesNum=Nous avons enregistré au maximum 10 historiques récents de chaque note.
+noHistories=Pas d'historique.
+fold=Plier
+unfold=Déplier
+datetime=Date & Heure
+restoreFromThisVersion=Restaurer depuis cette version
+confirmBackup=Êtes-vous sûr de vouloir restaurer depuis cette version? Nous allons réaliser une copie de sauvegarde de la note actuelle.
+createAccount=Créer un compte
+createAccountSuccess=Compte créé avec succès
+createAccountFailed=Echec de la création du compte
+thirdCreateAcountTips=Vous utilisez un compte tiers pour connecter %(app)s, vous pouvrz créer un compte %(app) également.
Après avoir créé le compte %(app), vous pouvez utiliser ce compte et le compte tiers pour connecter %(app)s.
+
+## valid msg
+inputUsername=Entrer le nom d'utilisateur
+updateUsernameSuccess=Mise à jour du nom d'utilisateur réussie
+usernameIsExisted=Le nom d'utilisateur existe déjà.
+noSpecialChars=le nom d'utilisateur ne peut pas contenir de caractères spéciaux
+minLength=La longueur doit être d'au moins %s
+errorEmail=Veuillez renseigner le courriel correct
+verifiedEmaiHasSent=Le courriel de confirmation a été envoyé, veuillez surveiller votre boite de réception.
+emailSendFailed=Envoi du courriel échoué.
+inputPassword=Mot de passe requis
+inputNewPassword=Le nouveau mot de passe est requis.
+inputPassword2=Veuillez rentrer le nouveau mot de passe à nouveau.
+errorPassword=La taille du mot de passe est d'au moins 6 caractères et aussi complexe que possible.
+oldPasswordError=L'ancien mot de passe ne correspond pas.
+confirmPassword=Le mot de passe ne correspond pas.
+updatePasswordSuccess=Mises à jour du mot de passe réussie.
+errorDomain=Le domaine personnalisé n'est pas valide, ex. www.myblog.com
+domainExisted=Le domaine personnalisé existe déjà.
+errorSubDomain=Veuillez entrer un sous domaine valide, au moins 4 caractères (non spéciaux)
+subDomainExisted=Le sous-domaine existe déjà.
+domainNotPointToLeanote=Le domaine personnalisé ne pointe pas vers d.leanote.com
+errorPerPageSize=Erreur dans la taille de la page
+errorSortField=Erreur dans le tri du champs
+themeValidHasRoundInclude=WARNING: Les modèles ont des références circulaires!
+
+# lea++
+leaDesc=platerforme de blog leanote
+recommend=Recommandé
+latest=Plus récent.
+
+# 用户中心
+memberCenter=Centre de Membre
+userNotExists=L'utilisateur n'existe pas
+hasUsers=L'utilisateur existe déjà
+
+# yu
+service=Service
+imageSizeOver=Désolé, l'image est trop volumineuse, veuillez mettre votre compte à niveau.
+attachSizeOver=Désolé, la pièce-jointe est trop volumineuse, veuillez mettre votre compte à niveau..
+
+
+#memeber
+welcomeToLeanote=Bienvenue
+accountInfo=Info sur le Compte
+accountType=Type de Compte
+premiumAccountType=Premium
+normalAccountType=Normal
+imageSize=Taille de l'image
+attachSize=Taille de la pièce-jointe
+totalTraffic=Web Traffic
+upgrade=Mettre mon compte à niveau
+leanoteEvents=Nouvelles de Leanote
+addLeanoteAccount=Nouveau compte Leanote
+defaultComment=Système de commentaires Leanote par défaut
+upgradeAccountTips=Je veux utiliser un domaine personnalisé pour mon blog, mettre mon compte à niveau.
+cateIsPublicNotebook=La catégorie est le bloc-note publié
+dragAndSort=Faire glisser pour trier
+permanentLink=Lien Permanent
+cate=Catégorie
+noCates=Sans catégorie
+single=Page simple
+singleTips=Vous pouvez ajouter beaucoup de pages simples
+addSingle=Nouvelle page simple
+updateSingle=Metter à jour une page simple
+inputSingleTitle=Le titre de la page simple est requis
+saveSort=Séquençage de la sauvegarde
+pagingAndSort=Réglages du tri et de la mise en page
+perPageSize=Taille par page
+sortField=Champ de tri
+sortType=Type de tri
+publicTime=Heure de publication
+createdTime=Heure de création
+updatedTime=Heure de mise à jour
+desc=Desc
+asc=Asc
+postList=Afficher la liste
+hasSelfDefined=Défini
+noSelfDefined=Non défini
+setAbstract=Réglages abstraits
+title=Titre
+content=Contenu
+
+addTheme=Nouveau thème
+importTheme=Importer thème
+exportTheme=Exporter thème
+export=Exporter
+preview=Aperçu
+edit=Editer
+use=Utiliser
+install=Installer
+currentTheme=Thème actuel
+myOtherThemes=Mes autres thèmes
+leanoteThemeMarket=Marché aux thèmes Leanote
+updateTheme=Mettre à jour le thème
+tplStyleScript=modèle, style, script
+newFile=Nouveau fichier
+image=Image
+currentFile=Fichier actuel
+tpl=Modèle
+style=Style
+script=Script
+header=En-tête
+footer=Pied de page
+index=Accueil
+cate=Catégorie
+search=Chercher
+single=Page simple
+archive=Archive
+post=Poster
+tags=Etiquettes
+tag_posts=Etiquettes des publications
+share_comment=Commenter
+themeJson=Réglages du thème
+paging=Mise en page
+highlight=Surlignage du code
+
+group=Groupe
+newGroup=Nouveau groupe
+deleteGroup=Effacer groupe
+addMemberTips=Rentrer le nom d'utilisateur et le courriel pour ajouter un membre
+deleteMember=Effacer membre
+
+created=Created
+updated=Updated
+modify=Modify
+
+# error
+notFound=Page introuvable.
diff --git a/public/js/i18n/blog.fr.js b/public/js/i18n/blog.fr.js
new file mode 100644
index 0000000..3088ea8
--- /dev/null
+++ b/public/js/i18n/blog.fr.js
@@ -0,0 +1,16 @@
+var MSG = {"a":"a","aboutMe":"A propos de moi","author":"Auteur","baseInfoSet":"Information de base","blogClass":"Catégorie","blogDesc":"Description","blogLogo":"Logo","blogLogoTips":"Téléverser une image pour remplacer le titre du blog","blogName":"Titre","blogNav":"Navigation du blog","blogNavs":"Navigation","blogSet":"Configuration du blog","cancel":"Annuler","chooseComment":"Système de commentaires","chooseReason":"请选择举报理由","comment":"Commenter","commentSet":"Commentaires","comments":"Commentaires","community":"Communauté","confirm":"Confirmer","confirmDeleteComment":"Êtes-vous sûr?","createdTime":"Créé à","daysAgo":"Il y a plusieurs jours","delete":"Effacer","disqusHelp":"Veuillez renseigner votre identifiant Disqus","domain":"Domaine personnalisé","domainSet":"Domaine","elegant":"Elegant","error":"Erreur","fullBlog":"Blog entier","home":"Accueil","hoursAgo":"Il y a plusieurs heures","justNow":"Seulement maintenant","latestPosts":"Dernières publications","like":"J'aime","minutesAgo":"Il y a quelques minutes","monthsAgo":"Il y a plusieurs mois","more":"Plus...","moreShare":"Plus","navFixed":"Navigation figée sur le côté gauche","needHelp":"Besoin d'aide?","next":"Suivant","noBlog":"Aucun blog","noTag":"Aucune étiquette","none":"Aucun","openComment":"Ouvrir un commentaire?","other":"Autre","previous":"Précédent","qqZone":"QQ Zone","quickLinks":"Liens rapides","renren":"Renren","reply":"Répondre","report":"Rapport","reportBlog?":"举报该博客?","reportComment?":"举报该评论?","reportReason":"Raison","reportReason1":"不友善内容","reportReason2":"广告等垃圾信息","reportReason3":"违法违规内容","reportReason4":"不宜公开讨论的政治内容","reportSuccess":"举报成功, 我们处理后会通知作者, 感谢您的监督","saveSuccess":"Sauvegarde réussie","scanQRCode":"Ouvrez Weichat et scannez le QR Code","signIn":"S'identifier","signUp":"S'incrire","sinaWeibo":"Weibo","subDomain":"Sous-domaine","submitComment":"Soumettre","tencentWeibo":"Tencent Weibo","theme":"Thème","themeSet":"Thème","unlike":"Je n'aime plus","updatedTime":"Mis à jour à","viewers":"Lecteurs","weeksAgo":"Il y a plusieurs semaines","weixin":"Weichat"};
+function getMsg(key, data) {
+ var msg = MSG[key]
+ if(msg) {
+ if(data) {
+ if(!isArray(data)) {
+ data = [data];
+ }
+ for(var i = 0; i < data.length; ++i) {
+ msg = msg.replace("%s", data[i]);
+ }
+ }
+ return msg;
+ }
+ return key;
+}
\ No newline at end of file
diff --git a/public/js/i18n/msg.en.js b/public/js/i18n/msg.en.js
index e4125ed..dccbe6b 100644
--- a/public/js/i18n/msg.en.js
+++ b/public/js/i18n/msg.en.js
@@ -1,4 +1,4 @@
-var MSG = {"3th":"Third-party accounts","aboutLeanote":"About leanote","aboutMe":"About me","accountInfo":"Account Info","accountSetting":"Account","accountType":"Account Type","addChildNotebook":"Add child notebook","addLeanoteAccount":"New Leanote Account","addMemberTips":"Input username or email to add member","addNotebook":"Add notebook","addShare":"Add Friend","addSingle":"New single page","addTheme":"New theme","admin":"Admin","all":"Newest","app":"leanote","archive":"Archive","asc":"Asc","attachSize":"Attachment Opacity","attachSizeOver":"Sorry, you have no attachment opacity, please \u003ca href=\"/service\"\u003eupgrade your account\u003c/a\u003e.","attachments ":" Attachments","avatar":"Avatar","basicInfo":"Basic","basicInfoSet":"Blog Basic Setting","blog":"Blog","blogInfo":"You can public your knowledge and leanote is your blog!","blogSet":"Blog Settings","blue":"blue","cancel":"Cancel","cancelPublic":"Cancel public","canntNewNoteTips":"Sorry, cannot new note in here, please choose a notebook at first.","captcha":"Captcha","captchaError":"Captcha Do Not Match","cate":"Category","cateIsPublicNotebook":"Category is the published notebooks","checkEmai":"Check email","checkEmail":"Check email","chooseImage":"Choose Image","clearSearch":"Clear Search","clickAddTag":"Click to add Tag","clickToChangePermission":"Click to change permission","clickToCopy":"Click to copy","close":"Close","confirmBackup":"Are you sure to restore from this version? We will backup the current note.","confirmPassword":"Password not matched","content":"Content","cooperation":"Cooperation","cooperationInfo":"Collaborate with friends to improve your knowledge.","copy":"Copy","copyFailed":"Copy failed","copySuccess":"Copy success","copyToMyNotebook":"Copy to my notebook","create":"Create","createAccount":"Create account","createAccountFailed":"Account create failed","createAccountSuccess":"Account create success","created":"Created","createdTime":"Created time","curUser":"Email","currentEmail":"Your current email is: \u003ccode\u003e%s\u003c/code\u003e ","currentFile":"Current file","currentTheme":"Current theme","datetime":"Datetime","default":"Default","defaultComment":"Default leanote comment system","defaultShare":"Default sharing","defaulthhare":"Default","delete":"Delete","deleteAllShared":"Delete shared user","deleteGroup":"Delete group","deleteMember":"Delete member","deleteSharedNotebook":"Delete shared notebook","demoRegister":"\u003ca href=\"/register\"\u003eSign up\u003c/a\u003e","desc":"Desc","desktopApp":"App","discussion":"Discussion","domainExisted":"Custom domain is already existed","domainNotPointToLeanote":"The custom domin hasn't pointed to d.leanote.com","donate ":" Donate","download":"Download","dragAndSort":"Drag it to sort","edit":"Edit","editorTips":"Tips","editorTipsInfo":"\u003ch4\u003e1. Short cuts\u003c/h4\u003ectrl+shift+c Toggle code\u003ch4\u003e2. shift+enter Get out of current block\u003c/h4\u003e eg. \u003cimg src=\"/images/outofcode.png\" style=\"width: 90px\"/\u003e in this situation you can use shift+enter to get out of current code block.","email":"Email","emailBodyRequired":"Email body is required","emailInSending":"In sending to ","emailOrOthers":"Email or other contact way","emailSendFailed":"Email send failed","errorDomain":"The custom domain is invalid, eg. www.myblog.com","errorEmail":"Please input the right email","errorPassword":"The passowd's length is at least 6 and be sure as complex as possible","errorPerPageSize":"Page size is error","errorSortField":"Sort Field is error","errorSubDomain":"Please input the valid sub domain, the length is at least 4 and no special chars","export":"Export","exportPdf":"Export PDF","exportTheme":"Export theme","findPassword":"Find password","findPasswordSendEmailOver":"We have already send the find password link to your email, please check out your email","findPasswordTimeout":"time out","fold":"Fold","footer":"Footer","forgetPassword ":" Forget password?","fork github":"Fork leanote on Github","friendEmail":"Friend email","friendNotExits":"Your friend hasn't %s's account, invite register link: %s","green":"green","group":"Group","hadAcount ":" Already have an account?","hasAcount ":" Do not have an account?","hasSelfDefined":"Has defined","hasUsers":"The user already exists","header":"Header","hi":"Hi","highlight":"Code highlight","historiesNum":"We have saved at most \u003cb\u003e10\u003c/b\u003e latest histories with each note","history":"Histories","home":"Home","howToInstallLeanote":"How to install leanote","image":"Image","imageSize":"Image Opacity","imageSizeOver":"Sorry, you have no image opacity, please \u003ca href=\"/service\"\u003eupgrade your account\u003c/a\u003e.","importTheme":"Import theme","index":"Home","ing":"processing","inputCaptcha":"Captcha is required","inputEmail":"Email is required","inputFriendEmail":"Friend email is required","inputNewPassword":"The new password is required","inputPassword":"Password is required","inputPassword2":"Please input the new password again","inputSingleTitle":"Single page title is required","inputUsername":"input username","install":"Install","inviteEmailBody":"Hi,I am %s, %s is awesome, come on!","knowledge":"Knowledge","knowledgeInfo":"Use leanote as a note, manage your knowledge in leanote.","latest":"Latest","leaDesc":"leanote blog platform","leanoteBlog":"Blog","leanoteEvents":"Leanote News","leanoteThemeMarket":"Leanote theme market","leftHidden":"Hidden slide bar","leftShow":"Show slide bar","login":"Sign in","loginSuccess":"login success","logining":"Sign in","logout":"Logout","memberCenter":"Member Center","minLength":"The length is at least %s","modify":"Modify","moto":"Not Just A Notepad!","moto2":"Knowledge, Blog, Sharing, Cooperation... all in leanote","moto3":"Brief But Not Simple","move":"Move","myBlog":"Blog","myNote":"My note","myNotebook":"My notebook","myOtherThemes":"My other themes","myTag":"My tag","nav":"Note nav","new":"New","newFile":"New file","newGroup":"New group","newMarkdown":"New markdown note","newMarkdownNote":"New Markdown Note","newNote":"New note","newPassword":"New password","noCates":"No Category","noHistories":"No histories","noNoteNewNoteTips":"The notebook is empty, why not...","noSelfDefined":"Not defined","noSpecialChars":"username cannot contains special chars","noTag":"No Tags","normalAccountType":"Normal","normalMode":"Normal Mode","notFound":"This page cann't found.","notGoodPassword":"Tt's not a good password, the length is at least 6","note":"Note","notebook":"Notebook","oldPassword":"Old password","oldPasswordError":"The old password not match","or":"or","paging":"Paging","pagingAndSort":"Paging And Sort Settings","password":"Password","password2":"Confirm your password","passwordTips":"The length is at least 6","perPageSize":"Per page size","permanentLink":"Permanent Link","permission":"Permission","post":"Post","postList":"Post List","premiumAccountType":"Premium","preview":"Preview","publicAsBlog":"Public as blog","publicTime":"Published time","reFindPassword":"find password again","readOnly":"Read only","recommend":"Recommend","red":"red","register":"Sign up","registerSuccessAndRdirectToNote":"Register success, redirecting...","reloadCaptcha":"Reload Captcha","rename":"Rename","resendVerifiedEmail":"Resend verification email","restoreFromThisVersion":"Restore from this version","save":"Save","saveSort":"Save sequencing","saveSuccess":"Save success","saving":"Saving","script":"Script","search":"Search","send":"Send","sendInviteEmailToYourFriend":"Send invite email to your friend","sendSuccess":"success","sendVerifiedEmail":"Send verification email","service":"Service","setAbstract":"Abstract settings","setAvatar":"Avatar","setUsername":"Set username","setUsernameTips":"Your current email is: \u003ccode\u003e%s\u003c/code\u003e. You can set a unique username. \u003cbr /\u003eUsername' length is at least 4 and cannot contains special characters.","share":"Share","shareInfo":"Share your knowledge to your friends in leanote.","shareToFriends":"Share to friends","share_comment":"Comments","signInWithThird":"Sign in with other account","simple":"Simple","single":"Single Page","singleTips":"You can add many single pages","sortField":"Sorter field","sortType":"Sorter type","style":"Style","subDomainExisted":"Sub domain is already existed","submit":"submit","subscription":"Subscription","suggestions":"Suggestions","suggestionsInfo":"help us to improve our service.","tag":"Tag","tag_posts":"Tag's posts","tags":"Tags","themeJson":"Theme settings","themeSetting":"Theme","themeValidHasRoundInclude":"WARNING: Templates have circular references!","thirdCreateAcountTips":"You are using the 3th account to login %(app)s, you can create a %(app)s account too. \u003cbr /\u003eAfter you create %(app)s account, you can use the account and the 3th account to login %(app)s.","title":"Title","tpl":"Template","tplStyleScript":"template, style, script","trash":"Trash","try":"Try it","unTitled":"UnTitled","unVerified":"Unverfied","unfold":"Unfold","update":"Update","updateEmail":"Update email","updateEmailTips":"You must verify the email after you update the email. The verified email will be your new account.","updatePassword":"Update password","updatePasswordSuccess":"Update password success","updatePasswordSuccessRedirectToLogin":"update password success and redirect to login page...","updateSingle":"Update single page","updateTheme":"Update Theme","updateUsernameSuccess":"Update username success","updated":"Updated","updatedTime":"Updated time","upgrade":"Upgrade My Account","upgradeAccountTips":"I want to using a custom domain for my blog, \u003ca class=\"btn btn-default\" href=\"/service\"\u003eUpgrade My Account\u003c/a\u003e","uploadImage":"Upload image","use":"Use","use ":" Use","userHasBeenRegistered":"%s has been registered","userNotExists":"The user is not exists","username":"Username","usernameIsExisted":"Username is already exists","usernameOrEmail":"Username or email","usernameSetting":"Update username","verified":"Verified","verifiedEmaiHasSent":"The verification email has been sent, please check your email.","verifiedNow":"Verify now","welcomeToLeanote":"Welcome","welcomeUseLeanote":"Welcome!","writable":"Writable","writingMode":"Writing Mode","wrongEmail":"Wrong email","wrongPassword":"Wrong password","wrongUsernameOrPassword":"Wrong username or password","yellow":"yellow","yourContact":"Your contact","yourSuggestions":"Suggestions"};
+var MSG = {"3th":"Third-party accounts","aboutLeanote":"About Leanote","aboutMe":"About me","accountInfo":"Account Info","accountSetting":"Account","accountType":"Account Type","addChildNotebook":"Add child notebook","addLeanoteAccount":"New Leanote Account","addMemberTips":"Input username or email to add member","addNotebook":"Add notebook","addShare":"Add Friend","addSingle":"New single page","addTheme":"New theme","admin":"Admin","all":"Newest","app":"Leanote","archive":"Archive","asc":"Asc","attachSize":"Attachment Capacity","attachSizeOver":"Sorry, you have no attachment opacity, please go \u003ca href=\"/service\"\u003eupgrade your account\u003c/a\u003e.","attachments ":" Attachments","avatar":"Avatar","basicInfo":"Basic","basicInfoSet":"Blog Basic Setting","blog":"Blog","blogInfo":"You can public your knowledge and leanote is your blog!","blogSet":"Blog Settings","blue":"blue","cancel":"Cancel","cancelPublic":"Cancel public","canntNewNoteTips":"Sorry, cannot new note in here, please choose a notebook at first.","captcha":"Captcha","captchaError":"Captcha Do Not Match","cate":"Category","cateIsPublicNotebook":"Category is the published notebooks","checkEmai":"Check email","checkEmail":"Check email","chooseImage":"Choose Image","clearSearch":"Clear Search","clickAddTag":"Click to add Tag","clickToChangePermission":"Click to change permission","clickToCopy":"Click to copy","close":"Close","confirmBackup":"Are you sure to restore from this version? We will backup the current note.","confirmPassword":"Password not matched","content":"Content","cooperation":"Cooperation","cooperationInfo":"Collaborate with friends to improve your knowledge.","copy":"Copy","copyFailed":"Copy failed","copySuccess":"Copy success","copyToMyNotebook":"Copy to my notebook","create":"Create","createAccount":"Create account","createAccountFailed":"Account create failed","createAccountSuccess":"Account create success","created":"Created","createdTime":"Created time","curUser":"Email","currentEmail":"Your current email is: \u003ccode\u003e%s\u003c/code\u003e ","currentFile":"Current file","currentTheme":"Current theme","datetime":"Datetime","default":"Default","defaultComment":"Default leanote comment system","defaultShare":"Default sharing","defaulthhare":"Default","delete":"Delete","deleteAllShared":"Delete shared user","deleteGroup":"Delete group","deleteMember":"Delete member","deleteSharedNotebook":"Delete shared notebook","demoRegister":"\u003ca href=\"/register\"\u003eSign up\u003c/a\u003e","desc":"Desc","desktopApp":"App","discussion":"Discussion","domainExisted":"Custom domain is already existed","domainNotPointToLeanote":"The custom domin hasn't pointed to d.leanote.com","donate ":" Donate","download":"Download","dragAndSort":"Drag it to sort","edit":"Edit","editorTips":"Tips","editorTipsInfo":"\u003ch4\u003e1. Short cuts\u003c/h4\u003ectrl+shift+c Toggle code\u003ch4\u003e2. shift+enter Get out of current block\u003c/h4\u003e eg. \u003cimg src=\"/images/outofcode.png\" style=\"width: 90px\"/\u003e in this situation you can use shift+enter to get out of current code block.","email":"Email","emailBodyRequired":"Email body is required","emailInSending":"In sending to ","emailOrOthers":"Email or other contact way","emailSendFailed":"Email send failed","errorDomain":"The custom domain is invalid, eg. www.myblog.com","errorEmail":"Please input the right email","errorPassword":"The passowd's length is at least 6 and be sure as complex as possible","errorPerPageSize":"Page size is error","errorSortField":"Sort Field is error","errorSubDomain":"Please input the valid sub domain, the length is at least 4 and no special chars","export":"Export","exportPdf":"Export PDF","exportTheme":"Export theme","findPassword":"Find password","findPasswordSendEmailOver":"We have already send the find password link to your email, please check out your email","findPasswordTimeout":"time out","fold":"Fold","footer":"Footer","forgetPassword ":" Forget password?","fork github":"Fork Leanote on Github","friendEmail":"Friend email","friendNotExits":"Your friend hasn't %s's account, invite register link: %s","green":"green","group":"Group","hadAcount ":" Already have an account?","hasAcount ":" Do not have an account?","hasSelfDefined":"Has defined","hasUsers":"The user already exists","header":"Header","hi":"Hi","highlight":"Code highlight","historiesNum":"We have saved at most \u003cb\u003e10\u003c/b\u003e latest histories with each note","history":"Histories","home":"Home","howToInstallLeanote":"How to install leanote","image":"Image","imageSize":"Image Capacity","imageSizeOver":"Sorry, you have no image capacity, please go \u003ca href=\"/service\"\u003eupgrade your account\u003c/a\u003e.","importTheme":"Import theme","index":"Home","ing":"processing","inputCaptcha":"Captcha is required","inputEmail":"Email is required","inputFriendEmail":"Friend email is required","inputNewPassword":"The new password is required","inputPassword":"Password is required","inputPassword2":"Please input the new password again","inputSingleTitle":"Single page title is required","inputUsername":"input username","install":"Install","inviteEmailBody":"Hi,I am %s, %s is awesome, come on!","knowledge":"Knowledge","knowledgeInfo":"Use leanote as a note, manage your knowledge in leanote.","latest":"Latest","leaDesc":"leanote blog platform","leanoteBlog":"Blog","leanoteEvents":"Leanote News","leanoteThemeMarket":"Leanote theme market","leftHidden":"Hidden slide bar","leftShow":"Show slide bar","login":"Sign in","loginSuccess":"login success","logining":"Sign in","logout":"Logout","memberCenter":"Member Center","minLength":"The length is at least %s","modify":"Modify","moto":"Not Just A Notepad!","moto2":"Knowledge, Blog, Sharing, Cooperation... all in Leanote","moto3":"Brief But Not Simple","move":"Move","myBlog":"Blog","myNote":"My note","myNotebook":"My notebook","myOtherThemes":"My other themes","myTag":"My tag","nav":"Note nav","new":"New","newFile":"New file","newGroup":"New group","newMarkdown":"New markdown note","newMarkdownNote":"New Markdown Note","newNote":"New note","newPassword":"New password","noCates":"No Category","noHistories":"No histories","noNoteNewNoteTips":"The notebook is empty, why not...","noSelfDefined":"Not defined","noSpecialChars":"username cannot contains special chars","noTag":"No Tags","normalAccountType":"Normal","normalMode":"Normal Mode","notFound":"This page cann't found.","notGoodPassword":"Tt's not a good password, the length is at least 6","note":"Note","notebook":"Notebook","oldPassword":"Old password","oldPasswordError":"The old password not match","or":"or","paging":"Paging","pagingAndSort":"Paging And Sort Settings","password":"Password","password2":"Confirm your password","passwordTips":"The length is at least 6","perPageSize":"Per page size","permanentLink":"Permanent Link","permission":"Permission","post":"Post","postList":"Post List","premiumAccountType":"Premium","preview":"Preview","publicAsBlog":"Public as blog","publicTime":"Published time","reFindPassword":"find password again","readOnly":"Read only","recommend":"Recommend","red":"red","register":"Sign up","registerSuccessAndRdirectToNote":"Register success, redirecting...","reloadCaptcha":"Reload Captcha","rename":"Rename","resendVerifiedEmail":"Resend verification email","restoreFromThisVersion":"Restore from this version","save":"Save","saveSort":"Save sequencing","saveSuccess":"Save success","saving":"Saving","script":"Script","search":"Search","send":"Send","sendInviteEmailToYourFriend":"Send invite email to your friend","sendSuccess":"success","sendVerifiedEmail":"Send verification email","service":"Service","setAbstract":"Abstract settings","setAvatar":"Avatar","setUsername":"Set username","setUsernameTips":"Your current email is: \u003ccode\u003e%s\u003c/code\u003e. You can set a unique username. \u003cbr /\u003eUsername' length is at least 4 and cannot contains special characters.","share":"Share","shareInfo":"Share your knowledge to your friends in leanote.","shareToFriends":"Share to friends","share_comment":"Comments","signInWithThird":"Sign in with other account","simple":"Simple","single":"Single Page","singleTips":"You can add many single pages","sortField":"Sorter field","sortType":"Sorter type","style":"Style","subDomainExisted":"Sub domain is already existed","submit":"submit","subscription":"Subscription","suggestions":"Suggestions","suggestionsInfo":"help us to improve our service.","tag":"Tag","tag_posts":"Tag's posts","tags":"Tags","themeJson":"Theme settings","themeSetting":"Theme","themeValidHasRoundInclude":"WARNING: Templates have circular references!","thirdCreateAcountTips":"You are using the 3th account to login %(app)s, you can create a %(app)s account too. \u003cbr /\u003eAfter you create %(app)s account, you can use the account and the 3th account to login %(app)s.","title":"Title","totalTraffic":"Web Traffic","tpl":"Template","tplStyleScript":"template, style, script","trafficOver":"Sorry, you have no web traffic, please go \u003ca href=\"/service\"\u003eupgrade your account\u003c/a\u003e.","trash":"Trash","try":"Try it","unTitled":"UnTitled","unVerified":"Unverfied","unfold":"Unfold","update":"Update","updateEmail":"Update email","updateEmailTips":"You must verify the email after you update the email. The verified email will be your new account.","updatePassword":"Update password","updatePasswordSuccess":"Update password success","updatePasswordSuccessRedirectToLogin":"update password success and redirect to login page...","updateSingle":"Update single page","updateTheme":"Update Theme","updateUsernameSuccess":"Update username success","updated":"Updated","updatedTime":"Updated time","upgrade":"Upgrade My Account","upgradeAccountTips":"I want to using a custom domain for my blog, \u003ca class=\"btn btn-default\" href=\"/service\"\u003eUpgrade My Account\u003c/a\u003e","uploadImage":"Upload image","use":"Use","use ":" Use","userHasBeenRegistered":"%s has been registered","userNotExists":"The user is not exists","username":"Username","usernameIsExisted":"Username is already exists","usernameOrEmail":"Username or email","usernameSetting":"Update username","verified":"Verified","verifiedEmaiHasSent":"The verification email has been sent, please check your email.","verifiedNow":"Verify now","welcomeToLeanote":"Welcome","welcomeUseLeanote":"Welcome!","writable":"Writable","writingMode":"Writing Mode","wrongEmail":"Wrong email","wrongPassword":"Wrong password","wrongUsernameOrPassword":"Wrong username or password","yellow":"yellow","yourContact":"Your contact","yourSuggestions":"Suggestions"};
function getMsg(key, data) {
var msg = MSG[key]
if(msg) {
diff --git a/public/js/i18n/msg.fr.js b/public/js/i18n/msg.fr.js
new file mode 100644
index 0000000..6c2650c
--- /dev/null
+++ b/public/js/i18n/msg.fr.js
@@ -0,0 +1,16 @@
+var MSG = {"3th":"Comptes tiers","aboutLeanote":"A propos de leanote","aboutMe":"A propos de moi","accountInfo":"Info sur le Compte","accountSetting":"Compte","accountType":"Type de Compte","addChildNotebook":"Ajouer un bloc-note enfant","addLeanoteAccount":"Nouveau compte Leanote","addMemberTips":"Rentrer le nom d'utilisateur et le courriel pour ajouter un membre","addNotebook":"Ajouter un bloc-note","addShare":"Ajouter un ami","addSingle":"Nouvelle page simple","addTheme":"Nouveau thème","admin":"Administrateur","all":"Le plus récent","app":"Leanote","archive":"Archive","asc":"Asc","attachSize":"Taille de la pièce-jointe","attachSizeOver":"Désolé, la pièce-jointe est trop volumineuse, veuillez \u003ca href=\"/service\"\u003emettre votre compte à niveau.\u003c/a\u003e.","attachments ":" Pièces-jointes","avatar":"Avatar","basicInfo":"Basique","basicInfoSet":"Réglages de base du blog","blog":"Blog","blogInfo":"Vous pouvez publier vos connaissances et leanote et votre blog!","blogSet":"Réglages du blog","blue":"bleu","cancel":"Annuler","cancelPublic":"Annuler la publication","canntNewNoteTips":"Désolé, impossible de créer une nouvelle note ici, veuillez d'abord choisir un bloc-note.","captcha":"Captcha","captchaError":"Le Captcha ne correspond pas","cate":"Catégorie","cateIsPublicNotebook":"La catégorie est le bloc-note publié","checkEmai":"Vérifier le courriel","checkEmail":"Vérifier courriel","chooseImage":"Choisir une image","clearSearch":"Nettoyer la recherche","clickAddTag":"Cliquez pour ajouter une étiquette","clickToChangePermission":"Cliquez pour changer l'autorisation.","clickToCopy":"Cliquer pour copier","close":"Fermer","confirmBackup":"Êtes-vous sûr de vouloir restaurer depuis cette version? Nous allons réaliser une copie de sauvegarde de la note actuelle.","confirmPassword":"Le mot de passe ne correspond pas.","content":"Contenu","cooperation":"Coopération","cooperationInfo":"Collaborez avec vos amis pour augmenter vos connaissances.","copy":"Copier","copyFailed":"Copie échouée","copySuccess":"Copie réussie","copyToMyNotebook":"Copier vers mon bloc-notes","create":"Créer","createAccount":"Créer un compte","createAccountFailed":"Echec de la création du compte","createAccountSuccess":"Compte créé avec succès","created":"Created","createdTime":"Heure de création","curUser":"Courriel","currentEmail":"Votre courriel actuel est: \u003ccode\u003e%s\u003c/code\u003e ","currentFile":"Fichier actuel","currentTheme":"Thème actuel","datetime":"Date \u0026 Heure","default":"Par défaut","defaultComment":"Système de commentaires Leanote par défaut","defaultShare":"Partage par défaut","defaulthhare":"Par défaut","delete":"Effacer","deleteAllShared":"Effacer l'utilisateur partagé","deleteGroup":"Effacer groupe","deleteMember":"Effacer membre","deleteSharedNotebook":"Effacer le bloc-notes partagé","demoRegister":"\u003ca href=\"/register\"\u003eS'inscrire\u003c/a\u003e","desc":"Desc","desktopApp":"App","discussion":"Discussion","domainExisted":"Le domaine personnalisé existe déjà.","domainNotPointToLeanote":"Le domaine personnalisé ne pointe pas vers d.leanote.com","donate ":" Faire un don","download":"Téléchargement","dragAndSort":"Faire glisser pour trier","edit":"Editer","editorTips":"Astuces","editorTipsInfo":"\u003ch4\u003e1. Raccourcis\u003c/h4\u003ectrl+maj+c Active/désactive le code\u003ch4\u003e2. maj+entrée Sortir du bloc courant\u003c/h4\u003e ex. \u003cimg src=\"/images/outofcode.png\" style=\"width: 90px\"/\u003e dans cette situation vous pouvez utiliser maj+entrée pour sortir du bloc de code courant.","email":"Courriel","emailBodyRequired":"Corps du message requis","emailInSending":"Envoi vers ","emailOrOthers":"Courriel ou autre méthode de contact","emailSendFailed":"Envoi du courriel échoué.","errorDomain":"Le domaine personnalisé n'est pas valide, ex. www.myblog.com","errorEmail":"Veuillez renseigner le courriel correct","errorPassword":"La taille du mot de passe est d'au moins 6 caractères et aussi complexe que possible.","errorPerPageSize":"Erreur dans la taille de la page","errorSortField":"Erreur dans le tri du champs","errorSubDomain":"Veuillez entrer un sous domaine valide, au moins 4 caractères (non spéciaux)","export":"Exporter","exportTheme":"Exporter thème","findPassword":"Demander le mot de passe","findPasswordSendEmailOver":"Nous avons déjà envoyer le lien pour demander un mot de passe sur votre adresse de courriel, veuillez consulter votre boite de réception.","findPasswordTimeout":"Temps imparti écoulé","fold":"Plier","footer":"Pied de page","forgetPassword ":" Mot de passe oublié?","fork github":"Fork leanote sur Github","friendEmail":"Courriel de l'ami","friendNotExits":"Votre ami n'a pas de compte %s, lien d'invitation à s'enregistrer: %s","green":"vert","group":"Groupe","hadAcount ":" Déjà inscrit?","hasAcount ":" Pas encore inscrit?","hasSelfDefined":"Défini","hasUsers":"L'utilisateur existe déjà","header":"En-tête","hi":"Coucou","highlight":"Surlignage du code","historiesNum":"Nous avons enregistré au maximum \u003cb\u003e10\u003c/b\u003e historiques récents de chaque note.","history":"Historique","home":"Mon bloc-note","howToInstallLeanote":"Comment installer leanote","image":"Image","imageSize":"Taille de l'image","imageSizeOver":"Désolé, l'image est trop volumineuse, veuillez \u003ca href=\"/service\"\u003emettre votre compte à niveau\u003c/a\u003e.","importTheme":"Importer thème","index":"Accueil","ing":"En cours","inputCaptcha":"Le Captcha est requis ","inputEmail":"Le courriel est requis","inputFriendEmail":"Le courriel de votre ami est requis/","inputNewPassword":"Le nouveau mot de passe est requis.","inputPassword":"Mot de passe requis","inputPassword2":"Veuillez rentrer le nouveau mot de passe à nouveau.","inputSingleTitle":"Le titre de la page simple est requis","inputUsername":"Entrer le nom d'utilisateur","install":"Installer","inviteEmailBody":"Coucou, je suis %s, %s est génial, viens!","knowledge":"Connaissances","knowledgeInfo":"Utiliser leanote comme une note, gérer ses connaissances dans leanote.","latest":"Plus récent.","leaDesc":"platerforme de blog leanote","leanoteBlog":"Blog","leanoteEvents":"Nouvelles de Leanote","leanoteThemeMarket":"Marché aux thèmes Leanote","leftHidden":"Cacher la barre latérale","leftShow":"Montrer la barre latérale","login":"S'identifier","loginSuccess":"Identification réussie!","logining":"S'identifier","logout":"Déconnexion","memberCenter":"Centre de Membre","minLength":"La longueur doit être d'au moins %s","modify":"Modify","moto":"Plus qu'un simple bloc-notes!","moto2":"Connaissance, Blog, Partage, Coopération... tout est dans Leanote","moto3":"Simple mais pas simplet.","move":"Déplacer","myBlog":"Blog","myNote":"Ma note","myNotebook":"Mon bloc-note","myOtherThemes":"Mes autres thèmes","myTag":"Mes étiquettes","nav":"Naviguer parmi les notes","new":"Nouveau","newFile":"Nouveau fichier","newGroup":"Nouveau groupe","newMarkdown":"Nouvelle note markdown","newMarkdownNote":"Nouvelle Note Markdown","newNote":"Nouvelle note","newPassword":"Nouveau mot de passe","noCates":"Sans catégorie","noHistories":"Pas d'historique.","noNoteNewNoteTips":"Le bloc-note est vide, pourquoi pas...","noSelfDefined":"Non défini","noSpecialChars":"le nom d'utilisateur ne peut pas contenir de caractères spéciaux","noTag":"No Tags","normalAccountType":"Normal","normalMode":"Mode normal","notFound":"Page introuvable.","notGoodPassword":"Le mot de passe est incorrect, il doit comporter au moins 6 caractères.","note":"Note","notebook":"Bloc-note","oldPassword":"Ancien mot de passe","oldPasswordError":"L'ancien mot de passe ne correspond pas.","or":"ou","paging":"Mise en page","pagingAndSort":"Réglages du tri et de la mise en page","password":"Mot de passe","password2":"Confirmer votre mot de passe","passwordTips":"Doit comporter au moins 6 caractères","perPageSize":"Taille par page","permanentLink":"Lien Permanent","permission":"Autorisation","post":"Poster","postList":"Afficher la liste","premiumAccountType":"Premium","preview":"Aperçu","publicAsBlog":"Publier en tant que blog","publicTime":"Heure de publication","reFindPassword":"Re-demander le mot de passe","readOnly":"Lecture seule","recommend":"Recommandé","red":"rouge","register":"S'inscrire","registerSuccessAndRdirectToNote":"inscription réussie, redirection...","reloadCaptcha":"Recharger Captcha","rename":"Renommer","resendVerifiedEmail":"Renvoyer le courriel de confirmation","restoreFromThisVersion":"Restaurer depuis cette version","save":"Sauvegarder","saveSort":"Séquençage de la sauvegarde","saveSuccess":"Sauvegarde réussie","saving":"Sauvegarde","script":"Script","search":"Chercher","send":"Envoyer","sendInviteEmailToYourFriend":"Envoyer un courriel d'invitation à votre ami.","sendSuccess":"succès","sendVerifiedEmail":"Envoyer le courriel de confirmation","service":"Service","setAbstract":"Réglages abstraits","setAvatar":"Avatar","setUsername":"Paramétrer le nom d'utilisateur","setUsernameTips":"Votre courriel actuel est: \u003ccode\u003e%s\u003c/code\u003e. Vous pouvez définir un nom d'utilisateur unique. \u003cbr /\u003eNom d'utilisateur' Au moins 4 caractères et sans caractères spéciaux.","share":"Partager","shareInfo":"Partagez vos connaissances avec vos amis dans leanote.","shareToFriends":"Partage avec ses amis","share_comment":"Commenter","signInWithThird":"Sign in with other account","simple":"Simple","single":"Page simple","singleTips":"Vous pouvez ajouter beaucoup de pages simples","sortField":"Champ de tri","sortType":"Type de tri","style":"Style","subDomainExisted":"Le sous-domaine existe déjà.","submit":"Soumettre","suggestions":"Suggestions","suggestionsInfo":"Aidez-nous à améliorer leanote.","tag":"Etiquette","tag_posts":"Etiquettes des publications","tags":"Etiquettes","themeJson":"Réglages du thème","themeSetting":"Thème","themeValidHasRoundInclude":"WARNING: Les modèles ont des références circulaires!","thirdCreateAcountTips":"Vous utilisez un compte tiers pour connecter %(app)s, vous pouvrz créer un compte %(app) également. \u003cbr /\u003eAprès avoir créé le compte %(app), vous pouvez utiliser ce compte et le compte tiers pour connecter %(app)s.","title":"Titre","totalTraffic":"Web Traffic","tpl":"Modèle","tplStyleScript":"modèle, style, script","trash":"Corbeille","try":"Essayer","unTitled":"Sans titre","unVerified":"Non confirmé","unfold":"Déplier","update":"Mettre à jour","updateEmail":"Mettre à jour le courriel","updateEmailTips":"Vous devez confirmer votre courriel après la mise-à-jour. Le courriel confirmé sera le nouveau compte.","updatePassword":"Mettre à jour le mot de passe","updatePasswordSuccess":"Mises à jour du mot de passe réussie.","updatePasswordSuccessRedirectToLogin":"Mise à jour du mot de passe réussie, redirection vers la page d'identification...","updateSingle":"Metter à jour une page simple","updateTheme":"Mettre à jour le thème","updateUsernameSuccess":"Mise à jour du nom d'utilisateur réussie","updated":"Updated","updatedTime":"Heure de mise à jour","upgrade":"Mettre mon compte à niveau","upgradeAccountTips":"Je veux utiliser un domaine personnalisé pour mon blog, \u003ca class=\"btn btn-default\" href=\"/service\"\u003emettre mon compte à niveau.\u003c/a\u003e","uploadImage":"Téléverser une image","use":"Utiliser","use ":" Utiliser","userHasBeenRegistered":"%s a été inscrit","userNotExists":"L'utilisateur n'existe pas","username":"Nom d'utilisateur","usernameIsExisted":"Le nom d'utilisateur existe déjà.","usernameOrEmail":"Nom d'utilisateur ou courriel","usernameSetting":"Mettre à jour le nom d'utilisateur","verified":"Confirmé","verifiedEmaiHasSent":"Le courriel de confirmation a été envoyé, veuillez surveiller votre boite de réception.","verifiedNow":"Confirmer maintenant","welcomeToLeanote":"Bienvenue","welcomeUseLeanote":"Bienvenue!","writable":"Editable","writingMode":"Mode écriture","wrongEmail":"Wrong email","wrongPassword":"Mauvais mot de passe","wrongUsernameOrPassword":"Mauvais nom d'utilisateur ou mot de passe","yellow":"jaune","yourContact":"Vos contacts","yourSuggestions":"Suggestions"};
+function getMsg(key, data) {
+ var msg = MSG[key]
+ if(msg) {
+ if(data) {
+ if(!isArray(data)) {
+ data = [data];
+ }
+ for(var i = 0; i < data.length; ++i) {
+ msg = msg.replace("%s", data[i]);
+ }
+ }
+ return msg;
+ }
+ return key;
+}
\ No newline at end of file
diff --git a/public/js/i18n/msg.zh.js b/public/js/i18n/msg.zh.js
index 80e434a..4dde72f 100644
--- a/public/js/i18n/msg.zh.js
+++ b/public/js/i18n/msg.zh.js
@@ -1,4 +1,4 @@
-var MSG = {"3th":"第三方登录","aboutLeanote":"关于leanote","aboutMe":"关于我","accountInfo":"帐户信息","accountSetting":"帐户设置","accountType":"帐户类型","addChildNotebook":"添加子笔记本","addLeanoteAccount":"新建Leanote帐户","addMemberTips":"输入用户名或邮箱添加成员","addNotebook":"添加笔记本","addShare":"添加分享","addSingle":"添加单页面","addTheme":"添加主题","admin":"后台管理","all":"最新","app":"leanote","archive":"归档页","asc":"升序","attachSize":"附件空间","attachSizeOver":"对不起, 您的附件容量不足, 请\u003ca href=\"/service\"\u003e升级您的帐户\u003c/a\u003e","attachments ":" 附件","avatar":"头像","basicInfo":"基本信息","basicInfoSet":"博客基本设置","blog":"博客","blogInfo":"将笔记公开, 让知识传播的更远!","blogSet":"博客设置","blue":"蓝色","cancel":"取消","cancelPublic":"取消公开为博客","cannotUpdateDemo":"抱歉, Demo用户不允许修改","canntNewNoteTips":"Sorry, 这里不能添加笔记的. 你需要先选择一个笔记本.","captcha":"验证码","captchaError":"验证码错误","cate":"分类页","cateIsPublicNotebook":"分类是公开为博客的笔记本","checkEmai":"查收邮箱","checkEmail":"查看邮件","chooseImage":"选择图片","clearSearch":"清除搜索","clickAddTag":"点击添加标签","clickToChangePermission":"点击改变权限","clickToCopy":"点击复制","close":"关闭","confirmBackup":"确定要从该版还原? 还原前leanote会备份当前版本到历史记录中.","confirmPassword":"两次密码输入不正确","content":"内容","cooperation":"协作","cooperationInfo":"分享给好友的同时也可以让你的好友和你一起来完善它.","copy":"复制","copyFailed":"对不起, 复制失败, 请自行复制","copySuccess":"复制成功","copyToMyNotebook":"复制到我的笔记本","create":"创建","createAccount":"创建帐号","createAccountFailed":"帐号创建失败","createAccountSuccess":"帐号创建成功","created":"创建","createdTime":"创建时间","curUser":"当前登录帐户","currentEmail":"当前邮箱为: \u003ccode\u003e%s\u003c/code\u003e ","currentFile":"当前文件","currentTheme":"当前主题","datetime":"日期","default":"默认","defaultComment":"默认leanote评论系统","defaultShare":"默认共享","defaulthhare":"默认共享","delete":"删除","deleteAllShared":"删除所有共享","deleteGroup":"删除组","deleteMember":"删除成员","deleteSharedNotebook":"删除共享笔记本","demoRegister":"\u003ca href=\"/register\"\u003e立即注册\u003c/a\u003e","desc":"降序","desktopApp":"客户端","discussion":"社区讨论","domainExisted":"域名已存在","domainNotPointToLeanote":"该域名还未指向 d.leanote.com, 请稍后再试","donate ":" 捐赠","download":"下载","dragAndSort":"拖动可排序","edit":"编辑","editorTips":"帮助","editorTipsInfo":"\u003ch4\u003e1. 快捷键\u003c/h4\u003ectrl+shift+c 代码块切换 \u003ch4\u003e2. shift+enter 跳出当前区域\u003c/h4\u003e比如在代码块中\u003cimg src=\"/images/outofcode.png\" style=\"width: 90px\"/\u003e按shift+enter可跳出当前代码块.","email":"Email","emailBodyRequired":"邮件内容不能为空","emailInSending":"正在发送邮件到","emailOrOthers":"Email或其它联系方式","emailSendFailed":"邮件发送失败","errorDomain":"请输入正确的域名, 如www.myblog.com","errorEmail":"请输入正确的email","errorPassword":"请输入长度不少于6位的密码, 尽量复杂","errorPerPageSize":"每页记录数至少为1","errorSortField":"排序类型错误","errorSubDomain":"请输入正确的博客子域名, 长度至少为4, 不能包含特殊字符","export":"导出","exportPdf":"导出PDF","exportTheme":"导出主题","findPassword":"找回密码","findPasswordSendEmailOver":"已经将修改密码的链接发送到您的邮箱, 请查收邮件.","findPasswordTimeout":"链接已过期","fold":"折叠","footer":"底部","forgetPassword ":" 忘记密码?","fork github":"Github 源码","friendEmail":"好友邮箱","friendNotExits":"该用户还没有注册%s, 复制邀请链接发送给Ta, 邀请链接: %s","green":"绿色","group":"用户组","hadAcount ":" 已有帐户?","hasAcount ":" 还无帐户?","hasSelfDefined":"已设置","hasUsers":"已存在该成员","header":"头部","hi":"Hi","highlight":"高亮","historiesNum":"leanote会保存笔记的最近\u003cb\u003e10\u003c/b\u003e份历史记录","history":"历史记录","home":"主页","howToInstallLeanote":"leanote安装步骤","image":"图片","imageSize":"图片空间","imageSizeOver":"对不起, 您的图片容量不足, 请\u003ca href=\"/service\"\u003e升级您的帐户\u003c/a\u003e","importTheme":"导入主题","index":"首页","ing":"正在处理","inputCaptcha":"请输入验证码","inputEmail":"请输入Email","inputFriendEmail":"请输入好友邮箱","inputNewPassword":"请输入新密码","inputPassword":"请输入密码","inputPassword2":"请输入确认密码","inputSingleTitle":"请输入单页面标题","inputUsername":"请输入用户名","install":"安装","inviteEmailBody":"Hi, 你好, 我是%s, %s非常好用, 快来注册吧!","knowledge":"知识","knowledgeInfo":"leanote是一个笔记, 你可以用它来管理自己的知识.","latest":"最新文章","leaDesc":"leanote博客平台","leanoteBlog":"官方博客","leanoteEvents":"Leanote动态","leanoteThemeMarket":"Leanote主题市场","leftHidden":"隐藏左侧","leftShow":"展开左侧","login":"登录","loginSuccess":"登录成功, 正在跳转","logining":"正在登录","logout":"退出","memberCenter":"用户中心","minLength":"长度至少为%s","modify":"修改","moto":"不只是笔记!","moto2":"知识管理, 博客, 分享, 协作... 尽在leanote","moto3":"简约而不简单","move":"移动","myBlog":"我的博客","myNote":"我的笔记","myNotebook":"我的笔记本","myOtherThemes":"我的其它主题","myTag":"我的标签","nav":"文档导航","new":"新建","newFile":"新建文件","newGroup":"新建组","newMarkdown":"新建Markdown笔记","newMarkdownNote":"新建Markdown笔记","newNote":"新建笔记","newPassword":"新密码","noCates":"无分类","noHistories":"无历史记录","noNoteNewNoteTips":"该笔记本下空空如也...何不","noSelfDefined":"未设置","noSpecialChars":"不能包含特殊字符","noTag":"无标签","normalAccountType":"共享套餐","normalMode":"普通模式","notFound":"该页面不存在","notGoodPassword":"密码至少6位","note":"笔记","notebook":"笔记本","oldPassword":"旧密码","oldPasswordError":"旧密码错误","or":"或","paging":"分页","pagingAndSort":"分页与排序设置","password":"密码","password2":"确认密码","passwordTips":"密码至少6位","perPageSize":"每页记录数","permanentLink":"固定链接","permission":"权限","post":"文章页","postList":"文章列表","premiumAccountType":"旗舰套餐","preview":"预览","publicAsBlog":"公开为博客","publicTime":"发表时间","reFindPassword":"重新找回密码","readOnly":"只读","recommend":"推荐文章","red":"红色","register":"注册","registerSuccessAndRdirectToNote":"注册成功, 正在跳转...","reloadCaptcha":"刷新验证码","rename":"重命名","resendVerifiedEmail":"重新发送验证邮件","restoreFromThisVersion":"从该版本还原","save":"保存","saveSort":"保存排序","saveSuccess":"保存成功","saving":"正在保存","script":"脚本","search":"搜索页","send":"发送","sendFailed":"发送失败","sendInviteEmailToYourFriend":"发送邀请email给Ta","sendSuccess":"发送成功","sendVerifiedEmail":"发送验证邮箱","service":"服务","setAbstract":"摘要设置","setAvatar":"头像设置","setUsername":"用户名设置","setUsernameTips":"你的邮箱是 \u003ccode\u003e%s\u003c/code\u003e, 可以再设置一个唯一的用户名.\u003cbr /\u003e用户名至少4位, 不可含特殊字符.","share":"分享","shareInfo":"你也可以将知识分享给你的好友.","shareToFriends":"分享给好友","share_comment":"分享评论","signInWithThird":"使用第三方帐号登录","simple":"简约","single":"单页","singleTips":"您可以添加多个单页面","sortField":"排序字段","sortType":"排序类型","style":"样式","subDomainExisted":"博客子域名已存在","submit":"提交","subscription":"我的订阅","suggestions":"建议","suggestionsInfo":"帮助我们完善leanote","tag":"标签","tag_posts":"标签文章页","tags":"标签页","themeJson":"主题配置","themeSetting":"主题设置","themeValidHasRoundInclude":"警告: 模板存在循环引用问题!","thirdCreateAcountTips":"您现在使用的是第三方帐号登录%(app)s, 您也可以注册%(app)s帐号登录, 赶紧注册一个吧. \u003cbr /\u003e注册成功后仍可以使用第三方帐号登录leanote并管理您现有的笔记.","title":"标题","tpl":"模板","tplStyleScript":"模板, 样式, 脚本","trash":"废纸篓","try":"体验一下","unTitled":"无标题","unVerified":"未验证","unfold":"展开","update":"更新","updateEmail":"修改邮箱","updateEmailTips":"邮箱修改后, 验证之后才有效, 验证之后新的邮箱地址将会作为登录帐号使用.","updatePassword":"修改密码","updatePasswordSuccess":"修改密码成功","updatePasswordSuccessRedirectToLogin":"修改成功, 正在跳转到登录页","updateSingle":"修改单页面","updateTheme":"编辑主题","updateUsernameSuccess":"用户名修改成功","updated":"更新","updatedTime":"更新时间","upgrade":"升级套餐","upgradeAccountTips":"Leanote支持绑定自己的域名到博客上, 请 \u003ca class=\"btn btn-default\" href=\"/service\"\u003e升级您的帐户\u003c/a\u003e","uploadImage":"上传图片","use":"使用","use ":" 使用","userHasBeenRegistered":"%s已被注册","userNotExists":"该成员沿未注册","username":"用户名","usernameIsExisted":"用户名已存在","usernameOrEmail":"用户名或Email","usernameSetting":"用户名设置","verified":"已验证","verifiedEmaiHasSent":"验证邮件已发送, 请及时查阅邮件并验证.","verifiedNow":"现在去验证","welcomeToLeanote":"欢迎来到leanote","welcomeUseLeanote":"欢迎使用leanote","writable":"可写","writingMode":"写作模式","wrongEmail":"Email格式有误","wrongPassword":"密码有误","wrongUsernameOrPassword":"用户名或密码有误","yellow":"黄色","yourContact":"您的联系方式","yourSuggestions":"帮助完善leanote"};
+var MSG = {"3th":"第三方登录","aboutLeanote":"关于Leanote","aboutMe":"关于我","accountInfo":"帐户信息","accountSetting":"帐户设置","accountType":"帐户类型","addChildNotebook":"添加子笔记本","addLeanoteAccount":"新建Leanote帐户","addMemberTips":"输入用户名或邮箱添加成员","addNotebook":"添加笔记本","addShare":"添加分享","addSingle":"添加单页面","addTheme":"添加主题","admin":"后台管理","all":"最新","app":"Leanote","archive":"归档页","asc":"升序","attachSize":"附件空间","attachSizeOver":"对不起, 您的附件容量不足, 请至\u003ca href=\"/service\"\u003e升级您的帐户\u003c/a\u003e","attachments ":" 附件","avatar":"头像","basicInfo":"基本信息","basicInfoSet":"博客基本设置","blog":"博客","blogInfo":"将笔记公开, 让知识传播的更远!","blogSet":"博客设置","blue":"蓝色","cancel":"取消","cancelPublic":"取消公开为博客","cannotUpdateDemo":"抱歉, Demo用户不允许修改","canntNewNoteTips":"Sorry, 这里不能添加笔记的. 你需要先选择一个笔记本.","captcha":"验证码","captchaError":"验证码错误","cate":"分类页","cateIsPublicNotebook":"分类是公开为博客的笔记本","checkEmai":"查收邮箱","checkEmail":"查看邮件","chooseImage":"选择图片","clearSearch":"清除搜索","clickAddTag":"点击添加标签","clickToChangePermission":"点击改变权限","clickToCopy":"点击复制","close":"关闭","confirmBackup":"确定要从该版还原? 还原前leanote会备份当前版本到历史记录中.","confirmPassword":"两次密码输入不正确","content":"内容","cooperation":"协作","cooperationInfo":"分享给好友的同时也可以让你的好友和你一起来完善它.","copy":"复制","copyFailed":"对不起, 复制失败, 请自行复制","copySuccess":"复制成功","copyToMyNotebook":"复制到我的笔记本","create":"创建","createAccount":"创建帐号","createAccountFailed":"帐号创建失败","createAccountSuccess":"帐号创建成功","created":"创建","createdTime":"创建时间","curUser":"当前登录帐户","currentEmail":"当前邮箱为: \u003ccode\u003e%s\u003c/code\u003e ","currentFile":"当前文件","currentTheme":"当前主题","datetime":"日期","default":"默认","defaultComment":"默认leanote评论系统","defaultShare":"默认共享","defaulthhare":"默认共享","delete":"删除","deleteAllShared":"删除所有共享","deleteGroup":"删除组","deleteMember":"删除成员","deleteSharedNotebook":"删除共享笔记本","demoRegister":"\u003ca href=\"/register\"\u003e立即注册\u003c/a\u003e","desc":"降序","desktopApp":"客户端","discussion":"社区讨论","domainExisted":"域名已存在","domainNotPointToLeanote":"该域名还未指向 d.leanote.com, 请稍后再试","donate ":" 捐赠","download":"下载","dragAndSort":"拖动可排序","edit":"编辑","editorTips":"帮助","editorTipsInfo":"\u003ch4\u003e1. 快捷键\u003c/h4\u003ectrl+shift+c 代码块切换 \u003ch4\u003e2. shift+enter 跳出当前区域\u003c/h4\u003e比如在代码块中\u003cimg src=\"/images/outofcode.png\" style=\"width: 90px\"/\u003e按shift+enter可跳出当前代码块.","email":"Email","emailBodyRequired":"邮件内容不能为空","emailInSending":"正在发送邮件到","emailOrOthers":"Email或其它联系方式","emailSendFailed":"邮件发送失败","errorDomain":"请输入正确的域名, 如www.myblog.com","errorEmail":"请输入正确的email","errorPassword":"请输入长度不少于6位的密码, 尽量复杂","errorPerPageSize":"每页记录数至少为1","errorSortField":"排序类型错误","errorSubDomain":"请输入正确的博客子域名, 长度至少为4, 不能包含特殊字符","export":"导出","exportPdf":"导出PDF","exportTheme":"导出主题","findPassword":"找回密码","findPasswordSendEmailOver":"已经将修改密码的链接发送到您的邮箱, 请查收邮件.","findPasswordTimeout":"链接已过期","fold":"折叠","footer":"底部","forgetPassword ":" 忘记密码?","fork github":"Github 源码","friendEmail":"好友邮箱","friendNotExits":"该用户还没有注册%s, 复制邀请链接发送给Ta, 邀请链接: %s","green":"绿色","group":"用户组","hadAcount ":" 已有帐户?","hasAcount ":" 还无帐户?","hasSelfDefined":"已设置","hasUsers":"已存在该成员","header":"头部","hi":"Hi","highlight":"高亮","historiesNum":"leanote会保存笔记的最近\u003cb\u003e10\u003c/b\u003e份历史记录","history":"历史记录","home":"主页","howToInstallLeanote":"leanote安装步骤","image":"图片","imageSize":"图片空间","imageSizeOver":"对不起, 您的图片容量不足, 请至\u003ca href=\"/service\"\u003e升级您的帐户\u003c/a\u003e","importTheme":"导入主题","index":"首页","ing":"正在处理","inputCaptcha":"请输入验证码","inputEmail":"请输入Email","inputFriendEmail":"请输入好友邮箱","inputNewPassword":"请输入新密码","inputPassword":"请输入密码","inputPassword2":"请输入确认密码","inputSingleTitle":"请输入单页面标题","inputUsername":"请输入用户名","install":"安装","inviteEmailBody":"Hi, 你好, 我是%s, %s非常好用, 快来注册吧!","knowledge":"知识","knowledgeInfo":"leanote是一个笔记, 你可以用它来管理自己的知识.","latest":"最新文章","leaDesc":"leanote博客平台","leanoteBlog":"官方博客","leanoteEvents":"Leanote动态","leanoteThemeMarket":"Leanote主题市场","leftHidden":"隐藏左侧","leftShow":"展开左侧","login":"登录","loginSuccess":"登录成功, 正在跳转","logining":"正在登录","logout":"退出","memberCenter":"用户中心","minLength":"长度至少为%s","modify":"修改","moto":"不只是笔记!","moto2":"知识管理, 博客, 分享, 协作... 尽在Leanote","moto3":"简约而不简单","move":"移动","myBlog":"我的博客","myNote":"我的笔记","myNotebook":"我的笔记本","myOtherThemes":"我的其它主题","myTag":"我的标签","nav":"文档导航","new":"新建","newFile":"新建文件","newGroup":"新建组","newMarkdown":"新建Markdown笔记","newMarkdownNote":"新建Markdown笔记","newNote":"新建笔记","newPassword":"新密码","noCates":"无分类","noHistories":"无历史记录","noNoteNewNoteTips":"该笔记本下空空如也...何不","noSelfDefined":"未设置","noSpecialChars":"不能包含特殊字符","noTag":"无标签","normalAccountType":"共享套餐","normalMode":"普通模式","notFound":"该页面不存在","notGoodPassword":"密码至少6位","note":"笔记","notebook":"笔记本","oldPassword":"旧密码","oldPasswordError":"旧密码错误","or":"或","paging":"分页","pagingAndSort":"分页与排序设置","password":"密码","password2":"确认密码","passwordTips":"密码至少6位","perPageSize":"每页记录数","permanentLink":"固定链接","permission":"权限","post":"文章页","postList":"文章列表","premiumAccountType":"旗舰套餐","preview":"预览","publicAsBlog":"公开为博客","publicTime":"发表时间","reFindPassword":"重新找回密码","readOnly":"只读","recommend":"推荐文章","red":"红色","register":"注册","registerSuccessAndRdirectToNote":"注册成功, 正在跳转...","reloadCaptcha":"刷新验证码","rename":"重命名","resendVerifiedEmail":"重新发送验证邮件","restoreFromThisVersion":"从该版本还原","save":"保存","saveSort":"保存排序","saveSuccess":"保存成功","saving":"正在保存","script":"脚本","search":"搜索页","send":"发送","sendFailed":"发送失败","sendInviteEmailToYourFriend":"发送邀请email给Ta","sendSuccess":"发送成功","sendVerifiedEmail":"发送验证邮箱","service":"服务","setAbstract":"摘要设置","setAvatar":"头像设置","setUsername":"用户名设置","setUsernameTips":"你的邮箱是 \u003ccode\u003e%s\u003c/code\u003e, 可以再设置一个唯一的用户名.\u003cbr /\u003e用户名至少4位, 不可含特殊字符.","share":"分享","shareInfo":"你也可以将知识分享给你的好友.","shareToFriends":"分享给好友","share_comment":"分享评论","signInWithThird":"使用第三方帐号登录","simple":"简约","single":"单页","singleTips":"您可以添加多个单页面","sortField":"排序字段","sortType":"排序类型","style":"样式","subDomainExisted":"博客子域名已存在","submit":"提交","subscription":"我的订阅","suggestions":"建议","suggestionsInfo":"帮助我们完善leanote","tag":"标签","tag_posts":"标签文章页","tags":"标签页","themeJson":"主题配置","themeSetting":"主题设置","themeValidHasRoundInclude":"警告: 模板存在循环引用问题!","thirdCreateAcountTips":"您现在使用的是第三方帐号登录%(app)s, 您也可以注册%(app)s帐号登录, 赶紧注册一个吧. \u003cbr /\u003e注册成功后仍可以使用第三方帐号登录leanote并管理您现有的笔记.","title":"标题","totalTraffic":"流量","tpl":"模板","tplStyleScript":"模板, 样式, 脚本","trafficOver":"对不起, 您本月的流量已用完, 请至\u003ca href=\"/service\"\u003e升级您的帐户\u003c/a\u003e","trash":"废纸篓","try":"体验一下","unTitled":"无标题","unVerified":"未验证","unfold":"展开","update":"更新","updateEmail":"修改邮箱","updateEmailTips":"邮箱修改后, 验证之后才有效, 验证之后新的邮箱地址将会作为登录帐号使用.","updatePassword":"修改密码","updatePasswordSuccess":"修改密码成功","updatePasswordSuccessRedirectToLogin":"修改成功, 正在跳转到登录页","updateSingle":"修改单页面","updateTheme":"编辑主题","updateUsernameSuccess":"用户名修改成功","updated":"更新","updatedTime":"更新时间","upgrade":"升级套餐","upgradeAccountTips":"Leanote支持绑定自己的域名到博客上, 请 \u003ca class=\"btn btn-default\" href=\"/service\"\u003e升级您的帐户\u003c/a\u003e","uploadImage":"上传图片","use":"使用","use ":" 使用","userHasBeenRegistered":"%s已被注册","userNotExists":"该成员沿未注册","username":"用户名","usernameIsExisted":"用户名已存在","usernameOrEmail":"用户名或Email","usernameSetting":"用户名设置","verified":"已验证","verifiedEmaiHasSent":"验证邮件已发送, 请及时查阅邮件并验证.","verifiedNow":"现在去验证","welcomeToLeanote":"欢迎来到leanote","welcomeUseLeanote":"欢迎使用leanote","writable":"可写","writingMode":"写作模式","wrongEmail":"Email格式有误","wrongPassword":"密码有误","wrongUsernameOrPassword":"用户名或密码有误","yellow":"黄色","yourContact":"您的联系方式","yourSuggestions":"帮助完善Leanote"};
function getMsg(key, data) {
var msg = MSG[key]
if(msg) {