refactor(i18n): added locales per tool (#861)

This commit is contained in:
Corentin THOMASSET 2024-02-01 14:05:54 +01:00 committed by GitHub
parent 85b50bb8f0
commit 95698cb938
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
154 changed files with 539 additions and 168 deletions

View file

@ -1,10 +1,11 @@
import { FileDigit } from '@vicons/tabler'; import { FileDigit } from '@vicons/tabler';
import { defineTool } from '../tool'; import { defineTool } from '../tool';
import { translate } from '@/plugins/i18n.plugin';
export const tool = defineTool({ export const tool = defineTool({
name: 'Base64 file converter', name: translate('tools.base64-file-converter.title'),
path: '/base64-file-converter', path: '/base64-file-converter',
description: 'Convert string, files or images into a it\'s base64 representation.', description: translate('tools.base64-file-converter.description'),
keywords: ['base64', 'converter', 'upload', 'image', 'file', 'conversion', 'web', 'data', 'format'], keywords: ['base64', 'converter', 'upload', 'image', 'file', 'conversion', 'web', 'data', 'format'],
component: () => import('./base64-file-converter.vue'), component: () => import('./base64-file-converter.vue'),
icon: FileDigit, icon: FileDigit,

View file

@ -0,0 +1,4 @@
tools:
base64-file-converter:
title: Base64 file converter
description: Convert string, files or images into a it\'s base64 representation.

View file

@ -1,10 +1,11 @@
import { FileDigit } from '@vicons/tabler'; import { FileDigit } from '@vicons/tabler';
import { defineTool } from '../tool'; import { defineTool } from '../tool';
import { translate } from '@/plugins/i18n.plugin';
export const tool = defineTool({ export const tool = defineTool({
name: 'Base64 string encoder/decoder', name: translate('tools.base64-string-converter.title'),
path: '/base64-string-converter', path: '/base64-string-converter',
description: 'Simply encode and decode string into a their base64 representation.', description: translate('tools.base64-string-converter.description'),
keywords: ['base64', 'converter', 'conversion', 'web', 'data', 'format', 'atob', 'btoa'], keywords: ['base64', 'converter', 'conversion', 'web', 'data', 'format', 'atob', 'btoa'],
component: () => import('./base64-string-converter.vue'), component: () => import('./base64-string-converter.vue'),
icon: FileDigit, icon: FileDigit,

View file

@ -0,0 +1,4 @@
tools:
base64-string-converter:
title: Base64 string encoder/decoder
description: Simply encode and decode string into a their base64 representation.

View file

@ -1,10 +1,11 @@
import { PasswordRound } from '@vicons/material'; import { PasswordRound } from '@vicons/material';
import { defineTool } from '../tool'; import { defineTool } from '../tool';
import { translate } from '@/plugins/i18n.plugin';
export const tool = defineTool({ export const tool = defineTool({
name: 'Basic auth generator', name: translate('tools.basic-auth-generator.title'),
path: '/basic-auth-generator', path: '/basic-auth-generator',
description: 'Generate a base64 basic auth header from an username and a password.', description: translate('tools.basic-auth-generator.description'),
keywords: [ keywords: [
'basic', 'basic',
'auth', 'auth',

View file

@ -0,0 +1,4 @@
tools:
basic-auth-generator:
title: Basic auth generator
description: Generate a base64 basic auth header from an username and a password.

View file

@ -1,11 +1,11 @@
import { LockSquare } from '@vicons/tabler'; import { LockSquare } from '@vicons/tabler';
import { defineTool } from '../tool'; import { defineTool } from '../tool';
import { translate } from '@/plugins/i18n.plugin';
export const tool = defineTool({ export const tool = defineTool({
name: 'Bcrypt', name: translate('tools.bcrypt.title'),
path: '/bcrypt', path: '/bcrypt',
description: description: translate('tools.bcrypt.description'),
'Hash and compare text string using bcrypt. Bcrypt is a password-hashing function based on the Blowfish cipher.',
keywords: ['bcrypt', 'hash', 'compare', 'password', 'salt', 'round', 'storage', 'crypto'], keywords: ['bcrypt', 'hash', 'compare', 'password', 'salt', 'round', 'storage', 'crypto'],
component: () => import('./bcrypt.vue'), component: () => import('./bcrypt.vue'),
icon: LockSquare, icon: LockSquare,

View file

@ -0,0 +1,4 @@
tools:
bcrypt:
title: Bcrypt
description: Hash and compare text string using bcrypt. Bcrypt is a password-hashing function based on the Blowfish cipher.

View file

@ -1,10 +1,11 @@
import { SpeedFilled } from '@vicons/material'; import { SpeedFilled } from '@vicons/material';
import { defineTool } from '../tool'; import { defineTool } from '../tool';
import { translate } from '@/plugins/i18n.plugin';
export const tool = defineTool({ export const tool = defineTool({
name: 'Benchmark builder', name: translate('tools.benchmark-builder.title'),
path: '/benchmark-builder', path: '/benchmark-builder',
description: 'Easily compare execution time of tasks with this very simple online benchmark builder.', description: translate('tools.benchmark-builder.description'),
keywords: ['benchmark', 'builder', 'execution', 'duration', 'mean', 'variance'], keywords: ['benchmark', 'builder', 'execution', 'duration', 'mean', 'variance'],
component: () => import('./benchmark-builder.vue'), component: () => import('./benchmark-builder.vue'),
icon: SpeedFilled, icon: SpeedFilled,

View file

@ -0,0 +1,4 @@
tools:
benchmark-builder:
title: Benchmark builder
description: Easily compare execution time of tasks with this very simple online benchmark builder.

View file

@ -1,10 +1,11 @@
import { AlignJustified } from '@vicons/tabler'; import { AlignJustified } from '@vicons/tabler';
import { defineTool } from '../tool'; import { defineTool } from '../tool';
import { translate } from '@/plugins/i18n.plugin';
export const tool = defineTool({ export const tool = defineTool({
name: 'BIP39 passphrase generator', name: translate('tools.bip39-generator.title'),
path: '/bip39-generator', path: '/bip39-generator',
description: 'Generate BIP39 passphrase from existing or random mnemonic, or get the mnemonic from the passphrase.', description: translate('tools.bip39-generator.description'),
keywords: ['BIP39', 'passphrase', 'generator', 'mnemonic', 'entropy'], keywords: ['BIP39', 'passphrase', 'generator', 'mnemonic', 'entropy'],
component: () => import('./bip39-generator.vue'), component: () => import('./bip39-generator.vue'),
icon: AlignJustified, icon: AlignJustified,

View file

@ -0,0 +1,4 @@
tools:
bip39-generator:
title: BIP39 passphrase generator
description: Generate BIP39 passphrase from existing or random mnemonic, or get the mnemonic from the passphrase.

View file

@ -1,10 +1,11 @@
import { Camera } from '@vicons/tabler'; import { Camera } from '@vicons/tabler';
import { defineTool } from '../tool'; import { defineTool } from '../tool';
import { translate } from '@/plugins/i18n.plugin';
export const tool = defineTool({ export const tool = defineTool({
name: 'Camera recorder', name: translate('tools.camera-recorder.title'),
path: '/camera-recorder', path: '/camera-recorder',
description: 'Take a picture or record a video from your webcam or camera.', description: translate('tools.camera-recorder.description'),
keywords: ['camera', 'recoder'], keywords: ['camera', 'recoder'],
component: () => import('./camera-recorder.vue'), component: () => import('./camera-recorder.vue'),
icon: Camera, icon: Camera,

View file

@ -0,0 +1,4 @@
tools:
camera-recorder:
title: Camera recorder
description: Take a picture or record a video from your webcam or camera.

View file

@ -1,10 +1,11 @@
import { LetterCaseToggle } from '@vicons/tabler'; import { LetterCaseToggle } from '@vicons/tabler';
import { defineTool } from '../tool'; import { defineTool } from '../tool';
import { translate } from '@/plugins/i18n.plugin';
export const tool = defineTool({ export const tool = defineTool({
name: 'Case converter', name: translate('tools.case-converter.title'),
path: '/case-converter', path: '/case-converter',
description: 'Change the case of a string and chose between different formats', description: translate('tools.case-converter.description'),
keywords: [ keywords: [
'case', 'case',
'converter', 'converter',

View file

@ -0,0 +1,4 @@
tools:
case-converter:
title: Case converter
description: Change the case of a string and chose between different formats

View file

@ -1,10 +1,11 @@
import { FileInvoice } from '@vicons/tabler'; import { FileInvoice } from '@vicons/tabler';
import { defineTool } from '../tool'; import { defineTool } from '../tool';
import { translate } from '@/plugins/i18n.plugin';
export const tool = defineTool({ export const tool = defineTool({
name: 'Chmod calculator', name: translate('tools.chmod-calculator.title'),
path: '/chmod-calculator', path: '/chmod-calculator',
description: 'Compute your chmod permissions and commands with this online chmod calculator.', description: translate('tools.chmod-calculator.description'),
keywords: [ keywords: [
'chmod', 'chmod',
'calculator', 'calculator',

View file

@ -0,0 +1,4 @@
tools:
chmod-calculator:
title: Chmod calculator
description: Compute your chmod permissions and commands with this online chmod calculator.

View file

@ -1,10 +1,11 @@
import { TimerOutlined } from '@vicons/material'; import { TimerOutlined } from '@vicons/material';
import { defineTool } from '../tool'; import { defineTool } from '../tool';
import { translate } from '@/plugins/i18n.plugin';
export const tool = defineTool({ export const tool = defineTool({
name: 'Chronometer', name: translate('tools.chronometer.title'),
path: '/chronometer', path: '/chronometer',
description: 'Monitor the duration of a thing. Basically a chronometer with simple chronometer features.', description: translate('tools.chronometer.description'),
keywords: ['chronometer', 'time', 'lap', 'duration', 'measure', 'pause', 'resume', 'stopwatch'], keywords: ['chronometer', 'time', 'lap', 'duration', 'measure', 'pause', 'resume', 'stopwatch'],
component: () => import('./chronometer.vue'), component: () => import('./chronometer.vue'),
icon: TimerOutlined, icon: TimerOutlined,

View file

@ -0,0 +1,4 @@
tools:
chronometer:
title: Chronometer
description: Monitor the duration of a thing. Basically a chronometer with simple chronometer features.

View file

@ -1,10 +1,11 @@
import { Palette } from '@vicons/tabler'; import { Palette } from '@vicons/tabler';
import { defineTool } from '../tool'; import { defineTool } from '../tool';
import { translate } from '@/plugins/i18n.plugin';
export const tool = defineTool({ export const tool = defineTool({
name: 'Color converter', name: translate('tools.color-converter.title'),
path: '/color-converter', path: '/color-converter',
description: 'Convert color between the different formats (hex, rgb, hsl and css name)', description: translate('tools.color-converter.description'),
keywords: ['color', 'converter'], keywords: ['color', 'converter'],
component: () => import('./color-converter.vue'), component: () => import('./color-converter.vue'),
icon: Palette, icon: Palette,

View file

@ -0,0 +1,4 @@
tools:
color-converter:
title: Color converter
description: Convert color between the different formats (hex, rgb, hsl and css name)

View file

@ -1,10 +1,11 @@
import { Alarm } from '@vicons/tabler'; import { Alarm } from '@vicons/tabler';
import { defineTool } from '../tool'; import { defineTool } from '../tool';
import { translate } from '@/plugins/i18n.plugin';
export const tool = defineTool({ export const tool = defineTool({
name: 'Crontab generator', name: translate('tools.crontab-generator.title'),
path: '/crontab-generator', path: '/crontab-generator',
description: 'Validate and generate crontab and get the human readable description of the cron schedule.', description: translate('tools.crontab-generator.description'),
keywords: [ keywords: [
'crontab', 'crontab',
'generator', 'generator',

View file

@ -0,0 +1,4 @@
tools:
crontab-generator:
title: Crontab generator
description: Validate and generate crontab and get the human readable description of the cron schedule.

View file

@ -1,10 +1,11 @@
import { Calendar } from '@vicons/tabler'; import { Calendar } from '@vicons/tabler';
import { defineTool } from '../tool'; import { defineTool } from '../tool';
import { translate } from '@/plugins/i18n.plugin';
export const tool = defineTool({ export const tool = defineTool({
name: 'Date-time converter', name: translate('tools.date-converter.title'),
path: '/date-converter', path: '/date-converter',
description: 'Convert date and time into the various different formats', description: translate('tools.date-converter.description'),
keywords: ['date', 'time', 'converter', 'iso', 'utc', 'timezone', 'year', 'month', 'day', 'minute', 'seconde'], keywords: ['date', 'time', 'converter', 'iso', 'utc', 'timezone', 'year', 'month', 'day', 'minute', 'seconde'],
component: () => import('./date-time-converter.vue'), component: () => import('./date-time-converter.vue'),
icon: Calendar, icon: Calendar,

View file

@ -0,0 +1,4 @@
tools:
date-converter:
title: Date-time converter
description: Convert date and time into the various different formats

View file

@ -1,10 +1,11 @@
import { DeviceDesktop } from '@vicons/tabler'; import { DeviceDesktop } from '@vicons/tabler';
import { defineTool } from '../tool'; import { defineTool } from '../tool';
import { translate } from '@/plugins/i18n.plugin';
export const tool = defineTool({ export const tool = defineTool({
name: 'Device information', name: translate('tools.device-information.title'),
path: '/device-information', path: '/device-information',
description: 'Get information about your current device (screen size, pixel-ratio, user agent, ...)', description: translate('tools.device-information.description'),
keywords: [ keywords: [
'device', 'device',
'information', 'information',

View file

@ -0,0 +1,4 @@
tools:
device-information:
title: Device information
description: Get information about your current device (screen size, pixel-ratio, user agent, ...)

View file

@ -1,10 +1,11 @@
import { BrandDocker } from '@vicons/tabler'; import { BrandDocker } from '@vicons/tabler';
import { defineTool } from '../tool'; import { defineTool } from '../tool';
import { translate } from '@/plugins/i18n.plugin';
export const tool = defineTool({ export const tool = defineTool({
name: 'Docker run to Docker compose converter', name: translate('tools.docker-run-to-docker-compose-converter.title'),
path: '/docker-run-to-docker-compose-converter', path: '/docker-run-to-docker-compose-converter',
description: 'Turns docker run commands into docker-compose files!', description: translate('tools.docker-run-to-docker-compose-converter.description'),
keywords: ['docker', 'run', 'compose', 'yaml', 'yml', 'convert', 'deamon'], keywords: ['docker', 'run', 'compose', 'yaml', 'yml', 'convert', 'deamon'],
component: () => import('./docker-run-to-docker-compose-converter.vue'), component: () => import('./docker-run-to-docker-compose-converter.vue'),
icon: BrandDocker, icon: BrandDocker,

View file

@ -0,0 +1,4 @@
tools:
docker-run-to-docker-compose-converter:
title: Docker run to Docker compose converter
description: Turns docker run commands into docker-compose files!

View file

@ -1,10 +1,11 @@
import { MoodSmile } from '@vicons/tabler'; import { MoodSmile } from '@vicons/tabler';
import { defineTool } from '../tool'; import { defineTool } from '../tool';
import { translate } from '@/plugins/i18n.plugin';
export const tool = defineTool({ export const tool = defineTool({
name: 'Emoji picker', name: translate('tools.emoji-picker.title'),
path: '/emoji-picker', path: '/emoji-picker',
description: 'Copy and paste emojis easily and get the unicode and code points value of each emoji.', description: translate('tools.emoji-picker.description'),
keywords: ['emoji', 'picker', 'unicode', 'copy', 'paste'], keywords: ['emoji', 'picker', 'unicode', 'copy', 'paste'],
component: () => import('./emoji-picker.vue'), component: () => import('./emoji-picker.vue'),
icon: MoodSmile, icon: MoodSmile,

View file

@ -0,0 +1,4 @@
tools:
emoji-picker:
title: Emoji picker
description: Copy and paste emojis easily and get the unicode and code points value of each emoji.

View file

@ -1,10 +1,11 @@
import { Lock } from '@vicons/tabler'; import { Lock } from '@vicons/tabler';
import { defineTool } from '../tool'; import { defineTool } from '../tool';
import { translate } from '@/plugins/i18n.plugin';
export const tool = defineTool({ export const tool = defineTool({
name: 'Encrypt / decrypt text', name: translate('tools.encryption.title'),
path: '/encryption', path: '/encryption',
description: 'Encrypt and decrypt text clear text using crypto algorithm like AES, TripleDES, Rabbit or RC4.', description: translate('tools.encryption.description'),
keywords: ['cypher', 'encipher', 'text', 'AES', 'TripleDES', 'Rabbit', 'RC4'], keywords: ['cypher', 'encipher', 'text', 'AES', 'TripleDES', 'Rabbit', 'RC4'],
component: () => import('./encryption.vue'), component: () => import('./encryption.vue'),
icon: Lock, icon: Lock,

View file

@ -0,0 +1,4 @@
tools:
encryption:
title: Encrypt / decrypt text
description: Encrypt and decrypt text clear text using crypto algorithm like AES, TripleDES, Rabbit or RC4.

View file

@ -1,11 +1,11 @@
import { Hourglass } from '@vicons/tabler'; import { Hourglass } from '@vicons/tabler';
import { defineTool } from '../tool'; import { defineTool } from '../tool';
import { translate } from '@/plugins/i18n.plugin';
export const tool = defineTool({ export const tool = defineTool({
name: 'ETA calculator', name: translate('tools.eta-calculator.title'),
path: '/eta-calculator', path: '/eta-calculator',
description: description: translate('tools.eta-calculator.description'),
'An ETA (Estimated Time of Arrival) calculator to know the approximate end time of a task, for example the moment of ending of a download.',
keywords: ['eta', 'calculator', 'estimated', 'time', 'arrival', 'average'], keywords: ['eta', 'calculator', 'estimated', 'time', 'arrival', 'average'],
component: () => import('./eta-calculator.vue'), component: () => import('./eta-calculator.vue'),
icon: Hourglass, icon: Hourglass,

View file

@ -0,0 +1,4 @@
tools:
eta-calculator:
title: ETA calculator
description: An ETA (Estimated Time of Arrival) calculator to know the approximate end time of a task, for example the moment of ending of a download.

View file

@ -1,11 +1,11 @@
import { BrandGit } from '@vicons/tabler'; import { BrandGit } from '@vicons/tabler';
import { defineTool } from '../tool'; import { defineTool } from '../tool';
import { translate } from '@/plugins/i18n.plugin';
export const tool = defineTool({ export const tool = defineTool({
name: 'Git cheatsheet', name: translate('tools.git-memo.title'),
path: '/git-memo', path: '/git-memo',
description: description: translate('tools.git-memo.description'),
'Git is a decentralized version management software. With this cheatsheet you will have a quick access to the most common git commands.',
keywords: ['git', 'push', 'force', 'pull', 'commit', 'amend', 'rebase', 'merge', 'reset', 'soft', 'hard', 'lease'], keywords: ['git', 'push', 'force', 'pull', 'commit', 'amend', 'rebase', 'merge', 'reset', 'soft', 'hard', 'lease'],
component: () => import('./git-memo.vue'), component: () => import('./git-memo.vue'),
icon: BrandGit, icon: BrandGit,

View file

@ -0,0 +1,4 @@
tools:
git-memo:
title: Git cheatsheet
description: Git is a decentralized version management software. With this cheatsheet you will have a quick access to the most common git commands.

View file

@ -1,11 +1,11 @@
import { EyeOff } from '@vicons/tabler'; import { EyeOff } from '@vicons/tabler';
import { defineTool } from '../tool'; import { defineTool } from '../tool';
import { translate } from '@/plugins/i18n.plugin';
export const tool = defineTool({ export const tool = defineTool({
name: 'Hash text', name: translate('tools.hash-text.title'),
path: '/hash-text', path: '/hash-text',
description: description: translate('tools.hash-text.description'),
'Hash a text string using the function you need : MD5, SHA1, SHA256, SHA224, SHA512, SHA384, SHA3 or RIPEMD160',
keywords: [ keywords: [
'hash', 'hash',
'digest', 'digest',

View file

@ -0,0 +1,4 @@
tools:
hash-text:
title: Hash text
description: 'Hash a text string using the function you need : MD5, SHA1, SHA256, SHA224, SHA512, SHA384, SHA3 or RIPEMD160'

View file

@ -1,11 +1,11 @@
import { ShortTextRound } from '@vicons/material'; import { ShortTextRound } from '@vicons/material';
import { defineTool } from '../tool'; import { defineTool } from '../tool';
import { translate } from '@/plugins/i18n.plugin';
export const tool = defineTool({ export const tool = defineTool({
name: 'Hmac generator', name: translate('tools.hmac-generator.title'),
path: '/hmac-generator', path: '/hmac-generator',
description: description: translate('tools.hmac-generator.description'),
'Computes a hash-based message authentication code (HMAC) using a secret key and your favorite hashing function.',
keywords: ['hmac', 'generator', 'MD5', 'SHA1', 'SHA256', 'SHA224', 'SHA512', 'SHA384', 'SHA3', 'RIPEMD160'], keywords: ['hmac', 'generator', 'MD5', 'SHA1', 'SHA256', 'SHA224', 'SHA512', 'SHA384', 'SHA3', 'RIPEMD160'],
component: () => import('./hmac-generator.vue'), component: () => import('./hmac-generator.vue'),
icon: ShortTextRound, icon: ShortTextRound,

View file

@ -0,0 +1,4 @@
tools:
hmac-generator:
title: Hmac generator
description: Computes a hash-based message authentication code (HMAC) using a secret key and your favorite hashing function.

View file

@ -1,10 +1,11 @@
import { Code } from '@vicons/tabler'; import { Code } from '@vicons/tabler';
import { defineTool } from '../tool'; import { defineTool } from '../tool';
import { translate } from '@/plugins/i18n.plugin';
export const tool = defineTool({ export const tool = defineTool({
name: 'Escape html entities', name: translate('tools.html-entities.title'),
path: '/html-entities', path: '/html-entities',
description: 'Escape or unescape html entities (replace <,>, &, " and \' to their html version)', description: translate('tools.html-entities.description'),
keywords: ['html', 'entities', 'escape', 'unescape', 'special', 'characters', 'tags'], keywords: ['html', 'entities', 'escape', 'unescape', 'special', 'characters', 'tags'],
component: () => import('./html-entities.vue'), component: () => import('./html-entities.vue'),
icon: Code, icon: Code,

View file

@ -0,0 +1,4 @@
tools:
html-entities:
title: Escape html entities
description: Escape or unescape html entities (replace <,>, &, " and \' to their html version)

View file

@ -1,10 +1,11 @@
import { Edit } from '@vicons/tabler'; import { Edit } from '@vicons/tabler';
import { defineTool } from '../tool'; import { defineTool } from '../tool';
import { translate } from '@/plugins/i18n.plugin';
export const tool = defineTool({ export const tool = defineTool({
name: 'HTML WYSIWYG editor', name: translate('tools.html-wysiwyg-editor.title'),
path: '/html-wysiwyg-editor', path: '/html-wysiwyg-editor',
description: 'Online HTML editor with feature-rich WYSIWYG editor, get the source code of the content immediately.', description: translate('tools.html-wysiwyg-editor.description'),
keywords: ['html', 'wysiwyg', 'editor', 'p', 'ul', 'ol', 'converter', 'live'], keywords: ['html', 'wysiwyg', 'editor', 'p', 'ul', 'ol', 'converter', 'live'],
component: () => import('./html-wysiwyg-editor.vue'), component: () => import('./html-wysiwyg-editor.vue'),
icon: Edit, icon: Edit,

View file

@ -0,0 +1,4 @@
tools:
html-wysiwyg-editor:
title: HTML WYSIWYG editor
description: Online HTML editor with feature-rich WYSIWYG editor, get the source code of the content immediately.

View file

@ -2,11 +2,12 @@ import { HttpRound } from '@vicons/material';
import { defineTool } from '../tool'; import { defineTool } from '../tool';
import { codesByCategories } from './http-status-codes.constants'; import { codesByCategories } from './http-status-codes.constants';
import { translate } from '@/plugins/i18n.plugin';
export const tool = defineTool({ export const tool = defineTool({
name: 'HTTP status codes', name: translate('tools.http-status-codes.title'),
path: '/http-status-codes', path: '/http-status-codes',
description: 'The list of all HTTP status codes their name and their meaning.', description: translate('tools.http-status-codes.description'),
keywords: [ keywords: [
'http', 'http',
'status', 'status',

View file

@ -0,0 +1,4 @@
tools:
http-status-codes:
title: HTTP status codes
description: The list of all HTTP status codes their name and their meaning.

View file

@ -1,10 +1,11 @@
import { defineTool } from '../tool'; import { defineTool } from '../tool';
import { translate } from '@/plugins/i18n.plugin';
import Bank from '~icons/mdi/bank'; import Bank from '~icons/mdi/bank';
export const tool = defineTool({ export const tool = defineTool({
name: 'IBAN validator and parser', name: translate('tools.iban-validator-and-parser.title'),
path: '/iban-validator-and-parser', path: '/iban-validator-and-parser',
description: 'Validate and parse IBAN numbers. Check if IBAN is valid and get the country, BBAN, if it is a QR-IBAN and the IBAN friendly format.', description: translate('tools.iban-validator-and-parser.description'),
keywords: ['iban', 'validator', 'and', 'parser', 'bic', 'bank'], keywords: ['iban', 'validator', 'and', 'parser', 'bic', 'bank'],
component: () => import('./iban-validator-and-parser.vue'), component: () => import('./iban-validator-and-parser.vue'),
icon: Bank, icon: Bank,

View file

@ -0,0 +1,4 @@
tools:
iban-validator-and-parser:
title: IBAN validator and parser
description: Validate and parse IBAN numbers. Check if IBAN is valid and get the country, BBAN, if it is a QR-IBAN and the IBAN friendly format.

View file

@ -1,10 +1,11 @@
import { ArrowsLeftRight } from '@vicons/tabler'; import { ArrowsLeftRight } from '@vicons/tabler';
import { defineTool } from '../tool'; import { defineTool } from '../tool';
import { translate } from '@/plugins/i18n.plugin';
export const tool = defineTool({ export const tool = defineTool({
name: 'Integer base converter', name: translate('tools.base-converter.title'),
path: '/base-converter', path: '/base-converter',
description: 'Convert number between different bases (decimal, hexadecimal, binary, octal, base64, ...)', description: translate('tools.base-converter.description'),
keywords: ['integer', 'number', 'base', 'conversion', 'decimal', 'hexadecimal', 'binary', 'octal', 'base64'], keywords: ['integer', 'number', 'base', 'conversion', 'decimal', 'hexadecimal', 'binary', 'octal', 'base64'],
component: () => import('./integer-base-converter.vue'), component: () => import('./integer-base-converter.vue'),
icon: ArrowsLeftRight, icon: ArrowsLeftRight,

View file

@ -0,0 +1,4 @@
tools:
base-converter:
title: Integer base converter
description: Convert number between different bases (decimal, hexadecimal, binary, octal, base64, ...)

View file

@ -1,10 +1,11 @@
import { Binary } from '@vicons/tabler'; import { Binary } from '@vicons/tabler';
import { defineTool } from '../tool'; import { defineTool } from '../tool';
import { translate } from '@/plugins/i18n.plugin';
export const tool = defineTool({ export const tool = defineTool({
name: 'Ipv4 address converter', name: translate('tools.ipv4-address-converter.title'),
path: '/ipv4-address-converter', path: '/ipv4-address-converter',
description: 'Convert an ip address into decimal, binary, hexadecimal or event in ipv6', description: translate('tools.ipv4-address-converter.description'),
keywords: ['ipv4', 'address', 'converter', 'decimal', 'hexadecimal', 'binary', 'ipv6'], keywords: ['ipv4', 'address', 'converter', 'decimal', 'hexadecimal', 'binary', 'ipv6'],
component: () => import('./ipv4-address-converter.vue'), component: () => import('./ipv4-address-converter.vue'),
icon: Binary, icon: Binary,

View file

@ -0,0 +1,4 @@
tools:
ipv4-address-converter:
title: Ipv4 address converter
description: Convert an ip address into decimal, binary, hexadecimal or event in ipv6

View file

@ -1,11 +1,11 @@
import { UnfoldMoreOutlined } from '@vicons/material'; import { UnfoldMoreOutlined } from '@vicons/material';
import { defineTool } from '../tool'; import { defineTool } from '../tool';
import { translate } from '@/plugins/i18n.plugin';
export const tool = defineTool({ export const tool = defineTool({
name: 'IPv4 range expander', name: translate('tools.ipv4-range-expander.title'),
path: '/ipv4-range-expander', path: '/ipv4-range-expander',
description: description: translate('tools.ipv4-range-expander.description'),
'Given a start and an end IPv4 address this tool calculates a valid IPv4 network with its CIDR notation.',
keywords: ['ipv4', 'range', 'expander', 'subnet', 'creator', 'cidr'], keywords: ['ipv4', 'range', 'expander', 'subnet', 'creator', 'cidr'],
component: () => import('./ipv4-range-expander.vue'), component: () => import('./ipv4-range-expander.vue'),
icon: UnfoldMoreOutlined, icon: UnfoldMoreOutlined,

View file

@ -0,0 +1,4 @@
tools:
ipv4-range-expander:
title: IPv4 range expander
description: Given a start and an end IPv4 address this tool calculates a valid IPv4 network with its CIDR notation.

View file

@ -1,10 +1,11 @@
import { RouterOutlined } from '@vicons/material'; import { RouterOutlined } from '@vicons/material';
import { defineTool } from '../tool'; import { defineTool } from '../tool';
import { translate } from '@/plugins/i18n.plugin';
export const tool = defineTool({ export const tool = defineTool({
name: 'IPv4 subnet calculator', name: translate('tools.ipv4-subnet-calculator.title'),
path: '/ipv4-subnet-calculator', path: '/ipv4-subnet-calculator',
description: 'Parse your IPv4 CIDR blocks and get all the info you need about your sub network.', description: translate('tools.ipv4-subnet-calculator.description'),
keywords: ['ipv4', 'subnet', 'calculator', 'mask', 'network', 'cidr', 'netmask', 'bitmask', 'broadcast', 'address'], keywords: ['ipv4', 'subnet', 'calculator', 'mask', 'network', 'cidr', 'netmask', 'bitmask', 'broadcast', 'address'],
component: () => import('./ipv4-subnet-calculator.vue'), component: () => import('./ipv4-subnet-calculator.vue'),
icon: RouterOutlined, icon: RouterOutlined,

View file

@ -0,0 +1,4 @@
tools:
ipv4-subnet-calculator:
title: IPv4 subnet calculator
description: Parse your IPv4 CIDR blocks and get all the info you need about your sub network.

View file

@ -1,10 +1,11 @@
import { BuildingFactory } from '@vicons/tabler'; import { BuildingFactory } from '@vicons/tabler';
import { defineTool } from '../tool'; import { defineTool } from '../tool';
import { translate } from '@/plugins/i18n.plugin';
export const tool = defineTool({ export const tool = defineTool({
name: 'IPv6 ULA generator', name: translate('tools.ipv6-ula-generator.title'),
path: '/ipv6-ula-generator', path: '/ipv6-ula-generator',
description: 'Generate your own local, non-routable IP addresses on your network according to RFC4193.', description: translate('tools.ipv6-ula-generator.description'),
keywords: ['ipv6', 'ula', 'generator', 'rfc4193', 'network', 'private'], keywords: ['ipv6', 'ula', 'generator', 'rfc4193', 'network', 'private'],
component: () => import('./ipv6-ula-generator.vue'), component: () => import('./ipv6-ula-generator.vue'),
icon: BuildingFactory, icon: BuildingFactory,

View file

@ -0,0 +1,4 @@
tools:
ipv6-ula-generator:
title: IPv6 ULA generator
description: Generate your own local, non-routable IP addresses on your network according to RFC4193.

View file

@ -1,10 +1,11 @@
import { CompareArrowsRound } from '@vicons/material'; import { CompareArrowsRound } from '@vicons/material';
import { defineTool } from '../tool'; import { defineTool } from '../tool';
import { translate } from '@/plugins/i18n.plugin';
export const tool = defineTool({ export const tool = defineTool({
name: 'JSON diff', name: translate('tools.json-diff.title'),
path: '/json-diff', path: '/json-diff',
description: 'Compare two JSON objects and get the differences between them.', description: translate('tools.json-diff.description'),
keywords: ['json', 'diff', 'compare', 'difference', 'object', 'data'], keywords: ['json', 'diff', 'compare', 'difference', 'object', 'data'],
component: () => import('./json-diff.vue'), component: () => import('./json-diff.vue'),
icon: CompareArrowsRound, icon: CompareArrowsRound,

View file

@ -0,0 +1,4 @@
tools:
json-diff:
title: JSON diff
description: Compare two JSON objects and get the differences between them.

View file

@ -1,10 +1,11 @@
import { Braces } from '@vicons/tabler'; import { Braces } from '@vicons/tabler';
import { defineTool } from '../tool'; import { defineTool } from '../tool';
import { translate } from '@/plugins/i18n.plugin';
export const tool = defineTool({ export const tool = defineTool({
name: 'JSON minify', name: translate('tools.json-minify.title'),
path: '/json-minify', path: '/json-minify',
description: 'Minify and compress your JSON by removing unnecessary white spaces.', description: translate('tools.json-minify.description'),
keywords: ['json', 'minify', 'format'], keywords: ['json', 'minify', 'format'],
component: () => import('./json-minify.vue'), component: () => import('./json-minify.vue'),
icon: Braces, icon: Braces,

View file

@ -0,0 +1,4 @@
tools:
json-minify:
title: JSON minify
description: Minify and compress your JSON by removing unnecessary white spaces.

View file

@ -1,10 +1,11 @@
import { List } from '@vicons/tabler'; import { List } from '@vicons/tabler';
import { defineTool } from '../tool'; import { defineTool } from '../tool';
import { translate } from '@/plugins/i18n.plugin';
export const tool = defineTool({ export const tool = defineTool({
name: 'JSON to CSV', name: translate('tools.json-to-csv.title'),
path: '/json-to-csv', path: '/json-to-csv',
description: 'Convert JSON to CSV with automatic header detection.', description: translate('tools.json-to-csv.description'),
keywords: ['json', 'to', 'csv', 'convert'], keywords: ['json', 'to', 'csv', 'convert'],
component: () => import('./json-to-csv.vue'), component: () => import('./json-to-csv.vue'),
icon: List, icon: List,

View file

@ -0,0 +1,4 @@
tools:
json-to-csv:
title: JSON to CSV
description: Convert JSON to CSV with automatic header detection.

View file

@ -1,10 +1,11 @@
import { Braces } from '@vicons/tabler'; import { Braces } from '@vicons/tabler';
import { defineTool } from '../tool'; import { defineTool } from '../tool';
import { translate } from '@/plugins/i18n.plugin';
export const tool = defineTool({ export const tool = defineTool({
name: 'JSON to TOML', name: translate('tools.json-to-toml.title'),
path: '/json-to-toml', path: '/json-to-toml',
description: 'Parse and convert JSON to TOML.', description: translate('tools.json-to-toml.description'),
keywords: ['json', 'parse', 'toml', 'convert', 'transform'], keywords: ['json', 'parse', 'toml', 'convert', 'transform'],
component: () => import('./json-to-toml.vue'), component: () => import('./json-to-toml.vue'),
icon: Braces, icon: Braces,

View file

@ -0,0 +1,4 @@
tools:
json-to-toml:
title: JSON to TOML
description: Parse and convert JSON to TOML.

View file

@ -1,10 +1,11 @@
import { Braces } from '@vicons/tabler'; import { Braces } from '@vicons/tabler';
import { defineTool } from '../tool'; import { defineTool } from '../tool';
import { translate } from '@/plugins/i18n.plugin';
export const tool = defineTool({ export const tool = defineTool({
name: 'JSON to YAML converter', name: translate('tools.json-to-yaml-converter.title'),
path: '/json-to-yaml-converter', path: '/json-to-yaml-converter',
description: 'Simply convert JSON to YAML with this live online converter.', description: translate('tools.json-to-yaml-converter.description'),
keywords: ['yaml', 'to', 'json'], keywords: ['yaml', 'to', 'json'],
component: () => import('./json-to-yaml.vue'), component: () => import('./json-to-yaml.vue'),
icon: Braces, icon: Braces,

View file

@ -0,0 +1,4 @@
tools:
json-to-yaml-converter:
title: JSON to YAML converter
description: Simply convert JSON to YAML with this live online converter.

View file

@ -1,10 +1,11 @@
import { Braces } from '@vicons/tabler'; import { Braces } from '@vicons/tabler';
import { defineTool } from '../tool'; import { defineTool } from '../tool';
import { translate } from '@/plugins/i18n.plugin';
export const tool = defineTool({ export const tool = defineTool({
name: 'JSON prettify and format', name: translate('tools.json-prettify.title'),
path: '/json-prettify', path: '/json-prettify',
description: 'Prettify your JSON string to a human friendly readable format.', description: translate('tools.json-prettify.description'),
keywords: ['json', 'viewer', 'prettify', 'format'], keywords: ['json', 'viewer', 'prettify', 'format'],
component: () => import('./json-viewer.vue'), component: () => import('./json-viewer.vue'),
icon: Braces, icon: Braces,

View file

@ -0,0 +1,4 @@
tools:
json-prettify:
title: JSON prettify and format
description: Prettify your JSON string to a human friendly readable format.

View file

@ -1,10 +1,11 @@
import { Key } from '@vicons/tabler'; import { Key } from '@vicons/tabler';
import { defineTool } from '../tool'; import { defineTool } from '../tool';
import { translate } from '@/plugins/i18n.plugin';
export const tool = defineTool({ export const tool = defineTool({
name: 'JWT parser', name: translate('tools.jwt-parser.title'),
path: '/jwt-parser', path: '/jwt-parser',
description: 'Parse and decode your JSON Web Token (jwt) and display its content.', description: translate('tools.jwt-parser.description'),
keywords: [ keywords: [
'jwt', 'jwt',
'parser', 'parser',

View file

@ -0,0 +1,4 @@
tools:
jwt-parser:
title: JWT parser
description: Parse and decode your JSON Web Token (jwt) and display its content.

View file

@ -1,10 +1,11 @@
import { Keyboard } from '@vicons/tabler'; import { Keyboard } from '@vicons/tabler';
import { defineTool } from '../tool'; import { defineTool } from '../tool';
import { translate } from '@/plugins/i18n.plugin';
export const tool = defineTool({ export const tool = defineTool({
name: 'Keycode info', name: translate('tools.keycode-info.title'),
path: '/keycode-info', path: '/keycode-info',
description: 'Find the javascript keycode, code, location and modifiers of any pressed key.', description: translate('tools.keycode-info.description'),
keywords: [ keywords: [
'keycode', 'keycode',
'info', 'info',

View file

@ -0,0 +1,4 @@
tools:
keycode-info:
title: Keycode info
description: Find the javascript keycode, code, location and modifiers of any pressed key.

View file

@ -1,11 +1,11 @@
import { List } from '@vicons/tabler'; import { List } from '@vicons/tabler';
import { defineTool } from '../tool'; import { defineTool } from '../tool';
import { translate } from '@/plugins/i18n.plugin';
export const tool = defineTool({ export const tool = defineTool({
name: 'List converter', name: translate('tools.list-converter.title'),
path: '/list-converter', path: '/list-converter',
description: description: translate('tools.list-converter.description'),
'This tool can process column-based data and apply various changes (transpose, add prefix and suffix, reverse list, sort list, lowercase values, truncate values) to each row.',
keywords: ['list', 'converter', 'sort', 'reverse', 'prefix', 'suffix', 'lowercase', 'truncate'], keywords: ['list', 'converter', 'sort', 'reverse', 'prefix', 'suffix', 'lowercase', 'truncate'],
component: () => import('./list-converter.vue'), component: () => import('./list-converter.vue'),
icon: List, icon: List,

View file

@ -0,0 +1,4 @@
tools:
list-converter:
title: List converter
description: This tool can process column-based data and apply various changes (transpose, add prefix and suffix, reverse list, sort list, lowercase values, truncate values) to each row.

View file

@ -1,11 +1,11 @@
import { AlignJustified } from '@vicons/tabler'; import { AlignJustified } from '@vicons/tabler';
import { defineTool } from '../tool'; import { defineTool } from '../tool';
import { translate } from '@/plugins/i18n.plugin';
export const tool = defineTool({ export const tool = defineTool({
name: 'Lorem ipsum generator', name: translate('tools.lorem-ipsum-generator.title'),
path: '/lorem-ipsum-generator', path: '/lorem-ipsum-generator',
description: description: translate('tools.lorem-ipsum-generator.description'),
'Lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document or a typeface without relying on meaningful content',
keywords: ['lorem', 'ipsum', 'dolor', 'sit', 'amet', 'placeholder', 'text', 'filler', 'random', 'generator'], keywords: ['lorem', 'ipsum', 'dolor', 'sit', 'amet', 'placeholder', 'text', 'filler', 'random', 'generator'],
component: () => import('./lorem-ipsum-generator.vue'), component: () => import('./lorem-ipsum-generator.vue'),
icon: AlignJustified, icon: AlignJustified,

View file

@ -0,0 +1,4 @@
tools:
lorem-ipsum-generator:
title: Lorem ipsum generator
description: Lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document or a typeface without relying on meaningful content

View file

@ -1,10 +1,11 @@
import { Devices } from '@vicons/tabler'; import { Devices } from '@vicons/tabler';
import { defineTool } from '../tool'; import { defineTool } from '../tool';
import { translate } from '@/plugins/i18n.plugin';
export const tool = defineTool({ export const tool = defineTool({
name: 'MAC address generator', name: translate('tools.mac-address-generator.title'),
path: '/mac-address-generator', path: '/mac-address-generator',
description: 'Enter the quantity and prefix. MAC addresses will be generated in your chosen case (uppercase or lowercase)', description: translate('tools.mac-address-generator.description'),
keywords: ['mac', 'address', 'generator', 'random', 'prefix'], keywords: ['mac', 'address', 'generator', 'random', 'prefix'],
component: () => import('./mac-address-generator.vue'), component: () => import('./mac-address-generator.vue'),
icon: Devices, icon: Devices,

View file

@ -0,0 +1,4 @@
tools:
mac-address-generator:
title: MAC address generator
description: Enter the quantity and prefix. MAC addresses will be generated in your chosen case (uppercase or lowercase)

View file

@ -1,10 +1,11 @@
import { Devices } from '@vicons/tabler'; import { Devices } from '@vicons/tabler';
import { defineTool } from '../tool'; import { defineTool } from '../tool';
import { translate } from '@/plugins/i18n.plugin';
export const tool = defineTool({ export const tool = defineTool({
name: 'MAC address lookup', name: translate('tools.mac-address-lookup.title'),
path: '/mac-address-lookup', path: '/mac-address-lookup',
description: 'Find the vendor and manufacturer of a device by its MAC address.', description: translate('tools.mac-address-lookup.description'),
keywords: ['mac', 'address', 'lookup', 'vendor', 'parser', 'manufacturer'], keywords: ['mac', 'address', 'lookup', 'vendor', 'parser', 'manufacturer'],
component: () => import('./mac-address-lookup.vue'), component: () => import('./mac-address-lookup.vue'),
icon: Devices, icon: Devices,

View file

@ -0,0 +1,4 @@
tools:
mac-address-lookup:
title: MAC address lookup
description: Find the vendor and manufacturer of a device by its MAC address.

View file

@ -1,10 +1,11 @@
import { Math } from '@vicons/tabler'; import { Math } from '@vicons/tabler';
import { defineTool } from '../tool'; import { defineTool } from '../tool';
import { translate } from '@/plugins/i18n.plugin';
export const tool = defineTool({ export const tool = defineTool({
name: 'Math evaluator', name: translate('tools.math-evaluator.title'),
path: '/math-evaluator', path: '/math-evaluator',
description: 'A calculator for evaluating mathematical expressions. You can use functions like sqrt, cos, sin, abs, etc.', description: translate('tools.math-evaluator.description'),
keywords: [ keywords: [
'math', 'math',
'evaluator', 'evaluator',

View file

@ -0,0 +1,4 @@
tools:
math-evaluator:
title: Math evaluator
description: A calculator for evaluating mathematical expressions. You can use functions like sqrt, cos, sin, abs, etc.

View file

@ -1,10 +1,11 @@
import { Tags } from '@vicons/tabler'; import { Tags } from '@vicons/tabler';
import { defineTool } from '../tool'; import { defineTool } from '../tool';
import { translate } from '@/plugins/i18n.plugin';
export const tool = defineTool({ export const tool = defineTool({
name: 'Open graph meta generator', name: translate('tools.og-meta-generator.title'),
path: '/og-meta-generator', path: '/og-meta-generator',
description: 'Generate open-graph and socials html meta tags for your website.', description: translate('tools.og-meta-generator.description'),
keywords: [ keywords: [
'meta', 'meta',
'tag', 'tag',

View file

@ -0,0 +1,4 @@
tools:
og-meta-generator:
title: Open graph meta generator
description: Generate open-graph and socials html meta tags for your website.

View file

@ -1,10 +1,11 @@
import { World } from '@vicons/tabler'; import { World } from '@vicons/tabler';
import { defineTool } from '../tool'; import { defineTool } from '../tool';
import { translate } from '@/plugins/i18n.plugin';
export const tool = defineTool({ export const tool = defineTool({
name: 'Mime types', name: translate('tools.mime-types.title'),
path: '/mime-types', path: '/mime-types',
description: 'Convert mime types to extensions and vice-versa.', description: translate('tools.mime-types.description'),
keywords: ['mime', 'types', 'extension', 'content', 'type'], keywords: ['mime', 'types', 'extension', 'content', 'type'],
component: () => import('./mime-types.vue'), component: () => import('./mime-types.vue'),
icon: World, icon: World,

View file

@ -0,0 +1,4 @@
tools:
mime-types:
title: Mime types
description: Convert mime types to extensions and vice-versa.

View file

@ -1,10 +1,11 @@
import { defineTool } from '../tool'; import { defineTool } from '../tool';
import n7mIcon from './n7m-icon.svg?component'; import n7mIcon from './n7m-icon.svg?component';
import { translate } from '@/plugins/i18n.plugin';
export const tool = defineTool({ export const tool = defineTool({
name: 'Numeronym generator', name: translate('tools.numeronym-generator.title'),
path: '/numeronym-generator', path: '/numeronym-generator',
description: 'A numeronym is a word where a number is used to form an abbreviation. For example, "i18n" is a numeronym of "internationalization" where 18 stands for the number of letters between the first i and the last n in the word.', description: translate('tools.numeronym-generator.description'),
keywords: ['numeronym', 'generator', 'abbreviation', 'i18n', 'a11y', 'l10n'], keywords: ['numeronym', 'generator', 'abbreviation', 'i18n', 'a11y', 'l10n'],
component: () => import('./numeronym-generator.vue'), component: () => import('./numeronym-generator.vue'),
icon: n7mIcon, icon: n7mIcon,

View file

@ -0,0 +1,4 @@
tools:
numeronym-generator:
title: Numeronym generator
description: A numeronym is a word where a number is used to form an abbreviation. For example, "i18n" is a numeronym of "internationalization" where 18 stands for the number of letters between the first i and the last n in the word.

View file

@ -1,10 +1,11 @@
import { DeviceMobile } from '@vicons/tabler'; import { DeviceMobile } from '@vicons/tabler';
import { defineTool } from '../tool'; import { defineTool } from '../tool';
import { translate } from '@/plugins/i18n.plugin';
export const tool = defineTool({ export const tool = defineTool({
name: 'OTP code generator', name: translate('tools.otp-generator.title'),
path: '/otp-generator', path: '/otp-generator',
description: 'Generate and validate time-based OTP (one time password) for multi-factor authentication.', description: translate('tools.otp-generator.description'),
keywords: [ keywords: [
'otp', 'otp',
'code', 'code',

View file

@ -0,0 +1,4 @@
tools:
otp-generator:
title: OTP code generator
description: Generate and validate time-based OTP (one time password) for multi-factor authentication.

View file

@ -1,10 +1,11 @@
import { defineTool } from '../tool'; import { defineTool } from '../tool';
import { translate } from '@/plugins/i18n.plugin';
import PasswordIcon from '~icons/mdi/form-textbox-password'; import PasswordIcon from '~icons/mdi/form-textbox-password';
export const tool = defineTool({ export const tool = defineTool({
name: 'Password strength analyser', name: translate('tools.password-strength-analyser.title'),
path: '/password-strength-analyser', path: '/password-strength-analyser',
description: 'Discover the strength of your password with this client side only password strength analyser and crack time estimation tool.', description: translate('tools.password-strength-analyser.description'),
keywords: ['password', 'strength', 'analyser', 'and', 'crack', 'time', 'estimation', 'brute', 'force', 'attack', 'entropy', 'cracking', 'hash', 'hashing', 'algorithm', 'algorithms', 'md5', 'sha1', 'sha256', 'sha512', 'bcrypt', 'scrypt', 'argon2', 'argon2id', 'argon2i', 'argon2d'], keywords: ['password', 'strength', 'analyser', 'and', 'crack', 'time', 'estimation', 'brute', 'force', 'attack', 'entropy', 'cracking', 'hash', 'hashing', 'algorithm', 'algorithms', 'md5', 'sha1', 'sha256', 'sha512', 'bcrypt', 'scrypt', 'argon2', 'argon2id', 'argon2i', 'argon2d'],
component: () => import('./password-strength-analyser.vue'), component: () => import('./password-strength-analyser.vue'),
icon: PasswordIcon, icon: PasswordIcon,

View file

@ -0,0 +1,4 @@
tools:
password-strength-analyser:
title: Password strength analyser
description: Discover the strength of your password with this client side only password strength analyser and crack time estimation tool.

View file

@ -1,10 +1,11 @@
import { defineTool } from '../tool'; import { defineTool } from '../tool';
import { translate } from '@/plugins/i18n.plugin';
import FileCertIcon from '~icons/mdi/file-certificate-outline'; import FileCertIcon from '~icons/mdi/file-certificate-outline';
export const tool = defineTool({ export const tool = defineTool({
name: 'PDF signature checker', name: translate('tools.pdf-signature-checker.title'),
path: '/pdf-signature-checker', path: '/pdf-signature-checker',
description: 'Verify the signatures of a PDF file. A signed PDF file contains one or more signatures that may be used to determine whether the contents of the file have been altered since the file was signed.', description: translate('tools.pdf-signature-checker.description'),
keywords: ['pdf', 'signature', 'checker', 'verify', 'validate', 'sign'], keywords: ['pdf', 'signature', 'checker', 'verify', 'validate', 'sign'],
component: () => import('./pdf-signature-checker.vue'), component: () => import('./pdf-signature-checker.vue'),
icon: FileCertIcon, icon: FileCertIcon,

View file

@ -0,0 +1,4 @@
tools:
pdf-signature-checker:
title: PDF signature checker
description: Verify the signatures of a PDF file. A signed PDF file contains one or more signatures that may be used to determine whether the contents of the file have been altered since the file was signed.

View file

@ -1,10 +1,11 @@
import { Percentage } from '@vicons/tabler'; import { Percentage } from '@vicons/tabler';
import { defineTool } from '../tool'; import { defineTool } from '../tool';
import { translate } from '@/plugins/i18n.plugin';
export const tool = defineTool({ export const tool = defineTool({
name: 'Percentage calculator', name: translate('tools.percentage-calculator.title'),
path: '/percentage-calculator', path: '/percentage-calculator',
description: 'Easily calculate percentages from a value to another value, or from a percentage to a value.', description: translate('tools.percentage-calculator.description'),
keywords: ['percentage', 'calculator', 'calculate', 'value', 'number', '%'], keywords: ['percentage', 'calculator', 'calculate', 'value', 'number', '%'],
component: () => import('./percentage-calculator.vue'), component: () => import('./percentage-calculator.vue'),
icon: Percentage, icon: Percentage,

View file

@ -0,0 +1,4 @@
tools:
percentage-calculator:
title: Percentage calculator
description: Easily calculate percentages from a value to another value, or from a percentage to a value.

Some files were not shown because too many files have changed in this diff Show more