HSK Révision Interactif
HSK 1 à 4 — Vocabulaire officiel complet
Code de licence
Vocabulaire — HSK 1
QCM adaptatif
QCM
0
0🔥
Niveau HSK
Pinyin
// ══════════════════════════════════════════════ // VOCABULARY DATA (HSK 1-4, official list) // ══════════════════════════════════════════════ const V={};V[1]=[["爱","ài","aimer ; amour"],["八","bā","huit ; 8"],["爸爸","bàba","papa"],["杯子","bēizi","verre ; tasse"],["北京","Běijīng","Pékin"],["本","běn","racine, origine ; cahier ; spécificatif"],["不客气","bú kèqi","je vous en prie ; de rien"],["不","bù","non ; particule négative, ne pas"],["菜","cài","légume, mets, plat ; courses"],["茶","chá","thé"],["吃","chī","manger"],["出租车","chūzūchē","taxi"],["大","dà","grand, être grand ; âgé"],["的","de","particule marquant le déterminant du nom"],["点","diǎn","point ; heure ; peu ; commander au restaurant"],["电脑","diànnǎo","ordinateur"],["电视","diànshì","télévision ; téléviseur"],["电影","diànyǐng","film ; cinéma"],["东西","dōngxi","chose"],["都","dōu","tout, toute, tous, toutes ; globalise ce qui précède"],["读","dú","lire, lire à haute voix ; étudier"],["对不起","duìbuqǐ","pardon, excusez-moi"],["多","duō","beaucoup, être beaucoup ; nombreux"],["多少","duōshao","combien (réponse supérieure à 10-12)"],["儿子","érzi","fils"],["二","èr","deux ; 2"],["飞机","fēijī","avion"],["饭馆","fànguǎn","restaurant"],["高兴","gāoxìng","content, joyeux, heureux"],["个","gè","individuel ; spécificatif"],["工作","gōngzuò","travail, travailler"],["狗","gǒu","chien"],["汉语","hànyǔ","chinois (la langue des Han)"],["好","hǎo","ok ; bon ; bien ; mieux"],["喝","hē","boire"],["和","hé","et (entre groupes nominaux) ; avec"],["很","hěn","très"],["后面","hòumian","derrière ; ensuite, plus tard"],["火车站","huǒchēzhàn","gare"],["回","huí","retourner, revenir, rentrer ; répondre"],["会","huì","savoir faire, pouvoir ; marque du futur"],["几","jǐ","combien (réponse inférieure à 12) ; plusieurs"],["家","jiā","maison, famille ; spécificatif"],["叫","jiào","appeler ; s'appeler ; crier"],["今天","jīntiān","aujourd'hui"],["九","jiǔ","neuf ; 9"],["开","kāi","ouvrir ; conduire ; allumer ; mettre en marche"],["看","kàn","regarder ; voir"],["看见","kànjiàn","voir ; apercevoir"],["块","kuài","morceau ; spécificatif (monnaie, montre)"],["来","lái","venir"],["冷","lěng","froid, être froid, avoir froid, faire froid"],["里","lǐ","intérieur, à l'intérieur, dedans, dans"],["零","líng","zéro ; 0"],["六","liù","six ; 6"],["妈妈","māma","maman"],["买","mǎi","acheter"],["猫","māo","chat"],["没","méi","ne pas ; il n'y a pas ; négation de yǒu"],["没关系","méi guānxi","cela ne fait rien, ce n'est pas grave"],["米饭","mǐfàn","riz (cuit)"],["明天","míngtiān","demain"],["名字","míngzi","prénom (personne) ; nom (objet)"],["哪","nǎ","quel, quelle, lequel, laquelle ; où"],["那","nà","alors ; ce, cela, celui-là"],["能","néng","pouvoir, être en son pouvoir de"],["你","nǐ","tu, te, toi, vous singulier"],["年","nián","année civile ; année"],["女儿","nǚ'ér","fille (≠ fils)"],["呢","ne","et, interrogatif ; relance une question"],["朋友","péngyou","ami"],["漂亮","piàoliang","joli, être joli ; beau, être beau"],["苹果","píngguǒ","pomme"],["七","qī","sept ; 7"],["去","qù","aller ; quitter"],["热","rè","chaud, être chaud, faire chaud"],["人","rén","homme, humain, personne ; les gens"],["日","rì","soleil ; jour"],["认识","rènshi","connaître ; connaissance"],["三","sān","trois ; 3"],["商店","shāngdiàn","magasin ; boutique"],["上","shàng","dessus, sur, en haut ; aller quelque part ; monter"],["上午","shàngwǔ","matin, matinée"],["谁","shéi","qui, interrogatif"],["什么","shénme","quoi ; quel, quelle, quels, quelles"],["十","shí","dix ; 10"],["时候","shíhou","moment, époque"],["是","shì","être ; oui ; vraiment"],["书","shū","livre ; écrire"],["水","shuǐ","eau"],["水果","shuǐguǒ","fruit"],["睡觉","shuì jiào","dormir"],["说话","shuō huà","parler ; dire"],["四","sì","quatre ; 4"],["岁","suì","année d'âge ; année"],["他","tā","il, le, lui"],["她","tā","elle, la, lui"],["太","tài","trop ; extrêmement"],["天气","tiānqì","temps qu'il fait, météo"],["听","tīng","écouter ; cannette"],["同学","tóngxué","camarade (d'études, d'école)"],["喂","wèi","allô ; nourrir, donner à manger à"],["我","wǒ","je, me, moi"],["我们","wǒmen","nous"],["五","wǔ","cinq ; 5"],["喜欢","xǐhuan","aimer ; bien aimer ; préférer"],["下","xià","dessous, sous, en bas ; descendre, sortir"],["下午","xiàwǔ","après-midi"],["下雨","xià yǔ","pleuvoir"],["先生","xiānsheng","monsieur, Monsieur, mari"],["现在","xiànzài","maintenant"],["想","xiǎng","penser, réfléchir ; avoir envie de"],["小","xiǎo","petit, être petit ; jeune, être jeune"],["小姐","xiǎojiě","Mademoiselle, demoiselle"],["些","xiē","marque le pluriel indéterminé ; quelques"],["写","xiě","écrire"],["谢谢","xièxie","merci ; remercier"],["衣服","yīfu","habit ; vêtement"],["医生","yīshēng","médecin ; docteur"],["医院","yīyuàn","hôpital"],["一","yī","un, une ; 1"],["椅子","yǐzi","chaise"],["有","yǒu","avoir, y avoir, il y a"],["月","yuè","lune ; mois"],["在","zài","se trouver à ; être là ; à, en, chez"],["再见","zài jiàn","au revoir"],["怎么","zěnme","comment (manière de faire) ; interrogatif"],["怎么样","zěnme yàng","comment est-ce ; comment ça va"],["这","zhè","ce, cet, cette, ceci"],["中国","Zhōngguó","Chine"],["中午","zhōngwǔ","midi"],["住","zhù","habiter ; résider"],["桌子","zhuōzi","table"],["字","zì","caractère (d'écriture) ; lettre"],["昨天","zuótiān","hier"],["坐","zuò","s'asseoir ; prendre (un moyen de transport)"],["做","zuò","faire"],["打电话","dǎ diànhuà","téléphoner"],["学生","xuésheng","étudiant-e ; écolier ; élève"],["学习","xuéxí","apprendre, étudier ; études"],["学校","xuéxiào","école (bâtiment)"],["老师","lǎoshī","enseignant, enseignante"],["星期","xīngqī","semaine"],["分钟","fēnzhōng","minute"],["了","le","particule modale ; marque l'achèvement d'une action"],["吗","ma","particule interrogative ; marque la question"]];V[2]=[["吧","ba","particule finale, marque la manière inductive ; impératif doux"],["白","bái","blanc, être blanc ; en vain"],["百","bǎi","cent ; centaine ; 100"],["帮助","bāngzhù","aider ; aide"],["比","bǐ","comparer ; en comparaison de, plus ... que"],["别","bié","impératif négatif, ne pas faire ; autre, autres"],["但是","dànshì","mais"],["到","dào","arriver à ; aller quelque part"],["地","de","particule marquant certains déterminants du verbe"],["得","de","particule, marque la construction de possibilité"],["等","děng","attendre ; et cetera, etc"],["弟弟","dìdi","frère cadet, frère puiné, frère"],["第一","dìyī","premier, le premier"],["懂","dǒng","comprendre"],["对","duì","juste, être juste ; à, à l'égard de, envers"],["非常","fēicháng","très, extrêmement"],["服务员","fúwùyuán","serveur, serveuse, employé"],["高","gāo","haut, être haut ; grand, être grand"],["告诉","gàosu","dire, communiquer, faire part de"],["哥哥","gēge","frère aîné, frère"],["给","gěi","donner ; à, pour"],["公共汽车","gōnggòng qìchē","autobus ; bus ; trolleybus"],["公斤","gōngjīn","kilogramme ; kilo"],["公司","gōngsī","compagnie, entreprise"],["还","hái","encore ; encore plus que"],["孩子","háizi","enfant"],["好吃","hǎochī","bon, être bon (à manger) ; délicieux"],["号","hào","numéro ; jour (dans les dates)"],["黑","hēi","noir ; être noir"],["红","hóng","rouge, être rouge ; rougir"],["欢迎","huānyíng","bienvenue ; souhaiter la bienvenue"],["机场","jīchǎng","aéroport"],["鸡蛋","jīdàn","œuf (de poule)"],["近","jìn","proche, être proche ; près, être près"],["进","jìn","entrer ; entrer quelque part ; avancer"],["觉得","juéde","ressentir ; penser, trouver que"],["咖啡","kāfēi","café"],["开始","kāishǐ","au début ; commencer ; commencement"],["考试","kǎoshì","examen, épreuve ; passer un examen"],["可能","kěnéng","peut-être ; possible, être possible"],["可以","kěyǐ","pouvoir ; ça va, c'est pas mal"],["课","kè","leçon, cours"],["快","kuài","rapide, être rapide ; vite"],["快乐","kuàilè","joyeux, joie, avec joie ; gai, content, heureux"],["累","lèi","fatigué, être fatigué ; las, être las"],["离","lí","quitter, s'éloigner de ; de (distance)"],["两","liǎng","deux ; 2 ; once ; 50g"],["路","lù","route, chemin, ligne"],["旅游","lǚyóu","voyager ; voyage"],["卖","mài","vendre"],["慢","màn","lent, être lent ; lentement"],["忙","máng","occupé, être occupé ; affairé"],["每","měi","chaque, chacun ; tout (comme dans toutes les semaines)"],["妹妹","mèimei","sœur cadette, sœur puinée, sœur"],["门","mén","porte"],["男人","nánrén","homme (≠ humain ; ≠ femme)"],["您","nín","vous, forme de politesse, singulier"],["牛奶","niúnǎi","lait (de vache)"],["女人","nǚrén","femme, femmes"],["旁边","pángbiān","côté ; à côté ; à côté de"],["跑步","pǎo bù","courir, faire du jogging"],["便宜","piányi","bon marché, être bon marché"],["票","piào","billet, ticket"],["妻子","qīzi","épouse"],["千","qiān","millier ; mille ; 1000"],["钱","qián","argent, monnaie"],["前面","qiánmiàn","devant ; avant, précédemment"],["晴","qíng","clair, être clair ; dégagé ; faire beau"],["请","qǐng","inviter ; prier de ; s'il vous plait"],["去年","qùnián","l'année passée ; l'année dernière"],["让","ràng","laisser faire ; faire faire ; par (agent du passif)"],["上班","shàng bān","aller travailler ; aller au travail"],["身体","shēntǐ","corps ; santé"],["生病","shēng bìng","tomber malade ; être malade"],["生日","shēngrì","anniversaire ; jour de naissance"],["时间","shíjiān","temps (durée)"],["事情","shìqing","affaire, chose ; événement"],["手表","shǒubiǎo","montre, montre-bracelet"],["手机","shǒujī","portable, téléphone portable"],["送","sòng","offrir ; accompagner, raccompagner ; envoyer"],["所以","suǒyǐ","c'est pourquoi ; par conséquent, donc"],["它","tā","elle, il, la, le, lui (objets, animaux)"],["踢足球","tī zúqiú","jouer au football, jouer au foot"],["题","tí","titre, sujet, inscription, question"],["跳舞","tiào wǔ","danser"],["外","wài","dehors, extérieur ; étranger"],["玩","wán","jouer, s'amuser, se distraire"],["完","wán","finir"],["晚上","wǎnshang","soir, soirée"],["问","wèn","demander, interroger, poser une question"],["问题","wèntí","question, problème"],["西瓜","xīguā","pastèque"],["希望","xīwàng","espérer, espoir ; souhaiter"],["洗","xǐ","laver, nettoyer"],["小时","xiǎoshí","heure (durée)"],["笑","xiào","rire, sourire"],["新","xīn","nouveau, être nouveau ; récent ; neuf"],["姓","xìng","nom de famille ; s'appeler (nom de famille)"],["休息","xiūxi","se reposer"],["雪","xuě","neige"],["已经","yǐjīng","déjà ; renforce la manière achevée"],["也","yě","aussi ; non plus (avec négation)"],["阴","yīn","ubac ; ombragé ; couvert, nuageux"],["因为","yīnwei","parce que, car ; comme"],["一起","yìqǐ","ensemble"],["意思","yìsi","intention, sens, signification"],["游泳","yóu yǒng","nager"],["右边","yòubian","à droite, sur la droite"],["鱼","yú","poisson"],["元","yuán","origine ; yuan, unité d'argent"],["远","yuǎn","éloigné, être éloigné ; loin, être loin"],["运动","yùndòng","sport, exercice physique ; mouvement"],["再","zài","encore une fois ; de nouveau ; de plus"],["早上","zǎoshang","matin, matin tôt"],["张","zhāng","étendre, déployer ; spécificatif (objets plats)"],["丈夫","zhàngfu","époux, mari"],["着","zhe","manière continue, aspect duratif"],["真","zhēn","vrai, être vrai ; vraiment"],["知道","zhīdao","savoir, savoir quelque chose"],["准备","zhǔnbèi","préparer ; préparatif ; avoir l'intention de"],["最","zuì","le plus ; marque la comparaison entre plus de 2 éléments"],["左边","zuǒbian","à gauche, sur la gauche"],["大家","dàjiā","tout le monde, tous"],["打篮球","dǎ lánqiú","jouer au basket ; faire du basket"],["房间","fángjiān","chambre, pièce"],["教室","jiàoshì","salle de classe"],["介绍","jièshào","présenter, faire connaître ; présentation"],["颜色","yánsè","couleur"],["羊肉","yángròu","agneau ; viande d'agneau, viande de mouton"],["眼睛","yǎnjing","œil, oeil ; yeux"],["唱歌","chàng gē","chanter"],["出","chū","sortir"],["穿","chuān","mettre des habits, porter des vêtements ; traverser"],["船","chuán","bateau"],["次","cì","fois ; spécificatif (train)"],["从","cóng","suivre ; de (venir de) ; depuis ; par"],["错","cuò","faux, être faux ; faire une erreur ; erreur"]];V[3]=[["阿姨","āyí","Madame ; tante"],["啊","a","particule finale (emphase, surprise)"],["矮","ǎi","petit, être petit (taille) ; bas, être bas"],["爱好","àihào","loisir, hobby, intérêt ; aimer"],["安静","ānjìng","tranquille, être tranquille ; calme"],["把","bǎ","poignée ; spécificatif ; marque le CO avancé"],["班","bān","classe (école) ; équipe ; travail"],["搬","bān","déplacer ; déménager"],["半","bàn","moitié, demi ; et demi"],["办法","bànfǎ","moyen ; solution"],["办公室","bàngōngshì","bureau (administration, école, banque etc.)"],["帮忙","bāng máng","aider, rendre service, donner un coup de main"],["包","bāo","envelopper, emballer ; paquet, sac"],["饱","bǎo","rassasié, être rassasié ; avoir assez mangé"],["报纸","bàozhǐ","journal ; périodique"],["被","bèi","couvrir ; couverture ; par (agent du passif)"],["鼻子","bízi","nez"],["比较","bǐjiào","assez, plutôt, relativement ; comparer"],["比赛","bǐsài","concours ; compétition ; match ; concourir"],["必须","bìxū","falloir ; devoir ; il faut absolument que"],["变化","biànhuà","changement ; changer"],["表示","biǎoshì","montrer, exprimer"],["表演","biǎoyǎn","jouer, exécuter, représenter"],["别人","biérén","autrui ; les autres"],["宾馆","bīnguǎn","hôtel"],["冰箱","bīngxiāng","réfrigérateur ; frigo"],["才","cái","aptitude, talent ; alors seulement, seulement"],["菜单","càidān","carte ; menu"],["参加","cānjiā","participer à ; adhérer à"],["草","cǎo","herbe, paille, foin"],["层","céng","étage ; palier ; couche ; spécificatif"],["差","chà","moins (heure) ; manquer ; nul, être nul"],["长","cháng","long, être long (distance + temps)"],["唱歌","chàng gē","chanter"],["超市","chāoshì","supermarché ; supérette"],["衬衫","chènshān","chemise"],["成绩","chéngjì","résultat, résultat scolaire, note ; succès"],["城市","chéngshì","ville"],["迟到","chídào","arriver en retard ; être en retard"],["出现","chūxiàn","apparaître"],["厨房","chúfáng","cuisine (pièce)"],["除了","chú le","excepté, à part, sauf"],["春","chūn","printemps"],["词语","cíyǔ","termes ; mots, expressions ; vocabulaire"],["聪明","cōngming","intelligent, être intelligent ; intelligence"],["打扫","dǎsǎo","balayer ; nettoyer"],["打算","dǎsuàn","avoir l'intention de, projeter ; intention"],["带","dài","porter, apporter, emporter, amener ; avec"],["担心","dān xīn","se soucier de, se faire du souci, s'inquiéter"],["蛋糕","dàngāo","gâteau, biscuit (avec œuf)"],["当然","dāngrán","naturellement, bien sûr, évidemment"],["地方","dìfang","endroit, lieu"],["地铁","dìtiě","métro"],["地图","dìtú","plan, carte"],["电梯","diàntī","ascenseur"],["电子邮件","diànzi yóujiàn","courrier électronique, courriel ; email"],["冬","dōng","hiver"],["东","dōng","est (direction cardinale) ; oriental"],["动物","dòngwù","animal"],["短","duǎn","court, être court"],["段","duàn","morceau, section ; paragraphe"],["锻炼","duànliàn","s'entraîner, s'exercer, faire de l'exercice"],["饿","è","avoir faim"],["而且","érqiě","et ; de plus ; en outre"],["耳朵","ěrduo","oreille"],["方便","fāngbiàn","pratique, être pratique ; commode"],["放","fàng","poser, placer, mettre ; lâcher, libérer"],["放心","fàng xīn","se rassurer, ne pas s'en faire ; être rassuré"],["分","fēn","centime ; minute ; diviser, séparer, partager"],["附近","fùjìn","environs, alentours"],["复习","fùxí","réviser, revoir, répéter"],["刚才","gāngcái","il y a un instant, à l'instant ; tout à l'heure"],["感冒","gǎnmào","prendre froid, attraper un rhume ; refroidissement"],["敢","gǎn","oser"],["跟","gēn","suivre ; avec"],["根据","gēnjù","selon ; baser sur ; base, fondement"],["更","gèng","encore plus"],["公园","gōngyuán","jardin public ; parc"],["故事","gùshi","histoire, récit, conte"],["刮风","guā fēng","souffler, venter"],["关","guān","fermer ; éteindre"],["关系","guānxi","rapport, relation ; relations sociales"],["关心","guānxīn","s'intéresser à, se soucier de"],["关于","guānyú","à propos de ; au sujet de ; concernant"],["贵","guì","précieux, être précieux ; cher, être cher"],["国家","guójiā","pays ; Etat, nation"],["果汁","guǒzhī","jus de fruit"],["v+过","guo","particule modale ; verbe second (aspect expérientiel)"],["过去","guòqu","le passé, dans le passé ; autrefois"],["还是","háishi","ou, interrogatif ; quand même ; encore, toujours"],["害怕","hàipà","avoir peur ; avoir peur de"],["护照","hùzhào","passeport"],["花","huā","fleur ; coloré ; dépenser (argent, temps)"],["花园","huāyuán","jardin"],["画","huà","peindre ; peinture ; dessiner ; dessin"],["坏","huài","mauvais ; s'abîmer ; être en panne"],["还","huán","rendre"],["环境","huánjìng","environnement"],["换","huàn","changer, échanger"],["黄","huáng","jaune, être jaune"],["会议","huìyì","conférence ; réunion"],["或者","huòzhě","ou ; ou bien (dans une phrase affirmative)"],["机会","jīhuì","occasion, chance, opportunité"],["几乎","jīhū","environ, presque, à peu près, pratiquement"],["极","jí","très, extrêmement ; faîte, sommet, pôle"],["记得","jìde","se souvenir, se souvenir de, se rappeler de"],["季节","jìjié","saison"],["继续","jìxù","continuer"],["检查","jiǎnchá","examiner, vérifier ; vérification"],["简单","jiǎndān","simple, être simple ; ordinaire, être ordinaire"],["健康","jiànkāng","bien portant, sain ; santé, en bonne santé"],["见面","jiàn miàn","rencontrer, se rencontrer ; voir quelqu'un"],["讲","jiǎng","parler, dire, raconter ; expliquer"],["教","jiāo","enseigner"],["角","jiǎo","corne ; coin, angle ; 1/10 de yuan"],["脚","jiǎo","pied ; patte"],["接","jiē","joindre, recevoir ; chercher (qn) ; répondre (au téléphone)"],["街道","jiēdào","rue ; quartier"],["结婚","jié hūn","se marier"],["结束","jiéshù","terminer, finir ; fin"],["节目","jiémù","programme (spectacle) ; émission (télévision)"],["节日","jiérì","fête, jour de fête"],["姐姐","jiějie","sœur, soeur ; sœur aînée"],["解决","jiějué","résoudre, résoudre un problème"],["借","jiè","prêter ; emprunter"],["经常","jīngcháng","souvent, fréquemment"],["经过","jīngguò","traverser, passer, passer par ; après avoir (fait)"],["经理","jīnglǐ","directeur, directrice"],["久","jiǔ","long, longtemps"],["旧","jiù","vieux, être vieux ; usagé, être usagé"],["举行","jǔxíng","avoir lieu, tenir (une réunion, une compétition, etc.)"],["句子","jùzi","phrase"],["决定","juédìng","décider, décision"],["可爱","kě'ài","adorable, charmant, aimable, gentil, sympathique"],["刻","kè","graver ; un quart d'heure ; et quart"],["客人","kèrén","invité, hôte"],["渴","kě","avoir soif"],["口","kǒu","bouche ; spécificatif (personnes) ; gorgée de"],["哭","kū","pleurer"],["裤子","kùzi","pantalon"],["筷子","kuàizi","baguettes"],["蓝","lán","bleu, être bleu"],["老","lǎo","vieux, être vieux ; âgé ; ancien"],["了解","liǎojiě","comprendre, connaître, bien connaître ; connaissance"],["邻居","línjū","voisin"],["礼物","lǐwù","présent, cadeau"],["历史","lìshǐ","histoire (la grande)"],["脸","liǎn","visage, face"],["练习","liànxí","exercer, pratiquer ; exercice"],["辆","liàng","spécificatif (véhicules) ; véhicule"],["马","mǎ","cheval"],["马上","mǎshàng","tout de suite ; immédiatement ; sur-le-champ"],["帽子","màozi","chapeau, bonnet, casquette"],["满意","mǎnyì","satisfait, être satisfait ; content"],["面包","miànbāo","pain"],["面条","miàntiáo","nouilles, vermicelles, pâtes"],["明白","míngbái","clair, être clair ; évident ; comprendre, piger"],["拿","ná","prendre ; tenir"],["奶奶","nǎinai","grand-mère, grand-mère paternelle"],["南","nán","sud"],["难","nán","difficile, être difficile"],["难过","nánguò","peiné, attristé, triste ; difficile à passer"],["鸟","niǎo","oiseau"],["年级","niánjí","année, classe"],["年轻","niánqīng","jeune, être jeune"],["努力","nǔlì","studieux, consciencieux ; faire des efforts"],["爬山","pá shān","marcher à la montagne ; faire une randonnée"],["盘子","pánzi","assiette, plat, récipient"],["胖","pàng","gros, être gros (personnes) ; corpulent"],["啤酒","píjiǔ","bière"],["普通话","pǔtōnghuà","langue commune, mandarin"],["葡萄","pútao","raisin"],["骑","qí","aller à ; monter à ; faire (du vélo, du cheval)"],["其实","qíshí","en fait, en réalité"],["其他","qítā","autre, les autres ; en outre ; le reste"],["奇怪","qíguài","bizarre, être bizarre"],["起床","qǐ chuáng","se lever"],["秋","qiū","automne"],["铅笔","qiānbǐ","crayon"],["清楚","qīngchu","clair, être clair ; comprendre ; distinct"],["裙子","qúnzi","jupe, robe"],["然后","ránhòu","ensuite, puis"],["热情","rèqíng","chaleureux, enthousiaste ; avec enthousiasme"],["认为","rènwéi","penser, penser que ; croire, croire que"],["认真","rènzhēn","sérieux, être sérieux ; consciencieux"],["容易","róngyì","facile ; être facile"],["如果","rúguǒ","si"],["伞","sǎn","parapluie, parasol"],["生气","shēng qì","colère ; être en colère ; se mettre en colère"],["声音","shēngyīn","bruit ; son ; voix"],["世界","shìjiè","monde"],["瘦","shòu","maigre, être maigre ; mince, être mince"],["舒服","shūfu","confortable ; agréable ; se sentir bien"],["叔叔","shūshu","Monsieur (de la part des enfants) ; oncle"],["树","shù","arbre"],["数学","shùxué","mathématiques"],["刷牙","shuā yá","brosser les dents, se brosser les dents"],["双","shuāng","paire ; spécificatif (baguettes, chaussures)"],["水平","shuǐpíng","niveau"],["司机","sījī","chauffeur"],["虽然","suīrán","quoique, bien que"],["太阳","tàiyáng","soleil"],["糖","táng","sucre, sucrerie ; bonbon"],["特别","tèbié","particulier ; particulièrement ; spécial"],["疼","téng","souffrir, douleur, avoir mal"],["提高","tígāo","élever, hausser, augmenter"],["体育","tǐyù","culture physique, éducation physique, sport"],["甜","tián","doux, être doux ; sucré, être sucré"],["条","tiáo","spécificatif (objets minces et allongés, poisson, route)"],["同事","tóngshì","collègue, collaborateur"],["同意","tóngyì","accord, être d'accord ; accepter"],["头发","tóufa","cheveu, cheveux ; chevelure"],["突然","tūrán","soudain, être soudain, soudainement"],["图书馆","túshūguǎn","bibliothèque, universitaire ou publique"],["腿","tuǐ","jambe, patte"],["完成","wánchéng","accomplir, mener à bien, finir"],["碗","wǎn","bol ; bol de"],["万","wàn","myriade ; dix mille ; 10000"],["忘记","wàngjì","oublier"],["位","wèi","place, position ; spécificatif (de politesse pour les personnes)"],["为了","wèile","pour, afin de, en vue de"],["文化","wénhuà","culture, civilisation"],["西","xī","ouest, occidental"],["习惯","xíguàn","s'habituer, s'habituer à ; habitude"],["洗手间","xǐshǒujiān","wc ; toilettes ; cabinet"],["洗澡","xǐ zǎo","se laver ; se doucher ; prendre un bain"],["夏","xià","été"],["先","xiān","d'abord, en premier ; avant, devant"],["香蕉","xiāngjiāo","banane"],["相同","xiāngtóng","identique, être identique ; pareil, être pareil"],["相信","xiāngxìn","croire, avoir confiance en"],["像","xiàng","ressembler à, être comme ; portrait, image"],["小心","xiǎoxīn","faire attention ; prudent, être prudent"],["鞋","xié","chaussure, soulier"],["新闻","xīnwén","nouvelle, nouvelles, information, informations"],["新鲜","xīnxiān","frais, être frais ; délicieux ; nouveau, récent"],["信","xìn","lettre, message ; croire à, avoir confiance en"],["行李箱","xínglixiāng","valise ; coffre"],["兴趣","xìngqù","intérêt ; goût ; plaisir"],["熊猫","xióngmāo","panda"],["需要","xūyào","falloir, avoir besoin, avoir besoin de ; besoin"],["选择","xuǎnzé","choisir ; choix"],["眼镜","yǎnjìng","lunettes"],["应该","yīnggāi","devoir, au conditionnel ; falloir"],["影响","yǐngxiǎng","influencer, affecter ; influence (mauvaise)"],["用","yòng","utiliser, employer ; avec, en, au moyen de"],["游戏","yóuxì","jeu, récréation ; jouer, s'amuser"],["有名","yǒu míng","connu, être connu ; célèbre, être célèbre"],["又","yòu","de nouveau, une fois de plus (dans le passé) ; à la fois...et..."],["遇到","yùdào","rencontrer, tomber sur"],["愿意","yuànyì","vouloir, bien vouloir, être d'accord"],["越","yuè","dépasser, franchir ; plus ... plus ..."],["月亮","yuèliang","lune"],["云","yún","nuage ; nuageux, être nuageux"],["中间","zhōngjiān","milieu ; entre, au milieu de"],["终于","zhōngyú","finalement ; à la fin ; enfin"],["种","zhǒng","sorte, espèce, race, type ; spécificatif"],["重要","zhòngyào","important, être important"],["周末","zhōumò","week-end ; weekend"],["主要","zhǔyào","principal, être principal ; essentiel"],["祝","zhù","souhaiter, féliciter"],["注意","zhùyì","faire attention, faire attention à"],["字典","zìdiǎn","dictionnaire (de caractères)"],["自己","zìjǐ","soi, soi-même ; se ; propre, appartenant à"],["自行车","zìxíngchē","bicyclette, vélo"],["总是","zǒngshì","tout le temps ; toujours"],["作业","zuòyè","devoir (scolaire)"],["作用","zuòyòng","effet, utilité, influence, fonction, action"],["最近","zuìjìn","ces derniers temps ; récemment, dernièrement"],["北方","běifāng","nord, septentrion d'un pays"],["黑板","hēibǎn","tableau noir"],["护士","hùshi","infirmière, infirmier"],["为","wèi","aider ; pour"]];V[4]=[["爱情","àiqíng","amour"],["安排","ānpái","arranger, organiser ; arrangement, organisation"],["安全","ānquán","sécurité ; sûr, être sûr"],["暗","àn","sombre, être sombre ; obscur ; caché"],["按时","ànshí","à l'heure, selon l'heure indiquée ; en temps voulu"],["按照","ànzhào","selon, conformément à, sur la base de"],["本来","běnlái","origine, à l'origine ; originel"],["笨","bèn","stupide, être stupide ; bête ; maladroit, gauche"],["笔记本","bǐjìběn","cahier, carnet (pour prendre des notes)"],["毕业","bì yè","finir ses études ; (obtenir un diplôme)"],["遍","biàn","fois (une, du début à la fin) ; partout, général"],["标准","biāozhǔn","norme, critère, standard ; être standard"],["表达","biǎodá","exprimer, s'exprimer"],["表格","biǎogé","modèle, formulaire (à remplir) ; tableau"],["表扬","biǎoyáng","exalter, glorifier, faire l'éloge de ; complimenter"],["饼干","bǐnggān","gâteau sec, biscuit, biscuits"],["并且","bìngqiě","et ; en outre, de plus ; mais aussi"],["博士","bóshì","docteur (titre universitaire) ; doctorat"],["不但","bú dàn","pas seulement ; non seulement"],["不过","bú guò","mais, cependant ; seulement"],["不得不","bùdébù","obligé, être obligé ; ne pas avoir d'autre choix que"],["不管","bù guǎn","nonobstant ; n'importe, peu importe"],["不仅","bù jǐn","pas seulement ; non seulement"],["部分","bùfen","partie ; section ; portion"],["擦","cā","essuyer, nettoyer, frotter ; effleurer, frôler"],["猜","cāi","deviner"],["材料","cáiliào","matière, matière première, matériaux ; ingrédients"],["参观","cānguān","visiter"],["差不多","chàbuduō","presque, pratiquement ; presque pareil ; peu différent"],["尝","cháng","goûter"],["长城","Chángchéng","Grande muraille"],["长江","Chángjiāng","Fleuve bleu ; Yangtsé, Yangzi"],["场","chǎng","place ; terrain ; spécificatif (jeux, théâtre)"],["超过","chāoguò","dépasser ; surpasser ; excéder"],["吵","chǎo","faire du bruit, être bruyant ; crier ; se quereller"],["成功","chénggōng","réussir ; succès"],["成熟","chéngshú","mûrir ; mûr, être mûr"],["成为","chéngwéi","devenir"],["诚实","chéngshí","honnête, être honnête ; honnêteté ; sincère"],["乘坐","chéngzuò","prendre un moyen de transport ; prendre"],["吃惊","chī jīng","s'étonner ; étonné, être étonné ; surpris"],["重新","chóngxīn","de nouveau, à nouveau"],["抽烟","chōu yān","fumer"],["出差","chū chāi","être en déplacement ; voyager pour affaires"],["出发","chūfā","partir, se mettre en route"],["出生","chūshēng","naître, donner naissance"],["传真","chuánzhēn","fax ; faxer"],["窗户","chuānghu","fenêtre"],["词典","cídiǎn","dictionnaire (de mots)"],["从来","cónglái","toujours, depuis toujours ; jamais (avec négation)"],["粗心","cūxīn","étourdi, être étourdi ; inattentif ; négligent"],["答案","dá'àn","réponse, ensemble de réponses à un test"],["打扮","dǎban","maquiller, se maquiller ; s'habiller (pour une occasion)"],["打扰","dǎrǎo","déranger"],["打印","dǎ yìn","photocopier, imprimer ; impression"],["打折","dǎ zhé","faire un rabais ; accorder une réduction ; soldes"],["打针","dǎ zhēn","faire une piqûre ; faire une injection"],["大概","dàgài","environ, en gros ; probablement"],["大使馆","dàshǐguǎn","ambassade"],["大约","dàyuē","environ ; à peu près, en gros ; circa"],["戴","dài","mettre, porter (lunettes, chapeau, gant)"],["代表","dàibiǎo","représenter ; représentant ; délégué"],["代替","dàitì","remplacer, substituer à, tenir lieu de"],["大夫","dàifu","docteur ; médecin"],["当","dāng","assurer la charge de ; être ; lorsque, quand"],["当地","dāngdì","local ; indigène ; du pays"],["当时","dāngshí","alors, en ce temps-là, à ce moment-là ; à l'époque"],["刀","dāo","couteau"],["导游","dǎoyóu","guide, guide touristique (personne)"],["到处","dàochù","partout"],["到底","dàodǐ","à la fin, enfin, finalement ; au fond ; en fin de compte"],["道歉","dào qiàn","s'excuser"],["得意","déyì","satisfait, être satisfait ; fier, être fier"],["得","děi","devoir ; falloir (familier)"],["底","dǐ","bas, fond ; fin"],["地球","dìqiú","terre ; planète terre ; globe"],["地址","dìzhǐ","adresse"],["掉","diào","tomber"],["调查","diàochá","rechercher, investiguer, enquêter ; enquête, sondage"],["丢","diū","perdre, perdre quelque chose ; se faire voler"],["动作","dòngzuò","acte, action, geste, mouvement ; activité"],["堵车","dǔ chē","bouchonner, y avoir un bouchon, y avoir un embouteillage"],["肚子","dùzi","ventre"],["断","duàn","couper ; interrompre, rompre"],["对话","duì huà","dialoguer, tenir une conversation ; dialogue"],["对面","duìmiàn","en face"],["顿","dùn","instant, moment ; spécificatif (repas) ; fois"],["朵","duǒ","bouton de fleur ; fleur ; spécificatif"],["而","ér","conjonction de coordination, et ; tandis que, mais"],["儿童","értóng","enfant, enfantin, enfance"],["发","fā","envoyer (courriel, SMS), émettre ; distribuer"],["发生","fāshēng","avoir lieu, se produire"],["发展","fāzhǎn","développer ; développement"],["法律","fǎlǜ","droit ; loi"],["翻译","fānyì","traduire ; traduction ; traducteur, interprète"],["烦恼","fánnǎo","ennuyeux, contrariant ; ennui, souci ; se tracasser"],["反对","fǎnduì","s'opposer à"],["反映","fǎnyìng","refléter ; rendre compte ; reflet"],["范围","fànwéi","domaine, champ, cadre, sphère, limites"],["方法","fāngfǎ","méthode, moyen"],["方面","fāngmiàn","côté, partie ; aspect, point de vue"],["方向","fāngxiàng","direction, orientation"],["访问","fǎngwèn","visiter, rendre visite à ; visite"],["放弃","fàngqì","renoncer ; abandonner"],["放暑假","fàng shǔjià","avoir les vacances d'été"],["分之","...fēn zhī...","pourcentage, fraction ; %"],["份","fèn","part, portion, numéro ; spécificatif (journal, magazine)"],["丰富","fēngfù","riche, être riche ; abondant ; enrichir"],["风景","fēngjǐng","paysage, vue"],["否则","fǒuzé","sinon"],["符合","fúhé","correspondre à, s'accorder avec"],["富","fù","riche, être riche"],["父亲","fùqin","père"],["复印","fùyìn","photocopier ; dupliquer ; reproduire"],["复杂","fùzá","complexe, compliqué ; être complexe, être compliqué"],["负责","fùzé","se charger de, assumer la responsabilité de"],["改变","gǎibiàn","changer, modifier ; changement"],["干杯","gān bēi","porter un toast ; trinquer ; santé !"],["干燥","gānzào","sec, être sec ; aride ; insipide"],["感动","gǎndòng","émouvoir ; être ému"],["感觉","gǎnjué","sentir, ressentir, éprouver ; sentiment"],["感情","gǎnqíng","émotion, sentiment ; affection, amour"],["感谢","gǎnxiè","remercier ; reconnaissant, être reconnaissant"],["干","gàn","faire"],["刚刚","gānggāng","tout à l'heure (passé) ; venir de (se passer)"],["高级","gāojí","avancé ; haut, haute ; classe supérieure ; de qualité"],["各","gè","chaque"],["个子","gèzi","taille, stature, grandeur (d'une personne)"],["公里","gōnglǐ","kilomètre"],["工具","gōngjù","outil ; instrument ; moyens"],["工资","gōngzī","salaire"],["共同","gòngtóng","commun ; en commun ; ensemble"],["够","gòu","suffisant, être suffisant ; assez"],["购物","gòu wù","faire des achats, faire des courses ; acheter"],["孤单","gūdān","délaissé ; abandonné ; seul, solitaire"],["估计","gūjì","supposer ; estimer ; évaluer ; estimation"],["鼓励","gǔlì","encourager, inciter ; encouragement"],["鼓掌","gǔ zhǎng","applaudir"],["顾客","gùkè","client, cliente (magasin)"],["故意","gùyì","exprès, intentionnel ; intentionnellement"],["挂","guà","suspendre ; pendre, accrocher"],["关键","guānjiàn","clé, clé de voûte, pivot ; point crucial ; important"],["观众","guānzhòng","public ; spectateur"],["管理","guǎnlǐ","gérer, administrer ; gestion"],["光","guāng","lisse ; lumineux, briller ; rayon laser ; seulement"],["广播","guǎngbō","émettre, diffuser ; radiodiffusion, radio"],["广告","guǎnggào","publicité, annonce"],["逛","guàng","flâner, se promener, se balader"],["规定","guīdìng","stipuler, prescrire ; fixer des règles ; arrêté, règlement"],["国际","guójì","international"],["果然","guǒrán","en effet, effectivement, comme attendu, comme prévu"],["过","guò","passer ; traverser ; fêter ; dépasser"],["过程","guòchéng","processus"],["海洋","hǎiyáng","océan"],["害羞","hài xiū","timide, gêné, mal à l'aise ; avoir honte"],["寒假","hánjià","vacances d'hiver"],["汗","hàn","sueur ; transpiration"],["航班","hángbān","vol régulier ; numéro de vol"],["好处","hǎochu","avantage, utilité"],["好像","hǎoxiàng","sembler, être comme si ; avoir l'air ; on dirait"],["号码","hàomǎ","numéro"],["合格","hégé","standard ; conforme aux normes ; satisfaisant"],["合适","héshì","convenable, être convenable ; approprié ; adéquat"],["盒子","hézi","boîte, boite"],["厚","hòu","épais, être épais"],["后悔","hòuhuǐ","regretter"],["后来","hòulái","par la suite, ensuite, plus tard"],["忽然","hūrán","soudain, soudainement, tout à coup"],["护士","hùshi","infirmière, infirmier"],["互相","hùxiāng","l'un l'autre ; mutuellement, réciproquement"],["怀疑","huáiyí","douter, soupçonner"],["回忆","huíyì","évoquer, se souvenir, se rappeler"],["活动","huódòng","se mouvoir, bouger ; activité"],["活泼","huópo","vif, vivant, plein d'entrain, animé"],["火","huǒ","feu ; être chaud, faire fureur"],["获得","huòdé","gagner, obtenir ; acquérir"],["基础","jīchǔ","fondation, base"],["激动","jīdòng","émouvoir, exciter ; ému, excité"],["积极","jījí","positif, actif ; avec enthousiasme"],["积累","jīlěi","accumuler ; accumulation"],["极其","jíqí","très, extrêmement"],["集合","jíhé","rassembler, se rassembler ; réunir, se réunir"],["及时","jíshí","à temps, opportun, à propos ; immédiatement"],["即使","jíshǐ","même, même si, combien même"],["寄","jì","envoyer, expédier"],["记者","jìzhě","journaliste, reporter"],["计划","jìhuà","plan, projet ; planifier"],["既然","jìrán","comme, puisque, étant donné que"],["技术","jìshù","technique"],["家具","jiājù","meuble, mobilier ; ameublement"],["加班","jiā bān","faire des heures supplémentaires"],["加油站","jiāyóuzhàn","station service ; station à essence"],["假","jiǎ","faux, être faux ; feint ; artificiel"],["价格","jiàgé","prix"],["坚持","jiānchí","persévérer, persister, insister"],["减肥","jiǎn féi","maigrir ; mincir ; perdre du poids"],["减少","jiǎnshǎo","diminuer, réduire, décroître"],["将来","jiānglái","avenir, futur ; à l'avenir, dans l'avenir"],["奖金","jiǎngjīn","prime, bonus"],["降低","jiàngdī","diminuer, réduire, baisser"],["交","jiāo","donner, échanger ; passer (objet)"],["交流","jiāoliú","échanger, communiquer ; échange, communication"],["交通","jiāotōng","trafic, circulation ; moyens de transport"],["骄傲","jiāo'ào","arrogant ; fier, être fier ; fierté"],["饺子","jiǎozi","ravioli"],["教授","jiàoshòu","professeur ; enseigner, enseignement"],["教育","jiàoyù","éducation, instruction ; éduquer, instruire"],["接受","jiēshòu","accepter, agréer, acquiescer, recevoir"],["结果","jiéguǒ","finalement ; résultat ; en conséquence"],["节约","jiéyuē","économiser, faire des économies ; économe"],["解释","jiěshì","expliquer ; explication"],["尽管","jǐnguǎn","sans se gêner ; malgré, en dépit de, bien que"],["紧张","jǐnzhāng","tendu, nerveux, stressé ; avoir le trac ; manquer"],["进行","jìnxíng","effectuer, mettre en oeuvre"],["禁止","jìnzhǐ","interdire, être interdit ; défense de"],["精彩","jīngcǎi","excellent, magnifique"],["精神","jīngshén","esprit ; forme, avoir la forme, être en forme"],["经济","jīngjì","économie ; économique"],["经历","jīnglì","passer par, expérimenter, vivre (une expérience)"],["经验","jīngyàn","expérience"],["京剧","jīngjù","Opéra de Pékin"],["警察","jǐngchá","police, policier, policière"],["竟然","jìngrán","finalement ; contre toute attente ; nonobstant"],["竞争","jìngzhēng","compétition ; concurrence ; concourir"],["镜子","jìngzi","miroir, glace, verre"],["究竟","jiūjìng","exactement, au juste, en réalité ; en fin de compte"],["举办","jǔbàn","entreprendre ; fonder ; organiser ; préparer"],["拒绝","jùjué","refuser, rejeter"],["距离","jùlí","distance, intervalle, espace"],["看法","kànfǎ","point de vue, vue, opinion, façon de voir"],["考虑","kǎolǜ","réfléchir, considérer, tenir compte de, penser"],["棵","kē","spécificatif (arbres, buissons, légumes)"],["科学","kēxué","science ; scientifique, être scientifique"],["咳嗽","késou","tousser, toux"],["可怜","kělián","pitié ; pitoyable ; faire pitié"],["可是","kěshì","mais, cependant"],["可惜","kěxī","dommage, être dommage ; malheureux ; regrettable"],["肯定","kěndìng","sûr, être sûr ; certain ; sûrement ; affirmer"],["空气","kōngqì","air, atmosphère"],["恐怕","kǒngpà","craindre, craindre que ; peut-être"],["苦","kǔ","amer, être amer ; dur, pénible ; peiner"],["宽","kuān","large, vaste ; magnanime, généreux ; largeur"],["困","kùn","ensommeillé ; avoir sommeil ; somnoler"],["困难","kùnnan","difficile, difficulté"],["扩大","kuòdà","agrandir, élargir, amplifier"],["拉","lā","tirer ; jouer d'un instrument à cordes"],["垃圾桶","lājītǒng","poubelle"],["辣","là","pimenté, piquant, épicé, fort"],["来不及","láibují","manquer de temps, ne pas avoir le temps"],["来得及","láidejí","avoir le temps, avoir le temps pour"],["懒","lǎn","paresseux, être paresseux ; las, être las"],["浪费","làngfèi","gaspiller, dilapider ; gaspillage"],["浪漫","làngmàn","romantique, être romantique"],["老虎","lǎohǔ","tigre"],["冷静","lěngjìng","calme, imperturbable, flegmatique ; calmement"],["理发","lǐ fà","couper les cheveux, coiffer"],["理解","lǐjiě","comprendre ; compréhension"],["理想","lǐxiǎng","idéal, être idéal"],["礼貌","lǐmào","politesse, courtoisie ; poli ; courtois"],["厉害","lìhai","terrible (positif ou négatif) ; violent ; fort"],["力气","lìqi","force ; énergie, vigueur"],["例如","lìrú","prendre comme exemple, par exemple"],["俩","liǎ","deux ; les deux"],["连","lián","joindre, relier ; même (devant dōu ou yě)"],["联系","liánxì","lier, contacter ; liaison, contact"],["凉快","liángkuai","frais, être frais (climat, température) ; rafraîchissant"],["亮","liàng","clair, lumineux, brillant ; s'éclaircir ; faire jour"],["聊天","liáo tiān","bavarder, papoter, causer"],["另外","lìngwài","en outre, de plus ; d'autre part"],["留","liú","rester, séjourner ; retenir, laisser ; garder"],["留学","liú xué","étudier à l'étranger"],["流泪","liú lèi","pleurer ; verser des larmes ; larmoyer"],["流利","liúlì","courant, être courant ; aisé, être aisé"],["流行","liúxíng","populaire, en vogue, à la mode ; mode ; épidémique"],["乱","luàn","désordre ; être en désordre ; à tort et à travers"],["律师","lǜshī","avocat"],["麻烦","máfan","ennuyeux, embêtant ; ennui, tracasserie ; importuner"],["马虎","mǎhu","négligent, être négligent ; sans soin"],["满","mǎn","plein, être plein ; complet ; très"],["毛巾","máojīn","linge de toilette, serviette de toilette"],["美丽","měilì","beau, être beau ; joli, être joli"],["梦","mèng","rêve, rêver"],["密码","mìmǎ","chiffre ; code secret, mot de passe, code PIN"],["免费","miǎn fèi","gratuit ; sans frais ; gratuitement"],["民族","mínzú","ethnie ; nationalité"],["母亲","mǔqīn","mère"],["目的","mùdì","but, dessein, objectif"],["耐心","nàixīn","patient, être patient ; patience"],["难道","nándào","ne serait-ce pas que... ; serait-il possible que..."],["难受","nánshòu","se sentir mal ; mal à l'aise ; difficile à supporter"],["内","nèi","intérieur, dedans, dans"],["内容","nèiróng","contenu, fond"],["能力","nénglì","capacité ; faculté ; compétence"],["农村","nóngcūn","village ; village de campagne ; campagne"],["弄","nòng","faire, commettre ; traiter une affaire ; jouer avec"],["暖和","nuǎnhuo","doux, être doux (climat, température) ; tempéré"],["偶尔","ǒu'ěr","rarement ; de temps à autre ; occasionnellement"],["排列","páiliè","ranger, disposer en ordre ; aligner ; déployer"],["判断","pànduàn","juger, décider, apprécier ; jugement"],["陪","péi","accompagner, tenir compagnie"],["批评","pīpíng","critiquer, commenter ; critique, commentaire"],["皮肤","pífū","peau"],["脾气","píqi","tempérament, caractère ; humeur ; accès d'humeur"],["篇","piān","article, écrit ; partie, feuillet ; spécificatif"],["骗","piàn","berner, duper, tromper, escroquer"],["乒乓球","pīngpāngqiú","ping-pong"],["平时","píngshí","d'ordinaire, d'habitude, en temps normal"],["瓶子","píngzi","bouteille"],["破","pò","casser, briser, abîmer, détruire ; usé"],["普遍","pǔbiàn","universel, général, répandu, populaire, commun"],["其次","qícì","ensuite ; puis ; de plus ; deuxièmement"],["其中","qízhōng","parmi ; parmi eux ; au sein de ; dont"],["起飞","qǐfēi","s'envoler ; décoller"],["起来","qǐlái","se lever ; se dresser ; indique qu'une action commence"],["气候","qìhòu","climat"],["千万","qiānwàn","surtout, à tout prix ; dans tous les cas, absolument"],["签证","qiānzhèng","viser ; visa ; signer une attestation"],["墙","qiáng","mur"],["敲","qiāo","frapper ; toquer ; extorquer, forcer la main"],["桥","qiáo","pont"],["巧克力","qiǎokèlì","chocolat"],["亲戚","qīnqi","parenté ; parent ; de la famille"],["轻","qīng","léger, être léger ; peu important ; doucement"],["轻松","qīngsōng","décontracté, relax, détendu, soulagé"],["情况","qíngkuàng","situation, circonstance"],["请假","qǐng jià","demander congé"],["请客","qǐng kè","inviter (à manger) ; payer l'addition"],["穷","qióng","pauvre, être pauvre"],["区别","qūbié","distinguer ; différence"],["取","qǔ","prendre"],["全部","quánbù","tout ; complet, complètement, entier"],["缺点","quēdiǎn","défaut, point faible"],["缺少","quēshǎo","manquer de ; être à court de ; manque, pénurie"],["却","què","mais ; cependant"],["确实","quèshí","vrai, vraiment ; réellement ; sûr ; en effet"],["群","qún","groupe, groupe de ; foule"],["然而","rán'ér","toutefois ; néanmoins ; cependant ; mais"],["热闹","rènao","animé, être animé ; vif, être vif"],["人民币","rénmínbì","renminbi ; yuan ; monnaie du peuple"],["任何","rènhé","tout ; n'importe quel, n'importe quoi"],["任务","rènwu","tâche ; mission, rôle ; devoir"],["扔","rēng","lancer, jeter"],["仍然","réngrán","toujours ; encore ; comme autrefois"],["日记","rìjì","journal (personnel, intime)"],["入口","rùkǒu","importer ; importation ; entrée, accès"],["软","ruǎn","mou, être mou ; souple ; tendre, être tendre"],["散步","sàn bù","se promener"],["森林","sēnlín","forêt"],["沙发","shāfā","canapé, sofa"],["商量","shāngliang","discuter, négocier, débattre"],["伤心","shāng xīn","souffrir ; avoir le coeur gros ; triste, affligé"],["上网","shàng wǎng","aller sur internet ; surfer sur internet"],["稍微","shāowēi","peu, un peu ; légèrement"],["社会","shèhuì","société"],["深","shēn","profond, être profond ; foncé, être foncé"],["申请","shēnqǐng","adresser une requête ; faire une demande officielle"],["甚至","shènzhì","voire ; même, allant même jusqu'à"],["生活","shēnghuó","vivre ; vie"],["生命","shēngmìng","vie ; existence"],["省","shěng","province ; économiser, épargner"],["剩","shèng","rester ; surplus, excédent"],["失败","shībài","échouer ; être battu ; perdre ; défaite, échec"],["失望","shīwàng","désespoir ; désespéré, perdre espoir"],["师傅","shīfu","maître, maître artisan"],["湿润","shīrùn","humide, mouillé ; humecter, humidifier"],["狮子","shīzi","lion"],["十分","shífēn","très, extrêmement, totalement"],["实际","shíjì","réel, véritable ; réalité, pratique"],["实在","shízài","en réalité, en fait ; réel ; honnête ; vraiment"],["食品","shípǐn","aliment, mets, nourriture ; produit d'alimentation"],["使用","shǐyòng","utiliser, employer ; appliquer"],["试","shì","essayer, éprouver ; test, examen"],["市场","shìchǎng","marché"],["适合","shìhé","adapté, s'adapter ; convenir ; convenable"],["适应","shìyìng","s'adapter, s'habituer à"],["世纪","shìjì","siècle"],["收","shōu","recevoir ; obtenir ; ramasser ; récolter ; ranger"],["收入","shōurù","revenu ; recettes ; recevoir ; insérer dans"],["收拾","shōushi","ranger, mettre en ordre"],["首都","shǒudū","capitale"],["首先","shǒuxiān","d'abord, premièrement"],["受不了","shòubuliǎo","ne pas supporter ; ne pas pouvoir supporter"],["受到","shòudào","recevoir, subir, endurer, supporter"],["售货员","shòuhuòyuán","vendeur, vendeuse"],["输","shū","perdre (au jeu) ; transporter, conduire"],["熟悉","shúxī","connaître bien ; être familiarisé avec"],["数量","shùliàng","nombre ; quantité"],["数字","shùzì","chiffre, nombre"],["帅","shuài","gracieux, élégant, beau, magnifique (hommes)"],["顺便","shùnbiàn","profiter de l'occasion pour ; par la même occasion"],["顺利","shùnlì","favorable ; sans incident ; marcher bien"],["顺序","shùnxù","en ordre, chacun son tour ; ordre, agencement"],["说明","shuōmíng","expliquer, expliciter ; indiquer ; explication"],["硕士","shuòshì","maîtrise, master (grade universitaire)"],["死","sǐ","mourir ; mort"],["速度","sùdù","vitesse"],["塑料袋","sùliàodài","sac plastique"],["酸","suān","acide, être acide ; aigre, être aigre"],["算","suàn","calculer, compter"],["随便","suíbiàn","à votre guise ; à la légère ; être à l'aise"],["随着","suízhe","avec ; au fur et à mesure que ; par suite de"],["孙子","sūnzi","petit-fils ; petits-enfants ; descendants"],["所有","suǒyǒu","tous les, toutes les, tout ce que"],["台","tái","terrasse ; spécificatif (téléviseur, ordinateur) ; Taiwan"],["抬","tái","lever, soulever, hausser, porter sur l'épaule"],["态度","tàidu","attitude, comportement"],["谈","tán","parler, discuter, causer, bavarder"],["弹钢琴","tán gāngqín","faire du piano, jouer au piano"],["汤","tāng","soupe, bouillon"],["躺","tǎng","se coucher, s'allonger ; être couché"],["趟","tàng","fois (trajet)"],["讨论","tǎolùn","discuter, débattre"],["讨厌","tǎoyàn","détester ; détestable, désagréable, agaçant"],["特点","tèdiǎn","particularité ; caractéristique"],["提供","tígōng","offrir des services ; mettre à disposition, fournir"],["提前","tíqián","anticiper, devancer, avancer ; d'avance, en avance"],["提醒","tíxǐng","rappeler que ; attirer l'attention"],["填空","tián kòng","compléter, remplir (texte à trous, formulaire)"],["条件","tiáojiàn","condition"],["停止","tíngzhǐ","arrêter, suspendre ; cesser ; stopper"],["挺","tǐng","très ; assez, pas mal ; droit, se tenir droit"],["通过","tōngguò","passer par, traverser ; par l'intermédiaire de"],["通知","tōngzhī","informer, avertir, communiquer ; annonce"],["同情","tóngqíng","sympathiser ; avoir de la compassion pour ; compatir"],["推","tuī","pousser"],["推迟","tuīchí","différer, repousser ; faire traîner en longueur"],["脱","tuō","enlever, ôter ; se débarrasser de"],["袜子","wàzi","chaussette"],["完全","wánquán","complet, total, entier"],["往","wǎng","aller à ; à, en direction de, vers"],["往往","wǎngwǎng","souvent"],["网球","wǎngqiú","tennis ; balle de tennis"],["网站","wǎngzhàn","site internet ; site web"],["危险","wēixiǎn","dangereux, être dangereux ; périlleux ; danger"],["为什么","wèishénme","pourquoi"],["味道","wèidào","goût, saveur"],["温度","wēndù","degré ; température"],["文章","wénzhāng","article, composition littéraire"],["握手","wò shǒu","serrer la main à qqn ; poignée de main"],["污染","wūrǎn","polluer, souiller, contaminer ; pollution"],["无","wú","ne pas y avoir ; rien, sans ; négation"],["无聊","wúliáo","ennuyeux, sans intérêt ; s'ennuyer"],["无论","wúlùn","peu importe ; quoi qu'il en soit"],["误会","wùhuì","erreur, malentendu ; se tromper, mal comprendre"],["西红柿","xīhóngshì","tomate"],["吸引","xīyǐn","absorber ; attirer, capter, fasciner"],["洗衣机","xǐyījī","machine à laver le linge"],["消息","xiāoxi","nouvelle, annonce, information"],["小说","xiǎoshuō","roman, nouvelle"],["笑话","xiàohuà","plaisanterie ; plaisanter, se moquer de"],["效果","xiàoguǒ","résultat ; conséquence, effet"],["校长","xiàozhǎng","directeur d'une école ; recteur"],["羡慕","xiànmù","admirer, envier ; enviable, être admiré"],["限制","xiànzhì","restreindre, limiter ; restriction, contrainte"],["香","xiāng","parfumé, être parfumé ; odorant, être odorant"],["相反","xiāngfǎn","contraire, au contraire ; opposé, à l'opposé"],["详细","xiángxì","détaillé, minutieux, précis, circonstancié"],["响","xiǎng","résonner, sonner, retentir ; bruyant ; bruit"],["现代","xiàndài","moderne ; temps modernes ; époque contemporaine"],["辛苦","xīnkǔ","dur, être dur ; pénible, être pénible"],["心情","xīnqíng","humeur ; état d'esprit"],["信任","xìnrèn","compter sur ; avoir confiance en ; confiance"],["信心","xìnxīn","croyance ; confiance ; foi"],["信用卡","xìnyòngkǎ","carte de crédit"],["兴奋","xīngfèn","excité, énervé, enthousiaste ; excitation"],["行","xíng","marcher ; être possible ; être d'accord"],["醒","xǐng","réveiller ; se réveiller"],["性别","xìngbié","sexe, genre"],["性格","xìnggé","caractère, tempérament ; personnalité"],["幸福","xìngfú","heureux, être heureux ; bonheur, avec bonheur"],["修","xiū","réparer"],["许多","xǔduō","beaucoup ; beaucoup de"],["血","xuè","sang"],["压力","yālì","pression ; stress"],["牙膏","yágāo","dentifrice ; pâte dentifrice"],["亚洲","Yàzhōu","Asie"],["呀","ya","particule finale"],["盐","yán","sel"],["严格","yángé","rigoureux, strict, sérieux, sévère"],["严重","yánzhòng","sérieux, être sérieux ; grave, être grave"],["研究生","yánjiūshēng","étudiant en master ; doctorant ; chercheur"],["演出","yǎnchū","jouer, représenter ; représentation (artistique)"],["演员","yǎnyuán","acteur, actrice"],["阳光","yángguāng","soleil, lumière du soleil, rayon de soleil"],["养成","yǎngchéng","cultiver ; former ; produire ; développer"],["样子","yàngzi","air, apparence, genre, style, modèle, aspect"],["邀请","yāoqǐng","inviter ; invitation"],["要求","yāoqiú","demander, exiger ; demande"],["钥匙","yàoshi","clef, clé"],["爷爷","yéye","grand-père, grand-père paternel"],["也许","yěxǔ","peut-être ; probablement"],["页","yè","page ; spécificatif (page, feuille)"],["叶子","yèzi","feuille (d'une plante, d'un arbre)"],["一切","yīqiè","tout, tous"],["以","yǐ","utiliser ; avec, au moyen de ; pour, afin de"],["亿","yì","hectomillion ; centaine de millions ; 100000000"],["意见","yìjiàn","avis, opinion"],["艺术","yìshù","art"],["因此","yīncǐ","donc, par conséquent, c'est pourquoi, ainsi"],["饮料","yǐnliào","boisson"],["引起","yǐnqǐ","susciter, provoquer, donner lieu à, causer"],["印象","yìnxiàng","impression, effet"],["赢","yíng","gagner (au jeu, à la guerre, un procès)"],["硬","yìng","dur, être dur ; ≠ mou"],["勇敢","yǒnggǎn","courageux, être courageux ; brave, être brave"],["永远","yǒngyuǎn","éternel, pour toujours, éternellement"],["优点","yōudiǎn","mérite, point fort, qualité"],["优秀","yōuxiù","excellent, supérieur, d'élite, remarquable"],["幽默","yōumò","humour ; drôle, être drôle ; humoristique"],["由","yóu","du fait que, en raison de, grâce à ; raison, cause"],["由于","yóuyú","du fait que ; grâce à ; en raison de ; parce que"],["尤其","yóuqí","surtout, en particulier ; particulièrement"],["有趣","yǒu qù","intéressant, être intéressant ; amusant"],["友好","yǒuhǎo","amical, être amical ; ami"],["友谊","yǒuyì","amitié"],["愉快","yúkuài","joyeux, gai, allègre"],["于是","yúshì","et, alors, par conséquent ; sur ce ; donc"],["与","yǔ","et (synonyme littéraire de hé)"],["语法","yǔfǎ","grammaire"],["语言","yǔyán","langue"],["羽毛球","yǔmáoqiú","badminton"],["预习","yùxí","préparer, préparer une leçon (concerne les étudiants)"],["圆","yuán","rond, circulaire ; cercle ; yen"],["原来","yuánlái","à l'origine, avant cela, au début ; donc"],["原谅","yuánliàng","pardonner, excuser"],["原因","yuányīn","cause, raison, motif"],["约会","yuē huì","prendre rendez-vous ; rendez-vous"],["阅读","yuèdú","lecture ; lire"],["允许","yǔnxǔ","permettre ; autoriser ; admettre"],["杂志","zázhì","magazine ; revue"],["咱们","zánmen","nous (inclut le ou les interlocuteurs)"],["暂时","zànshí","temporaire ; temporairement"],["脏","zāng","sale, être sale"],["责任","zérèn","responsabilité, devoir"],["增加","zēngjiā","augmenter (quantité) ; ajouter"],["增长","zēngzhǎng","augmenter (taux) ; accroître"],["窄","zhǎi","étroit, être étroit"],["长","zhǎng","grandir, pousser ; aîné, chef"],["招聘","zhāopìn","embaucher, recruter, engager ; recrutement"],["着急","zháojí","se presser ; s'inquiéter de, s'énerver ; être pressé"],["照顾","zhàogù","veiller sur, prendre soin de"],["照片","zhàopiàn","photo"],["照相机","zhàoxiàngjī","appareil photo"],["真正","zhēnzhèng","véritable, authentique ; véritablement"],["整理","zhěnglǐ","ranger, mettre en ordre, arranger"],["整齐","zhěngqí","rangé, être rangé ; en ordre, bien rangé"],["正常","zhèngcháng","normal, être normal ; régulier ; normalement"],["正好","zhèng hǎo","juste bien, être juste bien ; bien tomber ; parfait"],["正确","zhèngquè","correct, être correct ; juste, être juste ; fondé"],["正式","zhèngshì","officiel, régulier, formel"],["正在","zhèngzài","en train de, être en train de"],["证明","zhèngmíng","prouver, certifier ; preuve, certificat, attestation"],["之","zhī","particule ; particule marquant le déterminant du nom"],["只","zhī","spécificatif (petits animaux, petits objets) ; un seul"],["支持","zhīchí","tenir, se soutenir ; épauler, soutenir ; soutien"],["知识","zhīshi","savoir, connaissance"],["值得","zhíde","mériter, valoir la peine, être digne de"],["直接","zhíjiē","direct, être direct ; immédiat ; directement"],["植物","zhíwù","plante, végétal"],["职业","zhíyè","métier ; profession"],["指","zhǐ","doigt ; montrer du doigt ; désigner"],["只好","zhǐhǎo","obligé de ; réduit à ; il ne reste plus qu'à"],["只要","zhǐyào","il suffit de ; pour autant que, pourvu que"],["质量","zhìliàng","qualité (produit) ; masse (physique)"],["至少","zhìshǎo","au moins"],["制造","zhìzào","fabriquer, produire, manufacturer ; production"],["中文","zhōngwén","chinois (la langue)"],["重点","zhòngdiǎn","point essentiel, point important, point-clé"],["重视","zhòngshì","accorder de l'importance à ; faire cas de"],["周围","zhōuwéi","entourage, alentour, environ ; périmètre, périphérie"],["猪","zhū","cochon, porc"],["逐渐","zhújiàn","peu à peu, petit à petit, graduellement, progressivement"],["主动","zhǔdòng","prendre l'initiative ; de son propre chef"],["主意","zhǔyi","idée"],["祝贺","zhùhè","féliciter ; complimenter"],["著名","zhùmíng","célèbre, être célèbre ; connu, être connu"],["专门","zhuānmén","spécial, spécialisé ; spécialement"],["专业","zhuānyè","branche ; spécialité"],["赚","zhuàn","gagner de l'argent, réaliser un profit"],["撞","zhuàng","heurter, foncer dans, entrer en collision avec"],["准确","zhǔnquè","précis, être précis ; exact, être exact"],["准时","zhǔnshí","ponctuel, être ponctuel ; à l'heure, être à l'heure"],["仔细","zǐxì","minutieux, soigneux, attentif ; minutieusement"],["自然","zìrán","naturel, être naturel ; nature ; naturellement"],["总结","zǒngjié","résumer ; résumé"],["租","zū","louer ; location"],["组成","zǔchéng","composer ; constituer ; former"],["组织","zǔzhī","organiser, former ; organisation"],["嘴","zuǐ","bouche ; bec"],["最好","zuìhǎo","mieux vaut ; le mieux, être le mieux"],["最后","zuìhòu","à la fin, finalement ; final ; le dernier"],["尊重","zūnzhòng","respecter, estimer, apprécier ; respect"],["做生意","zuò shēngyì","faire des affaires, faire du business"],["座","zuò","siège, assise ; constellation ; spécificatif (montagne, pont)"],["座位","zuòwèi","siège ; place"],["作者","zuòzhě","auteur"],["发烧","fā shāo","avoir de la fièvre"],["发现","fāxiàn","découvrir, remarquer ; découverte"],["保护","bǎohù","protéger ; protection"],["保证","bǎozhèng","garantir, assurer ; garantie"],["抱","bào","étreindre, embrasser ; prendre dans les bras"],["抱歉","bàoqiàn","désolé, être désolé ; regretter ; pardonnez-moi"],["报道","bàodào","annoncer, informer, rapporter ; reportage"],["报名","bào míng","inscrire, s'inscrire ; enregistrer, s'enregistrer"],["倍","bèi","fois ; double ; -uple"],["米","mǐ","riz ; mètre"]]; // ══════════════════════════════════════════════ // SENTENCES (HSK 3-4) // ══════════════════════════════════════════════ const SENTENCES={ 3:[ ["我昨天没睡好,今天感觉很累。","Wǒ zuótiān méi shuì hǎo, jīntiān gǎnjué hěn lèi.","Je n'ai pas bien dormi hier, je me sens très fatigué aujourd'hui."], ["他每天早上六点起床,然后去跑步。","Tā měitiān zǎoshang liù diǎn qǐchuáng, ránhòu qù pǎobù.","Il se lève tous les matins à 6h, puis va courir."], ["如果明天不下雨,我们就去爬山吧。","Rúguǒ míngtiān bù xià yǔ, wǒmen jiù qù pá shān ba.","S'il ne pleut pas demain, allons faire de la randonnée."], ["虽然这道菜很贵,但是真的很好吃。","Suīrán zhè dào cài hěn guì, dànshì zhēn de hěn hǎochī.","Bien que ce plat soit cher, il est vraiment délicieux."], ["我已经等了你半个小时了,你在哪里?","Wǒ yǐjīng děng le nǐ bàn gè xiǎoshí le, nǐ zài nǎlǐ?","Je t'attends depuis une demi-heure, où es-tu ?"], ["她突然哭了起来,我不知道为什么。","Tā tūrán kū le qǐlái, wǒ bù zhīdào wèishénme.","Elle s'est soudainement mise à pleurer, je ne sais pas pourquoi."], ["这个城市的环境越来越好了。","Zhège chéngshì de huánjìng yuèláiyuè hǎo le.","L'environnement de cette ville s'améliore de plus en plus."], ["图书馆附近有一家超市,走路只要五分钟。","Túshūguǎn fùjìn yǒu yījiā chāoshì, zǒulù zhǐyào wǔ fēnzhōng.","Il y a un supermarché près de la bibliothèque, à 5 min à pied."], ["他认为这个问题很简单,但其实不容易。","Tā rènwéi zhège wèntí hěn jiǎndān, dàn qíshí bù róngyì.","Il pense que ce problème est simple, mais en réalité il ne l'est pas."], ["请把你的护照递给我看一下。","Qǐng bǎ nǐ de hùzhào dì gěi wǒ kàn yīxià.","Veuillez me passer votre passeport pour que je le regarde."], ["我的自行车坏了,只能走路去学校。","Wǒ de zìxíngchē huài le, zhǐ néng zǒulù qù xuéxiào.","Mon vélo est en panne, je dois aller à l'école à pied."], ["他虽然工作很忙,但还是坚持锻炼身体。","Tā suīrán gōngzuò hěn máng, dàn háishi jiānchí duànliàn shēntǐ.","Bien qu'il soit très occupé, il continue quand même à faire de l'exercice."], ["你刚才说的话我没听清,能再说一遍吗?","Nǐ gāngcái shuō de huà wǒ méi tīng qīng, néng zài shuō yībiàn ma?","Je n'ai pas bien entendu, peux-tu répéter ?"], ["我终于明白了老师说的意思。","Wǒ zhōngyú míngbái le lǎoshī shuō de yìsi.","J'ai finalement compris ce que le professeur voulait dire."], ["这个周末我们打算去参观博物馆。","Zhège zhōumò wǒmen dǎsuàn qù cānguān bówùguǎn.","Ce week-end, nous avons l'intention de visiter le musée."], ], 4:[ ["尽管他非常努力,这次考试还是没通过。","Jǐnguǎn tā fēicháng nǔlì, zhè cì kǎoshì háishi méi tōngguò.","Malgré ses grands efforts, il a quand même échoué à cet examen."], ["随着科技的发展,我们的生活发生了很大变化。","Suízhe kējì de fāzhǎn, wǒmen de shēnghuó fāshēng le hěn dà biànhuà.","Avec le développement de la technologie, notre vie a beaucoup changé."], ["他不仅学习成绩优秀,体育运动也很厉害。","Tā bùjǐn xuéxí chéngjì yōuxiù, tǐyù yùndòng yě hěn lìhai.","Non seulement ses résultats sont excellents, mais il est aussi très sportif."], ["如果你有任何问题,可以随时联系我。","Rúguǒ nǐ yǒu rènhé wèntí, kěyǐ suíshí liánxì wǒ.","Si tu as des questions, tu peux me contacter à tout moment."], ["他由于身体不舒服,不得不取消了旅行。","Tā yóuyú shēntǐ bù shūfu, bùdébù qǔxiāo le lǚxíng.","En raison d'une mauvaise santé, il a été obligé d'annuler le voyage."], ["这个问题比较复杂,需要从多个角度分析。","Zhège wèntí bǐjiào fùzá, xūyào cóng duō gè jiǎodù fēnxī.","Ce problème est assez complexe, il faut l'analyser sous plusieurs angles."], ["无论遇到什么困难,都要保持积极乐观的态度。","Wúlùn yùdào shénme kùnnán, dōu yào bǎochí jījí lèguān de tàidu.","Quelles que soient les difficultés, il faut garder une attitude positive."], ["她放弃了高薪工作,选择去农村支持教育。","Tā fàngqì le gāoxīn gōngzuò, xuǎnzé qù nóngcūn zhīchí jiàoyù.","Elle a renoncé à un emploi bien rémunéré pour soutenir l'éducation rurale."], ["根据调查结果,大多数人认为环保非常重要。","Gēnjù diàochá jiéguǒ, dàduōshù rén rènwéi huánbǎo fēicháng zhòngyào.","Selon l'enquête, la plupart estiment que l'environnement est crucial."], ["他已经在这家公司工作了十年,积累了丰富经验。","Tā yǐjīng zài zhè jiā gōngsī gōngzuò le shí nián, jīlěi le fēngfù jīngyàn.","Il travaille dans cette entreprise depuis dix ans et a acquis une riche expérience."], ["这篇文章内容很有意思,值得认真阅读。","Zhè piān wénzhāng nèiróng hěn yǒu yìsi, zhíde rènzhēn yuèdú.","Le contenu de cet article est très intéressant, il mérite une lecture attentive."], ["他的演讲非常精彩,台下观众都热烈鼓掌。","Tā de yǎnjiǎng fēicháng jīngcǎi, táixià guānzhòng dōu rèliè gǔzhǎng.","Son discours était magnifique, le public l'a applaudi chaleureusement."], ["这家餐厅不但味道好,价格合理,服务也周到。","Zhè jiā cāntīng búdàn wèidào hǎo, jiàgé hélǐ, fúwù yě zhōudào.","Ce restaurant est non seulement délicieux, mais aussi bien prix et bien servi."], ["我对这个城市印象非常好,以后有机会还想再来。","Wǒ duì zhège chéngshì yìnxiàng fēicháng hǎo, yǐhòu yǒu jīhuì hái xiǎng zài lái.","J'ai une très bonne impression de cette ville, j'espère y revenir."], ["他们经过认真讨论,最终达成了共识。","Tāmen jīngguò rènzhēn tǎolùn, zuìzhōng dáchéng le gòngshí.","Après une discussion sérieuse, ils ont finalement atteint un consensus."], ] }; // ══════════════════════════════════════════════ // CRYPTO — User side (split key) // ══════════════════════════════════════════════ const _KB="X9mPqR7vWzYkJtFs",_SH="48534b5f5345435552455f53414c545f76315fdeadbeef"; function _f1(){return[72,36,75,33,76,51,97,114,78,64]} function _f2(){return[50,48,50,52,35,67,104,49,110,51,115,51]} function _h2b(h){const a=[];for(let i=0;is+a.length,0),r=new Uint8Array(t);let o=0;for(const a of ar){r.set(a,o);o+=a.length}return r} async function _key(){const e=new TextEncoder();const ka=new Uint8Array([..._f1(),..._f2()]);return new Uint8Array(await crypto.subtle.digest('SHA-256',_cat(ka,e.encode(_KB),_h2b(_SH))))} const B32='ABCDEFGHIJKLMNOPQRSTUVWXYZ234567'; function b32d(s){s=s.replace(/=+$/,'').toUpperCase();let bits=0,val=0;const out=[];for(let i=0;i=8){out.push((val>>>(bits-8))&255);bits-=8}}return new Uint8Array(out)} async function verifyLic(code){ try{ const raw=code.replace(/[-\s]/g,'').toUpperCase(); if(raw.length<20)return{valid:false,err:'Code trop court'}; const pb=b32d(raw.slice(0,-16)),sb=b32d(raw.slice(-16)); const key=await _key(); const ck=await crypto.subtle.importKey('raw',key,{name:'HMAC',hash:'SHA-256'},false,['sign']); const sig=new Uint8Array(await crypto.subtle.sign('HMAC',ck,pb)).slice(0,10); let diff=0;if(sig.length!==sb.length)return{valid:false,err:'Signature invalide'}; for(let i=0;i0){const exp=issued+days*86400;expired=now>exp;rem=Math.max(0,Math.floor((exp-now)/86400))} return{valid:true,expired,fn,ln,maxLevel:parseInt(lvl),days,rem}; }catch(e){return{valid:false,err:'Code invalide'}} } // ══════════════════════════════════════════════ // STATE // ══════════════════════════════════════════════ let STATE={ lic:null, level:1, maxLevel:4, mode:'qcm', pyMode:'always', theme:'dark', stats:{}, // "L_word": {seen,correct} session:{ok:0,tot:0,streak:0}, sessionToken:null, // anti multi-connexion lastActive:Date.now() }; function save(){ try{ localStorage.setItem('hsk', JSON.stringify(STATE)); }catch(e){} } function load(){ try{ const d = JSON.parse(localStorage.getItem('hsk') || 'null'); if(!d) return false; Object.assign(STATE, d); return true; }catch{ return false; } } // ══════════════════════════════════════════════ // SESSION MANAGEMENT (anti multi-user) // ══════════════════════════════════════════════ // We store a session token. If another tab/browser opens and writes a different token, // the current session detects the conflict and locks. const MY_TOKEN=Math.random().toString(36).slice(2); let sessionConflict=false; function claimSession(){ STATE.sessionToken=MY_TOKEN; save(); } function checkSession(){ return; } function showSessionConflict(){ const bar=document.createElement('div'); document.body.prepend(bar); // Disable the exercise area } // ══════════════════════════════════════════════ // LICENCE ACTIVATION // ══════════════════════════════════════════════ async function activateLic(){ const code=document.getElementById('licInp').value.trim(); const msg=document.getElementById('licMsg'); msg.style.color='var(--ink3)'; msg.textContent='Vérification…'; const r=await verifyLic(code); if(!r.valid){ msg.style.color='var(--red)'; msg.textContent='❌ '+(r.err||'Code invalide'); return; } if(r.expired){ msg.style.color='var(--red)'; msg.textContent='❌ Licence expirée.'; return; } STATE.lic={code,...r}; STATE.maxLevel=r.maxLevel; // 🔴 IMPORTANT : reset complet localStorage.removeItem("hsk"); // 🔴 recrée une session propre localStorage.setItem("hsk", JSON.stringify({ code: code, sessionToken: Date.now() })); claimSession(); save(); launchApp(); } // ══════════════════════════════════════════════ // INIT // ══════════════════════════════════════════════ async function init(){ if(!load())return; if(!STATE.lic)return; const r=await verifyLic(STATE.lic.code); if(!r.valid||r.expired){STATE.lic=null;save();return} STATE.lic={...STATE.lic,...r};STATE.maxLevel=r.maxLevel; // Check session conflict if(STATE.sessionToken&&STATE.sessionToken!==MY_TOKEN){ showSessionConflict(); document.getElementById('licScreen').style.display='none'; document.getElementById('app').classList.add('on'); buildSidebar(); return; } claimSession(); launchApp(); } function launchApp(){ if(STATE.theme==='light')document.documentElement.setAttribute('data-theme','light'); applyThemeBtn(); document.getElementById('licScreen').style.display='none'; document.getElementById('app').classList.add('on'); buildSidebar(); setMode('qcm'); updateMobileUI(); } // ══════════════════════════════════════════════ // SIDEBAR // ══════════════════════════════════════════════ const LVL_CSS=['#4cc98a','#60d070','#e8b84b','#e08040']; const LVL_W=[146,137,273,606]; function buildSidebar(){ const l=STATE.lic; document.getElementById('sbUser').textContent= `${l.fn} ${l.ln}`+(l.days>0?` · ${l.rem}j restants`:' · illimité'); const el=document.getElementById('sbLevels'); el.innerHTML=''; for(let i=1;i<=4;i++){ const locked=i>STATE.maxLevel; const vocab=V[i]||[]; const seen=vocab.filter(w=>(STATE.stats[`${i}_${w[0]}`]||{}).seen>0).length; const btn=document.createElement('button'); btn.className='lvl-item'+(locked?' locked':i===STATE.level?' active':''); btn.innerHTML=`HSK ${i}${seen}/${vocab.length}`; if(!locked)btn.onclick=()=>setLevel(i); el.appendChild(btn); } // Pinyin radio document.querySelectorAll('[name=py]').forEach(r=>{r.checked=r.value===STATE.pyMode}); // Sent mode button visibility document.getElementById('sentModeBtn').style.display=STATE.level>=3?'':'none'; updateProgress();updateStats(); updateMobileUI(); } function setLevel(l){ STATE.level=l; // If sentences mode and level < 3, switch back to QCM if(STATE.mode==='sent'&&l<3)STATE.mode='qcm'; buildSidebar(); document.querySelectorAll('.lvl-item').forEach((b,i)=>b.classList.toggle('active',i+1===l)); render(); } function setMode(m){ STATE.mode=m; document.querySelectorAll('.mode-btn').forEach(b=>b.classList.toggle('active',b.dataset.mode===m)); document.getElementById('tbSub').textContent={qcm:'QCM adaptatif',flash:'Flashcards',sent:'Compréhension de phrases',browse:'Liste du vocabulaire',listen:'Écoute seule'}[m]; render(); } document.querySelectorAll('.mode-btn').forEach(b=>b.addEventListener('click',()=>setMode(b.dataset.mode))); function setPy(v){STATE.pyMode=v;save();render()} function toggleTheme(){ STATE.theme=STATE.theme==='dark'?'light':'dark'; if(STATE.theme==='light')document.documentElement.setAttribute('data-theme','light'); else document.documentElement.removeAttribute('data-theme'); applyThemeBtn();save(); } function applyThemeBtn(){ document.getElementById('themeBtn').textContent=STATE.theme==='dark'?'🌙 Mode sombre':'☀ Mode clair'; } function updateProgress(){ const vocab=V[STATE.level]||[]; const seen=vocab.filter(w=>(STATE.stats[`${STATE.level}_${w[0]}`]||{}).seen>0).length; const pct=vocab.length?Math.round(seen/vocab.length*100):0; document.getElementById('pfill').style.width=pct+'%'; document.getElementById('ppct').textContent=pct+'%'; document.getElementById('plvl').textContent=STATE.level; // Rebuild level counts document.querySelectorAll('.lvl-item').forEach((b,i)=>{ const vocab2=V[i+1]||[]; const seen2=vocab2.filter(w=>(STATE.stats[`${i+1}_${w[0]}`]||{}).seen>0).length; const cnt=b.querySelector('.lvl-cnt'); if(cnt)cnt.textContent=`${seen2}/${vocab2.length}`; }); } function updateStats(){ document.getElementById('stOk').textContent=STATE.session.ok; document.getElementById('stStr').textContent=STATE.session.streak; document.getElementById('stTot').textContent=STATE.session.tot; } // ══════════════════════════════════════════════ // TONE SYSTEM // ══════════════════════════════════════════════ const TONES={'ā':1,'á':2,'ǎ':3,'à':4,'ē':1,'é':2,'ě':3,'è':4,'ī':1,'í':2,'ǐ':3,'ì':4,'ō':1,'ó':2,'ǒ':3,'ò':4,'ū':1,'ú':2,'ǔ':3,'ù':4,'ǖ':1,'ǘ':2,'ǚ':3,'ǜ':4}; function getTone(syl){for(const c of syl){if(TONES[c])return TONES[c]}return 5} function colorPinyin(py){return py.replace(/([a-zàáâãäāáǎà ēéěèīíǐìōóǒòūúǔùǖǘǚǜü·ńňǹ]+)/gi,syl=>{const t=getTone(syl);return`${syl}`})} // ══════════════════════════════════════════════ // PINYIN VISIBILITY // ══════════════════════════════════════════════ function showPinyin(word,key){ if(STATE.level<=2){ if(STATE.pyMode==='always')return true; if(STATE.pyMode==='never')return false; const s=STATE.stats[key]||{seen:0,correct:0}; return s.seen<5||(s.correct/Math.max(s.seen,1))<0.75; } // HSK 3+: never show pinyin by default (per instructions) if(STATE.pyMode==='never')return false; if(STATE.pyMode==='always')return false; // HSK3+ always hides unless clicked return false; // adaptive also hides for 3+ } // ══════════════════════════════════════════════ // ADAPTIVE WORD SELECTION // ══════════════════════════════════════════════ function pickWord(vocab){ function w(word){ const k=`${STATE.level}_${word[0]}`; const s=STATE.stats[k]||{seen:0,correct:0}; if(s.seen===0)return 3; return 2-(s.correct/s.seen); } const ws=vocab.map(w); const total=ws.reduce((a,b)=>a+b,0); let r=Math.random()*total; for(let i=0;iv.lang.startsWith('zh')); if(v)u.voice=v; speechSynthesis.speak(u); } speechSynthesis.onvoiceschanged=()=>{}; // ══════════════════════════════════════════════ // RENDER // ══════════════════════════════════════════════ function render(){ const area=document.getElementById('exArea'); area.innerHTML=''; const vocab=V[STATE.level]; document.getElementById('tbTitle').textContent=`Vocabulaire — HSK ${STATE.level}`; document.getElementById('sentModeBtn').style.display=STATE.level>=3?'':'none'; if(!vocab||vocab.length===0){area.innerHTML='

