refactor: i18n SEO
This commit is contained in:
@@ -35,7 +35,7 @@
|
|||||||
:key="`map-${mapIndex}`"
|
:key="`map-${mapIndex}`"
|
||||||
>
|
>
|
||||||
<h5 class="my-2 text-secondaryLight py-2 px-4">
|
<h5 class="my-2 text-secondaryLight py-2 px-4">
|
||||||
{{ map.section }}
|
{{ $t(map.section) }}
|
||||||
</h5>
|
</h5>
|
||||||
<div
|
<div
|
||||||
v-for="(shortcut, shortcutIndex) in map.shortcuts"
|
v-for="(shortcut, shortcutIndex) in map.shortcuts"
|
||||||
|
|||||||
@@ -59,7 +59,7 @@
|
|||||||
class="space-y-4 py-4 px-6"
|
class="space-y-4 py-4 px-6"
|
||||||
>
|
>
|
||||||
<h5 class="font-semibold text-secondaryDark">
|
<h5 class="font-semibold text-secondaryDark">
|
||||||
{{ map.section }}
|
{{ $t(map.section) }}
|
||||||
</h5>
|
</h5>
|
||||||
<div
|
<div
|
||||||
v-for="(shortcut, shortcutIndex) in map.shortcuts"
|
v-for="(shortcut, shortcutIndex) in map.shortcuts"
|
||||||
|
|||||||
@@ -3,13 +3,13 @@
|
|||||||
<SmartTabs :id="'collections_tab'" @tab-changed="updateCollectionsType">
|
<SmartTabs :id="'collections_tab'" @tab-changed="updateCollectionsType">
|
||||||
<SmartTab
|
<SmartTab
|
||||||
:id="'my-collections'"
|
:id="'my-collections'"
|
||||||
:label="'My Collections'"
|
:label="$t('collection.my_collections')"
|
||||||
:selected="true"
|
:selected="true"
|
||||||
/>
|
/>
|
||||||
<SmartTab
|
<SmartTab
|
||||||
v-if="currentUser && currentUser.eaInvited && !doc"
|
v-if="currentUser && currentUser.eaInvited && !doc"
|
||||||
:id="'team-collections'"
|
:id="'team-collections'"
|
||||||
:label="'Team Collections'"
|
:label="$t('collection.team_collections')"
|
||||||
>
|
>
|
||||||
<SmartIntersection @intersecting="onTeamSelectIntersect">
|
<SmartIntersection @intersecting="onTeamSelectIntersect">
|
||||||
<div class="select-wrapper">
|
<div class="select-wrapper">
|
||||||
@@ -36,7 +36,7 @@
|
|||||||
disabled
|
disabled
|
||||||
selected
|
selected
|
||||||
>
|
>
|
||||||
Select team
|
{{ $t("collection.select_team") }}
|
||||||
</option>
|
</option>
|
||||||
<option
|
<option
|
||||||
v-for="(team, index) in myTeams"
|
v-for="(team, index) in myTeams"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<SmartModal v-if="show" :title="$t('new_environment')" @close="hideModal">
|
<SmartModal v-if="show" :title="$t('environment.new')" @close="hideModal">
|
||||||
<template #body>
|
<template #body>
|
||||||
<div class="flex flex-col px-2">
|
<div class="flex flex-col px-2">
|
||||||
<input
|
<input
|
||||||
@@ -41,7 +41,7 @@ export default Vue.extend({
|
|||||||
methods: {
|
methods: {
|
||||||
addNewEnvironment() {
|
addNewEnvironment() {
|
||||||
if (!this.name) {
|
if (!this.name) {
|
||||||
this.$toast.info(this.$t("invalid_environment_name").toString(), {
|
this.$toast.info(this.$t("environment.invalid_name").toString(), {
|
||||||
icon: "info",
|
icon: "info",
|
||||||
})
|
})
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<SmartModal v-if="show" :title="$t('edit_environment')" @close="hideModal">
|
<SmartModal v-if="show" :title="$t('environment.edit')" @close="hideModal">
|
||||||
<template #body>
|
<template #body>
|
||||||
<div class="flex flex-col px-2">
|
<div class="flex flex-col px-2">
|
||||||
<div class="flex relative">
|
<div class="flex relative">
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="flex flex-1 justify-between items-center">
|
<div class="flex flex-1 justify-between items-center">
|
||||||
<label for="variableList" class="p-4">
|
<label for="variableList" class="p-4">
|
||||||
{{ $t("env_variable_list") }}
|
{{ $t("environment.variable_list") }}
|
||||||
</label>
|
</label>
|
||||||
<div class="flex">
|
<div class="flex">
|
||||||
<ButtonSecondary
|
<ButtonSecondary
|
||||||
@@ -164,7 +164,7 @@ export default defineComponent({
|
|||||||
},
|
},
|
||||||
saveEnvironment() {
|
saveEnvironment() {
|
||||||
if (!this.name) {
|
if (!this.name) {
|
||||||
this.$toast.info(this.$t("invalid_environment_name").toString(), {
|
this.$toast.info(this.$t("environment.invalid_name").toString(), {
|
||||||
icon: "info",
|
icon: "info",
|
||||||
})
|
})
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<SmartModal
|
<SmartModal
|
||||||
v-if="show"
|
v-if="show"
|
||||||
:title="`${$t('modal.import_export')} ${$t('environments')}`"
|
:title="`${$t('modal.import_export')} ${$t('environment.title')}`"
|
||||||
@close="hideModal"
|
@close="hideModal"
|
||||||
>
|
>
|
||||||
<template #actions>
|
<template #actions>
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<AppSection label="environments">
|
<AppSection :label="$t('environment.title')">
|
||||||
<div
|
<div
|
||||||
class="
|
class="
|
||||||
bg-primary
|
bg-primary
|
||||||
@@ -25,9 +25,9 @@
|
|||||||
focus:outline-none
|
focus:outline-none
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<option :value="-1">No environment</option>
|
<option :value="-1">{{ $t("environment.no_environment") }}</option>
|
||||||
<option v-if="environments.length === 0" value="0">
|
<option v-if="environments.length === 0" value="0">
|
||||||
{{ $t("create_new_environment") }}
|
{{ $t("environment.create_new") }}
|
||||||
</option>
|
</option>
|
||||||
<option
|
<option
|
||||||
v-for="(environment, index) in environments"
|
v-for="(environment, index) in environments"
|
||||||
|
|||||||
@@ -10,18 +10,18 @@
|
|||||||
<SmartItem
|
<SmartItem
|
||||||
:loading="signingInWithGoogle"
|
:loading="signingInWithGoogle"
|
||||||
svg="google"
|
svg="google"
|
||||||
label="Continue with Google"
|
:label="$t('auth.continue_with_google')"
|
||||||
@click.native="signInWithGoogle"
|
@click.native="signInWithGoogle"
|
||||||
/>
|
/>
|
||||||
<SmartItem
|
<SmartItem
|
||||||
:loading="signingInWithGitHub"
|
:loading="signingInWithGitHub"
|
||||||
svg="github"
|
svg="github"
|
||||||
label="Continue with GitHub"
|
:label="$t('auth.continue_with_github')"
|
||||||
@click.native="signInWithGithub"
|
@click.native="signInWithGithub"
|
||||||
/>
|
/>
|
||||||
<SmartItem
|
<SmartItem
|
||||||
icon="mail"
|
icon="mail"
|
||||||
label="Continue with Email"
|
:label="$t('auth.continue_with_email')"
|
||||||
@click.native="mode = 'email'"
|
@click.native="mode = 'email'"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@@ -95,7 +95,7 @@
|
|||||||
<p v-if="mode === 'email'" class="text-secondaryLight">
|
<p v-if="mode === 'email'" class="text-secondaryLight">
|
||||||
<SmartAnchor
|
<SmartAnchor
|
||||||
class="link"
|
class="link"
|
||||||
label="← All sign in options"
|
:label="`← ${$t('auth.all_sign_in_options')}`"
|
||||||
@click.native="mode = 'sign-in'"
|
@click.native="mode = 'sign-in'"
|
||||||
/>
|
/>
|
||||||
</p>
|
</p>
|
||||||
@@ -105,7 +105,7 @@
|
|||||||
>
|
>
|
||||||
<SmartAnchor
|
<SmartAnchor
|
||||||
class="link"
|
class="link"
|
||||||
label="← Re-enter email"
|
:label="`← ${$t('auth.re_enter_email')}`"
|
||||||
@click.native="mode = 'email'"
|
@click.native="mode = 'email'"
|
||||||
/>
|
/>
|
||||||
<SmartAnchor
|
<SmartAnchor
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
v-for="(color, index) of colors"
|
v-for="(color, index) of colors"
|
||||||
:key="`color-${index}`"
|
:key="`color-${index}`"
|
||||||
v-tippy="{ theme: 'tooltip' }"
|
v-tippy="{ theme: 'tooltip' }"
|
||||||
:title="`${color.charAt(0).toUpperCase()}${color.slice(1)}`"
|
:title="$t(getColorModeName(color))"
|
||||||
:class="{
|
:class="{
|
||||||
'bg-primaryLight !text-accent hover:text-accent': color === active,
|
'bg-primaryLight !text-accent hover:text-accent': color === active,
|
||||||
}"
|
}"
|
||||||
@@ -49,6 +49,20 @@ export default defineComponent({
|
|||||||
return "devices"
|
return "devices"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
getColorModeName(colorMode: string) {
|
||||||
|
switch (colorMode) {
|
||||||
|
case "system":
|
||||||
|
return "settings.system_mode"
|
||||||
|
case "light":
|
||||||
|
return "settings.light_mode"
|
||||||
|
case "dark":
|
||||||
|
return "settings.dark_mode"
|
||||||
|
case "black":
|
||||||
|
return "settings.black_mode"
|
||||||
|
default:
|
||||||
|
return "settings.system_mode"
|
||||||
|
}
|
||||||
|
},
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -4,9 +4,12 @@
|
|||||||
{{ $t("team.title") }}
|
{{ $t("team.title") }}
|
||||||
</h4>
|
</h4>
|
||||||
<div class="mt-1 text-secondaryLight">
|
<div class="mt-1 text-secondaryLight">
|
||||||
Join
|
<SmartAnchor
|
||||||
<SmartAnchor label="beta" to="https://hoppscotch.io/beta" blank />
|
:label="$t('team.join_beta')"
|
||||||
to access teams.
|
to="https://hoppscotch.io/beta"
|
||||||
|
blank
|
||||||
|
class="link"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="space-y-4 mt-4">
|
<div class="space-y-4 mt-4">
|
||||||
<ButtonSecondary
|
<ButtonSecondary
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import { getPlatformAlternateKey, getPlatformSpecialKey } from "./platformutils"
|
|||||||
|
|
||||||
export default [
|
export default [
|
||||||
{
|
{
|
||||||
section: "General",
|
section: "shortcut.general.title",
|
||||||
shortcuts: [
|
shortcuts: [
|
||||||
{
|
{
|
||||||
keys: ["?"],
|
keys: ["?"],
|
||||||
@@ -23,56 +23,56 @@ export default [
|
|||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
section: "Request",
|
section: "shortcut.request.title",
|
||||||
shortcuts: [
|
shortcuts: [
|
||||||
{
|
{
|
||||||
keys: [getPlatformSpecialKey(), "G"],
|
keys: [getPlatformSpecialKey(), "G"],
|
||||||
label: "shortcut.send_request",
|
label: "shortcut.request.send_request",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
keys: [getPlatformSpecialKey(), "S"],
|
keys: [getPlatformSpecialKey(), "S"],
|
||||||
label: "shortcut.save_to_collections",
|
label: "shortcut.request.save_to_collections",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
keys: [getPlatformSpecialKey(), "C"],
|
keys: [getPlatformSpecialKey(), "C"],
|
||||||
label: "shortcut.copy_request_link",
|
label: "shortcut.request.copy_request_link",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
keys: [getPlatformSpecialKey(), "I"],
|
keys: [getPlatformSpecialKey(), "I"],
|
||||||
label: "shortcut.reset_request",
|
label: "shortcut.request.reset_request",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
keys: [getPlatformAlternateKey(), "↑"],
|
keys: [getPlatformAlternateKey(), "↑"],
|
||||||
label: "shortcut.next_method",
|
label: "shortcut.request.next_method",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
keys: [getPlatformAlternateKey(), "↓"],
|
keys: [getPlatformAlternateKey(), "↓"],
|
||||||
label: "shortcut.previous_method",
|
label: "shortcut.request.previous_method",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
keys: [getPlatformAlternateKey(), "G"],
|
keys: [getPlatformAlternateKey(), "G"],
|
||||||
label: "shortcut.get_method",
|
label: "shortcut.request.get_method",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
keys: [getPlatformAlternateKey(), "H"],
|
keys: [getPlatformAlternateKey(), "H"],
|
||||||
label: "shortcut.head_method",
|
label: "shortcut.request.head_method",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
keys: [getPlatformAlternateKey(), "P"],
|
keys: [getPlatformAlternateKey(), "P"],
|
||||||
label: "shortcut.post_method",
|
label: "shortcut.request.post_method",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
keys: [getPlatformAlternateKey(), "U"],
|
keys: [getPlatformAlternateKey(), "U"],
|
||||||
label: "shortcut.put_method",
|
label: "shortcut.request.put_method",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
keys: [getPlatformAlternateKey(), "X"],
|
keys: [getPlatformAlternateKey(), "X"],
|
||||||
label: "shortcut.delete_method",
|
label: "shortcut.request.delete_method",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
section: "Navigation",
|
section: "shortcut.navigation.title",
|
||||||
shortcuts: [
|
shortcuts: [
|
||||||
{
|
{
|
||||||
keys: [getPlatformSpecialKey(), "←"],
|
keys: [getPlatformSpecialKey(), "←"],
|
||||||
@@ -105,7 +105,7 @@ export default [
|
|||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
section: "Miscellaneous",
|
section: "shortcut.miscellaneous.title",
|
||||||
shortcuts: [
|
shortcuts: [
|
||||||
{
|
{
|
||||||
keys: [getPlatformSpecialKey(), "M"],
|
keys: [getPlatformSpecialKey(), "M"],
|
||||||
@@ -117,7 +117,7 @@ export default [
|
|||||||
|
|
||||||
export const spotlight = [
|
export const spotlight = [
|
||||||
{
|
{
|
||||||
section: "Spotlight",
|
section: "app.spotlight",
|
||||||
shortcuts: [
|
shortcuts: [
|
||||||
{
|
{
|
||||||
keys: ["?"],
|
keys: ["?"],
|
||||||
@@ -148,7 +148,7 @@ export const spotlight = [
|
|||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
section: "Navigation",
|
section: "shortcut.navigation.title",
|
||||||
shortcuts: [
|
shortcuts: [
|
||||||
{
|
{
|
||||||
keys: [getPlatformSpecialKey(), "←"],
|
keys: [getPlatformSpecialKey(), "←"],
|
||||||
@@ -220,7 +220,7 @@ export const spotlight = [
|
|||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
section: "Miscellaneous",
|
section: "shortcut.miscellaneous.title",
|
||||||
shortcuts: [
|
shortcuts: [
|
||||||
{
|
{
|
||||||
keys: [getPlatformSpecialKey(), "M"],
|
keys: [getPlatformSpecialKey(), "M"],
|
||||||
|
|||||||
@@ -3,210 +3,181 @@
|
|||||||
"code": "af",
|
"code": "af",
|
||||||
"name": "Afrikaans",
|
"name": "Afrikaans",
|
||||||
"iso": "af-AF",
|
"iso": "af-AF",
|
||||||
"file": "af.json",
|
"file": "af.json"
|
||||||
"country": "AF"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"code": "ar",
|
"code": "ar",
|
||||||
"name": "عربى",
|
"name": "عربى",
|
||||||
"iso": "ar-AR",
|
"iso": "ar-AR",
|
||||||
"file": "ar.json",
|
"file": "ar.json",
|
||||||
"country": "AR"
|
"dir": "rtl"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"code": "ca",
|
"code": "ca",
|
||||||
"name": "Català",
|
"name": "Català",
|
||||||
"iso": "ca-CA",
|
"iso": "ca-CA",
|
||||||
"file": "ca.json",
|
"file": "ca.json"
|
||||||
"country": "CA"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"code": "cs",
|
"code": "cs",
|
||||||
"name": "Čeština",
|
"name": "Čeština",
|
||||||
"iso": "cs-CS",
|
"iso": "cs-CS",
|
||||||
"file": "cs.json",
|
"file": "cs.json"
|
||||||
"country": "CS"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"code": "da",
|
"code": "da",
|
||||||
"name": "Dansk",
|
"name": "Dansk",
|
||||||
"iso": "da-DA",
|
"iso": "da-DA",
|
||||||
"file": "da.json",
|
"file": "da.json"
|
||||||
"country": "DA"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"code": "de",
|
"code": "de",
|
||||||
"name": "Deutsch",
|
"name": "Deutsch",
|
||||||
"iso": "de-DE",
|
"iso": "de-DE",
|
||||||
"file": "de.json",
|
"file": "de.json"
|
||||||
"country": "DE"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"code": "el",
|
"code": "el",
|
||||||
"name": "Ελληνικά",
|
"name": "Ελληνικά",
|
||||||
"iso": "el-EL",
|
"iso": "el-EL",
|
||||||
"file": "el.json",
|
"file": "el.json"
|
||||||
"country": "EL"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"code": "en",
|
"code": "en",
|
||||||
"name": "English",
|
"name": "English",
|
||||||
"iso": "en-US",
|
"iso": "en-US",
|
||||||
"file": "en.json",
|
"file": "en.json"
|
||||||
"country": "US"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"code": "es",
|
"code": "es",
|
||||||
"name": "Español",
|
"name": "Español",
|
||||||
"iso": "es-ES",
|
"iso": "es-ES",
|
||||||
"file": "es.json",
|
"file": "es.json"
|
||||||
"country": "ES"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"code": "fi",
|
"code": "fi",
|
||||||
"name": "Suomalainen",
|
"name": "Suomalainen",
|
||||||
"iso": "fi-FI",
|
"iso": "fi-FI",
|
||||||
"file": "fi.json",
|
"file": "fi.json"
|
||||||
"country": "FI"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"code": "fr",
|
"code": "fr",
|
||||||
"name": "Français",
|
"name": "Français",
|
||||||
"iso": "fr-FR",
|
"iso": "fr-FR",
|
||||||
"file": "fr.json",
|
"file": "fr.json"
|
||||||
"country": "FR"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"code": "he",
|
"code": "he",
|
||||||
"name": "עִברִית",
|
"name": "עִברִית",
|
||||||
"iso": "he-HE",
|
"iso": "he-HE",
|
||||||
"file": "he.json",
|
"file": "he.json"
|
||||||
"country": "HE"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"code": "hu",
|
"code": "hu",
|
||||||
"name": "Magyar",
|
"name": "Magyar",
|
||||||
"iso": "hu-HU",
|
"iso": "hu-HU",
|
||||||
"file": "hu.json",
|
"file": "hu.json"
|
||||||
"country": "HU"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"code": "it",
|
"code": "it",
|
||||||
"name": "Italiano",
|
"name": "Italiano",
|
||||||
"iso": "it",
|
"iso": "it",
|
||||||
"file": "it.json",
|
"file": "it.json"
|
||||||
"country": "IT"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"code": "ja",
|
"code": "ja",
|
||||||
"name": "日本人",
|
"name": "日本人",
|
||||||
"iso": "ja-JA",
|
"iso": "ja-JA",
|
||||||
"file": "ja.json",
|
"file": "ja.json"
|
||||||
"country": "JA"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"code": "ko",
|
"code": "ko",
|
||||||
"name": "한국어",
|
"name": "한국어",
|
||||||
"iso": "ko-KO",
|
"iso": "ko-KO",
|
||||||
"file": "ko.json",
|
"file": "ko.json"
|
||||||
"country": "KO"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"code": "nl",
|
"code": "nl",
|
||||||
"name": "Nederlands",
|
"name": "Nederlands",
|
||||||
"iso": "nl-NL",
|
"iso": "nl-NL",
|
||||||
"file": "nl.json",
|
"file": "nl.json"
|
||||||
"country": "NL"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"code": "no",
|
"code": "no",
|
||||||
"name": "Norsk",
|
"name": "Norsk",
|
||||||
"iso": "no-NO",
|
"iso": "no-NO",
|
||||||
"file": "no.json",
|
"file": "no.json"
|
||||||
"country": "NO"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"code": "pl",
|
"code": "pl",
|
||||||
"name": "Polskie",
|
"name": "Polskie",
|
||||||
"iso": "pl-PL",
|
"iso": "pl-PL",
|
||||||
"file": "pl.json",
|
"file": "pl.json"
|
||||||
"country": "PL"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"code": "pt-br",
|
"code": "pt-br",
|
||||||
"name": "Português Brasileiro",
|
"name": "Português Brasileiro",
|
||||||
"iso": "pt-BR",
|
"iso": "pt-BR",
|
||||||
"file": "pt-br.json",
|
"file": "pt-br.json"
|
||||||
"country": "BR"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"code": "pt",
|
"code": "pt",
|
||||||
"name": "Português",
|
"name": "Português",
|
||||||
"iso": "pt-PT",
|
"iso": "pt-PT",
|
||||||
"file": "pt.json",
|
"file": "pt.json"
|
||||||
"country": "PT"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"code": "ro",
|
"code": "ro",
|
||||||
"name": "Română",
|
"name": "Română",
|
||||||
"iso": "ro-RO",
|
"iso": "ro-RO",
|
||||||
"file": "ro.json",
|
"file": "ro.json"
|
||||||
"country": "RO"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"code": "ru",
|
"code": "ru",
|
||||||
"name": "Pусский",
|
"name": "Pусский",
|
||||||
"iso": "ru-RU",
|
"iso": "ru-RU",
|
||||||
"file": "ru.json",
|
"file": "ru.json"
|
||||||
"country": "RU"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"code": "sr",
|
"code": "sr",
|
||||||
"name": "Српски",
|
"name": "Српски",
|
||||||
"iso": "sr-SR",
|
"iso": "sr-SR",
|
||||||
"file": "sr.json",
|
"file": "sr.json"
|
||||||
"country": "SR"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"code": "sv",
|
"code": "sv",
|
||||||
"name": "Svenska",
|
"name": "Svenska",
|
||||||
"iso": "sv-SV",
|
"iso": "sv-SV",
|
||||||
"file": "sv.json",
|
"file": "sv.json"
|
||||||
"country": "SV"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"code": "tr",
|
"code": "tr",
|
||||||
"name": "Türk",
|
"name": "Türk",
|
||||||
"iso": "tr-TR",
|
"iso": "tr-TR",
|
||||||
"file": "tr.json",
|
"file": "tr.json"
|
||||||
"country": "TR"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"code": "uk",
|
"code": "uk",
|
||||||
"name": "Українська",
|
"name": "Українська",
|
||||||
"iso": "uk-UK",
|
"iso": "uk-UK",
|
||||||
"file": "uk.json",
|
"file": "uk.json"
|
||||||
"country": "UK"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"code": "vi",
|
"code": "vi",
|
||||||
"name": "Tiếng Việt",
|
"name": "Tiếng Việt",
|
||||||
"iso": "vi-VI",
|
"iso": "vi-VI",
|
||||||
"file": "vi.json",
|
"file": "vi.json"
|
||||||
"country": "VI"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"code": "zh-tw",
|
"code": "tw",
|
||||||
"name": "中國傳統的",
|
"name": "中國傳統的",
|
||||||
"iso": "zh-TW",
|
"iso": "zh-TW",
|
||||||
"file": "zh-tw.json",
|
"file": "tw.json"
|
||||||
"country": "TW"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"code": "zh",
|
"code": "cn",
|
||||||
"name": "简体中文",
|
"name": "简体中文",
|
||||||
"iso": "zh-CN",
|
"iso": "zh-CN",
|
||||||
"file": "zh.json",
|
"file": "cn.json"
|
||||||
"country": "CN"
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -124,6 +124,9 @@ export default defineComponent({
|
|||||||
windowInnerWidth: 0,
|
windowInnerWidth: 0,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
head() {
|
||||||
|
return this.$nuxtI18nHead({ addSeoAttributes: true })
|
||||||
|
},
|
||||||
watch: {
|
watch: {
|
||||||
$route(to) {
|
$route(to) {
|
||||||
logPageView(to.fullPath)
|
logPageView(to.fullPath)
|
||||||
|
|||||||
@@ -101,9 +101,13 @@
|
|||||||
"share": "Share",
|
"share": "Share",
|
||||||
"copy": "Copy",
|
"copy": "Copy",
|
||||||
"search": "Search",
|
"search": "Search",
|
||||||
"type_a_command_search": "Type a command or search…"
|
"type_a_command_search": "Type a command or search…",
|
||||||
|
"spotlight": "Spotlight"
|
||||||
},
|
},
|
||||||
"collection": {
|
"collection": {
|
||||||
|
"my_collections": "My Collections",
|
||||||
|
"team_collections": "Team Collections",
|
||||||
|
"select_team": "Select a team",
|
||||||
"save_as": "Save as",
|
"save_as": "Save as",
|
||||||
"select_location": "Select location",
|
"select_location": "Select location",
|
||||||
"select": "Select a Collection",
|
"select": "Select a Collection",
|
||||||
@@ -121,6 +125,7 @@
|
|||||||
},
|
},
|
||||||
"team": {
|
"team": {
|
||||||
"title": "Teams",
|
"title": "Teams",
|
||||||
|
"join_beta": "Join the beta program to access teams.",
|
||||||
"exit": "Exit Team",
|
"exit": "Exit Team",
|
||||||
"name_length_insufficient": "Team name should be atleast 6 characters long",
|
"name_length_insufficient": "Team name should be atleast 6 characters long",
|
||||||
"invalid_email_format": "Email format is invalid",
|
"invalid_email_format": "Email format is invalid",
|
||||||
@@ -162,7 +167,13 @@
|
|||||||
"gist_created": "Gist created"
|
"gist_created": "Gist created"
|
||||||
},
|
},
|
||||||
"auth": {
|
"auth": {
|
||||||
|
"login": "Login",
|
||||||
|
"continue_with_google": "Continue with Google",
|
||||||
|
"continue_with_github": "Continue with GitHub",
|
||||||
|
"continue_with_email": "Continue with Email",
|
||||||
"email": "Email",
|
"email": "Email",
|
||||||
|
"all_sign_in_options": "All sign in options",
|
||||||
|
"re_enter_email": "Re-enter email",
|
||||||
"account_exists": "Account exists with different credential - Login to link both accounts",
|
"account_exists": "Account exists with different credential - Login to link both accounts",
|
||||||
"send_magic_link": "Send a magic link",
|
"send_magic_link": "Send a magic link",
|
||||||
"we_sent_magic_link": "We sent you a magic link!",
|
"we_sent_magic_link": "We sent you a magic link!",
|
||||||
@@ -184,6 +195,7 @@
|
|||||||
"unsubscribe": "Unsubscribe"
|
"unsubscribe": "Unsubscribe"
|
||||||
},
|
},
|
||||||
"request": {
|
"request": {
|
||||||
|
"title": "Request",
|
||||||
"copy_link": "Copy link",
|
"copy_link": "Copy link",
|
||||||
"save": "Save",
|
"save": "Save",
|
||||||
"save_as": "Save as",
|
"save_as": "Save as",
|
||||||
@@ -194,9 +206,21 @@
|
|||||||
"share": "Share"
|
"share": "Share"
|
||||||
},
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
|
"account_description": "Customize your account settings.",
|
||||||
|
"theme_description": "Customize your application theme.",
|
||||||
|
"user": "User",
|
||||||
|
"account_name_description": "This is your display name.",
|
||||||
|
"account_email_description": "Your primary email address.",
|
||||||
|
"interceptor_description": "Middleware between application and APIs.",
|
||||||
|
"sync_description": "These settings are synced to cloud.",
|
||||||
|
"sync": "Synchronise",
|
||||||
"shortcuts_indicator": "Shortcuts indicator",
|
"shortcuts_indicator": "Shortcuts indicator",
|
||||||
"telemetry": "Telemetry",
|
"telemetry": "Telemetry",
|
||||||
"interceptor": "Interceptor",
|
"interceptor": "Interceptor",
|
||||||
|
"system_mode": "System",
|
||||||
|
"light_mode": "Light",
|
||||||
|
"dark_mode": "Dark",
|
||||||
|
"black_mode": "Black",
|
||||||
"navigation_sidebar": "Navigation sidebar",
|
"navigation_sidebar": "Navigation sidebar",
|
||||||
"font_size": "Font size",
|
"font_size": "Font size",
|
||||||
"font_size_small": "Small",
|
"font_size_small": "Small",
|
||||||
@@ -226,12 +250,14 @@
|
|||||||
},
|
},
|
||||||
"shortcut": {
|
"shortcut": {
|
||||||
"general": {
|
"general": {
|
||||||
|
"title": "General",
|
||||||
"help_menu": "Help menu",
|
"help_menu": "Help menu",
|
||||||
"show_all": "Keyboard shortcuts",
|
"show_all": "Keyboard shortcuts",
|
||||||
"command_menu": "Search & command menu",
|
"command_menu": "Search & command menu",
|
||||||
"close_current_menu": "Close current menu"
|
"close_current_menu": "Close current menu"
|
||||||
},
|
},
|
||||||
"navigation": {
|
"navigation": {
|
||||||
|
"title": "Navigation",
|
||||||
"rest": "Go to REST page",
|
"rest": "Go to REST page",
|
||||||
"graphql": "Go to GraphQL page",
|
"graphql": "Go to GraphQL page",
|
||||||
"realtime": "Go to Realtime page",
|
"realtime": "Go to Realtime page",
|
||||||
@@ -241,8 +267,11 @@
|
|||||||
"forward": "Go forward to next page"
|
"forward": "Go forward to next page"
|
||||||
},
|
},
|
||||||
"miscellaneous": {
|
"miscellaneous": {
|
||||||
|
"title": "Miscellaneous",
|
||||||
"invite": "Invite people to Hoppscotch"
|
"invite": "Invite people to Hoppscotch"
|
||||||
},
|
},
|
||||||
|
"request": {
|
||||||
|
"title": "Request",
|
||||||
"send_request": "Send Request",
|
"send_request": "Send Request",
|
||||||
"save_to_collections": "Save to Collections",
|
"save_to_collections": "Save to Collections",
|
||||||
"copy_request_link": "Copy Request Link",
|
"copy_request_link": "Copy Request Link",
|
||||||
@@ -254,6 +283,7 @@
|
|||||||
"post_method": "Select POST method",
|
"post_method": "Select POST method",
|
||||||
"put_method": "Select PUT method",
|
"put_method": "Select PUT method",
|
||||||
"delete_method": "Select DELETE method"
|
"delete_method": "Select DELETE method"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"error": {
|
"error": {
|
||||||
"something_went_wrong": "Something went wrong",
|
"something_went_wrong": "Something went wrong",
|
||||||
@@ -269,6 +299,15 @@
|
|||||||
"tests": "Write a test script to automate debugging.",
|
"tests": "Write a test script to automate debugging.",
|
||||||
"network_fail": "Unable to reach the API endpoint. Check your network connection and try again."
|
"network_fail": "Unable to reach the API endpoint. Check your network connection and try again."
|
||||||
},
|
},
|
||||||
|
"environment": {
|
||||||
|
"title": "Environments",
|
||||||
|
"no_environment": "No environment",
|
||||||
|
"new": "New Environment",
|
||||||
|
"create_new": "Create new environment",
|
||||||
|
"edit": "Edit Environment",
|
||||||
|
"variable_list": "Variable List",
|
||||||
|
"invalid_name": "Please provide a valid name for the environment"
|
||||||
|
},
|
||||||
"options": "Options",
|
"options": "Options",
|
||||||
"communication": "Communication",
|
"communication": "Communication",
|
||||||
"endpoint": "Endpoint",
|
"endpoint": "Endpoint",
|
||||||
@@ -295,12 +334,6 @@
|
|||||||
"preview_html": "Preview HTML",
|
"preview_html": "Preview HTML",
|
||||||
"history": "History",
|
"history": "History",
|
||||||
"collections": "Collections",
|
"collections": "Collections",
|
||||||
"environments": "Environments",
|
|
||||||
"new_environment": "New Environment",
|
|
||||||
"my_new_environment": "My New Environment",
|
|
||||||
"edit_environment": "Edit Environment",
|
|
||||||
"env_variable_list": "Variable List",
|
|
||||||
"invalid_environment_name": "Please provide a valid name for the environment",
|
|
||||||
"request_type": "Request type",
|
"request_type": "Request type",
|
||||||
"status": "Status",
|
"status": "Status",
|
||||||
"headers": "Headers",
|
"headers": "Headers",
|
||||||
@@ -461,6 +494,5 @@
|
|||||||
"socketio": "Socket.IO",
|
"socketio": "Socket.IO",
|
||||||
"event_name": "Event Name",
|
"event_name": "Event Name",
|
||||||
"pre_request_script": "Pre-request Script",
|
"pre_request_script": "Pre-request Script",
|
||||||
"tests": "Tests",
|
"tests": "Tests"
|
||||||
"create_new_environment": "Create new environment"
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -193,7 +193,7 @@ export default {
|
|||||||
|
|
||||||
// Sitemap module configuration (https://github.com/nuxt-community/sitemap-module)
|
// Sitemap module configuration (https://github.com/nuxt-community/sitemap-module)
|
||||||
sitemap: {
|
sitemap: {
|
||||||
hostname: process.env.BASE_URL || "https://hoppscotch.io",
|
hostname: process.env.BASE_URL,
|
||||||
},
|
},
|
||||||
|
|
||||||
// Robots module configuration (https://github.com/nuxt-community/robots-module)
|
// Robots module configuration (https://github.com/nuxt-community/robots-module)
|
||||||
@@ -222,11 +222,12 @@ export default {
|
|||||||
fallbackLocale: "en",
|
fallbackLocale: "en",
|
||||||
},
|
},
|
||||||
lazy: true,
|
lazy: true,
|
||||||
langDir: "lang/",
|
langDir: "locales/",
|
||||||
detectBrowserLanguage: {
|
detectBrowserLanguage: {
|
||||||
alwaysRedirect: true,
|
alwaysRedirect: true,
|
||||||
fallbackLocale: "en",
|
fallbackLocale: "en",
|
||||||
},
|
},
|
||||||
|
baseUrl: process.env.BASE_URL,
|
||||||
},
|
},
|
||||||
|
|
||||||
// Color mode configuration (https://github.com/nuxt-community/color-mode-module)
|
// Color mode configuration (https://github.com/nuxt-community/color-mode-module)
|
||||||
|
|||||||
@@ -205,7 +205,7 @@ export default defineComponent({
|
|||||||
},
|
},
|
||||||
head() {
|
head() {
|
||||||
return {
|
return {
|
||||||
title: `Documentation • Hoppscotch`,
|
title: `${this.$t("navigation.doc")} • Hoppscotch`,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ export default defineComponent({
|
|||||||
},
|
},
|
||||||
head() {
|
head() {
|
||||||
return {
|
return {
|
||||||
title: `GraphQL • Hoppscotch`,
|
title: `${this.$t("navigation.graphql")} • Hoppscotch`,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -64,7 +64,7 @@
|
|||||||
<Collections />
|
<Collections />
|
||||||
</SmartTab>
|
</SmartTab>
|
||||||
|
|
||||||
<SmartTab :id="'env'" :label="$t('environments')">
|
<SmartTab :id="'env'" :label="$t('environment.title')">
|
||||||
<Environments />
|
<Environments />
|
||||||
</SmartTab>
|
</SmartTab>
|
||||||
</SmartTabs>
|
</SmartTabs>
|
||||||
|
|||||||
@@ -39,7 +39,7 @@
|
|||||||
export default {
|
export default {
|
||||||
head() {
|
head() {
|
||||||
return {
|
return {
|
||||||
title: `Realtime • Hoppscotch`,
|
title: `${this.$t("navigation.realtime")} • Hoppscotch`,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,17 +7,21 @@
|
|||||||
{{ $t("account") }}
|
{{ $t("account") }}
|
||||||
</h3>
|
</h3>
|
||||||
<p class="mt-1 text-secondaryLight">
|
<p class="mt-1 text-secondaryLight">
|
||||||
Customize your account settings.
|
{{ $t("settings.account_description") }}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="p-8 md:col-span-2">
|
<div class="p-8 md:col-span-2">
|
||||||
<div v-if="currentUser === null">
|
<div v-if="currentUser === null">
|
||||||
<ButtonPrimary label="Log in" @click.native="showLogin = true" />
|
<ButtonPrimary
|
||||||
<div class="mt-4 text-secondaryLight">Log in to access.</div>
|
:label="$t('auth.login')"
|
||||||
|
@click.native="showLogin = true"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div v-else class="space-y-8">
|
<div v-else class="space-y-8">
|
||||||
<section>
|
<section>
|
||||||
<h4 class="font-semibold text-secondaryDark">User</h4>
|
<h4 class="font-semibold text-secondaryDark">
|
||||||
|
{{ $t("settings.user") }}
|
||||||
|
</h4>
|
||||||
<div class="space-y-4 py-4">
|
<div class="space-y-4 py-4">
|
||||||
<div class="flex items-start">
|
<div class="flex items-start">
|
||||||
<div class="flex items-center">
|
<div class="flex items-center">
|
||||||
@@ -33,7 +37,7 @@
|
|||||||
{{ currentUser.displayName || $t("nothing_found") }}
|
{{ currentUser.displayName || $t("nothing_found") }}
|
||||||
</label>
|
</label>
|
||||||
<p class="mt-1 text-secondaryLight">
|
<p class="mt-1 text-secondaryLight">
|
||||||
This is your display name.
|
{{ $t("settings.account_name_description") }}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -46,7 +50,7 @@
|
|||||||
{{ currentUser.email || $t("nothing_found") }}
|
{{ currentUser.email || $t("nothing_found") }}
|
||||||
</label>
|
</label>
|
||||||
<p class="mt-1 text-secondaryLight">
|
<p class="mt-1 text-secondaryLight">
|
||||||
Your primary email address.
|
{{ $t("settings.account_email_description") }}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -54,9 +58,11 @@
|
|||||||
</section>
|
</section>
|
||||||
<Teams v-if="currentBackendUser && currentBackendUser.eaInvited" />
|
<Teams v-if="currentBackendUser && currentBackendUser.eaInvited" />
|
||||||
<section>
|
<section>
|
||||||
<h4 class="font-semibold text-secondaryDark">Sync</h4>
|
<h4 class="font-semibold text-secondaryDark">
|
||||||
|
{{ $t("settings.sync") }}
|
||||||
|
</h4>
|
||||||
<div class="mt-1 text-secondaryLight">
|
<div class="mt-1 text-secondaryLight">
|
||||||
These settings are synced to cloud.
|
{{ $t("settings.sync_description") }}
|
||||||
</div>
|
</div>
|
||||||
<div class="space-y-4 py-4">
|
<div class="space-y-4 py-4">
|
||||||
<div class="flex items-center">
|
<div class="flex items-center">
|
||||||
@@ -99,7 +105,7 @@
|
|||||||
{{ $t("theme") }}
|
{{ $t("theme") }}
|
||||||
</h3>
|
</h3>
|
||||||
<p class="mt-1 text-secondaryLight">
|
<p class="mt-1 text-secondaryLight">
|
||||||
Customize your application theme.
|
{{ $t("settings.theme_description") }}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="space-y-8 p-8 md:col-span-2">
|
<div class="space-y-8 p-8 md:col-span-2">
|
||||||
@@ -109,12 +115,9 @@
|
|||||||
</h4>
|
</h4>
|
||||||
<div class="mt-1 text-secondaryLight">
|
<div class="mt-1 text-secondaryLight">
|
||||||
<ColorScheme placeholder="..." tag="span">
|
<ColorScheme placeholder="..." tag="span">
|
||||||
{{
|
{{ $t(getColorModeName($colorMode.preference)) }}
|
||||||
$colorMode.preference.charAt(0).toUpperCase() +
|
|
||||||
$colorMode.preference.slice(1)
|
|
||||||
}}
|
|
||||||
<span v-if="$colorMode.preference === 'system'">
|
<span v-if="$colorMode.preference === 'system'">
|
||||||
({{ $colorMode.value }} mode detected)
|
({{ $t(getColorModeName($colorMode.value)) }})
|
||||||
</span>
|
</span>
|
||||||
</ColorScheme>
|
</ColorScheme>
|
||||||
</div>
|
</div>
|
||||||
@@ -213,7 +216,7 @@
|
|||||||
{{ $t("settings.interceptor") }}
|
{{ $t("settings.interceptor") }}
|
||||||
</h3>
|
</h3>
|
||||||
<p class="mt-1 text-secondaryLight">
|
<p class="mt-1 text-secondaryLight">
|
||||||
Middleware between application and APIs.
|
{{ $t("settings.interceptor_description") }}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="space-y-8 p-8 md:col-span-2">
|
<div class="space-y-8 p-8 md:col-span-2">
|
||||||
@@ -397,7 +400,7 @@ export default defineComponent({
|
|||||||
},
|
},
|
||||||
head() {
|
head() {
|
||||||
return {
|
return {
|
||||||
title: `Settings • Hoppscotch`,
|
title: `${this.$t("navigation.settings")} • Hoppscotch`,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@@ -452,6 +455,20 @@ export default defineComponent({
|
|||||||
})
|
})
|
||||||
setTimeout(() => (this.clearIcon = "clear_all"), 1000)
|
setTimeout(() => (this.clearIcon = "clear_all"), 1000)
|
||||||
},
|
},
|
||||||
|
getColorModeName(colorMode: string) {
|
||||||
|
switch (colorMode) {
|
||||||
|
case "system":
|
||||||
|
return "settings.system_mode"
|
||||||
|
case "light":
|
||||||
|
return "settings.light_mode"
|
||||||
|
case "dark":
|
||||||
|
return "settings.dark_mode"
|
||||||
|
case "black":
|
||||||
|
return "settings.black_mode"
|
||||||
|
default:
|
||||||
|
return "settings.system_mode"
|
||||||
|
}
|
||||||
|
},
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
Reference in New Issue
Block a user