diff --git a/OpenTaiko/Databases/SongUnlockables.db3 b/OpenTaiko/Databases/SongUnlockables.db3 index b5c40e53..5be83551 100644 Binary files a/OpenTaiko/Databases/SongUnlockables.db3 and b/OpenTaiko/Databases/SongUnlockables.db3 differ diff --git a/OpenTaiko/Lang/en/lang.json b/OpenTaiko/Lang/en/lang.json index 4d69ed99..9c90e353 100644 --- a/OpenTaiko/Lang/en/lang.json +++ b/OpenTaiko/Lang/en/lang.json @@ -6,7 +6,8 @@ // "Language" should include the name of your language in its native text, as well as its English variant in parentheses. // i.e. "日本語 (Japanese)" - "Language": "English", + "Language": "English", + "Version": "0.6.0.0", "Entries": { // Common @@ -196,6 +197,10 @@ "SETTINGS_TRAINING_JUMPINTERVAL": "Measure Jump Time Interval", "SETTINGS_TRAINING_JUMPINTERVAL_DESC": "The amount of time in milliseconds needed to\nrepeatedly hit the Left/Right Blue keys in\norder to jump to a bookmarked measure in\nTraining Mode.", + // Settings - Gameplay - Unlockables + "SETTINGS_GAME_IGNORESONGUNLOCKABLES": "Ignore Song Unlockables", + "SETTINGS_GAME_IGNORESONGUNLOCKABLES_DESC": "Make all songs available ignoring SongUnlockables.db3.\nThis does not add unlock entries to Saves.db3.\nUnlock notifications will still appear on results.\n\nWARNING\nHaving this option ON invalidates any speedrun.", + // Settings - Broken/Unused/Might Deprecate/Might Update // Translate these anyways, even if their future is uncertain. "SETTINGS_SYSTEM_IMAGEPREVIEWBUFFER": "Image Preview Buffer", diff --git a/OpenTaiko/Lang/fr/lang.json b/OpenTaiko/Lang/fr/lang.json index 0ac4ae24..4446c48c 100644 --- a/OpenTaiko/Lang/fr/lang.json +++ b/OpenTaiko/Lang/fr/lang.json @@ -1,604 +1,609 @@ -{ - // The folder's name is used as the ID, which is used to identify which localized data to use. - // This includes TJAs with localized titles/subtitles (i.e. TITLEJA/SUBTITLEJA) and Lua scripts which utilize the "lang" variable. - // It is STRONGLY recommended that you use a two-letter language code that follows the ISO 639 standard. Keep the ID lowercased. - // If you aren't sure which code fits your language, please refer to https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes - - // "Language" should include the name of your language in its native text, as well as its English variant in parentheses. - // i.e. "日本語 (Japanese)" - "Language": "Français (French)", - "Entries": { - - // Common - "MENU_RETURN": "Retour", - // Difficulties (Any Menu) - "DIFF_EASY": "Facile", - "DIFF_NORMAL": "Normal", - "DIFF_HARD": "Difficile", - "DIFF_EX": "Extrême", - "DIFF_EXTRA": "Extra", - "DIFF_EXEXTRA": "Extrême / Extra", - "DIFF_TOWER": "Tour", - "DIFF_DAN": "Dan", - "DIFF_ANY": "Any", - "DIFF_UNKNOWN": "Unknown", - - // Settings - "SETTINGS_SYSTEM": "Options système", - "SETTINGS_SYSTEM_DESC": "Settings for the overall system.", - "SETTINGS_GAME": "Options de jeu", - "SETTINGS_GAME_DESC": "Settings to play the drums.", - "SETTINGS_EXIT": "Quitter", - "SETTINGS_EXIT_DESC": "Save the settings and exit from CONFIGURATION menu.", - - "SETTINGS_MENU_RETURN": "<< Retour au menu", - "SETTINGS_MENU_RETURN_DESC": "Retour au menu principal.", - - "SETTINGS_KEYASSIGN_SYSTEM": "Touches systeme", - "SETTINGS_KEYASSIGN_SYSTEM_DESC": "Menu pour l'assignation des \ntouches système.", - "SETTINGS_KEYASSIGN_GAME": "Touches en jeu", - "SETTINGS_KEYASSIGN_GAME_DESC": "Menu pour l'assignation des \ntouches en jeu.", - "SETTINGS_KEYASSIGN_TRAINING": "Training Mode Key Config", - "SETTINGS_KEYASSIGN_TRAINING_DESC": "A secondary menu to adjust keys used during\nTraining Mode.", - - // Settings - System - "SETTINGS_SYSTEM_LANGUAGE": "Langue du système", - "SETTINGS_SYSTEM_LANGUAGE_DESC": "Changer la langue affichée\ndans les menus et en jeu.", - "SETTINGS_SYSTEM_PLAYERCOUNT": "Nombre de joueurs", - "SETTINGS_SYSTEM_PLAYERCOUNT_DESC": "Change le nombre de joueurs en jeu:\nIl est possible de jouer jusqu'à 5 joueurs\nen même temps.", - "SETTINGS_SYSTEM_RELOADSONG": "Recharger les sons", - "SETTINGS_SYSTEM_RELOADSONG_DESC": "Met à jour et récupère les\nmodifications effectuées sur\nla liste de sons.", - "SETTINGS_SYSTEM_RELOADSONGCACHE": "Vider le cache et recharger les sons", - "SETTINGS_SYSTEM_RELOADSONGCACHE_DESC": "Supprime le fichier de base\nde données et recharge les sons.", - - "SETTINGS_SYSTEM_IMPORTSCOREINI": "Import Score.ini Files", - "SETTINGS_SYSTEM_IMPORTSCOREINI_DESC": "Imports Score.ini files to the database.\n\nWARNING\nThe following will not be transferred:\n- Clear statuses\n- Gameplay modifiers\n- # of hits (Good, Ok, Bad, Drumroll, etc.)\n- Dan exam scores", - "SETTINGS_SYSTEM_IMPORTSCOREINI_STATUS1": "Searching for scores...", - // {0}: Total # of score.ini files to be processed - // {1}: # of score.ini files successfully imported - // {2}: # of score.ini files currently processed - // {3}: # of score.ini files skipped - // {4}: # of score.ini files that failed to import due to an error - // {5}: Name of the current score.ini file being processed. - "SETTINGS_SYSTEM_IMPORTSCOREINI_STATUS2": "Processing {0} scores...\n{1} of {2} imported ({3} skipped / {4} failed)\n\n{5}", - - "SETTINGS_SYSTEM_HIDEDANTOWER": "Masquer Dan/Tour", - "SETTINGS_SYSTEM_HIDEDANTOWER_DESC": "Masque les sons de type Dan ou\nTour dans le menu Partie rapide.\nNote: Cette option prend effet\n après le rechargement des sons.", - - // Settings - System - Graphics - "SETTINGS_SYSTEM_FULLSCREEN": "Plein écran", - "SETTINGS_SYSTEM_FULLSCREEN_DESC": "Choisir entre le mode plein \nécran et fenêtre.", - "SETTINGS_SYSTEM_VSYNC": "Mode VSync", - "SETTINGS_SYSTEM_VSYNC_DESC": "Activer ou non la synchronisation verticale.\nLimite les FPS à 60,\nrendant le défilement fluide\nmais augmentant la latence des entrées.\nSi désactivé, il n'y a pas de limite\naux FPS donc moins de latences,\nmais le défilement des notes peut être sacadé.", - "SETTINGS_SYSTEM_GRAPHICSAPI": "Graphics API", - "SETTINGS_SYSTEM_GRAPHICSAPI_DESC": "Drawing Method:\nSelect from either OpenGL,\nDirectX11, Vulkan, or Metal.\nOpenGL is slow, but compatible & stable.\nDirectX11 is fast and stable, but only\nworks on Windows.\nVulkan works fastest on Linux.\nMetal only works on MacOS.\n\nThis will take effect after game reboot.", - "SETTINGS_SYSTEM_TEXTUREASYNC": "ASync Texture Loading", - "SETTINGS_SYSTEM_TEXTUREASYNC_DESC": "Texture Loading Type:\nFreeze on startup disappears\nTurn this option off if some textures turn black\nThis change will take effect after restarting OpenTaiko\n", - - "SETTINGS_SYSTEM_BGMOVIE": "Activer les vidéos de fond", - "SETTINGS_SYSTEM_BGMOVIE_DESC": "Activer ou non les vidéos en jeu.\nSi activé et qu'une musique ne contient\npas de vidéo, le décor est un fond noir.", - "SETTINGS_SYSTEM_BGMOVIEDISPLAY": "Video Playback Display Mode", - "SETTINGS_SYSTEM_BGMOVIEDISPLAY_DESC": "Change how videos are displayed\nin the background.", - "SETTINGS_SYSTEM_BGMOVIEDISPLAY_NONE": "None", - "SETTINGS_SYSTEM_BGMOVIEDISPLAY_FULL": "Full Display", - "SETTINGS_SYSTEM_BGMOVIEDISPLAY_MINI": "Mini Display", - "SETTINGS_SYSTEM_BGMOVIEDISPLAY_BOTH": "Both", - "SETTINGS_SYSTEM_LANEOPACITY": "Opacité de la lane", - "SETTINGS_SYSTEM_LANEOPACITY_DESC": "Contrôle l'opacité de la lane lorsqu'une\nvideo est jouée en fond.", - - "SETTINGS_SYSTEM_BGA": "Afficher le décor", - "SETTINGS_SYSTEM_BGA_DESC": "Activer ou non les animations de décor.", - "SETTINGS_SYSTEM_DISPLAYCHARA": "Afficher les personnages", - "SETTINGS_SYSTEM_DISPLAYCHARA_DESC": "Afficher les personnages en jeu.", - "SETTINGS_SYSTEM_DISPLAYDANCER": "Afficher les danceurs", - "SETTINGS_SYSTEM_DISPLAYDANCER_DESC": "Afficher les danceurs en jeu.", - "SETTINGS_SYSTEM_DISPLAYMOB": "Afficher le mob", - "SETTINGS_SYSTEM_DISPLAYMOB_DESC": "Afficher le mob en jeu.", - "SETTINGS_SYSTEM_DISPLAYRUNNER": "Afficher les coureurs", - "SETTINGS_SYSTEM_DISPLAYRUNNER_DESC": "Afficher les coureurs en jeu.", - "SETTINGS_SYSTEM_DISPLAYFOOTER": "Afficher le footer", - "SETTINGS_SYSTEM_DISPLAYFOOTER_DESC": "Afficher le footer en jeu.", - "SETTINGS_SYSTEM_DISPLAYPUCHI": "Afficher les PuchiCharas", - "SETTINGS_SYSTEM_DISPLAYPUCHI_DESC": "Afficher les PuchiCharas en jeu.", - "SETTINGS_SYSTEM_SIMPLEMODE": "SimpleMode", - "SETTINGS_SYSTEM_SIMPLEMODE_DESC": "Simplifies drawing by hiding most visual\nflare and effects during gameplay.", - - "SETTINGS_SYSTEM_SKIN": "Skin actuel", - "SETTINGS_SYSTEM_SKIN_DESC": "Choisir le skin utilisé dans le dossier System.", - - // Settings - System - Audio - "SETTINGS_SYSTEM_SONGPLAYBACK": "Activer la musique en jeu", - "SETTINGS_SYSTEM_SONGPLAYBACK_DESC": "Activer ou non la musique en jeu.", - "SETTINGS_SYSTEM_USESONGVOL": "Activer l'option SONGVOL", - "SETTINGS_SYSTEM_USESONGVOL_DESC": "Active l'option SONGVOL dans les fichiers .tja.\nPermet de faire varier le volume des notes.", - "SETTINGS_SYSTEM_SEVOL": "Volume des effets sonores", - "SETTINGS_SYSTEM_SEVOL_DESC": "Ajuste le volume des notes et effets sonores.\nSi 0 aucun son ne sera joué lors d'une frappe.\nVous devez redemarrer le jeu pour que\ncette option prenne effet.", - "SETTINGS_SYSTEM_VOICEVOL": "Volume des voix", - "SETTINGS_SYSTEM_VOICEVOL_DESC": "Ajuste le volume des voix.\nVous devez redemarrer le jeu pour que\ncette option prenne effet.", - "SETTINGS_SYSTEM_SONGVOL": "Volume de la musique", - "SETTINGS_SYSTEM_SONGVOL_DESC": "Ajuste le volume de la musique.\nVous devez redemarrer le jeu pour que\ncette option prenne effet.", - "SETTINGS_SYSTEM_SONGPREVIEWVOL": "Volume de la prévisualisation de la musique", - "SETTINGS_SYSTEM_SONGPREVIEWVOL_DESC": "Ajuste le volume de la prévisualisation de la musique.\nVous devez redemarrer le jeu pour que\ncette option prenne effet.", - "SETTINGS_SYSTEM_VOLINCREMENT": "Volume du clavier", - "SETTINGS_SYSTEM_VOLINCREMENT_DESC": "Reduit le volume en appuyant sur [\n et l'augmente en appuyant sur ].\nDéfinit l'amplitude modifiée par appui.\nEntre 1 et 20.", - - "SETTINGS_SYSTEM_SONGPLAYBACKBUFFER": "Délai avant la musique", - "SETTINGS_SYSTEM_SONGPLAYBACKBUFFER_DESC": "Temps de delai avant le début de la musique en jeu.\nReduire cette valeur peut faire que\nla musique soit jouée trop tôt.", - "SETTINGS_SYSTEM_SONGPREVIEWBUFFER": "Délai avant la prévisualisation de la musique", - "SETTINGS_SYSTEM_SONGPREVIEWBUFFER_DESC": "Temps pris avant la prévisualisation\nde la musique dans le menu.\nRéduire cette valeur\npeut faire que la prévisualisation\nsoit lancée avant l'animation du menu.", - - "SETTINGS_SYSTEM_AUDIOPLAYBACK": "Interface sonore", - "SETTINGS_SYSTEM_AUDIOPLAYBACK_DESC": "ASIO:\n- Fonctionne seulement avec les appareils compatibles.\n- Latence d'entrée les plus faibles\nWasapi:\n- Latence d'entrée généralement faible\n- Bloque les sons exterieurs à OpenTaiko\nDirect Sound:\n- Permet les sons exterieurs à OpenTaiko\n- Latence d'entrée élevée\n", - "SETTINGS_SYSTEM_ASIOPLAYBACK": "Interface Asio", - "SETTINGS_SYSTEM_ASIOPLAYBACK_DESC": "Choisir une inderface pour ASIO.", - "SETTINGS_SYSTEM_WASAPIBUFFER": "Taille du buffer Wasapi", - "SETTINGS_SYSTEM_WASAPIBUFFER_DESC": "Change la taille du buffer WASAPI.\nA définir au plus bas possible\nsans causer de problèmes de son\ncomme des freezes ou un timing incorrect.\nLe definir à 0 pour une estimation automatique,\nou chercher la valeur la plus appropriée\nen en essayant plusieurs.", - "SETTINGS_SYSTEM_BASSBUFFER": "Bass Buffer Size", - "SETTINGS_SYSTEM_BASSBUFFER_DESC": "Buffer size when using Bass:\nSize can be between 0~99999ms.\nA value of 0 will make the OS\nautomatically decide the size.\nThe smaller the value, the less\naudio lag there is, but may also\ncause abnormal/crackling audio.\n※ NOTE: Exit CONFIGURATION to make the\n  settings take effect.", - "SETTINGS_SYSTEM_OSTIMER": "Utiliser le timer de l'OS", - "SETTINGS_SYSTEM_OSTIMER_DESC": "Permet un défilement plus fluide des notes,\nmais peut augmenter les latences sonores.\nLe désactiver peut rendre le défilement\nplus sacadé,\nmais assure la présence d'aucun lag sonore.\nSeulement disponible avec\nWASAPI ou ASIO.\n", - - // Settings - System - Misc. - "SETTINGS_SYSTEM_LOG": "Journalisation", - "SETTINGS_SYSTEM_LOG_DESC": "Génère un fichier TJAPlayer3.log file à la fermeture\ndu jeu.\nPermet l'évaluation des performances et\nfacilite l'identification des erreurs.", - "SETTINGS_SYSTEM_RANDOMSUBFOLDER": "Sous-dossiers pour la séléction aléatoire", - "SETTINGS_SYSTEM_RANDOMSUBFOLDER_DESC": "Parcourir les sous-dossiers \nrécursivement lors de l'utilisation \ndu bouton 'Surprend moi !'.", - "SETTINGS_SYSTEM_DEBUGMODE": "Mode Debug", - "SETTINGS_SYSTEM_DEBUGMODE_DESC": "Activer ou non les informations \nde déboggage en jeu.", - "SETTINGS_SYSTEM_AUTOSCREENSHOT": "Capture d'écran automatique", - "SETTINGS_SYSTEM_AUTOSCREENSHOT_DESC": "Permet la prise automatique de capture d'écran\nà la fin d'une partie.\nSeulement déclanché en cas de meilleur score,\nqui peut ne pas refleter parfaitement\nla qualité de celui-ci.", - "SETTINGS_SYSTEM_DISCORDRPC": "Rich Presence Discord", - "SETTINGS_SYSTEM_DISCORDRPC_DESC": "Active ou non le partage d'informations\nde jeu avec Discord.", - "SETTINGS_SYSTEM_BUFFEREDINPUT": "Bufferisation des entrées", - "SETTINGS_SYSTEM_BUFFEREDINPUT_DESC": "Génère un fichier TJAPlayer3.log file à la fermeture\ndu jeu.\nPermet l'évaluation des performances et\nfacilite l'identification des erreurs.", - - // Settings - Gameplay - "SETTINGS_GAME_GLOBALOFFSET": "Décalage général", - "SETTINGS_GAME_GLOBALOFFSET_DESC": "Modifie la valeur OFFSET\nlue pour tout les sons.\nDéfinit entre -999 to 999ms.\nUne valeur négative peut réduire \nles latences d'entrées.", - - "SETTINGS_GAME_CALIBRATION": "Calibrate Offset", - "SETTINGS_GAME_CALIBRATION_DESC": "Calibrate your offset.\nGlobal Offset will be overwritten if saved.", - "SETTINGS_GAME_CALIBRATION_OFFSET": "OFFSET: {0}", - - "SETTINGS_GAME_BADCOUNT": "Mort subite", - "SETTINGS_GAME_BADCOUNT_DESC": "Mode mort subite :\nSi 1 ou plus, spécifiez le nombre de \nnotes ratées maximales autorisées avant \nde perdre la partie.\nSi 0 le mode mort subite est désactivé.", - "SETTINGS_GAME_NOTELOCK": "Notes vérouillées", - "SETTINGS_GAME_NOTELOCK_DESC": "Si activé, taper le tambour entre\ndeux notes ajoute un MAUVAIS.", - "SETTINGS_GAME_AILEVEL": "Niveau de l'IA", - "SETTINGS_GAME_AILEVEL_DESC": "Determine les performances de l'IA.", - "SETTINGS_GAME_NORMALGAUGE": "Gauge normale par défaut", - "SETTINGS_GAME_NORMALGAUGE_DESC": "Ignore les gauges définies par personnage.", - - "SETTINGS_GAME_AUTOP1": "Joueur 1 Auto", - "SETTINGS_GAME_AUTOP1_DESC": "Activer le mode automatique pour\nle joueur 1.\nActivable en appuyant sur F3 dans \nle menu de selection des musiques.", - "SETTINGS_GAME_AUTOP2": "Joueur 2 Auto", - "SETTINGS_GAME_AUTOP2_DESC": "Activer le mode automatique pour\nle joueur 2.\nActivable en appuyant sur F4 dans \nle menu de selection des musiques.", - "SETTINGS_GAME_AUTOROLL": "Vitesse des rolls", - "SETTINGS_GAME_AUTOROLL_DESC": "Nombre de frappes par seconde lors\ndes rolls en mode automatique.\nDésactivé si 0, au maximum une\nfrappe par image.", - - "SETTINGS_GAME_NOINFO": "Pas d'informations", - "SETTINGS_GAME_NOINFO_DESC": "Activer ou non l'affichage \ndes informations des musiques.", - "SETTINGS_GAME_COMBODISPLAY": "Combo affiché minimum", - "SETTINGS_GAME_COMBODISPLAY_DESC": "Définit le combo minimum affiché.\nEntre 1 et 99999.", - "SETTINGS_GAME_SCOREDISPLAY": "Resultats en direct", - "SETTINGS_GAME_SCOREDISPLAY_DESC": "Affiche le nombre de BON/OK/MAUVAIS\nen direct sur le bas de l'écran.\n(Seulement en mode 1 joueur)", - "SETTINGS_GAME_BRANCHANIME": "Set d'animation des branches", - "SETTINGS_GAME_BRANCHANIME_DESC": "Change le set d'animation\nlors de la présence d'une branche.\nTYPE-A: Gen-2\nTYPE-B: Gen-3\n", - - "SETTINGS_GAME_DEFAULTDIFF": "Difficulté par défaut", - "SETTINGS_GAME_DEFAULTDIFF_DESC": "Change la difficulté par défaut lors de\nl'écran de selection des musiques.", - "SETTINGS_GAME_EXEXTRAANIME": "Use Extreme/Extra Transitions", - "SETTINGS_GAME_EXEXTRAANIME_DESC": "Play a skin-defined animation\nwhile switching between\nExtreme & Extra.", - - // Settings - Gameplay - Training Mode - "SETTINGS_TRAINING_SKIPCOUNT": "Measure Skip Count", - "SETTINGS_TRAINING_SKIPCOUNT_DESC": "The number of measures to skip while\npressing Skip Forward/Back Measure in\nTraining Mode.", - "SETTINGS_TRAINING_JUMPINTERVAL": "Measure Jump Time Interval", - "SETTINGS_TRAINING_JUMPINTERVAL_DESC": "The amount of time in milliseconds needed to\nrepeatedly hit the Left/Right Blue keys in\norder to jump to a bookmarked measure in\nTraining Mode.", - - // Settings - Broken/Unused/Might Deprecate/Might Update - // Translate these anyways, even if their future is uncertain. - "SETTINGS_SYSTEM_IMAGEPREVIEWBUFFER": "Délai avant l'image", - "SETTINGS_SYSTEM_IMAGEPREVIEWBUFFER_DESC": "Non utilisé, ancienne option de DTXMania.", - "SETTINGS_SYSTEM_TIMESTRETCH": "Mode Time Stretch", - "SETTINGS_SYSTEM_TIMESTRETCH_DESC": "Non utilisé, ancienne option de DTXMania.", - "SETTINGS_SYSTEM_FASTRENDER": "Affichage rapide", - "SETTINGS_SYSTEM_FASTRENDER_DESC": "Activer ou non le rendu des images avant le chargement des musiques.", - "SETTINGS_GAME_BRANCHGUIDE": "Guide des branches", - "SETTINGS_GAME_BRANCHGUIDE_DESC": "Affiche un guide numérique\nafin de voir quelle branche sera choisie.\nDésactivé en mode automatique.", - "SETTINGS_GAME_BIGNOTEJUDGE": "Double frappes", - "SETTINGS_GAME_BIGNOTEJUDGE_DESC": "Impose de frapper les deux côtés\ndu tambour afin d'obtenir le bonus x2 points\npour les grandes notes.", - "SETTINGS_GAME_SURVIVAL": "Mode survie", - "SETTINGS_GAME_SURVIVAL_DESC": "Non fonctionnel.", - "SETTINGS_GAME_SCOREMODE": "Méthode de Scoring", - "SETTINGS_GAME_SCOREMODE_DESC": "Choisir la formule de calcul du score.\nTYPE-A: Gen-1\nTYPE-B: Gen-2\nTYPE-C: Gen-3\n", - "SETTINGS_GAME_SHINUCHI": "Mode Shin'uchi", - "SETTINGS_GAME_SHINUCHI_DESC": "Utilise la methode Gen-4 de\ncalcul du score.", - - // Key Assignment - System - "SETTINGS_KEYASSIGN_SYSTEM_CAPTURE": "Capture d'écran", - "SETTINGS_KEYASSIGN_SYSTEM_CAPTURE_DESC": "Assigner la touche pour le \ncapture d'écran.", - "SETTINGS_KEYASSIGN_SYSTEM_INCREASEVOL": "Increase Volume", - "SETTINGS_KEYASSIGN_SYSTEM_INCREASEVOL_DESC": "System key assign:\nAssign any key for increasing music volume.\n(You can only use keyboard. You can't\nuse gamepads.)", - "SETTINGS_KEYASSIGN_SYSTEM_DECREASEVOL": "Decrease Volume", - "SETTINGS_KEYASSIGN_SYSTEM_DECREASEVOL_DESC": "System key assign:\nAssign any key for decreasing music volume.\n(You can only use keyboard. You can't\nuse gamepads.)", - "SETTINGS_KEYASSIGN_SYSTEM_DISPLAYHITS": "Display Hit Values", - "SETTINGS_KEYASSIGN_SYSTEM_DISPLAYHITS_DESC": "System key assign:\nAssign any key for displaying hit values.\n(You can only use keyboard. You can't\nuse gamepads.)", - "SETTINGS_KEYASSIGN_SYSTEM_DISPLAYDEBUG": "Display Debug Menu", - "SETTINGS_KEYASSIGN_SYSTEM_DISPLAYDEBUG_DESC": "System key assign:\nAssign any key for displaying debug menu.\n(You can only use keyboard. You can't\nuse gamepads.)", - "SETTINGS_KEYASSIGN_SYSTEM_QUICKCONFIG": "Quick Config", - "SETTINGS_KEYASSIGN_SYSTEM_QUICKCONFIG_DESC": "System key assign:\nAssign any key for accessing the quick config.\n(You can only use keyboard. You can't\nuse gamepads.)", - "SETTINGS_KEYASSIGN_SYSTEM_QUICKHEYA": "Player Customization", - "SETTINGS_KEYASSIGN_SYSTEM_QUICKHEYA_DESC": "System key assign:\nAssign any key for player customization.\n(You can only use keyboard. You can't\nuse gamepads.)", - "SETTINGS_KEYASSIGN_SYSTEM_SONGSORT": "Change Song Sort", - "SETTINGS_KEYASSIGN_SYSTEM_SONGSORT_DESC": "System key assign:\nAssign any key for resorting songs.\n(You can only use keyboard. You can't\nuse gamepads.)", - "SETTINGS_KEYASSIGN_SYSTEM_AUTO1P": "Toggle Auto (P1)", - "SETTINGS_KEYASSIGN_SYSTEM_AUTO1P_DESC": "System key assign:\nAssign any key for toggling auto (P1).\n(You can only use keyboard. You can't\nuse gamepads.)", - "SETTINGS_KEYASSIGN_SYSTEM_AUTO2P": "Toggle Auto (P2)", - "SETTINGS_KEYASSIGN_SYSTEM_AUTO2P_DESC": "System key assign:\nAssign any key for toggling auto (P2).\n(You can only use keyboard. You can't\nuse gamepads.)", - "SETTINGS_KEYASSIGN_SYSTEM_TRAINING": "Toggle Training Mode", - "SETTINGS_KEYASSIGN_SYSTEM_TRAINING_DESC": "System key assign:\nAssign any key for toggling training mode.\n(You can only use keyboard. You can't\nuse gamepads.)", - "SETTINGS_KEYASSIGN_SYSTEM_BGMOVIEDISPLAY": "Cycle Video Playback Display", - "SETTINGS_KEYASSIGN_SYSTEM_BGMOVIEDISPLAY_DESC": "System key assign:\nAssign any key for cycling video playback\ndisplay modes.\n(You can only use keyboard. You can't\nuse gamepads.)", - - // Key Assignment - Gameplay - "SETTINGS_KEYASSIGN_GAME_DECIDE": "Decide", - "SETTINGS_KEYASSIGN_GAME_DECIDE_DESC": "Touche de selection \ndans les menus.", - "SETTINGS_KEYASSIGN_GAME_CANCEL": "Cancel", - "SETTINGS_KEYASSIGN_GAME_CANCEL_DESC": "Touche d'annulation \ndans les menus.", - "SETTINGS_KEYASSIGN_GAME_LEFTCHANGE": "LeftChange", - "SETTINGS_KEYASSIGN_GAME_LEFTCHANGE_DESC": "Touche de navigation (gauche) \ndans les menus.", - "SETTINGS_KEYASSIGN_GAME_RIGHTCHANGE": "RightChange", - "SETTINGS_KEYASSIGN_GAME_RIGHTCHANGE_DESC": "Touche de navigation (droite) \ndans les menus.", - - "SETTINGS_KEYASSIGN_GAME_LEFTRED": "Rouge gauche", - "SETTINGS_KEYASSIGN_GAME_LEFTRED_DESC": "Assignation de la touche \nRouge gauche pour le tambour.", - "SETTINGS_KEYASSIGN_GAME_RIGHTRED": "Rouge droit", - "SETTINGS_KEYASSIGN_GAME_RIGHTRED_DESC": "Assignation de la touche \nRouge droit pour le tambour.", - "SETTINGS_KEYASSIGN_GAME_LEFTBLUE": "Bleu gauche", - "SETTINGS_KEYASSIGN_GAME_LEFTBLUE_DESC": "Assignation de la touche \nBleu gauche pour le tambour.", - "SETTINGS_KEYASSIGN_GAME_RIGHTBLUE": "Bleu droit", - "SETTINGS_KEYASSIGN_GAME_RIGHTBLUE_DESC": "Assignation de la touche \nBleu droit pour le tambour.", - "SETTINGS_KEYASSIGN_GAME_CLAP": "Clap", - "SETTINGS_KEYASSIGN_GAME_CLAP_DESC": "Assignation de la touche \nClap pour les bongos.", - - "SETTINGS_KEYASSIGN_GAME_LEFTRED2P": "Rouge gauche 2P", - "SETTINGS_KEYASSIGN_GAME_LEFTRED2P_DESC": "Assignation de la touche \nRouge gauche pour le tambour.\n(2P)", - "SETTINGS_KEYASSIGN_GAME_RIGHTRED2P": "Rouge droit 2P", - "SETTINGS_KEYASSIGN_GAME_RIGHTRED2P_DESC": "Assignation de la touche \nRouge droit pour le tambour.\n(2P)", - "SETTINGS_KEYASSIGN_GAME_LEFTBLUE2P": "Bleu gauche 2P", - "SETTINGS_KEYASSIGN_GAME_LEFTBLUE2P_DESC": "Assignation de la touche \nBleu gauche pour le tambour.\n(2P)", - "SETTINGS_KEYASSIGN_GAME_RIGHTBLUE2P": "Bleu droit 2P", - "SETTINGS_KEYASSIGN_GAME_RIGHTLBUE2P_DESC": "Assignation de la touche \nBleu droit pour le tambour.\n(2P)", - "SETTINGS_KEYASSIGN_GAME_CLAP2P": "Clap 2P", - "SETTINGS_KEYASSIGN_GAME_CLAP2P_DESC": "Assignation de la touche \nClap pour les bongos.\n(2P)", - - "SETTINGS_KEYASSIGN_GAME_LEFTRED3P": "Rouge gauche 3P", - "SETTINGS_KEYASSIGN_GAME_LEFTRED3P_DESC": "Assignation de la touche \nRouge gauche pour le tambour.\n(3P)", - "SETTINGS_KEYASSIGN_GAME_RIGHTRED3P": "Rouge droit 3P", - "SETTINGS_KEYASSIGN_GAME_RIGHTRED3P_DESC": "Assignation de la touche \nRouge droit pour le tambour.\n(3P)", - "SETTINGS_KEYASSIGN_GAME_LEFTBLUE3P": "Bleu gauche 3P", - "SETTINGS_KEYASSIGN_GAME_LEFTBLUE3P_DESC": "Assignation de la touche \nBleu gauche pour le tambour.\n(3P)", - "SETTINGS_KEYASSIGN_GAME_RIGHTBLUE3P": "Bleu droit 3P", - "SETTINGS_KEYASSIGN_GAME_RIGHTLBUE3P_DESC": "Assignation de la touche \nBleu droit pour le tambour.\n(3P)", - "SETTINGS_KEYASSIGN_GAME_CLAP3P": "Clap 3P", - "SETTINGS_KEYASSIGN_GAME_CLAP3P_DESC": "Assignation de la touche \nClap pour les bongos.\n(3P)", - - "SETTINGS_KEYASSIGN_GAME_LEFTRED4P": "Rouge gauche 4P", - "SETTINGS_KEYASSIGN_GAME_LEFTRED4P_DESC": "Assignation de la touche \nRouge gauche pour le tambour.\n(4P)", - "SETTINGS_KEYASSIGN_GAME_RIGHTRED4P": "Rouge droit 4P", - "SETTINGS_KEYASSIGN_GAME_RIGHTRED4P_DESC": "Assignation de la touche \nRouge droit pour le tambour.\n(4P)", - "SETTINGS_KEYASSIGN_GAME_LEFTBLUE4P": "Bleu gauche 4P", - "SETTINGS_KEYASSIGN_GAME_LEFTBLUE4P_DESC": "Assignation de la touche \nBleu gauche pour le tambour.\n(4P)", - "SETTINGS_KEYASSIGN_GAME_RIGHTBLUE4P": "Bleu droit 4P", - "SETTINGS_KEYASSIGN_GAME_RIGHTLBUE4P_DESC": "Assignation de la touche \nBleu droit pour le tambour.\n(4P)", - "SETTINGS_KEYASSIGN_GAME_CLAP4P": "Clap 4P", - "SETTINGS_KEYASSIGN_GAME_CLAP4P_DESC": "Assignation de la touche \nClap pour les bongos.\n(4P)", - - "SETTINGS_KEYASSIGN_GAME_LEFTRED5P": "Rouge gauche 5P", - "SETTINGS_KEYASSIGN_GAME_LEFTRED5P_DESC": "Assignation de la touche \nRouge gauche pour le tambour.\n(5P)", - "SETTINGS_KEYASSIGN_GAME_RIGHTRED5P": "Rouge droit 5P", - "SETTINGS_KEYASSIGN_GAME_RIGHTRED5P_DESC": "Assignation de la touche \nRouge droit pour le tambour.\n(5P)", - "SETTINGS_KEYASSIGN_GAME_LEFTBLUE5P": "Bleu gauche 5P", - "SETTINGS_KEYASSIGN_GAME_LEFTBLUE5P_DESC": "Assignation de la touche \nBleu gauche pour le tambour.\n(5P)", - "SETTINGS_KEYASSIGN_GAME_RIGHTBLUE5P": "Bleu droit 5P", - "SETTINGS_KEYASSIGN_GAME_RIGHTLBUE5P_DESC": "Assignation de la touche \nBleu droit pour le tambour.\n(5P)", - "SETTINGS_KEYASSIGN_GAME_CLAP5P": "Clap 5P", - "SETTINGS_KEYASSIGN_GAME_CLAP5P_DESC": "Assignation de la touche \nClap pour les bongos.\n(5P)", - - // Key Assignment - Training - "SETTINGS_KEYASSIGN_TRAINING_PAUSE": "Pause Training", - "SETTINGS_KEYASSIGN_TRAINING_PAUSE_DESC": "Drums key assign:\nAssign any key for pausing.", - "SETTINGS_KEYASSIGN_TRAINING_AUTO": "Toggle Auto", - "SETTINGS_KEYASSIGN_TRAINING_AUTO_DESC": "Drums key assign:\nAssign any key for toggling auto.", - "SETTINGS_KEYASSIGN_TRAINING_BOOKMARK": "Add/Remove Bookmark", - "SETTINGS_KEYASSIGN_TRAINING_BOOKMARK_DESC": "Drums key assign:\nAssign any key for adding/removing bookmarks.", - "SETTINGS_KEYASSIGN_TRAINING_INCREASESCROLL": "Increase Scroll Speed", - "SETTINGS_KEYASSIGN_TRAINING_INCREASESCROLL_DESC": "Drums key assign:\nAssign any key for increasing scroll speed.", - "SETTINGS_KEYASSIGN_TRAINING_DECREASESCROLL": "Decrease Scroll Speed", - "SETTINGS_KEYASSIGN_TRAINING_DECREASESCROLL_DESC": "Drums key assign:\nAssign any key for decreasing scroll speed.", - "SETTINGS_KEYASSIGN_TRAINING_INCREASESPEED": "Increase Song Speed", - "SETTINGS_KEYASSIGN_TRAINING_INCREASESPEED_DESC": "Drums key assign:\nAssign any key for increasing song speed.", - "SETTINGS_KEYASSIGN_TRAINING_DECREASESPEED": "Decrease Song Speed", - "SETTINGS_KEYASSIGN_TRAINING_DECREASESPEED_DESC": "Drums key assign:\nAssign any key for decreasing song speed.", - "SETTINGS_KEYASSIGN_TRAINING_BRANCHNORMAL": "Set Branch to Normal", - "SETTINGS_KEYASSIGN_TRAINING_BRANCHNORMAL_DESC": "Drums key assign:\nAssign any key for setting a chart's branch\nto normal.", - "SETTINGS_KEYASSIGN_TRAINING_BRANCHEXPERT": "Set Branch to Expert", - "SETTINGS_KEYASSIGN_TRAINING_BRANCHEXPERT_DESC": "Drums key assign:\nAssign any key for setting a chart's branch\nto expert.", - "SETTINGS_KEYASSIGN_TRAINING_BRANCHMASTER": "Set Branch to Master", - "SETTINGS_KEYASSIGN_TRAINING_BRANCHMASTER_DESC": "Drums key assign:\nAssign any key for setting a chart's branch\nto master.", - "SETTINGS_KEYASSIGN_TRAINING_MOVEFORWARD": "Move Forward Measure", - "SETTINGS_KEYASSIGN_TRAINING_MOVEFORWARD_DESC": "Drums key assign:\nAssign any key for moving forward a measure.", - "SETTINGS_KEYASSIGN_TRAINING_MOVEBACKWARD": "Move Back Measure", - "SETTINGS_KEYASSIGN_TRAINING_MOVEBACKWARD_DESC": "Drums key assign:\nAssign any key for moving back a measure.", - "SETTINGS_KEYASSIGN_TRAINING_SKIPFORWARD": "Skip Forward Measures", - "SETTINGS_KEYASSIGN_TRAINING_SKIPFORWARD_DESC": "Drums key assign:\nAssign any key for skipping forward measures.", - "SETTINGS_KEYASSIGN_TRAINING_SKIPBACKWARD": "Skip Back Measures", - "SETTINGS_KEYASSIGN_TRAINING_SKIPBACKWARD_DESC": "Drums key assign:\nAssign any key for skipping back measures.", - "SETTINGS_KEYASSIGN_TRAINING_JUMPTOFIRST": "Jump to First Measure", - "SETTINGS_KEYASSIGN_TRAINING_JUMPTOFIRST_DESC": "Drums key assign:\nAssign any key for jumping to the first measure.", - "SETTINGS_KEYASSIGN_TRAINING_JUMPTOLAST": "Jump to Last Measure", - "SETTINGS_KEYASSIGN_TRAINING_JUMPTOLAST_DESC": "Drums key assign:\nAssign any key for jumping to the last measure.", - - // Title Screen - "TITLE_MODE_TAIKO": "Partie rapide", - "TITLE_MODE_DAN": "Défis du Dojo", - "TITLE_MODE_TOWER": "Tours rhytmiques", - "TITLE_MODE_SHOP": "Magasin", - "TITLE_MODE_STORY": "Aventure", - "TITLE_MODE_HEYA": "Ma Pièce", - "TITLE_MODE_SETTINGS": "Paramètres", - "TITLE_MODE_EXIT": "Quitter le jeu", - "TITLE_MODE_ONLINE": "Salon 'l'En-Ligne'", - "TITLE_MODE_DOCUMENT": "Encyclopedie", - "TITLE_MODE_AI": "Mode contre l'IA", - "TITLE_MODE_STATS": "Statistiques", - "TITLE_MODE_EDITOR": "Editeur de partition", - "TITLE_MODE_TOOLS": "Boîte à outils", - - "TITLE_MODE_TAIKO_DESC": "Jouez vos sons favoris\nà votre propre rhythme !", - "TITLE_MODE_DAN_DESC": "Jouez plusieurs sons à la suite\nen suivant des règles exigentes\ndans le but de reussir le défi !", - "TITLE_MODE_TOWER_DESC": "Jouez de longs sons avec un\nnombre de vies limité et\natteignez le sommet de la tour !", - "TITLE_MODE_SHOP_DESC": "Achetez de nouveaux sons ou personnages\ngrâce aux médailles acquises en jeu !", - "TITLE_MODE_STORY_DESC": "Surmontez une multitude d'obstables\nafin de découvrir du nouveau contenu\net de nouveaux horizons !", - "TITLE_MODE_HEYA_DESC": "Changez votre personnage\nou les informations de votre\nplaque nominative !", - "TITLE_MODE_SETTINGS_DESC": "Changez votre style de jeu\n ou les paramètres généraux !", - "TITLE_MODE_EXIT_DESC": "Quitter le jeu.\nÀ bientôt !", - "TITLE_MODE_ONLINE_DESC": "Telechargez de nouvelles\npartitions et du nouveau\ncontenu depuis internet !", - "TITLE_MODE_DOCUMENT_DESC": "Apprenez à propos des\nnouvelles fonctionalitées et\ncomment ajouter du contenu!", - "TITLE_MODE_AI_DESC": "Combattez une IA puissante à\ntravers plusieurs sections et\ndécrochez la victoire !", - "TITLE_MODE_STATS_DESC": "Suivez votre progression en \ndirect !", - "TITLE_MODE_EDITOR_DESC": "Créez vos propres partitions\n.tja avec vos sons favoris !", - "TITLE_MODE_TOOLS_DESC": "Utilisez divers outils\nproposés afin de faciliter\nl'ajout de contenu !", - - // Song Select - // {0}: Folder path - "SONGSELECT_RETURN_PATH": "Retour ({0})", - "SONGSELECT_RANDOM": "Surprend moi!", - // {0}: Folder path - "SONGSELECT_RANDOM_PATH": "Surprend moi! ({0})", - - "SONGSELECT_SORT": "Sort Menu", - "SONGSELECT_SORT_PATH": "Chemin", - "SONGSELECT_SORT_TITLE": "Titre", - "SONGSELECT_SORT_SUBTITLE": "Sous-titre", - "SONGSELECT_SORT_LEVEL": "Niveau", - - // {0}: Main BPM - "SONGSELECT_INFO_BPM": "BPM: {0:0.###}", - // {0}: Main BPM - // {1}: Minimum BPM - // {2}: Maximum BPM - "SONGSELECT_INFO_BPM_VARIABLE": "BPM: {0:0.###} ({1:0.###}-{2:0.###})", - // {0}: Charter name - "SONGSELECT_INFO_CHARTER": "Charter: {0}", - - "SONGSELECT_QUICKCONFIG": "Quick Config", - "SONGSELECT_QUICKCONFIG_MORE": "More...", - - // Modals - "MODAL_TITLE_COIN": "Jetons obtenus!", - "MODAL_TITLE_CHARA": "Personnage obtenu!", - "MODAL_TITLE_PUCHI": "Petit personnage obtenu!", - "MODAL_TITLE_NAMEPLATE": "Titre obtenu!", - "MODAL_TITLE_SONG": "New Song!", - // {0}: Newly obtained coins - // {1}: New total coin count - "MODAL_MESSAGE_COIN": "+{0} Jetons (Total: {1})", - - // Online Lounge - "ONLINE_EXIT": "Retour au menu principal", - "ONLINE_DOWNLOAD": "Télécharger du contenu", - "ONLINE_DOWNLOAD_CDN": "Choisir un CDN", - "ONLINE_DOWNLOAD_SONG": "Télécharger des Sons", - "ONLINE_DOWNLOAD_CHARA": "Télécharger des Personnages (Not available)", - "ONLINE_DOWNLOAD_PUCHI": "Télécharger des Puchicharas (Not available)", - "ONLINE_MULTIPLAYER": "Multijoueur en ligne (Not available)", - - // Taiko Towers - "TOWER_FLOOR_REACHED": "Étage atteint", - "TOWER_FLOOR_INITIAL": "", - "TOWER_SCORE": "Score", - "TOWER_SCORE_INITIAL": "P", - - // Dan Dojo - "DAN_CONDITION_NAME_SOUL": "Jauge d'âme", - "DAN_CONDITION_NAME_GOOD": "Nombre de Bon", - "DAN_CONDITION_NAME_OK": "Nombre de Ok", - "DAN_CONDITION_NAME_BAD": "Nombre de Mauvais", - "DAN_CONDITION_NAME_SCORE": "Score", - "DAN_CONDITION_NAME_ROLL": "Frappes successives", - "DAN_CONDITION_NAME_HIT": "Nombre de frappes", - "DAN_CONDITION_NAME_COMBO": "Combo", - "DAN_CONDITION_NAME_ACCURACY": "Précision", - "DAN_CONDITION_NAME_ADLIB": "Nombre d'ADLIB", - "DAN_CONDITION_NAME_BOMB": "Bombes activées", - - // Heya / Quick Heya - "HEYA_PUCHI": "Petit Personnage", - "HEYA_CHARA": "Personnage", - "HEYA_DAN": "Titre Dan", - "HEYA_NAMEPLATE": "Titre", - - // {0}: Asset name - "HEYA_DESCRIPTION_NAME": "Name: {0}", - // {0}: Asset rarity - "HEYA_DESCRIPTION_RARITY": "Rarity: {0}", - "HEYA_DESCRIPTION_RARITY0": "Poor", - "HEYA_DESCRIPTION_RARITY1": "Common", - "HEYA_DESCRIPTION_RARITY2": "Uncommon", - "HEYA_DESCRIPTION_RARITY3": "Rare", - "HEYA_DESCRIPTION_RARITY4": "Epic", - "HEYA_DESCRIPTION_RARITY5": "Legendary", - "HEYA_DESCRIPTION_RARITY6": "Mythical", - // {0}: Asset author - "HEYA_DESCRIPTION_AUTHOR": "Author: {0}", - // {0}: Gauge type - "HEYA_DESCRIPTION_EFFECTS_GAUGETYPE": "Gauge Type: {0}", - "HEYA_DESCRIPTION_EFFECTS_GAUGETYPE_NORMAL": "Normal", - "HEYA_DESCRIPTION_EFFECTS_GAUGETYPE_HARD": "Hard", - "HEYA_DESCRIPTION_EFFECTS_GAUGETYPE_EXTREME": "Extreme", - "HEYA_DESCRIPTION_EFFECTS_GAUGETYPE_NORMAL_DESC": "Finish the play within the clear zone to pass the song!", - "HEYA_DESCRIPTION_EFFECTS_GAUGETYPE_HARD_DESC": "The gauge starts full and sharply depletes at each miss!\nBe careful, if the gauge value reachs 0, the play is automatically failed!", - "HEYA_DESCRIPTION_EFFECTS_GAUGETYPE_EXTREME_DESC": "The gauge starts full and sharply depletes at each miss!\nA strange power seems to reduce the margin of error through the song...", - // {0}: Percentage of mines - "HEYA_DESCRIPTION_EFFECTS_BOMBFACTOR": "Bomb Factor: {0}% of notes converted to mines in Minesweeper", - // {0}: Percentage of fuse rolls - "HEYA_DESCRIPTION_EFFECTS_FUSEFACTOR": "Fuse Factor: {0}% of balloons converted to fuse rolls in Minesweeper", - "HEYA_DESCRIPTION_EFFECTS_ALLSWAP": "All big notes become Swap notes", - "HEYA_DESCRIPTION_EFFECTS_SHOWADLIB": "ADLib notes become visible", - // {0}: # of auto-rolls per second - "HEYA_DESCRIPTION_EFFECTS_AUTOROLL": "Automatic Rolls at {0} hits/s", - "HEYA_DESCRIPTION_EFFECTS_SPLITLANE": "Split Lanes", - // {0}: Coin multiplier - "HEYA_DESCRIPTION_COIN_MULTIPLIER": "Coin multiplier: x{0}", - - // Unlock requirements & messages (Any Menu) - "UNLOCK_CONDITION_INVALID": "[ERREUR] Condition invalide", - "UNLOCK_CONDITION_SHOP": "L'article n'est disponible que dans le Magasin.", // cs - // {0}: Price of item - "UNLOCK_CONDITION_COST": "Prix en jetons: {0}", // ch, cs, cm - "UNLOCK_COIN_BOUGHT": "Article acheté!", - "UNLOCK_COIN_MORE": "Nombre de jetons insuffisant!", - - "UNLOCK_CONDITION_ERROR": "La condition suivante: {0} requires {1} values.", - "UNLOCK_CONDITION_ERROR2": "La condition suivante: {0} requires ({1} * n) values and n references.", - - // {0}: Coin earn requirement - // {1}: Current progress - "UNLOCK_CONDITION_EARN": "Earn a total of {0} coins to unlock this item! ({1}/{0})", // ce - // {0}: Total AI plays needed - // {1}: Current progress - "UNLOCK_CONDITION_AIPLAY": "Play {0} AI battle matches to unlock this item! ({1}/{0})", // ap - // {0}: Total AI wins needed - // {1}: Current progress - "UNLOCK_CONDITION_AIWIN": "Win {0} AI battle matches to unlock this item! ({1}/{0})", // aw - // {0}: Total plays needed - // {1}: Current progress - "UNLOCK_CONDITION_PLAY": "Play {0} songs to unlock this item! ({1}/{0})", // tp - // {0}: Clear type (i.e. Play, Clear, FC, Perfect, etc.) - // {1}: # of songs needed - // {2}: Difficulty type (i.e. Easy, Normal, Hard, Ex, etc.) - // {3}: Current progress - "UNLOCK_CONDITION_PLAYDIFF": "{0} {1} songs on {2} difficulty to unlock this item! ({3}/{1})", // dp - // {0}: Clear type (i.e. Play, Clear, FC, Perfect, etc.) - // {1}: # of songs needed - // {2}: Star rating (i.e. 8*, 9*, 10*, etc.) - // {3}: Current progress - "UNLOCK_CONDITION_PLAYLEVEL": "{0} {1} songs with a star rating of {2} to unlock this item! ({3}/{1})", // lp - // {0}: Current progress - // {1}: Total # of challenges - "UNLOCK_CONDITION_CHALLENGE": "Get the following performances to unlock this item: ({0}/{1})", // sp, sg, sc - // {0}: Clear type - // {1}: Song name - // {2}: Difficulty type - "UNLOCK_CONDITION_CHALLENGE_PLAYDIFF": "- {0} {1} on {2} difficulty.", // sp - // {0}: Clear type - // {1}: # of songs needed - // {2}: Genre name (i.e. "OpenTaiko Chapter II", "Dashy's Secrets", "Touhou Arrangements", etc.) - // {3}: Current progress - "UNLOCK_CONDITION_CHALLENGE_PLAYGENRE": "- {0} {1} songs within the {2} folder. ({3}/{1})", // sg - // {0}: Clear type - // {1} # of songs needed - // {2} Charter name (i.e. Komi, bol, Dashy, Colin, etc.) - // {3} Current progress - "UNLOCK_CONDITION_CHALLENGE_PLAYCHARTER": "- {0} {1} charts made by {2}. ({3}/{1})", // sc - - "UNLOCK_CONDITION_REQUIRE_PLAY": "Play", - "UNLOCK_CONDITION_REQUIRE_PLAY_MORE": "Play", - "UNLOCK_CONDITION_REQUIRE_ASSIST": "Get an Assisted Clear on", - "UNLOCK_CONDITION_REQUIRE_ASSIST_MORE": "Get at least an Assisted Clear on", - "UNLOCK_CONDITION_REQUIRE_CLEAR": "Get a Clear on", - "UNLOCK_CONDITION_REQUIRE_CLEAR_MORE": "Get at least a Clear on", - "UNLOCK_CONDITION_REQUIRE_FC": "Get a Full Combo on", - "UNLOCK_CONDITION_REQUIRE_FC_MORE": "Get at least a Full Combo on", - "UNLOCK_CONDITION_REQUIRE_PERFECT": "Get a Perfect on", - "UNLOCK_CONDITION_REQUIRE_PERFECT_MORE": "Get a Perfect on", - - // Pause Menu (Taiko/Tower/Dan Mode) - "PAUSE_TITLE": "Pause", - "PAUSE_RESUME": "Reprendre", - "PAUSE_RESTART": "Recommencer", - "PAUSE_EXIT": "Quitter", - - // AI Info - "AI_NAME": "IA", - "AI_TITLE": "Deus-Ex-Machina", - // {0}: Section No. - "AI_SECTION": "Section {0}", - - // Mods - "MOD_NONE": "Aucun", - "MOD_BLANK": "-", - "MOD_SWITCH_OFF": "Non", - "MOD_SWITCH_ON": "Oui", - "MOD_SCOREMULTIPLY": "Multiplicateur de score: {0}", - "MOD_COINMULTIPLY": "Multiplicateur de pièces: {0}", - - "MOD_SPEED": "Vitesse", - - "MOD_HIDE": "Discret", - "MOD_STEALTH": "Furtif", - - "MOD_FLIP": "Inverse", - - "MOD_RANDOM": "Hasard", - "MOD_RANDOM_SHUFFLE": "Hasardeux", - "MOD_RANDOM_CHAOS": "Chaotique", - - "MOD_TIMING": "Timing", - "MOD_TIMING1": "Laxiste", - "MOD_TIMING2": "Permissif", - "MOD_TIMING3": "Normal", - "MOD_TIMING4": "Strict", - "MOD_TIMING5": "Rigoureux", - - "MOD_JUSTICE": "Mode Punitif", - "MOD_SAFE": "Protegé", - "MOD_JUST": "Punitif", - - "MOD_GAMETYPE": "Game Type", - "MOD_GAMETYPE_TAIKO": "Taiko", - "MOD_GAMETYPE_KONGA": "Konga", - - "MOD_GAMEMODE": "Mode de jeu", - "MOD_GAMEMODE_TRAINING": "Mode entraînement", - - "MOD_AUTO": "Auto", - - "MOD_SONGSPEED": "Vitesse générale", - "SETTINGS_MOD_SONGSPEED_DESC": "Change le coefficient multiplicateur de \nla vitesse générale de la musique en jeu.Par exemple, vous pouvez la diviser par \n2 en l'établissant à 0.500 \nafin de vous entraîner plus serainement.\n\nNote: Cette option change aussi le ton de la musique.\nSi TimeStretch=ON, il peut y avoir du\nlag si la vitesse générale est inférieure à x0.900.", - - "MOD_HITSOUND": "Instrument", - - "MOD_FUN": "Extras", - "MOD_FUN_AVALANCHE": "Avalanche", - "MOD_FUN_MINESWEEPER": "Démineur" - }, - // In the case that a key is missing, this message will display, with the name of the missing/unknown key. - "InvalidKey": "KEY NOT FOUND: {0}", - // If a skin does not include a font for a specific language, the game will fallback to this language's fonts. This ensures that all text for all languages can be clearly read. - // Font name can be a file, or the name of an already installed font (i.e. "Arial"). If using a font name instead of a file name, please ensure that the user already has this font installed on their computer. - "FontName": "Arial", - "BoxFontName": "Arial" -} +{ + // The folder's name is used as the ID, which is used to identify which localized data to use. + // This includes TJAs with localized titles/subtitles (i.e. TITLEJA/SUBTITLEJA) and Lua scripts which utilize the "lang" variable. + // It is STRONGLY recommended that you use a two-letter language code that follows the ISO 639 standard. Keep the ID lowercased. + // If you aren't sure which code fits your language, please refer to https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes + + // "Language" should include the name of your language in its native text, as well as its English variant in parentheses. + // i.e. "日本語 (Japanese)" + "Language": "Français (French)", + "Entries": { + + // Common + "MENU_RETURN": "Retour", + // Difficulties (Any Menu) + "DIFF_EASY": "Facile", + "DIFF_NORMAL": "Normal", + "DIFF_HARD": "Difficile", + "DIFF_EX": "Extrême", + "DIFF_EXTRA": "Extra", + "DIFF_EXEXTRA": "Extrême / Extra", + "DIFF_TOWER": "Tour", + "DIFF_DAN": "Dan", + "DIFF_ANY": "Any", + "DIFF_UNKNOWN": "Unknown", + + // Settings + "SETTINGS_SYSTEM": "Options système", + "SETTINGS_SYSTEM_DESC": "Settings for the overall system.", + "SETTINGS_GAME": "Options de jeu", + "SETTINGS_GAME_DESC": "Settings to play the drums.", + "SETTINGS_EXIT": "Quitter", + "SETTINGS_EXIT_DESC": "Save the settings and exit from CONFIGURATION menu.", + + "SETTINGS_MENU_RETURN": "<< Retour au menu", + "SETTINGS_MENU_RETURN_DESC": "Retour au menu principal.", + + "SETTINGS_KEYASSIGN_SYSTEM": "Touches systeme", + "SETTINGS_KEYASSIGN_SYSTEM_DESC": "Menu pour l'assignation des \ntouches système.", + "SETTINGS_KEYASSIGN_GAME": "Touches en jeu", + "SETTINGS_KEYASSIGN_GAME_DESC": "Menu pour l'assignation des \ntouches en jeu.", + "SETTINGS_KEYASSIGN_TRAINING": "Training Mode Key Config", + "SETTINGS_KEYASSIGN_TRAINING_DESC": "A secondary menu to adjust keys used during\nTraining Mode.", + + // Settings - System + "SETTINGS_SYSTEM_LANGUAGE": "Langue du système", + "SETTINGS_SYSTEM_LANGUAGE_DESC": "Changer la langue affichée\ndans les menus et en jeu.", + "SETTINGS_SYSTEM_PLAYERCOUNT": "Nombre de joueurs", + "SETTINGS_SYSTEM_PLAYERCOUNT_DESC": "Change le nombre de joueurs en jeu:\nIl est possible de jouer jusqu'à 5 joueurs\nen même temps.", + "SETTINGS_SYSTEM_RELOADSONG": "Recharger les sons", + "SETTINGS_SYSTEM_RELOADSONG_DESC": "Met à jour et récupère les\nmodifications effectuées sur\nla liste de sons.", + "SETTINGS_SYSTEM_RELOADSONGCACHE": "Vider le cache et recharger les sons", + "SETTINGS_SYSTEM_RELOADSONGCACHE_DESC": "Supprime le fichier de base\nde données et recharge les sons.", + + "SETTINGS_SYSTEM_IMPORTSCOREINI": "Import Score.ini Files", + "SETTINGS_SYSTEM_IMPORTSCOREINI_DESC": "Imports Score.ini files to the database.\n\nWARNING\nThe following will not be transferred:\n- Clear statuses\n- Gameplay modifiers\n- # of hits (Good, Ok, Bad, Drumroll, etc.)\n- Dan exam scores", + "SETTINGS_SYSTEM_IMPORTSCOREINI_STATUS1": "Searching for scores...", + // {0}: Total # of score.ini files to be processed + // {1}: # of score.ini files successfully imported + // {2}: # of score.ini files currently processed + // {3}: # of score.ini files skipped + // {4}: # of score.ini files that failed to import due to an error + // {5}: Name of the current score.ini file being processed. + "SETTINGS_SYSTEM_IMPORTSCOREINI_STATUS2": "Processing {0} scores...\n{1} of {2} imported ({3} skipped / {4} failed)\n\n{5}", + + "SETTINGS_SYSTEM_HIDEDANTOWER": "Masquer Dan/Tour", + "SETTINGS_SYSTEM_HIDEDANTOWER_DESC": "Masque les sons de type Dan ou\nTour dans le menu Partie rapide.\nNote: Cette option prend effet\n après le rechargement des sons.", + + // Settings - System - Graphics + "SETTINGS_SYSTEM_FULLSCREEN": "Plein écran", + "SETTINGS_SYSTEM_FULLSCREEN_DESC": "Choisir entre le mode plein \nécran et fenêtre.", + "SETTINGS_SYSTEM_VSYNC": "Mode VSync", + "SETTINGS_SYSTEM_VSYNC_DESC": "Activer ou non la synchronisation verticale.\nLimite les FPS à 60,\nrendant le défilement fluide\nmais augmentant la latence des entrées.\nSi désactivé, il n'y a pas de limite\naux FPS donc moins de latences,\nmais le défilement des notes peut être sacadé.", + "SETTINGS_SYSTEM_GRAPHICSAPI": "Graphics API", + "SETTINGS_SYSTEM_GRAPHICSAPI_DESC": "Drawing Method:\nSelect from either OpenGL,\nDirectX11, Vulkan, or Metal.\nOpenGL is slow, but compatible & stable.\nDirectX11 is fast and stable, but only\nworks on Windows.\nVulkan works fastest on Linux.\nMetal only works on MacOS.\n\nThis will take effect after game reboot.", + "SETTINGS_SYSTEM_TEXTUREASYNC": "ASync Texture Loading", + "SETTINGS_SYSTEM_TEXTUREASYNC_DESC": "Texture Loading Type:\nFreeze on startup disappears\nTurn this option off if some textures turn black\nThis change will take effect after restarting OpenTaiko\n", + + "SETTINGS_SYSTEM_BGMOVIE": "Activer les vidéos de fond", + "SETTINGS_SYSTEM_BGMOVIE_DESC": "Activer ou non les vidéos en jeu.\nSi activé et qu'une musique ne contient\npas de vidéo, le décor est un fond noir.", + "SETTINGS_SYSTEM_BGMOVIEDISPLAY": "Video Playback Display Mode", + "SETTINGS_SYSTEM_BGMOVIEDISPLAY_DESC": "Change how videos are displayed\nin the background.", + "SETTINGS_SYSTEM_BGMOVIEDISPLAY_NONE": "None", + "SETTINGS_SYSTEM_BGMOVIEDISPLAY_FULL": "Full Display", + "SETTINGS_SYSTEM_BGMOVIEDISPLAY_MINI": "Mini Display", + "SETTINGS_SYSTEM_BGMOVIEDISPLAY_BOTH": "Both", + "SETTINGS_SYSTEM_LANEOPACITY": "Opacité de la lane", + "SETTINGS_SYSTEM_LANEOPACITY_DESC": "Contrôle l'opacité de la lane lorsqu'une\nvideo est jouée en fond.", + + "SETTINGS_SYSTEM_BGA": "Afficher le décor", + "SETTINGS_SYSTEM_BGA_DESC": "Activer ou non les animations de décor.", + "SETTINGS_SYSTEM_DISPLAYCHARA": "Afficher les personnages", + "SETTINGS_SYSTEM_DISPLAYCHARA_DESC": "Afficher les personnages en jeu.", + "SETTINGS_SYSTEM_DISPLAYDANCER": "Afficher les danceurs", + "SETTINGS_SYSTEM_DISPLAYDANCER_DESC": "Afficher les danceurs en jeu.", + "SETTINGS_SYSTEM_DISPLAYMOB": "Afficher le mob", + "SETTINGS_SYSTEM_DISPLAYMOB_DESC": "Afficher le mob en jeu.", + "SETTINGS_SYSTEM_DISPLAYRUNNER": "Afficher les coureurs", + "SETTINGS_SYSTEM_DISPLAYRUNNER_DESC": "Afficher les coureurs en jeu.", + "SETTINGS_SYSTEM_DISPLAYFOOTER": "Afficher le footer", + "SETTINGS_SYSTEM_DISPLAYFOOTER_DESC": "Afficher le footer en jeu.", + "SETTINGS_SYSTEM_DISPLAYPUCHI": "Afficher les PuchiCharas", + "SETTINGS_SYSTEM_DISPLAYPUCHI_DESC": "Afficher les PuchiCharas en jeu.", + "SETTINGS_SYSTEM_SIMPLEMODE": "SimpleMode", + "SETTINGS_SYSTEM_SIMPLEMODE_DESC": "Simplifies drawing by hiding most visual\nflare and effects during gameplay.", + + "SETTINGS_SYSTEM_SKIN": "Skin actuel", + "SETTINGS_SYSTEM_SKIN_DESC": "Choisir le skin utilisé dans le dossier System.", + + // Settings - System - Audio + "SETTINGS_SYSTEM_SONGPLAYBACK": "Activer la musique en jeu", + "SETTINGS_SYSTEM_SONGPLAYBACK_DESC": "Activer ou non la musique en jeu.", + "SETTINGS_SYSTEM_USESONGVOL": "Activer l'option SONGVOL", + "SETTINGS_SYSTEM_USESONGVOL_DESC": "Active l'option SONGVOL dans les fichiers .tja.\nPermet de faire varier le volume des notes.", + "SETTINGS_SYSTEM_SEVOL": "Volume des effets sonores", + "SETTINGS_SYSTEM_SEVOL_DESC": "Ajuste le volume des notes et effets sonores.\nSi 0 aucun son ne sera joué lors d'une frappe.\nVous devez redemarrer le jeu pour que\ncette option prenne effet.", + "SETTINGS_SYSTEM_VOICEVOL": "Volume des voix", + "SETTINGS_SYSTEM_VOICEVOL_DESC": "Ajuste le volume des voix.\nVous devez redemarrer le jeu pour que\ncette option prenne effet.", + "SETTINGS_SYSTEM_SONGVOL": "Volume de la musique", + "SETTINGS_SYSTEM_SONGVOL_DESC": "Ajuste le volume de la musique.\nVous devez redemarrer le jeu pour que\ncette option prenne effet.", + "SETTINGS_SYSTEM_SONGPREVIEWVOL": "Volume de la prévisualisation de la musique", + "SETTINGS_SYSTEM_SONGPREVIEWVOL_DESC": "Ajuste le volume de la prévisualisation de la musique.\nVous devez redemarrer le jeu pour que\ncette option prenne effet.", + "SETTINGS_SYSTEM_VOLINCREMENT": "Volume du clavier", + "SETTINGS_SYSTEM_VOLINCREMENT_DESC": "Reduit le volume en appuyant sur [\n et l'augmente en appuyant sur ].\nDéfinit l'amplitude modifiée par appui.\nEntre 1 et 20.", + + "SETTINGS_SYSTEM_SONGPLAYBACKBUFFER": "Délai avant la musique", + "SETTINGS_SYSTEM_SONGPLAYBACKBUFFER_DESC": "Temps de delai avant le début de la musique en jeu.\nReduire cette valeur peut faire que\nla musique soit jouée trop tôt.", + "SETTINGS_SYSTEM_SONGPREVIEWBUFFER": "Délai avant la prévisualisation de la musique", + "SETTINGS_SYSTEM_SONGPREVIEWBUFFER_DESC": "Temps pris avant la prévisualisation\nde la musique dans le menu.\nRéduire cette valeur\npeut faire que la prévisualisation\nsoit lancée avant l'animation du menu.", + + "SETTINGS_SYSTEM_AUDIOPLAYBACK": "Interface sonore", + "SETTINGS_SYSTEM_AUDIOPLAYBACK_DESC": "ASIO:\n- Fonctionne seulement avec les appareils compatibles.\n- Latence d'entrée les plus faibles\nWasapi:\n- Latence d'entrée généralement faible\n- Bloque les sons exterieurs à OpenTaiko\nDirect Sound:\n- Permet les sons exterieurs à OpenTaiko\n- Latence d'entrée élevée\n", + "SETTINGS_SYSTEM_ASIOPLAYBACK": "Interface Asio", + "SETTINGS_SYSTEM_ASIOPLAYBACK_DESC": "Choisir une inderface pour ASIO.", + "SETTINGS_SYSTEM_WASAPIBUFFER": "Taille du buffer Wasapi", + "SETTINGS_SYSTEM_WASAPIBUFFER_DESC": "Change la taille du buffer WASAPI.\nA définir au plus bas possible\nsans causer de problèmes de son\ncomme des freezes ou un timing incorrect.\nLe definir à 0 pour une estimation automatique,\nou chercher la valeur la plus appropriée\nen en essayant plusieurs.", + "SETTINGS_SYSTEM_BASSBUFFER": "Bass Buffer Size", + "SETTINGS_SYSTEM_BASSBUFFER_DESC": "Buffer size when using Bass:\nSize can be between 0~99999ms.\nA value of 0 will make the OS\nautomatically decide the size.\nThe smaller the value, the less\naudio lag there is, but may also\ncause abnormal/crackling audio.\n※ NOTE: Exit CONFIGURATION to make the\n  settings take effect.", + "SETTINGS_SYSTEM_OSTIMER": "Utiliser le timer de l'OS", + "SETTINGS_SYSTEM_OSTIMER_DESC": "Permet un défilement plus fluide des notes,\nmais peut augmenter les latences sonores.\nLe désactiver peut rendre le défilement\nplus sacadé,\nmais assure la présence d'aucun lag sonore.\nSeulement disponible avec\nWASAPI ou ASIO.\n", + + // Settings - System - Misc. + "SETTINGS_SYSTEM_LOG": "Journalisation", + "SETTINGS_SYSTEM_LOG_DESC": "Génère un fichier TJAPlayer3.log file à la fermeture\ndu jeu.\nPermet l'évaluation des performances et\nfacilite l'identification des erreurs.", + "SETTINGS_SYSTEM_RANDOMSUBFOLDER": "Sous-dossiers pour la séléction aléatoire", + "SETTINGS_SYSTEM_RANDOMSUBFOLDER_DESC": "Parcourir les sous-dossiers \nrécursivement lors de l'utilisation \ndu bouton 'Surprend moi !'.", + "SETTINGS_SYSTEM_DEBUGMODE": "Mode Debug", + "SETTINGS_SYSTEM_DEBUGMODE_DESC": "Activer ou non les informations \nde déboggage en jeu.", + "SETTINGS_SYSTEM_AUTOSCREENSHOT": "Capture d'écran automatique", + "SETTINGS_SYSTEM_AUTOSCREENSHOT_DESC": "Permet la prise automatique de capture d'écran\nà la fin d'une partie.\nSeulement déclanché en cas de meilleur score,\nqui peut ne pas refleter parfaitement\nla qualité de celui-ci.", + "SETTINGS_SYSTEM_DISCORDRPC": "Rich Presence Discord", + "SETTINGS_SYSTEM_DISCORDRPC_DESC": "Active ou non le partage d'informations\nde jeu avec Discord.", + "SETTINGS_SYSTEM_BUFFEREDINPUT": "Bufferisation des entrées", + "SETTINGS_SYSTEM_BUFFEREDINPUT_DESC": "Génère un fichier TJAPlayer3.log file à la fermeture\ndu jeu.\nPermet l'évaluation des performances et\nfacilite l'identification des erreurs.", + + // Settings - Gameplay + "SETTINGS_GAME_GLOBALOFFSET": "Décalage général", + "SETTINGS_GAME_GLOBALOFFSET_DESC": "Modifie la valeur OFFSET\nlue pour tout les sons.\nDéfinit entre -999 to 999ms.\nUne valeur négative peut réduire \nles latences d'entrées.", + + "SETTINGS_GAME_CALIBRATION": "Calibrate Offset", + "SETTINGS_GAME_CALIBRATION_DESC": "Calibrate your offset.\nGlobal Offset will be overwritten if saved.", + "SETTINGS_GAME_CALIBRATION_OFFSET": "OFFSET: {0}", + + "SETTINGS_GAME_BADCOUNT": "Mort subite", + "SETTINGS_GAME_BADCOUNT_DESC": "Mode mort subite :\nSi 1 ou plus, spécifiez le nombre de \nnotes ratées maximales autorisées avant \nde perdre la partie.\nSi 0 le mode mort subite est désactivé.", + "SETTINGS_GAME_NOTELOCK": "Notes vérouillées", + "SETTINGS_GAME_NOTELOCK_DESC": "Si activé, taper le tambour entre\ndeux notes ajoute un MAUVAIS.", + "SETTINGS_GAME_AILEVEL": "Niveau de l'IA", + "SETTINGS_GAME_AILEVEL_DESC": "Determine les performances de l'IA.", + "SETTINGS_GAME_NORMALGAUGE": "Gauge normale par défaut", + "SETTINGS_GAME_NORMALGAUGE_DESC": "Ignore les gauges définies par personnage.", + + "SETTINGS_GAME_AUTOP1": "Joueur 1 Auto", + "SETTINGS_GAME_AUTOP1_DESC": "Activer le mode automatique pour\nle joueur 1.\nActivable en appuyant sur F3 dans \nle menu de selection des musiques.", + "SETTINGS_GAME_AUTOP2": "Joueur 2 Auto", + "SETTINGS_GAME_AUTOP2_DESC": "Activer le mode automatique pour\nle joueur 2.\nActivable en appuyant sur F4 dans \nle menu de selection des musiques.", + "SETTINGS_GAME_AUTOROLL": "Vitesse des rolls", + "SETTINGS_GAME_AUTOROLL_DESC": "Nombre de frappes par seconde lors\ndes rolls en mode automatique.\nDésactivé si 0, au maximum une\nfrappe par image.", + + "SETTINGS_GAME_NOINFO": "Pas d'informations", + "SETTINGS_GAME_NOINFO_DESC": "Activer ou non l'affichage \ndes informations des musiques.", + "SETTINGS_GAME_COMBODISPLAY": "Combo affiché minimum", + "SETTINGS_GAME_COMBODISPLAY_DESC": "Définit le combo minimum affiché.\nEntre 1 et 99999.", + "SETTINGS_GAME_SCOREDISPLAY": "Resultats en direct", + "SETTINGS_GAME_SCOREDISPLAY_DESC": "Affiche le nombre de BON/OK/MAUVAIS\nen direct sur le bas de l'écran.\n(Seulement en mode 1 joueur)", + "SETTINGS_GAME_BRANCHANIME": "Set d'animation des branches", + "SETTINGS_GAME_BRANCHANIME_DESC": "Change le set d'animation\nlors de la présence d'une branche.\nTYPE-A: Gen-2\nTYPE-B: Gen-3\n", + + "SETTINGS_GAME_DEFAULTDIFF": "Difficulté par défaut", + "SETTINGS_GAME_DEFAULTDIFF_DESC": "Change la difficulté par défaut lors de\nl'écran de selection des musiques.", + "SETTINGS_GAME_EXEXTRAANIME": "Use Extreme/Extra Transitions", + "SETTINGS_GAME_EXEXTRAANIME_DESC": "Play a skin-defined animation\nwhile switching between\nExtreme & Extra.", + + // Settings - Gameplay - Training Mode + "SETTINGS_TRAINING_SKIPCOUNT": "Measure Skip Count", + "SETTINGS_TRAINING_SKIPCOUNT_DESC": "The number of measures to skip while\npressing Skip Forward/Back Measure in\nTraining Mode.", + "SETTINGS_TRAINING_JUMPINTERVAL": "Measure Jump Time Interval", + "SETTINGS_TRAINING_JUMPINTERVAL_DESC": "The amount of time in milliseconds needed to\nrepeatedly hit the Left/Right Blue keys in\norder to jump to a bookmarked measure in\nTraining Mode.", + + // Settings - Gameplay - Unlockables + "SETTINGS_GAME_IGNORESONGUNLOCKABLES": "Ignorer SongUnlockables.db3", + "SETTINGS_GAME_IGNORESONGUNLOCKABLES_DESC": "Rend tout les sons accessibles.\nNe modifie pas directement Saves.db3.\nLes sons sont toujours débloqués normalement.\n\nATTENTION\nActiver cette option rend les speedruns invalides.", + + + // Settings - Broken/Unused/Might Deprecate/Might Update + // Translate these anyways, even if their future is uncertain. + "SETTINGS_SYSTEM_IMAGEPREVIEWBUFFER": "Délai avant l'image", + "SETTINGS_SYSTEM_IMAGEPREVIEWBUFFER_DESC": "Non utilisé, ancienne option de DTXMania.", + "SETTINGS_SYSTEM_TIMESTRETCH": "Mode Time Stretch", + "SETTINGS_SYSTEM_TIMESTRETCH_DESC": "Non utilisé, ancienne option de DTXMania.", + "SETTINGS_SYSTEM_FASTRENDER": "Affichage rapide", + "SETTINGS_SYSTEM_FASTRENDER_DESC": "Activer ou non le rendu des images avant le chargement des musiques.", + "SETTINGS_GAME_BRANCHGUIDE": "Guide des branches", + "SETTINGS_GAME_BRANCHGUIDE_DESC": "Affiche un guide numérique\nafin de voir quelle branche sera choisie.\nDésactivé en mode automatique.", + "SETTINGS_GAME_BIGNOTEJUDGE": "Double frappes", + "SETTINGS_GAME_BIGNOTEJUDGE_DESC": "Impose de frapper les deux côtés\ndu tambour afin d'obtenir le bonus x2 points\npour les grandes notes.", + "SETTINGS_GAME_SURVIVAL": "Mode survie", + "SETTINGS_GAME_SURVIVAL_DESC": "Non fonctionnel.", + "SETTINGS_GAME_SCOREMODE": "Méthode de Scoring", + "SETTINGS_GAME_SCOREMODE_DESC": "Choisir la formule de calcul du score.\nTYPE-A: Gen-1\nTYPE-B: Gen-2\nTYPE-C: Gen-3\n", + "SETTINGS_GAME_SHINUCHI": "Mode Shin'uchi", + "SETTINGS_GAME_SHINUCHI_DESC": "Utilise la methode Gen-4 de\ncalcul du score.", + + // Key Assignment - System + "SETTINGS_KEYASSIGN_SYSTEM_CAPTURE": "Capture d'écran", + "SETTINGS_KEYASSIGN_SYSTEM_CAPTURE_DESC": "Assigner la touche pour le \ncapture d'écran.", + "SETTINGS_KEYASSIGN_SYSTEM_INCREASEVOL": "Increase Volume", + "SETTINGS_KEYASSIGN_SYSTEM_INCREASEVOL_DESC": "System key assign:\nAssign any key for increasing music volume.\n(You can only use keyboard. You can't\nuse gamepads.)", + "SETTINGS_KEYASSIGN_SYSTEM_DECREASEVOL": "Decrease Volume", + "SETTINGS_KEYASSIGN_SYSTEM_DECREASEVOL_DESC": "System key assign:\nAssign any key for decreasing music volume.\n(You can only use keyboard. You can't\nuse gamepads.)", + "SETTINGS_KEYASSIGN_SYSTEM_DISPLAYHITS": "Display Hit Values", + "SETTINGS_KEYASSIGN_SYSTEM_DISPLAYHITS_DESC": "System key assign:\nAssign any key for displaying hit values.\n(You can only use keyboard. You can't\nuse gamepads.)", + "SETTINGS_KEYASSIGN_SYSTEM_DISPLAYDEBUG": "Display Debug Menu", + "SETTINGS_KEYASSIGN_SYSTEM_DISPLAYDEBUG_DESC": "System key assign:\nAssign any key for displaying debug menu.\n(You can only use keyboard. You can't\nuse gamepads.)", + "SETTINGS_KEYASSIGN_SYSTEM_QUICKCONFIG": "Quick Config", + "SETTINGS_KEYASSIGN_SYSTEM_QUICKCONFIG_DESC": "System key assign:\nAssign any key for accessing the quick config.\n(You can only use keyboard. You can't\nuse gamepads.)", + "SETTINGS_KEYASSIGN_SYSTEM_QUICKHEYA": "Player Customization", + "SETTINGS_KEYASSIGN_SYSTEM_QUICKHEYA_DESC": "System key assign:\nAssign any key for player customization.\n(You can only use keyboard. You can't\nuse gamepads.)", + "SETTINGS_KEYASSIGN_SYSTEM_SONGSORT": "Change Song Sort", + "SETTINGS_KEYASSIGN_SYSTEM_SONGSORT_DESC": "System key assign:\nAssign any key for resorting songs.\n(You can only use keyboard. You can't\nuse gamepads.)", + "SETTINGS_KEYASSIGN_SYSTEM_AUTO1P": "Toggle Auto (P1)", + "SETTINGS_KEYASSIGN_SYSTEM_AUTO1P_DESC": "System key assign:\nAssign any key for toggling auto (P1).\n(You can only use keyboard. You can't\nuse gamepads.)", + "SETTINGS_KEYASSIGN_SYSTEM_AUTO2P": "Toggle Auto (P2)", + "SETTINGS_KEYASSIGN_SYSTEM_AUTO2P_DESC": "System key assign:\nAssign any key for toggling auto (P2).\n(You can only use keyboard. You can't\nuse gamepads.)", + "SETTINGS_KEYASSIGN_SYSTEM_TRAINING": "Toggle Training Mode", + "SETTINGS_KEYASSIGN_SYSTEM_TRAINING_DESC": "System key assign:\nAssign any key for toggling training mode.\n(You can only use keyboard. You can't\nuse gamepads.)", + "SETTINGS_KEYASSIGN_SYSTEM_BGMOVIEDISPLAY": "Cycle Video Playback Display", + "SETTINGS_KEYASSIGN_SYSTEM_BGMOVIEDISPLAY_DESC": "System key assign:\nAssign any key for cycling video playback\ndisplay modes.\n(You can only use keyboard. You can't\nuse gamepads.)", + + // Key Assignment - Gameplay + "SETTINGS_KEYASSIGN_GAME_DECIDE": "Decide", + "SETTINGS_KEYASSIGN_GAME_DECIDE_DESC": "Touche de selection \ndans les menus.", + "SETTINGS_KEYASSIGN_GAME_CANCEL": "Cancel", + "SETTINGS_KEYASSIGN_GAME_CANCEL_DESC": "Touche d'annulation \ndans les menus.", + "SETTINGS_KEYASSIGN_GAME_LEFTCHANGE": "LeftChange", + "SETTINGS_KEYASSIGN_GAME_LEFTCHANGE_DESC": "Touche de navigation (gauche) \ndans les menus.", + "SETTINGS_KEYASSIGN_GAME_RIGHTCHANGE": "RightChange", + "SETTINGS_KEYASSIGN_GAME_RIGHTCHANGE_DESC": "Touche de navigation (droite) \ndans les menus.", + + "SETTINGS_KEYASSIGN_GAME_LEFTRED": "Rouge gauche", + "SETTINGS_KEYASSIGN_GAME_LEFTRED_DESC": "Assignation de la touche \nRouge gauche pour le tambour.", + "SETTINGS_KEYASSIGN_GAME_RIGHTRED": "Rouge droit", + "SETTINGS_KEYASSIGN_GAME_RIGHTRED_DESC": "Assignation de la touche \nRouge droit pour le tambour.", + "SETTINGS_KEYASSIGN_GAME_LEFTBLUE": "Bleu gauche", + "SETTINGS_KEYASSIGN_GAME_LEFTBLUE_DESC": "Assignation de la touche \nBleu gauche pour le tambour.", + "SETTINGS_KEYASSIGN_GAME_RIGHTBLUE": "Bleu droit", + "SETTINGS_KEYASSIGN_GAME_RIGHTBLUE_DESC": "Assignation de la touche \nBleu droit pour le tambour.", + "SETTINGS_KEYASSIGN_GAME_CLAP": "Clap", + "SETTINGS_KEYASSIGN_GAME_CLAP_DESC": "Assignation de la touche \nClap pour les bongos.", + + "SETTINGS_KEYASSIGN_GAME_LEFTRED2P": "Rouge gauche 2P", + "SETTINGS_KEYASSIGN_GAME_LEFTRED2P_DESC": "Assignation de la touche \nRouge gauche pour le tambour.\n(2P)", + "SETTINGS_KEYASSIGN_GAME_RIGHTRED2P": "Rouge droit 2P", + "SETTINGS_KEYASSIGN_GAME_RIGHTRED2P_DESC": "Assignation de la touche \nRouge droit pour le tambour.\n(2P)", + "SETTINGS_KEYASSIGN_GAME_LEFTBLUE2P": "Bleu gauche 2P", + "SETTINGS_KEYASSIGN_GAME_LEFTBLUE2P_DESC": "Assignation de la touche \nBleu gauche pour le tambour.\n(2P)", + "SETTINGS_KEYASSIGN_GAME_RIGHTBLUE2P": "Bleu droit 2P", + "SETTINGS_KEYASSIGN_GAME_RIGHTLBUE2P_DESC": "Assignation de la touche \nBleu droit pour le tambour.\n(2P)", + "SETTINGS_KEYASSIGN_GAME_CLAP2P": "Clap 2P", + "SETTINGS_KEYASSIGN_GAME_CLAP2P_DESC": "Assignation de la touche \nClap pour les bongos.\n(2P)", + + "SETTINGS_KEYASSIGN_GAME_LEFTRED3P": "Rouge gauche 3P", + "SETTINGS_KEYASSIGN_GAME_LEFTRED3P_DESC": "Assignation de la touche \nRouge gauche pour le tambour.\n(3P)", + "SETTINGS_KEYASSIGN_GAME_RIGHTRED3P": "Rouge droit 3P", + "SETTINGS_KEYASSIGN_GAME_RIGHTRED3P_DESC": "Assignation de la touche \nRouge droit pour le tambour.\n(3P)", + "SETTINGS_KEYASSIGN_GAME_LEFTBLUE3P": "Bleu gauche 3P", + "SETTINGS_KEYASSIGN_GAME_LEFTBLUE3P_DESC": "Assignation de la touche \nBleu gauche pour le tambour.\n(3P)", + "SETTINGS_KEYASSIGN_GAME_RIGHTBLUE3P": "Bleu droit 3P", + "SETTINGS_KEYASSIGN_GAME_RIGHTLBUE3P_DESC": "Assignation de la touche \nBleu droit pour le tambour.\n(3P)", + "SETTINGS_KEYASSIGN_GAME_CLAP3P": "Clap 3P", + "SETTINGS_KEYASSIGN_GAME_CLAP3P_DESC": "Assignation de la touche \nClap pour les bongos.\n(3P)", + + "SETTINGS_KEYASSIGN_GAME_LEFTRED4P": "Rouge gauche 4P", + "SETTINGS_KEYASSIGN_GAME_LEFTRED4P_DESC": "Assignation de la touche \nRouge gauche pour le tambour.\n(4P)", + "SETTINGS_KEYASSIGN_GAME_RIGHTRED4P": "Rouge droit 4P", + "SETTINGS_KEYASSIGN_GAME_RIGHTRED4P_DESC": "Assignation de la touche \nRouge droit pour le tambour.\n(4P)", + "SETTINGS_KEYASSIGN_GAME_LEFTBLUE4P": "Bleu gauche 4P", + "SETTINGS_KEYASSIGN_GAME_LEFTBLUE4P_DESC": "Assignation de la touche \nBleu gauche pour le tambour.\n(4P)", + "SETTINGS_KEYASSIGN_GAME_RIGHTBLUE4P": "Bleu droit 4P", + "SETTINGS_KEYASSIGN_GAME_RIGHTLBUE4P_DESC": "Assignation de la touche \nBleu droit pour le tambour.\n(4P)", + "SETTINGS_KEYASSIGN_GAME_CLAP4P": "Clap 4P", + "SETTINGS_KEYASSIGN_GAME_CLAP4P_DESC": "Assignation de la touche \nClap pour les bongos.\n(4P)", + + "SETTINGS_KEYASSIGN_GAME_LEFTRED5P": "Rouge gauche 5P", + "SETTINGS_KEYASSIGN_GAME_LEFTRED5P_DESC": "Assignation de la touche \nRouge gauche pour le tambour.\n(5P)", + "SETTINGS_KEYASSIGN_GAME_RIGHTRED5P": "Rouge droit 5P", + "SETTINGS_KEYASSIGN_GAME_RIGHTRED5P_DESC": "Assignation de la touche \nRouge droit pour le tambour.\n(5P)", + "SETTINGS_KEYASSIGN_GAME_LEFTBLUE5P": "Bleu gauche 5P", + "SETTINGS_KEYASSIGN_GAME_LEFTBLUE5P_DESC": "Assignation de la touche \nBleu gauche pour le tambour.\n(5P)", + "SETTINGS_KEYASSIGN_GAME_RIGHTBLUE5P": "Bleu droit 5P", + "SETTINGS_KEYASSIGN_GAME_RIGHTLBUE5P_DESC": "Assignation de la touche \nBleu droit pour le tambour.\n(5P)", + "SETTINGS_KEYASSIGN_GAME_CLAP5P": "Clap 5P", + "SETTINGS_KEYASSIGN_GAME_CLAP5P_DESC": "Assignation de la touche \nClap pour les bongos.\n(5P)", + + // Key Assignment - Training + "SETTINGS_KEYASSIGN_TRAINING_PAUSE": "Pause Training", + "SETTINGS_KEYASSIGN_TRAINING_PAUSE_DESC": "Drums key assign:\nAssign any key for pausing.", + "SETTINGS_KEYASSIGN_TRAINING_AUTO": "Toggle Auto", + "SETTINGS_KEYASSIGN_TRAINING_AUTO_DESC": "Drums key assign:\nAssign any key for toggling auto.", + "SETTINGS_KEYASSIGN_TRAINING_BOOKMARK": "Add/Remove Bookmark", + "SETTINGS_KEYASSIGN_TRAINING_BOOKMARK_DESC": "Drums key assign:\nAssign any key for adding/removing bookmarks.", + "SETTINGS_KEYASSIGN_TRAINING_INCREASESCROLL": "Increase Scroll Speed", + "SETTINGS_KEYASSIGN_TRAINING_INCREASESCROLL_DESC": "Drums key assign:\nAssign any key for increasing scroll speed.", + "SETTINGS_KEYASSIGN_TRAINING_DECREASESCROLL": "Decrease Scroll Speed", + "SETTINGS_KEYASSIGN_TRAINING_DECREASESCROLL_DESC": "Drums key assign:\nAssign any key for decreasing scroll speed.", + "SETTINGS_KEYASSIGN_TRAINING_INCREASESPEED": "Increase Song Speed", + "SETTINGS_KEYASSIGN_TRAINING_INCREASESPEED_DESC": "Drums key assign:\nAssign any key for increasing song speed.", + "SETTINGS_KEYASSIGN_TRAINING_DECREASESPEED": "Decrease Song Speed", + "SETTINGS_KEYASSIGN_TRAINING_DECREASESPEED_DESC": "Drums key assign:\nAssign any key for decreasing song speed.", + "SETTINGS_KEYASSIGN_TRAINING_BRANCHNORMAL": "Set Branch to Normal", + "SETTINGS_KEYASSIGN_TRAINING_BRANCHNORMAL_DESC": "Drums key assign:\nAssign any key for setting a chart's branch\nto normal.", + "SETTINGS_KEYASSIGN_TRAINING_BRANCHEXPERT": "Set Branch to Expert", + "SETTINGS_KEYASSIGN_TRAINING_BRANCHEXPERT_DESC": "Drums key assign:\nAssign any key for setting a chart's branch\nto expert.", + "SETTINGS_KEYASSIGN_TRAINING_BRANCHMASTER": "Set Branch to Master", + "SETTINGS_KEYASSIGN_TRAINING_BRANCHMASTER_DESC": "Drums key assign:\nAssign any key for setting a chart's branch\nto master.", + "SETTINGS_KEYASSIGN_TRAINING_MOVEFORWARD": "Move Forward Measure", + "SETTINGS_KEYASSIGN_TRAINING_MOVEFORWARD_DESC": "Drums key assign:\nAssign any key for moving forward a measure.", + "SETTINGS_KEYASSIGN_TRAINING_MOVEBACKWARD": "Move Back Measure", + "SETTINGS_KEYASSIGN_TRAINING_MOVEBACKWARD_DESC": "Drums key assign:\nAssign any key for moving back a measure.", + "SETTINGS_KEYASSIGN_TRAINING_SKIPFORWARD": "Skip Forward Measures", + "SETTINGS_KEYASSIGN_TRAINING_SKIPFORWARD_DESC": "Drums key assign:\nAssign any key for skipping forward measures.", + "SETTINGS_KEYASSIGN_TRAINING_SKIPBACKWARD": "Skip Back Measures", + "SETTINGS_KEYASSIGN_TRAINING_SKIPBACKWARD_DESC": "Drums key assign:\nAssign any key for skipping back measures.", + "SETTINGS_KEYASSIGN_TRAINING_JUMPTOFIRST": "Jump to First Measure", + "SETTINGS_KEYASSIGN_TRAINING_JUMPTOFIRST_DESC": "Drums key assign:\nAssign any key for jumping to the first measure.", + "SETTINGS_KEYASSIGN_TRAINING_JUMPTOLAST": "Jump to Last Measure", + "SETTINGS_KEYASSIGN_TRAINING_JUMPTOLAST_DESC": "Drums key assign:\nAssign any key for jumping to the last measure.", + + // Title Screen + "TITLE_MODE_TAIKO": "Partie rapide", + "TITLE_MODE_DAN": "Défis du Dojo", + "TITLE_MODE_TOWER": "Tours rhytmiques", + "TITLE_MODE_SHOP": "Magasin", + "TITLE_MODE_STORY": "Aventure", + "TITLE_MODE_HEYA": "Ma Pièce", + "TITLE_MODE_SETTINGS": "Paramètres", + "TITLE_MODE_EXIT": "Quitter le jeu", + "TITLE_MODE_ONLINE": "Salon 'l'En-Ligne'", + "TITLE_MODE_DOCUMENT": "Encyclopedie", + "TITLE_MODE_AI": "Mode contre l'IA", + "TITLE_MODE_STATS": "Statistiques", + "TITLE_MODE_EDITOR": "Editeur de partition", + "TITLE_MODE_TOOLS": "Boîte à outils", + + "TITLE_MODE_TAIKO_DESC": "Jouez vos sons favoris\nà votre propre rhythme !", + "TITLE_MODE_DAN_DESC": "Jouez plusieurs sons à la suite\nen suivant des règles exigentes\ndans le but de reussir le défi !", + "TITLE_MODE_TOWER_DESC": "Jouez de longs sons avec un\nnombre de vies limité et\natteignez le sommet de la tour !", + "TITLE_MODE_SHOP_DESC": "Achetez de nouveaux sons ou personnages\ngrâce aux médailles acquises en jeu !", + "TITLE_MODE_STORY_DESC": "Surmontez une multitude d'obstables\nafin de découvrir du nouveau contenu\net de nouveaux horizons !", + "TITLE_MODE_HEYA_DESC": "Changez votre personnage\nou les informations de votre\nplaque nominative !", + "TITLE_MODE_SETTINGS_DESC": "Changez votre style de jeu\n ou les paramètres généraux !", + "TITLE_MODE_EXIT_DESC": "Quitter le jeu.\nÀ bientôt !", + "TITLE_MODE_ONLINE_DESC": "Telechargez de nouvelles\npartitions et du nouveau\ncontenu depuis internet !", + "TITLE_MODE_DOCUMENT_DESC": "Apprenez à propos des\nnouvelles fonctionalitées et\ncomment ajouter du contenu!", + "TITLE_MODE_AI_DESC": "Combattez une IA puissante à\ntravers plusieurs sections et\ndécrochez la victoire !", + "TITLE_MODE_STATS_DESC": "Suivez votre progression en \ndirect !", + "TITLE_MODE_EDITOR_DESC": "Créez vos propres partitions\n.tja avec vos sons favoris !", + "TITLE_MODE_TOOLS_DESC": "Utilisez divers outils\nproposés afin de faciliter\nl'ajout de contenu !", + + // Song Select + // {0}: Folder path + "SONGSELECT_RETURN_PATH": "Retour ({0})", + "SONGSELECT_RANDOM": "Surprend moi!", + // {0}: Folder path + "SONGSELECT_RANDOM_PATH": "Surprend moi! ({0})", + + "SONGSELECT_SORT": "Sort Menu", + "SONGSELECT_SORT_PATH": "Chemin", + "SONGSELECT_SORT_TITLE": "Titre", + "SONGSELECT_SORT_SUBTITLE": "Sous-titre", + "SONGSELECT_SORT_LEVEL": "Niveau", + + // {0}: Main BPM + "SONGSELECT_INFO_BPM": "BPM: {0:0.###}", + // {0}: Main BPM + // {1}: Minimum BPM + // {2}: Maximum BPM + "SONGSELECT_INFO_BPM_VARIABLE": "BPM: {0:0.###} ({1:0.###}-{2:0.###})", + // {0}: Charter name + "SONGSELECT_INFO_CHARTER": "Charter: {0}", + + "SONGSELECT_QUICKCONFIG": "Quick Config", + "SONGSELECT_QUICKCONFIG_MORE": "More...", + + // Modals + "MODAL_TITLE_COIN": "Jetons obtenus!", + "MODAL_TITLE_CHARA": "Personnage obtenu!", + "MODAL_TITLE_PUCHI": "Petit personnage obtenu!", + "MODAL_TITLE_NAMEPLATE": "Titre obtenu!", + "MODAL_TITLE_SONG": "New Song!", + // {0}: Newly obtained coins + // {1}: New total coin count + "MODAL_MESSAGE_COIN": "+{0} Jetons (Total: {1})", + + // Online Lounge + "ONLINE_EXIT": "Retour au menu principal", + "ONLINE_DOWNLOAD": "Télécharger du contenu", + "ONLINE_DOWNLOAD_CDN": "Choisir un CDN", + "ONLINE_DOWNLOAD_SONG": "Télécharger des Sons", + "ONLINE_DOWNLOAD_CHARA": "Télécharger des Personnages (Not available)", + "ONLINE_DOWNLOAD_PUCHI": "Télécharger des Puchicharas (Not available)", + "ONLINE_MULTIPLAYER": "Multijoueur en ligne (Not available)", + + // Taiko Towers + "TOWER_FLOOR_REACHED": "Étage atteint", + "TOWER_FLOOR_INITIAL": "", + "TOWER_SCORE": "Score", + "TOWER_SCORE_INITIAL": "P", + + // Dan Dojo + "DAN_CONDITION_NAME_SOUL": "Jauge d'âme", + "DAN_CONDITION_NAME_GOOD": "Nombre de Bon", + "DAN_CONDITION_NAME_OK": "Nombre de Ok", + "DAN_CONDITION_NAME_BAD": "Nombre de Mauvais", + "DAN_CONDITION_NAME_SCORE": "Score", + "DAN_CONDITION_NAME_ROLL": "Frappes successives", + "DAN_CONDITION_NAME_HIT": "Nombre de frappes", + "DAN_CONDITION_NAME_COMBO": "Combo", + "DAN_CONDITION_NAME_ACCURACY": "Précision", + "DAN_CONDITION_NAME_ADLIB": "Nombre d'ADLIB", + "DAN_CONDITION_NAME_BOMB": "Bombes activées", + + // Heya / Quick Heya + "HEYA_PUCHI": "Petit Personnage", + "HEYA_CHARA": "Personnage", + "HEYA_DAN": "Titre Dan", + "HEYA_NAMEPLATE": "Titre", + + // {0}: Asset name + "HEYA_DESCRIPTION_NAME": "Name: {0}", + // {0}: Asset rarity + "HEYA_DESCRIPTION_RARITY": "Rarity: {0}", + "HEYA_DESCRIPTION_RARITY0": "Poor", + "HEYA_DESCRIPTION_RARITY1": "Common", + "HEYA_DESCRIPTION_RARITY2": "Uncommon", + "HEYA_DESCRIPTION_RARITY3": "Rare", + "HEYA_DESCRIPTION_RARITY4": "Epic", + "HEYA_DESCRIPTION_RARITY5": "Legendary", + "HEYA_DESCRIPTION_RARITY6": "Mythical", + // {0}: Asset author + "HEYA_DESCRIPTION_AUTHOR": "Author: {0}", + // {0}: Gauge type + "HEYA_DESCRIPTION_EFFECTS_GAUGETYPE": "Gauge Type: {0}", + "HEYA_DESCRIPTION_EFFECTS_GAUGETYPE_NORMAL": "Normal", + "HEYA_DESCRIPTION_EFFECTS_GAUGETYPE_HARD": "Hard", + "HEYA_DESCRIPTION_EFFECTS_GAUGETYPE_EXTREME": "Extreme", + "HEYA_DESCRIPTION_EFFECTS_GAUGETYPE_NORMAL_DESC": "Finish the play within the clear zone to pass the song!", + "HEYA_DESCRIPTION_EFFECTS_GAUGETYPE_HARD_DESC": "The gauge starts full and sharply depletes at each miss!\nBe careful, if the gauge value reachs 0, the play is automatically failed!", + "HEYA_DESCRIPTION_EFFECTS_GAUGETYPE_EXTREME_DESC": "The gauge starts full and sharply depletes at each miss!\nA strange power seems to reduce the margin of error through the song...", + // {0}: Percentage of mines + "HEYA_DESCRIPTION_EFFECTS_BOMBFACTOR": "Bomb Factor: {0}% of notes converted to mines in Minesweeper", + // {0}: Percentage of fuse rolls + "HEYA_DESCRIPTION_EFFECTS_FUSEFACTOR": "Fuse Factor: {0}% of balloons converted to fuse rolls in Minesweeper", + "HEYA_DESCRIPTION_EFFECTS_ALLSWAP": "All big notes become Swap notes", + "HEYA_DESCRIPTION_EFFECTS_SHOWADLIB": "ADLib notes become visible", + // {0}: # of auto-rolls per second + "HEYA_DESCRIPTION_EFFECTS_AUTOROLL": "Automatic Rolls at {0} hits/s", + "HEYA_DESCRIPTION_EFFECTS_SPLITLANE": "Split Lanes", + // {0}: Coin multiplier + "HEYA_DESCRIPTION_COIN_MULTIPLIER": "Coin multiplier: x{0}", + + // Unlock requirements & messages (Any Menu) + "UNLOCK_CONDITION_INVALID": "[ERREUR] Condition invalide", + "UNLOCK_CONDITION_SHOP": "L'article n'est disponible que dans le Magasin.", // cs + // {0}: Price of item + "UNLOCK_CONDITION_COST": "Prix en jetons: {0}", // ch, cs, cm + "UNLOCK_COIN_BOUGHT": "Article acheté!", + "UNLOCK_COIN_MORE": "Nombre de jetons insuffisant!", + + "UNLOCK_CONDITION_ERROR": "La condition suivante: {0} requires {1} values.", + "UNLOCK_CONDITION_ERROR2": "La condition suivante: {0} requires ({1} * n) values and n references.", + + // {0}: Coin earn requirement + // {1}: Current progress + "UNLOCK_CONDITION_EARN": "Earn a total of {0} coins to unlock this item! ({1}/{0})", // ce + // {0}: Total AI plays needed + // {1}: Current progress + "UNLOCK_CONDITION_AIPLAY": "Play {0} AI battle matches to unlock this item! ({1}/{0})", // ap + // {0}: Total AI wins needed + // {1}: Current progress + "UNLOCK_CONDITION_AIWIN": "Win {0} AI battle matches to unlock this item! ({1}/{0})", // aw + // {0}: Total plays needed + // {1}: Current progress + "UNLOCK_CONDITION_PLAY": "Play {0} songs to unlock this item! ({1}/{0})", // tp + // {0}: Clear type (i.e. Play, Clear, FC, Perfect, etc.) + // {1}: # of songs needed + // {2}: Difficulty type (i.e. Easy, Normal, Hard, Ex, etc.) + // {3}: Current progress + "UNLOCK_CONDITION_PLAYDIFF": "{0} {1} songs on {2} difficulty to unlock this item! ({3}/{1})", // dp + // {0}: Clear type (i.e. Play, Clear, FC, Perfect, etc.) + // {1}: # of songs needed + // {2}: Star rating (i.e. 8*, 9*, 10*, etc.) + // {3}: Current progress + "UNLOCK_CONDITION_PLAYLEVEL": "{0} {1} songs with a star rating of {2} to unlock this item! ({3}/{1})", // lp + // {0}: Current progress + // {1}: Total # of challenges + "UNLOCK_CONDITION_CHALLENGE": "Get the following performances to unlock this item: ({0}/{1})", // sp, sg, sc + // {0}: Clear type + // {1}: Song name + // {2}: Difficulty type + "UNLOCK_CONDITION_CHALLENGE_PLAYDIFF": "- {0} {1} on {2} difficulty.", // sp + // {0}: Clear type + // {1}: # of songs needed + // {2}: Genre name (i.e. "OpenTaiko Chapter II", "Dashy's Secrets", "Touhou Arrangements", etc.) + // {3}: Current progress + "UNLOCK_CONDITION_CHALLENGE_PLAYGENRE": "- {0} {1} songs within the {2} folder. ({3}/{1})", // sg + // {0}: Clear type + // {1} # of songs needed + // {2} Charter name (i.e. Komi, bol, Dashy, Colin, etc.) + // {3} Current progress + "UNLOCK_CONDITION_CHALLENGE_PLAYCHARTER": "- {0} {1} charts made by {2}. ({3}/{1})", // sc + + "UNLOCK_CONDITION_REQUIRE_PLAY": "Play", + "UNLOCK_CONDITION_REQUIRE_PLAY_MORE": "Play", + "UNLOCK_CONDITION_REQUIRE_ASSIST": "Get an Assisted Clear on", + "UNLOCK_CONDITION_REQUIRE_ASSIST_MORE": "Get at least an Assisted Clear on", + "UNLOCK_CONDITION_REQUIRE_CLEAR": "Get a Clear on", + "UNLOCK_CONDITION_REQUIRE_CLEAR_MORE": "Get at least a Clear on", + "UNLOCK_CONDITION_REQUIRE_FC": "Get a Full Combo on", + "UNLOCK_CONDITION_REQUIRE_FC_MORE": "Get at least a Full Combo on", + "UNLOCK_CONDITION_REQUIRE_PERFECT": "Get a Perfect on", + "UNLOCK_CONDITION_REQUIRE_PERFECT_MORE": "Get a Perfect on", + + // Pause Menu (Taiko/Tower/Dan Mode) + "PAUSE_TITLE": "Pause", + "PAUSE_RESUME": "Reprendre", + "PAUSE_RESTART": "Recommencer", + "PAUSE_EXIT": "Quitter", + + // AI Info + "AI_NAME": "IA", + "AI_TITLE": "Deus-Ex-Machina", + // {0}: Section No. + "AI_SECTION": "Section {0}", + + // Mods + "MOD_NONE": "Aucun", + "MOD_BLANK": "-", + "MOD_SWITCH_OFF": "Non", + "MOD_SWITCH_ON": "Oui", + "MOD_SCOREMULTIPLY": "Multiplicateur de score: {0}", + "MOD_COINMULTIPLY": "Multiplicateur de pièces: {0}", + + "MOD_SPEED": "Vitesse", + + "MOD_HIDE": "Discret", + "MOD_STEALTH": "Furtif", + + "MOD_FLIP": "Inverse", + + "MOD_RANDOM": "Hasard", + "MOD_RANDOM_SHUFFLE": "Hasardeux", + "MOD_RANDOM_CHAOS": "Chaotique", + + "MOD_TIMING": "Timing", + "MOD_TIMING1": "Laxiste", + "MOD_TIMING2": "Permissif", + "MOD_TIMING3": "Normal", + "MOD_TIMING4": "Strict", + "MOD_TIMING5": "Rigoureux", + + "MOD_JUSTICE": "Mode Punitif", + "MOD_SAFE": "Protegé", + "MOD_JUST": "Punitif", + + "MOD_GAMETYPE": "Game Type", + "MOD_GAMETYPE_TAIKO": "Taiko", + "MOD_GAMETYPE_KONGA": "Konga", + + "MOD_GAMEMODE": "Mode de jeu", + "MOD_GAMEMODE_TRAINING": "Mode entraînement", + + "MOD_AUTO": "Auto", + + "MOD_SONGSPEED": "Vitesse générale", + "SETTINGS_MOD_SONGSPEED_DESC": "Change le coefficient multiplicateur de \nla vitesse générale de la musique en jeu.Par exemple, vous pouvez la diviser par \n2 en l'établissant à 0.500 \nafin de vous entraîner plus serainement.\n\nNote: Cette option change aussi le ton de la musique.\nSi TimeStretch=ON, il peut y avoir du\nlag si la vitesse générale est inférieure à x0.900.", + + "MOD_HITSOUND": "Instrument", + + "MOD_FUN": "Extras", + "MOD_FUN_AVALANCHE": "Avalanche", + "MOD_FUN_MINESWEEPER": "Démineur" + }, + // In the case that a key is missing, this message will display, with the name of the missing/unknown key. + "InvalidKey": "KEY NOT FOUND: {0}", + // If a skin does not include a font for a specific language, the game will fallback to this language's fonts. This ensures that all text for all languages can be clearly read. + // Font name can be a file, or the name of an already installed font (i.e. "Arial"). If using a font name instead of a file name, please ensure that the user already has this font installed on their computer. + "FontName": "Arial", + "BoxFontName": "Arial" +} diff --git a/OpenTaiko/Lang/ja/lang.json b/OpenTaiko/Lang/ja/lang.json index 124dedf5..1c4afb01 100644 --- a/OpenTaiko/Lang/ja/lang.json +++ b/OpenTaiko/Lang/ja/lang.json @@ -1,604 +1,608 @@ -{ - // The folder's name is used as the ID, which is used to identify which localized data to use. - // This includes TJAs with localized titles/subtitles (i.e. TITLEJA/SUBTITLEJA) and Lua scripts which utilize the "lang" variable. - // It is STRONGLY recommended that you use a two-letter language code that follows the ISO 639 standard. Keep the ID lowercased. - // If you aren't sure which code fits your language, please refer to https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes - - // "Language" should include the name of your language in its native text, as well as its English variant in parentheses. - // i.e. "日本語 (Japanese)" - "Language": "日本語 (Japanese)", - "Entries": { - - // Common - "MENU_RETURN": "とじる", - // Difficulties (Any Menu) - "DIFF_EASY": "かんたん", - "DIFF_NORMAL": "ふつう", - "DIFF_HARD": "むずかしい", - "DIFF_EX": "おに(表)", - "DIFF_EXTRA": "おに(裏)", - "DIFF_EXEXTRA": "おに(裏表)", - "DIFF_TOWER": "タワー", - "DIFF_DAN": "段位", - "DIFF_ANY": "難易度問わず", - "DIFF_UNKNOWN": "Unknown", - - // Settings - "SETTINGS_SYSTEM": "システム設定", - "SETTINGS_SYSTEM_DESC": "システムに関係する項目を設定します。", - "SETTINGS_GAME": "ゲームプレイ設定", - "SETTINGS_GAME_DESC": "ドラムの演奏に関する項目を設定します。", - "SETTINGS_EXIT": "出る", - "SETTINGS_EXIT_DESC": "設定を保存し、コンフィグ画面を終了します。", - - "SETTINGS_MENU_RETURN": "<< 戻る", - "SETTINGS_MENU_RETURN_DESC": "左側のメニューに戻ります。", - - "SETTINGS_KEYASSIGN_SYSTEM": "システムのキー設定", - "SETTINGS_KEYASSIGN_SYSTEM_DESC": "システムのキー入力に関する項目を設\n定します。", - "SETTINGS_KEYASSIGN_GAME": "入力設定", - "SETTINGS_KEYASSIGN_GAME_DESC": "ドラムのキー入力に関する項目を設", - "SETTINGS_KEYASSIGN_TRAINING": "Training Mode Key Config", - "SETTINGS_KEYASSIGN_TRAINING_DESC": "A secondary menu to adjust keys used during\nTraining Mode.", - - // Settings - System - "SETTINGS_SYSTEM_LANGUAGE": "システム言語", - "SETTINGS_SYSTEM_LANGUAGE_DESC": "プレイ中やメニューの\n言語を変更。", - "SETTINGS_SYSTEM_PLAYERCOUNT": "プレイ人数", - "SETTINGS_SYSTEM_PLAYERCOUNT_DESC": "プレイ人数切り替え:\n5人までプレイできます。", - "SETTINGS_SYSTEM_RELOADSONG": "曲データ再読み込み", - "SETTINGS_SYSTEM_RELOADSONG_DESC": "曲データの一覧情報を取得し直します。", - "SETTINGS_SYSTEM_RELOADSONGCACHE": "キャッシュをクリアして曲データ再読み込み", - "SETTINGS_SYSTEM_RELOADSONGCACHE_DESC": "キャッシュをクリアして曲データの一覧情報を取得し直します。", - - "SETTINGS_SYSTEM_IMPORTSCOREINI": "Import Score.ini Files", - "SETTINGS_SYSTEM_IMPORTSCOREINI_DESC": "Imports Score.ini files to the database.\n\nWARNING\nThe following will not be transferred:\n- Clear statuses\n- Gameplay modifiers\n- # of hits (Good, Ok, Bad, Drumroll, etc.)\n- Dan exam scores", - "SETTINGS_SYSTEM_IMPORTSCOREINI_STATUS1": "Searching for scores...", - // {0}: Total # of score.ini files to be processed - // {1}: # of score.ini files successfully imported - // {2}: # of score.ini files currently processed - // {3}: # of score.ini files skipped - // {4}: # of score.ini files that failed to import due to an error - // {5}: Name of the current score.ini file being processed. - "SETTINGS_SYSTEM_IMPORTSCOREINI_STATUS2": "Processing {0} scores...\n{1} of {2} imported ({3} skipped / {4} failed)\n\n{5}", - - "SETTINGS_SYSTEM_HIDEDANTOWER": "段・タワー譜面省略", - "SETTINGS_SYSTEM_HIDEDANTOWER_DESC": "演奏選曲画面にタワー及び\n段の譜面を省略設定です。\nONに設けると別々の画面\nにしか表示されていません。\n※ 設定は譜面の再読み込み時\n に有効になります。", - - // Settings - System - Graphics - "SETTINGS_SYSTEM_FULLSCREEN": "全画面モード", - "SETTINGS_SYSTEM_FULLSCREEN_DESC": "画面モード設定:\nON で全画面モード、OFF でウィンド\nウモードになります。", - "SETTINGS_SYSTEM_VSYNC": "垂直帰線同期", - "SETTINGS_SYSTEM_VSYNC_DESC": "垂直帰線同期:\n画面の描画をディスプレイの垂直帰\n線中に行なう場合には ON を指定し\nます。ON にすると、ガタつきのない\n滑らかな画面描画が実現されます。", - "SETTINGS_SYSTEM_GRAPHICSAPI": "グラフィックスAPI", - "SETTINGS_SYSTEM_GRAPHICSAPI_DESC": "Bass使用時のバッファサイズ:\n0~99999ms を指定可能です。\n0を指定すると、OSがバッファの\nサイズを自動設定します。\n値を小さくするほど発音ラグが\n減少しますが、音割れや異常動作を\n引き起こす場合があります。\n※ 設定はCONFIGURATION画面の\n 終了時に有効になります。", - "SETTINGS_SYSTEM_TEXTUREASYNC": "非同期テクスチャ読み込み", - "SETTINGS_SYSTEM_TEXTUREASYNC_DESC": "テクスチャの読み込み方法:\n起動時のフリーズが消えます\nテクスチャが黒くなる場合はこのオプションをOFFにしてください\nこの変更は再起動後に反映されます", - - "SETTINGS_SYSTEM_BGMOVIE": "AVI", - "SETTINGS_SYSTEM_BGMOVIE_DESC": "AVIの使用:\n動画(AVI)を再生可能にする場合に\nON にします。AVI の再生には、それ\nなりのマシンパワーが必要とされます。", - "SETTINGS_SYSTEM_BGMOVIEDISPLAY": "動画再生モード", - "SETTINGS_SYSTEM_BGMOVIEDISPLAY_DESC": "動画の表示方法を変更します.", - "SETTINGS_SYSTEM_BGMOVIEDISPLAY_NONE": "OFF", - "SETTINGS_SYSTEM_BGMOVIEDISPLAY_FULL": "背景", - "SETTINGS_SYSTEM_BGMOVIEDISPLAY_MINI": "ウィンドウ", - "SETTINGS_SYSTEM_BGMOVIEDISPLAY_BOTH": "両方", - "SETTINGS_SYSTEM_LANEOPACITY": "レーンBG透明度", - "SETTINGS_SYSTEM_LANEOPACITY_DESC": "This controls the lane background opacity\nwhile videos are playing.\n\n0 = completely transparent,\n255 = no transparency", - - "SETTINGS_SYSTEM_BGA": "BGA", - "SETTINGS_SYSTEM_BGA_DESC": "BGAの使用:\n画像(BGA)を表示可能にする場合に\nON にします。BGA の再生には、それ\nなりのマシンパワーが必要とされます。", - "SETTINGS_SYSTEM_DISPLAYCHARA": "キャラクター表示", - "SETTINGS_SYSTEM_DISPLAYCHARA_DESC": "キャラクター画像を表示するかどうか", - "SETTINGS_SYSTEM_DISPLAYDANCER": "踊り子表示", - "SETTINGS_SYSTEM_DISPLAYDANCER_DESC": "ダンサー画像を表示するかどうか", - "SETTINGS_SYSTEM_DISPLAYMOB": "モブ表示", - "SETTINGS_SYSTEM_DISPLAYMOB_DESC": "モブ画像を表示するかどうか", - "SETTINGS_SYSTEM_DISPLAYRUNNER": "ランナー表示", - "SETTINGS_SYSTEM_DISPLAYRUNNER_DESC": "ランナー画像を表示するかどうか", - "SETTINGS_SYSTEM_DISPLAYFOOTER": "フッター表示", - "SETTINGS_SYSTEM_DISPLAYFOOTER_DESC": "フッター画像を表示するかどうか", - "SETTINGS_SYSTEM_DISPLAYPUCHI": "プチキャラ表示", - "SETTINGS_SYSTEM_DISPLAYPUCHI_DESC": "プチキャラ画像を表示するかどうか", - "SETTINGS_SYSTEM_SIMPLEMODE": "シンプルモード", - "SETTINGS_SYSTEM_SIMPLEMODE_DESC": "太鼓の数字がアニメーションしなくなります\nCombo_Textが非表示になります\nScoreのアニメーションがなくなります\nTaikoのフラッシュがシンプルになります\nCouse_Symbol_Back_Flashが光らなくなります\nRunnerが非表示になります\n判定枠のPerfectのアニメーションが非表示になります\n分岐アニメーションがなくなります\nノーツが飛ばなくなります\nFireworkが非表示になります\nRainbowが非表示になります\n音符がアニメーションしなくなります\nNamePlateのアニメーションがなくなります\n連打の飛んでいく画像が非表示になります", - - "SETTINGS_SYSTEM_SKIN": "スキン (全体)", - "SETTINGS_SYSTEM_SKIN_DESC": "スキン切替:\nスキンを切り替えます。", - - // Settings - System - Audio - "SETTINGS_SYSTEM_SONGPLAYBACK": "音源使用", - "SETTINGS_SYSTEM_SONGPLAYBACK_DESC": "BGMの再生:\nこれをOFFにすると、BGM を再生しな\nくなります。", - "SETTINGS_SYSTEM_USESONGVOL": "SONGVOL使用", - "SETTINGS_SYSTEM_USESONGVOL_DESC": ".tjaファイルのSONGVOLヘッダを音源の音量に適用します。設定による音量調整を使用する場合はこの設定をOFFにしてください。", - "SETTINGS_SYSTEM_SEVOL": "効果音音量", - "SETTINGS_SYSTEM_SEVOL_DESC": "効果音の音量を調節します。", - "SETTINGS_SYSTEM_VOICEVOL": "ボイス音量", - "SETTINGS_SYSTEM_VOICEVOL_DESC": "各画面で流れるボイス、コンボボイスの音量を調節します。", - "SETTINGS_SYSTEM_SONGVOL": "音源音量", - "SETTINGS_SYSTEM_SONGVOL_DESC": "ゲーム中の音源の音量を調節します。", - "SETTINGS_SYSTEM_SONGPREVIEWVOL": "プレビュー音量", - "SETTINGS_SYSTEM_SONGPREVIEWVOL_DESC": "プレビュー時の音源の音量を調節します。", - "SETTINGS_SYSTEM_VOLINCREMENT": "キーボード音量調整", - "SETTINGS_SYSTEM_VOLINCREMENT_DESC": "キーボードで音量調整をするときの増加量、減少量を指定します。\n1 ~ 20 の値が指定可能です。", - - "SETTINGS_SYSTEM_SONGPLAYBACKBUFFER": "MusicPreTimeMs", - "SETTINGS_SYSTEM_SONGPLAYBACKBUFFER_DESC": "音源再生前の空白時間 (ms)。", - "SETTINGS_SYSTEM_SONGPREVIEWBUFFER": "プレビュー音量", - "SETTINGS_SYSTEM_SONGPREVIEWBUFFER_DESC": "プレビュー時の音源の音量を調節します。", - - "SETTINGS_SYSTEM_AUDIOPLAYBACK": "サウンド出力方式", - "SETTINGS_SYSTEM_AUDIOPLAYBACK_DESC": "サウンドの出力方式:\nWASAPI, ASIO, DSound(DirectSound)\nの中からサウンド出力方式を選択\nします。\nWASAPIはVista以降でのみ使用可能\nです。ASIOは対応機器でのみ使用\n可能です。\nWASAPIかASIOを指定することで、\n遅延の少ない演奏を楽しむことが\nできます。\n\n※ 設定はCONFIGURATION画面の\n 終了時に有効になります。", - "SETTINGS_SYSTEM_ASIOPLAYBACK": "ASIOデバイス", - "SETTINGS_SYSTEM_ASIOPLAYBACK_DESC": "ASIOデバイス:\nASIO使用時のサウンドデバイスを\n選択します。\n\n※ 設定はCONFIGURATION画面の\n 終了時に有効になります。", - "SETTINGS_SYSTEM_WASAPIBUFFER": "WASAPIバッファサイズ", - "SETTINGS_SYSTEM_WASAPIBUFFER_DESC": "WASAPI使用時のバッファサイズ:\n0~99999ms を指定可能です。\n0を指定すると、OSがバッファの\nサイズを自動設定します。\n値を小さくするほど発音ラグが\n減少しますが、音割れや異常動作を\n引き起こす場合があります。\n※ 設定はCONFIGURATION画面の\n 終了時に有効になります。", - "SETTINGS_SYSTEM_BASSBUFFER": "Bass Buffer Size", - "SETTINGS_SYSTEM_BASSBUFFER_DESC": "Buffer size when using Bass:\nSize can be between 0~99999ms.\nA value of 0 will make the OS\nautomatically decide the size.\nThe smaller the value, the less\naudio lag there is, but may also\ncause abnormal/crackling audio.\n※ NOTE: Exit CONFIGURATION to make the\n  settings take effect.", - "SETTINGS_SYSTEM_OSTIMER": "OSタイマー使用", - "SETTINGS_SYSTEM_OSTIMER_DESC": "OSタイマーを使用するかどうか:\n演奏タイマーとして、OpenTaiko独自の\nタイマーを使うか、OS標準のタイマー\nを使うかを選択します。\nOS標準タイマーを使うとスクロールが\n滑らかになりますが、演奏で音ズレが\n発生することがあります。(そのため\nAdjustWavesの効果が適用されます。)\n\nこの指定はWASAPI/ASIO使用時のみ有効\nです。", - - // Settings - System - Misc. - "SETTINGS_SYSTEM_LOG": "Traceログ出力", - "SETTINGS_SYSTEM_LOG_DESC": "Traceログ出力:\nTJAPlayer3.txt にログを出力します。\n変更した場合は、OpenTaiko の再起動\n後に有効となります。", - "SETTINGS_SYSTEM_RANDOMSUBFOLDER": "RandSubBox", - "SETTINGS_SYSTEM_RANDOMSUBFOLDER_DESC": "子BOXをRANDOMの対象とする:\nON にすると、RANDOM SELECT 時\nに子BOXも選択対象とします。", - "SETTINGS_SYSTEM_DEBUGMODE": "デバッグ情報", - "SETTINGS_SYSTEM_DEBUGMODE_DESC": "演奏情報の表示:\n演奏中、BGA領域の下部に演奏情報\n(FPS、BPM、演奏時間など)を表示し\nます。\nまた、小節線の横に小節番号が表示\nされるようになります。", - "SETTINGS_SYSTEM_AUTOSCREENSHOT": "リザルト画像自動保存", - "SETTINGS_SYSTEM_AUTOSCREENSHOT_DESC": "リザルト画像自動保存機能:\nONにすると、ハイスコア/ハイスキル時に\n自動でリザルト画像を曲データと同じ\nフォルダに保存します。", - "SETTINGS_SYSTEM_DISCORDRPC": "Discord送信", - "SETTINGS_SYSTEM_DISCORDRPC_DESC": "Discordに再生中の譜面情報を送信する", - "SETTINGS_SYSTEM_BUFFEREDINPUT": "バッファ入力モード", - "SETTINGS_SYSTEM_BUFFEREDINPUT_DESC": "バッファ入力モード:\nON にすると、FPS を超える入力解像\n度を実現します。\nOFF にすると、入力解像度は FPS に\n等しくなります。", - - // Settings - Gameplay - "SETTINGS_GAME_GLOBALOFFSET": "グローバルオフセット", - "SETTINGS_GAME_GLOBALOFFSET_DESC": "全譜面のOFFSETメタデータ\nを変化設定です。\n-999から999msまで設ける可能です。\n入力遅れを減るためマイナス値をご設定ください。", - - "SETTINGS_GAME_CALIBRATION": "Calibrate Offset", - "SETTINGS_GAME_CALIBRATION_DESC": "Calibrate your offset.\nGlobal Offset will be overwritten if saved.", - "SETTINGS_GAME_CALIBRATION_OFFSET": "OFFSET: {0}", - - "SETTINGS_GAME_BADCOUNT": "完璧モード", - "SETTINGS_GAME_BADCOUNT_DESC": "Riskyモードの設定:\n1以上の値にすると、その回数分の\n不可で演奏が強制終了します。\n0にすると無効になり、\nノルマゲージのみになります。\n", - "SETTINGS_GAME_NOTELOCK": "タイト", - "SETTINGS_GAME_NOTELOCK_DESC": "ドラムチップのないところでパッドを\n叩くとミスになります。", - "SETTINGS_GAME_AILEVEL": "AIレベル", - "SETTINGS_GAME_AILEVEL_DESC": "AIの制度を定める設定です。\n0ならAIはオフされます。\n1以上なら2PはAIとして自動でやります。\nAUTO 2PはオンならAI使用できません。", - "SETTINGS_GAME_NORMALGAUGE": "ゲージをNormalに固定", - "SETTINGS_GAME_NORMALGAUGE_DESC": "ゲージをNormalに固定します", - - "SETTINGS_GAME_AUTOP1": "AUTO 1P", - "SETTINGS_GAME_AUTOP1_DESC": "すべての音符を自動で演奏します。", - "SETTINGS_GAME_AUTOP2": "AUTO 2P", - "SETTINGS_GAME_AUTOP2_DESC": "すべての音符を自動で演奏します。", - "SETTINGS_GAME_AUTOROLL": "連打速度", - "SETTINGS_GAME_AUTOROLL_DESC": "AUTO中で黄色連打の速度を変化します。\n0で設けったら叩きません。\n多くとも各フレーム1打。", - - "SETTINGS_GAME_NOINFO": "情報なし", - "SETTINGS_GAME_NOINFO_DESC": "有効にすると曲情報などが見えなくなります。", - "SETTINGS_GAME_COMBODISPLAY": "最低表示コンボ", - "SETTINGS_GAME_COMBODISPLAY_DESC": "表示可能な最小コンボ数(ドラム):\n画面に表示されるコンボの最小の数\nを指定します。\n1 ~ 99999 の値が指定可能です。", - "SETTINGS_GAME_SCOREDISPLAY": "判定数表示", - "SETTINGS_GAME_SCOREDISPLAY_DESC": "左下に判定数を表示します。\n(1人プレイ専用)", - "SETTINGS_GAME_BRANCHANIME": "譜面分岐時アニメーション", - "SETTINGS_GAME_BRANCHANIME_DESC": "譜面分岐時のアニメーション\nTYPE-A: 太鼓7~太鼓14\nTYPE-B: 太鼓15~", - - "SETTINGS_GAME_DEFAULTDIFF": "デフォルト難易度", - "SETTINGS_GAME_DEFAULTDIFF_DESC": "デフォルトで選択される難易度", - "SETTINGS_GAME_EXEXTRAANIME": "裏表移行アニメーション", - "SETTINGS_GAME_EXEXTRAANIME_DESC": "裏表移行アニメーションを有効する", - - // Settings - Gameplay - Training Mode - "SETTINGS_TRAINING_SKIPCOUNT": "Measure Skip Count", - "SETTINGS_TRAINING_SKIPCOUNT_DESC": "The number of measures to skip while\npressing Skip Forward/Back Measure in\nTraining Mode.", - "SETTINGS_TRAINING_JUMPINTERVAL": "Measure Jump Time Interval", - "SETTINGS_TRAINING_JUMPINTERVAL_DESC": "The amount of time in milliseconds needed to\nrepeatedly hit the Left/Right Blue keys in\norder to jump to a bookmarked measure in\nTraining Mode.", - - // Settings - Broken/Unused/Might Deprecate/Might Update - // Translate these anyways, even if their future is uncertain. - "SETTINGS_SYSTEM_IMAGEPREVIEWBUFFER": "PreImageWait", - "SETTINGS_SYSTEM_IMAGEPREVIEWBUFFER_DESC": "プレビュー画像表示までの時間:\n曲にカーソルが合わされてからプレ\nビュー画像が表示されるまでの時間\nを指定します。\n0 ~ 10000 [ms] が指定可能です。", - "SETTINGS_SYSTEM_TIMESTRETCH": "タイムストレッチ", - "SETTINGS_SYSTEM_TIMESTRETCH_DESC": "演奏速度の変更方式:\nONにすると、演奏速度の変更を、\n周波数変更ではなく\nタイムストレッチで行います。\nこれをONにすると、サウンド処理に\nより多くのCPU性能を使用します。\nまた、演奏速度をx0.850以下にすると、\nチップのズレが大きくなります。", - "SETTINGS_SYSTEM_FASTRENDER": "FastRender", - "SETTINGS_SYSTEM_FASTRENDER_DESC": "事前画像描画機能を使うかどうか。", - "SETTINGS_GAME_BRANCHGUIDE": "譜面分岐ガイド", - "SETTINGS_GAME_BRANCHGUIDE_DESC": "譜面分岐の参考になる数値などを表示します。\nオートプレイだと表示されません。", - "SETTINGS_GAME_BIGNOTEJUDGE": "大音符判定", - "SETTINGS_GAME_BIGNOTEJUDGE_DESC": "大音符の両手判定を有効にします。", - "SETTINGS_GAME_SURVIVAL": "ゲームモード", - "SETTINGS_GAME_SURVIVAL_DESC": "(1人プレイ専用)\n=TYPE-A: 完走!叩ききりまショー!\n=TYPE-B: 完走!叩ききりまショー!(激辛)", - "SETTINGS_GAME_SCOREMODE": "スコア計算方法", - "SETTINGS_GAME_SCOREMODE_DESC": "スコア計算方法\nTYPE-A: 旧配点\nTYPE-B: 旧筐体配点\nTYPE-C: 新配点", - "SETTINGS_GAME_SHINUCHI": "真打モード", - "SETTINGS_GAME_SHINUCHI_DESC": "真打モードを有効にする。", - - // Key Assignment - System - "SETTINGS_KEYASSIGN_SYSTEM_CAPTURE": "キャプチャ", - "SETTINGS_KEYASSIGN_SYSTEM_CAPTURE_DESC": "キャプチャキー設定:\n画面キャプチャのキーの割り当てを設\n定します。", - "SETTINGS_KEYASSIGN_SYSTEM_INCREASEVOL": "音量を上げる", - "SETTINGS_KEYASSIGN_SYSTEM_INCREASEVOL_DESC": "システムキー割り当て:\n音量を上げるキーを割り当てます\n(キーボード以外は割り当てられません)", - "SETTINGS_KEYASSIGN_SYSTEM_DECREASEVOL": "音量を下げる", - "SETTINGS_KEYASSIGN_SYSTEM_DECREASEVOL_DESC": "システムキー割り当て:\n音量を下げるキーを割り当てます\n(キーボード以外は割り当てられません)", - "SETTINGS_KEYASSIGN_SYSTEM_DISPLAYHITS": "叩いた数の表示切り替え", - "SETTINGS_KEYASSIGN_SYSTEM_DISPLAYHITS_DESC": "システムキー割り当て:\n叩いた数の表示切り替えのキーを割り当てます\n(キーボード以外は割り当てられません)", - "SETTINGS_KEYASSIGN_SYSTEM_DISPLAYDEBUG": "デバッグ表示切り替え", - "SETTINGS_KEYASSIGN_SYSTEM_DISPLAYDEBUG_DESC": "システムキー割り当て:\nデバッグ表示切り替えのキーを割り当てます\n(キーボード以外は割り当てられません)", - "SETTINGS_KEYASSIGN_SYSTEM_QUICKCONFIG": "簡易設定", - "SETTINGS_KEYASSIGN_SYSTEM_QUICKCONFIG_DESC": "システムキー割り当:\n簡易設定のキーを割り当てます\n(キーボード以外は割り当てられません)", - "SETTINGS_KEYASSIGN_SYSTEM_QUICKHEYA": "プレイヤーカスタマイズ", - "SETTINGS_KEYASSIGN_SYSTEM_QUICKHEYA_DESC": "システムキー割り当て:\nプレイヤーカスタマイズのキーを割り当てます\n(キーボード以外は割り当てられません)", - "SETTINGS_KEYASSIGN_SYSTEM_SONGSORT": "曲リストのソート切り替え", - "SETTINGS_KEYASSIGN_SYSTEM_SONGSORT_DESC": "システムキー割り当て:\n曲リストのソート切り替えのキーを割り当てます\n(キーボード以外は割り当てられません)", - "SETTINGS_KEYASSIGN_SYSTEM_AUTO1P": "1Pオート切り替え", - "SETTINGS_KEYASSIGN_SYSTEM_AUTO1P_DESC": "システムキー割り当て:\n1Pオート切り替えのキーを割り当てます\n(キーボード以外は割り当てられません)", - "SETTINGS_KEYASSIGN_SYSTEM_AUTO2P": "2Pオート切り替え", - "SETTINGS_KEYASSIGN_SYSTEM_AUTO2P_DESC": "システムキー割り当て:\n2Pオート切り替えのキーを割り当てます\n(キーボード以外は割り当てられません)", - "SETTINGS_KEYASSIGN_SYSTEM_TRAINING": "特訓モード切り替え", - "SETTINGS_KEYASSIGN_SYSTEM_TRAINING_DESC": "システムキー割り当て:\n特訓モード切り替えのキーを割り当てます\n(キーボード以外は割り当てられません)", - "SETTINGS_KEYASSIGN_SYSTEM_BGMOVIEDISPLAY": "動画再生モード切替", - "SETTINGS_KEYASSIGN_SYSTEM_BGMOVIEDISPLAY_DESC": "システムキー割り当て:\n動画再生モード切替のキーを割り当てます\n(キーボード以外は割り当てられません)", - - // Key Assignment - Gameplay - "SETTINGS_KEYASSIGN_GAME_DECIDE": "Decide", - "SETTINGS_KEYASSIGN_GAME_DECIDE_DESC": "選択のキーの割り当てを設\n定します。", - "SETTINGS_KEYASSIGN_GAME_CANCEL": "Cancel", - "SETTINGS_KEYASSIGN_GAME_CANCEL_DESC": "キャンセルのキーの割り当てを設\n定します。", - "SETTINGS_KEYASSIGN_GAME_LEFTCHANGE": "LeftChange", - "SETTINGS_KEYASSIGN_GAME_LEFTCHANGE_DESC": "左のキーの割り当てを設\n定します。", - "SETTINGS_KEYASSIGN_GAME_RIGHTCHANGE": "RightChange", - "SETTINGS_KEYASSIGN_GAME_RIGHTCHANGE_DESC": "右のキーの割り当てを設\n定します。", - - "SETTINGS_KEYASSIGN_GAME_LEFTRED": "LeftRed", - "SETTINGS_KEYASSIGN_GAME_LEFTRED_DESC": "左側の面へのキーの割り当てを設\n定します。", - "SETTINGS_KEYASSIGN_GAME_RIGHTRED": "RightRed", - "SETTINGS_KEYASSIGN_GAME_RIGHTRED_DESC": "右側の面へのキーの割り当て\nを設定します。", - "SETTINGS_KEYASSIGN_GAME_LEFTBLUE": "LeftBlue", - "SETTINGS_KEYASSIGN_GAME_LEFTBLUE_DESC": "左側のふちへのキーの\n割り当てを設定します。", - "SETTINGS_KEYASSIGN_GAME_RIGHTBLUE": "RightBlue", - "SETTINGS_KEYASSIGN_GAME_RIGHTBLUE_DESC": "右側のふちへのキーの\n割り当てを設定します。", - "SETTINGS_KEYASSIGN_GAME_CLAP": "Clap", - "SETTINGS_KEYASSIGN_GAME_CLAP_DESC": "コンガの拍手へのキーの割り当てを設\n定します。", - - "SETTINGS_KEYASSIGN_GAME_LEFTRED2P": "LeftRed2P", - "SETTINGS_KEYASSIGN_GAME_LEFTRED2P_DESC": "左側の面へのキーの割り当てを設\n定します。", - "SETTINGS_KEYASSIGN_GAME_RIGHTRED2P": "RightRed2P", - "SETTINGS_KEYASSIGN_GAME_RIGHTRED2P_DESC": "右側の面へのキーの割り当て\nを設定します。", - "SETTINGS_KEYASSIGN_GAME_LEFTBLUE2P": "LeftBlue2P", - "SETTINGS_KEYASSIGN_GAME_LEFTBLUE2P_DESC": "左側のふちへのキーの\n割り当てを設定します。", - "SETTINGS_KEYASSIGN_GAME_RIGHTBLUE2P": "RightBlue2P", - "SETTINGS_KEYASSIGN_GAME_RIGHTBLUE2P_DESC": "右側のふちへのキーの\n割り当てを設定します。", - "SETTINGS_KEYASSIGN_GAME_CLAP2P": "Clap2P", - "SETTINGS_KEYASSIGN_GAME_CLAP2P_DESC": "コンガの拍手へのキーの割り当てを設\n定します。", - - "SETTINGS_KEYASSIGN_GAME_LEFTRED3P": "LeftRed3P", - "SETTINGS_KEYASSIGN_GAME_LEFTRED3P_DESC": "左側の面へのキーの割り当てを設\n定します。", - "SETTINGS_KEYASSIGN_GAME_RIGHTRED3P": "RightRed3P", - "SETTINGS_KEYASSIGN_GAME_RIGHTRED3P_DESC": "右側の面へのキーの割り当て\nを設定します。", - "SETTINGS_KEYASSIGN_GAME_LEFTBLUE3P": "LeftBlue3P", - "SETTINGS_KEYASSIGN_GAME_LEFTBLUE3P_DESC": "左側のふちへのキーの\n割り当てを設定します。", - "SETTINGS_KEYASSIGN_GAME_RIGHTBLUE3P": "RightBlue3P", - "SETTINGS_KEYASSIGN_GAME_RIGHTBLUE3P_DESC": "右側のふちへのキーの\n割り当てを設定します。", - "SETTINGS_KEYASSIGN_GAME_CLAP3P": "Clap3P", - "SETTINGS_KEYASSIGN_GAME_CLAP3P_DESC": "コンガの拍手へのキーの割り当てを設\n定します。", - - "SETTINGS_KEYASSIGN_GAME_LEFTRED4P": "LeftRed4P", - "SETTINGS_KEYASSIGN_GAME_LEFTRED4P_DESC": "左側の面へのキーの割り当てを設\n定します。", - "SETTINGS_KEYASSIGN_GAME_RIGHTRED4P": "RightRed4P", - "SETTINGS_KEYASSIGN_GAME_RIGHTRED4P_DESC": "右側の面へのキーの割り当て\nを設定します。", - "SETTINGS_KEYASSIGN_GAME_LEFTBLUE4P": "LeftBlue4P", - "SETTINGS_KEYASSIGN_GAME_LEFTBLUE4P_DESC": "左側のふちへのキーの\n割り当てを設定します。", - "SETTINGS_KEYASSIGN_GAME_RIGHTBLUE4P": "RightBlue4P", - "SETTINGS_KEYASSIGN_GAME_RIGHTBLUE4P_DESC": "右側のふちへのキーの\n割り当てを設定します。", - "SETTINGS_KEYASSIGN_GAME_CLAP4P": "Clap4P", - "SETTINGS_KEYASSIGN_GAME_CLAP4P_DESC": "コンガの拍手へのキーの割り当てを設\n定します。", - - "SETTINGS_KEYASSIGN_GAME_LEFTRED5P": "LeftRed5P", - "SETTINGS_KEYASSIGN_GAME_LEFTRED5P_DESC": "左側の面へのキーの割り当てを設\n定します。", - "SETTINGS_KEYASSIGN_GAME_RIGHTRED5P": "RightRed5P", - "SETTINGS_KEYASSIGN_GAME_RIGHTRED5P_DESC": "右側の面へのキーの割り当て\nを設定します。", - "SETTINGS_KEYASSIGN_GAME_LEFTBLUE5P": "LeftBlue5P", - "SETTINGS_KEYASSIGN_GAME_LEFTBLUE5P_DESC": "左側のふちへのキーの\n割り当てを設定します。", - "SETTINGS_KEYASSIGN_GAME_RIGHTBLUE5P": "RightBlue5P", - "SETTINGS_KEYASSIGN_GAME_RIGHTBLUE5P_DESC": "右側のふちへのキーの\n割り当てを設定します。", - "SETTINGS_KEYASSIGN_GAME_CLAP5P": "Clap5P", - "SETTINGS_KEYASSIGN_GAME_CLAP5P_DESC": "コンガの拍手へのキーの割り当てを設\n定します。", - - // Key Assignment - Training - "SETTINGS_KEYASSIGN_TRAINING_PAUSE": "Pause Training", - "SETTINGS_KEYASSIGN_TRAINING_PAUSE_DESC": "Drums key assign:\nAssign any key for pausing.", - "SETTINGS_KEYASSIGN_TRAINING_AUTO": "Toggle Auto", - "SETTINGS_KEYASSIGN_TRAINING_AUTO_DESC": "Drums key assign:\nAssign any key for toggling auto.", - "SETTINGS_KEYASSIGN_TRAINING_BOOKMARK": "Add/Remove Bookmark", - "SETTINGS_KEYASSIGN_TRAINING_BOOKMARK_DESC": "Drums key assign:\nAssign any key for adding/removing bookmarks.", - "SETTINGS_KEYASSIGN_TRAINING_INCREASESCROLL": "Increase Scroll Speed", - "SETTINGS_KEYASSIGN_TRAINING_INCREASESCROLL_DESC": "Drums key assign:\nAssign any key for increasing scroll speed.", - "SETTINGS_KEYASSIGN_TRAINING_DECREASESCROLL": "Decrease Scroll Speed", - "SETTINGS_KEYASSIGN_TRAINING_DECREASESCROLL_DESC": "Drums key assign:\nAssign any key for decreasing scroll speed.", - "SETTINGS_KEYASSIGN_TRAINING_INCREASESPEED": "Increase Song Speed", - "SETTINGS_KEYASSIGN_TRAINING_INCREASESPEED_DESC": "Drums key assign:\nAssign any key for increasing song speed.", - "SETTINGS_KEYASSIGN_TRAINING_DECREASESPEED": "Decrease Song Speed", - "SETTINGS_KEYASSIGN_TRAINING_DECREASESPEED_DESC": "Drums key assign:\nAssign any key for decreasing song speed.", - "SETTINGS_KEYASSIGN_TRAINING_BRANCHNORMAL": "Set Branch to Normal", - "SETTINGS_KEYASSIGN_TRAINING_BRANCHNORMAL_DESC": "Drums key assign:\nAssign any key for setting a chart's branch\nto normal.", - "SETTINGS_KEYASSIGN_TRAINING_BRANCHEXPERT": "Set Branch to Expert", - "SETTINGS_KEYASSIGN_TRAINING_BRANCHEXPERT_DESC": "Drums key assign:\nAssign any key for setting a chart's branch\nto expert.", - "SETTINGS_KEYASSIGN_TRAINING_BRANCHMASTER": "Set Branch to Master", - "SETTINGS_KEYASSIGN_TRAINING_BRANCHMASTER_DESC": "Drums key assign:\nAssign any key for setting a chart's branch\nto master.", - "SETTINGS_KEYASSIGN_TRAINING_MOVEFORWARD": "Move Forward Measure", - "SETTINGS_KEYASSIGN_TRAINING_MOVEFORWARD_DESC": "Drums key assign:\nAssign any key for moving forward a measure.", - "SETTINGS_KEYASSIGN_TRAINING_MOVEBACKWARD": "Move Back Measure", - "SETTINGS_KEYASSIGN_TRAINING_MOVEBACKWARD_DESC": "Drums key assign:\nAssign any key for moving back a measure.", - "SETTINGS_KEYASSIGN_TRAINING_SKIPFORWARD": "Skip Forward Measures", - "SETTINGS_KEYASSIGN_TRAINING_SKIPFORWARD_DESC": "Drums key assign:\nAssign any key for skipping forward measures.", - "SETTINGS_KEYASSIGN_TRAINING_SKIPBACKWARD": "Skip Back Measures", - "SETTINGS_KEYASSIGN_TRAINING_SKIPBACKWARD_DESC": "Drums key assign:\nAssign any key for skipping back measures.", - "SETTINGS_KEYASSIGN_TRAINING_JUMPTOFIRST": "Jump to First Measure", - "SETTINGS_KEYASSIGN_TRAINING_JUMPTOFIRST_DESC": "Drums key assign:\nAssign any key for jumping to the first measure.", - "SETTINGS_KEYASSIGN_TRAINING_JUMPTOLAST": "Jump to Last Measure", - "SETTINGS_KEYASSIGN_TRAINING_JUMPTOLAST_DESC": "Drums key assign:\nAssign any key for jumping to the last measure.", - - // Title Screen - "TITLE_MODE_TAIKO": "演奏ゲーム", - "TITLE_MODE_DAN": "段位道場", - "TITLE_MODE_TOWER": "太鼓タワー", - "TITLE_MODE_SHOP": "メダル商店", - "TITLE_MODE_STORY": "太鼓大冒険", - "TITLE_MODE_HEYA": "太鼓部屋", - "TITLE_MODE_SETTINGS": "設定", - "TITLE_MODE_EXIT": "ゲーム終了", - "TITLE_MODE_ONLINE": "オンライン喫茶店", - "TITLE_MODE_DOCUMENT": "Open百科事典", - "TITLE_MODE_AI": "AIバトル演奏", - "TITLE_MODE_STATS": "プレイヤースタッツ", - "TITLE_MODE_EDITOR": "譜面エディター", - "TITLE_MODE_TOOLS": "Open工具箱", - - "TITLE_MODE_TAIKO_DESC": "Play your favorite\nsongs at your own pace!", - "TITLE_MODE_DAN_DESC": "Play multiple charts in continuation\nfollowing challenging exams\nin order to get a PASS rank!", - "TITLE_MODE_TOWER_DESC": "有限のライフを持って、\nタワーの頂上を登って\n挑戦できるよ!", - "TITLE_MODE_SHOP_DESC": "稼いだメダルを費やして、\n新しい曲やプチキャラを買えるよ!", - "TITLE_MODE_STORY_DESC": "様々な障害に挑んで、\n新しい場所を発見出来るよ!", - "TITLE_MODE_HEYA_DESC": "キャラクタ、プチキャラ、\nネームプレートの情報を変えるよ!", - "TITLE_MODE_SETTINGS_DESC": "ゲームスタイルや\n一般的な設定を設けられるよ!", - "TITLE_MODE_EXIT_DESC": "セッションを終了できるよ。\nまた遊んでね!", - "TITLE_MODE_ONLINE_DESC": "インターネットで新しい譜面\nまたはコンテンツを\nダウンロードできるよ!", - "TITLE_MODE_DOCUMENT_DESC": "OpenTaikoの機能または新しい\nコンテンツを追加方法\nについて勉強できるよ!", - "TITLE_MODE_AI_DESC": "Fight a strong AI through\nmultiple sections and\naim for victory!", - "TITLE_MODE_STATS_DESC": "自分の進歩を認められるよ!", - "TITLE_MODE_EDITOR_DESC": "好きな曲を使って\n創作.tja譜面を作られるよ!", - "TITLE_MODE_TOOLS_DESC": "様々な役に立つツールを\n使って楽に新しい\nコンテンツを追加できるよ!", - - // Song Select - // {0}: Folder path - "SONGSELECT_RETURN_PATH": "とじる ({0})", - "SONGSELECT_RANDOM": "おまかせ", - // {0}: Folder path - "SONGSELECT_RANDOM_PATH": "おまかせ ({0})", - - "SONGSELECT_SORT": "Sort Menu", - "SONGSELECT_SORT_PATH": "絶対パス", - "SONGSELECT_SORT_TITLE": "曲名", - "SONGSELECT_SORT_SUBTITLE": "作者名", - "SONGSELECT_SORT_LEVEL": "表示レベル", - - // {0}: Main BPM - "SONGSELECT_INFO_BPM": "BPM: {0:0.###}", - // {0}: Main BPM - // {1}: Minimum BPM - // {2}: Maximum BPM - "SONGSELECT_INFO_BPM_VARIABLE": "BPM: {0:0.###} ({1:0.###}-{2:0.###})", - // {0}: Charter name - "SONGSELECT_INFO_CHARTER": "Charter: {0}", - - "SONGSELECT_QUICKCONFIG": "Quick Config", - "SONGSELECT_QUICKCONFIG_MORE": "More...", - - // Modals - "MODAL_TITLE_COIN": "コイン取得!", - "MODAL_TITLE_CHARA": "キャラクター取得!", - "MODAL_TITLE_PUCHI": "プチキャラ取得!", - "MODAL_TITLE_NAMEPLATE": "タイトル取得!", - "MODAL_TITLE_SONG": "楽曲取得!", - // {0}: Newly obtained coins - // {1}: New total coin count - "MODAL_MESSAGE_COIN": "+{0}コイン (累計: {1})", - - // Online Lounge - "ONLINE_EXIT": "タイトルへ戻る", - "ONLINE_DOWNLOAD": "コンテンツダウンロード", - "ONLINE_DOWNLOAD_CDN": "CDN選択", - "ONLINE_DOWNLOAD_SONG": "曲・譜面ダウンロード", - "ONLINE_DOWNLOAD_CHARA": "キャラクターダウンロード (Not available)", - "ONLINE_DOWNLOAD_PUCHI": "プチキャラダウンロード (Not available)", - "ONLINE_MULTIPLAYER": "オンラインマルチプレイヤー (Not available)", - - // Taiko Towers - "TOWER_FLOOR_REACHED": "到達階数", - "TOWER_FLOOR_INITIAL": "階", - "TOWER_SCORE": "スコア", - "TOWER_SCORE_INITIAL": "点", - - // Dan Dojo - "DAN_CONDITION_NAME_SOUL": "魂ゲージ", - "DAN_CONDITION_NAME_GOOD": "良の数", - "DAN_CONDITION_NAME_OK": "可の数", - "DAN_CONDITION_NAME_BAD": "不可の数", - "DAN_CONDITION_NAME_SCORE": "スコア", - "DAN_CONDITION_NAME_ROLL": "連打数", - "DAN_CONDITION_NAME_HIT": "叩けた数", - "DAN_CONDITION_NAME_COMBO": "コンボ数", - "DAN_CONDITION_NAME_ACCURACY": "精度", - "DAN_CONDITION_NAME_ADLIB": "ADLIBの数", - "DAN_CONDITION_NAME_BOMB": "叩けた爆弾", - - // Heya / Quick Heya - "HEYA_PUCHI": "プチキャラ", - "HEYA_CHARA": "キャラクター", - "HEYA_DAN": "段位称号", - "HEYA_NAMEPLATE": "名札称号", - - // {0}: Asset name - "HEYA_DESCRIPTION_NAME": "名前:{0}", - // {0}: Asset rarity - "HEYA_DESCRIPTION_RARITY": "レア度:{0}", - "HEYA_DESCRIPTION_RARITY0": "駄作", - "HEYA_DESCRIPTION_RARITY1": "コモン", - "HEYA_DESCRIPTION_RARITY2": "アンコモン", - "HEYA_DESCRIPTION_RARITY3": "レア", - "HEYA_DESCRIPTION_RARITY4": "エピック", - "HEYA_DESCRIPTION_RARITY5": "レジェンド", - "HEYA_DESCRIPTION_RARITY6": "究極", - // {0}: Asset author - "HEYA_DESCRIPTION_AUTHOR": "作者:{0}", - // {0}: Gauge type - "HEYA_DESCRIPTION_EFFECTS_GAUGETYPE": "ゲージタイプ:{0}", - "HEYA_DESCRIPTION_EFFECTS_GAUGETYPE_NORMAL": "ノーマル", - "HEYA_DESCRIPTION_EFFECTS_GAUGETYPE_HARD": "ハード", - "HEYA_DESCRIPTION_EFFECTS_GAUGETYPE_EXTREME": "激ムズ", - "HEYA_DESCRIPTION_EFFECTS_GAUGETYPE_NORMAL_DESC": "クリアラインより上でプレーを終え、クリア成功になる!", - "HEYA_DESCRIPTION_EFFECTS_GAUGETYPE_HARD_DESC": "ゲージは満タンから始まり、不可ごとに急激に落ちっていく!\nゲージが0になると失敗になる!", - "HEYA_DESCRIPTION_EFFECTS_GAUGETYPE_EXTREME_DESC": "ゲージは満タンから始まり、不可ごとに急激に落ちっていく!\n不思議な力が曲を通してゲージの容量を消費していくようだ...", - // {0}: Percentage of mines - "HEYA_DESCRIPTION_EFFECTS_BOMBFACTOR": "爆弾ファクター:掃海で音符の{0}%は爆弾になる", - // {0}: Percentage of fuse rolls - "HEYA_DESCRIPTION_EFFECTS_FUSEFACTOR": "時爆弾ファクター:掃海でふうせんの{0}%は時爆弾になる", - "HEYA_DESCRIPTION_EFFECTS_ALLSWAP": "All big notes become Swap notes", - "HEYA_DESCRIPTION_EFFECTS_SHOWADLIB": "ADLib notes become visible", - // {0}: # of auto-rolls per second - "HEYA_DESCRIPTION_EFFECTS_AUTOROLL": "Automatic Rolls at {0} hits/s", - "HEYA_DESCRIPTION_EFFECTS_SPLITLANE": "Split Lanes", - // {0}: Coin multiplier - "HEYA_DESCRIPTION_COIN_MULTIPLIER": "コイン乗数:x{0}", - - // Unlock requirements & messages (Any Menu) - "UNLOCK_CONDITION_INVALID": "[エラー] 無効な条件", - "UNLOCK_CONDITION_SHOP": "上記の商品はコイン商店に限りです、部屋に購入ができません。", // cs - // {0}: Price of item - "UNLOCK_CONDITION_COST": "コインの値段 : {0}", // ch, cs, cm - "UNLOCK_COIN_BOUGHT": "商品購入済み !", - "UNLOCK_COIN_MORE": "コインが足りません !", - - "UNLOCK_CONDITION_ERROR": "下記の条件 : {0} requires {1} values.", - "UNLOCK_CONDITION_ERROR2": "下記の条件 : {0} requires ({1} * n) values and n references.", - - // {0}: Coin earn requirement - // {1}: Current progress - "UNLOCK_CONDITION_EARN": "{0}コイン以上手に入れた ({1}/{0})", // ce - // {0}: Total AI plays needed - // {1}: Current progress - "UNLOCK_CONDITION_AIPLAY": "AI演奏バトルを{0}回プレイ ({1}/{0})", // ap - // {0}: Total AI wins needed - // {1}: Current progress - "UNLOCK_CONDITION_AIWIN": "AI演奏バトルで{0}回勝利 ({1}/{0})", // aw - // {0}: Total plays needed - // {1}: Current progress - "UNLOCK_CONDITION_PLAY": "{0}回プレイ ({1}/{0})", // tp - // {0}: Clear type (i.e. Play, Clear, FC, Perfect, etc.) - // {1}: # of songs needed - // {2}: Difficulty type (i.e. Easy, Normal, Hard, Ex, etc.) - // {3}: Current progress - "UNLOCK_CONDITION_PLAYDIFF": "{2}で{1}譜面を{0} ({3}/{1})", // dp - // {0}: Clear type (i.e. Play, Clear, FC, Perfect, etc.) - // {1}: # of songs needed - // {2}: Star rating (i.e. 8*, 9*, 10*, etc.) - // {3}: Current progress - "UNLOCK_CONDITION_PLAYLEVEL": "{2}★の{1}譜面を{0} ({3}/{1})", // lp - // {0}: Current progress - // {1}: Total # of challenges - "UNLOCK_CONDITION_CHALLENGE": "以下の条件をクリアしましょう!: ({0}/{1})", // sp, sg, sc - // {0}: Clear type - // {1}: Song name - // {2}: Difficulty type - "UNLOCK_CONDITION_CHALLENGE_PLAYDIFF": "※{1}{2}を{0}", // sp - // {0}: Clear type - // {1}: # of songs needed - // {2}: Genre name (i.e. "OpenTaiko Chapter II", "Dashy's Secrets", "Touhou Arrangements", etc.) - // {3}: Current progress - "UNLOCK_CONDITION_CHALLENGE_PLAYGENRE": "※{2}ジャンルの{1}譜面を{0} ({3}/{1})", // sg - // {0}: Clear type - // {1} # of songs needed - // {2} Charter name (i.e. Komi, bol, Dashy, Colin, etc.) - // {3} Current progress - "UNLOCK_CONDITION_CHALLENGE_PLAYCHARTER": "※{2}さんの{1}譜面を{0} ({3}/{1})", // sc - - "UNLOCK_CONDITION_REQUIRE_PLAY": "プレイ", - "UNLOCK_CONDITION_REQUIRE_PLAY_MORE": "プレイ", - "UNLOCK_CONDITION_REQUIRE_ASSIST": "アシストクリア", - "UNLOCK_CONDITION_REQUIRE_ASSIST_MORE": "アシストクリア(以上)", - "UNLOCK_CONDITION_REQUIRE_CLEAR": "クリア", - "UNLOCK_CONDITION_REQUIRE_CLEAR_MORE": "クリア(以上)", - "UNLOCK_CONDITION_REQUIRE_FC": "フルコンボ", - "UNLOCK_CONDITION_REQUIRE_FC_MORE": "フルコンボ(以上)", - "UNLOCK_CONDITION_REQUIRE_PERFECT": "全良", - "UNLOCK_CONDITION_REQUIRE_PERFECT_MORE": "全良", - - // Pause Menu (Taiko/Tower/Dan Mode) - "PAUSE_TITLE": "ポーズ", - "PAUSE_RESUME": "もどる", - "PAUSE_RESTART": "やりなおす", - "PAUSE_EXIT": "演奏中止", - - // AI Info - "AI_NAME": "AI", - "AI_TITLE": "デウス・エクス・マキナ", - // {0}: Section No. - "AI_SECTION": "{0}区", - - // Mods - "MOD_NONE": "なし", - "MOD_BLANK": "使用不可", - "MOD_SWITCH_OFF": "しない", - "MOD_SWITCH_ON": "する", - "MOD_SCOREMULTIPLY": "スコア乗数:{0}", - "MOD_COINMULTIPLY": "コイン乗数:{0}", - - "MOD_SPEED": "はやさ", - - "MOD_HIDE": "ドロン", - "MOD_STEALTH": "ステルス", - - "MOD_FLIP": "あべこべ", - - "MOD_RANDOM": "ランダム", - "MOD_RANDOM_SHUFFLE": "きまぐれ", - "MOD_RANDOM_CHAOS": "でたらめ", - - "MOD_TIMING": "タイミング", - "MOD_TIMING1": "緩い", - "MOD_TIMING2": "易しい", - "MOD_TIMING3": "通常", - "MOD_TIMING4": "厳しい", - "MOD_TIMING5": "過酷", - - "MOD_JUSTICE": "厳密", - "MOD_SAFE": "無難", - "MOD_JUST": "厳密", - - "MOD_GAMETYPE": "ゲームタイプ", - "MOD_GAMETYPE_TAIKO": "太鼓", - "MOD_GAMETYPE_KONGA": "コンガ", - - "MOD_GAMEMODE": "ゲームモード", - "MOD_GAMEMODE_TRAINING": "特訓モード", - - "MOD_AUTO": "オート", - - "MOD_SONGSPEED": "再生速度", - "SETTINGS_MOD_SONGSPEED_DESC": "曲の演奏速度を、速くしたり遅くした\nりすることができます。\n(※一部のサウンドカードでは正しく\n 再生できない可能性があります。)\n\nTimeStretchがONのときに、演奏\n速度をx0.850以下にすると、音の\nズレが大きくなります。", - - "MOD_HITSOUND": "音色", - - "MOD_FUN": "余分なモード", - "MOD_FUN_AVALANCHE": "雪崩", - "MOD_FUN_MINESWEEPER": "掃海" - }, - // In the case that a key is missing, this message will display, with the name of the missing/unknown key. - "InvalidKey": "KEY NOT FOUND: {0}", - // If a skin does not include a font for a specific language, the game will fallback to this language's fonts. This ensures that all text for all languages can be clearly read. - // Font name can be a file, or the name of an already installed font (i.e. "Arial"). If using a font name instead of a file name, please ensure that the user already has this font installed on their computer. - "FontName": "NotoSansJP-Medium.ttf", - "BoxFontName": "NotoSansJP-Regular.ttf" -} +{ + // The folder's name is used as the ID, which is used to identify which localized data to use. + // This includes TJAs with localized titles/subtitles (i.e. TITLEJA/SUBTITLEJA) and Lua scripts which utilize the "lang" variable. + // It is STRONGLY recommended that you use a two-letter language code that follows the ISO 639 standard. Keep the ID lowercased. + // If you aren't sure which code fits your language, please refer to https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes + + // "Language" should include the name of your language in its native text, as well as its English variant in parentheses. + // i.e. "日本語 (Japanese)" + "Language": "日本語 (Japanese)", + "Entries": { + + // Common + "MENU_RETURN": "とじる", + // Difficulties (Any Menu) + "DIFF_EASY": "かんたん", + "DIFF_NORMAL": "ふつう", + "DIFF_HARD": "むずかしい", + "DIFF_EX": "おに(表)", + "DIFF_EXTRA": "おに(裏)", + "DIFF_EXEXTRA": "おに(裏表)", + "DIFF_TOWER": "タワー", + "DIFF_DAN": "段位", + "DIFF_ANY": "難易度問わず", + "DIFF_UNKNOWN": "Unknown", + + // Settings + "SETTINGS_SYSTEM": "システム設定", + "SETTINGS_SYSTEM_DESC": "システムに関係する項目を設定します。", + "SETTINGS_GAME": "ゲームプレイ設定", + "SETTINGS_GAME_DESC": "ドラムの演奏に関する項目を設定します。", + "SETTINGS_EXIT": "出る", + "SETTINGS_EXIT_DESC": "設定を保存し、コンフィグ画面を終了します。", + + "SETTINGS_MENU_RETURN": "<< 戻る", + "SETTINGS_MENU_RETURN_DESC": "左側のメニューに戻ります。", + + "SETTINGS_KEYASSIGN_SYSTEM": "システムのキー設定", + "SETTINGS_KEYASSIGN_SYSTEM_DESC": "システムのキー入力に関する項目を設\n定します。", + "SETTINGS_KEYASSIGN_GAME": "入力設定", + "SETTINGS_KEYASSIGN_GAME_DESC": "ドラムのキー入力に関する項目を設", + "SETTINGS_KEYASSIGN_TRAINING": "Training Mode Key Config", + "SETTINGS_KEYASSIGN_TRAINING_DESC": "A secondary menu to adjust keys used during\nTraining Mode.", + + // Settings - System + "SETTINGS_SYSTEM_LANGUAGE": "システム言語", + "SETTINGS_SYSTEM_LANGUAGE_DESC": "プレイ中やメニューの\n言語を変更。", + "SETTINGS_SYSTEM_PLAYERCOUNT": "プレイ人数", + "SETTINGS_SYSTEM_PLAYERCOUNT_DESC": "プレイ人数切り替え:\n5人までプレイできます。", + "SETTINGS_SYSTEM_RELOADSONG": "曲データ再読み込み", + "SETTINGS_SYSTEM_RELOADSONG_DESC": "曲データの一覧情報を取得し直します。", + "SETTINGS_SYSTEM_RELOADSONGCACHE": "キャッシュをクリアして曲データ再読み込み", + "SETTINGS_SYSTEM_RELOADSONGCACHE_DESC": "キャッシュをクリアして曲データの一覧情報を取得し直します。", + + "SETTINGS_SYSTEM_IMPORTSCOREINI": "Import Score.ini Files", + "SETTINGS_SYSTEM_IMPORTSCOREINI_DESC": "Imports Score.ini files to the database.\n\nWARNING\nThe following will not be transferred:\n- Clear statuses\n- Gameplay modifiers\n- # of hits (Good, Ok, Bad, Drumroll, etc.)\n- Dan exam scores", + "SETTINGS_SYSTEM_IMPORTSCOREINI_STATUS1": "Searching for scores...", + // {0}: Total # of score.ini files to be processed + // {1}: # of score.ini files successfully imported + // {2}: # of score.ini files currently processed + // {3}: # of score.ini files skipped + // {4}: # of score.ini files that failed to import due to an error + // {5}: Name of the current score.ini file being processed. + "SETTINGS_SYSTEM_IMPORTSCOREINI_STATUS2": "Processing {0} scores...\n{1} of {2} imported ({3} skipped / {4} failed)\n\n{5}", + + "SETTINGS_SYSTEM_HIDEDANTOWER": "段・タワー譜面省略", + "SETTINGS_SYSTEM_HIDEDANTOWER_DESC": "演奏選曲画面にタワー及び\n段の譜面を省略設定です。\nONに設けると別々の画面\nにしか表示されていません。\n※ 設定は譜面の再読み込み時\n に有効になります。", + + // Settings - System - Graphics + "SETTINGS_SYSTEM_FULLSCREEN": "全画面モード", + "SETTINGS_SYSTEM_FULLSCREEN_DESC": "画面モード設定:\nON で全画面モード、OFF でウィンド\nウモードになります。", + "SETTINGS_SYSTEM_VSYNC": "垂直帰線同期", + "SETTINGS_SYSTEM_VSYNC_DESC": "垂直帰線同期:\n画面の描画をディスプレイの垂直帰\n線中に行なう場合には ON を指定し\nます。ON にすると、ガタつきのない\n滑らかな画面描画が実現されます。", + "SETTINGS_SYSTEM_GRAPHICSAPI": "グラフィックスAPI", + "SETTINGS_SYSTEM_GRAPHICSAPI_DESC": "Bass使用時のバッファサイズ:\n0~99999ms を指定可能です。\n0を指定すると、OSがバッファの\nサイズを自動設定します。\n値を小さくするほど発音ラグが\n減少しますが、音割れや異常動作を\n引き起こす場合があります。\n※ 設定はCONFIGURATION画面の\n 終了時に有効になります。", + "SETTINGS_SYSTEM_TEXTUREASYNC": "非同期テクスチャ読み込み", + "SETTINGS_SYSTEM_TEXTUREASYNC_DESC": "テクスチャの読み込み方法:\n起動時のフリーズが消えます\nテクスチャが黒くなる場合はこのオプションをOFFにしてください\nこの変更は再起動後に反映されます", + + "SETTINGS_SYSTEM_BGMOVIE": "AVI", + "SETTINGS_SYSTEM_BGMOVIE_DESC": "AVIの使用:\n動画(AVI)を再生可能にする場合に\nON にします。AVI の再生には、それ\nなりのマシンパワーが必要とされます。", + "SETTINGS_SYSTEM_BGMOVIEDISPLAY": "動画再生モード", + "SETTINGS_SYSTEM_BGMOVIEDISPLAY_DESC": "動画の表示方法を変更します.", + "SETTINGS_SYSTEM_BGMOVIEDISPLAY_NONE": "OFF", + "SETTINGS_SYSTEM_BGMOVIEDISPLAY_FULL": "背景", + "SETTINGS_SYSTEM_BGMOVIEDISPLAY_MINI": "ウィンドウ", + "SETTINGS_SYSTEM_BGMOVIEDISPLAY_BOTH": "両方", + "SETTINGS_SYSTEM_LANEOPACITY": "レーンBG透明度", + "SETTINGS_SYSTEM_LANEOPACITY_DESC": "This controls the lane background opacity\nwhile videos are playing.\n\n0 = completely transparent,\n255 = no transparency", + + "SETTINGS_SYSTEM_BGA": "BGA", + "SETTINGS_SYSTEM_BGA_DESC": "BGAの使用:\n画像(BGA)を表示可能にする場合に\nON にします。BGA の再生には、それ\nなりのマシンパワーが必要とされます。", + "SETTINGS_SYSTEM_DISPLAYCHARA": "キャラクター表示", + "SETTINGS_SYSTEM_DISPLAYCHARA_DESC": "キャラクター画像を表示するかどうか", + "SETTINGS_SYSTEM_DISPLAYDANCER": "踊り子表示", + "SETTINGS_SYSTEM_DISPLAYDANCER_DESC": "ダンサー画像を表示するかどうか", + "SETTINGS_SYSTEM_DISPLAYMOB": "モブ表示", + "SETTINGS_SYSTEM_DISPLAYMOB_DESC": "モブ画像を表示するかどうか", + "SETTINGS_SYSTEM_DISPLAYRUNNER": "ランナー表示", + "SETTINGS_SYSTEM_DISPLAYRUNNER_DESC": "ランナー画像を表示するかどうか", + "SETTINGS_SYSTEM_DISPLAYFOOTER": "フッター表示", + "SETTINGS_SYSTEM_DISPLAYFOOTER_DESC": "フッター画像を表示するかどうか", + "SETTINGS_SYSTEM_DISPLAYPUCHI": "プチキャラ表示", + "SETTINGS_SYSTEM_DISPLAYPUCHI_DESC": "プチキャラ画像を表示するかどうか", + "SETTINGS_SYSTEM_SIMPLEMODE": "シンプルモード", + "SETTINGS_SYSTEM_SIMPLEMODE_DESC": "太鼓の数字がアニメーションしなくなります\nCombo_Textが非表示になります\nScoreのアニメーションがなくなります\nTaikoのフラッシュがシンプルになります\nCouse_Symbol_Back_Flashが光らなくなります\nRunnerが非表示になります\n判定枠のPerfectのアニメーションが非表示になります\n分岐アニメーションがなくなります\nノーツが飛ばなくなります\nFireworkが非表示になります\nRainbowが非表示になります\n音符がアニメーションしなくなります\nNamePlateのアニメーションがなくなります\n連打の飛んでいく画像が非表示になります", + + "SETTINGS_SYSTEM_SKIN": "スキン (全体)", + "SETTINGS_SYSTEM_SKIN_DESC": "スキン切替:\nスキンを切り替えます。", + + // Settings - System - Audio + "SETTINGS_SYSTEM_SONGPLAYBACK": "音源使用", + "SETTINGS_SYSTEM_SONGPLAYBACK_DESC": "BGMの再生:\nこれをOFFにすると、BGM を再生しな\nくなります。", + "SETTINGS_SYSTEM_USESONGVOL": "SONGVOL使用", + "SETTINGS_SYSTEM_USESONGVOL_DESC": ".tjaファイルのSONGVOLヘッダを音源の音量に適用します。設定による音量調整を使用する場合はこの設定をOFFにしてください。", + "SETTINGS_SYSTEM_SEVOL": "効果音音量", + "SETTINGS_SYSTEM_SEVOL_DESC": "効果音の音量を調節します。", + "SETTINGS_SYSTEM_VOICEVOL": "ボイス音量", + "SETTINGS_SYSTEM_VOICEVOL_DESC": "各画面で流れるボイス、コンボボイスの音量を調節します。", + "SETTINGS_SYSTEM_SONGVOL": "音源音量", + "SETTINGS_SYSTEM_SONGVOL_DESC": "ゲーム中の音源の音量を調節します。", + "SETTINGS_SYSTEM_SONGPREVIEWVOL": "プレビュー音量", + "SETTINGS_SYSTEM_SONGPREVIEWVOL_DESC": "プレビュー時の音源の音量を調節します。", + "SETTINGS_SYSTEM_VOLINCREMENT": "キーボード音量調整", + "SETTINGS_SYSTEM_VOLINCREMENT_DESC": "キーボードで音量調整をするときの増加量、減少量を指定します。\n1 ~ 20 の値が指定可能です。", + + "SETTINGS_SYSTEM_SONGPLAYBACKBUFFER": "MusicPreTimeMs", + "SETTINGS_SYSTEM_SONGPLAYBACKBUFFER_DESC": "音源再生前の空白時間 (ms)。", + "SETTINGS_SYSTEM_SONGPREVIEWBUFFER": "プレビュー音量", + "SETTINGS_SYSTEM_SONGPREVIEWBUFFER_DESC": "プレビュー時の音源の音量を調節します。", + + "SETTINGS_SYSTEM_AUDIOPLAYBACK": "サウンド出力方式", + "SETTINGS_SYSTEM_AUDIOPLAYBACK_DESC": "サウンドの出力方式:\nWASAPI, ASIO, DSound(DirectSound)\nの中からサウンド出力方式を選択\nします。\nWASAPIはVista以降でのみ使用可能\nです。ASIOは対応機器でのみ使用\n可能です。\nWASAPIかASIOを指定することで、\n遅延の少ない演奏を楽しむことが\nできます。\n\n※ 設定はCONFIGURATION画面の\n 終了時に有効になります。", + "SETTINGS_SYSTEM_ASIOPLAYBACK": "ASIOデバイス", + "SETTINGS_SYSTEM_ASIOPLAYBACK_DESC": "ASIOデバイス:\nASIO使用時のサウンドデバイスを\n選択します。\n\n※ 設定はCONFIGURATION画面の\n 終了時に有効になります。", + "SETTINGS_SYSTEM_WASAPIBUFFER": "WASAPIバッファサイズ", + "SETTINGS_SYSTEM_WASAPIBUFFER_DESC": "WASAPI使用時のバッファサイズ:\n0~99999ms を指定可能です。\n0を指定すると、OSがバッファの\nサイズを自動設定します。\n値を小さくするほど発音ラグが\n減少しますが、音割れや異常動作を\n引き起こす場合があります。\n※ 設定はCONFIGURATION画面の\n 終了時に有効になります。", + "SETTINGS_SYSTEM_BASSBUFFER": "Bass Buffer Size", + "SETTINGS_SYSTEM_BASSBUFFER_DESC": "Buffer size when using Bass:\nSize can be between 0~99999ms.\nA value of 0 will make the OS\nautomatically decide the size.\nThe smaller the value, the less\naudio lag there is, but may also\ncause abnormal/crackling audio.\n※ NOTE: Exit CONFIGURATION to make the\n  settings take effect.", + "SETTINGS_SYSTEM_OSTIMER": "OSタイマー使用", + "SETTINGS_SYSTEM_OSTIMER_DESC": "OSタイマーを使用するかどうか:\n演奏タイマーとして、OpenTaiko独自の\nタイマーを使うか、OS標準のタイマー\nを使うかを選択します。\nOS標準タイマーを使うとスクロールが\n滑らかになりますが、演奏で音ズレが\n発生することがあります。(そのため\nAdjustWavesの効果が適用されます。)\n\nこの指定はWASAPI/ASIO使用時のみ有効\nです。", + + // Settings - System - Misc. + "SETTINGS_SYSTEM_LOG": "Traceログ出力", + "SETTINGS_SYSTEM_LOG_DESC": "Traceログ出力:\nTJAPlayer3.txt にログを出力します。\n変更した場合は、OpenTaiko の再起動\n後に有効となります。", + "SETTINGS_SYSTEM_RANDOMSUBFOLDER": "RandSubBox", + "SETTINGS_SYSTEM_RANDOMSUBFOLDER_DESC": "子BOXをRANDOMの対象とする:\nON にすると、RANDOM SELECT 時\nに子BOXも選択対象とします。", + "SETTINGS_SYSTEM_DEBUGMODE": "デバッグ情報", + "SETTINGS_SYSTEM_DEBUGMODE_DESC": "演奏情報の表示:\n演奏中、BGA領域の下部に演奏情報\n(FPS、BPM、演奏時間など)を表示し\nます。\nまた、小節線の横に小節番号が表示\nされるようになります。", + "SETTINGS_SYSTEM_AUTOSCREENSHOT": "リザルト画像自動保存", + "SETTINGS_SYSTEM_AUTOSCREENSHOT_DESC": "リザルト画像自動保存機能:\nONにすると、ハイスコア/ハイスキル時に\n自動でリザルト画像を曲データと同じ\nフォルダに保存します。", + "SETTINGS_SYSTEM_DISCORDRPC": "Discord送信", + "SETTINGS_SYSTEM_DISCORDRPC_DESC": "Discordに再生中の譜面情報を送信する", + "SETTINGS_SYSTEM_BUFFEREDINPUT": "バッファ入力モード", + "SETTINGS_SYSTEM_BUFFEREDINPUT_DESC": "バッファ入力モード:\nON にすると、FPS を超える入力解像\n度を実現します。\nOFF にすると、入力解像度は FPS に\n等しくなります。", + + // Settings - Gameplay + "SETTINGS_GAME_GLOBALOFFSET": "グローバルオフセット", + "SETTINGS_GAME_GLOBALOFFSET_DESC": "全譜面のOFFSETメタデータ\nを変化設定です。\n-999から999msまで設ける可能です。\n入力遅れを減るためマイナス値をご設定ください。", + + "SETTINGS_GAME_CALIBRATION": "Calibrate Offset", + "SETTINGS_GAME_CALIBRATION_DESC": "Calibrate your offset.\nGlobal Offset will be overwritten if saved.", + "SETTINGS_GAME_CALIBRATION_OFFSET": "OFFSET: {0}", + + "SETTINGS_GAME_BADCOUNT": "完璧モード", + "SETTINGS_GAME_BADCOUNT_DESC": "Riskyモードの設定:\n1以上の値にすると、その回数分の\n不可で演奏が強制終了します。\n0にすると無効になり、\nノルマゲージのみになります。\n", + "SETTINGS_GAME_NOTELOCK": "タイト", + "SETTINGS_GAME_NOTELOCK_DESC": "ドラムチップのないところでパッドを\n叩くとミスになります。", + "SETTINGS_GAME_AILEVEL": "AIレベル", + "SETTINGS_GAME_AILEVEL_DESC": "AIの制度を定める設定です。\n0ならAIはオフされます。\n1以上なら2PはAIとして自動でやります。\nAUTO 2PはオンならAI使用できません。", + "SETTINGS_GAME_NORMALGAUGE": "ゲージをNormalに固定", + "SETTINGS_GAME_NORMALGAUGE_DESC": "ゲージをNormalに固定します", + + "SETTINGS_GAME_AUTOP1": "AUTO 1P", + "SETTINGS_GAME_AUTOP1_DESC": "すべての音符を自動で演奏します。", + "SETTINGS_GAME_AUTOP2": "AUTO 2P", + "SETTINGS_GAME_AUTOP2_DESC": "すべての音符を自動で演奏します。", + "SETTINGS_GAME_AUTOROLL": "連打速度", + "SETTINGS_GAME_AUTOROLL_DESC": "AUTO中で黄色連打の速度を変化します。\n0で設けったら叩きません。\n多くとも各フレーム1打。", + + "SETTINGS_GAME_NOINFO": "情報なし", + "SETTINGS_GAME_NOINFO_DESC": "有効にすると曲情報などが見えなくなります。", + "SETTINGS_GAME_COMBODISPLAY": "最低表示コンボ", + "SETTINGS_GAME_COMBODISPLAY_DESC": "表示可能な最小コンボ数(ドラム):\n画面に表示されるコンボの最小の数\nを指定します。\n1 ~ 99999 の値が指定可能です。", + "SETTINGS_GAME_SCOREDISPLAY": "判定数表示", + "SETTINGS_GAME_SCOREDISPLAY_DESC": "左下に判定数を表示します。\n(1人プレイ専用)", + "SETTINGS_GAME_BRANCHANIME": "譜面分岐時アニメーション", + "SETTINGS_GAME_BRANCHANIME_DESC": "譜面分岐時のアニメーション\nTYPE-A: 太鼓7~太鼓14\nTYPE-B: 太鼓15~", + + "SETTINGS_GAME_DEFAULTDIFF": "デフォルト難易度", + "SETTINGS_GAME_DEFAULTDIFF_DESC": "デフォルトで選択される難易度", + "SETTINGS_GAME_EXEXTRAANIME": "裏表移行アニメーション", + "SETTINGS_GAME_EXEXTRAANIME_DESC": "裏表移行アニメーションを有効する", + + // Settings - Gameplay - Training Mode + "SETTINGS_TRAINING_SKIPCOUNT": "Measure Skip Count", + "SETTINGS_TRAINING_SKIPCOUNT_DESC": "The number of measures to skip while\npressing Skip Forward/Back Measure in\nTraining Mode.", + "SETTINGS_TRAINING_JUMPINTERVAL": "Measure Jump Time Interval", + "SETTINGS_TRAINING_JUMPINTERVAL_DESC": "The amount of time in milliseconds needed to\nrepeatedly hit the Left/Right Blue keys in\norder to jump to a bookmarked measure in\nTraining Mode.", + + // Settings - Gameplay - Unlockables + "SETTINGS_GAME_IGNORESONGUNLOCKABLES": "ロックされた曲のプレイ許可", + "SETTINGS_GAME_IGNORESONGUNLOCKABLES_DESC": "SongUnlockables.db3を無視してすべての曲を利用可能にする。\nSaves.db3にアンロックデータを追加されていません。\nアンロック通知は普通に結果画面に表示されます。\n\n警告\nONにするとスピードランが無効になります。", + + // Settings - Broken/Unused/Might Deprecate/Might Update + // Translate these anyways, even if their future is uncertain. + "SETTINGS_SYSTEM_IMAGEPREVIEWBUFFER": "PreImageWait", + "SETTINGS_SYSTEM_IMAGEPREVIEWBUFFER_DESC": "プレビュー画像表示までの時間:\n曲にカーソルが合わされてからプレ\nビュー画像が表示されるまでの時間\nを指定します。\n0 ~ 10000 [ms] が指定可能です。", + "SETTINGS_SYSTEM_TIMESTRETCH": "タイムストレッチ", + "SETTINGS_SYSTEM_TIMESTRETCH_DESC": "演奏速度の変更方式:\nONにすると、演奏速度の変更を、\n周波数変更ではなく\nタイムストレッチで行います。\nこれをONにすると、サウンド処理に\nより多くのCPU性能を使用します。\nまた、演奏速度をx0.850以下にすると、\nチップのズレが大きくなります。", + "SETTINGS_SYSTEM_FASTRENDER": "FastRender", + "SETTINGS_SYSTEM_FASTRENDER_DESC": "事前画像描画機能を使うかどうか。", + "SETTINGS_GAME_BRANCHGUIDE": "譜面分岐ガイド", + "SETTINGS_GAME_BRANCHGUIDE_DESC": "譜面分岐の参考になる数値などを表示します。\nオートプレイだと表示されません。", + "SETTINGS_GAME_BIGNOTEJUDGE": "大音符判定", + "SETTINGS_GAME_BIGNOTEJUDGE_DESC": "大音符の両手判定を有効にします。", + "SETTINGS_GAME_SURVIVAL": "ゲームモード", + "SETTINGS_GAME_SURVIVAL_DESC": "(1人プレイ専用)\n=TYPE-A: 完走!叩ききりまショー!\n=TYPE-B: 完走!叩ききりまショー!(激辛)", + "SETTINGS_GAME_SCOREMODE": "スコア計算方法", + "SETTINGS_GAME_SCOREMODE_DESC": "スコア計算方法\nTYPE-A: 旧配点\nTYPE-B: 旧筐体配点\nTYPE-C: 新配点", + "SETTINGS_GAME_SHINUCHI": "真打モード", + "SETTINGS_GAME_SHINUCHI_DESC": "真打モードを有効にする。", + + // Key Assignment - System + "SETTINGS_KEYASSIGN_SYSTEM_CAPTURE": "キャプチャ", + "SETTINGS_KEYASSIGN_SYSTEM_CAPTURE_DESC": "キャプチャキー設定:\n画面キャプチャのキーの割り当てを設\n定します。", + "SETTINGS_KEYASSIGN_SYSTEM_INCREASEVOL": "音量を上げる", + "SETTINGS_KEYASSIGN_SYSTEM_INCREASEVOL_DESC": "システムキー割り当て:\n音量を上げるキーを割り当てます\n(キーボード以外は割り当てられません)", + "SETTINGS_KEYASSIGN_SYSTEM_DECREASEVOL": "音量を下げる", + "SETTINGS_KEYASSIGN_SYSTEM_DECREASEVOL_DESC": "システムキー割り当て:\n音量を下げるキーを割り当てます\n(キーボード以外は割り当てられません)", + "SETTINGS_KEYASSIGN_SYSTEM_DISPLAYHITS": "叩いた数の表示切り替え", + "SETTINGS_KEYASSIGN_SYSTEM_DISPLAYHITS_DESC": "システムキー割り当て:\n叩いた数の表示切り替えのキーを割り当てます\n(キーボード以外は割り当てられません)", + "SETTINGS_KEYASSIGN_SYSTEM_DISPLAYDEBUG": "デバッグ表示切り替え", + "SETTINGS_KEYASSIGN_SYSTEM_DISPLAYDEBUG_DESC": "システムキー割り当て:\nデバッグ表示切り替えのキーを割り当てます\n(キーボード以外は割り当てられません)", + "SETTINGS_KEYASSIGN_SYSTEM_QUICKCONFIG": "簡易設定", + "SETTINGS_KEYASSIGN_SYSTEM_QUICKCONFIG_DESC": "システムキー割り当:\n簡易設定のキーを割り当てます\n(キーボード以外は割り当てられません)", + "SETTINGS_KEYASSIGN_SYSTEM_QUICKHEYA": "プレイヤーカスタマイズ", + "SETTINGS_KEYASSIGN_SYSTEM_QUICKHEYA_DESC": "システムキー割り当て:\nプレイヤーカスタマイズのキーを割り当てます\n(キーボード以外は割り当てられません)", + "SETTINGS_KEYASSIGN_SYSTEM_SONGSORT": "曲リストのソート切り替え", + "SETTINGS_KEYASSIGN_SYSTEM_SONGSORT_DESC": "システムキー割り当て:\n曲リストのソート切り替えのキーを割り当てます\n(キーボード以外は割り当てられません)", + "SETTINGS_KEYASSIGN_SYSTEM_AUTO1P": "1Pオート切り替え", + "SETTINGS_KEYASSIGN_SYSTEM_AUTO1P_DESC": "システムキー割り当て:\n1Pオート切り替えのキーを割り当てます\n(キーボード以外は割り当てられません)", + "SETTINGS_KEYASSIGN_SYSTEM_AUTO2P": "2Pオート切り替え", + "SETTINGS_KEYASSIGN_SYSTEM_AUTO2P_DESC": "システムキー割り当て:\n2Pオート切り替えのキーを割り当てます\n(キーボード以外は割り当てられません)", + "SETTINGS_KEYASSIGN_SYSTEM_TRAINING": "特訓モード切り替え", + "SETTINGS_KEYASSIGN_SYSTEM_TRAINING_DESC": "システムキー割り当て:\n特訓モード切り替えのキーを割り当てます\n(キーボード以外は割り当てられません)", + "SETTINGS_KEYASSIGN_SYSTEM_BGMOVIEDISPLAY": "動画再生モード切替", + "SETTINGS_KEYASSIGN_SYSTEM_BGMOVIEDISPLAY_DESC": "システムキー割り当て:\n動画再生モード切替のキーを割り当てます\n(キーボード以外は割り当てられません)", + + // Key Assignment - Gameplay + "SETTINGS_KEYASSIGN_GAME_DECIDE": "Decide", + "SETTINGS_KEYASSIGN_GAME_DECIDE_DESC": "選択のキーの割り当てを設\n定します。", + "SETTINGS_KEYASSIGN_GAME_CANCEL": "Cancel", + "SETTINGS_KEYASSIGN_GAME_CANCEL_DESC": "キャンセルのキーの割り当てを設\n定します。", + "SETTINGS_KEYASSIGN_GAME_LEFTCHANGE": "LeftChange", + "SETTINGS_KEYASSIGN_GAME_LEFTCHANGE_DESC": "左のキーの割り当てを設\n定します。", + "SETTINGS_KEYASSIGN_GAME_RIGHTCHANGE": "RightChange", + "SETTINGS_KEYASSIGN_GAME_RIGHTCHANGE_DESC": "右のキーの割り当てを設\n定します。", + + "SETTINGS_KEYASSIGN_GAME_LEFTRED": "LeftRed", + "SETTINGS_KEYASSIGN_GAME_LEFTRED_DESC": "左側の面へのキーの割り当てを設\n定します。", + "SETTINGS_KEYASSIGN_GAME_RIGHTRED": "RightRed", + "SETTINGS_KEYASSIGN_GAME_RIGHTRED_DESC": "右側の面へのキーの割り当て\nを設定します。", + "SETTINGS_KEYASSIGN_GAME_LEFTBLUE": "LeftBlue", + "SETTINGS_KEYASSIGN_GAME_LEFTBLUE_DESC": "左側のふちへのキーの\n割り当てを設定します。", + "SETTINGS_KEYASSIGN_GAME_RIGHTBLUE": "RightBlue", + "SETTINGS_KEYASSIGN_GAME_RIGHTBLUE_DESC": "右側のふちへのキーの\n割り当てを設定します。", + "SETTINGS_KEYASSIGN_GAME_CLAP": "Clap", + "SETTINGS_KEYASSIGN_GAME_CLAP_DESC": "コンガの拍手へのキーの割り当てを設\n定します。", + + "SETTINGS_KEYASSIGN_GAME_LEFTRED2P": "LeftRed2P", + "SETTINGS_KEYASSIGN_GAME_LEFTRED2P_DESC": "左側の面へのキーの割り当てを設\n定します。", + "SETTINGS_KEYASSIGN_GAME_RIGHTRED2P": "RightRed2P", + "SETTINGS_KEYASSIGN_GAME_RIGHTRED2P_DESC": "右側の面へのキーの割り当て\nを設定します。", + "SETTINGS_KEYASSIGN_GAME_LEFTBLUE2P": "LeftBlue2P", + "SETTINGS_KEYASSIGN_GAME_LEFTBLUE2P_DESC": "左側のふちへのキーの\n割り当てを設定します。", + "SETTINGS_KEYASSIGN_GAME_RIGHTBLUE2P": "RightBlue2P", + "SETTINGS_KEYASSIGN_GAME_RIGHTBLUE2P_DESC": "右側のふちへのキーの\n割り当てを設定します。", + "SETTINGS_KEYASSIGN_GAME_CLAP2P": "Clap2P", + "SETTINGS_KEYASSIGN_GAME_CLAP2P_DESC": "コンガの拍手へのキーの割り当てを設\n定します。", + + "SETTINGS_KEYASSIGN_GAME_LEFTRED3P": "LeftRed3P", + "SETTINGS_KEYASSIGN_GAME_LEFTRED3P_DESC": "左側の面へのキーの割り当てを設\n定します。", + "SETTINGS_KEYASSIGN_GAME_RIGHTRED3P": "RightRed3P", + "SETTINGS_KEYASSIGN_GAME_RIGHTRED3P_DESC": "右側の面へのキーの割り当て\nを設定します。", + "SETTINGS_KEYASSIGN_GAME_LEFTBLUE3P": "LeftBlue3P", + "SETTINGS_KEYASSIGN_GAME_LEFTBLUE3P_DESC": "左側のふちへのキーの\n割り当てを設定します。", + "SETTINGS_KEYASSIGN_GAME_RIGHTBLUE3P": "RightBlue3P", + "SETTINGS_KEYASSIGN_GAME_RIGHTBLUE3P_DESC": "右側のふちへのキーの\n割り当てを設定します。", + "SETTINGS_KEYASSIGN_GAME_CLAP3P": "Clap3P", + "SETTINGS_KEYASSIGN_GAME_CLAP3P_DESC": "コンガの拍手へのキーの割り当てを設\n定します。", + + "SETTINGS_KEYASSIGN_GAME_LEFTRED4P": "LeftRed4P", + "SETTINGS_KEYASSIGN_GAME_LEFTRED4P_DESC": "左側の面へのキーの割り当てを設\n定します。", + "SETTINGS_KEYASSIGN_GAME_RIGHTRED4P": "RightRed4P", + "SETTINGS_KEYASSIGN_GAME_RIGHTRED4P_DESC": "右側の面へのキーの割り当て\nを設定します。", + "SETTINGS_KEYASSIGN_GAME_LEFTBLUE4P": "LeftBlue4P", + "SETTINGS_KEYASSIGN_GAME_LEFTBLUE4P_DESC": "左側のふちへのキーの\n割り当てを設定します。", + "SETTINGS_KEYASSIGN_GAME_RIGHTBLUE4P": "RightBlue4P", + "SETTINGS_KEYASSIGN_GAME_RIGHTBLUE4P_DESC": "右側のふちへのキーの\n割り当てを設定します。", + "SETTINGS_KEYASSIGN_GAME_CLAP4P": "Clap4P", + "SETTINGS_KEYASSIGN_GAME_CLAP4P_DESC": "コンガの拍手へのキーの割り当てを設\n定します。", + + "SETTINGS_KEYASSIGN_GAME_LEFTRED5P": "LeftRed5P", + "SETTINGS_KEYASSIGN_GAME_LEFTRED5P_DESC": "左側の面へのキーの割り当てを設\n定します。", + "SETTINGS_KEYASSIGN_GAME_RIGHTRED5P": "RightRed5P", + "SETTINGS_KEYASSIGN_GAME_RIGHTRED5P_DESC": "右側の面へのキーの割り当て\nを設定します。", + "SETTINGS_KEYASSIGN_GAME_LEFTBLUE5P": "LeftBlue5P", + "SETTINGS_KEYASSIGN_GAME_LEFTBLUE5P_DESC": "左側のふちへのキーの\n割り当てを設定します。", + "SETTINGS_KEYASSIGN_GAME_RIGHTBLUE5P": "RightBlue5P", + "SETTINGS_KEYASSIGN_GAME_RIGHTBLUE5P_DESC": "右側のふちへのキーの\n割り当てを設定します。", + "SETTINGS_KEYASSIGN_GAME_CLAP5P": "Clap5P", + "SETTINGS_KEYASSIGN_GAME_CLAP5P_DESC": "コンガの拍手へのキーの割り当てを設\n定します。", + + // Key Assignment - Training + "SETTINGS_KEYASSIGN_TRAINING_PAUSE": "Pause Training", + "SETTINGS_KEYASSIGN_TRAINING_PAUSE_DESC": "Drums key assign:\nAssign any key for pausing.", + "SETTINGS_KEYASSIGN_TRAINING_AUTO": "Toggle Auto", + "SETTINGS_KEYASSIGN_TRAINING_AUTO_DESC": "Drums key assign:\nAssign any key for toggling auto.", + "SETTINGS_KEYASSIGN_TRAINING_BOOKMARK": "Add/Remove Bookmark", + "SETTINGS_KEYASSIGN_TRAINING_BOOKMARK_DESC": "Drums key assign:\nAssign any key for adding/removing bookmarks.", + "SETTINGS_KEYASSIGN_TRAINING_INCREASESCROLL": "Increase Scroll Speed", + "SETTINGS_KEYASSIGN_TRAINING_INCREASESCROLL_DESC": "Drums key assign:\nAssign any key for increasing scroll speed.", + "SETTINGS_KEYASSIGN_TRAINING_DECREASESCROLL": "Decrease Scroll Speed", + "SETTINGS_KEYASSIGN_TRAINING_DECREASESCROLL_DESC": "Drums key assign:\nAssign any key for decreasing scroll speed.", + "SETTINGS_KEYASSIGN_TRAINING_INCREASESPEED": "Increase Song Speed", + "SETTINGS_KEYASSIGN_TRAINING_INCREASESPEED_DESC": "Drums key assign:\nAssign any key for increasing song speed.", + "SETTINGS_KEYASSIGN_TRAINING_DECREASESPEED": "Decrease Song Speed", + "SETTINGS_KEYASSIGN_TRAINING_DECREASESPEED_DESC": "Drums key assign:\nAssign any key for decreasing song speed.", + "SETTINGS_KEYASSIGN_TRAINING_BRANCHNORMAL": "Set Branch to Normal", + "SETTINGS_KEYASSIGN_TRAINING_BRANCHNORMAL_DESC": "Drums key assign:\nAssign any key for setting a chart's branch\nto normal.", + "SETTINGS_KEYASSIGN_TRAINING_BRANCHEXPERT": "Set Branch to Expert", + "SETTINGS_KEYASSIGN_TRAINING_BRANCHEXPERT_DESC": "Drums key assign:\nAssign any key for setting a chart's branch\nto expert.", + "SETTINGS_KEYASSIGN_TRAINING_BRANCHMASTER": "Set Branch to Master", + "SETTINGS_KEYASSIGN_TRAINING_BRANCHMASTER_DESC": "Drums key assign:\nAssign any key for setting a chart's branch\nto master.", + "SETTINGS_KEYASSIGN_TRAINING_MOVEFORWARD": "Move Forward Measure", + "SETTINGS_KEYASSIGN_TRAINING_MOVEFORWARD_DESC": "Drums key assign:\nAssign any key for moving forward a measure.", + "SETTINGS_KEYASSIGN_TRAINING_MOVEBACKWARD": "Move Back Measure", + "SETTINGS_KEYASSIGN_TRAINING_MOVEBACKWARD_DESC": "Drums key assign:\nAssign any key for moving back a measure.", + "SETTINGS_KEYASSIGN_TRAINING_SKIPFORWARD": "Skip Forward Measures", + "SETTINGS_KEYASSIGN_TRAINING_SKIPFORWARD_DESC": "Drums key assign:\nAssign any key for skipping forward measures.", + "SETTINGS_KEYASSIGN_TRAINING_SKIPBACKWARD": "Skip Back Measures", + "SETTINGS_KEYASSIGN_TRAINING_SKIPBACKWARD_DESC": "Drums key assign:\nAssign any key for skipping back measures.", + "SETTINGS_KEYASSIGN_TRAINING_JUMPTOFIRST": "Jump to First Measure", + "SETTINGS_KEYASSIGN_TRAINING_JUMPTOFIRST_DESC": "Drums key assign:\nAssign any key for jumping to the first measure.", + "SETTINGS_KEYASSIGN_TRAINING_JUMPTOLAST": "Jump to Last Measure", + "SETTINGS_KEYASSIGN_TRAINING_JUMPTOLAST_DESC": "Drums key assign:\nAssign any key for jumping to the last measure.", + + // Title Screen + "TITLE_MODE_TAIKO": "演奏ゲーム", + "TITLE_MODE_DAN": "段位道場", + "TITLE_MODE_TOWER": "太鼓タワー", + "TITLE_MODE_SHOP": "メダル商店", + "TITLE_MODE_STORY": "太鼓大冒険", + "TITLE_MODE_HEYA": "太鼓部屋", + "TITLE_MODE_SETTINGS": "設定", + "TITLE_MODE_EXIT": "ゲーム終了", + "TITLE_MODE_ONLINE": "オンライン喫茶店", + "TITLE_MODE_DOCUMENT": "Open百科事典", + "TITLE_MODE_AI": "AIバトル演奏", + "TITLE_MODE_STATS": "プレイヤースタッツ", + "TITLE_MODE_EDITOR": "譜面エディター", + "TITLE_MODE_TOOLS": "Open工具箱", + + "TITLE_MODE_TAIKO_DESC": "Play your favorite\nsongs at your own pace!", + "TITLE_MODE_DAN_DESC": "Play multiple charts in continuation\nfollowing challenging exams\nin order to get a PASS rank!", + "TITLE_MODE_TOWER_DESC": "有限のライフを持って、\nタワーの頂上を登って\n挑戦できるよ!", + "TITLE_MODE_SHOP_DESC": "稼いだメダルを費やして、\n新しい曲やプチキャラを買えるよ!", + "TITLE_MODE_STORY_DESC": "様々な障害に挑んで、\n新しい場所を発見出来るよ!", + "TITLE_MODE_HEYA_DESC": "キャラクタ、プチキャラ、\nネームプレートの情報を変えるよ!", + "TITLE_MODE_SETTINGS_DESC": "ゲームスタイルや\n一般的な設定を設けられるよ!", + "TITLE_MODE_EXIT_DESC": "セッションを終了できるよ。\nまた遊んでね!", + "TITLE_MODE_ONLINE_DESC": "インターネットで新しい譜面\nまたはコンテンツを\nダウンロードできるよ!", + "TITLE_MODE_DOCUMENT_DESC": "OpenTaikoの機能または新しい\nコンテンツを追加方法\nについて勉強できるよ!", + "TITLE_MODE_AI_DESC": "Fight a strong AI through\nmultiple sections and\naim for victory!", + "TITLE_MODE_STATS_DESC": "自分の進歩を認められるよ!", + "TITLE_MODE_EDITOR_DESC": "好きな曲を使って\n創作.tja譜面を作られるよ!", + "TITLE_MODE_TOOLS_DESC": "様々な役に立つツールを\n使って楽に新しい\nコンテンツを追加できるよ!", + + // Song Select + // {0}: Folder path + "SONGSELECT_RETURN_PATH": "とじる ({0})", + "SONGSELECT_RANDOM": "おまかせ", + // {0}: Folder path + "SONGSELECT_RANDOM_PATH": "おまかせ ({0})", + + "SONGSELECT_SORT": "Sort Menu", + "SONGSELECT_SORT_PATH": "絶対パス", + "SONGSELECT_SORT_TITLE": "曲名", + "SONGSELECT_SORT_SUBTITLE": "作者名", + "SONGSELECT_SORT_LEVEL": "表示レベル", + + // {0}: Main BPM + "SONGSELECT_INFO_BPM": "BPM: {0:0.###}", + // {0}: Main BPM + // {1}: Minimum BPM + // {2}: Maximum BPM + "SONGSELECT_INFO_BPM_VARIABLE": "BPM: {0:0.###} ({1:0.###}-{2:0.###})", + // {0}: Charter name + "SONGSELECT_INFO_CHARTER": "Charter: {0}", + + "SONGSELECT_QUICKCONFIG": "Quick Config", + "SONGSELECT_QUICKCONFIG_MORE": "More...", + + // Modals + "MODAL_TITLE_COIN": "コイン取得!", + "MODAL_TITLE_CHARA": "キャラクター取得!", + "MODAL_TITLE_PUCHI": "プチキャラ取得!", + "MODAL_TITLE_NAMEPLATE": "タイトル取得!", + "MODAL_TITLE_SONG": "楽曲取得!", + // {0}: Newly obtained coins + // {1}: New total coin count + "MODAL_MESSAGE_COIN": "+{0}コイン (累計: {1})", + + // Online Lounge + "ONLINE_EXIT": "タイトルへ戻る", + "ONLINE_DOWNLOAD": "コンテンツダウンロード", + "ONLINE_DOWNLOAD_CDN": "CDN選択", + "ONLINE_DOWNLOAD_SONG": "曲・譜面ダウンロード", + "ONLINE_DOWNLOAD_CHARA": "キャラクターダウンロード (Not available)", + "ONLINE_DOWNLOAD_PUCHI": "プチキャラダウンロード (Not available)", + "ONLINE_MULTIPLAYER": "オンラインマルチプレイヤー (Not available)", + + // Taiko Towers + "TOWER_FLOOR_REACHED": "到達階数", + "TOWER_FLOOR_INITIAL": "階", + "TOWER_SCORE": "スコア", + "TOWER_SCORE_INITIAL": "点", + + // Dan Dojo + "DAN_CONDITION_NAME_SOUL": "魂ゲージ", + "DAN_CONDITION_NAME_GOOD": "良の数", + "DAN_CONDITION_NAME_OK": "可の数", + "DAN_CONDITION_NAME_BAD": "不可の数", + "DAN_CONDITION_NAME_SCORE": "スコア", + "DAN_CONDITION_NAME_ROLL": "連打数", + "DAN_CONDITION_NAME_HIT": "叩けた数", + "DAN_CONDITION_NAME_COMBO": "コンボ数", + "DAN_CONDITION_NAME_ACCURACY": "精度", + "DAN_CONDITION_NAME_ADLIB": "ADLIBの数", + "DAN_CONDITION_NAME_BOMB": "叩けた爆弾", + + // Heya / Quick Heya + "HEYA_PUCHI": "プチキャラ", + "HEYA_CHARA": "キャラクター", + "HEYA_DAN": "段位称号", + "HEYA_NAMEPLATE": "名札称号", + + // {0}: Asset name + "HEYA_DESCRIPTION_NAME": "名前:{0}", + // {0}: Asset rarity + "HEYA_DESCRIPTION_RARITY": "レア度:{0}", + "HEYA_DESCRIPTION_RARITY0": "駄作", + "HEYA_DESCRIPTION_RARITY1": "コモン", + "HEYA_DESCRIPTION_RARITY2": "アンコモン", + "HEYA_DESCRIPTION_RARITY3": "レア", + "HEYA_DESCRIPTION_RARITY4": "エピック", + "HEYA_DESCRIPTION_RARITY5": "レジェンド", + "HEYA_DESCRIPTION_RARITY6": "究極", + // {0}: Asset author + "HEYA_DESCRIPTION_AUTHOR": "作者:{0}", + // {0}: Gauge type + "HEYA_DESCRIPTION_EFFECTS_GAUGETYPE": "ゲージタイプ:{0}", + "HEYA_DESCRIPTION_EFFECTS_GAUGETYPE_NORMAL": "ノーマル", + "HEYA_DESCRIPTION_EFFECTS_GAUGETYPE_HARD": "ハード", + "HEYA_DESCRIPTION_EFFECTS_GAUGETYPE_EXTREME": "激ムズ", + "HEYA_DESCRIPTION_EFFECTS_GAUGETYPE_NORMAL_DESC": "クリアラインより上でプレーを終え、クリア成功になる!", + "HEYA_DESCRIPTION_EFFECTS_GAUGETYPE_HARD_DESC": "ゲージは満タンから始まり、不可ごとに急激に落ちっていく!\nゲージが0になると失敗になる!", + "HEYA_DESCRIPTION_EFFECTS_GAUGETYPE_EXTREME_DESC": "ゲージは満タンから始まり、不可ごとに急激に落ちっていく!\n不思議な力が曲を通してゲージの容量を消費していくようだ...", + // {0}: Percentage of mines + "HEYA_DESCRIPTION_EFFECTS_BOMBFACTOR": "爆弾ファクター:掃海で音符の{0}%は爆弾になる", + // {0}: Percentage of fuse rolls + "HEYA_DESCRIPTION_EFFECTS_FUSEFACTOR": "時爆弾ファクター:掃海でふうせんの{0}%は時爆弾になる", + "HEYA_DESCRIPTION_EFFECTS_ALLSWAP": "All big notes become Swap notes", + "HEYA_DESCRIPTION_EFFECTS_SHOWADLIB": "ADLib notes become visible", + // {0}: # of auto-rolls per second + "HEYA_DESCRIPTION_EFFECTS_AUTOROLL": "Automatic Rolls at {0} hits/s", + "HEYA_DESCRIPTION_EFFECTS_SPLITLANE": "Split Lanes", + // {0}: Coin multiplier + "HEYA_DESCRIPTION_COIN_MULTIPLIER": "コイン乗数:x{0}", + + // Unlock requirements & messages (Any Menu) + "UNLOCK_CONDITION_INVALID": "[エラー] 無効な条件", + "UNLOCK_CONDITION_SHOP": "上記の商品はコイン商店に限りです、部屋に購入ができません。", // cs + // {0}: Price of item + "UNLOCK_CONDITION_COST": "コインの値段 : {0}", // ch, cs, cm + "UNLOCK_COIN_BOUGHT": "商品購入済み !", + "UNLOCK_COIN_MORE": "コインが足りません !", + + "UNLOCK_CONDITION_ERROR": "下記の条件 : {0} requires {1} values.", + "UNLOCK_CONDITION_ERROR2": "下記の条件 : {0} requires ({1} * n) values and n references.", + + // {0}: Coin earn requirement + // {1}: Current progress + "UNLOCK_CONDITION_EARN": "{0}コイン以上手に入れた ({1}/{0})", // ce + // {0}: Total AI plays needed + // {1}: Current progress + "UNLOCK_CONDITION_AIPLAY": "AI演奏バトルを{0}回プレイ ({1}/{0})", // ap + // {0}: Total AI wins needed + // {1}: Current progress + "UNLOCK_CONDITION_AIWIN": "AI演奏バトルで{0}回勝利 ({1}/{0})", // aw + // {0}: Total plays needed + // {1}: Current progress + "UNLOCK_CONDITION_PLAY": "{0}回プレイ ({1}/{0})", // tp + // {0}: Clear type (i.e. Play, Clear, FC, Perfect, etc.) + // {1}: # of songs needed + // {2}: Difficulty type (i.e. Easy, Normal, Hard, Ex, etc.) + // {3}: Current progress + "UNLOCK_CONDITION_PLAYDIFF": "{2}で{1}譜面を{0} ({3}/{1})", // dp + // {0}: Clear type (i.e. Play, Clear, FC, Perfect, etc.) + // {1}: # of songs needed + // {2}: Star rating (i.e. 8*, 9*, 10*, etc.) + // {3}: Current progress + "UNLOCK_CONDITION_PLAYLEVEL": "{2}★の{1}譜面を{0} ({3}/{1})", // lp + // {0}: Current progress + // {1}: Total # of challenges + "UNLOCK_CONDITION_CHALLENGE": "以下の条件をクリアしましょう!: ({0}/{1})", // sp, sg, sc + // {0}: Clear type + // {1}: Song name + // {2}: Difficulty type + "UNLOCK_CONDITION_CHALLENGE_PLAYDIFF": "※{1}{2}を{0}", // sp + // {0}: Clear type + // {1}: # of songs needed + // {2}: Genre name (i.e. "OpenTaiko Chapter II", "Dashy's Secrets", "Touhou Arrangements", etc.) + // {3}: Current progress + "UNLOCK_CONDITION_CHALLENGE_PLAYGENRE": "※{2}ジャンルの{1}譜面を{0} ({3}/{1})", // sg + // {0}: Clear type + // {1} # of songs needed + // {2} Charter name (i.e. Komi, bol, Dashy, Colin, etc.) + // {3} Current progress + "UNLOCK_CONDITION_CHALLENGE_PLAYCHARTER": "※{2}さんの{1}譜面を{0} ({3}/{1})", // sc + + "UNLOCK_CONDITION_REQUIRE_PLAY": "プレイ", + "UNLOCK_CONDITION_REQUIRE_PLAY_MORE": "プレイ", + "UNLOCK_CONDITION_REQUIRE_ASSIST": "アシストクリア", + "UNLOCK_CONDITION_REQUIRE_ASSIST_MORE": "アシストクリア(以上)", + "UNLOCK_CONDITION_REQUIRE_CLEAR": "クリア", + "UNLOCK_CONDITION_REQUIRE_CLEAR_MORE": "クリア(以上)", + "UNLOCK_CONDITION_REQUIRE_FC": "フルコンボ", + "UNLOCK_CONDITION_REQUIRE_FC_MORE": "フルコンボ(以上)", + "UNLOCK_CONDITION_REQUIRE_PERFECT": "全良", + "UNLOCK_CONDITION_REQUIRE_PERFECT_MORE": "全良", + + // Pause Menu (Taiko/Tower/Dan Mode) + "PAUSE_TITLE": "ポーズ", + "PAUSE_RESUME": "もどる", + "PAUSE_RESTART": "やりなおす", + "PAUSE_EXIT": "演奏中止", + + // AI Info + "AI_NAME": "AI", + "AI_TITLE": "デウス・エクス・マキナ", + // {0}: Section No. + "AI_SECTION": "{0}区", + + // Mods + "MOD_NONE": "なし", + "MOD_BLANK": "使用不可", + "MOD_SWITCH_OFF": "しない", + "MOD_SWITCH_ON": "する", + "MOD_SCOREMULTIPLY": "スコア乗数:{0}", + "MOD_COINMULTIPLY": "コイン乗数:{0}", + + "MOD_SPEED": "はやさ", + + "MOD_HIDE": "ドロン", + "MOD_STEALTH": "ステルス", + + "MOD_FLIP": "あべこべ", + + "MOD_RANDOM": "ランダム", + "MOD_RANDOM_SHUFFLE": "きまぐれ", + "MOD_RANDOM_CHAOS": "でたらめ", + + "MOD_TIMING": "タイミング", + "MOD_TIMING1": "緩い", + "MOD_TIMING2": "易しい", + "MOD_TIMING3": "通常", + "MOD_TIMING4": "厳しい", + "MOD_TIMING5": "過酷", + + "MOD_JUSTICE": "厳密", + "MOD_SAFE": "無難", + "MOD_JUST": "厳密", + + "MOD_GAMETYPE": "ゲームタイプ", + "MOD_GAMETYPE_TAIKO": "太鼓", + "MOD_GAMETYPE_KONGA": "コンガ", + + "MOD_GAMEMODE": "ゲームモード", + "MOD_GAMEMODE_TRAINING": "特訓モード", + + "MOD_AUTO": "オート", + + "MOD_SONGSPEED": "再生速度", + "SETTINGS_MOD_SONGSPEED_DESC": "曲の演奏速度を、速くしたり遅くした\nりすることができます。\n(※一部のサウンドカードでは正しく\n 再生できない可能性があります。)\n\nTimeStretchがONのときに、演奏\n速度をx0.850以下にすると、音の\nズレが大きくなります。", + + "MOD_HITSOUND": "音色", + + "MOD_FUN": "余分なモード", + "MOD_FUN_AVALANCHE": "雪崩", + "MOD_FUN_MINESWEEPER": "掃海" + }, + // In the case that a key is missing, this message will display, with the name of the missing/unknown key. + "InvalidKey": "KEY NOT FOUND: {0}", + // If a skin does not include a font for a specific language, the game will fallback to this language's fonts. This ensures that all text for all languages can be clearly read. + // Font name can be a file, or the name of an already installed font (i.e. "Arial"). If using a font name instead of a file name, please ensure that the user already has this font installed on their computer. + "FontName": "NotoSansJP-Medium.ttf", + "BoxFontName": "NotoSansJP-Regular.ttf" +} diff --git a/OpenTaiko/System/Open-World Memories/Modules/Modal/Script.lua b/OpenTaiko/System/Open-World Memories/Modules/Modal/Script.lua index cc0ca5d3..8eb40420 100644 --- a/OpenTaiko/System/Open-World Memories/Modules/Modal/Script.lua +++ b/OpenTaiko/System/Open-World Memories/Modules/Modal/Script.lua @@ -1,199 +1,199 @@ -import ('System.Drawing') - --- Modal info -local modal_current_type = 0 -local modal_current_rarity = 1 -local modal_current_player = 1 -local modal_current_info = nil -local modal_current_visual = nil - --- Modal graphics -local icon_players = { } -local modal_tx = { } -local modal_tx_coin = nil -local ttk_modal_header = nil -local ttk_modal_body = nil - --- Modal sounds -local modal_sfx = { } -local modal_sfx_coin = nil - --- Fonts -local font_modal_header = nil -local font_modal_body = nil -local font_modal_plate = nil - --- Modal counter -local modal_duration = 2000 -local modal_counter = 0 -local script_busy = false - --- After the item is revealed, a circle glow or smth like that? -local modal_loopanim_duration = 1000 -local modal_loopanim_counter = 0 - --- Tmp (until new format) -local modal_asset_id = 0 - -function isAnimationFinished() - return not script_busy -end - --- modal_asset_informations: Character object, Coin count, Nameplate unlockable whole object, etc... having all the necessary information --- modal_asset_visual_references: Character textures table, Song preimage (?) or supporting visuals, might be null for some modal types -function registerNewModal(player, rarity, modal_type, modal_asset_informations, modal_asset_visual_references) - local _modal_header = "" - local _modal_body = "" - modal_current_type = modal_type - modal_current_rarity = rarity - modal_current_player = player - modal_current_info = modal_asset_informations - modal_current_visual = modal_asset_visual_references - modal_counter = 0 - modal_loopanim_counter = 0 - script_busy = true - - if modal_type == 0 then - -- Coin - modal_current_rarity = 1 - _modal_header = getLocalizedString("MODAL_TITLE_COIN") - _modal_body = getLocalizedString("MODAL_MESSAGE_COIN", tostring(modal_asset_informations), tostring(modal_asset_visual_references)) -- 0: Delta coin, 1: Total coin - debugLog(_modal_body) - - modal_sfx_coin:PlayStart() - - elseif modal_type == 1 then - -- Character - -- > modal_asset_informations: CCharacter - -- > modal_asset_visual_references: CTexture? - _modal_header = getLocalizedString("MODAL_TITLE_CHARA") - _modal_body = modal_current_info.metadata:tGetName() - - elseif modal_type == 2 then - -- Puchichara - -- > modal_asset_informations: CPuchichara - -- > modal_asset_visual_references: - _modal_header = getLocalizedString("MODAL_TITLE_PUCHI") - _modal_body = modal_current_info.metadata:tGetName() - - elseif modal_type == 3 then - -- Title - -- > modal_asset_informations: NameplateUnlockable - -- > modal_asset_visual_references: CLuaNamePlateScript - _modal_header = getLocalizedString("MODAL_TITLE_NAMEPLATE") - _modal_body = modal_asset_informations.Value.nameplateInfo.cld:GetString("") - ttk_modal_body = createTitleTextureKey(_modal_body, font_modal_plate, 99999, Color.FromArgb(0,0,0,1), Color.FromArgb(0,0,0,0)) - - elseif modal_type == 4 then - -- Song - -- > modal_asset_informations: CSongListNode - -- > modal_asset_visual_references: CTexture (Preimage) - _modal_header = getLocalizedString("MODAL_TITLE_SONG") - _modal_body = modal_current_info.ldTitle:GetString("") - - end - - ttk_modal_header = createTitleTextureKey(_modal_header, font_modal_header, 99999) - if modal_type ~= 3 then - ttk_modal_body = createTitleTextureKey(_modal_body, font_modal_body, 99999) - end - - -- Tmp - modal_asset_id = math.max(1, math.min(5, modal_current_rarity)) - - if modal_type ~= 0 then - modal_sfx[modal_asset_id]:PlayStart() - end - -end - -function loadAssets() - config = loadConfig("Config.json") - - for i = 1, 5 do - icon_players[i] = loadTexture(tostring(i).."P.png") - end - - -- Tmp, to change with the new structure later - for i = 0, 4 do - modal_tx[i + 1] = loadTexture(tostring(i)..".png") - modal_sfx[i + 1] = loadSound(tostring(i)..".ogg", "soundeffect") - end - modal_tx_coin = loadTexture("Coin.png") - modal_sfx_coin = loadSound("Coin.ogg", "soundeffect") - - font_modal_header = loadFontRenderer(84, "regular") - font_modal_body = loadFontRenderer(84, "regular") - font_modal_plate = loadFontRenderer(16, "regular") - -end - -function update() - if modal_counter <= modal_duration then - script_busy = true - modal_counter = modal_counter + (1000 * fps.deltaTime) - else - script_busy = false - modal_loopanim_counter = modal_loopanim_counter + (1000 * fps.deltaTime) - if modal_loopanim_counter >= modal_loopanim_duration then - modal_loopanim_counter = 0 - end - end - - - - - -- Idea: If button press and not finished, directly set modal_counter to modal_duration and cut the appearing animation? -end - -function draw() - icon_players[modal_current_player]:t2D_DisplayImage(0, 0) - - tx_header = getTextTex(ttk_modal_header, false, false) - - if modal_current_type == 0 then - -- Coin - modal_tx_coin:t2D_DisplayImage(0, 0) - - tx_header:t2D_DisplayImage_AnchorCenter(960,180) - tx_body = getTextTex(ttk_modal_body, false, false) - tx_body:t2D_DisplayImage_AnchorCenter(960,490) - else - -- Others - modal_tx[modal_asset_id]:t2D_DisplayImage(0, 0) - - tx_header:t2D_DisplayImage_AnchorCenter(960,180) - - if modal_current_type == 1 then - -- Character - if modal_current_visual ~= nil then - modal_current_visual:t2D_DisplayImage(0,260) - end - tx_body = getTextTex(ttk_modal_body, false, false) - tx_body:t2D_DisplayImage_AnchorCenter(960,390) - elseif modal_current_type == 2 then - -- Puchichara - if modal_current_info.tx ~= nil then - modal_current_info.tx:t2D_DisplayImage_AnchorCenter(960,490) - end - tx_body = getTextTex(ttk_modal_body, false, false) - tx_body:t2D_DisplayImage_AnchorCenter(960,790) - elseif modal_current_type == 3 then - -- Nameplate Title - tx_title = getTextTex(ttk_modal_body, false, false) - modal_current_visual:DrawTitlePlate(960, 490, 255, modal_current_info.Value.nameplateInfo.iType, tx_title, modal_current_rarity, modal_current_info.Key) - elseif modal_current_type == 4 then - -- Song - if modal_current_visual ~= nil then - modal_current_visual:t2D_DisplayImage_AnchorCenter(960,490) - end - tx_body = getTextTex(ttk_modal_body, false, false) - tx_body:t2D_DisplayImage_AnchorCenter(960,790) - else - -- Custom modals for custom unlockables in the future?? - tx_body = getTextTex(ttk_modal_body, false, false) - tx_body:t2D_DisplayImage_AnchorCenter(960,490) - end - end - -end +import ('System.Drawing') + +-- Modal info +local modal_current_type = 0 +local modal_current_rarity = 1 +local modal_current_player = 1 +local modal_current_info = nil +local modal_current_visual = nil + +-- Modal graphics +local icon_players = { } +local modal_tx = { } +local modal_tx_coin = nil +local ttk_modal_header = nil +local ttk_modal_body = nil + +-- Modal sounds +local modal_sfx = { } +local modal_sfx_coin = nil + +-- Fonts +local font_modal_header = nil +local font_modal_body = nil +local font_modal_plate = nil + +-- Modal counter +local modal_duration = 2000 +local modal_counter = 0 +local script_busy = false + +-- After the item is revealed, a circle glow or smth like that? +local modal_loopanim_duration = 1000 +local modal_loopanim_counter = 0 + +-- Tmp (until new format) +local modal_asset_id = 0 + +function isAnimationFinished() + return not script_busy +end + +-- modal_asset_informations: Character object, Coin count, Nameplate unlockable whole object, etc... having all the necessary information +-- modal_asset_visual_references: Character textures table, Song preimage (?) or supporting visuals, might be null for some modal types +function registerNewModal(player, rarity, modal_type, modal_asset_informations, modal_asset_visual_references) + local _modal_header = "" + local _modal_body = "" + modal_current_type = modal_type + modal_current_rarity = rarity + modal_current_player = player + modal_current_info = modal_asset_informations + modal_current_visual = modal_asset_visual_references + modal_counter = 0 + modal_loopanim_counter = 0 + script_busy = true + + if modal_type == 0 then + -- Coin + modal_current_rarity = 1 + _modal_header = getLocalizedString("MODAL_TITLE_COIN") + _modal_body = getLocalizedString("MODAL_MESSAGE_COIN", tostring(modal_asset_informations), tostring(modal_asset_visual_references)) -- 0: Delta coin, 1: Total coin + debugLog(_modal_body) + + modal_sfx_coin:PlayStart() + + elseif modal_type == 1 then + -- Character + -- > modal_asset_informations: CCharacter + -- > modal_asset_visual_references: CTexture? + _modal_header = getLocalizedString("MODAL_TITLE_CHARA") + _modal_body = modal_current_info.metadata:tGetName() + + elseif modal_type == 2 then + -- Puchichara + -- > modal_asset_informations: CPuchichara + -- > modal_asset_visual_references: + _modal_header = getLocalizedString("MODAL_TITLE_PUCHI") + _modal_body = modal_current_info.metadata:tGetName() + + elseif modal_type == 3 then + -- Title + -- > modal_asset_informations: NameplateUnlockable + -- > modal_asset_visual_references: CLuaNamePlateScript + _modal_header = getLocalizedString("MODAL_TITLE_NAMEPLATE") + _modal_body = modal_asset_informations.Value.nameplateInfo.cld:GetString("") + ttk_modal_body = createTitleTextureKey(_modal_body, font_modal_plate, 99999, Color.FromArgb(0,0,0,1), Color.FromArgb(0,0,0,0)) + + elseif modal_type == 4 then + -- Song + -- > modal_asset_informations: CSongListNode + -- > modal_asset_visual_references: CTexture (Preimage) + _modal_header = getLocalizedString("MODAL_TITLE_SONG") + _modal_body = (modal_current_info ~= nil) and modal_current_info.ldTitle:GetString("") or "??? (Not found)" + + end + + ttk_modal_header = createTitleTextureKey(_modal_header, font_modal_header, 99999) + if modal_type ~= 3 then + ttk_modal_body = createTitleTextureKey(_modal_body, font_modal_body, 99999) + end + + -- Tmp + modal_asset_id = math.max(1, math.min(5, modal_current_rarity + 1)) + + if modal_type ~= 0 then + modal_sfx[modal_asset_id]:PlayStart() + end + +end + +function loadAssets() + config = loadConfig("Config.json") + + for i = 1, 5 do + icon_players[i] = loadTexture(tostring(i).."P.png") + end + + -- Tmp, to change with the new structure later + for i = 0, 4 do + modal_tx[i + 1] = loadTexture(tostring(i)..".png") + modal_sfx[i + 1] = loadSound(tostring(i)..".ogg", "soundeffect") + end + modal_tx_coin = loadTexture("Coin.png") + modal_sfx_coin = loadSound("Coin.ogg", "soundeffect") + + font_modal_header = loadFontRenderer(84, "regular") + font_modal_body = loadFontRenderer(84, "regular") + font_modal_plate = loadFontRenderer(16, "regular") + +end + +function update() + if modal_counter <= modal_duration then + script_busy = true + modal_counter = modal_counter + (1000 * fps.deltaTime) + else + script_busy = false + modal_loopanim_counter = modal_loopanim_counter + (1000 * fps.deltaTime) + if modal_loopanim_counter >= modal_loopanim_duration then + modal_loopanim_counter = 0 + end + end + + + + + -- Idea: If button press and not finished, directly set modal_counter to modal_duration and cut the appearing animation? +end + +function draw() + icon_players[modal_current_player]:t2D_DisplayImage(0, 0) + + tx_header = getTextTex(ttk_modal_header, false, false) + + if modal_current_type == 0 then + -- Coin + modal_tx_coin:t2D_DisplayImage(0, 0) + + tx_header:t2D_DisplayImage_AnchorCenter(960,180) + tx_body = getTextTex(ttk_modal_body, false, false) + tx_body:t2D_DisplayImage_AnchorCenter(960,490) + else + -- Others + modal_tx[modal_asset_id]:t2D_DisplayImage(0, 0) + + tx_header:t2D_DisplayImage_AnchorCenter(960,180) + + if modal_current_type == 1 then + -- Character + if modal_current_visual ~= nil then + modal_current_visual:t2D_DisplayImage(0,260) + end + tx_body = getTextTex(ttk_modal_body, false, false) + tx_body:t2D_DisplayImage_AnchorCenter(960,390) + elseif modal_current_type == 2 then + -- Puchichara + if modal_current_info.tx ~= nil then + modal_current_info.tx:t2D_DisplayImage_AnchorCenter(960,490) + end + tx_body = getTextTex(ttk_modal_body, false, false) + tx_body:t2D_DisplayImage_AnchorCenter(960,790) + elseif modal_current_type == 3 then + -- Nameplate Title + tx_title = getTextTex(ttk_modal_body, false, false) + modal_current_visual:DrawTitlePlate(960, 490, 255, modal_current_info.Value.nameplateInfo.iType, tx_title, modal_current_rarity, modal_current_info.Key) + elseif modal_current_type == 4 then + -- Song + if modal_current_visual ~= nil then + modal_current_visual:t2D_DisplayImage_AnchorCenter(960,490) + end + tx_body = getTextTex(ttk_modal_body, false, false) + tx_body:t2D_DisplayImage_AnchorCenter(960,790) + else + -- Custom modals for custom unlockables in the future?? + tx_body = getTextTex(ttk_modal_body, false, false) + tx_body:t2D_DisplayImage_AnchorCenter(960,490) + end + end + +end diff --git a/OpenTaiko/src/Common/CConfigIni.cs b/OpenTaiko/src/Common/CConfigIni.cs index 3e103a35..51ed416d 100644 --- a/OpenTaiko/src/Common/CConfigIni.cs +++ b/OpenTaiko/src/Common/CConfigIni.cs @@ -1178,6 +1178,7 @@ namespace OpenTaiko { public bool bDisplayDebugInfo; public bool bEnableVSync; public bool bFullScreen; + public bool bIgnoreSongUnlockables; public int nWindowBaseXPosition; // #30675 2013.02.04 ikanick add public int nWindowBaseYPosition; public int nWindowWidth; // #23510 2010.10.31 yyagi add @@ -1658,6 +1659,7 @@ namespace OpenTaiko { public CConfigIni() { this.strSongsPath = "Songs" + Path.DirectorySeparatorChar; this.bFullScreen = false; + this.bIgnoreSongUnlockables = false; this.bEnableVSync = true; this.nWindowBaseXPosition = 100; // #30675 2013.02.04 ikanick add this.nWindowBaseYPosition = 100; @@ -1970,6 +1972,9 @@ namespace OpenTaiko { sw.WriteLine("; File paths on the Saves folder."); sw.WriteLine("SaveFileName={0}", String.Join(",", this.sSaveFile)); sw.WriteLine(); + sw.WriteLine("; Ignore song unlockables (0: No, 1: Yes)"); + sw.WriteLine("IgnoreSongUnlockables={0}", this.bIgnoreSongUnlockables ? 1 : 0); + sw.WriteLine(); #endregion @@ -2728,6 +2733,8 @@ namespace OpenTaiko { this.sSaveFile[i] = _s[i]; } } + } else if (str3.Equals("IgnoreSongUnlockables")) { + this.bIgnoreSongUnlockables = CConversion.bONorOFF(str4[0]); } #region [ skin関係 ] diff --git a/OpenTaiko/src/Common/ModalQueue.cs b/OpenTaiko/src/Common/ModalQueue.cs index bdee45a9..535d0d9e 100644 --- a/OpenTaiko/src/Common/ModalQueue.cs +++ b/OpenTaiko/src/Common/ModalQueue.cs @@ -14,12 +14,6 @@ _modalQueues[player].Enqueue(mp); } - public Modal tPopModal(int player) { - if (!tIsQueueEmpty(player)) - return _modalQueues[player].Dequeue(); - return null; - } - // 1P => 2P => 3P => 4P => 5P public Modal? tPopModalInOrder() { for (int i = 0; i < OpenTaiko.ConfigIni.nPlayerCount; i++) { diff --git a/OpenTaiko/src/Databases/DBNameplateUnlockables.cs b/OpenTaiko/src/Databases/DBNameplateUnlockables.cs index 0255a0e8..f9ed8c95 100644 --- a/OpenTaiko/src/Databases/DBNameplateUnlockables.cs +++ b/OpenTaiko/src/Databases/DBNameplateUnlockables.cs @@ -8,12 +8,12 @@ namespace OpenTaiko { _fn = @$"{OpenTaiko.strEXEのあるフォルダ}Databases{Path.DirectorySeparatorChar}NameplateUnlockables.db3"; using (var connection = new SqliteConnection(@$"Data Source={_fn}")) { - connection.Open(); - - // Get existing languages - List _translations = HDatabaseHelpers.GetAvailableLanguage(connection, "translation"); - - // Get nameplates + connection.Open(); + + // Get existing languages + List _translations = HDatabaseHelpers.GetAvailableLanguage(connection, "translation"); + + // Get nameplates var command = connection.CreateCommand(); command.CommandText = @$" @@ -62,7 +62,7 @@ namespace OpenTaiko { foreach (KeyValuePair item in data) { var _npvKey = (int)item.Key; - if (!_sf.Contains(_npvKey))// !_sf.ContainsKey(_npvKey)) + if (!_sf.Contains(_npvKey))// !_sf.ContainsKey(_npvKey)) { var _fulfilled = item.Value.unlockConditions.tConditionMetWrapper(player, DBUnlockables.CUnlockConditions.EScreen.Internal).Item1; @@ -72,7 +72,7 @@ namespace OpenTaiko { mq.tAddModal( new Modal( Modal.EModalType.Title, - HRarity.tRarityToLangInt(item.Value.rarity), + HRarity.tRarityToModalInt(item.Value.rarity), item, OpenTaiko.NamePlate.lcNamePlate ), diff --git a/OpenTaiko/src/Databases/DBSongUnlockables.cs b/OpenTaiko/src/Databases/DBSongUnlockables.cs index cc9fe5aa..60ee3cd8 100644 --- a/OpenTaiko/src/Databases/DBSongUnlockables.cs +++ b/OpenTaiko/src/Databases/DBSongUnlockables.cs @@ -3,23 +3,25 @@ using Newtonsoft.Json; using static OpenTaiko.DBSongUnlockables; namespace OpenTaiko { - internal class DBSongUnlockables : CSavableT> { + internal class DBSongUnlockables : CSavableT> { /* DISPLAYED : Song displayed in song select, only a lock appearing on the side, audio preview plays - * GRAYED : Box grayed, song preview does not play + * GRAYED : Box grayed, song preview does not play + * BLURED : Like grayed, but with a glitch effect on the song title and preimage making it unreadable * HIDDEN : Song not appears on the song select list until being unlocked - */ + */ public enum EHiddenIndex { DISPLAYED = 0, GRAYED = 1, - HIDDEN = 2 + BLURED = 2, + HIDDEN = 3 } public DBSongUnlockables() { _fn = @$"{OpenTaiko.strEXEのあるフォルダ}Databases{Path.DirectorySeparatorChar}SongUnlockables.db3"; using (var connection = new SqliteConnection(@$"Data Source={_fn}")) { - connection.Open(); - - // Get songs info + connection.Open(); + + // Get songs info var command = connection.CreateCommand(); command.CommandText = @$" @@ -92,7 +94,7 @@ namespace OpenTaiko { } public bool tIsSongLocked(CSongListNode? song) { - if (song == null) return false; + if (song == null || OpenTaiko.ConfigIni.bIgnoreSongUnlockables) return false; return !OpenTaiko.SaveFileInstances[OpenTaiko.SaveFile].data.UnlockedSongs.Contains(song.tGetUniqueId()) && data.ContainsKey(song.tGetUniqueId()); } diff --git a/OpenTaiko/src/Stages/04.Config/CActConfigList.cs b/OpenTaiko/src/Stages/04.Config/CActConfigList.cs index 40399695..f40eaf9a 100644 --- a/OpenTaiko/src/Stages/04.Config/CActConfigList.cs +++ b/OpenTaiko/src/Stages/04.Config/CActConfigList.cs @@ -3,10 +3,10 @@ using FDK; using SkiaSharp; namespace OpenTaiko { - internal class CActConfigList : CActivity { - // Properties - - public bool bIsKeyAssignSelected // #24525 2011.3.15 yyagi + internal class CActConfigList : CActivity { + // Properties + + public bool bIsKeyAssignSelected // #24525 2011.3.15 yyagi { get { Eメニュー種別 e = this.eメニュー種別; @@ -17,7 +17,7 @@ namespace OpenTaiko { } } } - public bool bIsFocusingParameter // #32059 2013.9.17 yyagi + public bool bIsFocusingParameter // #32059 2013.9.17 yyagi { get { return b要素値にフォーカス中; @@ -38,18 +38,18 @@ namespace OpenTaiko { return this.list項目リスト[this.n現在の選択項目]; } } - public int n現在の選択項目; - - - // General system options + public int n現在の選択項目; + + + // General system options #region [ t項目リストの設定_System() ] - + public void t項目リストの設定_System(bool refresh = true) { this.tConfigIniへ記録する(); - this.list項目リスト.Clear(); - - // #27029 2012.1.5 from: 説明文は最大9行→13行に変更。 - + this.list項目リスト.Clear(); + + // #27029 2012.1.5 from: 説明文は最大9行→13行に変更。 + this.iSystemReturnToMenu = new CItemBase(CLangManager.LangInstance.GetString("SETTINGS_MENU_RETURN"), CItemBase.EPanelType.Other, CLangManager.LangInstance.GetString("SETTINGS_MENU_RETURN_DESC")); this.list項目リスト.Add(this.iSystemReturnToMenu); @@ -88,8 +88,8 @@ namespace OpenTaiko { this.list項目リスト.Add(this.iSystemTimeStretch); this.iSystemGraphicsType = new CItemList(CLangManager.LangInstance.GetString("SETTINGS_SYSTEM_GRAPHICSAPI"), CItemList.EPanelType.Normal, OpenTaiko.ConfigIni.nGraphicsDeviceType, - CLangManager.LangInstance.GetString("SETTINGS_SYSTEM_GRAPHICSAPI_DESC"), - //new string[] { "OpenGL", "DirectX9", "DirectX11", "Vulkan", "Metal" }); + CLangManager.LangInstance.GetString("SETTINGS_SYSTEM_GRAPHICSAPI_DESC"), + //new string[] { "OpenGL", "DirectX9", "DirectX11", "Vulkan", "Metal" }); new string[] { "OpenGL", "DirectX11", "Vulkan", "Metal" }); this.list項目リスト.Add(this.iSystemGraphicsType); @@ -185,32 +185,32 @@ namespace OpenTaiko { this.list項目リスト.Add(this.iSystemBufferedInput); this.iLogOutputLog = new CItemToggle(CLangManager.LangInstance.GetString("SETTINGS_SYSTEM_LOG"), OpenTaiko.ConfigIni.bOutputLogs, CLangManager.LangInstance.GetString("SETTINGS_SYSTEM_LOG_DESC")); - this.list項目リスト.Add(this.iLogOutputLog); - - // #24820 2013.1.3 yyagi - + this.list項目リスト.Add(this.iLogOutputLog); + + // #24820 2013.1.3 yyagi + this.iSystemSoundType = new CItemList(CLangManager.LangInstance.GetString("SETTINGS_SYSTEM_AUDIOPLAYBACK"), CItemList.EPanelType.Normal, OpenTaiko.ConfigIni.nSoundDeviceType, CLangManager.LangInstance.GetString("SETTINGS_SYSTEM_AUDIOPLAYBACK_DESC"), new string[] { "Bass", "ASIO", "WASAPI Exclusive", "WASAPI Shared" }); - this.list項目リスト.Add(this.iSystemSoundType); - - // #24820 2013.1.15 yyagi + this.list項目リスト.Add(this.iSystemSoundType); + + // #24820 2013.1.15 yyagi this.iSystemBassBufferSizeMs = new CItemInteger(CLangManager.LangInstance.GetString("SETTINGS_SYSTEM_BASSBUFFER"), 0, 99999, OpenTaiko.ConfigIni.nBassBufferSizeMs, CLangManager.LangInstance.GetString("SETTINGS_SYSTEM_BASSBUFFER_DESC")); - this.list項目リスト.Add(this.iSystemBassBufferSizeMs); - - // #24820 2013.1.15 yyagi + this.list項目リスト.Add(this.iSystemBassBufferSizeMs); + + // #24820 2013.1.15 yyagi this.iSystemWASAPIBufferSizeMs = new CItemInteger(CLangManager.LangInstance.GetString("SETTINGS_SYSTEM_WASAPIBUFFER"), 0, 99999, OpenTaiko.ConfigIni.nWASAPIBufferSizeMs, CLangManager.LangInstance.GetString("SETTINGS_SYSTEM_WASAPIBUFFER_DESC")); - this.list項目リスト.Add(this.iSystemWASAPIBufferSizeMs); - - // #24820 2013.1.17 yyagi + this.list項目リスト.Add(this.iSystemWASAPIBufferSizeMs); + + // #24820 2013.1.17 yyagi this.iSystemASIODevice = new CItemList(CLangManager.LangInstance.GetString("SETTINGS_SYSTEM_ASIOPLAYBACK"), CItemList.EPanelType.Normal, OpenTaiko.ConfigIni.nASIODevice, CLangManager.LangInstance.GetString("SETTINGS_SYSTEM_ASIOPLAYBACK_DESC"), CEnumerateAllAsioDevices.GetAllASIODevices()); - this.list項目リスト.Add(this.iSystemASIODevice); - - // #33689 2014.6.17 yyagi + this.list項目リスト.Add(this.iSystemASIODevice); + + // #33689 2014.6.17 yyagi this.iSystemSoundTimerType = new CItemToggle(CLangManager.LangInstance.GetString("SETTINGS_SYSTEM_OSTIMER"), OpenTaiko.ConfigIni.bUseOSTimer, CLangManager.LangInstance.GetString("SETTINGS_SYSTEM_OSTIMER_DESC")); this.list項目リスト.Add(this.iSystemSoundTimerType); @@ -266,19 +266,19 @@ namespace OpenTaiko { this.eメニュー種別 = Eメニュー種別.System; } - } + } #endregion - - - // Gameplay options + + + // Gameplay options #region [ t項目リストの設定_Drums() ] - + public void t項目リストの設定_Drums() { this.tConfigIniへ記録する(); - this.list項目リスト.Clear(); - - // #27029 2012.1.5 from: 説明文は最大9行→13行に変更。 - + this.list項目リスト.Clear(); + + // #27029 2012.1.5 from: 説明文は最大9行→13行に変更。 + this.iDrumsReturnToMenu = new CItemBase(CLangManager.LangInstance.GetString("SETTINGS_MENU_RETURN"), CItemBase.EPanelType.Other, CLangManager.LangInstance.GetString("SETTINGS_MENU_RETURN_DESC")); this.list項目リスト.Add(this.iDrumsReturnToMenu); @@ -333,9 +333,9 @@ namespace OpenTaiko { this.ShinuchiMode = new CItemToggle(CLangManager.LangInstance.GetString("SETTINGS_GAME_SHINUCHI"), OpenTaiko.ConfigIni.ShinuchiMode, CItemBase.EPanelType.Normal, CLangManager.LangInstance.GetString("SETTINGS_GAME_SHINUCHI_DESC")); - this.list項目リスト.Add(this.ShinuchiMode); - - // FIXME: This does nothing vvv + this.list項目リスト.Add(this.ShinuchiMode); + + // FIXME: This does nothing vvv this.iTaikoBranchGuide = new CItemToggle(CLangManager.LangInstance.GetString("SETTINGS_GAME_BRANCHGUIDE"), OpenTaiko.ConfigIni.bBranchGuide, CLangManager.LangInstance.GetString("SETTINGS_GAME_BRANCHGUIDE_DESC")); this.list項目リスト.Add(this.iTaikoBranchGuide); @@ -374,6 +374,10 @@ namespace OpenTaiko { CLangManager.LangInstance.GetString("SETTINGS_TRAINING_JUMPINTERVAL_DESC")); this.list項目リスト.Add(TokkunMashInterval); + this.iTaikoIgnoreSongUnlockables = new CItemToggle(CLangManager.LangInstance.GetString("SETTINGS_GAME_IGNORESONGUNLOCKABLES"), OpenTaiko.ConfigIni.bIgnoreSongUnlockables, + CLangManager.LangInstance.GetString("SETTINGS_GAME_IGNORESONGUNLOCKABLES_DESC")); + this.list項目リスト.Add(this.iTaikoIgnoreSongUnlockables); + this.iDrumsGoToKeyAssign = new CItemBase(CLangManager.LangInstance.GetString("SETTINGS_KEYASSIGN_GAME"), CItemBase.EPanelType.Normal, CLangManager.LangInstance.GetString("SETTINGS_KEYASSIGN_GAME_DESC")); this.list項目リスト.Add(this.iDrumsGoToKeyAssign); @@ -385,16 +389,16 @@ namespace OpenTaiko { OnListMenuの初期化(); this.n現在の選択項目 = 0; this.eメニュー種別 = Eメニュー種別.Drums; - } - + } + #endregion - - + + /// /// ESC押下時の右メニュー描画 /// public void tEsc押下() { - if (this.b要素値にフォーカス中) // #32059 2013.9.17 add yyagi + if (this.b要素値にフォーカス中) // #32059 2013.9.17 add yyagi { this.b要素値にフォーカス中 = false; } @@ -407,9 +411,9 @@ namespace OpenTaiko { case Eメニュー種別.KeyAssignTraining: t項目リストの設定_Drums(); break; - } - - // これ以外なら何もしない + } + + // これ以外なら何もしない } public void tEnter押下() { OpenTaiko.Skin.soundDecideSFX.tPlay(); @@ -417,9 +421,9 @@ namespace OpenTaiko { this.b要素値にフォーカス中 = false; } else if (this.list項目リスト[this.n現在の選択項目].e種別 == CItemBase.E種別.整数) { this.b要素値にフォーカス中 = true; - } + } #region [ 個々のキーアサイン ] - //太鼓のキー設定。 + //太鼓のキー設定。 else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignTaikoLRed) { OpenTaiko.stageコンフィグ.tパッド選択通知(EKeyConfigPart.Drums, EKeyConfigPad.LRed); } else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignTaikoRRed) { @@ -428,9 +432,9 @@ namespace OpenTaiko { OpenTaiko.stageコンフィグ.tパッド選択通知(EKeyConfigPart.Drums, EKeyConfigPad.LBlue); } else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignTaikoRBlue) { OpenTaiko.stageコンフィグ.tパッド選択通知(EKeyConfigPart.Drums, EKeyConfigPad.RBlue); - } - - //太鼓のキー設定。2P + } + + //太鼓のキー設定。2P else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignTaikoLRed2P) { OpenTaiko.stageコンフィグ.tパッド選択通知(EKeyConfigPart.Drums, EKeyConfigPad.LRed2P); } else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignTaikoRRed2P) { @@ -439,9 +443,9 @@ namespace OpenTaiko { OpenTaiko.stageコンフィグ.tパッド選択通知(EKeyConfigPart.Drums, EKeyConfigPad.LBlue2P); } else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignTaikoRBlue2P) { OpenTaiko.stageコンフィグ.tパッド選択通知(EKeyConfigPart.Drums, EKeyConfigPad.RBlue2P); - } - - //太鼓のキー設定。3P + } + + //太鼓のキー設定。3P else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignTaikoLRed3P) { OpenTaiko.stageコンフィグ.tパッド選択通知(EKeyConfigPart.Drums, EKeyConfigPad.LRed3P); } else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignTaikoRRed3P) { @@ -450,9 +454,9 @@ namespace OpenTaiko { OpenTaiko.stageコンフィグ.tパッド選択通知(EKeyConfigPart.Drums, EKeyConfigPad.LBlue3P); } else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignTaikoRBlue3P) { OpenTaiko.stageコンフィグ.tパッド選択通知(EKeyConfigPart.Drums, EKeyConfigPad.RBlue3P); - } - - //太鼓のキー設定。4P + } + + //太鼓のキー設定。4P else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignTaikoLRed4P) { OpenTaiko.stageコンフィグ.tパッド選択通知(EKeyConfigPart.Drums, EKeyConfigPad.LRed4P); } else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignTaikoRRed4P) { @@ -461,9 +465,9 @@ namespace OpenTaiko { OpenTaiko.stageコンフィグ.tパッド選択通知(EKeyConfigPart.Drums, EKeyConfigPad.LBlue4P); } else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignTaikoRBlue4P) { OpenTaiko.stageコンフィグ.tパッド選択通知(EKeyConfigPart.Drums, EKeyConfigPad.RBlue4P); - } - - //太鼓のキー設定。5P + } + + //太鼓のキー設定。5P else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignTaikoLRed5P) { OpenTaiko.stageコンフィグ.tパッド選択通知(EKeyConfigPart.Drums, EKeyConfigPad.LRed5P); } else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignTaikoRRed5P) { @@ -472,9 +476,9 @@ namespace OpenTaiko { OpenTaiko.stageコンフィグ.tパッド選択通知(EKeyConfigPart.Drums, EKeyConfigPad.LBlue5P); } else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignTaikoRBlue5P) { OpenTaiko.stageコンフィグ.tパッド選択通知(EKeyConfigPart.Drums, EKeyConfigPad.RBlue5P); - } - - // Konga claps + } + + // Konga claps else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignKongaClap) { OpenTaiko.stageコンフィグ.tパッド選択通知(EKeyConfigPart.Drums, EKeyConfigPad.Clap); } else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignKongaClap2P) { @@ -485,9 +489,9 @@ namespace OpenTaiko { OpenTaiko.stageコンフィグ.tパッド選択通知(EKeyConfigPart.Drums, EKeyConfigPad.Clap4P); } else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignKongaClap5P) { OpenTaiko.stageコンフィグ.tパッド選択通知(EKeyConfigPart.Drums, EKeyConfigPad.Clap5P); - } - - // Menu controls + } + + // Menu controls else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignDecide) { OpenTaiko.stageコンフィグ.tパッド選択通知(EKeyConfigPart.Drums, EKeyConfigPad.Decide); } else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignCancel) { @@ -496,9 +500,9 @@ namespace OpenTaiko { OpenTaiko.stageコンフィグ.tパッド選択通知(EKeyConfigPart.Drums, EKeyConfigPad.LeftChange); } else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignRightChange) { OpenTaiko.stageコンフィグ.tパッド選択通知(EKeyConfigPart.Drums, EKeyConfigPad.RightChange); - } - - // System controls + } + + // System controls else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignSystemCapture) { OpenTaiko.stageコンフィグ.tパッド選択通知(EKeyConfigPart.System, EKeyConfigPad.Capture); } else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignSystemSongVolIncrease) { @@ -523,9 +527,9 @@ namespace OpenTaiko { OpenTaiko.stageコンフィグ.tパッド選択通知(EKeyConfigPart.System, EKeyConfigPad.ToggleTrainingMode); } else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignSystemCycleVideoDisplayMode) { OpenTaiko.stageコンフィグ.tパッド選択通知(EKeyConfigPart.System, EKeyConfigPad.CycleVideoDisplayMode); - } - - // Training controls + } + + // Training controls else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignTrainingPause) { OpenTaiko.stageコンフィグ.tパッド選択通知(EKeyConfigPart.Drums, EKeyConfigPad.TrainingPause); } else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignTrainingToggleAuto) { @@ -558,10 +562,10 @@ namespace OpenTaiko { OpenTaiko.stageコンフィグ.tパッド選択通知(EKeyConfigPart.Drums, EKeyConfigPad.TrainingJumpToFirstMeasure); } else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignTrainingJumpToLastMeasure) { OpenTaiko.stageコンフィグ.tパッド選択通知(EKeyConfigPart.Drums, EKeyConfigPad.TrainingJumpToLastMeasure); - } + } #endregion - else { - // #27029 2012.1.5 from + else { + // #27029 2012.1.5 from this.list項目リスト[this.n現在の選択項目].tEnter押下(); if (this.list項目リスト[this.n現在の選択項目] == this.iSystemLanguage) { @@ -580,24 +584,24 @@ namespace OpenTaiko { t項目リストの設定_System(refresh: false); OpenTaiko.stageコンフィグ.ReloadMenus(); - } - // Enter押下後の後処理 - + } + // Enter押下後の後処理 + if (this.list項目リスト[this.n現在の選択項目] == this.iSystemFullscreen) { OpenTaiko.app.b次のタイミングで全画面_ウィンドウ切り替えを行う = true; } else if (this.list項目リスト[this.n現在の選択項目] == this.iSystemVSyncWait) { OpenTaiko.ConfigIni.bEnableVSync = this.iSystemVSyncWait.bON; OpenTaiko.app.b次のタイミングで垂直帰線同期切り替えを行う = true; - } + } #region [ キーアサインへの遷移と脱出 ] - else if (this.list項目リスト[this.n現在の選択項目] == this.iSystemGoToKeyAssign) // #24609 2011.4.12 yyagi + else if (this.list項目リスト[this.n現在の選択項目] == this.iSystemGoToKeyAssign) // #24609 2011.4.12 yyagi { t項目リストの設定_KeyAssignSystem(); - } else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignSystemReturnToMenu) // #24609 2011.4.12 yyagi + } else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignSystemReturnToMenu) // #24609 2011.4.12 yyagi { tConfigIniへ記録する(); t項目リストの設定_System(); - } else if (this.list項目リスト[this.n現在の選択項目] == this.iDrumsGoToKeyAssign) // #24525 2011.3.15 yyagi + } else if (this.list項目リスト[this.n現在の選択項目] == this.iDrumsGoToKeyAssign) // #24525 2011.3.15 yyagi { tConfigIniへ記録する(); t項目リストの設定_KeyAssignDrums(); @@ -607,22 +611,22 @@ namespace OpenTaiko { } else if (this.list項目リスト[this.n現在の選択項目] == this.iDrumsGoToCalibration) { OpenTaiko.stageコンフィグ.actCalibrationMode.Start(); } else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignDrumsReturnToMenu || - this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignTrainingReturnToMenu) // #24525 2011.3.15 yyagi + this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignTrainingReturnToMenu) // #24525 2011.3.15 yyagi { t項目リストの設定_Drums(); - } + } #endregion #region [ スキン項目でEnterを押下した場合に限り、スキンの縮小サンプルを生成する。] - else if (this.list項目リスト[this.n現在の選択項目] == this.iSystemSkinSubfolder) // #28195 2012.5.2 yyagi + else if (this.list項目リスト[this.n現在の選択項目] == this.iSystemSkinSubfolder) // #28195 2012.5.2 yyagi { tGenerateSkinSample(); - } + } #endregion #region [ 曲データ一覧の再読み込み ] - else if (this.list項目リスト[this.n現在の選択項目] == this.iSystemReloadDTX) // #32081 2013.10.21 yyagi + else if (this.list項目リスト[this.n現在の選択項目] == this.iSystemReloadDTX) // #32081 2013.10.21 yyagi { - if (OpenTaiko.EnumSongs.IsEnumerating) { - // Debug.WriteLine( "バックグラウンドでEnumeratingSongs中だったので、一旦中断します。" ); + if (OpenTaiko.EnumSongs.IsEnumerating) { + // Debug.WriteLine( "バックグラウンドでEnumeratingSongs中だったので、一旦中断します。" ); OpenTaiko.EnumSongs.Abort(); OpenTaiko.actEnumSongs.DeActivate(); } @@ -632,7 +636,7 @@ namespace OpenTaiko { OpenTaiko.actEnumSongs.bコマンドでの曲データ取得 = true; OpenTaiko.actEnumSongs.Activate(); OpenTaiko.stageSongSelect.actSongList.ResetSongIndex(); - } else if (this.list項目リスト[this.n現在の選択項目] == this.iSystemHardReloadDTX) // #32081 2013.10.21 yyagi + } else if (this.list項目リスト[this.n現在の選択項目] == this.iSystemHardReloadDTX) // #32081 2013.10.21 yyagi { if (OpenTaiko.EnumSongs.IsEnumerating) { OpenTaiko.EnumSongs.Abort(); @@ -644,11 +648,11 @@ namespace OpenTaiko { OpenTaiko.actEnumSongs.bコマンドでの曲データ取得 = true; OpenTaiko.actEnumSongs.Activate(); OpenTaiko.stageSongSelect.actSongList.ResetSongIndex(); - } else if (this.list項目リスト[this.n現在の選択項目] == this.isSystemImportingScore) { - // Running in a separate thread so the game doesn't freeze + } else if (this.list項目リスト[this.n現在の選択項目] == this.isSystemImportingScore) { + // Running in a separate thread so the game doesn't freeze ScoreIniImportThread = new Thread(CScoreIni_Importer.ImportScoreInisToSavesDb3); ScoreIniImportThread.Start(); - } + } #endregion } } @@ -674,17 +678,17 @@ namespace OpenTaiko { bmSrc.Dispose(); nSkinSampleIndex = nSkinIndex; } - } - + } + #region [ 項目リストの設定 ( Exit, KeyAssignSystem/Drums) ] public void t項目リストの設定_Exit() { this.tConfigIniへ記録する(); this.eメニュー種別 = Eメニュー種別.Unknown; } public void t項目リストの設定_KeyAssignSystem() { - this.list項目リスト.Clear(); - // #27029 2012.1.5 from: 説明文は最大9行→13行に変更。 - + this.list項目リスト.Clear(); + // #27029 2012.1.5 from: 説明文は最大9行→13行に変更。 + this.iKeyAssignSystemReturnToMenu = new CItemBase(CLangManager.LangInstance.GetString("SETTINGS_MENU_RETURN"), CItemBase.EPanelType.Other, CLangManager.LangInstance.GetString("SETTINGS_MENU_RETURN_DESC")); this.list項目リスト.Add(this.iKeyAssignSystemReturnToMenu); @@ -731,9 +735,9 @@ namespace OpenTaiko { this.eメニュー種別 = Eメニュー種別.KeyAssignSystem; } public void t項目リストの設定_KeyAssignDrums() { - this.list項目リスト.Clear(); - // #27029 2012.1.5 from: 説明文は最大9行→13行に変更。 - + this.list項目リスト.Clear(); + // #27029 2012.1.5 from: 説明文は最大9行→13行に変更。 + this.iKeyAssignDrumsReturnToMenu = new CItemBase(CLangManager.LangInstance.GetString("SETTINGS_MENU_RETURN"), CItemBase.EPanelType.Other, CLangManager.LangInstance.GetString("SETTINGS_MENU_RETURN_DESC")); this.list項目リスト.Add(this.iKeyAssignDrumsReturnToMenu); @@ -911,7 +915,7 @@ namespace OpenTaiko { OnListMenuの初期化(); this.n現在の選択項目 = 0; this.eメニュー種別 = Eメニュー種別.KeyAssignTraining; - } + } #endregion public void t次に移動() { OpenTaiko.Skin.soundカーソル移動音.tPlay(); @@ -928,17 +932,17 @@ namespace OpenTaiko { } else { this.n目標のスクロールカウンタ -= 100; } - } - - // CActivity 実装 - + } + + // CActivity 実装 + public override void Activate() { if (this.IsActivated) return; this.list項目リスト = new List(); - this.eメニュー種別 = Eメニュー種別.Unknown; - + this.eメニュー種別 = Eメニュー種別.Unknown; + #region [ スキン選択肢と、現在選択中のスキン(index)の準備 #28195 2012.5.2 yyagi ] int ns = (OpenTaiko.Skin.strSystemSkinSubfolders == null) ? 0 : OpenTaiko.Skin.strSystemSkinSubfolders.Length; int nb = (OpenTaiko.Skin.strBoxDefSkinSubfolders == null) ? 0 : OpenTaiko.Skin.strBoxDefSkinSubfolders.Length; @@ -953,24 +957,24 @@ namespace OpenTaiko { Array.Sort(skinSubFolders); skinNames = CSkin.GetSkinName(skinSubFolders); nSkinIndex = Array.BinarySearch(skinSubFolders, skinSubFolder_org); - if (nSkinIndex < 0) // 念のため + if (nSkinIndex < 0) // 念のため { nSkinIndex = 0; } - nSkinSampleIndex = -1; + nSkinSampleIndex = -1; #endregion - + this.t項目リストの設定_Drums(); - this.t項目リストの設定_System(); // 順番として、最後にSystemを持ってくること。設定一覧の初期位置がSystemのため。 + this.t項目リストの設定_System(); // 順番として、最後にSystemを持ってくること。設定一覧の初期位置がSystemのため。 this.b要素値にフォーカス中 = false; this.n目標のスクロールカウンタ = 0; this.n現在のスクロールカウンタ = 0; this.nスクロール用タイマ値 = -1; this.ct三角矢印アニメ = new CCounter(); - this.iSystemSoundType_initial = this.iSystemSoundType.n現在選択されている項目番号; // CONFIGに入ったときの値を保持しておく - this.iSystemBassBufferSizeMs_initial = this.iSystemBassBufferSizeMs.n現在の値; // CONFIG脱出時にこの値から変更されているようなら - this.iSystemWASAPIBufferSizeMs_initial = this.iSystemWASAPIBufferSizeMs.n現在の値; // CONFIG脱出時にこの値から変更されているようなら + this.iSystemSoundType_initial = this.iSystemSoundType.n現在選択されている項目番号; // CONFIGに入ったときの値を保持しておく + this.iSystemBassBufferSizeMs_initial = this.iSystemBassBufferSizeMs.n現在の値; // CONFIG脱出時にこの値から変更されているようなら + this.iSystemWASAPIBufferSizeMs_initial = this.iSystemWASAPIBufferSizeMs.n現在の値; // CONFIG脱出時にこの値から変更されているようなら this.iSystemASIODevice_initial = this.iSystemASIODevice.n現在選択されている項目番号; this.iSystemSoundTimerType_initial = this.iSystemSoundTimerType.GetIndex(); base.Activate(); @@ -983,15 +987,15 @@ namespace OpenTaiko { this.list項目リスト.Clear(); this.ct三角矢印アニメ = null; - base.DeActivate(); + base.DeActivate(); #region [ Skin変更 ] if (OpenTaiko.Skin.GetCurrentSkinSubfolderFullName(true) != this.skinSubFolder_org) { OpenTaiko.app.RefreshSkin(); - } + } #endregion - - // #24820 2013.1.22 yyagi CONFIGでWASAPI/ASIO/DirectSound関連の設定を変更した場合、サウンドデバイスを再構築する。 - // #33689 2014.6.17 yyagi CONFIGでSoundTimerTypeの設定を変更した場合も、サウンドデバイスを再構築する。 + + // #24820 2013.1.22 yyagi CONFIGでWASAPI/ASIO/DirectSound関連の設定を変更した場合、サウンドデバイスを再構築する。 + // #33689 2014.6.17 yyagi CONFIGでSoundTimerTypeの設定を変更した場合も、サウンドデバイスを再構築する。 #region [ サウンドデバイス変更 ] if (this.iSystemSoundType_initial != this.iSystemSoundType.n現在選択されている項目番号 || this.iSystemBassBufferSizeMs_initial != this.iSystemBassBufferSizeMs.n現在の値 || @@ -1023,16 +1027,16 @@ namespace OpenTaiko { this.iSystemASIODevice.n現在選択されている項目番号, this.iSystemSoundTimerType.bON); OpenTaiko.app.ShowWindowTitleWithSoundType(); - OpenTaiko.Skin.ReloadSkin();// 音声の再読み込みをすることによって、音量の初期化を防ぐ - } + OpenTaiko.Skin.ReloadSkin();// 音声の再読み込みをすることによって、音量の初期化を防ぐ + } #endregion #region [ サウンドのタイムストレッチモード変更 ] - FDK.SoundManager.bIsTimeStretch = this.iSystemTimeStretch.bON; + FDK.SoundManager.bIsTimeStretch = this.iSystemTimeStretch.bON; #endregion } public override void CreateManagedResource() { - this.prvFont = HPrivateFastFont.tInstantiateMainFont(OpenTaiko.Skin.Config_Font_Scale); // t項目リストの設定 の前に必要 - this.txSkinSample1 = null; // スキン選択時に動的に設定するため、ここでは初期化しない + this.prvFont = HPrivateFastFont.tInstantiateMainFont(OpenTaiko.Skin.Config_Font_Scale); // t項目リストの設定 の前に必要 + this.txSkinSample1 = null; // スキン選択時に動的に設定するため、ここでは初期化しない base.CreateManagedResource(); } public override void ReleaseManagedResource() { @@ -1043,8 +1047,8 @@ namespace OpenTaiko { private void OnListMenuの初期化() { OnListMenuの解放(); this.listMenu = new stMenuItemRight[this.list項目リスト.Count]; - } - + } + /// /// 事前にレンダリングしておいたテクスチャを解放する。 /// @@ -1066,34 +1070,34 @@ namespace OpenTaiko { } public int t進行描画(bool b項目リスト側にフォーカスがある) { if (this.IsDeActivated) - return 0; - - // 進行 - + return 0; + + // 進行 + #region [ 初めての進行描画 ] - //----------------- + //----------------- if (base.IsFirstDraw) { this.nスクロール用タイマ値 = (long)(SoundManager.PlayTimer.NowTime * OpenTaiko.ConfigIni.SongPlaybackSpeed); this.ct三角矢印アニメ.Start(0, 9, 50, OpenTaiko.Timer); base.IsFirstDraw = false; - } - //----------------- + } + //----------------- #endregion - - this.b項目リスト側にフォーカスがある = b項目リスト側にフォーカスがある; // 記憶 - + + this.b項目リスト側にフォーカスがある = b項目リスト側にフォーカスがある; // 記憶 + #region [ 項目スクロールの進行 ] - //----------------- + //----------------- long n現在時刻 = OpenTaiko.Timer.NowTime; if (n現在時刻 < this.nスクロール用タイマ値) this.nスクロール用タイマ値 = n現在時刻; - const int INTERVAL = 2; // [ms] + const int INTERVAL = 2; // [ms] while ((n現在時刻 - this.nスクロール用タイマ値) >= INTERVAL) { int n目標項目までのスクロール量 = Math.Abs((int)(this.n目標のスクロールカウンタ - this.n現在のスクロールカウンタ)); - int n加速度 = 0; - + int n加速度 = 0; + #region [ n加速度の決定;目標まで遠いほど加速する。] - //----------------- + //----------------- if (n目標項目までのスクロール量 <= 100) { n加速度 = 2; } else if (n目標項目までのスクロール量 <= 300) { @@ -1102,28 +1106,28 @@ namespace OpenTaiko { n加速度 = 4; } else { n加速度 = 8; - } - //----------------- + } + //----------------- #endregion #region [ this.n現在のスクロールカウンタに n加速度 を加減算。] - //----------------- + //----------------- if (this.n現在のスクロールカウンタ < this.n目標のスクロールカウンタ) { this.n現在のスクロールカウンタ += n加速度; - if (this.n現在のスクロールカウンタ > this.n目標のスクロールカウンタ) { - // 目標を超えたら目標値で停止。 + if (this.n現在のスクロールカウンタ > this.n目標のスクロールカウンタ) { + // 目標を超えたら目標値で停止。 this.n現在のスクロールカウンタ = this.n目標のスクロールカウンタ; } } else if (this.n現在のスクロールカウンタ > this.n目標のスクロールカウンタ) { this.n現在のスクロールカウンタ -= n加速度; - if (this.n現在のスクロールカウンタ < this.n目標のスクロールカウンタ) { - // 目標を超えたら目標値で停止。 + if (this.n現在のスクロールカウンタ < this.n目標のスクロールカウンタ) { + // 目標を超えたら目標値で停止。 this.n現在のスクロールカウンタ = this.n目標のスクロールカウンタ; } - } - //----------------- + } + //----------------- #endregion #region [ 行超え処理、ならびに目標位置に到達したらスクロールを停止して項目変更通知を発行。] - //----------------- + //----------------- if (this.n現在のスクロールカウンタ >= 100) { this.n現在の選択項目 = this.t次の項目(this.n現在の選択項目); this.n現在のスクロールカウンタ -= 100; @@ -1138,87 +1142,87 @@ namespace OpenTaiko { if (this.n目標のスクロールカウンタ == 0) { OpenTaiko.stageコンフィグ.t項目変更通知(); } - } - //----------------- + } + //----------------- #endregion - + this.nスクロール用タイマ値 += INTERVAL; - } - //----------------- + } + //----------------- #endregion - + #region [ ▲印アニメの進行 ] - //----------------- + //----------------- if (this.b項目リスト側にフォーカスがある && (this.n目標のスクロールカウンタ == 0)) - this.ct三角矢印アニメ.TickLoop(); - //----------------- + this.ct三角矢印アニメ.TickLoop(); + //----------------- #endregion - // 描画 - + // 描画 + #region [ 計11個の項目パネルを描画する。] - //----------------- + //----------------- int nItem = this.n現在の選択項目; for (int i = 0; i < (OpenTaiko.Skin.Config_ItemBox_Count / 2) - 1; i++) nItem = this.t前の項目(nItem); - for (int i = 0; i < OpenTaiko.Skin.Config_ItemBox_Count; i++) // n行番号 == 0 がフォーカスされている項目パネル。 + for (int i = 0; i < OpenTaiko.Skin.Config_ItemBox_Count; i++) // n行番号 == 0 がフォーカスされている項目パネル。 { - bool centerFlag = i == (OpenTaiko.Skin.Config_ItemBox_Count / 2) - 1; - + bool centerFlag = i == (OpenTaiko.Skin.Config_ItemBox_Count / 2) - 1; + #region [ 今まさに画面外に飛びだそうとしている項目パネルは描画しない。] - //----------------- - if (((i == 0) && (this.n現在のスクロールカウンタ > 0)) || // 上に飛び出そうとしている - ((i == OpenTaiko.Skin.Config_ItemBox_Count - 1) && (this.n現在のスクロールカウンタ < 0))) // 下に飛び出そうとしている + //----------------- + if (((i == 0) && (this.n現在のスクロールカウンタ > 0)) || // 上に飛び出そうとしている + ((i == OpenTaiko.Skin.Config_ItemBox_Count - 1) && (this.n現在のスクロールカウンタ < 0))) // 下に飛び出そうとしている { nItem = this.t次の項目(nItem); continue; - } - //----------------- + } + //----------------- #endregion - + int n移動先の行の基本位置 = (this.n現在のスクロールカウンタ <= 0) ? ((i + 1) % OpenTaiko.Skin.Config_ItemBox_Count) : (((i - 1) + OpenTaiko.Skin.Config_ItemBox_Count) % OpenTaiko.Skin.Config_ItemBox_Count); int x = OpenTaiko.Skin.Config_ItemBox_X[i] + ((int)((OpenTaiko.Skin.Config_ItemBox_X[n移動先の行の基本位置] - OpenTaiko.Skin.Config_ItemBox_X[i]) * (((double)Math.Abs(this.n現在のスクロールカウンタ)) / 100.0))); - int y = OpenTaiko.Skin.Config_ItemBox_Y[i] + ((int)((OpenTaiko.Skin.Config_ItemBox_Y[n移動先の行の基本位置] - OpenTaiko.Skin.Config_ItemBox_Y[i]) * (((double)Math.Abs(this.n現在のスクロールカウンタ)) / 100.0))); - + int y = OpenTaiko.Skin.Config_ItemBox_Y[i] + ((int)((OpenTaiko.Skin.Config_ItemBox_Y[n移動先の行の基本位置] - OpenTaiko.Skin.Config_ItemBox_Y[i]) * (((double)Math.Abs(this.n現在のスクロールカウンタ)) / 100.0))); + #region [ 現在の行の項目パネル枠を描画。] - //----------------- + //----------------- switch (this.list項目リスト[nItem].eパネル種別) { case CItemBase.EPanelType.Normal: case CItemBase.EPanelType.Other: if (OpenTaiko.Tx.Config_ItemBox != null) OpenTaiko.Tx.Config_ItemBox.t2D描画(x, y); break; - } - //----------------- + } + //----------------- #endregion #region [ 現在の行の項目名を描画。] - //----------------- - if (listMenu[nItem].txMenuItemRight != null) // 自前のキャッシュに含まれているようなら、再レンダリングせずキャッシュを使用 + //----------------- + if (listMenu[nItem].txMenuItemRight != null) // 自前のキャッシュに含まれているようなら、再レンダリングせずキャッシュを使用 { listMenu[nItem].txMenuItemRight.t2D描画(x + OpenTaiko.Skin.Config_ItemBox_Font_Offset[0], y + OpenTaiko.Skin.Config_ItemBox_Font_Offset[1]); } else { using (var bmpItem = prvFont.DrawText(this.list項目リスト[nItem].str項目名, Color.White, Color.Black, null, 30)) { listMenu[nItem].txMenuItemRight = OpenTaiko.tテクスチャの生成(bmpItem); } - } - //----------------- + } + //----------------- #endregion #region [ 現在の行の項目の要素を描画。] - //----------------- + //----------------- string strParam = null; bool b強調 = false; switch (this.list項目リスト[nItem].e種別) { - case CItemBase.E種別.ONorOFFトグル: + case CItemBase.E種別.ONorOFFトグル: #region [ *** ] - //----------------- + //----------------- strParam = ((CItemToggle)this.list項目リスト[nItem]).bON ? "ON" : "OFF"; - break; - //----------------- + break; + //----------------- #endregion - - case CItemBase.E種別.ONorOFFor不定スリーステート: + + case CItemBase.E種別.ONorOFFor不定スリーステート: #region [ *** ] - //----------------- + //----------------- switch (((CItemThreeState)this.list項目リスト[nItem]).e現在の状態) { case CItemThreeState.E状態.ON: strParam = "ON"; @@ -1232,43 +1236,42 @@ namespace OpenTaiko { strParam = "OFF"; break; } - break; - //----------------- + break; + //----------------- #endregion - - case CItemBase.E種別.整数: // #24789 2011.4.8 yyagi: add PlaySpeed supports (copied them from OPTION) + + case CItemBase.E種別.整数: // #24789 2011.4.8 yyagi: add PlaySpeed supports (copied them from OPTION) #region [ *** ] - //----------------- + //----------------- if (this.list項目リスト[nItem] == this.iCommonPlaySpeed) { double d = ((double)((CItemInteger)this.list項目リスト[nItem]).n現在の値) / 20.0; strParam = d.ToString("0.000"); - } - else { + } else { strParam = ((CItemInteger)this.list項目リスト[nItem]).n現在の値.ToString(); } b強調 = centerFlag && this.b要素値にフォーカス中; - break; - //----------------- + break; + //----------------- #endregion - - case CItemBase.E種別.リスト: // #28195 2012.5.2 yyagi: add Skin supports + + case CItemBase.E種別.リスト: // #28195 2012.5.2 yyagi: add Skin supports #region [ *** ] - //----------------- + //----------------- { CItemList list = (CItemList)this.list項目リスト[nItem]; - strParam = list.list項目値[list.n現在選択されている項目番号]; - + strParam = list.list項目値[list.n現在選択されている項目番号]; + #region [ 必要な場合に、Skinのサンプルを生成・描画する。#28195 2012.5.2 yyagi ] if (this.list項目リスト[this.n現在の選択項目] == this.iSystemSkinSubfolder) { - tGenerateSkinSample(); // 最初にSkinの選択肢にきたとき(Enterを押す前)に限り、サンプル生成が発生する。 + tGenerateSkinSample(); // 最初にSkinの選択肢にきたとき(Enterを押す前)に限り、サンプル生成が発生する。 if (txSkinSample1 != null) { txSkinSample1.t2D描画(OpenTaiko.Skin.Config_SkinSample1[0], OpenTaiko.Skin.Config_SkinSample1[1]); } - } + } #endregion break; - } - //----------------- + } + //----------------- #endregion } if (b強調) { @@ -1298,58 +1301,58 @@ namespace OpenTaiko { listMenu[nItem] = stm; } listMenu[nItem].txParam.t2D描画(x + OpenTaiko.Skin.Config_ItemBox_ItemValue_Font_Offset[0], y + OpenTaiko.Skin.Config_ItemBox_ItemValue_Font_Offset[1]); - } - //----------------- + } + //----------------- #endregion - + nItem = this.t次の項目(nItem); - } - //----------------- + } + //----------------- #endregion - + #region [ 項目リストにフォーカスがあって、かつスクロールが停止しているなら、パネルの上下に▲印を描画する。] - //----------------- + //----------------- if (this.b項目リスト側にフォーカスがある && (this.n目標のスクロールカウンタ == 0)) { int x_upper; int x_lower; int y_upper; - int y_lower; - - // 位置決定。 - + int y_lower; + + // 位置決定。 + if (this.b要素値にフォーカス中) { - x_upper = OpenTaiko.Skin.Config_Arrow_Focus_X[0]; // 要素値の上下あたり。 - x_lower = OpenTaiko.Skin.Config_Arrow_Focus_X[1]; // 要素値の上下あたり。 + x_upper = OpenTaiko.Skin.Config_Arrow_Focus_X[0]; // 要素値の上下あたり。 + x_lower = OpenTaiko.Skin.Config_Arrow_Focus_X[1]; // 要素値の上下あたり。 y_upper = OpenTaiko.Skin.Config_Arrow_Focus_Y[0] - this.ct三角矢印アニメ.CurrentValue; y_lower = OpenTaiko.Skin.Config_Arrow_Focus_Y[1] + this.ct三角矢印アニメ.CurrentValue; } else { - x_upper = OpenTaiko.Skin.Config_Arrow_X[0]; // 要素値の上下あたり。 - x_lower = OpenTaiko.Skin.Config_Arrow_X[1]; // 要素値の上下あたり。 + x_upper = OpenTaiko.Skin.Config_Arrow_X[0]; // 要素値の上下あたり。 + x_lower = OpenTaiko.Skin.Config_Arrow_X[1]; // 要素値の上下あたり。 y_upper = OpenTaiko.Skin.Config_Arrow_Y[0] - this.ct三角矢印アニメ.CurrentValue; y_lower = OpenTaiko.Skin.Config_Arrow_Y[1] + this.ct三角矢印アニメ.CurrentValue; - } - - // 描画。 - + } + + // 描画。 + if (OpenTaiko.Tx.Config_Arrow != null) { OpenTaiko.Tx.Config_Arrow.t2D描画(x_upper, y_upper, new Rectangle(0, 0, OpenTaiko.Tx.Config_Arrow.sz画像サイズ.Width, OpenTaiko.Tx.Config_Arrow.sz画像サイズ.Height / 2)); OpenTaiko.Tx.Config_Arrow.t2D描画(x_lower, y_lower, new Rectangle(0, OpenTaiko.Tx.Config_Arrow.sz画像サイズ.Height / 2, OpenTaiko.Tx.Config_Arrow.sz画像サイズ.Width, OpenTaiko.Tx.Config_Arrow.sz画像サイズ.Height / 2)); } - } - //----------------- + } + //----------------- #endregion return 0; - } - - - // その他 - + } + + + // その他 + #region [ private ] - //----------------- + //----------------- private enum Eメニュー種別 { System, Drums, - KeyAssignSystem, // #24609 2011.4.12 yyagi: 画面キャプチャキーのアサイン + KeyAssignSystem, // #24609 2011.4.12 yyagi: 画面キャプチャキーのアサイン KeyAssignDrums, KeyAssignTraining, Unknown @@ -1359,15 +1362,15 @@ namespace OpenTaiko { private bool b項目リスト側にフォーカスがある; private bool b要素値にフォーカス中; private CCounter ct三角矢印アニメ; - private Eメニュー種別 eメニュー種別; + private Eメニュー種別 eメニュー種別; #region [ Key Config ] - - private CItemBase iKeyAssignSystemReturnToMenu; // #24609 + + private CItemBase iKeyAssignSystemReturnToMenu; // #24609 private CItemBase iKeyAssignDrumsReturnToMenu; - private CItemBase iKeyAssignTrainingReturnToMenu; - + private CItemBase iKeyAssignTrainingReturnToMenu; + #region [System] - private CItemBase iKeyAssignSystemCapture; // #24609 + private CItemBase iKeyAssignSystemCapture; // #24609 private CItemBase iKeyAssignSystemSongVolIncrease; private CItemBase iKeyAssignSystemSongVolDecrease; private CItemBase iKeyAssignSystemDisplayHit; @@ -1378,9 +1381,9 @@ namespace OpenTaiko { private CItemBase iKeyAssignSystemToggleAutoP1; private CItemBase iKeyAssignSystemToggleAutoP2; private CItemBase iKeyAssignSystemToggleTrainingMode; - private CItemBase iKeyAssignSystemCycleVideoDisplayMode; + private CItemBase iKeyAssignSystemCycleVideoDisplayMode; #endregion - + #region [Drum] private CItemBase iKeyAssignTaikoLRed; private CItemBase iKeyAssignTaikoRRed; @@ -1416,9 +1419,9 @@ namespace OpenTaiko { private CItemBase iKeyAssignDecide; private CItemBase iKeyAssignCancel; private CItemBase iKeyAssignLeftChange; - private CItemBase iKeyAssignRightChange; + private CItemBase iKeyAssignRightChange; #endregion - + #region [Training] private CItemBase iKeyAssignTrainingIncreaseScrollSpeed; private CItemBase iKeyAssignTrainingDecreaseScrollSpeed; @@ -1435,9 +1438,9 @@ namespace OpenTaiko { private CItemBase iKeyAssignTrainingIncreaseSongSpeed; private CItemBase iKeyAssignTrainingDecreaseSongSpeed; private CItemBase iKeyAssignTrainingJumpToFirstMeasure; - private CItemBase iKeyAssignTrainingJumpToLastMeasure; + private CItemBase iKeyAssignTrainingJumpToLastMeasure; #endregion - + #endregion private CItemToggle iLogOutputLog; private CItemToggle iSystemApplyLoudnessMetadata; @@ -1454,7 +1457,7 @@ namespace OpenTaiko { private CItemInteger iSystemBGAlpha; private CItemToggle iSystemBGMSound; private CItemToggle iSystemDebugInfo; - private CItemList iSystemGraphicsType; // #24820 2013.1.3 yyagi + private CItemList iSystemGraphicsType; // #24820 2013.1.3 yyagi private CItemToggle iSystemFullscreen; private CItemInteger iSystemMinComboDrums; private CItemInteger iSystemPreviewImageWait; @@ -1462,28 +1465,28 @@ namespace OpenTaiko { private CItemToggle iSystemRandomFromSubBox; private CItemBase iSystemReturnToMenu; private CItemToggle iSystemVSyncWait; - private CItemToggle iSystemAutoResultCapture; // #25399 2011.6.9 yyagi + private CItemToggle iSystemAutoResultCapture; // #25399 2011.6.9 yyagi private CItemToggle SendDiscordPlayingInformation; private CItemToggle iSystemBufferedInput; - private CItemInteger iSystemRisky; // #23559 2011.7.27 yyagi - private CItemList iSystemSoundType; // #24820 2013.1.3 yyagi - + private CItemInteger iSystemRisky; // #23559 2011.7.27 yyagi + private CItemList iSystemSoundType; // #24820 2013.1.3 yyagi + private CItemList iSystemLanguage; private CItemToggle iDanTowerHide; - private CItemInteger iSystemBassBufferSizeMs; // #24820 2013.1.15 yyagi - private CItemInteger iSystemWASAPIBufferSizeMs; // #24820 2013.1.15 yyagi - private CItemList iSystemASIODevice; // #24820 2013.1.17 yyagi - + private CItemInteger iSystemBassBufferSizeMs; // #24820 2013.1.15 yyagi + private CItemInteger iSystemWASAPIBufferSizeMs; // #24820 2013.1.15 yyagi + private CItemList iSystemASIODevice; // #24820 2013.1.17 yyagi + private int iSystemSoundType_initial; private int iSystemBassBufferSizeMs_initial; private int iSystemWASAPIBufferSizeMs_initial; private int iSystemASIODevice_initial; - private CItemToggle iSystemSoundTimerType; // #33689 2014.6.17 yyagi - private int iSystemSoundTimerType_initial; // #33689 2014.6.17 yyagi - - private CItemToggle iSystemTimeStretch; // #23664 2013.2.24 yyagi - + private CItemToggle iSystemSoundTimerType; // #33689 2014.6.17 yyagi + private int iSystemSoundTimerType_initial; // #33689 2014.6.17 yyagi + + private CItemToggle iSystemTimeStretch; // #23664 2013.2.24 yyagi + private List list項目リスト; private long nスクロール用タイマ値; private int n現在のスクロールカウンタ; @@ -1498,7 +1501,7 @@ namespace OpenTaiko { } private stMenuItemRight[] listMenu; - private CTexture txSkinSample1; // #28195 2012.5.2 yyagi + private CTexture txSkinSample1; // #28195 2012.5.2 yyagi private string[] skinSubFolders; private string[] skinNames; private string skinSubFolder_org; @@ -1519,12 +1522,13 @@ namespace OpenTaiko { private CItemToggle iTaikoAutoPlay; private CItemToggle iTaikoAutoPlay2P; private CItemToggle iTaikoAutoRoll; + private CItemToggle iTaikoIgnoreSongUnlockables; private CItemInteger iRollsPerSec; private CItemInteger iAILevel; private CItemToggle iTaikoBranchGuide; - private CItemList iTaikoDefaultCourse; //2017.01.30 DD デフォルトでカーソルをあわせる難易度 + private CItemList iTaikoDefaultCourse; //2017.01.30 DD デフォルトでカーソルをあわせる難易度 private CItemList iTaikoScoreMode; private CItemList iTaikoBranchAnime; private CItemToggle iTaikoNoInfo; @@ -1554,8 +1558,8 @@ namespace OpenTaiko { private CItemInteger iInputAdjustTimeMs; public CItemInteger iGlobalOffsetMs; - private CItemList iSystemSkinSubfolder; // #28195 2012.5.2 yyagi - private CItemBase iSystemReloadDTX; // #32081 2013.10.21 yyagi + private CItemList iSystemSkinSubfolder; // #28195 2012.5.2 yyagi + private CItemBase iSystemReloadDTX; // #32081 2013.10.21 yyagi private CItemBase iSystemHardReloadDTX; private CItemBase isSystemImportingScore; @@ -1618,24 +1622,24 @@ namespace OpenTaiko { OpenTaiko.ConfigIni.MusicPreTimeMs = this.MusicPreTimeMs.n現在の値; OpenTaiko.ConfigIni.bOutputLogs = this.iLogOutputLog.bON; - OpenTaiko.ConfigIni.bIsAutoResultCapture = this.iSystemAutoResultCapture.bON; // #25399 2011.6.9 yyagi + OpenTaiko.ConfigIni.bIsAutoResultCapture = this.iSystemAutoResultCapture.bON; // #25399 2011.6.9 yyagi OpenTaiko.ConfigIni.SendDiscordPlayingInformation = this.SendDiscordPlayingInformation.bON; - OpenTaiko.ConfigIni.nRisky = this.iSystemRisky.n現在の値; // #23559 2011.7.27 yyagi - - OpenTaiko.ConfigIni.strSystemSkinSubfolderFullName = skinSubFolders[nSkinIndex]; // #28195 2012.5.2 yyagi + OpenTaiko.ConfigIni.nRisky = this.iSystemRisky.n現在の値; // #23559 2011.7.27 yyagi + + OpenTaiko.ConfigIni.strSystemSkinSubfolderFullName = skinSubFolders[nSkinIndex]; // #28195 2012.5.2 yyagi OpenTaiko.Skin.SetCurrentSkinSubfolderFullName(OpenTaiko.ConfigIni.strSystemSkinSubfolderFullName, true); - OpenTaiko.ConfigIni.nSoundDeviceType = this.iSystemSoundType.n現在選択されている項目番号; // #24820 2013.1.3 yyagi - OpenTaiko.ConfigIni.nBassBufferSizeMs = this.iSystemBassBufferSizeMs.n現在の値; // #24820 2013.1.15 yyagi - OpenTaiko.ConfigIni.nWASAPIBufferSizeMs = this.iSystemWASAPIBufferSizeMs.n現在の値; // #24820 2013.1.15 yyagi - // CDTXMania.ConfigIni.nASIOBufferSizeMs = this.iSystemASIOBufferSizeMs.n現在の値; // #24820 2013.1.3 yyagi - OpenTaiko.ConfigIni.nASIODevice = this.iSystemASIODevice.n現在選択されている項目番号; // #24820 2013.1.17 yyagi - OpenTaiko.ConfigIni.bUseOSTimer = this.iSystemSoundTimerType.bON; // #33689 2014.6.17 yyagi - - OpenTaiko.ConfigIni.bTimeStretch = this.iSystemTimeStretch.bON; // #23664 2013.2.24 yyagi - - + OpenTaiko.ConfigIni.nSoundDeviceType = this.iSystemSoundType.n現在選択されている項目番号; // #24820 2013.1.3 yyagi + OpenTaiko.ConfigIni.nBassBufferSizeMs = this.iSystemBassBufferSizeMs.n現在の値; // #24820 2013.1.15 yyagi + OpenTaiko.ConfigIni.nWASAPIBufferSizeMs = this.iSystemWASAPIBufferSizeMs.n現在の値; // #24820 2013.1.15 yyagi + // CDTXMania.ConfigIni.nASIOBufferSizeMs = this.iSystemASIOBufferSizeMs.n現在の値; // #24820 2013.1.3 yyagi + OpenTaiko.ConfigIni.nASIODevice = this.iSystemASIODevice.n現在選択されている項目番号; // #24820 2013.1.17 yyagi + OpenTaiko.ConfigIni.bUseOSTimer = this.iSystemSoundTimerType.bON; // #33689 2014.6.17 yyagi + + OpenTaiko.ConfigIni.bTimeStretch = this.iSystemTimeStretch.bON; // #23664 2013.2.24 yyagi + + OpenTaiko.ConfigIni.sLang = CLangManager.intToLang(this.iSystemLanguage.n現在選択されている項目番号); CLangManager.langAttach(OpenTaiko.ConfigIni.sLang); OpenTaiko.ConfigIni.ShowChara = this.ShowChara.bON; @@ -1660,9 +1664,10 @@ namespace OpenTaiko { OpenTaiko.ConfigIni.bTight = this.iDrumsTight.bON; OpenTaiko.ConfigIni.nGlobalOffsetMs = this.iGlobalOffsetMs.n現在の値; + OpenTaiko.ConfigIni.bIgnoreSongUnlockables = this.iTaikoIgnoreSongUnlockables.bON; OpenTaiko.ConfigIni.nMinDisplayedCombo.Drums = this.iSystemMinComboDrums.n現在の値; - OpenTaiko.ConfigIni.nRisky = this.iSystemRisky.n現在の値; // #23559 2911.7.27 yyagi + OpenTaiko.ConfigIni.nRisky = this.iSystemRisky.n現在の値; // #23559 2911.7.27 yyagi OpenTaiko.ConfigIni.bBranchGuide = this.iTaikoBranchGuide.bON; OpenTaiko.ConfigIni.nDefaultCourse = this.iTaikoDefaultCourse.n現在選択されている項目番号; OpenTaiko.ConfigIni.nScoreMode = this.iTaikoScoreMode.n現在選択されている項目番号; @@ -1678,8 +1683,8 @@ namespace OpenTaiko { OpenTaiko.ConfigIni.TokkunSkipMeasures = this.TokkunSkipCount.n現在の値; OpenTaiko.ConfigIni.TokkunMashInterval = this.TokkunMashInterval.n現在の値; - } - //----------------- + } + //----------------- #endregion } }