diff --git a/public/locales/zh_TW/ability-trigger.json b/public/locales/zh-TW/ability-trigger.json similarity index 100% rename from public/locales/zh_TW/ability-trigger.json rename to public/locales/zh-TW/ability-trigger.json diff --git a/public/locales/zh_TW/ability.json b/public/locales/zh-TW/ability.json similarity index 100% rename from public/locales/zh_TW/ability.json rename to public/locales/zh-TW/ability.json diff --git a/public/locales/zh_TW/achv.json b/public/locales/zh-TW/achv.json similarity index 100% rename from public/locales/zh_TW/achv.json rename to public/locales/zh-TW/achv.json diff --git a/public/locales/zh_TW/arena-flyout.json b/public/locales/zh-TW/arena-flyout.json similarity index 100% rename from public/locales/zh_TW/arena-flyout.json rename to public/locales/zh-TW/arena-flyout.json diff --git a/public/locales/zh_TW/arena-tag.json b/public/locales/zh-TW/arena-tag.json similarity index 100% rename from public/locales/zh_TW/arena-tag.json rename to public/locales/zh-TW/arena-tag.json diff --git a/public/locales/zh_TW/battle-info.json b/public/locales/zh-TW/battle-info.json similarity index 100% rename from public/locales/zh_TW/battle-info.json rename to public/locales/zh-TW/battle-info.json diff --git a/public/locales/zh_TW/battle-message-ui-handler.json b/public/locales/zh-TW/battle-message-ui-handler.json similarity index 100% rename from public/locales/zh_TW/battle-message-ui-handler.json rename to public/locales/zh-TW/battle-message-ui-handler.json diff --git a/public/locales/zh_TW/battle-scene.json b/public/locales/zh-TW/battle-scene.json similarity index 100% rename from public/locales/zh_TW/battle-scene.json rename to public/locales/zh-TW/battle-scene.json diff --git a/public/locales/zh_TW/battle.json b/public/locales/zh-TW/battle.json similarity index 100% rename from public/locales/zh_TW/battle.json rename to public/locales/zh-TW/battle.json diff --git a/public/locales/zh_TW/battler-tags.json b/public/locales/zh-TW/battler-tags.json similarity index 100% rename from public/locales/zh_TW/battler-tags.json rename to public/locales/zh-TW/battler-tags.json diff --git a/public/locales/zh_TW/berry.json b/public/locales/zh-TW/berry.json similarity index 100% rename from public/locales/zh_TW/berry.json rename to public/locales/zh-TW/berry.json diff --git a/public/locales/zh_TW/bgm-name.json b/public/locales/zh-TW/bgm-name.json similarity index 100% rename from public/locales/zh_TW/bgm-name.json rename to public/locales/zh-TW/bgm-name.json diff --git a/public/locales/zh_TW/biome.json b/public/locales/zh-TW/biome.json similarity index 100% rename from public/locales/zh_TW/biome.json rename to public/locales/zh-TW/biome.json diff --git a/public/locales/zh_TW/challenges.json b/public/locales/zh-TW/challenges.json similarity index 100% rename from public/locales/zh_TW/challenges.json rename to public/locales/zh-TW/challenges.json diff --git a/public/locales/zh_TW/command-ui-handler.json b/public/locales/zh-TW/command-ui-handler.json similarity index 100% rename from public/locales/zh_TW/command-ui-handler.json rename to public/locales/zh-TW/command-ui-handler.json diff --git a/public/locales/zh_TW/common.json b/public/locales/zh-TW/common.json similarity index 100% rename from public/locales/zh_TW/common.json rename to public/locales/zh-TW/common.json diff --git a/public/locales/zh_TW/dialogue-double-battle.json b/public/locales/zh-TW/dialogue-double-battle.json similarity index 100% rename from public/locales/zh_TW/dialogue-double-battle.json rename to public/locales/zh-TW/dialogue-double-battle.json diff --git a/public/locales/zh_TW/dialogue-final-boss.json b/public/locales/zh-TW/dialogue-final-boss.json similarity index 100% rename from public/locales/zh_TW/dialogue-final-boss.json rename to public/locales/zh-TW/dialogue-final-boss.json diff --git a/public/locales/zh_TW/dialogue-misc.json b/public/locales/zh-TW/dialogue-misc.json similarity index 100% rename from public/locales/zh_TW/dialogue-misc.json rename to public/locales/zh-TW/dialogue-misc.json diff --git a/public/locales/zh_TW/dialogue.json b/public/locales/zh-TW/dialogue.json similarity index 100% rename from public/locales/zh_TW/dialogue.json rename to public/locales/zh-TW/dialogue.json diff --git a/public/locales/zh_TW/egg.json b/public/locales/zh-TW/egg.json similarity index 100% rename from public/locales/zh_TW/egg.json rename to public/locales/zh-TW/egg.json diff --git a/public/locales/zh_TW/fight-ui-handler.json b/public/locales/zh-TW/fight-ui-handler.json similarity index 100% rename from public/locales/zh_TW/fight-ui-handler.json rename to public/locales/zh-TW/fight-ui-handler.json diff --git a/public/locales/zh_TW/filter-bar.json b/public/locales/zh-TW/filter-bar.json similarity index 100% rename from public/locales/zh_TW/filter-bar.json rename to public/locales/zh-TW/filter-bar.json diff --git a/public/locales/zh_TW/game-mode.json b/public/locales/zh-TW/game-mode.json similarity index 100% rename from public/locales/zh_TW/game-mode.json rename to public/locales/zh-TW/game-mode.json diff --git a/public/locales/zh_TW/game-stats-ui-handler.json b/public/locales/zh-TW/game-stats-ui-handler.json similarity index 100% rename from public/locales/zh_TW/game-stats-ui-handler.json rename to public/locales/zh-TW/game-stats-ui-handler.json diff --git a/public/locales/zh_TW/growth.json b/public/locales/zh-TW/growth.json similarity index 100% rename from public/locales/zh_TW/growth.json rename to public/locales/zh-TW/growth.json diff --git a/public/locales/zh_TW/menu-ui-handler.json b/public/locales/zh-TW/menu-ui-handler.json similarity index 100% rename from public/locales/zh_TW/menu-ui-handler.json rename to public/locales/zh-TW/menu-ui-handler.json diff --git a/public/locales/zh_TW/menu.json b/public/locales/zh-TW/menu.json similarity index 100% rename from public/locales/zh_TW/menu.json rename to public/locales/zh-TW/menu.json diff --git a/public/locales/zh_TW/modifier-select-ui-handler.json b/public/locales/zh-TW/modifier-select-ui-handler.json similarity index 100% rename from public/locales/zh_TW/modifier-select-ui-handler.json rename to public/locales/zh-TW/modifier-select-ui-handler.json diff --git a/public/locales/zh_TW/modifier-type.json b/public/locales/zh-TW/modifier-type.json similarity index 100% rename from public/locales/zh_TW/modifier-type.json rename to public/locales/zh-TW/modifier-type.json diff --git a/public/locales/zh_TW/modifier.json b/public/locales/zh-TW/modifier.json similarity index 100% rename from public/locales/zh_TW/modifier.json rename to public/locales/zh-TW/modifier.json diff --git a/public/locales/zh_TW/move-trigger.json b/public/locales/zh-TW/move-trigger.json similarity index 100% rename from public/locales/zh_TW/move-trigger.json rename to public/locales/zh-TW/move-trigger.json diff --git a/public/locales/zh_TW/move.json b/public/locales/zh-TW/move.json similarity index 100% rename from public/locales/zh_TW/move.json rename to public/locales/zh-TW/move.json diff --git a/public/locales/zh_TW/mystery-encounter-messages.json b/public/locales/zh-TW/mystery-encounter-messages.json similarity index 100% rename from public/locales/zh_TW/mystery-encounter-messages.json rename to public/locales/zh-TW/mystery-encounter-messages.json diff --git a/public/locales/zh_TW/mystery-encounters/a-trainers-test-dialogue.json b/public/locales/zh-TW/mystery-encounters/a-trainers-test-dialogue.json similarity index 100% rename from public/locales/zh_TW/mystery-encounters/a-trainers-test-dialogue.json rename to public/locales/zh-TW/mystery-encounters/a-trainers-test-dialogue.json diff --git a/public/locales/zh_TW/mystery-encounters/absolute-avarice-dialogue.json b/public/locales/zh-TW/mystery-encounters/absolute-avarice-dialogue.json similarity index 100% rename from public/locales/zh_TW/mystery-encounters/absolute-avarice-dialogue.json rename to public/locales/zh-TW/mystery-encounters/absolute-avarice-dialogue.json diff --git a/public/locales/zh_TW/mystery-encounters/an-offer-you-cant-refuse-dialogue.json b/public/locales/zh-TW/mystery-encounters/an-offer-you-cant-refuse-dialogue.json similarity index 100% rename from public/locales/zh_TW/mystery-encounters/an-offer-you-cant-refuse-dialogue.json rename to public/locales/zh-TW/mystery-encounters/an-offer-you-cant-refuse-dialogue.json diff --git a/public/locales/zh_TW/mystery-encounters/berries-abound-dialogue.json b/public/locales/zh-TW/mystery-encounters/berries-abound-dialogue.json similarity index 100% rename from public/locales/zh_TW/mystery-encounters/berries-abound-dialogue.json rename to public/locales/zh-TW/mystery-encounters/berries-abound-dialogue.json diff --git a/public/locales/zh_TW/mystery-encounters/bug-type-superfan-dialogue.json b/public/locales/zh-TW/mystery-encounters/bug-type-superfan-dialogue.json similarity index 100% rename from public/locales/zh_TW/mystery-encounters/bug-type-superfan-dialogue.json rename to public/locales/zh-TW/mystery-encounters/bug-type-superfan-dialogue.json diff --git a/public/locales/zh_TW/mystery-encounters/clowning-around-dialogue.json b/public/locales/zh-TW/mystery-encounters/clowning-around-dialogue.json similarity index 100% rename from public/locales/zh_TW/mystery-encounters/clowning-around-dialogue.json rename to public/locales/zh-TW/mystery-encounters/clowning-around-dialogue.json diff --git a/public/locales/zh_TW/mystery-encounters/dancing-lessons-dialogue.json b/public/locales/zh-TW/mystery-encounters/dancing-lessons-dialogue.json similarity index 100% rename from public/locales/zh_TW/mystery-encounters/dancing-lessons-dialogue.json rename to public/locales/zh-TW/mystery-encounters/dancing-lessons-dialogue.json diff --git a/public/locales/zh_TW/mystery-encounters/dark-deal-dialogue.json b/public/locales/zh-TW/mystery-encounters/dark-deal-dialogue.json similarity index 100% rename from public/locales/zh_TW/mystery-encounters/dark-deal-dialogue.json rename to public/locales/zh-TW/mystery-encounters/dark-deal-dialogue.json diff --git a/public/locales/zh_TW/mystery-encounters/delibirdy-dialogue.json b/public/locales/zh-TW/mystery-encounters/delibirdy-dialogue.json similarity index 100% rename from public/locales/zh_TW/mystery-encounters/delibirdy-dialogue.json rename to public/locales/zh-TW/mystery-encounters/delibirdy-dialogue.json diff --git a/public/locales/zh_TW/mystery-encounters/department-store-sale-dialogue.json b/public/locales/zh-TW/mystery-encounters/department-store-sale-dialogue.json similarity index 100% rename from public/locales/zh_TW/mystery-encounters/department-store-sale-dialogue.json rename to public/locales/zh-TW/mystery-encounters/department-store-sale-dialogue.json diff --git a/public/locales/zh_TW/mystery-encounters/field-trip-dialogue.json b/public/locales/zh-TW/mystery-encounters/field-trip-dialogue.json similarity index 100% rename from public/locales/zh_TW/mystery-encounters/field-trip-dialogue.json rename to public/locales/zh-TW/mystery-encounters/field-trip-dialogue.json diff --git a/public/locales/zh_TW/mystery-encounters/fiery-fallout-dialogue.json b/public/locales/zh-TW/mystery-encounters/fiery-fallout-dialogue.json similarity index 100% rename from public/locales/zh_TW/mystery-encounters/fiery-fallout-dialogue.json rename to public/locales/zh-TW/mystery-encounters/fiery-fallout-dialogue.json diff --git a/public/locales/zh_TW/mystery-encounters/fight-or-flight-dialogue.json b/public/locales/zh-TW/mystery-encounters/fight-or-flight-dialogue.json similarity index 100% rename from public/locales/zh_TW/mystery-encounters/fight-or-flight-dialogue.json rename to public/locales/zh-TW/mystery-encounters/fight-or-flight-dialogue.json diff --git a/public/locales/zh_TW/mystery-encounters/fun-and-games-dialogue.json b/public/locales/zh-TW/mystery-encounters/fun-and-games-dialogue.json similarity index 100% rename from public/locales/zh_TW/mystery-encounters/fun-and-games-dialogue.json rename to public/locales/zh-TW/mystery-encounters/fun-and-games-dialogue.json diff --git a/public/locales/zh_TW/mystery-encounters/global-trade-system-dialogue.json b/public/locales/zh-TW/mystery-encounters/global-trade-system-dialogue.json similarity index 100% rename from public/locales/zh_TW/mystery-encounters/global-trade-system-dialogue.json rename to public/locales/zh-TW/mystery-encounters/global-trade-system-dialogue.json diff --git a/public/locales/zh_TW/mystery-encounters/lost-at-sea-dialogue.json b/public/locales/zh-TW/mystery-encounters/lost-at-sea-dialogue.json similarity index 100% rename from public/locales/zh_TW/mystery-encounters/lost-at-sea-dialogue.json rename to public/locales/zh-TW/mystery-encounters/lost-at-sea-dialogue.json diff --git a/public/locales/zh_TW/mystery-encounters/mysterious-challengers-dialogue.json b/public/locales/zh-TW/mystery-encounters/mysterious-challengers-dialogue.json similarity index 100% rename from public/locales/zh_TW/mystery-encounters/mysterious-challengers-dialogue.json rename to public/locales/zh-TW/mystery-encounters/mysterious-challengers-dialogue.json diff --git a/public/locales/zh_TW/mystery-encounters/mysterious-chest-dialogue.json b/public/locales/zh-TW/mystery-encounters/mysterious-chest-dialogue.json similarity index 100% rename from public/locales/zh_TW/mystery-encounters/mysterious-chest-dialogue.json rename to public/locales/zh-TW/mystery-encounters/mysterious-chest-dialogue.json diff --git a/public/locales/zh_TW/mystery-encounters/part-timer-dialogue.json b/public/locales/zh-TW/mystery-encounters/part-timer-dialogue.json similarity index 100% rename from public/locales/zh_TW/mystery-encounters/part-timer-dialogue.json rename to public/locales/zh-TW/mystery-encounters/part-timer-dialogue.json diff --git a/public/locales/zh_TW/mystery-encounters/safari-zone-dialogue.json b/public/locales/zh-TW/mystery-encounters/safari-zone-dialogue.json similarity index 100% rename from public/locales/zh_TW/mystery-encounters/safari-zone-dialogue.json rename to public/locales/zh-TW/mystery-encounters/safari-zone-dialogue.json diff --git a/public/locales/zh_TW/mystery-encounters/shady-vitamin-dealer-dialogue.json b/public/locales/zh-TW/mystery-encounters/shady-vitamin-dealer-dialogue.json similarity index 100% rename from public/locales/zh_TW/mystery-encounters/shady-vitamin-dealer-dialogue.json rename to public/locales/zh-TW/mystery-encounters/shady-vitamin-dealer-dialogue.json diff --git a/public/locales/zh_TW/mystery-encounters/slumbering-snorlax-dialogue.json b/public/locales/zh-TW/mystery-encounters/slumbering-snorlax-dialogue.json similarity index 100% rename from public/locales/zh_TW/mystery-encounters/slumbering-snorlax-dialogue.json rename to public/locales/zh-TW/mystery-encounters/slumbering-snorlax-dialogue.json diff --git a/public/locales/zh_TW/mystery-encounters/teleporting-hijinks-dialogue.json b/public/locales/zh-TW/mystery-encounters/teleporting-hijinks-dialogue.json similarity index 100% rename from public/locales/zh_TW/mystery-encounters/teleporting-hijinks-dialogue.json rename to public/locales/zh-TW/mystery-encounters/teleporting-hijinks-dialogue.json diff --git a/public/locales/zh_TW/mystery-encounters/the-expert-pokemon-breeder-dialogue.json b/public/locales/zh-TW/mystery-encounters/the-expert-pokemon-breeder-dialogue.json similarity index 100% rename from public/locales/zh_TW/mystery-encounters/the-expert-pokemon-breeder-dialogue.json rename to public/locales/zh-TW/mystery-encounters/the-expert-pokemon-breeder-dialogue.json diff --git a/public/locales/zh_TW/mystery-encounters/the-pokemon-salesman-dialogue.json b/public/locales/zh-TW/mystery-encounters/the-pokemon-salesman-dialogue.json similarity index 100% rename from public/locales/zh_TW/mystery-encounters/the-pokemon-salesman-dialogue.json rename to public/locales/zh-TW/mystery-encounters/the-pokemon-salesman-dialogue.json diff --git a/public/locales/zh_TW/mystery-encounters/the-strong-stuff-dialogue.json b/public/locales/zh-TW/mystery-encounters/the-strong-stuff-dialogue.json similarity index 100% rename from public/locales/zh_TW/mystery-encounters/the-strong-stuff-dialogue.json rename to public/locales/zh-TW/mystery-encounters/the-strong-stuff-dialogue.json diff --git a/public/locales/zh_TW/mystery-encounters/the-winstrate-challenge-dialogue.json b/public/locales/zh-TW/mystery-encounters/the-winstrate-challenge-dialogue.json similarity index 100% rename from public/locales/zh_TW/mystery-encounters/the-winstrate-challenge-dialogue.json rename to public/locales/zh-TW/mystery-encounters/the-winstrate-challenge-dialogue.json diff --git a/public/locales/zh_TW/mystery-encounters/training-session-dialogue.json b/public/locales/zh-TW/mystery-encounters/training-session-dialogue.json similarity index 100% rename from public/locales/zh_TW/mystery-encounters/training-session-dialogue.json rename to public/locales/zh-TW/mystery-encounters/training-session-dialogue.json diff --git a/public/locales/zh_TW/mystery-encounters/trash-to-treasure-dialogue.json b/public/locales/zh-TW/mystery-encounters/trash-to-treasure-dialogue.json similarity index 100% rename from public/locales/zh_TW/mystery-encounters/trash-to-treasure-dialogue.json rename to public/locales/zh-TW/mystery-encounters/trash-to-treasure-dialogue.json diff --git a/public/locales/zh_TW/mystery-encounters/uncommon-breed-dialogue.json b/public/locales/zh-TW/mystery-encounters/uncommon-breed-dialogue.json similarity index 100% rename from public/locales/zh_TW/mystery-encounters/uncommon-breed-dialogue.json rename to public/locales/zh-TW/mystery-encounters/uncommon-breed-dialogue.json diff --git a/public/locales/zh_TW/mystery-encounters/weird-dream-dialogue.json b/public/locales/zh-TW/mystery-encounters/weird-dream-dialogue.json similarity index 100% rename from public/locales/zh_TW/mystery-encounters/weird-dream-dialogue.json rename to public/locales/zh-TW/mystery-encounters/weird-dream-dialogue.json diff --git a/public/locales/zh_TW/nature.json b/public/locales/zh-TW/nature.json similarity index 100% rename from public/locales/zh_TW/nature.json rename to public/locales/zh-TW/nature.json diff --git a/public/locales/zh_TW/party-ui-handler.json b/public/locales/zh-TW/party-ui-handler.json similarity index 100% rename from public/locales/zh_TW/party-ui-handler.json rename to public/locales/zh-TW/party-ui-handler.json diff --git a/public/locales/zh_TW/pokeball.json b/public/locales/zh-TW/pokeball.json similarity index 100% rename from public/locales/zh_TW/pokeball.json rename to public/locales/zh-TW/pokeball.json diff --git a/public/locales/zh_TW/pokemon-form-battle.json b/public/locales/zh-TW/pokemon-form-battle.json similarity index 100% rename from public/locales/zh_TW/pokemon-form-battle.json rename to public/locales/zh-TW/pokemon-form-battle.json diff --git a/public/locales/zh_TW/pokemon-form.json b/public/locales/zh-TW/pokemon-form.json similarity index 100% rename from public/locales/zh_TW/pokemon-form.json rename to public/locales/zh-TW/pokemon-form.json diff --git a/public/locales/zh_TW/pokemon-info-container.json b/public/locales/zh-TW/pokemon-info-container.json similarity index 100% rename from public/locales/zh_TW/pokemon-info-container.json rename to public/locales/zh-TW/pokemon-info-container.json diff --git a/public/locales/zh_TW/pokemon-info.json b/public/locales/zh-TW/pokemon-info.json similarity index 100% rename from public/locales/zh_TW/pokemon-info.json rename to public/locales/zh-TW/pokemon-info.json diff --git a/public/locales/zh_TW/pokemon-summary.json b/public/locales/zh-TW/pokemon-summary.json similarity index 100% rename from public/locales/zh_TW/pokemon-summary.json rename to public/locales/zh-TW/pokemon-summary.json diff --git a/public/locales/zh_TW/pokemon.json b/public/locales/zh-TW/pokemon.json similarity index 100% rename from public/locales/zh_TW/pokemon.json rename to public/locales/zh-TW/pokemon.json diff --git a/public/locales/zh_TW/run-history.json b/public/locales/zh-TW/run-history.json similarity index 100% rename from public/locales/zh_TW/run-history.json rename to public/locales/zh-TW/run-history.json diff --git a/public/locales/zh_TW/save-slot-select-ui-handler.json b/public/locales/zh-TW/save-slot-select-ui-handler.json similarity index 100% rename from public/locales/zh_TW/save-slot-select-ui-handler.json rename to public/locales/zh-TW/save-slot-select-ui-handler.json diff --git a/public/locales/zh_TW/settings.json b/public/locales/zh-TW/settings.json similarity index 100% rename from public/locales/zh_TW/settings.json rename to public/locales/zh-TW/settings.json diff --git a/public/locales/zh_TW/splash-messages.json b/public/locales/zh-TW/splash-messages.json similarity index 100% rename from public/locales/zh_TW/splash-messages.json rename to public/locales/zh-TW/splash-messages.json diff --git a/public/locales/zh_TW/starter-select-ui-handler.json b/public/locales/zh-TW/starter-select-ui-handler.json similarity index 100% rename from public/locales/zh_TW/starter-select-ui-handler.json rename to public/locales/zh-TW/starter-select-ui-handler.json diff --git a/public/locales/zh_TW/status-effect.json b/public/locales/zh-TW/status-effect.json similarity index 100% rename from public/locales/zh_TW/status-effect.json rename to public/locales/zh-TW/status-effect.json diff --git a/public/locales/zh_TW/terrain.json b/public/locales/zh-TW/terrain.json similarity index 100% rename from public/locales/zh_TW/terrain.json rename to public/locales/zh-TW/terrain.json diff --git a/public/locales/zh_TW/trainer-classes.json b/public/locales/zh-TW/trainer-classes.json similarity index 100% rename from public/locales/zh_TW/trainer-classes.json rename to public/locales/zh-TW/trainer-classes.json diff --git a/public/locales/zh_TW/trainer-names.json b/public/locales/zh-TW/trainer-names.json similarity index 100% rename from public/locales/zh_TW/trainer-names.json rename to public/locales/zh-TW/trainer-names.json diff --git a/public/locales/zh_TW/trainer-titles.json b/public/locales/zh-TW/trainer-titles.json similarity index 100% rename from public/locales/zh_TW/trainer-titles.json rename to public/locales/zh-TW/trainer-titles.json diff --git a/public/locales/zh_TW/tutorial.json b/public/locales/zh-TW/tutorial.json similarity index 100% rename from public/locales/zh_TW/tutorial.json rename to public/locales/zh-TW/tutorial.json diff --git a/public/locales/zh_TW/voucher.json b/public/locales/zh-TW/voucher.json similarity index 100% rename from public/locales/zh_TW/voucher.json rename to public/locales/zh-TW/voucher.json diff --git a/public/locales/zh_TW/weather.json b/public/locales/zh-TW/weather.json similarity index 100% rename from public/locales/zh_TW/weather.json rename to public/locales/zh-TW/weather.json