diff --git a/locales/en.yml b/locales/en.yml index 385e019b..4b4873a8 100644 --- a/locales/en.yml +++ b/locales/en.yml @@ -1,4 +1,27 @@ home: + commandPalette: + search: Search... + placeholder: Type to search a tool or a command... + commandPaletteStore: + actions: Actions + external: External + tools: Tools categories: newestTools: Newest tools + title: IT Tools - Handy online tools for developers + allTools: All the tools + favoriteTools: Your favorite tools + thanks: '! Thank you' + giveUsAStarOn: Give us a star on + orFollowUsOn: or follow us on + youLikeItTools: You like it-tools? +tools: + xmlFormat: + description: Prettify your XML string to a human friendly readable format. + indentSize: 'Indent size:' + collapseContent: 'Collapse content:' + providedXmlIsNotValid: Provided XML is not valid. + inputLabel: Your XML + outputLabel: Formatted XML from your XML + placeHolder: Paste your XML here... diff --git a/src/layouts/base.layout.vue b/src/layouts/base.layout.vue index 2b697cfc..b586daed 100644 --- a/src/layouts/base.layout.vue +++ b/src/layouts/base.layout.vue @@ -7,6 +7,7 @@ import { Heart, Home2, Menu2 } from '@vicons/tabler'; import HeroGradient from '../assets/hero-gradient.svg?component'; import MenuLayout from '../components/MenuLayout.vue'; import NavbarButtons from '../components/NavbarButtons.vue'; +import { availableLocales, loadLanguageAsync } from '../plugins/i18n.plugin'; import { toolsByCategory } from '@/tools'; import { useStyleStore } from '@/stores/style.store'; import { config } from '@/config'; @@ -24,10 +25,19 @@ const { tracker } = useTracker(); const toolStore = useToolStore(); +const currentLang = useStorage('application:selected-language', 'en'); + +loadLanguageAsync(currentLang.value); + const tools = computed(() => [ ...(toolStore.favoriteTools.length > 0 ? [{ name: 'Your favorite tools', components: toolStore.favoriteTools }] : []), ...toolsByCategory, ]); + +function onChange(event: any) { + currentLang.value = event; + loadLanguageAsync(event); +}