Aucun contenu disponible.

';return} if(STATE.mode==='qcm')renderQCM(area,vocab); else if(STATE.mode==='flash')renderFlash(area,vocab); else if(STATE.mode==='sent')renderSent(area); else if(STATE.mode==='browse')renderBrowse(area,vocab); else if(STATE.mode==='listen')renderListen(area,vocab); } // ══════════════════════════════════════════════ // QCM // ══════════════════════════════════════════════ function renderQCM(area,vocab){ const word=pickWord(vocab); const [hz,py,fr]=word; const key=`${STATE.level}_${hz}`; const stat=STATE.stats[key]||{seen:0,correct:0}; const sp=showPinyin(word,key); const lvlColor=LVL_CSS[STATE.level-1]; // Build choices: translate from Chinese → French const others=vocab.filter(w=>w[0]!==hz).sort(()=>Math.random()-.5).slice(0,3); const choices=[word,...others].sort(()=>Math.random()-.5); // Pinyin display for HSK 3+ const pyHtml=STATE.level>=3 ?`${colorPinyin(py)}` :(sp?`${colorPinyin(py)}`:``); area.innerHTML=`
HSK ${STATE.level}
Vu ${stat.seen}× · ✓${stat.correct}
${hz} ${pyHtml}
Quelle est la traduction ?
${hz} — ${fr}
`; const grid=document.getElementById('choicesEl'); const btnMap=[]; choices.forEach(c=>{ const b=document.createElement('button'); b.className='choice'; b.textContent=c[2]; b.onclick=()=>handleQCM(c[0]===hz,b,hz,fr,py,grid,btnMap); grid.appendChild(b);btnMap.push([b,c[0]===hz]); }); } function handleQCM(correct,btn,hz,fr,py,grid,btnMap){ const key=`${STATE.level}_${hz}`; if(!STATE.stats[key])STATE.stats[key]={seen:0,correct:0}; STATE.stats[key].seen++; if(correct)STATE.stats[key].correct++; STATE.session.tot++; if(correct){STATE.session.ok++;STATE.session.streak++;confetti(btn)} else STATE.session.streak=0; grid.querySelectorAll('.choice').forEach(b=>b.disabled=true); btnMap.forEach(([b,isCorrect])=>{if(isCorrect)b.classList.add('correct');else if(b===btn&&!correct)b.classList.add('wrong')}); const rb=document.getElementById('resBar'); rb.className='res-bar show '+(correct?'ok':'ko'); rb.textContent=correct?'✓ Correct !':'✗ Réponse : '+fr; // Reveal pinyin for HSK3+ const wcPy=document.getElementById('wcPy'); if(wcPy)wcPy.classList.remove('blur'); else{const sp=document.querySelector('.wc-pinyin.hidden');if(sp)sp.classList.remove('hidden')} document.getElementById('exBox').classList.add('show'); document.getElementById('nxt').classList.add('show'); save();updateStats();updateProgress(); } // ══════════════════════════════════════════════ // FLASHCARD // ══════════════════════════════════════════════ function renderFlash(area,vocab){ const word=pickWord(vocab);const[hz,py,fr]=word; const key=`${STATE.level}_${hz}`; const sp=showPinyin(word,key); const lvlColor=LVL_CSS[STATE.level-1]; const pyDisplay=STATE.level>=3 ?`${colorPinyin(py)}` :(sp?`${colorPinyin(py)}`:``); area.innerHTML=`
HSK ${STATE.level}
${hz} ${pyDisplay}
${fr}
${STATE.level>=3?`
${colorPinyin(py)}
`:''}
Cliquez pour révéler
`; } function revealFlash(){ document.getElementById('fans').classList.add('show'); document.getElementById('fhint').style.display='none'; document.getElementById('fbtnWrap').classList.add('show'); const p=document.querySelector('.wc-pinyin.hidden');if(p)p.classList.remove('hidden'); const pb=document.querySelector('.wc-pinyin.blur');if(pb)pb.classList.remove('blur'); } function flashAns(ok,hz){ const key=`${STATE.level}_${hz}`; if(!STATE.stats[key])STATE.stats[key]={seen:0,correct:0}; STATE.stats[key].seen++;if(ok)STATE.stats[key].correct++; STATE.session.tot++;if(ok)STATE.session.ok++; save();updateStats();updateProgress(); setTimeout(render,300); } // ══════════════════════════════════════════════ // SENTENCES (HSK 3+) // ══════════════════════════════════════════════ function renderSent(area){ if(STATE.level<3){area.innerHTML='

Les phrases sont disponibles à partir du HSK 3.

';return} const sents=SENTENCES[STATE.level]||[]; if(!sents.length){area.innerHTML='

Aucune phrase disponible.

';return} // Pick random sentence const s=sents[Math.floor(Math.random()*sents.length)]; const[zh,py,fr]=s; const lvlColor=LVL_CSS[STATE.level-1]; // Generate a QCM question based on the sentence // Type: show sentence in French → pick Chinese, or show Chinese → pick French const mode=Math.random()<.5?'zh2fr':'fr2zh'; const allSents=sents.filter(x=>x[0]!==zh).sort(()=>Math.random()-.5).slice(0,3); let choices,question,displayMain,displaySub; if(mode==='zh2fr'){ displayMain=zh; question='Quelle est la traduction de cette phrase ?'; choices=[s,...allSents].sort(()=>Math.random()-.5); }else{ displayMain=fr; question='Quelle est la phrase en chinois ?'; choices=[s,...allSents].sort(()=>Math.random()-.5); } area.innerHTML=`
HSK ${STATE.level}
${mode==='zh2fr'?zh:fr} ${mode==='zh2fr'?`${colorPinyin(py)}`:''}
${question}
${zh} ${colorPinyin(py)} 🇫🇷 ${fr}
`; const grid=document.getElementById('sentChoices'); const btnMap=[]; choices.forEach(c=>{ const isCorrect=c[0]===zh; const b=document.createElement('button'); b.className='choice'; b.textContent=mode==='zh2fr'?c[2]:c[0]; b.style.fontFamily=mode==='fr2zh'?'Noto Serif SC,serif':''; b.style.fontSize=mode==='fr2zh'?'18px':''; b.onclick=()=>{ if(b.disabled)return; grid.querySelectorAll('.choice').forEach(x=>x.disabled=true); btnMap.forEach(([x,ic])=>{if(ic)x.classList.add('correct');else if(x===b&&!isCorrect)x.classList.add('wrong')}); const rb=document.getElementById('sentRes'); rb.className='res-bar show '+(isCorrect?'ok':'ko'); rb.textContent=isCorrect?'✓ Correct !':'✗ Mauvaise réponse'; if(isCorrect){STATE.session.ok++;STATE.session.streak++;confetti(b)}else STATE.session.streak=0; STATE.session.tot++; // Reveal pinyin const sp=document.getElementById('sentPy');if(sp)sp.style.filter=''; document.getElementById('sentEx').classList.add('show'); document.getElementById('sentNxt').classList.add('show'); updateStats(); }; grid.appendChild(b);btnMap.push([b,isCorrect]); }); // Auto-speak setTimeout(()=>speak(zh),600); } // ══════════════════════════════════════════════ // BROWSE // ══════════════════════════════════════════════ let browseQ=''; function renderBrowse(area,vocab){ area.innerHTML=`
`; drawBrowseTable(vocab,browseQ,0,40); if(browseQ)document.getElementById('srch').select(); } function filterBrowse(){ browseQ=document.getElementById('srch')?.value||''; const vocab=V[STATE.level]||[]; drawBrowseTable(vocab,browseQ,0,40); } function drawBrowseTable(vocab,q,from,to){ const wrap=document.getElementById('browseWrap');if(!wrap)return; const filtered=q?vocab.filter(w=>w[0].includes(q)||w[1].toLowerCase().includes(q.toLowerCase())||w[2].toLowerCase().includes(q.toLowerCase())):vocab; const slice=filtered.slice(from,to); const rows=slice.map(w=>{ const[hz,py,fr]=w; const k=`${STATE.level}_${hz}`; const s=STATE.stats[k]||{seen:0,correct:0}; const acc=s.seen?Math.round(s.correct/s.seen*100)+'%':' — '; return`${hz}${colorPinyin(py)}${fr}${acc}`; }).join(''); const hasMore=filtered.length>to; wrap.innerHTML=`${rows}
汉字PinyinTraductionPrécision
${hasMore?``:''}`; } // ══════════════════════════════════════════════ // LISTEN // ══════════════════════════════════════════════ function renderListen(area,vocab){ const word=pickWord(vocab);const[hz,py,fr]=word; const others=vocab.filter(w=>w[0]!==hz).sort(()=>Math.random()-.5).slice(0,3); const choices=[word,...others].sort(()=>Math.random()-.5); const lvlColor=LVL_CSS[STATE.level-1]; area.innerHTML=`
HSK ${STATE.level}
Écoutez et choisissez le bon caractère
`; const grid=document.getElementById('listenGrid'); const btnMap=[]; choices.forEach(c=>{ const ok=c[0]===hz; const b=document.createElement('button'); b.className='choice'; b.style.cssText='text-align:center;font-family:Noto Serif SC,serif;font-size:26px'; b.innerHTML=`${c[0]}
${c[2]}`; b.onclick=()=>{ grid.querySelectorAll('.choice').forEach(x=>x.disabled=true); btnMap.forEach(([x,ic])=>{if(ic)x.classList.add('correct');else if(x===b&&!ok)x.classList.add('wrong')}); const rb=document.getElementById('listenRes'); rb.className='res-bar show '+(ok?'ok':'ko'); rb.innerHTML=ok?'✓ Correct !':'✗ C\'était '+hz+' '+colorPinyin(py); document.getElementById('listenNxt').classList.add('show'); if(ok){STATE.session.ok++;STATE.session.streak++;confetti(b)}else STATE.session.streak=0; STATE.session.tot++;updateStats(); }; grid.appendChild(b);btnMap.push([b,ok]); }); setTimeout(()=>speak(hz),600); } // ══════════════════════════════════════════════ // CONFETTI // ══════════════════════════════════════════════ function confetti(el){ const rect=el.getBoundingClientRect(); const colors=['var(--gold)','var(--green)','var(--blue)','var(--teal)']; for(let i=0;i<8;i++){ const p=document.createElement('div'); p.className='conf'; p.style.cssText=`left:${rect.left+Math.random()*rect.width}px;top:${rect.top}px;background:${colors[Math.floor(Math.random()*4)]};animation-delay:${Math.random()*.3}s`; document.body.appendChild(p);setTimeout(()=>p.remove(),1200); } } // ══════════════════════════════════════════════ // MOBILE INTERFACE — Auto-detection & controls // ══════════════════════════════════════════════ function isMobile(){return window.innerWidth<=680} // Update mobile UI elements function updateMobileUI(){ if(!isMobile())return; const lvlColors=LVL_CSS; // Level pill const dot=document.getElementById('mobLvlDot'); const lbl=document.getElementById('mobLvlLabel'); if(dot)dot.style.background=lvlColors[STATE.level-1]||'#4cc98a'; if(lbl)lbl.textContent='HSK '+STATE.level; // Mode label const modeLabels={qcm:'QCM',flash:'Flashcards',listen:'Écoute',sent:'Phrases',browse:'Vocabulaire'}; const ml=document.getElementById('mobModeLbl'); if(ml)ml.textContent=modeLabels[STATE.mode]||STATE.mode; // Sentences btn visibility const sb=document.getElementById('mobSentBtn'); if(sb)sb.style.opacity=STATE.level>=3?'1':'.35'; // Bottom nav active state document.querySelectorAll('.mnav-btn').forEach(b=>b.classList.toggle('active',b.dataset.mode===STATE.mode)); // Mobile stats const mo=document.getElementById('mobOk'); const ms=document.getElementById('mobStr'); if(mo)mo.textContent=STATE.session.ok; if(ms)ms.textContent=STATE.session.streak; } function mobileSetMode(m){ if(m==='sent'&&STATE.level<3)return; // ignore if locked setMode(m); updateMobileUI(); } function mobileSetPy(v){ setPy(v); // Update drawer buttons document.querySelectorAll('.dpy-btn').forEach(b=>b.classList.toggle('active',b.dataset.py===v)); // Also sync desktop radios document.querySelectorAll('[name=py]').forEach(r=>{r.checked=r.value===v}); } // Drawer open/close function toggleDrawer(){ const d=document.getElementById('levelDrawer'); const o=document.getElementById('drawerOverlay'); if(d.classList.contains('open')){closeDrawer()} else{buildDrawer();d.classList.add('open');o.classList.add('open')} } function closeDrawer(){ document.getElementById('levelDrawer').classList.remove('open'); document.getElementById('drawerOverlay').classList.remove('open'); } function buildDrawer(){ const el=document.getElementById('drawerLevels'); el.innerHTML=''; for(let i=1;i<=4;i++){ const locked=i>STATE.maxLevel; const vocab=V[i]||[]; const seen=vocab.filter(w=>(STATE.stats[`${i}_${w[0]}`]||{}).seen>0).length; const btn=document.createElement('button'); btn.className='drawer-lvl'+(locked?' locked':i===STATE.level?' active':''); btn.innerHTML=` HSK ${i} ${seen}/${vocab.length}`; if(!locked)btn.onclick=()=>{setLevel(i);updateMobileUI();closeDrawer()}; el.appendChild(btn); } // Sync pinyin buttons document.querySelectorAll('.dpy-btn').forEach(b=>b.classList.toggle('active',b.dataset.py===STATE.pyMode)); } // Swipe-left on exercise area → next card (function initSwipe(){ let sx=0,sy=0; document.addEventListener('touchstart',e=>{sx=e.touches[0].clientX;sy=e.touches[0].clientY},{passive:true}); document.addEventListener('touchend',e=>{ if(!isMobile())return; const dx=e.changedTouches[0].clientX-sx; const dy=e.changedTouches[0].clientY-sy; // Horizontal swipe > 60px, not primarily vertical if(Math.abs(dx)>60&&Math.abs(dx)>Math.abs(dy)*1.5){ const nxt=document.getElementById('nxt')||document.getElementById('listenNxt')||document.getElementById('sentNxt'); if(nxt&&nxt.classList.contains('show')&&dx<0){nxt.click()} } },{passive:true}); })(); // Resize listener: if switching from mobile ↔ desktop, refresh UI let _lastMobile=isMobile(); window.addEventListener('resize',()=>{ const now=isMobile(); if(now!==_lastMobile){_lastMobile=now;updateMobileUI()} }); // Patch updateStats to also refresh mobile UI const _origUpdateStats=updateStats; function updateStats(){ _origUpdateStats(); updateMobileUI(); } // ══ BOOT ══════════════════════════════════════ init(); try{ const d = JSON.parse(localStorage.getItem("hsk") || "null"); if(d && d.code){ // cache l'écran de login document.getElementById("licScreen").style.display = "none"; // affiche l'app document.getElementById("app").classList.add("on"); // relance l'app launchApp(); } }catch(e){} function logout(){ localStorage.removeItem("hsk"); // ✅ CORRIGÉ sessionStorage.clear(); document.getElementById("app").classList.remove("on"); document.getElementById("licScreen").style.display = "flex"; document.getElementById("licInp").value = ""; document.getElementById("licMsg").textContent = "Session fermée."; setTimeout(()=>location.reload(), 500); }