mirror of
https://github.com/CorentinTh/it-tools.git
synced 2025-05-05 13:57:10 -04:00
Merge pull request #102 from CorentinTh/main
[pull] main from CorentinTh:main
This commit is contained in:
commit
f8697fa125
469 changed files with 674 additions and 170 deletions
71
locales/vi.yml
Normal file
71
locales/vi.yml
Normal file
|
@ -0,0 +1,71 @@
|
||||||
|
home:
|
||||||
|
categories:
|
||||||
|
newestTools: Công cụ mới nhất
|
||||||
|
favoriteTools: 'Công cụ yêu thích của bạn'
|
||||||
|
allTools: 'Tất cả công cụ'
|
||||||
|
subtitle: 'Công cụ tiện ích cho nhà phát triển'
|
||||||
|
toggleMenu: 'Chuyển đổi menu'
|
||||||
|
home: Trang chủ
|
||||||
|
uiLib: 'Thư viện UI'
|
||||||
|
support: 'Hỗ trợ phát triển IT Tools'
|
||||||
|
buyMeACoffee: 'Ủng hộ tác giả'
|
||||||
|
follow:
|
||||||
|
title: 'Bạn thích IT-tools?'
|
||||||
|
p1: 'Hãy cho chúng tôi một ngôi sao trên'
|
||||||
|
githubRepository: 'Kho GitHub IT-Tools'
|
||||||
|
p2: 'hoặc theo dõi chúng tôi trên'
|
||||||
|
twitterAccount: 'Tài khoản Twitter IT-Tools'
|
||||||
|
thankYou: 'Cảm ơn bạn!'
|
||||||
|
nav:
|
||||||
|
github: 'Kho GitHub'
|
||||||
|
githubRepository: 'Kho GitHub IT-Tools'
|
||||||
|
twitter: 'Tài khoản Twitter'
|
||||||
|
twitterAccount: 'Tài khoản Twitter IT Tools'
|
||||||
|
about: 'Về IT-Tools'
|
||||||
|
aboutLabel: 'Giới thiệu'
|
||||||
|
darkMode: 'Chế độ tối'
|
||||||
|
lightMode: 'Chế độ sáng'
|
||||||
|
mode: 'Chuyển đổi chế độ tối/sáng'
|
||||||
|
about:
|
||||||
|
content: >
|
||||||
|
# Về IT-Tools
|
||||||
|
|
||||||
|
Website tuyệt vời này, được tạo ra bằng ❤ bởi [Corentin Thomasset](https://github.com/CorentinTh), tổng hợp các công cụ hữu ích cho nhà phát triển và những người làm việc trong lĩnh vực IT. Nếu bạn thấy nó hữu ích, xin đừng ngần ngại chia sẻ cho những người mà bạn nghĩ sẽ thấy nó hữu ích và đừng quên đánh dấu nó trong thanh lối tắt của bạn!
|
||||||
|
|
||||||
|
IT Tools là mã nguồn mở (dưới giấy phép MIT) và miễn phí, và sẽ luôn như vậy, nhưng tôi phải trả tiền để lưu trữ và gia hạn tên miền. Nếu bạn muốn hỗ trợ công việc của tôi, và khích lệ tôi thêm nhiều công cụ hơn, hãy xem xét hỗ trợ bằng cách [tài trợ cho tôi](https://www.buymeacoffee.com/cthmsst).
|
||||||
|
|
||||||
|
## Công nghệ
|
||||||
|
|
||||||
|
IT Tools được tạo ra bằng Vue.js (Vue 3) với thư viện thành phần Naive UI và được lưu trữ và triển khai liên tục bởi Vercel. Các thư viện mã nguồn mở của bên thứ ba được sử dụng trong một số công cụ, bạn có thể tìm danh sách đầy đủ trong file [package.json](https://github.com/CorentinTh/it-tools/blob/main/package.json) của kho lưu trữ.
|
||||||
|
|
||||||
|
## Phát hiện lỗi? Một công cụ bị thiếu?
|
||||||
|
|
||||||
|
Nếu bạn cần một công cụ hiện không có ở đây, và bạn nghĩ rằng nó có thể hữu ích, bạn được chào đón để gửi một yêu cầu tính năng trong [phần vấn đề](https://github.com/CorentinTh/it-tools/issues/new/choose) trong kho GitHub.
|
||||||
|
|
||||||
|
Và nếu bạn phát hiện ra một lỗi, hoặc điều gì đó không hoạt động như mong đợi, xin vui lòng gửi báo cáo lỗi trong [phần vấn đề](https://github.com/CorentinTh/it-tools/issues/new/choose) trong kho GitHub.
|
||||||
|
|
||||||
|
404:
|
||||||
|
notFound: '404 Không Tìm Thấy'
|
||||||
|
sorry: 'Xin lỗi, trang này dường như không tồn tại'
|
||||||
|
maybe: 'Có thể bộ nhớ đệm đang làm những điều kỳ lạ, thử làm mới cưỡng bức?'
|
||||||
|
backHome: 'Quay về trang chủ'
|
||||||
|
favoriteButton:
|
||||||
|
remove: 'Xóa khỏi mục yêu thích'
|
||||||
|
add: 'Thêm vào mục yêu thích'
|
||||||
|
toolCard:
|
||||||
|
new: Mới
|
||||||
|
search:
|
||||||
|
label: Tìm kiếm
|
||||||
|
tools:
|
||||||
|
categories:
|
||||||
|
favorite-tools: 'Công cụ yêu thích của bạn'
|
||||||
|
crypto: Crypto
|
||||||
|
converter: Chuyển đổi
|
||||||
|
web: Web
|
||||||
|
images and videos: 'Hình ảnh & Video'
|
||||||
|
development: Phát triển
|
||||||
|
network: Mạng
|
||||||
|
math: Toán học
|
||||||
|
measurement: Đo lường
|
||||||
|
text: Văn bản
|
||||||
|
data: Dữ liệu
|
61
scripts/build-locales-files.mjs
Normal file
61
scripts/build-locales-files.mjs
Normal file
|
@ -0,0 +1,61 @@
|
||||||
|
import { existsSync, writeFileSync } from 'node:fs';
|
||||||
|
import { Glob } from 'bun';
|
||||||
|
import _ from 'lodash';
|
||||||
|
|
||||||
|
async function getPathsFromGlobs({ patterns, onlyFiles = true }) {
|
||||||
|
const filePaths = [];
|
||||||
|
|
||||||
|
for (const pattern of patterns) {
|
||||||
|
const glob = new Glob(pattern);
|
||||||
|
|
||||||
|
for await (const filePath of glob.scan({ onlyFiles, cwd: '.' })) {
|
||||||
|
filePaths.push(filePath);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return { filePaths };
|
||||||
|
}
|
||||||
|
|
||||||
|
function getLocaleKey({ filePath }) {
|
||||||
|
const fileName = filePath.split('/').pop();
|
||||||
|
return fileName.replace(/\.yml$/, '');
|
||||||
|
}
|
||||||
|
|
||||||
|
async function createMissingLocaleFile({ localeKey }) {
|
||||||
|
const fileName = `${localeKey}.yml`;
|
||||||
|
|
||||||
|
const { filePaths: localesDirs } = await getPathsFromGlobs({
|
||||||
|
patterns: [
|
||||||
|
'locales',
|
||||||
|
'src/tools/*/locales',
|
||||||
|
],
|
||||||
|
onlyFiles: false,
|
||||||
|
});
|
||||||
|
|
||||||
|
for (const localesDir of localesDirs) {
|
||||||
|
const filePath = `${localesDir}/${fileName}`;
|
||||||
|
|
||||||
|
if (existsSync(filePath)) {
|
||||||
|
console.log(`Locale file already exists: ${filePath}`);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log(`Creating missing locale file: ${filePath}`);
|
||||||
|
writeFileSync(filePath, '', 'utf8');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const { filePaths } = await getPathsFromGlobs({
|
||||||
|
patterns: [
|
||||||
|
'locales/*.yml',
|
||||||
|
'src/tools/*/locales/*.yml',
|
||||||
|
],
|
||||||
|
});
|
||||||
|
|
||||||
|
await Promise.all(
|
||||||
|
_.chain(filePaths)
|
||||||
|
.map(filePath => getLocaleKey({ filePath }))
|
||||||
|
.uniq()
|
||||||
|
.map(localeKey => createMissingLocaleFile({ localeKey }))
|
||||||
|
.value(),
|
||||||
|
);
|
|
@ -9,6 +9,7 @@ const localesLong: Record<string, string> = {
|
||||||
ru: 'Русский',
|
ru: 'Русский',
|
||||||
uk: 'Українська',
|
uk: 'Українська',
|
||||||
zh: '中文',
|
zh: '中文',
|
||||||
|
vi: 'Tiếng Việt',
|
||||||
};
|
};
|
||||||
|
|
||||||
const localeOptions = computed(() =>
|
const localeOptions = computed(() =>
|
||||||
|
|
|
@ -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,
|
||||||
|
|
4
src/tools/base64-file-converter/locales/en.yml
Normal file
4
src/tools/base64-file-converter/locales/en.yml
Normal 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.
|
0
src/tools/base64-file-converter/locales/fr.yml
Normal file
0
src/tools/base64-file-converter/locales/fr.yml
Normal file
0
src/tools/base64-file-converter/locales/pt.yml
Normal file
0
src/tools/base64-file-converter/locales/pt.yml
Normal file
0
src/tools/base64-file-converter/locales/uk.yml
Normal file
0
src/tools/base64-file-converter/locales/uk.yml
Normal file
0
src/tools/base64-file-converter/locales/zh.yml
Normal file
0
src/tools/base64-file-converter/locales/zh.yml
Normal 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,
|
||||||
|
|
4
src/tools/base64-string-converter/locales/en.yml
Normal file
4
src/tools/base64-string-converter/locales/en.yml
Normal 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.
|
0
src/tools/base64-string-converter/locales/fr.yml
Normal file
0
src/tools/base64-string-converter/locales/fr.yml
Normal file
0
src/tools/base64-string-converter/locales/pt.yml
Normal file
0
src/tools/base64-string-converter/locales/pt.yml
Normal file
0
src/tools/base64-string-converter/locales/uk.yml
Normal file
0
src/tools/base64-string-converter/locales/uk.yml
Normal file
0
src/tools/base64-string-converter/locales/zh.yml
Normal file
0
src/tools/base64-string-converter/locales/zh.yml
Normal 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',
|
||||||
|
|
4
src/tools/basic-auth-generator/locales/en.yml
Normal file
4
src/tools/basic-auth-generator/locales/en.yml
Normal 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.
|
0
src/tools/basic-auth-generator/locales/fr.yml
Normal file
0
src/tools/basic-auth-generator/locales/fr.yml
Normal file
0
src/tools/basic-auth-generator/locales/pt.yml
Normal file
0
src/tools/basic-auth-generator/locales/pt.yml
Normal file
0
src/tools/basic-auth-generator/locales/uk.yml
Normal file
0
src/tools/basic-auth-generator/locales/uk.yml
Normal file
0
src/tools/basic-auth-generator/locales/zh.yml
Normal file
0
src/tools/basic-auth-generator/locales/zh.yml
Normal 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,
|
||||||
|
|
4
src/tools/bcrypt/locales/en.yml
Normal file
4
src/tools/bcrypt/locales/en.yml
Normal 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.
|
0
src/tools/bcrypt/locales/fr.yml
Normal file
0
src/tools/bcrypt/locales/fr.yml
Normal file
0
src/tools/bcrypt/locales/pt.yml
Normal file
0
src/tools/bcrypt/locales/pt.yml
Normal file
0
src/tools/bcrypt/locales/uk.yml
Normal file
0
src/tools/bcrypt/locales/uk.yml
Normal file
0
src/tools/bcrypt/locales/zh.yml
Normal file
0
src/tools/bcrypt/locales/zh.yml
Normal 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,
|
||||||
|
|
4
src/tools/benchmark-builder/locales/en.yml
Normal file
4
src/tools/benchmark-builder/locales/en.yml
Normal 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.
|
0
src/tools/benchmark-builder/locales/fr.yml
Normal file
0
src/tools/benchmark-builder/locales/fr.yml
Normal file
0
src/tools/benchmark-builder/locales/pt.yml
Normal file
0
src/tools/benchmark-builder/locales/pt.yml
Normal file
0
src/tools/benchmark-builder/locales/uk.yml
Normal file
0
src/tools/benchmark-builder/locales/uk.yml
Normal file
0
src/tools/benchmark-builder/locales/zh.yml
Normal file
0
src/tools/benchmark-builder/locales/zh.yml
Normal 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,
|
||||||
|
|
4
src/tools/bip39-generator/locales/en.yml
Normal file
4
src/tools/bip39-generator/locales/en.yml
Normal 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.
|
0
src/tools/bip39-generator/locales/fr.yml
Normal file
0
src/tools/bip39-generator/locales/fr.yml
Normal file
0
src/tools/bip39-generator/locales/pt.yml
Normal file
0
src/tools/bip39-generator/locales/pt.yml
Normal file
0
src/tools/bip39-generator/locales/uk.yml
Normal file
0
src/tools/bip39-generator/locales/uk.yml
Normal file
0
src/tools/bip39-generator/locales/zh.yml
Normal file
0
src/tools/bip39-generator/locales/zh.yml
Normal 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,
|
||||||
|
|
4
src/tools/camera-recorder/locales/en.yml
Normal file
4
src/tools/camera-recorder/locales/en.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
tools:
|
||||||
|
camera-recorder:
|
||||||
|
title: Camera recorder
|
||||||
|
description: Take a picture or record a video from your webcam or camera.
|
0
src/tools/camera-recorder/locales/fr.yml
Normal file
0
src/tools/camera-recorder/locales/fr.yml
Normal file
0
src/tools/camera-recorder/locales/pt.yml
Normal file
0
src/tools/camera-recorder/locales/pt.yml
Normal file
0
src/tools/camera-recorder/locales/uk.yml
Normal file
0
src/tools/camera-recorder/locales/uk.yml
Normal file
0
src/tools/camera-recorder/locales/zh.yml
Normal file
0
src/tools/camera-recorder/locales/zh.yml
Normal 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',
|
||||||
|
|
4
src/tools/case-converter/locales/en.yml
Normal file
4
src/tools/case-converter/locales/en.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
tools:
|
||||||
|
case-converter:
|
||||||
|
title: Case converter
|
||||||
|
description: Change the case of a string and chose between different formats
|
0
src/tools/case-converter/locales/fr.yml
Normal file
0
src/tools/case-converter/locales/fr.yml
Normal file
0
src/tools/case-converter/locales/pt.yml
Normal file
0
src/tools/case-converter/locales/pt.yml
Normal file
0
src/tools/case-converter/locales/uk.yml
Normal file
0
src/tools/case-converter/locales/uk.yml
Normal file
0
src/tools/case-converter/locales/zh.yml
Normal file
0
src/tools/case-converter/locales/zh.yml
Normal 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',
|
||||||
|
|
4
src/tools/chmod-calculator/locales/en.yml
Normal file
4
src/tools/chmod-calculator/locales/en.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
tools:
|
||||||
|
chmod-calculator:
|
||||||
|
title: Chmod calculator
|
||||||
|
description: Compute your chmod permissions and commands with this online chmod calculator.
|
0
src/tools/chmod-calculator/locales/fr.yml
Normal file
0
src/tools/chmod-calculator/locales/fr.yml
Normal file
0
src/tools/chmod-calculator/locales/pt.yml
Normal file
0
src/tools/chmod-calculator/locales/pt.yml
Normal file
0
src/tools/chmod-calculator/locales/uk.yml
Normal file
0
src/tools/chmod-calculator/locales/uk.yml
Normal file
0
src/tools/chmod-calculator/locales/zh.yml
Normal file
0
src/tools/chmod-calculator/locales/zh.yml
Normal 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,
|
||||||
|
|
4
src/tools/chronometer/locales/en.yml
Normal file
4
src/tools/chronometer/locales/en.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
tools:
|
||||||
|
chronometer:
|
||||||
|
title: Chronometer
|
||||||
|
description: Monitor the duration of a thing. Basically a chronometer with simple chronometer features.
|
0
src/tools/chronometer/locales/fr.yml
Normal file
0
src/tools/chronometer/locales/fr.yml
Normal file
0
src/tools/chronometer/locales/pt.yml
Normal file
0
src/tools/chronometer/locales/pt.yml
Normal file
0
src/tools/chronometer/locales/uk.yml
Normal file
0
src/tools/chronometer/locales/uk.yml
Normal file
0
src/tools/chronometer/locales/zh.yml
Normal file
0
src/tools/chronometer/locales/zh.yml
Normal 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,
|
||||||
|
|
4
src/tools/color-converter/locales/en.yml
Normal file
4
src/tools/color-converter/locales/en.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
tools:
|
||||||
|
color-converter:
|
||||||
|
title: Color converter
|
||||||
|
description: Convert color between the different formats (hex, rgb, hsl and css name)
|
0
src/tools/color-converter/locales/fr.yml
Normal file
0
src/tools/color-converter/locales/fr.yml
Normal file
0
src/tools/color-converter/locales/pt.yml
Normal file
0
src/tools/color-converter/locales/pt.yml
Normal file
0
src/tools/color-converter/locales/uk.yml
Normal file
0
src/tools/color-converter/locales/uk.yml
Normal file
0
src/tools/color-converter/locales/zh.yml
Normal file
0
src/tools/color-converter/locales/zh.yml
Normal 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',
|
||||||
|
|
4
src/tools/crontab-generator/locales/en.yml
Normal file
4
src/tools/crontab-generator/locales/en.yml
Normal 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.
|
0
src/tools/crontab-generator/locales/fr.yml
Normal file
0
src/tools/crontab-generator/locales/fr.yml
Normal file
0
src/tools/crontab-generator/locales/pt.yml
Normal file
0
src/tools/crontab-generator/locales/pt.yml
Normal file
0
src/tools/crontab-generator/locales/uk.yml
Normal file
0
src/tools/crontab-generator/locales/uk.yml
Normal file
0
src/tools/crontab-generator/locales/zh.yml
Normal file
0
src/tools/crontab-generator/locales/zh.yml
Normal 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,
|
||||||
|
|
4
src/tools/date-time-converter/locales/en.yml
Normal file
4
src/tools/date-time-converter/locales/en.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
tools:
|
||||||
|
date-converter:
|
||||||
|
title: Date-time converter
|
||||||
|
description: Convert date and time into the various different formats
|
0
src/tools/date-time-converter/locales/fr.yml
Normal file
0
src/tools/date-time-converter/locales/fr.yml
Normal file
0
src/tools/date-time-converter/locales/pt.yml
Normal file
0
src/tools/date-time-converter/locales/pt.yml
Normal file
0
src/tools/date-time-converter/locales/uk.yml
Normal file
0
src/tools/date-time-converter/locales/uk.yml
Normal file
0
src/tools/date-time-converter/locales/zh.yml
Normal file
0
src/tools/date-time-converter/locales/zh.yml
Normal 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',
|
||||||
|
|
4
src/tools/device-information/locales/en.yml
Normal file
4
src/tools/device-information/locales/en.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
tools:
|
||||||
|
device-information:
|
||||||
|
title: Device information
|
||||||
|
description: Get information about your current device (screen size, pixel-ratio, user agent, ...)
|
0
src/tools/device-information/locales/fr.yml
Normal file
0
src/tools/device-information/locales/fr.yml
Normal file
0
src/tools/device-information/locales/pt.yml
Normal file
0
src/tools/device-information/locales/pt.yml
Normal file
0
src/tools/device-information/locales/uk.yml
Normal file
0
src/tools/device-information/locales/uk.yml
Normal file
0
src/tools/device-information/locales/zh.yml
Normal file
0
src/tools/device-information/locales/zh.yml
Normal 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,
|
||||||
|
|
|
@ -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!
|
|
@ -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,
|
||||||
|
|
4
src/tools/emoji-picker/locales/en.yml
Normal file
4
src/tools/emoji-picker/locales/en.yml
Normal 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.
|
0
src/tools/emoji-picker/locales/fr.yml
Normal file
0
src/tools/emoji-picker/locales/fr.yml
Normal file
0
src/tools/emoji-picker/locales/pt.yml
Normal file
0
src/tools/emoji-picker/locales/pt.yml
Normal file
0
src/tools/emoji-picker/locales/uk.yml
Normal file
0
src/tools/emoji-picker/locales/uk.yml
Normal file
0
src/tools/emoji-picker/locales/zh.yml
Normal file
0
src/tools/emoji-picker/locales/zh.yml
Normal 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,
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue