diff --git a/docs/changelogs/1.28.2.md b/docs/changelogs/1.28.2.md new file mode 100644 index 000000000..02f20aff7 --- /dev/null +++ b/docs/changelogs/1.28.2.md @@ -0,0 +1,5 @@ +# BlitzKit 1.28.2 + +## Fixes + +- BlitzKit no longer tries to redirect translated pages to the same page, over and over again diff --git a/package.json b/package.json index 278dc4811..24f6aef7b 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "blitzkit", "private": true, - "version": "1.28.1", + "version": "1.28.2", "description": "🎉 Tools for everything World of Tanks Blitz", "type": "module", "types": "./types.d.ts", diff --git a/packages/i18n/strings/es.json b/packages/i18n/strings/es.json index b75b15082..b9a5acdab 100644 --- a/packages/i18n/strings/es.json +++ b/packages/i18n/strings/es.json @@ -5,6 +5,7 @@ "fox": "El rápido zorro marrón salta sobre el perro perezoso." }, "common": { + "name": "BlitzKit", "units": { "m": "%s1m", "mm": "%s1mm", @@ -671,6 +672,8 @@ "copied": "Copiado!" }, "tank_search": { + "select_dialog_title": "Search for tanks", + "swap_dialog_title": "Swap tank", "clear_filters": "Clear filters", "search_bar_hint": "Buscar tanques...", "recent": "Visto recientemente", @@ -739,6 +742,14 @@ } }, "home": { + "pwa": { + "title": "Install the BlitzKit App", + "new": "NEW", + "checking": "Checking compatibility...", + "instructions": "Instructions for Apple devices.", + "install": "Install", + "dismiss": "Dismiss" + }, "discord": { "join_short": "Join cool people!", "join_long": "Join super duper cool people!", @@ -768,7 +779,9 @@ "name": "Mixer", "button": "Mix and match", "description": "Mix tank modules", - "seo_description": "Mix and match hulls, turrets, and guns of tanks in World of Tanks Blitz" + "seo_description": "Mix and match hulls, turrets, and guns of tanks in World of Tanks Blitz", + "screenshot": "Screenshot", + "randomize": "Randomize" }, "guess": { "name": "Guess the tank", @@ -1314,17 +1327,11 @@ "description": "Get started with BlitzKit", "seo_description": "Get started with BlitzKit" }, - "blitz_analysis": { - "name": "BlitzAnalysis[]", - "button": "Analizar ahora", - "description": "Rich historic average stats", - "seo_description": "Rich historic average stats in World of Tanks Blitz" - }, - "blitz_insider": { - "name": "Blitz Insider", - "button": "Discover today", - "description": "In-game session stats", - "seo_description": "In-game session stats in World of Tanks Blitz" + "api": { + "name": "API", + "button": "To the docs", + "description": "BlitzKit hosted API", + "seo_description": "BlitzKit hosted static API for World of Tanks Blitz" } }, "footer": { diff --git a/packages/i18n/strings/fr.json b/packages/i18n/strings/fr.json index 905963a14..e92c317f0 100644 --- a/packages/i18n/strings/fr.json +++ b/packages/i18n/strings/fr.json @@ -5,6 +5,7 @@ "fox": "Le renard brun et rapide saute par-dessus le chien paresseux." }, "common": { + "name": "BlitzKit", "units": { "m": "%s1m", "mm": "%s1mm", @@ -671,6 +672,8 @@ "copied": "Copied!" }, "tank_search": { + "select_dialog_title": "Search for tanks", + "swap_dialog_title": "Swap tank", "clear_filters": "Clear filters", "search_bar_hint": "Search tanks...", "recent": "Recently viewed", @@ -739,6 +742,14 @@ } }, "home": { + "pwa": { + "title": "Install the BlitzKit App", + "new": "NEW", + "checking": "Checking compatibility...", + "instructions": "Instructions for Apple devices.", + "install": "Install", + "dismiss": "Dismiss" + }, "discord": { "join_short": "Join cool people!", "join_long": "Join super duper cool people!", @@ -768,7 +779,9 @@ "name": "Mixer", "button": "Mix and match", "description": "Mix tank modules", - "seo_description": "Mix and match hulls, turrets, and guns of tanks in World of Tanks Blitz" + "seo_description": "Mix and match hulls, turrets, and guns of tanks in World of Tanks Blitz", + "screenshot": "Screenshot", + "randomize": "Randomize" }, "guess": { "name": "Guess the tank", @@ -1314,17 +1327,11 @@ "description": "Get started with BlitzKit", "seo_description": "Get started with BlitzKit" }, - "blitz_analysis": { - "name": "BlitzAnalysis[]", - "button": "Analyze now", - "description": "Rich historic average stats", - "seo_description": "Rich historic average stats in World of Tanks Blitz" - }, - "blitz_insider": { - "name": "Blitz Insider", - "button": "Discover today", - "description": "In-game session stats", - "seo_description": "In-game session stats in World of Tanks Blitz" + "api": { + "name": "API", + "button": "To the docs", + "description": "BlitzKit hosted API", + "seo_description": "BlitzKit hosted static API for World of Tanks Blitz" } }, "footer": { diff --git a/packages/i18n/strings/ja.json b/packages/i18n/strings/ja.json index 7e4c3ace2..95c0ca5e4 100644 --- a/packages/i18n/strings/ja.json +++ b/packages/i18n/strings/ja.json @@ -5,6 +5,7 @@ "fox": "すばしっこい茶色のキツネが怠け者の犬を飛び越した。" }, "common": { + "name": "BlitzKit", "units": { "m": "%s1m", "mm": "%s1mm", @@ -671,6 +672,8 @@ "copied": "コピーしました!" }, "tank_search": { + "select_dialog_title": "Search for tanks", + "swap_dialog_title": "Swap tank", "clear_filters": "Clear filters", "search_bar_hint": "車輌名を入力…", "recent": "最近の閲覧", @@ -739,6 +742,14 @@ } }, "home": { + "pwa": { + "title": "Install the BlitzKit App", + "new": "NEW", + "checking": "Checking compatibility...", + "instructions": "Instructions for Apple devices.", + "install": "Install", + "dismiss": "Dismiss" + }, "discord": { "join_short": "Join cool people!", "join_long": "Join super duper cool people!", @@ -768,7 +779,9 @@ "name": "Mixer", "button": "Mix and match", "description": "Mix tank modules", - "seo_description": "Mix and match hulls, turrets, and guns of tanks in World of Tanks Blitz" + "seo_description": "Mix and match hulls, turrets, and guns of tanks in World of Tanks Blitz", + "screenshot": "Screenshot", + "randomize": "Randomize" }, "guess": { "name": "Guess the tank", @@ -1314,17 +1327,11 @@ "description": "さあ、BlitzKit を始めよう!", "seo_description": "さあ、BlitzKit を始めよう!" }, - "blitz_analysis": { - "name": "BlitzAnalysis[]", - "button": "Analyze now", - "description": "Rich historic average stats", - "seo_description": "Rich historic average stats in World of Tanks Blitz" - }, - "blitz_insider": { - "name": "Blitz Insider", - "button": "Discover today", - "description": "ゲーム内のセッション統計", - "seo_description": "In-game session stats in World of Tanks Blitz" + "api": { + "name": "API", + "button": "To the docs", + "description": "BlitzKit hosted API", + "seo_description": "BlitzKit hosted static API for World of Tanks Blitz" } }, "footer": { diff --git a/packages/i18n/strings/pl.json b/packages/i18n/strings/pl.json index 39e23d2a3..a64e73f2c 100644 --- a/packages/i18n/strings/pl.json +++ b/packages/i18n/strings/pl.json @@ -5,6 +5,7 @@ "fox": "Szybki brązowy lis przeskoczył nad leniwym psem." }, "common": { + "name": "BlitzKit", "units": { "m": "%s1m", "mm": "%s1mm", @@ -671,6 +672,8 @@ "copied": "Copied!" }, "tank_search": { + "select_dialog_title": "Search for tanks", + "swap_dialog_title": "Swap tank", "clear_filters": "Clear filters", "search_bar_hint": "Search tanks...", "recent": "Recently viewed", @@ -739,6 +742,14 @@ } }, "home": { + "pwa": { + "title": "Install the BlitzKit App", + "new": "NEW", + "checking": "Checking compatibility...", + "instructions": "Instructions for Apple devices.", + "install": "Install", + "dismiss": "Dismiss" + }, "discord": { "join_short": "Join cool people!", "join_long": "Join super duper cool people!", @@ -768,7 +779,9 @@ "name": "Mixer", "button": "Mix and match", "description": "Mix tank modules", - "seo_description": "Mix and match hulls, turrets, and guns of tanks in World of Tanks Blitz" + "seo_description": "Mix and match hulls, turrets, and guns of tanks in World of Tanks Blitz", + "screenshot": "Screenshot", + "randomize": "Randomize" }, "guess": { "name": "Guess the tank", @@ -1314,17 +1327,11 @@ "description": "Get started with BlitzKit", "seo_description": "Get started with BlitzKit" }, - "blitz_analysis": { - "name": "BlitzAnalysis[]", - "button": "Analyze now", - "description": "Rich historic average stats", - "seo_description": "Rich historic average stats in World of Tanks Blitz" - }, - "blitz_insider": { - "name": "Blitz Insider", - "button": "Discover today", - "description": "In-game session stats", - "seo_description": "In-game session stats in World of Tanks Blitz" + "api": { + "name": "API", + "button": "To the docs", + "description": "BlitzKit hosted API", + "seo_description": "BlitzKit hosted static API for World of Tanks Blitz" } }, "footer": { diff --git a/packages/i18n/strings/pt.json b/packages/i18n/strings/pt.json index 7f31445ea..b5a206927 100644 --- a/packages/i18n/strings/pt.json +++ b/packages/i18n/strings/pt.json @@ -5,6 +5,7 @@ "fox": "A ágil raposa castanha salta por cima do cão preguiçoso." }, "common": { + "name": "BlitzKit", "units": { "m": "%s1m", "mm": "%s1mm", @@ -671,6 +672,8 @@ "copied": "Copiado!" }, "tank_search": { + "select_dialog_title": "Search for tanks", + "swap_dialog_title": "Swap tank", "clear_filters": "Clear filters", "search_bar_hint": "Procurar tanques...", "recent": "Visto recentemente", @@ -739,6 +742,14 @@ } }, "home": { + "pwa": { + "title": "Install the BlitzKit App", + "new": "NEW", + "checking": "Checking compatibility...", + "instructions": "Instructions for Apple devices.", + "install": "Install", + "dismiss": "Dismiss" + }, "discord": { "join_short": "Join cool people!", "join_long": "Join super duper cool people!", @@ -768,7 +779,9 @@ "name": "Mixer", "button": "Mix and match", "description": "Mix tank modules", - "seo_description": "Mix and match hulls, turrets, and guns of tanks in World of Tanks Blitz" + "seo_description": "Mix and match hulls, turrets, and guns of tanks in World of Tanks Blitz", + "screenshot": "Screenshot", + "randomize": "Randomize" }, "guess": { "name": "Guess the tank", @@ -1314,17 +1327,11 @@ "description": "Comece com BlitzKit", "seo_description": "Comece com BlitzKit" }, - "blitz_analysis": { - "name": "AnaliseBlitz[]", - "button": "Analise agora", - "description": "Estatísticas médias históricas ricas", - "seo_description": "Estatísticas médias históricas ricas no World of Tanks Blitz" - }, - "blitz_insider": { - "name": "Assistente Blitz", - "button": "Descubra hoje", - "description": "Estatísticas da temporada dentro do jogo", - "seo_description": "Estatísticas da sessão no jogo World of Tanks Blitz" + "api": { + "name": "API", + "button": "To the docs", + "description": "BlitzKit hosted API", + "seo_description": "BlitzKit hosted static API for World of Tanks Blitz" } }, "footer": { diff --git a/packages/i18n/strings/ru.json b/packages/i18n/strings/ru.json index 522e583bc..54503a897 100644 --- a/packages/i18n/strings/ru.json +++ b/packages/i18n/strings/ru.json @@ -5,6 +5,7 @@ "fox": "Съешь же ещё этих мягких французских булок, да выпей чаю." }, "common": { + "name": "BlitzKit", "units": { "m": "%s1м", "mm": "%s1мм", @@ -671,6 +672,8 @@ "copied": "Скопировано!" }, "tank_search": { + "select_dialog_title": "Search for tanks", + "swap_dialog_title": "Swap tank", "clear_filters": "Сбросить фильтры", "search_bar_hint": "Поиск танков...", "recent": "Недавние", @@ -739,6 +742,14 @@ } }, "home": { + "pwa": { + "title": "Install the BlitzKit App", + "new": "NEW", + "checking": "Checking compatibility...", + "instructions": "Instructions for Apple devices.", + "install": "Install", + "dismiss": "Отклонить" + }, "discord": { "join_short": "Присоединяйтесь к крутым ребятам!", "join_long": "Присоединяйся к супер-дупер крутым ребятам!", @@ -768,7 +779,9 @@ "name": "Смешиватель", "button": "Смешать и собрать", "description": "Модули смешанного танка", - "seo_description": "Смешивание и сбор корпусов, башен и пушек танков из World of Tanks Blitz" + "seo_description": "Смешивание и сбор корпусов, башен и пушек танков из World of Tanks Blitz", + "screenshot": "Screenshot", + "randomize": "Случайный выбор" }, "guess": { "name": "Угадайте танк", @@ -1314,17 +1327,11 @@ "description": "Начните с BlitzKit", "seo_description": "Начните с BlitzKit" }, - "blitz_analysis": { - "name": "BlitzAnalysis[]", - "button": "Анализируй", - "description": "Богатая статистика", - "seo_description": "Богатые статистика по World of Tanks Blitz" - }, - "blitz_insider": { - "name": "Blitz Insider", - "button": "Открой для себя", - "description": "Статистика сеанса игры", - "seo_description": "Статистика сеанса игры в World of Tanks Blitz" + "api": { + "name": "API", + "button": "To the docs", + "description": "BlitzKit hosted API", + "seo_description": "BlitzKit hosted static API for World of Tanks Blitz" } }, "footer": { diff --git a/packages/i18n/strings/uk.json b/packages/i18n/strings/uk.json index 7353d8365..7ecaa2bf9 100644 --- a/packages/i18n/strings/uk.json +++ b/packages/i18n/strings/uk.json @@ -5,6 +5,7 @@ "fox": "Швидка бура лисиця перестрибує через лінивого собаку." }, "common": { + "name": "BlitzKit", "units": { "m": "%s1м", "mm": "%s1мм", @@ -671,6 +672,8 @@ "copied": "Скопійовано!" }, "tank_search": { + "select_dialog_title": "Search for tanks", + "swap_dialog_title": "Swap tank", "clear_filters": "Clear filters", "search_bar_hint": "Шукайте техніку...", "recent": "Недавно переглянуті", @@ -739,6 +742,14 @@ } }, "home": { + "pwa": { + "title": "Install the BlitzKit App", + "new": "NEW", + "checking": "Checking compatibility...", + "instructions": "Instructions for Apple devices.", + "install": "Install", + "dismiss": "Dismiss" + }, "discord": { "join_short": "Join cool people!", "join_long": "Join super duper cool people!", @@ -768,7 +779,9 @@ "name": "Mixer", "button": "Mix and match", "description": "Mix tank modules", - "seo_description": "Mix and match hulls, turrets, and guns of tanks in World of Tanks Blitz" + "seo_description": "Mix and match hulls, turrets, and guns of tanks in World of Tanks Blitz", + "screenshot": "Screenshot", + "randomize": "Randomize" }, "guess": { "name": "Guess the tank", @@ -1314,17 +1327,11 @@ "description": "Get started with BlitzKit", "seo_description": "Get started with BlitzKit" }, - "blitz_analysis": { - "name": "BlitzAnalysis[]", - "button": "Analyze now", - "description": "Rich historic average stats", - "seo_description": "Rich historic average stats in World of Tanks Blitz" - }, - "blitz_insider": { - "name": "Blitz Insider", - "button": "Discover today", - "description": "In-game session stats", - "seo_description": "In-game session stats in World of Tanks Blitz" + "api": { + "name": "API", + "button": "To the docs", + "description": "BlitzKit hosted API", + "seo_description": "BlitzKit hosted static API for World of Tanks Blitz" } }, "footer": { diff --git a/packages/i18n/strings/zh.json b/packages/i18n/strings/zh.json index a871c5003..439b914e9 100644 --- a/packages/i18n/strings/zh.json +++ b/packages/i18n/strings/zh.json @@ -5,6 +5,7 @@ "fox": "褐色的狐狸迅速地跳过那只懒狗" }, "common": { + "name": "BlitzKit", "units": { "m": "%s1公尺", "mm": "%s1毫米", @@ -671,6 +672,8 @@ "copied": "已拷贝!" }, "tank_search": { + "select_dialog_title": "Search for tanks", + "swap_dialog_title": "Swap tank", "clear_filters": "清除筛选", "search_bar_hint": "搜寻战车……", "recent": "最近查看的", @@ -739,6 +742,14 @@ } }, "home": { + "pwa": { + "title": "Install the BlitzKit App", + "new": "NEW", + "checking": "Checking compatibility...", + "instructions": "Instructions for Apple devices.", + "install": "Install", + "dismiss": "Dismiss" + }, "discord": { "join_short": "加入超級酷的人群!", "join_long": "加入我們的Discord社群,和超酷的人一起聊天!", @@ -768,7 +779,9 @@ "name": "Mixer", "button": "Mix and match", "description": "Mix tank modules", - "seo_description": "Mix and match hulls, turrets, and guns of tanks in World of Tanks Blitz" + "seo_description": "Mix and match hulls, turrets, and guns of tanks in World of Tanks Blitz", + "screenshot": "Screenshot", + "randomize": "Randomize" }, "guess": { "name": "猜坦克", @@ -1314,17 +1327,11 @@ "description": "开始使用 BlitzKit", "seo_description": "开始使用 BlitzKit" }, - "blitz_analysis": { - "name": "闪击战分析", - "button": "立即分析", - "description": "丰富的历史平均统计", - "seo_description": "战车世界闪击战中丰富的历史平均统计" - }, - "blitz_insider": { - "name": "闪击战内嵌插件", - "button": "开始探索", - "description": "游戏内场次统计", - "seo_description": "战车世界闪击战内的游戏内场次统计" + "api": { + "name": "API", + "button": "To the docs", + "description": "BlitzKit hosted API", + "seo_description": "BlitzKit hosted static API for World of Tanks Blitz" } }, "footer": { diff --git a/packages/website/src/components/LocaleRedirector.astro b/packages/website/src/components/LocaleRedirector.astro index d66b93723..b234ba4f3 100644 --- a/packages/website/src/components/LocaleRedirector.astro +++ b/packages/website/src/components/LocaleRedirector.astro @@ -7,18 +7,18 @@ window.location.pathname.startsWith(`/${locale}`) ); const bestLocale = getBestLocale(); - const currentPathLocale = locales.supported.find(({ locale }) => + const currentPath = locales.supported.find(({ locale }) => window.location.pathname.startsWith(`/${locale}`) ); if ( !isAPI && // not an api, duh! localStorage.getItem("preferred-locale") !== null && // no preference, so probably google's crawler - bestLocale !== currentPathLocale // we need to redirect + bestLocale !== currentPath?.locale // we need to redirect ) { window.location.pathname = isI18nPath ? window.location.pathname.replace( - `/${currentPathLocale}`, + `/${currentPath?.locale}`, bestLocale === undefined ? "" : `/${bestLocale}` ) : `/${bestLocale}${window.location.pathname}`;