Compare commits

...

59 Commits

Author SHA1 Message Date
nivedin
b5e7577024 fix: saving teamRequest not inheriting properties 2023-12-23 16:12:55 +05:30
nivedin
9bd7961c15 chore: minor padding update 2023-12-22 12:29:06 +05:30
nivedin
4f74cd8f89 chore: minor code update 2023-12-22 12:07:17 +05:30
nivedin
cf4ecd326e chore: minor update for team header-auth properties 2023-12-20 22:22:05 +05:30
nivedin
2ed43f03e1 fix: add loading and error state 2023-12-20 22:19:17 +05:30
nivedin
1ac518ef87 fix: update i18n text 2023-12-20 22:18:27 +05:30
Nivedin
7db7b9b068 fix: fallback section for embeds if invalid link (#3673) 2023-12-19 18:37:44 +05:30
James George
3d25ef48d1 fix(persistence-service): update schemas found to differ in runtime (#3671) 2023-12-19 18:34:27 +05:30
Mir Arif Hasan
4f138beb8a chore: db migration missing message (#3672) 2023-12-19 18:42:00 +06:00
James George
3d7a76bced chore(common): Gist export flow updates (#3665) 2023-12-19 17:37:35 +05:30
Nivedin
74359ea74e fix: auth-header not inheriting properties (#3668) 2023-12-19 17:04:24 +05:30
Mir Arif Hasan
a694d3f7eb hotfix: added validation on infra config update (#3667)
* feat: added validation on infra config update

* chore: removed async keyword

* fix: feedback
2023-12-19 17:15:46 +06:00
Nivedin
58a9514b67 fix: gql history schema error (#3662) 2023-12-19 16:39:32 +05:30
Akash K
a75bfa9d9e fix: actions not working when sidebar is hidden (#3669) 2023-12-19 16:13:59 +05:30
Andrew Bastin
7374a35b41 fix: broken ui due to accidentally moved postcss config 2023-12-19 12:40:07 +05:30
Andrew Bastin
5ad8f6c2ce chore: move window.open to platform io to handle desktop app 2023-12-19 11:26:37 +05:30
Andrew Bastin
f28298afe7 chore: update desktop app version 2023-12-18 23:43:40 +05:30
Andrew Bastin
56c6e8c643 chore: add devtools for production desktop app builds 2023-12-18 23:43:40 +05:30
Andrew Bastin
1b36de4fa3 fix: handle backspace navigating back on desktop app 2023-12-18 23:43:40 +05:30
Andrew Bastin
2f773bec79 fix: drag not working on windows 2023-12-18 23:43:40 +05:30
Andrew Bastin
d3e04c59cc chore: update tailwind stuff on selfhost-desktop 2023-12-18 23:43:40 +05:30
James George
5179cf59a4 fix(common): ensure the add-environment modal value field is empty when opened via the inspector (#3664) 2023-12-18 20:39:23 +05:30
Andrew Bastin
fad31a47ee chore: bump versions of all relevant packages 2023-12-16 22:27:41 +05:30
James George
72c71ddbd4 chore: remove expand widget from the GQL collections import/export modal (#3661) 2023-12-16 17:06:51 +05:30
Nivedin
a0f5ebee39 fix: embeds system theme (#3659)
Co-authored-by: jamesgeorge007 <jamesgeorge998001@gmail.com>
2023-12-16 17:01:23 +05:30
Anwarul Islam
f93558324f chore: move hoppscotch-ui package out of the monorepo (#3620)
Co-authored-by: Andrew Bastin <andrewbastin.k@gmail.com>
2023-12-16 16:58:10 +05:30
Liyas Thomas
d80e6c01c8 chore: i18n 2023-12-16 12:29:44 +05:30
Liyas Thomas
06f0f1c91b fix: broken docs link 2023-12-16 10:36:54 +05:30
Joel Jacob Stephen
9b870f876a chore: banner cleanup (#3658) 2023-12-15 17:59:33 +05:30
Joel Jacob Stephen
cf8b5975ac refactor: improvements made to how banners are to be dismissed (#3656) 2023-12-15 17:08:57 +05:30
Nivedin
93082c3816 refactor: embeds preview theme (#3657) 2023-12-15 17:08:02 +05:30
James George
d66537ac34 fix(common): GraphQL query syntax highlighting (#3653)
Co-authored-by: Andrew Bastin <andrewbastin.k@gmail.com>
2023-12-15 14:37:01 +05:30
Nivedin
fc4c15e52d fix: auth-headers in collection bug (#3652)
* fix: fallback for importers and fix spelling

* chore: update i18n strings
2023-12-15 02:49:35 +05:30
Liyas Thomas
b521604b66 fix: collection properties styles 2023-12-14 18:00:46 +05:30
James George
9bc81a6d67 feat(cli): support collection level authorization and headers (#3636) 2023-12-14 12:43:22 +05:30
Joel Jacob Stephen
c47e2e7767 fix: notify that the user is not an admin when trying to login with a non admin account in admin dashboard (#3651) 2023-12-14 12:36:05 +05:30
Akash K
5209c0a8ca feat: dynamically load enabled auth providers (#3646) 2023-12-13 23:38:21 +05:30
Nivedin
47e009267b feat: collection level headers and authorization (#3505)
Co-authored-by: Andrew Bastin <andrewbastin.k@gmail.com>
2023-12-13 22:43:18 +05:30
Joel Jacob Stephen
f3edd001d7 feat: introducing server configurations in admin dashboard (#3628)
Co-authored-by: jamesgeorge007 <jamesgeorge998001@gmail.com>
2023-12-13 22:34:59 +05:30
Akash K
a8cc569786 feat: import environments from insomnia (#3625)
Co-authored-by: jamesgeorge007 <jamesgeorge998001@gmail.com>
2023-12-13 19:15:39 +05:30
Liyas Thomas
3ae49ca483 fix: codemirror tooltip margin 2023-12-13 12:13:34 +05:30
Liyas Thomas
37e6497e88 fix: z-index 2023-12-13 11:02:56 +05:30
Liyas Thomas
b522ae9e05 fix: shortcut key size 2023-12-13 10:17:22 +05:30
Liyas Thomas
62b11fcec8 fix: z-index on toast 2023-12-13 09:22:58 +05:30
Liyas Thomas
51ebb57623 fix: z-index 2023-12-13 08:45:30 +05:30
Liyas Thomas
ff5c2ba51c chore: minor ui improvements to modal 2023-12-12 23:32:42 +05:30
Mir Arif Hasan
6abc0e6071 HBE-326 feature: server configuration through GraphQL API (#3591)
* feat: restart cmd added in aio service

* feat: nestjs config package added

* test: fix all broken test case

* feat: infra config module add with get-update-reset functionality

* test: fix test case failure

* feat: update infra configs mutation added

* feat: utilise ConfigService in util functions

* chore: remove saml stuff

* feat: removed saml stuffs

* fix: config service precedence

* fix: mailer module init with right env value

* feat: added mutations and query

* feat: add query infra-configs

* fix: mailer module init issue

* chore: smtp url validation added

* fix: all sso disabling is handled

* fix: pnpm i without db connection

* fix: allowedAuthProviders and enableAndDisableSSO

* fix: validateSMTPUrl check

* feat: get api added for fetch provider list

* feat: feedback resolve

* chore: update code comments

* fix: uppercase issue of VITE_ALLOWED_AUTH_PROVIDERS

* chore: update lockfile

* fix: add validation checks for MAILER_ADDRESS_FROM

* test: fix test case

* chore: feedback resolve

* chore: renamed an enum

* chore: app shutdown way changed

---------

Co-authored-by: Andrew Bastin <andrewbastin.k@gmail.com>
2023-12-12 16:42:58 +06:00
Andrew Bastin
957641fb0f chore: move dioc out of monorepo 2023-12-12 15:39:10 +05:30
Liyas Thomas
a55f214102 fix: use base url instead of hardcoded url (#3635) 2023-12-12 15:06:28 +05:30
Liyas Thomas
ebf90207e5 chore: improve placeholder component styles (#3638)
Co-authored-by: jamesgeorge007 <jamesgeorge998001@gmail.com>
2023-12-12 15:02:42 +05:30
Liyas Thomas
4ac8a117ef chore: add protocol logos to realtime page (#3637) 2023-12-12 14:25:56 +05:30
Muhammed Ajmal M
c1bc430ee6 fix: overflowing modal fix on small screens (#3643)
Co-authored-by: Liyas Thomas <liyascthomas@gmail.com>
2023-12-12 14:21:19 +05:30
James George
9201aa7d7d fix(common): ensure banner colors are displayed correctly (#3630) 2023-12-12 13:55:18 +05:30
Liyas Thomas
87395a4553 fix: minor ui issues 2023-12-07 17:12:33 +05:30
Andrew Bastin
6063c633ee chore: pin vue workspace-wide to 3.3.9 2023-12-07 17:04:17 +05:30
Akash K
7481feb366 feat: introduce platform defs for adding additional spotlight searchers (#3631) 2023-12-07 16:28:02 +05:30
James George
bdfa14fa54 refactor(scripting-revamp): migrate js-sandbox to web worker/Node vm based implementation (#3619) 2023-12-07 16:10:42 +05:30
Andrew Bastin
0a61ec2bfe fix: useI18n type breaking 2023-12-07 15:17:41 +05:30
Nivedin
2bf0106aa2 feat: embeds (#3627)
Co-authored-by: Liyas Thomas <liyascthomas@gmail.com>
2023-12-07 15:03:49 +05:30
425 changed files with 14880 additions and 14847 deletions

5
.gitignore vendored
View File

@@ -81,10 +81,7 @@ web_modules/
# dotenv environment variable files # dotenv environment variable files
.env .env
.env.development.local .env.*
.env.test.local
.env.production.local
.env.local
# parcel-bundler cache (https://parceljs.org/) # parcel-bundler cache (https://parceljs.org/)
.cache .cache

View File

@@ -66,6 +66,7 @@ services:
# The service that spins up all 3 services at once in one container # The service that spins up all 3 services at once in one container
hoppscotch-aio: hoppscotch-aio:
container_name: hoppscotch-aio container_name: hoppscotch-aio
restart: unless-stopped
build: build:
dockerfile: prod.Dockerfile dockerfile: prod.Dockerfile
context: . context: .

View File

@@ -25,6 +25,7 @@
"devDependencies": { "devDependencies": {
"@commitlint/cli": "^16.2.3", "@commitlint/cli": "^16.2.3",
"@commitlint/config-conventional": "^16.2.1", "@commitlint/config-conventional": "^16.2.1",
"@hoppscotch/ui": "^0.1.0",
"@types/node": "17.0.27", "@types/node": "17.0.27",
"cross-env": "^7.0.3", "cross-env": "^7.0.3",
"http-server": "^14.1.1", "http-server": "^14.1.1",
@@ -32,6 +33,9 @@
"lint-staged": "12.4.0" "lint-staged": "12.4.0"
}, },
"pnpm": { "pnpm": {
"overrides": {
"vue": "3.3.9"
},
"packageExtensions": { "packageExtensions": {
"httpsnippet@^3.0.1": { "httpsnippet@^3.0.1": {
"peerDependencies": { "peerDependencies": {

View File

@@ -17,9 +17,9 @@
"types": "dist/index.d.ts", "types": "dist/index.d.ts",
"sideEffects": false, "sideEffects": false,
"dependencies": { "dependencies": {
"@codemirror/language": "6.9.0", "@codemirror/language": "6.9.3",
"@lezer/highlight": "1.1.4", "@lezer/highlight": "1.2.0",
"@lezer/lr": "^1.3.13" "@lezer/lr": "^1.3.14"
}, },
"devDependencies": { "devDependencies": {
"@lezer/generator": "^1.5.1", "@lezer/generator": "^1.5.1",

View File

@@ -1,24 +0,0 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*
node_modules
dist
dist-ssr
*.local
# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?

View File

@@ -1,141 +0,0 @@
# dioc
A small and lightweight dependency injection / inversion of control system.
### About
`dioc` is a really simple **DI/IOC** system where you write services (which are singletons per container) that can depend on each other and emit events that can be listened upon.
### Demo
```ts
import { Service, Container } from "dioc"
// Here is a simple service, which you can define by extending the Service class
// and providing an ID static field (of type string)
export class PersistenceService extends Service {
// This should be unique for each container
public static ID = "PERSISTENCE_SERVICE"
public read(key: string): string | undefined {
// ...
}
public write(key: string, value: string) {
// ...
}
}
type TodoServiceEvent =
| { type: "TODO_CREATED"; index: number }
| { type: "TODO_DELETED"; index: number }
// Services have a built in event system
// Define the generic argument to say what are the possible emitted values
export class TodoService extends Service<TodoServiceEvent> {
public static ID = "TODO_SERVICE"
// Inject persistence service into this service
private readonly persistence = this.bind(PersistenceService)
public todos = []
// Service constructors cannot have arguments
constructor() {
super()
this.todos = JSON.parse(this.persistence.read("todos") ?? "[]")
}
public addTodo(text: string) {
// ...
// You can access services via the bound fields
this.persistence.write("todos", JSON.stringify(this.todos))
// This is how you emit an event
this.emit({
type: "TODO_CREATED",
index,
})
}
public removeTodo(index: number) {
// ...
this.emit({
type: "TODO_DELETED",
index,
})
}
}
// Services need a container to run in
const container = new Container()
// You can initialize and get services using Container#bind
// It will automatically initialize the service (and its dependencies)
const todoService = container.bind(TodoService) // Returns an instance of TodoService
```
### Demo (Unit Test)
`dioc/testing` contains `TestContainer` which lets you bind mocked services to the container.
```ts
import { TestContainer } from "dioc/testing"
import { TodoService, PersistenceService } from "./demo.ts" // The above demo code snippet
import { describe, it, expect, vi } from "vitest"
describe("TodoService", () => {
it("addTodo writes to persistence", () => {
const container = new TestContainer()
const writeFn = vi.fn()
// The first parameter is the service to mock and the second parameter
// is the mocked service fields and functions
container.bindMock(PersistenceService, {
read: () => undefined, // Not really important for this test
write: writeFn,
})
// the peristence service bind in TodoService will now use the
// above defined mocked implementation
const todoService = container.bind(TodoService)
todoService.addTodo("sup")
expect(writeFn).toHaveBeenCalledOnce()
expect(writeFn).toHaveBeenCalledWith("todos", JSON.stringify(["sup"]))
})
})
```
### Demo (Vue)
`dioc/vue` contains a Vue Plugin and a `useService` composable that allows Vue components to use the defined services.
In the app entry point:
```ts
import { createApp } from "vue"
import { diocPlugin } from "dioc/vue"
const app = createApp()
app.use(diocPlugin, {
container: new Container(), // You can pass in the container you want to provide to the components here
})
```
In your Vue components:
```vue
<script setup>
import { TodoService } from "./demo.ts" // The above demo
import { useService } from "dioc/vue"
const todoService = useService(TodoService) // Returns an instance of the TodoService class
</script>
```

View File

@@ -1,2 +0,0 @@
export { default } from "./dist/main.d.ts"
export * from "./dist/main.d.ts"

View File

@@ -1,147 +0,0 @@
import { Service } from "./service"
import { Observable, Subject } from 'rxjs'
/**
* Stores the current container instance in the current operating context.
*
* NOTE: This should not be used outside of dioc library code
*/
export let currentContainer: Container | null = null
/**
* The events emitted by the container
*
* `SERVICE_BIND` - emitted when a service is bound to the container directly or as a dependency to another service
* `SERVICE_INIT` - emitted when a service is initialized
*/
export type ContainerEvent =
| {
type: 'SERVICE_BIND';
/** The Service ID of the service being bounded (the dependency) */
boundeeID: string;
/**
* The Service ID of the bounder that is binding the boundee (the dependent)
*
* NOTE: This will be undefined if the service is bound directly to the container
*/
bounderID: string | undefined
}
| {
type: 'SERVICE_INIT';
/** The Service ID of the service being initialized */
serviceID: string
}
/**
* The dependency injection container, allows for services to be initialized and maintains the dependency trees.
*/
export class Container {
/** Used during the `bind` operation to detect circular dependencies */
private bindStack: string[] = []
/** The map of bound services to their IDs */
protected boundMap = new Map<string, Service<unknown>>()
/** The RxJS observable representing the event stream */
protected event$ = new Subject<ContainerEvent>()
/**
* Returns whether a container has the given service bound
* @param service The service to check for
*/
public hasBound<
T extends typeof Service<any> & { ID: string }
>(service: T): boolean {
return this.boundMap.has(service.ID)
}
/**
* Returns the service bound to the container with the given ID or if not found, undefined.
*
* NOTE: This is an advanced method and should not be used as much as possible.
*
* @param serviceID The ID of the service to get
*/
public getBoundServiceWithID(serviceID: string): Service<unknown> | undefined {
return this.boundMap.get(serviceID)
}
/**
* Binds a service to the container. This is equivalent to marking a service as a dependency.
* @param service The class reference of a service to bind
* @param bounder The class reference of the service that is binding the service (if bound directly to the container, this should be undefined)
*/
public bind<T extends typeof Service<any> & { ID: string }>(
service: T,
bounder: ((typeof Service<T>) & { ID: string }) | undefined = undefined
): InstanceType<T> {
// We need to store the current container in a variable so that we can restore it after the bind operation
const oldCurrentContainer = currentContainer;
currentContainer = this;
// If the service is already bound, return the existing instance
if (this.hasBound(service)) {
this.event$.next({
type: 'SERVICE_BIND',
boundeeID: service.ID,
bounderID: bounder?.ID // Return the bounder ID if it is defined, else assume its the container
})
return this.boundMap.get(service.ID) as InstanceType<T> // Casted as InstanceType<T> because service IDs and types are expected to match
}
// Detect circular dependency and throw error
if (this.bindStack.findIndex((serviceID) => serviceID === service.ID) !== -1) {
const circularServices = `${this.bindStack.join(' -> ')} -> ${service.ID}`
throw new Error(`Circular dependency detected.\nChain: ${circularServices}`)
}
// Push the service ID onto the bind stack to detect circular dependencies
this.bindStack.push(service.ID)
// Initialize the service and emit events
// NOTE: We need to cast the service to any as TypeScript thinks that the service is abstract
const instance: Service<any> = new (service as any)()
this.boundMap.set(service.ID, instance)
this.bindStack.pop()
this.event$.next({
type: 'SERVICE_INIT',
serviceID: service.ID,
})
this.event$.next({
type: 'SERVICE_BIND',
boundeeID: service.ID,
bounderID: bounder?.ID
})
// Restore the current container
currentContainer = oldCurrentContainer;
// We expect the return type to match the service definition
return instance as InstanceType<T>
}
/**
* Returns an iterator of the currently bound service IDs and their instances
*/
public getBoundServices(): IterableIterator<[string, Service<any>]> {
return this.boundMap.entries()
}
/**
* Returns the public container event stream
*/
public getEventStream(): Observable<ContainerEvent> {
return this.event$.asObservable()
}
}

View File

@@ -1,2 +0,0 @@
export * from "./container"
export * from "./service"

View File

@@ -1,65 +0,0 @@
import { Observable, Subject } from 'rxjs'
import { Container, currentContainer } from './container'
/**
* A Dioc service that can bound to a container and can bind dependency services.
*
* NOTE: Services cannot have a constructor that takes arguments.
*
* @template EventDef The type of events that can be emitted by the service. These will be accessible by event streams
*/
export abstract class Service<EventDef = {}> {
/**
* The internal event stream of the service
*/
private event$ = new Subject<EventDef>()
/** The container the service is bound to */
#container: Container
constructor() {
if (!currentContainer) {
throw new Error(
`Tried to initialize service with no container (ID: ${ (this.constructor as any).ID })`
)
}
this.#container = currentContainer
}
/**
* Binds a dependency service into this service.
* @param service The class reference of the service to bind
*/
protected bind<T extends typeof Service<any> & { ID: string }>(service: T): InstanceType<T> {
if (!currentContainer) {
throw new Error('No currentContainer defined.')
}
return currentContainer.bind(service, this.constructor as typeof Service<any> & { ID: string })
}
/**
* Returns the container the service is bound to
*/
protected getContainer(): Container {
return this.#container
}
/**
* Emits an event on the service's event stream
* @param event The event to emit
*/
protected emit(event: EventDef) {
this.event$.next(event)
}
/**
* Returns the event stream of the service
*/
public getEventStream(): Observable<EventDef> {
return this.event$.asObservable()
}
}

View File

@@ -1,33 +0,0 @@
import { Container, Service } from "./main";
/**
* A container that can be used for writing tests, contains additional methods
* for binding suitable for writing tests. (see `bindMock`).
*/
export class TestContainer extends Container {
/**
* Binds a mock service to the container.
*
* @param service
* @param mock
*/
public bindMock<
T extends typeof Service<any> & { ID: string },
U extends Partial<InstanceType<T>>
>(service: T, mock: U): U {
if (this.boundMap.has(service.ID)) {
throw new Error(`Service '${service.ID}' already bound to container. Did you already call bindMock on this ?`)
}
this.boundMap.set(service.ID, mock as any)
this.event$.next({
type: "SERVICE_BIND",
boundeeID: service.ID,
bounderID: undefined,
})
return mock
}
}

View File

@@ -1,34 +0,0 @@
import { Plugin, inject } from "vue"
import { Container } from "./container"
import { Service } from "./service"
const VUE_CONTAINER_KEY = Symbol()
// TODO: Some Vue version issue with plugin generics is breaking type checking
/**
* The Vue Dioc Plugin, this allows the composables to work and access the container
*
* NOTE: Make sure you add `vue` as dependency to be able to use this plugin (duh)
*/
export const diocPlugin: Plugin = {
install(app, { container }) {
app.provide(VUE_CONTAINER_KEY, container)
}
}
/**
* A composable that binds a service to a Vue Component
*
* @param service The class reference of the service to bind
*/
export function useService<
T extends typeof Service<any> & { ID: string }
>(service: T): InstanceType<T> {
const container = inject(VUE_CONTAINER_KEY) as Container | undefined | null
if (!container) {
throw new Error("Container not found, did you forget to install the dioc plugin?")
}
return container.bind(service)
}

View File

@@ -1,54 +0,0 @@
{
"name": "dioc",
"private": true,
"version": "0.1.0",
"type": "module",
"files": [
"dist",
"index.d.ts"
],
"main": "./dist/counter.umd.cjs",
"module": "./dist/counter.js",
"types": "./index.d.ts",
"exports": {
".": {
"types": "./dist/main.d.ts",
"require": "./dist/index.cjs",
"import": "./dist/index.js"
},
"./vue": {
"types": "./dist/vue.d.ts",
"require": "./dist/vue.cjs",
"import": "./dist/vue.js"
},
"./testing": {
"types": "./dist/testing.d.ts",
"require": "./dist/testing.cjs",
"import": "./dist/testing.js"
}
},
"scripts": {
"dev": "vite",
"build": "vite build && tsc --emitDeclarationOnly",
"prepare": "pnpm run build",
"test": "vitest run",
"do-test": "pnpm run test",
"test:watch": "vitest"
},
"devDependencies": {
"typescript": "^4.9.4",
"vite": "^4.0.4",
"vitest": "^0.29.3"
},
"dependencies": {
"rxjs": "^7.8.1"
},
"peerDependencies": {
"vue": "^3.2.25"
},
"peerDependenciesMeta": {
"vue": {
"optional": true
}
}
}

View File

@@ -1,262 +0,0 @@
import { it, expect, describe, vi } from "vitest"
import { Service } from "../lib/service"
import { Container, currentContainer, ContainerEvent } from "../lib/container"
class TestServiceA extends Service {
public static ID = "TestServiceA"
}
class TestServiceB extends Service {
public static ID = "TestServiceB"
// Marked public to allow for testing
public readonly serviceA = this.bind(TestServiceA)
}
describe("Container", () => {
describe("getBoundServiceWithID", () => {
it("returns the service instance if it is bound to the container", () => {
const container = new Container()
const service = container.bind(TestServiceA)
expect(container.getBoundServiceWithID(TestServiceA.ID)).toBe(service)
})
it("returns undefined if the service is not bound to the container", () => {
const container = new Container()
expect(container.getBoundServiceWithID(TestServiceA.ID)).toBeUndefined()
})
})
describe("bind", () => {
it("correctly binds the service to it", () => {
const container = new Container()
const service = container.bind(TestServiceA)
// @ts-expect-error getContainer is defined as a protected property, but we are leveraging it here to check
expect(service.getContainer()).toBe(container)
})
it("after bind, the current container is set back to its previous value", () => {
const originalValue = currentContainer
const container = new Container()
container.bind(TestServiceA)
expect(currentContainer).toBe(originalValue)
})
it("dependent services are registered in the same container", () => {
const container = new Container()
const serviceB = container.bind(TestServiceB)
// @ts-expect-error getContainer is defined as a protected property, but we are leveraging it here to check
expect(serviceB.serviceA.getContainer()).toBe(container)
})
it("binding an already initialized service returns the initialized instance (services are singletons)", () => {
const container = new Container()
const serviceA = container.bind(TestServiceA)
const serviceA2 = container.bind(TestServiceA)
expect(serviceA).toBe(serviceA2)
})
it("binding a service which is a dependency of another service returns the same instance created from the dependency resolution (services are singletons)", () => {
const container = new Container()
const serviceB = container.bind(TestServiceB)
const serviceA = container.bind(TestServiceA)
expect(serviceB.serviceA).toBe(serviceA)
})
it("binding an initialized service as a dependency returns the same instance", () => {
const container = new Container()
const serviceA = container.bind(TestServiceA)
const serviceB = container.bind(TestServiceB)
expect(serviceB.serviceA).toBe(serviceA)
})
it("container emits an init event when an uninitialized service is initialized via bind and event only called once", () => {
const container = new Container()
const serviceFunc = vi.fn<
[ContainerEvent & { type: "SERVICE_INIT" }],
void
>()
container.getEventStream().subscribe((ev) => {
if (ev.type === "SERVICE_INIT") {
serviceFunc(ev)
}
})
const instance = container.bind(TestServiceA)
expect(serviceFunc).toHaveBeenCalledOnce()
expect(serviceFunc).toHaveBeenCalledWith(<ContainerEvent>{
type: "SERVICE_INIT",
serviceID: TestServiceA.ID,
})
})
it("the bind event emitted has an undefined bounderID when the service is bound directly to the container", () => {
const container = new Container()
const serviceFunc = vi.fn<
[ContainerEvent & { type: "SERVICE_BIND" }],
void
>()
container.getEventStream().subscribe((ev) => {
if (ev.type === "SERVICE_BIND") {
serviceFunc(ev)
}
})
container.bind(TestServiceA)
expect(serviceFunc).toHaveBeenCalledOnce()
expect(serviceFunc).toHaveBeenCalledWith(<ContainerEvent>{
type: "SERVICE_BIND",
boundeeID: TestServiceA.ID,
bounderID: undefined,
})
})
it("the bind event emitted has the correct bounderID when the service is bound to another service", () => {
const container = new Container()
const serviceFunc = vi.fn<
[ContainerEvent & { type: "SERVICE_BIND" }],
void
>()
container.getEventStream().subscribe((ev) => {
// We only care about the bind event of TestServiceA
if (ev.type === "SERVICE_BIND" && ev.boundeeID === TestServiceA.ID) {
serviceFunc(ev)
}
})
container.bind(TestServiceB)
expect(serviceFunc).toHaveBeenCalledOnce()
expect(serviceFunc).toHaveBeenCalledWith(<ContainerEvent>{
type: "SERVICE_BIND",
boundeeID: TestServiceA.ID,
bounderID: TestServiceB.ID,
})
})
})
describe("hasBound", () => {
it("returns true if the given service is bound to the container", () => {
const container = new Container()
container.bind(TestServiceA)
expect(container.hasBound(TestServiceA)).toEqual(true)
})
it("returns false if the given service is not bound to the container", () => {
const container = new Container()
expect(container.hasBound(TestServiceA)).toEqual(false)
})
it("returns true when the service is bound because it is a dependency of another service", () => {
const container = new Container()
container.bind(TestServiceB)
expect(container.hasBound(TestServiceA)).toEqual(true)
})
})
describe("getEventStream", () => {
it("returns an observable which emits events correctly when services are initialized", () => {
const container = new Container()
const serviceFunc = vi.fn<
[ContainerEvent & { type: "SERVICE_INIT" }],
void
>()
container.getEventStream().subscribe((ev) => {
if (ev.type === "SERVICE_INIT") {
serviceFunc(ev)
}
})
container.bind(TestServiceB)
expect(serviceFunc).toHaveBeenCalledTimes(2)
expect(serviceFunc).toHaveBeenNthCalledWith(1, <ContainerEvent>{
type: "SERVICE_INIT",
serviceID: TestServiceA.ID,
})
expect(serviceFunc).toHaveBeenNthCalledWith(2, <ContainerEvent>{
type: "SERVICE_INIT",
serviceID: TestServiceB.ID,
})
})
it("returns an observable which emits events correctly when services are bound", () => {
const container = new Container()
const serviceFunc = vi.fn<
[ContainerEvent & { type: "SERVICE_BIND" }],
void
>()
container.getEventStream().subscribe((ev) => {
if (ev.type === "SERVICE_BIND") {
serviceFunc(ev)
}
})
container.bind(TestServiceB)
expect(serviceFunc).toHaveBeenCalledTimes(2)
expect(serviceFunc).toHaveBeenNthCalledWith(1, <ContainerEvent>{
type: "SERVICE_BIND",
boundeeID: TestServiceA.ID,
bounderID: TestServiceB.ID,
})
expect(serviceFunc).toHaveBeenNthCalledWith(2, <ContainerEvent>{
type: "SERVICE_BIND",
boundeeID: TestServiceB.ID,
bounderID: undefined,
})
})
})
describe("getBoundServices", () => {
it("returns an iterator over all services bound to the container in the format [service id, service instance]", () => {
const container = new Container()
const instanceB = container.bind(TestServiceB)
const instanceA = instanceB.serviceA
expect(Array.from(container.getBoundServices())).toEqual([
[TestServiceA.ID, instanceA],
[TestServiceB.ID, instanceB],
])
})
it("returns an empty iterator if no services are bound", () => {
const container = new Container()
expect(Array.from(container.getBoundServices())).toEqual([])
})
})
})

View File

@@ -1,66 +0,0 @@
import { describe, expect, it, vi } from "vitest"
import { Service, Container } from "../lib/main"
class TestServiceA extends Service {
public static ID = "TestServiceA"
}
class TestServiceB extends Service<"test"> {
public static ID = "TestServiceB"
// Marked public to allow for testing
public readonly serviceA = this.bind(TestServiceA)
public emitTestEvent() {
this.emit("test")
}
}
describe("Service", () => {
describe("constructor", () => {
it("throws an error if the service is initialized without a container", () => {
expect(() => new TestServiceA()).toThrowError(
"Tried to initialize service with no container (ID: TestServiceA)"
)
})
})
describe("bind", () => {
it("correctly binds the dependency service using the container", () => {
const container = new Container()
const serviceA = container.bind(TestServiceA)
const serviceB = container.bind(TestServiceB)
expect(serviceB.serviceA).toBe(serviceA)
})
})
describe("getContainer", () => {
it("returns the container the service is bound to", () => {
const container = new Container()
const serviceA = container.bind(TestServiceA)
// @ts-expect-error getContainer is a protected member, we are just using it to help with testing
expect(serviceA.getContainer()).toBe(container)
})
})
describe("getEventStream", () => {
it("returns the valid event stream of the service", () => {
const container = new Container()
const serviceB = container.bind(TestServiceB)
const serviceFunc = vi.fn()
serviceB.getEventStream().subscribe(serviceFunc)
serviceB.emitTestEvent()
expect(serviceFunc).toHaveBeenCalledOnce()
expect(serviceFunc).toHaveBeenCalledWith("test")
})
})
})

View File

@@ -1,92 +0,0 @@
import { describe, expect, it, vi } from "vitest"
import { TestContainer } from "../lib/testing"
import { Service } from "../lib/service"
import { ContainerEvent } from "../lib/container"
class TestServiceA extends Service {
public static ID = "TestServiceA"
public test() {
return "real"
}
}
class TestServiceB extends Service {
public static ID = "TestServiceB"
// declared public to help with testing
public readonly serviceA = this.bind(TestServiceA)
public test() {
return this.serviceA.test()
}
}
describe("TestContainer", () => {
describe("bindMock", () => {
it("returns the fake service defined", () => {
const container = new TestContainer()
const fakeService = {
test: () => "fake",
}
const result = container.bindMock(TestServiceA, fakeService)
expect(result).toBe(fakeService)
})
it("new services bound to the container get the mock service", () => {
const container = new TestContainer()
const fakeServiceA = {
test: () => "fake",
}
container.bindMock(TestServiceA, fakeServiceA)
const serviceB = container.bind(TestServiceB)
expect(serviceB.serviceA).toBe(fakeServiceA)
})
it("container emits SERVICE_BIND event", () => {
const container = new TestContainer()
const fakeServiceA = {
test: () => "fake",
}
const serviceFunc = vi.fn<[ContainerEvent, void]>()
container.getEventStream().subscribe((ev) => {
serviceFunc(ev)
})
container.bindMock(TestServiceA, fakeServiceA)
expect(serviceFunc).toHaveBeenCalledOnce()
expect(serviceFunc).toHaveBeenCalledWith(<ContainerEvent>{
type: "SERVICE_BIND",
boundeeID: TestServiceA.ID,
bounderID: undefined,
})
})
it("throws if service already bound", () => {
const container = new TestContainer()
const fakeServiceA = {
test: () => "fake",
}
container.bindMock(TestServiceA, fakeServiceA)
expect(() => {
container.bindMock(TestServiceA, fakeServiceA)
}).toThrowError(
"Service 'TestServiceA' already bound to container. Did you already call bindMock on this ?"
)
})
})
})

View File

@@ -1,2 +0,0 @@
export { default } from "./dist/testing.d.ts"
export * from "./dist/testing.d.ts"

View File

@@ -1,21 +0,0 @@
{
"compilerOptions": {
"target": "ESNext",
"useDefineForClassFields": true,
"module": "ESNext",
"lib": ["ESNext", "DOM"],
"moduleResolution": "Node",
"strict": true,
"declaration": true,
"sourceMap": true,
"outDir": "dist",
"resolveJsonModule": true,
"isolatedModules": true,
"esModuleInterop": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"noImplicitReturns": true,
"skipLibCheck": true
},
"include": ["lib"]
}

View File

@@ -1,16 +0,0 @@
import { defineConfig } from 'vite'
export default defineConfig({
build: {
lib: {
entry: {
index: './lib/main.ts',
vue: './lib/vue.ts',
testing: './lib/testing.ts',
},
},
rollupOptions: {
external: ['vue'],
}
},
})

View File

@@ -1,7 +0,0 @@
import { defineConfig } from "vitest/config"
export default defineConfig({
test: {
}
})

View File

@@ -1,2 +0,0 @@
export { default } from "./dist/vue.d.ts"
export * from "./dist/vue.d.ts"

View File

@@ -1,6 +1,6 @@
{ {
"name": "hoppscotch-backend", "name": "hoppscotch-backend",
"version": "2023.8.4-1", "version": "2023.12.0-1",
"description": "", "description": "",
"author": "", "author": "",
"private": true, "private": true,
@@ -28,6 +28,7 @@
"@nestjs-modules/mailer": "^1.9.1", "@nestjs-modules/mailer": "^1.9.1",
"@nestjs/apollo": "^12.0.9", "@nestjs/apollo": "^12.0.9",
"@nestjs/common": "^10.2.6", "@nestjs/common": "^10.2.6",
"@nestjs/config": "^3.1.1",
"@nestjs/core": "^10.2.6", "@nestjs/core": "^10.2.6",
"@nestjs/graphql": "^12.0.9", "@nestjs/graphql": "^12.0.9",
"@nestjs/jwt": "^10.1.1", "@nestjs/jwt": "^10.1.1",

View File

@@ -0,0 +1,14 @@
-- CreateTable
CREATE TABLE "InfraConfig" (
"id" TEXT NOT NULL,
"name" TEXT NOT NULL,
"value" TEXT,
"active" BOOLEAN NOT NULL DEFAULT true,
"createdOn" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updatedOn" TIMESTAMP(3) NOT NULL,
CONSTRAINT "InfraConfig_pkey" PRIMARY KEY ("id")
);
-- CreateIndex
CREATE UNIQUE INDEX "InfraConfig_name_key" ON "InfraConfig"("name");

View File

@@ -209,3 +209,12 @@ enum TeamMemberRole {
VIEWER VIEWER
EDITOR EDITOR
} }
model InfraConfig {
id String @id @default(cuid())
name String @unique
value String?
active Boolean @default(true) // Use case: Let's say, Admin wants to disable Google SSO, but doesn't want to delete the config
createdOn DateTime @default(now()) @db.Timestamp(3)
updatedOn DateTime @updatedAt @db.Timestamp(3)
}

View File

@@ -4,7 +4,6 @@ import { AdminService } from './admin.service';
import { PrismaModule } from '../prisma/prisma.module'; import { PrismaModule } from '../prisma/prisma.module';
import { PubSubModule } from '../pubsub/pubsub.module'; import { PubSubModule } from '../pubsub/pubsub.module';
import { UserModule } from '../user/user.module'; import { UserModule } from '../user/user.module';
import { MailerModule } from '../mailer/mailer.module';
import { TeamModule } from '../team/team.module'; import { TeamModule } from '../team/team.module';
import { TeamInvitationModule } from '../team-invitation/team-invitation.module'; import { TeamInvitationModule } from '../team-invitation/team-invitation.module';
import { TeamEnvironmentsModule } from '../team-environments/team-environments.module'; import { TeamEnvironmentsModule } from '../team-environments/team-environments.module';
@@ -12,19 +11,20 @@ import { TeamCollectionModule } from '../team-collection/team-collection.module'
import { TeamRequestModule } from '../team-request/team-request.module'; import { TeamRequestModule } from '../team-request/team-request.module';
import { InfraResolver } from './infra.resolver'; import { InfraResolver } from './infra.resolver';
import { ShortcodeModule } from 'src/shortcode/shortcode.module'; import { ShortcodeModule } from 'src/shortcode/shortcode.module';
import { InfraConfigModule } from 'src/infra-config/infra-config.module';
@Module({ @Module({
imports: [ imports: [
PrismaModule, PrismaModule,
PubSubModule, PubSubModule,
UserModule, UserModule,
MailerModule,
TeamModule, TeamModule,
TeamInvitationModule, TeamInvitationModule,
TeamEnvironmentsModule, TeamEnvironmentsModule,
TeamCollectionModule, TeamCollectionModule,
TeamRequestModule, TeamRequestModule,
ShortcodeModule, ShortcodeModule,
InfraConfigModule,
], ],
providers: [InfraResolver, AdminResolver, AdminService], providers: [InfraResolver, AdminResolver, AdminService],
exports: [AdminService], exports: [AdminService],

View File

@@ -16,6 +16,7 @@ import {
USER_ALREADY_INVITED, USER_ALREADY_INVITED,
} from '../errors'; } from '../errors';
import { ShortcodeService } from 'src/shortcode/shortcode.service'; import { ShortcodeService } from 'src/shortcode/shortcode.service';
import { ConfigService } from '@nestjs/config';
const mockPrisma = mockDeep<PrismaService>(); const mockPrisma = mockDeep<PrismaService>();
const mockPubSub = mockDeep<PubSubService>(); const mockPubSub = mockDeep<PubSubService>();
@@ -27,6 +28,7 @@ const mockTeamInvitationService = mockDeep<TeamInvitationService>();
const mockTeamCollectionService = mockDeep<TeamCollectionService>(); const mockTeamCollectionService = mockDeep<TeamCollectionService>();
const mockMailerService = mockDeep<MailerService>(); const mockMailerService = mockDeep<MailerService>();
const mockShortcodeService = mockDeep<ShortcodeService>(); const mockShortcodeService = mockDeep<ShortcodeService>();
const mockConfigService = mockDeep<ConfigService>();
const adminService = new AdminService( const adminService = new AdminService(
mockUserService, mockUserService,
@@ -39,6 +41,7 @@ const adminService = new AdminService(
mockPrisma as any, mockPrisma as any,
mockMailerService, mockMailerService,
mockShortcodeService, mockShortcodeService,
mockConfigService,
); );
const invitedUsers: InvitedUsers[] = [ const invitedUsers: InvitedUsers[] = [

View File

@@ -25,6 +25,7 @@ import { TeamEnvironmentsService } from '../team-environments/team-environments.
import { TeamInvitationService } from '../team-invitation/team-invitation.service'; import { TeamInvitationService } from '../team-invitation/team-invitation.service';
import { TeamMemberRole } from '../team/team.model'; import { TeamMemberRole } from '../team/team.model';
import { ShortcodeService } from 'src/shortcode/shortcode.service'; import { ShortcodeService } from 'src/shortcode/shortcode.service';
import { ConfigService } from '@nestjs/config';
@Injectable() @Injectable()
export class AdminService { export class AdminService {
@@ -39,6 +40,7 @@ export class AdminService {
private readonly prisma: PrismaService, private readonly prisma: PrismaService,
private readonly mailerService: MailerService, private readonly mailerService: MailerService,
private readonly shortcodeService: ShortcodeService, private readonly shortcodeService: ShortcodeService,
private readonly configService: ConfigService,
) {} ) {}
/** /**
@@ -79,7 +81,7 @@ export class AdminService {
template: 'user-invitation', template: 'user-invitation',
variables: { variables: {
inviteeEmail: inviteeEmail, inviteeEmail: inviteeEmail,
magicLink: `${process.env.VITE_BASE_URL}`, magicLink: `${this.configService.get('VITE_BASE_URL')}`,
}, },
}); });
} catch (e) { } catch (e) {

View File

@@ -1,5 +1,12 @@
import { UseGuards } from '@nestjs/common'; import { UseGuards } from '@nestjs/common';
import { Args, ID, Query, ResolveField, Resolver } from '@nestjs/graphql'; import {
Args,
ID,
Mutation,
Query,
ResolveField,
Resolver,
} from '@nestjs/graphql';
import { GqlThrottlerGuard } from 'src/guards/gql-throttler.guard'; import { GqlThrottlerGuard } from 'src/guards/gql-throttler.guard';
import { Infra } from './infra.model'; import { Infra } from './infra.model';
import { AdminService } from './admin.service'; import { AdminService } from './admin.service';
@@ -16,11 +23,21 @@ import { Team } from 'src/team/team.model';
import { TeamInvitation } from 'src/team-invitation/team-invitation.model'; import { TeamInvitation } from 'src/team-invitation/team-invitation.model';
import { GqlAdmin } from './decorators/gql-admin.decorator'; import { GqlAdmin } from './decorators/gql-admin.decorator';
import { ShortcodeWithUserEmail } from 'src/shortcode/shortcode.model'; import { ShortcodeWithUserEmail } from 'src/shortcode/shortcode.model';
import { InfraConfig } from 'src/infra-config/infra-config.model';
import { InfraConfigService } from 'src/infra-config/infra-config.service';
import {
EnableAndDisableSSOArgs,
InfraConfigArgs,
} from 'src/infra-config/input-args';
import { InfraConfigEnumForClient } from 'src/types/InfraConfig';
@UseGuards(GqlThrottlerGuard) @UseGuards(GqlThrottlerGuard)
@Resolver(() => Infra) @Resolver(() => Infra)
export class InfraResolver { export class InfraResolver {
constructor(private adminService: AdminService) {} constructor(
private adminService: AdminService,
private infraConfigService: InfraConfigService,
) {}
@Query(() => Infra, { @Query(() => Infra, {
description: 'Fetch details of the Infrastructure', description: 'Fetch details of the Infrastructure',
@@ -222,4 +239,76 @@ export class InfraResolver {
userEmail, userEmail,
); );
} }
@Query(() => [InfraConfig], {
description: 'Retrieve configuration details for the instance',
})
@UseGuards(GqlAuthGuard, GqlAdminGuard)
async infraConfigs(
@Args({
name: 'configNames',
type: () => [InfraConfigEnumForClient],
description: 'Configs to fetch',
})
names: InfraConfigEnumForClient[],
) {
const infraConfigs = await this.infraConfigService.getMany(names);
if (E.isLeft(infraConfigs)) throwErr(infraConfigs.left);
return infraConfigs.right;
}
@Query(() => [String], {
description: 'Allowed Auth Provider list',
})
@UseGuards(GqlAuthGuard, GqlAdminGuard)
allowedAuthProviders() {
return this.infraConfigService.getAllowedAuthProviders();
}
/* Mutations */
@Mutation(() => [InfraConfig], {
description: 'Update Infra Configs',
})
@UseGuards(GqlAuthGuard, GqlAdminGuard)
async updateInfraConfigs(
@Args({
name: 'infraConfigs',
type: () => [InfraConfigArgs],
description: 'InfraConfigs to update',
})
infraConfigs: InfraConfigArgs[],
) {
const updatedRes = await this.infraConfigService.updateMany(infraConfigs);
if (E.isLeft(updatedRes)) throwErr(updatedRes.left);
return updatedRes.right;
}
@Mutation(() => Boolean, {
description: 'Reset Infra Configs with default values (.env)',
})
@UseGuards(GqlAuthGuard, GqlAdminGuard)
async resetInfraConfigs() {
const resetRes = await this.infraConfigService.reset();
if (E.isLeft(resetRes)) throwErr(resetRes.left);
return true;
}
@Mutation(() => Boolean, {
description: 'Enable or Disable SSO for login/signup',
})
@UseGuards(GqlAuthGuard, GqlAdminGuard)
async enableAndDisableSSO(
@Args({
name: 'providerInfo',
type: () => [EnableAndDisableSSOArgs],
description: 'SSO provider and status',
})
providerInfo: EnableAndDisableSSOArgs[],
) {
const isUpdated = await this.infraConfigService.enableAndDisableSSO(providerInfo);
if (E.isLeft(isUpdated)) throwErr(isUpdated.left);
return true;
}
} }

View File

@@ -20,14 +20,27 @@ import { ShortcodeModule } from './shortcode/shortcode.module';
import { COOKIES_NOT_FOUND } from './errors'; import { COOKIES_NOT_FOUND } from './errors';
import { ThrottlerModule } from '@nestjs/throttler'; import { ThrottlerModule } from '@nestjs/throttler';
import { AppController } from './app.controller'; import { AppController } from './app.controller';
import { ConfigModule, ConfigService } from '@nestjs/config';
import { InfraConfigModule } from './infra-config/infra-config.module';
import { loadInfraConfiguration } from './infra-config/helper';
import { MailerModule } from './mailer/mailer.module';
@Module({ @Module({
imports: [ imports: [
GraphQLModule.forRoot<ApolloDriverConfig>({ ConfigModule.forRoot({
isGlobal: true,
load: [async () => loadInfraConfiguration()],
}),
GraphQLModule.forRootAsync<ApolloDriverConfig>({
driver: ApolloDriver,
imports: [ConfigModule],
inject: [ConfigService],
useFactory: async (configService: ConfigService) => {
return {
buildSchemaOptions: { buildSchemaOptions: {
numberScalarMode: 'integer', numberScalarMode: 'integer',
}, },
playground: process.env.PRODUCTION !== 'true', playground: configService.get('PRODUCTION') !== 'true',
autoSchemaFile: true, autoSchemaFile: true,
installSubscriptionHandlers: true, installSubscriptionHandlers: true,
subscriptions: { subscriptions: {
@@ -38,7 +51,6 @@ import { AppController } from './app.controller';
const cookies = subscriptionContextCookieParser( const cookies = subscriptionContextCookieParser(
websocket.upgradeReq.headers.cookie, websocket.upgradeReq.headers.cookie,
); );
return { return {
headers: { ...websocket?.upgradeReq?.headers, cookies }, headers: { ...websocket?.upgradeReq?.headers, cookies },
}; };
@@ -55,16 +67,22 @@ import { AppController } from './app.controller';
res, res,
connection, connection,
}), }),
driver: ApolloDriver, };
}),
ThrottlerModule.forRoot([
{
ttl: +process.env.RATE_LIMIT_TTL,
limit: +process.env.RATE_LIMIT_MAX,
}, },
]), }),
ThrottlerModule.forRootAsync({
imports: [ConfigModule],
inject: [ConfigService],
useFactory: async (configService: ConfigService) => [
{
ttl: +configService.get('RATE_LIMIT_TTL'),
limit: +configService.get('RATE_LIMIT_MAX'),
},
],
}),
MailerModule.register(),
UserModule, UserModule,
AuthModule, AuthModule.register(),
AdminModule, AdminModule,
UserSettingsModule, UserSettingsModule,
UserEnvironmentsModule, UserEnvironmentsModule,
@@ -77,6 +95,7 @@ import { AppController } from './app.controller';
TeamInvitationModule, TeamInvitationModule,
UserCollectionModule, UserCollectionModule,
ShortcodeModule, ShortcodeModule,
InfraConfigModule,
], ],
providers: [GQLComplexityPlugin], providers: [GQLComplexityPlugin],
controllers: [AppController], controllers: [AppController],

View File

@@ -2,7 +2,6 @@ import {
Body, Body,
Controller, Controller,
Get, Get,
InternalServerErrorException,
Post, Post,
Query, Query,
Request, Request,
@@ -31,11 +30,21 @@ import { MicrosoftSSOGuard } from './guards/microsoft-sso-.guard';
import { ThrottlerBehindProxyGuard } from 'src/guards/throttler-behind-proxy.guard'; import { ThrottlerBehindProxyGuard } from 'src/guards/throttler-behind-proxy.guard';
import { SkipThrottle } from '@nestjs/throttler'; import { SkipThrottle } from '@nestjs/throttler';
import { AUTH_PROVIDER_NOT_SPECIFIED } from 'src/errors'; import { AUTH_PROVIDER_NOT_SPECIFIED } from 'src/errors';
import { ConfigService } from '@nestjs/config';
@UseGuards(ThrottlerBehindProxyGuard) @UseGuards(ThrottlerBehindProxyGuard)
@Controller({ path: 'auth', version: '1' }) @Controller({ path: 'auth', version: '1' })
export class AuthController { export class AuthController {
constructor(private authService: AuthService) {} constructor(
private authService: AuthService,
private configService: ConfigService,
) {}
@Get('providers')
async getAuthProviders() {
const providers = await this.authService.getAuthProviders();
return { providers };
}
/** /**
** Route to initiate magic-link auth for a users email ** Route to initiate magic-link auth for a users email
@@ -45,8 +54,14 @@ export class AuthController {
@Body() authData: SignInMagicDto, @Body() authData: SignInMagicDto,
@Query('origin') origin: string, @Query('origin') origin: string,
) { ) {
if (!authProviderCheck(AuthProvider.EMAIL)) if (
!authProviderCheck(
AuthProvider.EMAIL,
this.configService.get('INFRA.VITE_ALLOWED_AUTH_PROVIDERS'),
)
) {
throwHTTPErr({ message: AUTH_PROVIDER_NOT_SPECIFIED, statusCode: 404 }); throwHTTPErr({ message: AUTH_PROVIDER_NOT_SPECIFIED, statusCode: 404 });
}
const deviceIdToken = await this.authService.signInMagicLink( const deviceIdToken = await this.authService.signInMagicLink(
authData.email, authData.email,

View File

@@ -2,7 +2,6 @@ import { Module } from '@nestjs/common';
import { AuthService } from './auth.service'; import { AuthService } from './auth.service';
import { AuthController } from './auth.controller'; import { AuthController } from './auth.controller';
import { UserModule } from 'src/user/user.module'; import { UserModule } from 'src/user/user.module';
import { MailerModule } from 'src/mailer/mailer.module';
import { PrismaModule } from 'src/prisma/prisma.module'; import { PrismaModule } from 'src/prisma/prisma.module';
import { PassportModule } from '@nestjs/passport'; import { PassportModule } from '@nestjs/passport';
import { JwtModule } from '@nestjs/jwt'; import { JwtModule } from '@nestjs/jwt';
@@ -12,25 +11,47 @@ import { GoogleStrategy } from './strategies/google.strategy';
import { GithubStrategy } from './strategies/github.strategy'; import { GithubStrategy } from './strategies/github.strategy';
import { MicrosoftStrategy } from './strategies/microsoft.strategy'; import { MicrosoftStrategy } from './strategies/microsoft.strategy';
import { AuthProvider, authProviderCheck } from './helper'; import { AuthProvider, authProviderCheck } from './helper';
import { ConfigModule, ConfigService } from '@nestjs/config';
import { loadInfraConfiguration } from 'src/infra-config/helper';
import { InfraConfigModule } from 'src/infra-config/infra-config.module';
@Module({ @Module({
imports: [ imports: [
PrismaModule, PrismaModule,
UserModule, UserModule,
MailerModule,
PassportModule, PassportModule,
JwtModule.register({ JwtModule.registerAsync({
secret: process.env.JWT_SECRET, imports: [ConfigModule],
inject: [ConfigService],
useFactory: async (configService: ConfigService) => ({
secret: configService.get('JWT_SECRET'),
}), }),
}),
InfraConfigModule,
], ],
providers: [ providers: [AuthService, JwtStrategy, RTJwtStrategy],
AuthService,
JwtStrategy,
RTJwtStrategy,
...(authProviderCheck(AuthProvider.GOOGLE) ? [GoogleStrategy] : []),
...(authProviderCheck(AuthProvider.GITHUB) ? [GithubStrategy] : []),
...(authProviderCheck(AuthProvider.MICROSOFT) ? [MicrosoftStrategy] : []),
],
controllers: [AuthController], controllers: [AuthController],
}) })
export class AuthModule {} export class AuthModule {
static async register() {
const env = await loadInfraConfiguration();
const allowedAuthProviders = env.INFRA.VITE_ALLOWED_AUTH_PROVIDERS;
const providers = [
...(authProviderCheck(AuthProvider.GOOGLE, allowedAuthProviders)
? [GoogleStrategy]
: []),
...(authProviderCheck(AuthProvider.GITHUB, allowedAuthProviders)
? [GithubStrategy]
: []),
...(authProviderCheck(AuthProvider.MICROSOFT, allowedAuthProviders)
? [MicrosoftStrategy]
: []),
];
return {
module: AuthModule,
providers,
};
}
}

View File

@@ -21,15 +21,26 @@ import { VerifyMagicDto } from './dto/verify-magic.dto';
import { DateTime } from 'luxon'; import { DateTime } from 'luxon';
import * as argon2 from 'argon2'; import * as argon2 from 'argon2';
import * as E from 'fp-ts/Either'; import * as E from 'fp-ts/Either';
import { ConfigService } from '@nestjs/config';
import { InfraConfigService } from 'src/infra-config/infra-config.service';
const mockPrisma = mockDeep<PrismaService>(); const mockPrisma = mockDeep<PrismaService>();
const mockUser = mockDeep<UserService>(); const mockUser = mockDeep<UserService>();
const mockJWT = mockDeep<JwtService>(); const mockJWT = mockDeep<JwtService>();
const mockMailer = mockDeep<MailerService>(); const mockMailer = mockDeep<MailerService>();
const mockConfigService = mockDeep<ConfigService>();
const mockInfraConfigService = mockDeep<InfraConfigService>();
// eslint-disable-next-line @typescript-eslint/ban-ts-comment // eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore // @ts-ignore
const authService = new AuthService(mockUser, mockPrisma, mockJWT, mockMailer); const authService = new AuthService(
mockUser,
mockPrisma,
mockJWT,
mockMailer,
mockConfigService,
mockInfraConfigService,
);
const currentTime = new Date(); const currentTime = new Date();
@@ -91,6 +102,8 @@ describe('signInMagicLink', () => {
mockUser.createUserViaMagicLink.mockResolvedValue(user); mockUser.createUserViaMagicLink.mockResolvedValue(user);
// create new entry in VerificationToken table // create new entry in VerificationToken table
mockPrisma.verificationToken.create.mockResolvedValueOnce(passwordlessData); mockPrisma.verificationToken.create.mockResolvedValueOnce(passwordlessData);
// Read env variable 'MAGIC_LINK_TOKEN_VALIDITY' from config service
mockConfigService.get.mockReturnValue('3');
const result = await authService.signInMagicLink( const result = await authService.signInMagicLink(
'dwight@dundermifflin.com', 'dwight@dundermifflin.com',

View File

@@ -28,6 +28,8 @@ import { AuthError } from 'src/types/AuthError';
import { AuthUser, IsAdmin } from 'src/types/AuthUser'; import { AuthUser, IsAdmin } from 'src/types/AuthUser';
import { VerificationToken } from '@prisma/client'; import { VerificationToken } from '@prisma/client';
import { Origin } from './helper'; import { Origin } from './helper';
import { ConfigService } from '@nestjs/config';
import { InfraConfigService } from 'src/infra-config/infra-config.service';
@Injectable() @Injectable()
export class AuthService { export class AuthService {
@@ -36,6 +38,8 @@ export class AuthService {
private prismaService: PrismaService, private prismaService: PrismaService,
private jwtService: JwtService, private jwtService: JwtService,
private readonly mailerService: MailerService, private readonly mailerService: MailerService,
private readonly configService: ConfigService,
private infraConfigService: InfraConfigService,
) {} ) {}
/** /**
@@ -46,10 +50,12 @@ export class AuthService {
*/ */
private async generateMagicLinkTokens(user: AuthUser) { private async generateMagicLinkTokens(user: AuthUser) {
const salt = await bcrypt.genSalt( const salt = await bcrypt.genSalt(
parseInt(process.env.TOKEN_SALT_COMPLEXITY), parseInt(this.configService.get('TOKEN_SALT_COMPLEXITY')),
); );
const expiresOn = DateTime.now() const expiresOn = DateTime.now()
.plus({ hours: parseInt(process.env.MAGIC_LINK_TOKEN_VALIDITY) }) .plus({
hours: parseInt(this.configService.get('MAGIC_LINK_TOKEN_VALIDITY')),
})
.toISO() .toISO()
.toString(); .toString();
@@ -95,13 +101,13 @@ export class AuthService {
*/ */
private async generateRefreshToken(userUid: string) { private async generateRefreshToken(userUid: string) {
const refreshTokenPayload: RefreshTokenPayload = { const refreshTokenPayload: RefreshTokenPayload = {
iss: process.env.VITE_BASE_URL, iss: this.configService.get('VITE_BASE_URL'),
sub: userUid, sub: userUid,
aud: [process.env.VITE_BASE_URL], aud: [this.configService.get('VITE_BASE_URL')],
}; };
const refreshToken = await this.jwtService.sign(refreshTokenPayload, { const refreshToken = await this.jwtService.sign(refreshTokenPayload, {
expiresIn: process.env.REFRESH_TOKEN_VALIDITY, //7 Days expiresIn: this.configService.get('REFRESH_TOKEN_VALIDITY'), //7 Days
}); });
const refreshTokenHash = await argon2.hash(refreshToken); const refreshTokenHash = await argon2.hash(refreshToken);
@@ -127,9 +133,9 @@ export class AuthService {
*/ */
async generateAuthTokens(userUid: string) { async generateAuthTokens(userUid: string) {
const accessTokenPayload: AccessTokenPayload = { const accessTokenPayload: AccessTokenPayload = {
iss: process.env.VITE_BASE_URL, iss: this.configService.get('VITE_BASE_URL'),
sub: userUid, sub: userUid,
aud: [process.env.VITE_BASE_URL], aud: [this.configService.get('VITE_BASE_URL')],
}; };
const refreshToken = await this.generateRefreshToken(userUid); const refreshToken = await this.generateRefreshToken(userUid);
@@ -137,7 +143,7 @@ export class AuthService {
return E.right(<AuthTokens>{ return E.right(<AuthTokens>{
access_token: await this.jwtService.sign(accessTokenPayload, { access_token: await this.jwtService.sign(accessTokenPayload, {
expiresIn: process.env.ACCESS_TOKEN_VALIDITY, //1 Day expiresIn: this.configService.get('ACCESS_TOKEN_VALIDITY'), //1 Day
}), }),
refresh_token: refreshToken.right, refresh_token: refreshToken.right,
}); });
@@ -218,14 +224,14 @@ export class AuthService {
let url: string; let url: string;
switch (origin) { switch (origin) {
case Origin.ADMIN: case Origin.ADMIN:
url = process.env.VITE_ADMIN_URL; url = this.configService.get('VITE_ADMIN_URL');
break; break;
case Origin.APP: case Origin.APP:
url = process.env.VITE_BASE_URL; url = this.configService.get('VITE_BASE_URL');
break; break;
default: default:
// if origin is invalid by default set URL to Hoppscotch-App // if origin is invalid by default set URL to Hoppscotch-App
url = process.env.VITE_BASE_URL; url = this.configService.get('VITE_BASE_URL');
} }
await this.mailerService.sendEmail(email, { await this.mailerService.sendEmail(email, {
@@ -377,4 +383,8 @@ export class AuthService {
return E.right(<IsAdmin>{ isAdmin: false }); return E.right(<IsAdmin>{ isAdmin: false });
} }
getAuthProviders() {
return this.infraConfigService.getAllowedAuthProviders();
}
} }

View File

@@ -3,14 +3,25 @@ import { AuthGuard } from '@nestjs/passport';
import { AuthProvider, authProviderCheck, throwHTTPErr } from '../helper'; import { AuthProvider, authProviderCheck, throwHTTPErr } from '../helper';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
import { AUTH_PROVIDER_NOT_SPECIFIED } from 'src/errors'; import { AUTH_PROVIDER_NOT_SPECIFIED } from 'src/errors';
import { ConfigService } from '@nestjs/config';
@Injectable() @Injectable()
export class GithubSSOGuard extends AuthGuard('github') implements CanActivate { export class GithubSSOGuard extends AuthGuard('github') implements CanActivate {
constructor(private readonly configService: ConfigService) {
super();
}
canActivate( canActivate(
context: ExecutionContext, context: ExecutionContext,
): boolean | Promise<boolean> | Observable<boolean> { ): boolean | Promise<boolean> | Observable<boolean> {
if (!authProviderCheck(AuthProvider.GITHUB)) if (
!authProviderCheck(
AuthProvider.GITHUB,
this.configService.get('INFRA.VITE_ALLOWED_AUTH_PROVIDERS'),
)
) {
throwHTTPErr({ message: AUTH_PROVIDER_NOT_SPECIFIED, statusCode: 404 }); throwHTTPErr({ message: AUTH_PROVIDER_NOT_SPECIFIED, statusCode: 404 });
}
return super.canActivate(context); return super.canActivate(context);
} }

View File

@@ -3,14 +3,25 @@ import { AuthGuard } from '@nestjs/passport';
import { AuthProvider, authProviderCheck, throwHTTPErr } from '../helper'; import { AuthProvider, authProviderCheck, throwHTTPErr } from '../helper';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
import { AUTH_PROVIDER_NOT_SPECIFIED } from 'src/errors'; import { AUTH_PROVIDER_NOT_SPECIFIED } from 'src/errors';
import { ConfigService } from '@nestjs/config';
@Injectable() @Injectable()
export class GoogleSSOGuard extends AuthGuard('google') implements CanActivate { export class GoogleSSOGuard extends AuthGuard('google') implements CanActivate {
constructor(private readonly configService: ConfigService) {
super();
}
canActivate( canActivate(
context: ExecutionContext, context: ExecutionContext,
): boolean | Promise<boolean> | Observable<boolean> { ): boolean | Promise<boolean> | Observable<boolean> {
if (!authProviderCheck(AuthProvider.GOOGLE)) if (
!authProviderCheck(
AuthProvider.GOOGLE,
this.configService.get('INFRA.VITE_ALLOWED_AUTH_PROVIDERS'),
)
) {
throwHTTPErr({ message: AUTH_PROVIDER_NOT_SPECIFIED, statusCode: 404 }); throwHTTPErr({ message: AUTH_PROVIDER_NOT_SPECIFIED, statusCode: 404 });
}
return super.canActivate(context); return super.canActivate(context);
} }

View File

@@ -3,20 +3,31 @@ import { AuthGuard } from '@nestjs/passport';
import { AuthProvider, authProviderCheck, throwHTTPErr } from '../helper'; import { AuthProvider, authProviderCheck, throwHTTPErr } from '../helper';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
import { AUTH_PROVIDER_NOT_SPECIFIED } from 'src/errors'; import { AUTH_PROVIDER_NOT_SPECIFIED } from 'src/errors';
import { ConfigService } from '@nestjs/config';
@Injectable() @Injectable()
export class MicrosoftSSOGuard export class MicrosoftSSOGuard
extends AuthGuard('microsoft') extends AuthGuard('microsoft')
implements CanActivate implements CanActivate
{ {
constructor(private readonly configService: ConfigService) {
super();
}
canActivate( canActivate(
context: ExecutionContext, context: ExecutionContext,
): boolean | Promise<boolean> | Observable<boolean> { ): boolean | Promise<boolean> | Observable<boolean> {
if (!authProviderCheck(AuthProvider.MICROSOFT)) if (
!authProviderCheck(
AuthProvider.MICROSOFT,
this.configService.get('INFRA.VITE_ALLOWED_AUTH_PROVIDERS'),
)
) {
throwHTTPErr({ throwHTTPErr({
message: AUTH_PROVIDER_NOT_SPECIFIED, message: AUTH_PROVIDER_NOT_SPECIFIED,
statusCode: 404, statusCode: 404,
}); });
}
return super.canActivate(context); return super.canActivate(context);
} }

View File

@@ -6,6 +6,7 @@ import { Response } from 'express';
import * as cookie from 'cookie'; import * as cookie from 'cookie';
import { AUTH_PROVIDER_NOT_SPECIFIED, COOKIES_NOT_FOUND } from 'src/errors'; import { AUTH_PROVIDER_NOT_SPECIFIED, COOKIES_NOT_FOUND } from 'src/errors';
import { throwErr } from 'src/utils'; import { throwErr } from 'src/utils';
import { ConfigService } from '@nestjs/config';
enum AuthTokenType { enum AuthTokenType {
ACCESS_TOKEN = 'access_token', ACCESS_TOKEN = 'access_token',
@@ -45,15 +46,17 @@ export const authCookieHandler = (
redirect: boolean, redirect: boolean,
redirectUrl: string | null, redirectUrl: string | null,
) => { ) => {
const configService = new ConfigService();
const currentTime = DateTime.now(); const currentTime = DateTime.now();
const accessTokenValidity = currentTime const accessTokenValidity = currentTime
.plus({ .plus({
milliseconds: parseInt(process.env.ACCESS_TOKEN_VALIDITY), milliseconds: parseInt(configService.get('ACCESS_TOKEN_VALIDITY')),
}) })
.toMillis(); .toMillis();
const refreshTokenValidity = currentTime const refreshTokenValidity = currentTime
.plus({ .plus({
milliseconds: parseInt(process.env.REFRESH_TOKEN_VALIDITY), milliseconds: parseInt(configService.get('REFRESH_TOKEN_VALIDITY')),
}) })
.toMillis(); .toMillis();
@@ -75,10 +78,12 @@ export const authCookieHandler = (
} }
// check to see if redirectUrl is a whitelisted url // check to see if redirectUrl is a whitelisted url
const whitelistedOrigins = process.env.WHITELISTED_ORIGINS.split(','); const whitelistedOrigins = configService
.get('WHITELISTED_ORIGINS')
.split(',');
if (!whitelistedOrigins.includes(redirectUrl)) if (!whitelistedOrigins.includes(redirectUrl))
// if it is not redirect by default to REDIRECT_URL // if it is not redirect by default to REDIRECT_URL
redirectUrl = process.env.REDIRECT_URL; redirectUrl = configService.get('REDIRECT_URL');
return res.status(HttpStatus.OK).redirect(redirectUrl); return res.status(HttpStatus.OK).redirect(redirectUrl);
}; };
@@ -112,13 +117,16 @@ export const subscriptionContextCookieParser = (rawCookies: string) => {
* @param provider Provider we want to check the presence of * @param provider Provider we want to check the presence of
* @returns Boolean if provider specified is present or not * @returns Boolean if provider specified is present or not
*/ */
export function authProviderCheck(provider: string) { export function authProviderCheck(
provider: string,
VITE_ALLOWED_AUTH_PROVIDERS: string,
) {
if (!provider) { if (!provider) {
throwErr(AUTH_PROVIDER_NOT_SPECIFIED); throwErr(AUTH_PROVIDER_NOT_SPECIFIED);
} }
const envVariables = process.env.VITE_ALLOWED_AUTH_PROVIDERS const envVariables = VITE_ALLOWED_AUTH_PROVIDERS
? process.env.VITE_ALLOWED_AUTH_PROVIDERS.split(',').map((provider) => ? VITE_ALLOWED_AUTH_PROVIDERS.split(',').map((provider) =>
provider.trim().toUpperCase(), provider.trim().toUpperCase(),
) )
: []; : [];

View File

@@ -5,18 +5,20 @@ import { AuthService } from '../auth.service';
import { UserService } from 'src/user/user.service'; import { UserService } from 'src/user/user.service';
import * as O from 'fp-ts/Option'; import * as O from 'fp-ts/Option';
import * as E from 'fp-ts/Either'; import * as E from 'fp-ts/Either';
import { ConfigService } from '@nestjs/config';
@Injectable() @Injectable()
export class GithubStrategy extends PassportStrategy(Strategy) { export class GithubStrategy extends PassportStrategy(Strategy) {
constructor( constructor(
private authService: AuthService, private authService: AuthService,
private usersService: UserService, private usersService: UserService,
private configService: ConfigService,
) { ) {
super({ super({
clientID: process.env.GITHUB_CLIENT_ID, clientID: configService.get('INFRA.GITHUB_CLIENT_ID'),
clientSecret: process.env.GITHUB_CLIENT_SECRET, clientSecret: configService.get('INFRA.GITHUB_CLIENT_SECRET'),
callbackURL: process.env.GITHUB_CALLBACK_URL, callbackURL: configService.get('GITHUB_CALLBACK_URL'),
scope: [process.env.GITHUB_SCOPE], scope: [configService.get('GITHUB_SCOPE')],
store: true, store: true,
}); });
} }

View File

@@ -5,18 +5,20 @@ import { UserService } from 'src/user/user.service';
import * as O from 'fp-ts/Option'; import * as O from 'fp-ts/Option';
import { AuthService } from '../auth.service'; import { AuthService } from '../auth.service';
import * as E from 'fp-ts/Either'; import * as E from 'fp-ts/Either';
import { ConfigService } from '@nestjs/config';
@Injectable() @Injectable()
export class GoogleStrategy extends PassportStrategy(Strategy) { export class GoogleStrategy extends PassportStrategy(Strategy) {
constructor( constructor(
private usersService: UserService, private usersService: UserService,
private authService: AuthService, private authService: AuthService,
private configService: ConfigService,
) { ) {
super({ super({
clientID: process.env.GOOGLE_CLIENT_ID, clientID: configService.get('INFRA.GOOGLE_CLIENT_ID'),
clientSecret: process.env.GOOGLE_CLIENT_SECRET, clientSecret: configService.get('INFRA.GOOGLE_CLIENT_SECRET'),
callbackURL: process.env.GOOGLE_CALLBACK_URL, callbackURL: configService.get('GOOGLE_CALLBACK_URL'),
scope: process.env.GOOGLE_SCOPE.split(','), scope: configService.get('GOOGLE_SCOPE').split(','),
passReqToCallback: true, passReqToCallback: true,
store: true, store: true,
}); });

View File

@@ -15,10 +15,14 @@ import {
INVALID_ACCESS_TOKEN, INVALID_ACCESS_TOKEN,
USER_NOT_FOUND, USER_NOT_FOUND,
} from 'src/errors'; } from 'src/errors';
import { ConfigService } from '@nestjs/config';
@Injectable() @Injectable()
export class JwtStrategy extends PassportStrategy(Strategy, 'jwt') { export class JwtStrategy extends PassportStrategy(Strategy, 'jwt') {
constructor(private usersService: UserService) { constructor(
private usersService: UserService,
private configService: ConfigService,
) {
super({ super({
jwtFromRequest: ExtractJwt.fromExtractors([ jwtFromRequest: ExtractJwt.fromExtractors([
(request: Request) => { (request: Request) => {
@@ -29,7 +33,7 @@ export class JwtStrategy extends PassportStrategy(Strategy, 'jwt') {
return ATCookie; return ATCookie;
}, },
]), ]),
secretOrKey: process.env.JWT_SECRET, secretOrKey: configService.get('JWT_SECRET'),
}); });
} }

View File

@@ -5,19 +5,21 @@ import { AuthService } from '../auth.service';
import { UserService } from 'src/user/user.service'; import { UserService } from 'src/user/user.service';
import * as O from 'fp-ts/Option'; import * as O from 'fp-ts/Option';
import * as E from 'fp-ts/Either'; import * as E from 'fp-ts/Either';
import { ConfigService } from '@nestjs/config';
@Injectable() @Injectable()
export class MicrosoftStrategy extends PassportStrategy(Strategy) { export class MicrosoftStrategy extends PassportStrategy(Strategy) {
constructor( constructor(
private authService: AuthService, private authService: AuthService,
private usersService: UserService, private usersService: UserService,
private configService: ConfigService,
) { ) {
super({ super({
clientID: process.env.MICROSOFT_CLIENT_ID, clientID: configService.get('INFRA.MICROSOFT_CLIENT_ID'),
clientSecret: process.env.MICROSOFT_CLIENT_SECRET, clientSecret: configService.get('INFRA.MICROSOFT_CLIENT_SECRET'),
callbackURL: process.env.MICROSOFT_CALLBACK_URL, callbackURL: configService.get('MICROSOFT_CALLBACK_URL'),
scope: [process.env.MICROSOFT_SCOPE], scope: [configService.get('MICROSOFT_SCOPE')],
tenant: process.env.MICROSOFT_TENANT, tenant: configService.get('MICROSOFT_TENANT'),
store: true, store: true,
}); });
} }

View File

@@ -14,10 +14,14 @@ import {
USER_NOT_FOUND, USER_NOT_FOUND,
} from 'src/errors'; } from 'src/errors';
import * as O from 'fp-ts/Option'; import * as O from 'fp-ts/Option';
import { ConfigService } from '@nestjs/config';
@Injectable() @Injectable()
export class RTJwtStrategy extends PassportStrategy(Strategy, 'jwt-refresh') { export class RTJwtStrategy extends PassportStrategy(Strategy, 'jwt-refresh') {
constructor(private usersService: UserService) { constructor(
private usersService: UserService,
private configService: ConfigService,
) {
super({ super({
jwtFromRequest: ExtractJwt.fromExtractors([ jwtFromRequest: ExtractJwt.fromExtractors([
(request: Request) => { (request: Request) => {
@@ -28,7 +32,7 @@ export class RTJwtStrategy extends PassportStrategy(Strategy, 'jwt-refresh') {
return RTCookie; return RTCookie;
}, },
]), ]),
secretOrKey: process.env.JWT_SECRET, secretOrKey: configService.get('JWT_SECRET'),
}); });
} }

View File

@@ -644,3 +644,48 @@ export const SHORTCODE_INVALID_PROPERTIES_JSON =
*/ */
export const SHORTCODE_PROPERTIES_NOT_FOUND = export const SHORTCODE_PROPERTIES_NOT_FOUND =
'shortcode/properties_not_found' as const; 'shortcode/properties_not_found' as const;
/**
* Infra Config not found
* (InfraConfigService)
*/
export const INFRA_CONFIG_NOT_FOUND = 'infra_config/not_found' as const;
/**
* Infra Config update failed
* (InfraConfigService)
*/
export const INFRA_CONFIG_UPDATE_FAILED = 'infra_config/update_failed' as const;
/**
* Infra Config not listed for onModuleInit creation
* (InfraConfigService)
*/
export const INFRA_CONFIG_NOT_LISTED =
'infra_config/properly_not_listed' as const;
/**
* Infra Config reset failed
* (InfraConfigService)
*/
export const INFRA_CONFIG_RESET_FAILED = 'infra_config/reset_failed' as const;
/**
* Infra Config invalid input for Config variable
* (InfraConfigService)
*/
export const INFRA_CONFIG_INVALID_INPUT = 'infra_config/invalid_input' as const;
/**
* Infra Config service (auth provider/mailer/audit logs) not configured
* (InfraConfigService)
*/
export const INFRA_CONFIG_SERVICE_NOT_CONFIGURED =
'infra_config/service_not_configured' as const;
/**
* Error message for when the database table does not exist
* (InfraConfigService)
*/
export const DATABASE_TABLE_NOT_EXIST =
'Database migration not found. Please check the documentation for assistance: https://docs.hoppscotch.io/documentation/self-host/community-edition/install-and-build#running-migrations';

View File

@@ -0,0 +1,44 @@
import { PrismaService } from 'src/prisma/prisma.service';
export enum ServiceStatus {
ENABLE = 'ENABLE',
DISABLE = 'DISABLE',
}
/**
* Load environment variables from the database and set them in the process
*
* @Description Fetch the 'infra_config' table from the database and return it as an object
* (ConfigModule will set the environment variables in the process)
*/
export async function loadInfraConfiguration() {
try {
const prisma = new PrismaService();
const infraConfigs = await prisma.infraConfig.findMany();
let environmentObject: Record<string, any> = {};
infraConfigs.forEach((infraConfig) => {
environmentObject[infraConfig.name] = infraConfig.value;
});
return { INFRA: environmentObject };
} catch (error) {
// Prisma throw error if 'Can't reach at database server' OR 'Table does not exist'
// Reason for not throwing error is, we want successful build during 'postinstall' and generate dist files
return { INFRA: {} };
}
}
/**
* Stop the app after 5 seconds
* (Docker will re-start the app)
*/
export function stopApp() {
console.log('Stopping app in 5 seconds...');
setTimeout(() => {
console.log('Stopping app now...');
process.kill(process.pid, 'SIGTERM');
}, 5000);
}

View File

@@ -0,0 +1,29 @@
import { Field, ObjectType, registerEnumType } from '@nestjs/graphql';
import { AuthProvider } from 'src/auth/helper';
import { InfraConfigEnumForClient } from 'src/types/InfraConfig';
import { ServiceStatus } from './helper';
@ObjectType()
export class InfraConfig {
@Field({
description: 'Infra Config Name',
})
name: InfraConfigEnumForClient;
@Field({
description: 'Infra Config Value',
})
value: string;
}
registerEnumType(InfraConfigEnumForClient, {
name: 'InfraConfigEnum',
});
registerEnumType(AuthProvider, {
name: 'AuthProvider',
});
registerEnumType(ServiceStatus, {
name: 'ServiceStatus',
});

View File

@@ -0,0 +1,10 @@
import { Module } from '@nestjs/common';
import { InfraConfigService } from './infra-config.service';
import { PrismaModule } from 'src/prisma/prisma.module';
@Module({
imports: [PrismaModule],
providers: [InfraConfigService],
exports: [InfraConfigService],
})
export class InfraConfigModule {}

View File

@@ -0,0 +1,109 @@
import { mockDeep, mockReset } from 'jest-mock-extended';
import { PrismaService } from 'src/prisma/prisma.service';
import { InfraConfigService } from './infra-config.service';
import {
InfraConfigEnum,
InfraConfigEnumForClient,
} from 'src/types/InfraConfig';
import { INFRA_CONFIG_NOT_FOUND, INFRA_CONFIG_UPDATE_FAILED } from 'src/errors';
import { ConfigService } from '@nestjs/config';
import * as helper from './helper';
const mockPrisma = mockDeep<PrismaService>();
const mockConfigService = mockDeep<ConfigService>();
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
const infraConfigService = new InfraConfigService(
mockPrisma,
mockConfigService,
);
beforeEach(() => {
mockReset(mockPrisma);
});
describe('InfraConfigService', () => {
describe('update', () => {
it('should update the infra config', async () => {
const name = InfraConfigEnum.GOOGLE_CLIENT_ID;
const value = 'true';
mockPrisma.infraConfig.update.mockResolvedValueOnce({
id: '',
name,
value,
active: true,
createdOn: new Date(),
updatedOn: new Date(),
});
jest.spyOn(helper, 'stopApp').mockReturnValueOnce();
const result = await infraConfigService.update(name, value);
expect(result).toEqualRight({ name, value });
});
it('should pass correct params to prisma update', async () => {
const name = InfraConfigEnum.GOOGLE_CLIENT_ID;
const value = 'true';
jest.spyOn(helper, 'stopApp').mockReturnValueOnce();
await infraConfigService.update(name, value);
expect(mockPrisma.infraConfig.update).toHaveBeenCalledWith({
where: { name },
data: { value },
});
expect(mockPrisma.infraConfig.update).toHaveBeenCalledTimes(1);
});
it('should throw an error if the infra config update failed', async () => {
const name = InfraConfigEnum.GOOGLE_CLIENT_ID;
const value = 'true';
mockPrisma.infraConfig.update.mockRejectedValueOnce('null');
const result = await infraConfigService.update(name, value);
expect(result).toEqualLeft(INFRA_CONFIG_UPDATE_FAILED);
});
});
describe('get', () => {
it('should get the infra config', async () => {
const name = InfraConfigEnumForClient.GOOGLE_CLIENT_ID;
const value = 'true';
mockPrisma.infraConfig.findUniqueOrThrow.mockResolvedValueOnce({
id: '',
name,
value,
active: true,
createdOn: new Date(),
updatedOn: new Date(),
});
const result = await infraConfigService.get(name);
expect(result).toEqualRight({ name, value });
});
it('should pass correct params to prisma findUnique', async () => {
const name = InfraConfigEnumForClient.GOOGLE_CLIENT_ID;
await infraConfigService.get(name);
expect(mockPrisma.infraConfig.findUniqueOrThrow).toHaveBeenCalledWith({
where: { name },
});
expect(mockPrisma.infraConfig.findUniqueOrThrow).toHaveBeenCalledTimes(1);
});
it('should throw an error if the infra config does not exist', async () => {
const name = InfraConfigEnumForClient.GOOGLE_CLIENT_ID;
mockPrisma.infraConfig.findUniqueOrThrow.mockRejectedValueOnce('null');
const result = await infraConfigService.get(name);
expect(result).toEqualLeft(INFRA_CONFIG_NOT_FOUND);
});
});
});

View File

@@ -0,0 +1,373 @@
import { Injectable, OnModuleInit } from '@nestjs/common';
import { InfraConfig } from './infra-config.model';
import { PrismaService } from 'src/prisma/prisma.service';
import { InfraConfig as DBInfraConfig } from '@prisma/client';
import * as E from 'fp-ts/Either';
import {
InfraConfigEnum,
InfraConfigEnumForClient,
} from 'src/types/InfraConfig';
import {
AUTH_PROVIDER_NOT_SPECIFIED,
DATABASE_TABLE_NOT_EXIST,
INFRA_CONFIG_INVALID_INPUT,
INFRA_CONFIG_NOT_FOUND,
INFRA_CONFIG_NOT_LISTED,
INFRA_CONFIG_RESET_FAILED,
INFRA_CONFIG_UPDATE_FAILED,
INFRA_CONFIG_SERVICE_NOT_CONFIGURED,
} from 'src/errors';
import { throwErr, validateEmail, validateSMTPUrl } from 'src/utils';
import { ConfigService } from '@nestjs/config';
import { ServiceStatus, stopApp } from './helper';
import { EnableAndDisableSSOArgs, InfraConfigArgs } from './input-args';
import { AuthProvider } from 'src/auth/helper';
@Injectable()
export class InfraConfigService implements OnModuleInit {
constructor(
private readonly prisma: PrismaService,
private readonly configService: ConfigService,
) {}
async onModuleInit() {
await this.initializeInfraConfigTable();
}
getDefaultInfraConfigs(): { name: InfraConfigEnum; value: string }[] {
// Prepare rows for 'infra_config' table with default values (from .env) for each 'name'
const infraConfigDefaultObjs: { name: InfraConfigEnum; value: string }[] = [
{
name: InfraConfigEnum.MAILER_SMTP_URL,
value: process.env.MAILER_SMTP_URL,
},
{
name: InfraConfigEnum.MAILER_ADDRESS_FROM,
value: process.env.MAILER_ADDRESS_FROM,
},
{
name: InfraConfigEnum.GOOGLE_CLIENT_ID,
value: process.env.GOOGLE_CLIENT_ID,
},
{
name: InfraConfigEnum.GOOGLE_CLIENT_SECRET,
value: process.env.GOOGLE_CLIENT_SECRET,
},
{
name: InfraConfigEnum.GITHUB_CLIENT_ID,
value: process.env.GITHUB_CLIENT_ID,
},
{
name: InfraConfigEnum.GITHUB_CLIENT_SECRET,
value: process.env.GITHUB_CLIENT_SECRET,
},
{
name: InfraConfigEnum.MICROSOFT_CLIENT_ID,
value: process.env.MICROSOFT_CLIENT_ID,
},
{
name: InfraConfigEnum.MICROSOFT_CLIENT_SECRET,
value: process.env.MICROSOFT_CLIENT_SECRET,
},
{
name: InfraConfigEnum.VITE_ALLOWED_AUTH_PROVIDERS,
value: process.env.VITE_ALLOWED_AUTH_PROVIDERS.toLocaleUpperCase(),
},
];
return infraConfigDefaultObjs;
}
/**
* Initialize the 'infra_config' table with values from .env
* @description This function create rows 'infra_config' in very first time (only once)
*/
async initializeInfraConfigTable() {
try {
// Get all the 'names' of the properties to be saved in the 'infra_config' table
const enumValues = Object.values(InfraConfigEnum);
// Fetch the default values (value in .env) for configs to be saved in 'infra_config' table
const infraConfigDefaultObjs = this.getDefaultInfraConfigs();
// Check if all the 'names' are listed in the default values
if (enumValues.length !== infraConfigDefaultObjs.length) {
throw new Error(INFRA_CONFIG_NOT_LISTED);
}
// Eliminate the rows (from 'infraConfigDefaultObjs') that are already present in the database table
const dbInfraConfigs = await this.prisma.infraConfig.findMany();
const propsToInsert = infraConfigDefaultObjs.filter(
(p) => !dbInfraConfigs.find((e) => e.name === p.name),
);
if (propsToInsert.length > 0) {
await this.prisma.infraConfig.createMany({ data: propsToInsert });
stopApp();
}
} catch (error) {
if (error.code === 'P1001') {
// Prisma error code for 'Can't reach at database server'
// We're not throwing error here because we want to allow the app to run 'pnpm install'
} else if (error.code === 'P2021') {
// Prisma error code for 'Table does not exist'
throwErr(DATABASE_TABLE_NOT_EXIST);
} else {
throwErr(error);
}
}
}
/**
* Typecast a database InfraConfig to a InfraConfig model
* @param dbInfraConfig database InfraConfig
* @returns InfraConfig model
*/
cast(dbInfraConfig: DBInfraConfig) {
return <InfraConfig>{
name: dbInfraConfig.name,
value: dbInfraConfig.value ?? '',
};
}
/**
* Update InfraConfig by name
* @param name Name of the InfraConfig
* @param value Value of the InfraConfig
* @returns InfraConfig model
*/
async update(
name: InfraConfigEnumForClient | InfraConfigEnum,
value: string,
) {
const isValidate = this.validateEnvValues([{ name, value }]);
if (E.isLeft(isValidate)) return E.left(isValidate.left);
try {
const infraConfig = await this.prisma.infraConfig.update({
where: { name },
data: { value },
});
stopApp();
return E.right(this.cast(infraConfig));
} catch (e) {
return E.left(INFRA_CONFIG_UPDATE_FAILED);
}
}
/**
* Update InfraConfigs by name
* @param infraConfigs InfraConfigs to update
* @returns InfraConfig model
*/
async updateMany(infraConfigs: InfraConfigArgs[]) {
const isValidate = this.validateEnvValues(infraConfigs);
if (E.isLeft(isValidate)) return E.left(isValidate.left);
try {
await this.prisma.$transaction(async (tx) => {
for (let i = 0; i < infraConfigs.length; i++) {
await tx.infraConfig.update({
where: { name: infraConfigs[i].name },
data: { value: infraConfigs[i].value },
});
}
});
stopApp();
return E.right(infraConfigs);
} catch (e) {
return E.left(INFRA_CONFIG_UPDATE_FAILED);
}
}
/**
* Check if the service is configured or not
* @param service Service can be Auth Provider, Mailer, Audit Log etc.
* @returns Either true or false
*/
isServiceConfigured(service: AuthProvider) {
switch (service) {
case AuthProvider.GOOGLE:
return (
this.configService.get<string>('INFRA.GOOGLE_CLIENT_ID') &&
this.configService.get<string>('INFRA.GOOGLE_CLIENT_SECRET')
);
case AuthProvider.GITHUB:
return (
this.configService.get<string>('INFRA.GITHUB_CLIENT_ID') &&
!this.configService.get<string>('INFRA.GITHUB_CLIENT_SECRET')
);
case AuthProvider.MICROSOFT:
return (
this.configService.get<string>('INFRA.MICROSOFT_CLIENT_ID') &&
!this.configService.get<string>('INFRA.MICROSOFT_CLIENT_SECRET')
);
case AuthProvider.EMAIL:
return (
this.configService.get<string>('INFRA.MAILER_SMTP_URL') &&
this.configService.get<string>('INFRA.MAILER_ADDRESS_FROM')
);
default:
return false;
}
}
/**
* Enable or Disable SSO for login/signup
* @param provider Auth Provider to enable or disable
* @param status Status to enable or disable
* @returns Either true or an error
*/
async enableAndDisableSSO(providerInfo: EnableAndDisableSSOArgs[]) {
const allowedAuthProviders = this.configService
.get<string>('INFRA.VITE_ALLOWED_AUTH_PROVIDERS')
.split(',');
let updatedAuthProviders = allowedAuthProviders;
for (let i = 0; i < providerInfo.length; i++) {
const { provider, status } = providerInfo[i];
if (status === ServiceStatus.ENABLE) {
const isConfigured = this.isServiceConfigured(provider);
if (!isConfigured) {
throwErr(INFRA_CONFIG_SERVICE_NOT_CONFIGURED);
}
updatedAuthProviders.push(provider);
} else if (status === ServiceStatus.DISABLE) {
updatedAuthProviders = updatedAuthProviders.filter(
(p) => p !== provider,
);
}
}
updatedAuthProviders = [...new Set(updatedAuthProviders)];
if (updatedAuthProviders.length === 0) {
return E.left(AUTH_PROVIDER_NOT_SPECIFIED);
}
const isUpdated = await this.update(
InfraConfigEnum.VITE_ALLOWED_AUTH_PROVIDERS,
updatedAuthProviders.join(','),
);
if (E.isLeft(isUpdated)) return E.left(isUpdated.left);
return E.right(true);
}
/**
* Get InfraConfig by name
* @param name Name of the InfraConfig
* @returns InfraConfig model
*/
async get(name: InfraConfigEnumForClient) {
try {
const infraConfig = await this.prisma.infraConfig.findUniqueOrThrow({
where: { name },
});
return E.right(this.cast(infraConfig));
} catch (e) {
return E.left(INFRA_CONFIG_NOT_FOUND);
}
}
/**
* Get InfraConfigs by names
* @param names Names of the InfraConfigs
* @returns InfraConfig model
*/
async getMany(names: InfraConfigEnumForClient[]) {
try {
const infraConfigs = await this.prisma.infraConfig.findMany({
where: { name: { in: names } },
});
return E.right(infraConfigs.map((p) => this.cast(p)));
} catch (e) {
return E.left(INFRA_CONFIG_NOT_FOUND);
}
}
/**
* Get allowed auth providers for login/signup
* @returns string[]
*/
getAllowedAuthProviders() {
return this.configService
.get<string>('INFRA.VITE_ALLOWED_AUTH_PROVIDERS')
.split(',');
}
/**
* Reset all the InfraConfigs to their default values (from .env)
*/
async reset() {
try {
const infraConfigDefaultObjs = this.getDefaultInfraConfigs();
await this.prisma.infraConfig.deleteMany({
where: { name: { in: infraConfigDefaultObjs.map((p) => p.name) } },
});
await this.prisma.infraConfig.createMany({
data: infraConfigDefaultObjs,
});
stopApp();
return E.right(true);
} catch (e) {
return E.left(INFRA_CONFIG_RESET_FAILED);
}
}
/**
* Validate the values of the InfraConfigs
*/
validateEnvValues(
infraConfigs: {
name: InfraConfigEnumForClient | InfraConfigEnum;
value: string;
}[],
) {
for (let i = 0; i < infraConfigs.length; i++) {
switch (infraConfigs[i].name) {
case InfraConfigEnumForClient.MAILER_SMTP_URL:
const isValidUrl = validateSMTPUrl(infraConfigs[i].value);
if (!isValidUrl) return E.left(INFRA_CONFIG_INVALID_INPUT);
break;
case InfraConfigEnumForClient.MAILER_ADDRESS_FROM:
const isValidEmail = validateEmail(infraConfigs[i].value);
if (!isValidEmail) return E.left(INFRA_CONFIG_INVALID_INPUT);
break;
case InfraConfigEnumForClient.GOOGLE_CLIENT_ID:
if (!infraConfigs[i].value) return E.left(INFRA_CONFIG_INVALID_INPUT);
break;
case InfraConfigEnumForClient.GOOGLE_CLIENT_SECRET:
if (!infraConfigs[i].value) return E.left(INFRA_CONFIG_INVALID_INPUT);
break;
case InfraConfigEnumForClient.GITHUB_CLIENT_ID:
if (!infraConfigs[i].value) return E.left(INFRA_CONFIG_INVALID_INPUT);
break;
case InfraConfigEnumForClient.GITHUB_CLIENT_SECRET:
if (!infraConfigs[i].value) return E.left(INFRA_CONFIG_INVALID_INPUT);
break;
case InfraConfigEnumForClient.MICROSOFT_CLIENT_ID:
if (!infraConfigs[i].value) return E.left(INFRA_CONFIG_INVALID_INPUT);
break;
case InfraConfigEnumForClient.MICROSOFT_CLIENT_SECRET:
if (!infraConfigs[i].value) return E.left(INFRA_CONFIG_INVALID_INPUT);
break;
default:
break;
}
}
return E.right(true);
}
}

View File

@@ -0,0 +1,30 @@
import { Field, InputType } from '@nestjs/graphql';
import { InfraConfigEnumForClient } from 'src/types/InfraConfig';
import { ServiceStatus } from './helper';
import { AuthProvider } from 'src/auth/helper';
@InputType()
export class InfraConfigArgs {
@Field(() => InfraConfigEnumForClient, {
description: 'Infra Config Name',
})
name: InfraConfigEnumForClient;
@Field({
description: 'Infra Config Value',
})
value: string;
}
@InputType()
export class EnableAndDisableSSOArgs {
@Field(() => AuthProvider, {
description: 'Auth Provider',
})
provider: AuthProvider;
@Field(() => ServiceStatus, {
description: 'Auth Provider Status',
})
status: ServiceStatus;
}

View File

@@ -1,4 +1,4 @@
import { Module } from '@nestjs/common'; import { Global, Module } from '@nestjs/common';
import { MailerModule as NestMailerModule } from '@nestjs-modules/mailer'; import { MailerModule as NestMailerModule } from '@nestjs-modules/mailer';
import { HandlebarsAdapter } from '@nestjs-modules/mailer/dist/adapters/handlebars.adapter'; import { HandlebarsAdapter } from '@nestjs-modules/mailer/dist/adapters/handlebars.adapter';
import { MailerService } from './mailer.service'; import { MailerService } from './mailer.service';
@@ -7,16 +7,35 @@ import {
MAILER_FROM_ADDRESS_UNDEFINED, MAILER_FROM_ADDRESS_UNDEFINED,
MAILER_SMTP_URL_UNDEFINED, MAILER_SMTP_URL_UNDEFINED,
} from 'src/errors'; } from 'src/errors';
import { ConfigService } from '@nestjs/config';
import { loadInfraConfiguration } from 'src/infra-config/helper';
@Global()
@Module({ @Module({
imports: [],
providers: [MailerService],
exports: [MailerService],
})
export class MailerModule {
static async register() {
const env = await loadInfraConfiguration();
let mailerSmtpUrl = env.INFRA.MAILER_SMTP_URL;
let mailerAddressFrom = env.INFRA.MAILER_ADDRESS_FROM;
if (!env.INFRA.MAILER_SMTP_URL || !env.INFRA.MAILER_ADDRESS_FROM) {
const config = new ConfigService();
mailerSmtpUrl = config.get('MAILER_SMTP_URL');
mailerAddressFrom = config.get('MAILER_ADDRESS_FROM');
}
return {
module: MailerModule,
imports: [ imports: [
NestMailerModule.forRoot({ NestMailerModule.forRoot({
transport: transport: mailerSmtpUrl ?? throwErr(MAILER_SMTP_URL_UNDEFINED),
process.env.MAILER_SMTP_URL ?? throwErr(MAILER_SMTP_URL_UNDEFINED),
defaults: { defaults: {
from: from: mailerAddressFrom ?? throwErr(MAILER_FROM_ADDRESS_UNDEFINED),
process.env.MAILER_ADDRESS_FROM ??
throwErr(MAILER_FROM_ADDRESS_UNDEFINED),
}, },
template: { template: {
dir: __dirname + '/templates', dir: __dirname + '/templates',
@@ -24,7 +43,6 @@ import {
}, },
}), }),
], ],
providers: [MailerService], };
exports: [MailerService], }
}) }
export class MailerModule {}

View File

@@ -6,18 +6,23 @@ import { VersioningType } from '@nestjs/common';
import * as session from 'express-session'; import * as session from 'express-session';
import { emitGQLSchemaFile } from './gql-schema'; import { emitGQLSchemaFile } from './gql-schema';
import { checkEnvironmentAuthProvider } from './utils'; import { checkEnvironmentAuthProvider } from './utils';
import { ConfigService } from '@nestjs/config';
async function bootstrap() { async function bootstrap() {
console.log(`Running in production: ${process.env.PRODUCTION}`);
console.log(`Port: ${process.env.PORT}`);
checkEnvironmentAuthProvider();
const app = await NestFactory.create(AppModule); const app = await NestFactory.create(AppModule);
const configService = app.get(ConfigService);
console.log(`Running in production: ${configService.get('PRODUCTION')}`);
console.log(`Port: ${configService.get('PORT')}`);
checkEnvironmentAuthProvider(
configService.get('VITE_ALLOWED_AUTH_PROVIDERS'),
);
app.use( app.use(
session({ session({
secret: process.env.SESSION_SECRET, secret: configService.get('SESSION_SECRET'),
}), }),
); );
@@ -28,18 +33,18 @@ async function bootstrap() {
}), }),
); );
if (process.env.PRODUCTION === 'false') { if (configService.get('PRODUCTION') === 'false') {
console.log('Enabling CORS with development settings'); console.log('Enabling CORS with development settings');
app.enableCors({ app.enableCors({
origin: process.env.WHITELISTED_ORIGINS.split(','), origin: configService.get('WHITELISTED_ORIGINS').split(','),
credentials: true, credentials: true,
}); });
} else { } else {
console.log('Enabling CORS with production settings'); console.log('Enabling CORS with production settings');
app.enableCors({ app.enableCors({
origin: process.env.WHITELISTED_ORIGINS.split(','), origin: configService.get('WHITELISTED_ORIGINS').split(','),
credentials: true, credentials: true,
}); });
} }
@@ -47,7 +52,13 @@ async function bootstrap() {
type: VersioningType.URI, type: VersioningType.URI,
}); });
app.use(cookieParser()); app.use(cookieParser());
await app.listen(process.env.PORT || 3170); await app.listen(configService.get('PORT') || 3170);
// Graceful shutdown
process.on('SIGTERM', async () => {
console.info('SIGTERM signal received');
await app.close();
});
} }
if (!process.env.GENERATE_GQL_SCHEMA) { if (!process.env.GENERATE_GQL_SCHEMA) {

View File

@@ -504,20 +504,24 @@ describe('ShortcodeService', () => {
); );
expect(result).toEqual(<ShortcodeWithUserEmail[]>[ expect(result).toEqual(<ShortcodeWithUserEmail[]>[
{ {
id: shortcodes[0].id, id: shortcodesWithUserEmail[0].id,
request: JSON.stringify(shortcodes[0].request), request: JSON.stringify(shortcodesWithUserEmail[0].request),
properties: JSON.stringify(shortcodes[0].embedProperties), properties: JSON.stringify(
createdOn: shortcodes[0].createdOn, shortcodesWithUserEmail[0].embedProperties,
),
createdOn: shortcodesWithUserEmail[0].createdOn,
creator: { creator: {
uid: user.uid, uid: user.uid,
email: user.email, email: user.email,
}, },
}, },
{ {
id: shortcodes[1].id, id: shortcodesWithUserEmail[1].id,
request: JSON.stringify(shortcodes[1].request), request: JSON.stringify(shortcodesWithUserEmail[1].request),
properties: JSON.stringify(shortcodes[1].embedProperties), properties: JSON.stringify(
createdOn: shortcodes[1].createdOn, shortcodesWithUserEmail[1].embedProperties,
),
createdOn: shortcodesWithUserEmail[1].createdOn,
creator: { creator: {
uid: user.uid, uid: user.uid,
email: user.email, email: user.email,

View File

@@ -1,5 +1,4 @@
import { Module } from '@nestjs/common'; import { Module } from '@nestjs/common';
import { MailerModule } from 'src/mailer/mailer.module';
import { PrismaModule } from 'src/prisma/prisma.module'; import { PrismaModule } from 'src/prisma/prisma.module';
import { PubSubModule } from 'src/pubsub/pubsub.module'; import { PubSubModule } from 'src/pubsub/pubsub.module';
import { TeamModule } from 'src/team/team.module'; import { TeamModule } from 'src/team/team.module';
@@ -12,7 +11,7 @@ import { TeamInviteeGuard } from './team-invitee.guard';
import { TeamTeamInviteExtResolver } from './team-teaminvite-ext.resolver'; import { TeamTeamInviteExtResolver } from './team-teaminvite-ext.resolver';
@Module({ @Module({
imports: [PrismaModule, TeamModule, PubSubModule, UserModule, MailerModule], imports: [PrismaModule, TeamModule, PubSubModule, UserModule],
providers: [ providers: [
TeamInvitationService, TeamInvitationService,
TeamInvitationResolver, TeamInvitationResolver,

View File

@@ -20,6 +20,7 @@ import { UserService } from 'src/user/user.service';
import { PubSubService } from 'src/pubsub/pubsub.service'; import { PubSubService } from 'src/pubsub/pubsub.service';
import { validateEmail } from '../utils'; import { validateEmail } from '../utils';
import { AuthUser } from 'src/types/AuthUser'; import { AuthUser } from 'src/types/AuthUser';
import { ConfigService } from '@nestjs/config';
@Injectable() @Injectable()
export class TeamInvitationService { export class TeamInvitationService {
@@ -28,8 +29,8 @@ export class TeamInvitationService {
private readonly userService: UserService, private readonly userService: UserService,
private readonly teamService: TeamService, private readonly teamService: TeamService,
private readonly mailerService: MailerService, private readonly mailerService: MailerService,
private readonly pubsub: PubSubService, private readonly pubsub: PubSubService,
private readonly configService: ConfigService,
) {} ) {}
/** /**
@@ -150,7 +151,9 @@ export class TeamInvitationService {
template: 'team-invitation', template: 'team-invitation',
variables: { variables: {
invitee: creator.displayName ?? 'A Hoppscotch User', invitee: creator.displayName ?? 'A Hoppscotch User',
action_url: `${process.env.VITE_BASE_URL}/join-team?id=${dbInvitation.id}`, action_url: `${this.configService.get('VITE_BASE_URL')}/join-team?id=${
dbInvitation.id
}`,
invite_team_name: team.name, invite_team_name: team.name,
}, },
}); });

View File

@@ -0,0 +1,29 @@
export enum InfraConfigEnum {
MAILER_SMTP_URL = 'MAILER_SMTP_URL',
MAILER_ADDRESS_FROM = 'MAILER_ADDRESS_FROM',
GOOGLE_CLIENT_ID = 'GOOGLE_CLIENT_ID',
GOOGLE_CLIENT_SECRET = 'GOOGLE_CLIENT_SECRET',
GITHUB_CLIENT_ID = 'GITHUB_CLIENT_ID',
GITHUB_CLIENT_SECRET = 'GITHUB_CLIENT_SECRET',
MICROSOFT_CLIENT_ID = 'MICROSOFT_CLIENT_ID',
MICROSOFT_CLIENT_SECRET = 'MICROSOFT_CLIENT_SECRET',
VITE_ALLOWED_AUTH_PROVIDERS = 'VITE_ALLOWED_AUTH_PROVIDERS',
}
export enum InfraConfigEnumForClient {
MAILER_SMTP_URL = 'MAILER_SMTP_URL',
MAILER_ADDRESS_FROM = 'MAILER_ADDRESS_FROM',
GOOGLE_CLIENT_ID = 'GOOGLE_CLIENT_ID',
GOOGLE_CLIENT_SECRET = 'GOOGLE_CLIENT_SECRET',
GITHUB_CLIENT_ID = 'GITHUB_CLIENT_ID',
GITHUB_CLIENT_SECRET = 'GITHUB_CLIENT_SECRET',
MICROSOFT_CLIENT_ID = 'MICROSOFT_CLIENT_ID',
MICROSOFT_CLIENT_SECRET = 'MICROSOFT_CLIENT_SECRET',
}

View File

@@ -131,6 +131,26 @@ export const validateEmail = (email: string) => {
).test(email); ).test(email);
}; };
/**
* Checks to see if the URL is valid or not
* @param url The URL to validate
* @returns boolean
*/
export const validateSMTPUrl = (url: string) => {
// Possible valid formats
// smtp(s)://mail.example.com
// smtp(s)://user:pass@mail.example.com
// smtp(s)://mail.example.com:587
// smtp(s)://user:pass@mail.example.com:587
if (!url || url.length === 0) return false;
const regex =
/^(smtp|smtps):\/\/(?:([^:]+):([^@]+)@)?((?!\.)[^:]+)(?::(\d+))?$/;
if (regex.test(url)) return true;
return false;
};
/** /**
* String to JSON parser * String to JSON parser
* @param {str} str The string to parse * @param {str} str The string to parse
@@ -164,18 +184,20 @@ export function isValidLength(title: string, length: number) {
* It checks if the "VITE_ALLOWED_AUTH_PROVIDERS" environment variable is properly set or not. * It checks if the "VITE_ALLOWED_AUTH_PROVIDERS" environment variable is properly set or not.
* If not, it throws an error. * If not, it throws an error.
*/ */
export function checkEnvironmentAuthProvider() { export function checkEnvironmentAuthProvider(
if (!process.env.hasOwnProperty('VITE_ALLOWED_AUTH_PROVIDERS')) { VITE_ALLOWED_AUTH_PROVIDERS: string,
) {
if (!VITE_ALLOWED_AUTH_PROVIDERS) {
throw new Error(ENV_NOT_FOUND_KEY_AUTH_PROVIDERS); throw new Error(ENV_NOT_FOUND_KEY_AUTH_PROVIDERS);
} }
if (process.env.VITE_ALLOWED_AUTH_PROVIDERS === '') { if (VITE_ALLOWED_AUTH_PROVIDERS === '') {
throw new Error(ENV_EMPTY_AUTH_PROVIDERS); throw new Error(ENV_EMPTY_AUTH_PROVIDERS);
} }
const givenAuthProviders = process.env.VITE_ALLOWED_AUTH_PROVIDERS.split( const givenAuthProviders = VITE_ALLOWED_AUTH_PROVIDERS.split(',').map(
',', (provider) => provider.toLocaleUpperCase(),
).map((provider) => provider.toLocaleUpperCase()); );
const supportedAuthProviders = Object.values(AuthProvider).map( const supportedAuthProviders = Object.values(AuthProvider).map(
(provider: string) => provider.toLocaleUpperCase(), (provider: string) => provider.toLocaleUpperCase(),
); );

View File

@@ -147,7 +147,7 @@ module.exports = {
// The glob patterns Jest uses to detect test files // The glob patterns Jest uses to detect test files
testMatch: [ testMatch: [
// "**/__tests__/**/*.[jt]s?(x)", // "**/__tests__/**/*.[jt]s?(x)",
"**/src/__tests__/**/*.*.ts", "**/src/__tests__/commands/**/*.*.ts",
], ],
// An array of regexp pattern strings that are matched against all test paths, matched tests are skipped // An array of regexp pattern strings that are matched against all test paths, matched tests are skipped

View File

@@ -1,6 +1,6 @@
{ {
"name": "@hoppscotch/cli", "name": "@hoppscotch/cli",
"version": "0.4.0", "version": "0.5.0",
"description": "A CLI to run Hoppscotch test scripts in CI environments.", "description": "A CLI to run Hoppscotch test scripts in CI environments.",
"homepage": "https://hoppscotch.io", "homepage": "https://hoppscotch.io",
"main": "dist/index.js", "main": "dist/index.js",
@@ -19,8 +19,9 @@
"debugger": "node debugger.js 9999", "debugger": "node debugger.js 9999",
"prepublish": "pnpm exec tsup", "prepublish": "pnpm exec tsup",
"prettier-format": "prettier --config .prettierrc 'src/**/*.ts' --write", "prettier-format": "prettier --config .prettierrc 'src/**/*.ts' --write",
"test": "pnpm run build && jest && rm -rf dist",
"do-typecheck": "pnpm exec tsc --noEmit", "do-typecheck": "pnpm exec tsc --noEmit",
"test": "pnpm run build && jest && rm -rf dist" "do-test": "pnpm test"
}, },
"keywords": [ "keywords": [
"cli", "cli",

View File

@@ -1,63 +1,64 @@
import { ExecException } from "child_process"; import { ExecException } from "child_process";
import { HoppErrorCode } from "../../types/errors"; import { HoppErrorCode } from "../../types/errors";
import { execAsync, getErrorCode, getTestJsonFilePath } from "../utils"; import { runCLI, getErrorCode, getTestJsonFilePath } from "../utils";
describe("Test 'hopp test <file>' command:", () => { describe("Test 'hopp test <file>' command:", () => {
test("No collection file path provided.", async () => { test("No collection file path provided.", async () => {
const cmd = `node ./bin/hopp test`; const args = "test";
const { stderr } = await execAsync(cmd); const { stderr } = await runCLI(args);
const out = getErrorCode(stderr);
const out = getErrorCode(stderr);
expect(out).toBe<HoppErrorCode>("INVALID_ARGUMENT"); expect(out).toBe<HoppErrorCode>("INVALID_ARGUMENT");
}); });
test("Collection file not found.", async () => { test("Collection file not found.", async () => {
const cmd = `node ./bin/hopp test notfound.json`; const args = "test notfound.json";
const { stderr } = await execAsync(cmd); const { stderr } = await runCLI(args);
const out = getErrorCode(stderr);
const out = getErrorCode(stderr);
expect(out).toBe<HoppErrorCode>("FILE_NOT_FOUND"); expect(out).toBe<HoppErrorCode>("FILE_NOT_FOUND");
}); });
test("Collection file is invalid JSON.", async () => { test("Collection file is invalid JSON.", async () => {
const cmd = `node ./bin/hopp test ${getTestJsonFilePath( const args = `test ${getTestJsonFilePath(
"malformed-collection.json" "malformed-collection.json"
)}`; )}`;
const { stderr } = await execAsync(cmd); const { stderr } = await runCLI(args);
const out = getErrorCode(stderr);
const out = getErrorCode(stderr);
expect(out).toBe<HoppErrorCode>("UNKNOWN_ERROR"); expect(out).toBe<HoppErrorCode>("UNKNOWN_ERROR");
}); });
test("Malformed collection file.", async () => { test("Malformed collection file.", async () => {
const cmd = `node ./bin/hopp test ${getTestJsonFilePath( const args = `test ${getTestJsonFilePath(
"malformed-collection2.json" "malformed-collection2.json"
)}`; )}`;
const { stderr } = await execAsync(cmd); const { stderr } = await runCLI(args);
const out = getErrorCode(stderr);
const out = getErrorCode(stderr);
expect(out).toBe<HoppErrorCode>("MALFORMED_COLLECTION"); expect(out).toBe<HoppErrorCode>("MALFORMED_COLLECTION");
}); });
test("Invalid arguement.", async () => { test("Invalid arguement.", async () => {
const cmd = `node ./bin/hopp invalid-arg`; const args = "invalid-arg";
const { stderr } = await execAsync(cmd); const { stderr } = await runCLI(args);
const out = getErrorCode(stderr);
const out = getErrorCode(stderr);
expect(out).toBe<HoppErrorCode>("INVALID_ARGUMENT"); expect(out).toBe<HoppErrorCode>("INVALID_ARGUMENT");
}); });
test("Collection file not JSON type.", async () => { test("Collection file not JSON type.", async () => {
const cmd = `node ./bin/hopp test ${getTestJsonFilePath("notjson.txt")}`; const args = `test ${getTestJsonFilePath("notjson.txt")}`;
const { stderr } = await execAsync(cmd); const { stderr } = await runCLI(args);
const out = getErrorCode(stderr);
const out = getErrorCode(stderr);
expect(out).toBe<HoppErrorCode>("INVALID_FILE_TYPE"); expect(out).toBe<HoppErrorCode>("INVALID_FILE_TYPE");
}); });
test("Some errors occured (exit code 1).", async () => { test("Some errors occured (exit code 1).", async () => {
const cmd = `node ./bin/hopp test ${getTestJsonFilePath("fails.json")}`; const args = `test ${getTestJsonFilePath("fails.json")}`;
const { error } = await execAsync(cmd); const { error } = await runCLI(args);
expect(error).not.toBeNull(); expect(error).not.toBeNull();
expect(error).toMatchObject(<ExecException>{ expect(error).toMatchObject(<ExecException>{
@@ -66,76 +67,83 @@ describe("Test 'hopp test <file>' command:", () => {
}); });
test("No errors occured (exit code 0).", async () => { test("No errors occured (exit code 0).", async () => {
const cmd = `node ./bin/hopp test ${getTestJsonFilePath("passes.json")}`; const args = `test ${getTestJsonFilePath("passes.json")}`;
const { error } = await execAsync(cmd); const { error } = await runCLI(args);
expect(error).toBeNull(); expect(error).toBeNull();
}); });
test("Supports inheriting headers and authorization set at the root collection", async () => {
const args = `test ${getTestJsonFilePath("collection-level-headers-auth.json")}`;
const { error } = await runCLI(args);
expect(error).toBeNull();
})
}); });
describe("Test 'hopp test <file> --env <file>' command:", () => { describe("Test 'hopp test <file> --env <file>' command:", () => {
const VALID_TEST_CMD = `node ./bin/hopp test ${getTestJsonFilePath( const VALID_TEST_ARGS = `test ${getTestJsonFilePath(
"passes.json" "passes.json"
)}`; )}`;
test("No env file path provided.", async () => { test("No env file path provided.", async () => {
const cmd = `${VALID_TEST_CMD} --env`; const args = `${VALID_TEST_ARGS} --env`;
const { stderr } = await execAsync(cmd); const { stderr } = await runCLI(args);
const out = getErrorCode(stderr);
const out = getErrorCode(stderr);
expect(out).toBe<HoppErrorCode>("INVALID_ARGUMENT"); expect(out).toBe<HoppErrorCode>("INVALID_ARGUMENT");
}); });
test("ENV file not JSON type.", async () => { test("ENV file not JSON type.", async () => {
const cmd = `${VALID_TEST_CMD} --env ${getTestJsonFilePath("notjson.txt")}`; const args = `${VALID_TEST_ARGS} --env ${getTestJsonFilePath("notjson.txt")}`;
const { stderr } = await execAsync(cmd); const { stderr } = await runCLI(args);
const out = getErrorCode(stderr);
const out = getErrorCode(stderr);
expect(out).toBe<HoppErrorCode>("INVALID_FILE_TYPE"); expect(out).toBe<HoppErrorCode>("INVALID_FILE_TYPE");
}); });
test("ENV file not found.", async () => { test("ENV file not found.", async () => {
const cmd = `${VALID_TEST_CMD} --env notfound.json`; const args = `${VALID_TEST_ARGS} --env notfound.json`;
const { stderr } = await execAsync(cmd); const { stderr } = await runCLI(args);
const out = getErrorCode(stderr);
const out = getErrorCode(stderr);
expect(out).toBe<HoppErrorCode>("FILE_NOT_FOUND"); expect(out).toBe<HoppErrorCode>("FILE_NOT_FOUND");
}); });
test("No errors occured (exit code 0).", async () => { test("No errors occured (exit code 0).", async () => {
const TESTS_PATH = getTestJsonFilePath("env-flag-tests.json"); const TESTS_PATH = getTestJsonFilePath("env-flag-tests.json");
const ENV_PATH = getTestJsonFilePath("env-flag-envs.json"); const ENV_PATH = getTestJsonFilePath("env-flag-envs.json");
const cmd = `node ./bin/hopp test ${TESTS_PATH} --env ${ENV_PATH}`; const args = `test ${TESTS_PATH} --env ${ENV_PATH}`;
const { error } = await execAsync(cmd);
const { error } = await runCLI(args);
expect(error).toBeNull(); expect(error).toBeNull();
}); });
}); });
describe("Test 'hopp test <file> --delay <delay_in_ms>' command:", () => { describe("Test 'hopp test <file> --delay <delay_in_ms>' command:", () => {
const VALID_TEST_CMD = `node ./bin/hopp test ${getTestJsonFilePath( const VALID_TEST_ARGS = `test ${getTestJsonFilePath(
"passes.json" "passes.json"
)}`; )}`;
test("No value passed to delay flag.", async () => { test("No value passed to delay flag.", async () => {
const cmd = `${VALID_TEST_CMD} --delay`; const args = `${VALID_TEST_ARGS} --delay`;
const { stderr } = await execAsync(cmd); const { stderr } = await runCLI(args);
const out = getErrorCode(stderr);
const out = getErrorCode(stderr);
expect(out).toBe<HoppErrorCode>("INVALID_ARGUMENT"); expect(out).toBe<HoppErrorCode>("INVALID_ARGUMENT");
}); });
test("Invalid value passed to delay flag.", async () => { test("Invalid value passed to delay flag.", async () => {
const cmd = `${VALID_TEST_CMD} --delay 'NaN'`; const args = `${VALID_TEST_ARGS} --delay 'NaN'`;
const { stderr } = await execAsync(cmd); const { stderr } = await runCLI(args);
const out = getErrorCode(stderr); const out = getErrorCode(stderr);
console.log("invalid value thing", out)
expect(out).toBe<HoppErrorCode>("INVALID_ARGUMENT"); expect(out).toBe<HoppErrorCode>("INVALID_ARGUMENT");
}); });
test("Valid value passed to delay flag.", async () => { test("Valid value passed to delay flag.", async () => {
const cmd = `${VALID_TEST_CMD} --delay 1`; const args = `${VALID_TEST_ARGS} --delay 1`;
const { error } = await execAsync(cmd); const { error } = await runCLI(args);
expect(error).toBeNull(); expect(error).toBeNull();
}); });

View File

@@ -0,0 +1,221 @@
[
{
"v": 1,
"name": "CollectionA",
"folders": [
{
"v": 1,
"name": "FolderA",
"folders": [
{
"v": 1,
"name": "FolderB",
"folders": [
{
"v": 1,
"name": "FolderC",
"folders": [],
"requests": [
{
"v": "1",
"endpoint": "https://echo.hoppscotch.io",
"name": "RequestD",
"params": [],
"headers": [
{
"active": true,
"key": "X-Test-Header",
"value": "Overriden at RequestD"
}
],
"method": "GET",
"auth": {
"authType": "basic",
"authActive": true,
"username": "username",
"password": "password"
},
"preRequestScript": "",
"testScript": "pw.test(\"Overrides auth and headers set at the parent folder\", ()=> {\n pw.expect(pw.response.body.headers[\"x-test-header\"]).toBe(\"Overriden at RequestD\");\n pw.expect(pw.response.body.headers[\"authorization\"]).toBe(\"Basic dXNlcm5hbWU6cGFzc3dvcmQ=\");\n});",
"body": {
"contentType": null,
"body": null
}
}
],
"auth": {
"authType": "inherit",
"authActive": true
},
"headers": []
}
],
"requests": [
{
"v": "1",
"endpoint": "https://echo.hoppscotch.io",
"name": "RequestC",
"params": [],
"headers": [],
"method": "GET",
"auth": {
"authType": "inherit",
"authActive": true
},
"preRequestScript": "",
"testScript": "pw.test(\"Correctly inherits auth and headers from the parent folder\", ()=> {\n pw.expect(pw.response.body.headers[\"x-test-header\"]).toBe(\"Overriden at FolderB\");\n pw.expect(pw.response.body.headers[\"key\"]).toBe(\"test-key\");\n});",
"body": {
"contentType": null,
"body": null
}
}
],
"auth": {
"authType": "api-key",
"authActive": true,
"addTo": "Headers",
"key": "key",
"value": "test-key"
},
"headers": [
{
"active": true,
"key": "X-Test-Header",
"value": "Overriden at FolderB"
}
]
}
],
"requests": [
{
"v": "1",
"endpoint": "https://echo.hoppscotch.io",
"name": "RequestB",
"params": [],
"headers": [],
"method": "GET",
"auth": {
"authType": "inherit",
"authActive": true
},
"preRequestScript": "",
"testScript": "pw.test(\"Correctly inherits auth and headers from the parent folder\", ()=> {\n pw.expect(pw.response.body.headers[\"x-test-header\"]).toBe(\"Set at root collection\");\n pw.expect(pw.response.body.headers[\"authorization\"]).toBe(\"Bearer BearerToken\");\n});",
"body": {
"contentType": null,
"body": null
},
"id": "clpttpdq00003qp16kut6doqv"
}
],
"auth": {
"authType": "inherit",
"authActive": true
},
"headers": []
}
],
"requests": [
{
"v": "1",
"endpoint": "https://echo.hoppscotch.io",
"name": "RequestA",
"params": [],
"headers": [],
"method": "GET",
"auth": {
"authType": "inherit",
"authActive": true
},
"preRequestScript": "",
"testScript": "pw.test(\"Correctly inherits auth and headers from the root collection\", ()=> {\n pw.expect(pw.response.body.headers[\"x-test-header\"]).toBe(\"Set at root collection\");\n pw.expect(pw.response.body.headers[\"authorization\"]).toBe(\"Bearer BearerToken\");\n});",
"body": {
"contentType": null,
"body": null
},
"id": "clpttpdq00003qp16kut6doqv"
}
],
"headers": [
{
"active": true,
"key": "X-Test-Header",
"value": "Set at root collection"
}
],
"auth": {
"authType": "bearer",
"authActive": true,
"token": "BearerToken"
}
},
{
"v": 1,
"name": "CollectionB",
"folders": [
{
"v": 1,
"name": "FolderA",
"folders": [],
"requests": [
{
"v": "1",
"endpoint": "https://echo.hoppscotch.io",
"name": "RequestB",
"params": [],
"headers": [],
"method": "GET",
"auth": {
"authType": "inherit",
"authActive": true
},
"preRequestScript": "",
"testScript": "pw.test(\"Correctly inherits auth and headers from the parent folder\", ()=> {\n pw.expect(pw.response.body.headers[\"x-test-header\"]).toBe(\"Set at root collection\");\n pw.expect(pw.response.body.headers[\"authorization\"]).toBe(\"Bearer BearerToken\");\n});",
"body": {
"contentType": null,
"body": null
},
"id": "clpttpdq00003qp16kut6doqv"
}
],
"auth": {
"authType": "inherit",
"authActive": true
},
"headers": []
}
],
"requests": [
{
"v": "1",
"endpoint": "https://echo.hoppscotch.io",
"name": "RequestA",
"params": [],
"headers": [],
"method": "GET",
"auth": {
"authType": "inherit",
"authActive": true
},
"preRequestScript": "",
"testScript": "pw.test(\"Correctly inherits auth and headers from the root collection\", ()=> {\n pw.expect(pw.response.body.headers[\"x-test-header\"]).toBe(\"Set at root collection\");\n pw.expect(pw.response.body.headers[\"authorization\"]).toBe(\"Bearer BearerToken\");\n});",
"body": {
"contentType": null,
"body": null
},
"id": "clpttpdq00003qp16kut6doqv"
}
],
"headers": [
{
"active": true,
"key": "X-Test-Header",
"value": "Set at root collection"
}
],
"auth": {
"authType": "bearer",
"authActive": true,
"token": "BearerToken"
}
}
]

View File

@@ -1,7 +1,6 @@
{ {
"URL": "https://echo.hoppscotch.io", "URL": "https://echo.hoppscotch.io",
"HOST": "echo.hoppscotch.io", "HOST": "echo.hoppscotch.io",
"X-COUNTRY": "IN",
"BODY_VALUE": "body_value", "BODY_VALUE": "body_value",
"BODY_KEY": "body_key" "BODY_KEY": "body_key"
} }

View File

@@ -12,7 +12,7 @@
"method": "POST", "method": "POST",
"auth": { "authType": "none", "authActive": true }, "auth": { "authType": "none", "authActive": true },
"preRequestScript": "", "preRequestScript": "",
"testScript": "const HOST = pw.env.get(\"HOST\");\nconst UNSET_ENV = pw.env.get(\"UNSET_ENV\");\nconst EXPECTED_URL = \"https://echo.hoppscotch.io\";\nconst URL = pw.env.get(\"URL\");\nconst X_COUNTRY = pw.env.get(\"X-COUNTRY\");\nconst BODY_VALUE = pw.env.get(\"BODY_VALUE\");\n\n// Check JSON response property\npw.test(\"Check headers properties.\", ()=> {\n pw.expect(pw.response.body.headers.host).toBe(HOST);\n\t pw.expect(pw.response.body.headers[\"x-country\"]).toBe(X_COUNTRY); \n});\n\npw.test(\"Check data properties.\", () => {\n\tconst DATA = pw.response.body.data;\n \n pw.expect(DATA).toBeType(\"string\");\n pw.expect(JSON.parse(DATA).body_key).toBe(BODY_VALUE);\n});\n\npw.test(\"Check request URL.\", () => {\n pw.expect(URL).toBe(EXPECTED_URL);\n})\n\npw.test(\"Check unset ENV.\", () => {\n pw.expect(UNSET_ENV).toBeType(\"undefined\");\n})", "testScript": "const HOST = pw.env.get(\"HOST\");\nconst UNSET_ENV = pw.env.get(\"UNSET_ENV\");\nconst EXPECTED_URL = \"https://echo.hoppscotch.io\";\nconst URL = pw.env.get(\"URL\");\nconst BODY_VALUE = pw.env.get(\"BODY_VALUE\");\n\n// Check JSON response property\npw.test(\"Check headers properties.\", ()=> {\n pw.expect(pw.response.body.headers.host).toBe(HOST);\n});\n\npw.test(\"Check data properties.\", () => {\n\tconst DATA = pw.response.body.data;\n \n pw.expect(DATA).toBeType(\"string\");\n pw.expect(JSON.parse(DATA).body_key).toBe(BODY_VALUE);\n});\n\npw.test(\"Check request URL.\", () => {\n pw.expect(URL).toBe(EXPECTED_URL);\n})\n\npw.test(\"Check unset ENV.\", () => {\n pw.expect(UNSET_ENV).toBeType(\"undefined\");\n})",
"body": { "body": {
"contentType": "application/json", "contentType": "application/json",
"body": "{\n \"<<BODY_KEY>>\":\"<<BODY_VALUE>>\"\n}" "body": "{\n \"<<BODY_KEY>>\":\"<<BODY_VALUE>>\"\n}"

View File

@@ -1,10 +1,17 @@
import { exec } from "child_process"; import { exec } from "child_process";
import { resolve } from "path";
import { ExecResponse } from "./types"; import { ExecResponse } from "./types";
export const execAsync = (command: string): Promise<ExecResponse> => export const runCLI = (args: string): Promise<ExecResponse> =>
new Promise((resolve) => {
const CLI_PATH = resolve(__dirname, "../../bin/hopp");
const command = `node ${CLI_PATH} ${args}`
return new Promise((resolve) =>
exec(command, (error, stdout, stderr) => resolve({ error, stdout, stderr })) exec(command, (error, stdout, stderr) => resolve({ error, stdout, stderr }))
); );
}
export const trimAnsi = (target: string) => { export const trimAnsi = (target: string) => {
const ansiRegex = const ansiRegex =

View File

@@ -1,8 +1,8 @@
import { HoppCollection, HoppRESTRequest } from "@hoppscotch/data"; import { HoppCollection } from "@hoppscotch/data";
import { HoppEnvs } from "./request"; import { HoppEnvs } from "./request";
export type CollectionRunnerParam = { export type CollectionRunnerParam = {
collections: HoppCollection<HoppRESTRequest>[]; collections: HoppCollection[];
envs: HoppEnvs; envs: HoppEnvs;
delay?: number; delay?: number;
}; };

View File

@@ -33,7 +33,7 @@ export type HoppEnvs = {
export type CollectionStack = { export type CollectionStack = {
path: string; path: string;
collection: HoppCollection<HoppRESTRequest>; collection: HoppCollection;
}; };
export type RequestReport = { export type RequestReport = {

View File

@@ -1,8 +1,4 @@
import { import { HoppCollection, isHoppRESTRequest } from "@hoppscotch/data";
HoppCollection,
HoppRESTRequest,
isHoppRESTRequest,
} from "@hoppscotch/data";
import * as A from "fp-ts/Array"; import * as A from "fp-ts/Array";
import { CommanderError } from "commander"; import { CommanderError } from "commander";
import { HoppCLIError, HoppErrnoException } from "../types/errors"; import { HoppCLIError, HoppErrnoException } from "../types/errors";
@@ -24,9 +20,7 @@ export const hasProperty = <P extends PropertyKey>(
* @returns True, if unknown parameter is valid Hoppscotch REST Collection; * @returns True, if unknown parameter is valid Hoppscotch REST Collection;
* False, otherwise. * False, otherwise.
*/ */
export const isRESTCollection = ( export const isRESTCollection = (param: unknown): param is HoppCollection => {
param: unknown
): param is HoppCollection<HoppRESTRequest> => {
if (!!param && typeof param === "object") { if (!!param && typeof param === "object") {
if (!hasProperty(param, "v") || typeof param.v !== "number") { if (!hasProperty(param, "v") || typeof param.v !== "number") {
return false; return false;
@@ -62,7 +56,6 @@ export const isRESTCollection = (
return false; return false;
}; };
/** /**
* Checks if given error data is of type HoppCLIError, based on existence * Checks if given error data is of type HoppCLIError, based on existence
* of code property. * of code property.

View File

@@ -1,21 +1,23 @@
import * as A from "fp-ts/Array"; import { HoppCollection, HoppRESTRequest } from "@hoppscotch/data";
import { pipe } from "fp-ts/function";
import { bold } from "chalk"; import { bold } from "chalk";
import { log } from "console"; import { log } from "console";
import * as A from "fp-ts/Array";
import { pipe } from "fp-ts/function";
import round from "lodash/round"; import round from "lodash/round";
import { HoppCollection, HoppRESTRequest } from "@hoppscotch/data";
import { CollectionRunnerParam } from "../types/collections";
import { import {
HoppEnvs,
CollectionStack, CollectionStack,
RequestReport, HoppEnvs,
ProcessRequestParams, ProcessRequestParams,
RequestReport,
} from "../types/request"; } from "../types/request";
import { import {
getRequestMetrics, PreRequestMetrics,
preProcessRequest, RequestMetrics,
processRequest, TestMetrics,
} from "./request"; } from "../types/response";
import { exceptionColors } from "./getters"; import { DEFAULT_DURATION_PRECISION } from "./constants";
import { import {
printErrorsReport, printErrorsReport,
printFailedTestsReport, printFailedTestsReport,
@@ -23,15 +25,14 @@ import {
printRequestsMetrics, printRequestsMetrics,
printTestsMetrics, printTestsMetrics,
} from "./display"; } from "./display";
import { import { exceptionColors } from "./getters";
PreRequestMetrics,
RequestMetrics,
TestMetrics,
} from "../types/response";
import { getTestMetrics } from "./test";
import { DEFAULT_DURATION_PRECISION } from "./constants";
import { getPreRequestMetrics } from "./pre-request"; import { getPreRequestMetrics } from "./pre-request";
import { CollectionRunnerParam } from "../types/collections"; import {
getRequestMetrics,
preProcessRequest,
processRequest,
} from "./request";
import { getTestMetrics } from "./test";
const { WARN, FAIL } = exceptionColors; const { WARN, FAIL } = exceptionColors;
@@ -41,9 +42,9 @@ const { WARN, FAIL } = exceptionColors;
* @param param Data of hopp-collection with hopp-requests, envs to be processed. * @param param Data of hopp-collection with hopp-requests, envs to be processed.
* @returns List of report for each processed request. * @returns List of report for each processed request.
*/ */
export const collectionsRunner = export const collectionsRunner = async (
async (param: CollectionRunnerParam): Promise<RequestReport[]> => param: CollectionRunnerParam
{ ): Promise<RequestReport[]> => {
const envs: HoppEnvs = param.envs; const envs: HoppEnvs = param.envs;
const delay = param.delay ?? 0; const delay = param.delay ?? 0;
const requestsReport: RequestReport[] = []; const requestsReport: RequestReport[] = [];
@@ -57,7 +58,7 @@ export const collectionsRunner =
// Processing each request in collection // Processing each request in collection
for (const request of collection.requests) { for (const request of collection.requests) {
const _request = preProcessRequest(request); const _request = preProcessRequest(request as HoppRESTRequest, collection);
const requestPath = `${path}/${_request.name}`; const requestPath = `${path}/${_request.name}`;
const processRequestParams: ProcessRequestParams = { const processRequestParams: ProcessRequestParams = {
path: requestPath, path: requestPath,
@@ -84,15 +85,30 @@ export const collectionsRunner =
// Pushing remaining folders realted collection to stack. // Pushing remaining folders realted collection to stack.
for (const folder of collection.folders) { for (const folder of collection.folders) {
const updatedFolder: HoppCollection = { ...folder }
if (updatedFolder.auth?.authType === "inherit") {
updatedFolder.auth = collection.auth;
}
if (collection.headers?.length) {
// Filter out header entries present in the parent collection under the same name
// This ensures the folder headers take precedence over the collection headers
const filteredHeaders = collection.headers.filter((collectionHeaderEntries) => {
return !updatedFolder.headers.some((folderHeaderEntries) => folderHeaderEntries.key === collectionHeaderEntries.key)
})
updatedFolder.headers.push(...filteredHeaders);
}
collectionStack.push({ collectionStack.push({
path: `${path}/${folder.name}`, path: `${path}/${updatedFolder.name}`,
collection: folder, collection: updatedFolder,
}); });
} }
} }
return requestsReport; return requestsReport;
}; };
/** /**
* Transforms collections to generate collection-stack which describes each collection's * Transforms collections to generate collection-stack which describes each collection's
@@ -100,9 +116,7 @@ export const collectionsRunner =
* @param collections Hopp-collection objects to be mapped to collection-stack type. * @param collections Hopp-collection objects to be mapped to collection-stack type.
* @returns Mapped collections to collection-stack. * @returns Mapped collections to collection-stack.
*/ */
const getCollectionStack = ( const getCollectionStack = (collections: HoppCollection[]): CollectionStack[] =>
collections: HoppCollection<HoppRESTRequest>[]
): CollectionStack[] =>
pipe( pipe(
collections, collections,
A.map( A.map(

View File

@@ -2,7 +2,7 @@ import fs from "fs/promises";
import { FormDataEntry } from "../types/request"; import { FormDataEntry } from "../types/request";
import { error } from "../types/errors"; import { error } from "../types/errors";
import { isRESTCollection, isHoppErrnoException } from "./checks"; import { isRESTCollection, isHoppErrnoException } from "./checks";
import { HoppCollection, HoppRESTRequest } from "@hoppscotch/data"; import { HoppCollection } from "@hoppscotch/data";
/** /**
* Parses array of FormDataEntry to FormData. * Parses array of FormDataEntry to FormData.
@@ -35,20 +35,20 @@ export const parseErrorMessage = (e: unknown) => {
}; };
export async function readJsonFile(path: string): Promise<unknown> { export async function readJsonFile(path: string): Promise<unknown> {
if(!path.endsWith('.json')) { if (!path.endsWith(".json")) {
throw error({ code: "INVALID_FILE_TYPE", data: path }) throw error({ code: "INVALID_FILE_TYPE", data: path });
} }
try { try {
await fs.access(path) await fs.access(path);
} catch (e) { } catch (e) {
throw error({ code: "FILE_NOT_FOUND", path: path }) throw error({ code: "FILE_NOT_FOUND", path: path });
} }
try { try {
return JSON.parse((await fs.readFile(path)).toString()) return JSON.parse((await fs.readFile(path)).toString());
} catch(e) { } catch (e) {
throw error({ code: "UNKNOWN_ERROR", data: e }) throw error({ code: "UNKNOWN_ERROR", data: e });
} }
} }
@@ -56,22 +56,24 @@ export async function readJsonFile(path: string): Promise<unknown> {
* Parses collection json file for given path:context.path, and validates * Parses collection json file for given path:context.path, and validates
* the parsed collectiona array. * the parsed collectiona array.
* @param path Collection json file path. * @param path Collection json file path.
* @returns For successful parsing we get array of HoppCollection<HoppRESTRequest>, * @returns For successful parsing we get array of HoppCollection,
*/ */
export async function parseCollectionData( export async function parseCollectionData(
path: string path: string
): Promise<HoppCollection<HoppRESTRequest>[]> { ): Promise<HoppCollection[]> {
let contents = await readJsonFile(path) let contents = await readJsonFile(path);
const maybeArrayOfCollections: unknown[] = Array.isArray(contents) ? contents : [contents] const maybeArrayOfCollections: unknown[] = Array.isArray(contents)
? contents
: [contents];
if(maybeArrayOfCollections.some((x) => !isRESTCollection(x))) { if (maybeArrayOfCollections.some((x) => !isRESTCollection(x))) {
throw error({ throw error({
code: "MALFORMED_COLLECTION", code: "MALFORMED_COLLECTION",
path, path,
data: "Please check the collection data.", data: "Please check the collection data.",
}) });
} }
return maybeArrayOfCollections as HoppCollection<HoppRESTRequest>[] return maybeArrayOfCollections as HoppCollection[];
}; }

View File

@@ -6,23 +6,24 @@ import {
parseTemplateString, parseTemplateString,
parseTemplateStringE, parseTemplateStringE,
} from "@hoppscotch/data"; } from "@hoppscotch/data";
import { runPreRequestScript } from "@hoppscotch/js-sandbox"; import { runPreRequestScript } from "@hoppscotch/js-sandbox/node";
import { flow, pipe } from "fp-ts/function";
import * as TE from "fp-ts/TaskEither";
import * as E from "fp-ts/Either";
import * as RA from "fp-ts/ReadonlyArray";
import * as A from "fp-ts/Array"; import * as A from "fp-ts/Array";
import * as E from "fp-ts/Either";
import * as O from "fp-ts/Option"; import * as O from "fp-ts/Option";
import * as RA from "fp-ts/ReadonlyArray";
import * as TE from "fp-ts/TaskEither";
import { flow, pipe } from "fp-ts/function";
import * as S from "fp-ts/string"; import * as S from "fp-ts/string";
import qs from "qs"; import qs from "qs";
import { EffectiveHoppRESTRequest } from "../interfaces/request"; import { EffectiveHoppRESTRequest } from "../interfaces/request";
import { error, HoppCLIError } from "../types/errors"; import { HoppCLIError, error } from "../types/errors";
import { HoppEnvs } from "../types/request"; import { HoppEnvs } from "../types/request";
import { isHoppCLIError } from "./checks";
import { tupleToRecord, arraySort, arrayFlatMap } from "./functions/array";
import { toFormData } from "./mutators";
import { getEffectiveFinalMetaData } from "./getters";
import { PreRequestMetrics } from "../types/response"; import { PreRequestMetrics } from "../types/response";
import { isHoppCLIError } from "./checks";
import { arrayFlatMap, arraySort, tupleToRecord } from "./functions/array";
import { getEffectiveFinalMetaData } from "./getters";
import { toFormData } from "./mutators";
/** /**
* Runs pre-request-script runner over given request which extracts set ENVs and * Runs pre-request-script runner over given request which extracts set ENVs and

View File

@@ -1,31 +1,31 @@
import { HoppCollection, HoppRESTRequest } from "@hoppscotch/data";
import axios, { Method } from "axios"; import axios, { Method } from "axios";
import { URL } from "url";
import * as S from "fp-ts/string";
import * as A from "fp-ts/Array"; import * as A from "fp-ts/Array";
import * as T from "fp-ts/Task";
import * as E from "fp-ts/Either"; import * as E from "fp-ts/Either";
import * as T from "fp-ts/Task";
import * as TE from "fp-ts/TaskEither"; import * as TE from "fp-ts/TaskEither";
import { HoppRESTRequest } from "@hoppscotch/data"; import { pipe } from "fp-ts/function";
import { responseErrors } from "./constants"; import * as S from "fp-ts/string";
import { getDurationInSeconds, getMetaDataPairs } from "./getters"; import { hrtime } from "process";
import { testRunner, getTestScriptParams, hasFailedTestCases } from "./test"; import { URL } from "url";
import { RequestConfig, EffectiveHoppRESTRequest } from "../interfaces/request"; import { EffectiveHoppRESTRequest, RequestConfig } from "../interfaces/request";
import { RequestRunnerResponse } from "../interfaces/response"; import { RequestRunnerResponse } from "../interfaces/response";
import { preRequestScriptRunner } from "./pre-request"; import { HoppCLIError, error } from "../types/errors";
import { import {
HoppEnvs, HoppEnvs,
ProcessRequestParams, ProcessRequestParams,
RequestReport, RequestReport,
} from "../types/request"; } from "../types/request";
import { RequestMetrics } from "../types/response";
import { responseErrors } from "./constants";
import { import {
printPreRequestRunner, printPreRequestRunner,
printRequestRunner, printRequestRunner,
printTestRunner, printTestRunner,
} from "./display"; } from "./display";
import { error, HoppCLIError } from "../types/errors"; import { getDurationInSeconds, getMetaDataPairs } from "./getters";
import { hrtime } from "process"; import { preRequestScriptRunner } from "./pre-request";
import { RequestMetrics } from "../types/response"; import { getTestScriptParams, hasFailedTestCases, testRunner } from "./test";
import { pipe } from "fp-ts/function";
// !NOTE: The `config.supported` checks are temporary until OAuth2 and Multipart Forms are supported // !NOTE: The `config.supported` checks are temporary until OAuth2 and Multipart Forms are supported
@@ -309,9 +309,12 @@ export const processRequest =
* @returns Updated request object free of invalid/missing data. * @returns Updated request object free of invalid/missing data.
*/ */
export const preProcessRequest = ( export const preProcessRequest = (
request: HoppRESTRequest request: HoppRESTRequest,
collection: HoppCollection,
): HoppRESTRequest => { ): HoppRESTRequest => {
const tempRequest = Object.assign({}, request); const tempRequest = Object.assign({}, request);
const { headers: parentHeaders, auth: parentAuth } = collection;
if (!tempRequest.v) { if (!tempRequest.v) {
tempRequest.v = "1"; tempRequest.v = "1";
} }
@@ -327,18 +330,31 @@ export const preProcessRequest = (
if (!tempRequest.params) { if (!tempRequest.params) {
tempRequest.params = []; tempRequest.params = [];
} }
if (!tempRequest.headers) {
if (parentHeaders?.length) {
// Filter out header entries present in the parent (folder/collection) under the same name
// This ensures the child headers take precedence over the parent headers
const filteredEntries = parentHeaders.filter((parentHeaderEntries) => {
return !tempRequest.headers.some((reqHeaderEntries) => reqHeaderEntries.key === parentHeaderEntries.key)
})
tempRequest.headers.push(...filteredEntries);
} else if (!tempRequest.headers) {
tempRequest.headers = []; tempRequest.headers = [];
} }
if (!tempRequest.preRequestScript) { if (!tempRequest.preRequestScript) {
tempRequest.preRequestScript = ""; tempRequest.preRequestScript = "";
} }
if (!tempRequest.testScript) { if (!tempRequest.testScript) {
tempRequest.testScript = ""; tempRequest.testScript = "";
} }
if (!tempRequest.auth) {
if (tempRequest.auth?.authType === "inherit") {
tempRequest.auth = parentAuth;
} else if (!tempRequest.auth) {
tempRequest.auth = { authActive: false, authType: "none" }; tempRequest.auth = { authActive: false, authType: "none" };
} }
if (!tempRequest.body) { if (!tempRequest.body) {
tempRequest.body = { contentType: null, body: null }; tempRequest.body = { contentType: null, body: null };
} }

View File

@@ -1,17 +1,19 @@
import { HoppRESTRequest } from "@hoppscotch/data"; import { HoppRESTRequest } from "@hoppscotch/data";
import { execTestScript, TestDescriptor } from "@hoppscotch/js-sandbox"; import { TestDescriptor } from "@hoppscotch/js-sandbox";
import { hrtime } from "process"; import { runTestScript } from "@hoppscotch/js-sandbox/node";
import { flow, pipe } from "fp-ts/function";
import * as RA from "fp-ts/ReadonlyArray";
import * as A from "fp-ts/Array"; import * as A from "fp-ts/Array";
import * as TE from "fp-ts/TaskEither"; import * as RA from "fp-ts/ReadonlyArray";
import * as T from "fp-ts/Task"; import * as T from "fp-ts/Task";
import * as TE from "fp-ts/TaskEither";
import { flow, pipe } from "fp-ts/function";
import { hrtime } from "process";
import { import {
RequestRunnerResponse, RequestRunnerResponse,
TestReport, TestReport,
TestScriptParams, TestScriptParams,
} from "../interfaces/response"; } from "../interfaces/response";
import { error, HoppCLIError } from "../types/errors"; import { HoppCLIError, error } from "../types/errors";
import { HoppEnvs } from "../types/request"; import { HoppEnvs } from "../types/request";
import { ExpectResult, TestMetrics, TestRunnerRes } from "../types/response"; import { ExpectResult, TestMetrics, TestRunnerRes } from "../types/response";
import { getDurationInSeconds } from "./getters"; import { getDurationInSeconds } from "./getters";
@@ -36,7 +38,7 @@ export const testRunner = (
pipe( pipe(
TE.of(testScriptData), TE.of(testScriptData),
TE.chain(({ testScript, response, envs }) => TE.chain(({ testScript, response, envs }) =>
execTestScript(testScript, envs, response) runTestScript(testScript, envs, response)
) )
) )
), ),

View File

@@ -1 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" width=".88em" height="1em" viewBox="0 0 21 24" class="iconify iconify--fontisto"><path fill="currentColor" d="M12.731 2.751 17.666 5.6a2.138 2.138 0 1 1 2.07 3.548l-.015.003v5.7a2.14 2.14 0 1 1-2.098 3.502l-.002-.002-4.905 2.832a2.14 2.14 0 1 1-4.079.054l-.004.015-4.941-2.844a2.14 2.14 0 1 1-2.067-3.556l.015-.003V9.15a2.14 2.14 0 1 1 1.58-3.926l-.01-.005c.184.106.342.231.479.376l.001.001 4.938-2.85a2.14 2.14 0 1 1 4.096.021l.004-.015zm-.515.877a.766.766 0 0 1-.057.057l-.001.001 6.461 11.19c.026-.009.056-.016.082-.023V9.146a2.14 2.14 0 0 1-1.555-2.603l-.003.015.019-.072zm-3.015.059-.06-.06-4.946 2.852A2.137 2.137 0 0 1 2.749 9.12l-.015.004-.076.021v5.708l.084.023 6.461-11.19zm2.076.507a2.164 2.164 0 0 1-1.207-.004l.015.004-6.46 11.189c.286.276.496.629.597 1.026l.003.015h12.911c.102-.413.313-.768.599-1.043l.001-.001L11.28 4.194zm.986 16.227 4.917-2.838a1.748 1.748 0 0 1-.038-.142H4.222l-.021.083 4.939 2.852c.39-.403.936-.653 1.54-.653.626 0 1.189.268 1.581.696l.001.002z"/></svg> <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" width=".88em" height="1em" viewBox="0 0 21 24"><path fill="currentColor" d="M12.731 2.751 17.666 5.6a2.138 2.138 0 1 1 2.07 3.548l-.015.003v5.7a2.14 2.14 0 1 1-2.098 3.502l-.002-.002-4.905 2.832a2.14 2.14 0 1 1-4.079.054l-.004.015-4.941-2.844a2.14 2.14 0 1 1-2.067-3.556l.015-.003V9.15a2.14 2.14 0 1 1 1.58-3.926l-.01-.005c.184.106.342.231.479.376l.001.001 4.938-2.85a2.14 2.14 0 1 1 4.096.021l.004-.015zm-.515.877a.766.766 0 0 1-.057.057l-.001.001 6.461 11.19c.026-.009.056-.016.082-.023V9.146a2.14 2.14 0 0 1-1.555-2.603l-.003.015.019-.072zm-3.015.059-.06-.06-4.946 2.852A2.137 2.137 0 0 1 2.749 9.12l-.015.004-.076.021v5.708l.084.023 6.461-11.19zm2.076.507a2.164 2.164 0 0 1-1.207-.004l.015.004-6.46 11.189c.286.276.496.629.597 1.026l.003.015h12.911c.102-.413.313-.768.599-1.043l.001-.001L11.28 4.194zm.986 16.227 4.917-2.838a1.748 1.748 0 0 1-.038-.142H4.222l-.021.083 4.939 2.852c.39-.403.936-.653 1.54-.653.626 0 1.189.268 1.581.696l.001.002z"/></svg>

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1017 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 16 16"><path fill="currentColor" fill-rule="evenodd" d="M10.133 1h4.409a.5.5 0 0 1 .5.5v4.422c0 .026-.035.033-.045.01l-.048-.112a9.095 9.095 0 0 0-4.825-4.776c-.023-.01-.016-.044.01-.044Zm-8.588.275h-.5v1h.5c7.027 0 12.229 5.199 12.229 12.226v.5h1v-.5c0-7.58-5.65-13.226-13.229-13.226Zm.034 4.22h-.5v1h.5c2.361 0 4.348.837 5.744 2.238 1.395 1.401 2.227 3.395 2.227 5.758v.5h1v-.5c0-2.604-.921-4.859-2.52-6.463-1.596-1.605-3.845-2.532-6.45-2.532Zm-.528 8.996v-4.423c0-.041.033-.074.074-.074a4.923 4.923 0 0 1 4.923 4.922.074.074 0 0 1-.074.074H1.551a.5.5 0 0 1-.5-.5Z" clip-rule="evenodd"/></svg>

After

Width:  |  Height:  |  Size: 684 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 16 16"><path fill="currentColor" fill-rule="evenodd" d="M9.277 2.084a.5.5 0 0 1 .185.607l-2.269 5.5a.5.5 0 0 1-.462.309H3.5a.5.5 0 0 1-.354-.854l5.5-5.5a.5.5 0 0 1 .631-.062ZM4.707 7.5h1.69l1.186-2.875L4.707 7.5Zm2.016 6.416a.5.5 0 0 1-.185-.607l2.269-5.5a.5.5 0 0 1 .462-.309H12.5a.5.5 0 0 1 .354.854l-5.5 5.5a.5.5 0 0 1-.631.062Zm4.57-5.416h-1.69l-1.186 2.875L11.293 8.5Z" clip-rule="evenodd"/><path fill="currentColor" fill-rule="evenodd" d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0Zm-1 0A7 7 0 1 1 1 8a7 7 0 0 1 14 0Z" clip-rule="evenodd"/></svg>

After

Width:  |  Height:  |  Size: 633 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 16 16"><path fill="currentColor" d="M1 2h4.257a2.5 2.5 0 0 1 1.768.732L9.293 5 5 9.293 3.732 8.025A2.5 2.5 0 0 1 3 6.257V4H2v2.257a3.5 3.5 0 0 0 1.025 2.475L5 10.707l1.25-1.25 2.396 2.397.708-.708L6.957 8.75 8.75 6.957l2.396 2.397.708-.708L9.457 6.25 10.707 5 7.732 2.025A3.5 3.5 0 0 0 5.257 1H1v1ZM10.646 2.354l2.622 2.62A2.5 2.5 0 0 1 14 6.744V12h1V6.743a3.5 3.5 0 0 0-1.025-2.475l-2.621-2.622-.707.708ZM4.268 13.975l-2.622-2.621.708-.708 2.62 2.622A2.5 2.5 0 0 0 6.744 14H15v1H6.743a3.5 3.5 0 0 1-2.475-1.025Z"/></svg>

After

Width:  |  Height:  |  Size: 610 B

View File

@@ -158,7 +158,7 @@ a {
@apply shadow-none #{!important}; @apply shadow-none #{!important};
@apply fixed; @apply fixed;
@apply inline-flex; @apply inline-flex;
@apply -mt-8; @apply -mt-7;
} }
} }
@@ -368,6 +368,7 @@ pre.ace_editor {
.toasted-container { .toasted-container {
@apply max-w-md; @apply max-w-md;
@apply z-[10000];
.toasted { .toasted {
&.toasted-primary { &.toasted-primary {
@@ -516,9 +517,10 @@ pre.ace_editor {
@apply bg-dividerLight; @apply bg-dividerLight;
@apply rounded; @apply rounded;
@apply ml-2; @apply ml-2;
@apply px-1; @apply px-0.5;
@apply min-w-[1.25rem]; @apply min-w-[1rem];
@apply min-h-[1.25rem]; @apply min-h-[1rem];
@apply leading-none;
@apply items-center; @apply items-center;
@apply justify-center; @apply justify-center;
@apply border border-dividerDark; @apply border border-dividerDark;

View File

@@ -17,6 +17,7 @@
--lower-tertiary-sticky-fold: 7.125rem; --lower-tertiary-sticky-fold: 7.125rem;
--lower-fourth-sticky-fold: 9.188rem; --lower-fourth-sticky-fold: 9.188rem;
--sidebar-primary-sticky-fold: 2rem; --sidebar-primary-sticky-fold: 2rem;
--properties-primary-sticky-fold: 2.063rem;
} }
@mixin light-theme { @mixin light-theme {

View File

@@ -78,12 +78,6 @@
"iso": "he-HE", "iso": "he-HE",
"name": "עִברִית" "name": "עִברִית"
}, },
{
"code": "hi",
"file": "hi.json",
"iso": "hi-HI",
"name": "हिन्दी"
},
{ {
"code": "hu", "code": "hu",
"file": "hu.json", "file": "hu.json",

View File

@@ -1,5 +1,6 @@
{ {
"action": { "action": {
"add": "Add",
"autoscroll": "Autoscroll", "autoscroll": "Autoscroll",
"cancel": "Kanselleer", "cancel": "Kanselleer",
"choose_file": "Kies 'n lêer", "choose_file": "Kies 'n lêer",
@@ -10,6 +11,7 @@
"connect": "Koppel", "connect": "Koppel",
"connecting": "Connecting", "connecting": "Connecting",
"copy": "Kopieer", "copy": "Kopieer",
"create": "Create",
"delete": "Vee uit", "delete": "Vee uit",
"disconnect": "Ontkoppel", "disconnect": "Ontkoppel",
"dismiss": "Weier", "dismiss": "Weier",
@@ -31,6 +33,7 @@
"open_workspace": "Open workspace", "open_workspace": "Open workspace",
"paste": "Paste", "paste": "Paste",
"prettify": "Prettify", "prettify": "Prettify",
"properties": "Properties",
"remove": "Verwyder", "remove": "Verwyder",
"rename": "Rename", "rename": "Rename",
"restore": "Herstel", "restore": "Herstel",
@@ -39,6 +42,7 @@
"scroll_to_top": "Scroll to top", "scroll_to_top": "Scroll to top",
"search": "Soek", "search": "Soek",
"send": "Stuur", "send": "Stuur",
"share": "Share",
"start": "Begin", "start": "Begin",
"starting": "Starting", "starting": "Starting",
"stop": "Stop", "stop": "Stop",
@@ -57,7 +61,9 @@
"app": { "app": {
"chat_with_us": "Gesels met ons", "chat_with_us": "Gesels met ons",
"contact_us": "Kontak Ons", "contact_us": "Kontak Ons",
"cookies": "Cookies",
"copy": "Kopieer", "copy": "Kopieer",
"copy_interface_type": "Copy interface type",
"copy_user_id": "Copy User Auth Token", "copy_user_id": "Copy User Auth Token",
"developer_option": "Developer options", "developer_option": "Developer options",
"developer_option_description": "Developer tools which helps in development and maintenance of Hoppscotch.", "developer_option_description": "Developer tools which helps in development and maintenance of Hoppscotch.",
@@ -73,6 +79,7 @@
"keyboard_shortcuts": "Sleutelbord kortpaaie", "keyboard_shortcuts": "Sleutelbord kortpaaie",
"name": "Hoppscotch", "name": "Hoppscotch",
"new_version_found": "Nuwe weergawe gevind. Herlaai om op te dateer.", "new_version_found": "Nuwe weergawe gevind. Herlaai om op te dateer.",
"open_in_hoppscotch": "Open in Hoppscotch",
"options": "Options", "options": "Options",
"proxy_privacy_policy": "Volmag privaatheidsbeleid", "proxy_privacy_policy": "Volmag privaatheidsbeleid",
"reload": "Herlaai", "reload": "Herlaai",
@@ -112,10 +119,27 @@
}, },
"authorization": { "authorization": {
"generate_token": "Genereer teken", "generate_token": "Genereer teken",
"graphql_headers": "Authorization Headers are sent as part of the payload to connection_init",
"include_in_url": "Sluit in by URL", "include_in_url": "Sluit in by URL",
"inherited_from": "Inherited from {auth} from Parent Collection {collection} ",
"learn": "Leer hoe", "learn": "Leer hoe",
"oauth": {
"redirect_auth_server_returned_error": "Auth Server returned an error state",
"redirect_auth_token_request_failed": "Request to get the auth token failed",
"redirect_auth_token_request_invalid_response": "Invalid Response from the Token Endpoint when requesting for an auth token",
"redirect_invalid_state": "Invalid State value present in the redirect",
"redirect_no_auth_code": "No Authorization Code present in the redirect",
"redirect_no_client_id": "No Client ID defined",
"redirect_no_client_secret": "No Client Secret Defined",
"redirect_no_code_verifier": "No Code Verifier Defined",
"redirect_no_token_endpoint": "No Token Endpoint Defined",
"something_went_wrong_on_oauth_redirect": "Something went wrong during OAuth Redirect",
"something_went_wrong_on_token_generation": "Something went wrong on token generation",
"token_generation_oidc_discovery_failed": "Failure on token generation: OpenID Connect Discovery Failed"
},
"pass_key_by": "Pass by", "pass_key_by": "Pass by",
"password": "Wagwoord", "password": "Wagwoord",
"save_to_inherit": "Please save this request in any collection to inherit the authorization",
"token": "Teken", "token": "Teken",
"type": "Magtigingstipe", "type": "Magtigingstipe",
"username": "Gebruikersnaam" "username": "Gebruikersnaam"
@@ -124,6 +148,7 @@
"created": "Versameling geskep", "created": "Versameling geskep",
"different_parent": "Cannot reorder collection with different parent", "different_parent": "Cannot reorder collection with different parent",
"edit": "Wysig versameling", "edit": "Wysig versameling",
"import_or_create": "Import or create a collection",
"invalid_name": "Gee 'n geldige naam vir die versameling", "invalid_name": "Gee 'n geldige naam vir die versameling",
"invalid_root_move": "Collection already in the root", "invalid_root_move": "Collection already in the root",
"moved": "Moved Successfully", "moved": "Moved Successfully",
@@ -132,6 +157,8 @@
"name_length_insufficient": "Collection name should be at least 3 characters long", "name_length_insufficient": "Collection name should be at least 3 characters long",
"new": "Nuwe versameling", "new": "Nuwe versameling",
"order_changed": "Collection Order Updated", "order_changed": "Collection Order Updated",
"properties": "Collection Properties",
"properties_updated": "Collection Properties Updated",
"renamed": "Versameling hernoem", "renamed": "Versameling hernoem",
"request_in_use": "Request in use", "request_in_use": "Request in use",
"save_as": "Stoor as", "save_as": "Stoor as",
@@ -151,6 +178,7 @@
"remove_folder": "Weet u seker dat u hierdie vouer permanent wil uitvee?", "remove_folder": "Weet u seker dat u hierdie vouer permanent wil uitvee?",
"remove_history": "Is u seker dat u alle geskiedenis permanent wil uitvee?", "remove_history": "Is u seker dat u alle geskiedenis permanent wil uitvee?",
"remove_request": "Is u seker dat u hierdie versoek permanent wil uitvee?", "remove_request": "Is u seker dat u hierdie versoek permanent wil uitvee?",
"remove_shared_request": "Are you sure you want to permanently delete this shared request?",
"remove_team": "Weet u seker dat u hierdie span wil uitvee?", "remove_team": "Weet u seker dat u hierdie span wil uitvee?",
"remove_telemetry": "Weet u seker dat u van Telemetry wil afskakel?", "remove_telemetry": "Weet u seker dat u van Telemetry wil afskakel?",
"request_change": "Are you sure you want to discard current request, unsaved changes will be lost.", "request_change": "Are you sure you want to discard current request, unsaved changes will be lost.",
@@ -162,6 +190,24 @@
"open_request_in_new_tab": "Open request in new tab", "open_request_in_new_tab": "Open request in new tab",
"set_environment_variable": "Set as variable" "set_environment_variable": "Set as variable"
}, },
"cookies": {
"modal": {
"cookie_expires": "Expires",
"cookie_name": "Name",
"cookie_path": "Path",
"cookie_string": "Cookie string",
"cookie_value": "Value",
"empty_domain": "Domain is empty",
"empty_domains": "Domain list is empty",
"enter_cookie_string": "Enter cookie string",
"interceptor_no_support": "Your currently selected interceptor does not support cookies. Select a different Interceptor and try again.",
"managed_tab": "Managed",
"new_domain_name": "New domain name",
"no_cookies_in_domain": "No cookies set for this domain",
"raw_tab": "Raw",
"set": "Set a cookie"
}
},
"count": { "count": {
"header": "Koptekst {count}", "header": "Koptekst {count}",
"message": "Boodskap {count}", "message": "Boodskap {count}",
@@ -192,11 +238,13 @@
"profile": "Login to view your profile", "profile": "Login to view your profile",
"protocols": "Protokolle is leeg", "protocols": "Protokolle is leeg",
"schema": "Koppel aan 'n GraphQL -eindpunt", "schema": "Koppel aan 'n GraphQL -eindpunt",
"shortcodes": "Shortcodes are empty", "shared_requests": "Shared requests are empty",
"shared_requests_logout": "Login to view your shared requests or create a new one",
"subscription": "Subscriptions are empty", "subscription": "Subscriptions are empty",
"team_name": "Spannaam leeg", "team_name": "Spannaam leeg",
"teams": "Spanne is leeg", "teams": "Spanne is leeg",
"tests": "Daar is geen toetse vir hierdie versoek nie" "tests": "Daar is geen toetse vir hierdie versoek nie",
"shortcodes": "Shortcodes are empty"
}, },
"environment": { "environment": {
"add_to_global": "Add to Global", "add_to_global": "Add to Global",
@@ -209,6 +257,7 @@
"empty_variables": "No variables", "empty_variables": "No variables",
"global": "Global", "global": "Global",
"global_variables": "Global variables", "global_variables": "Global variables",
"import_or_create": "Import or create a environment",
"invalid_name": "Gee 'n geldige naam vir die omgewing", "invalid_name": "Gee 'n geldige naam vir die omgewing",
"list": "Environment variables", "list": "Environment variables",
"my_environments": "My Environments", "my_environments": "My Environments",
@@ -232,8 +281,10 @@
"variable_list": "Veranderlike lys" "variable_list": "Veranderlike lys"
}, },
"error": { "error": {
"authproviders_load_error": "Unable to load auth providers",
"browser_support_sse": "Dit lyk nie asof hierdie blaaier ondersteuning vir bedieners gestuurde geleenthede het nie.", "browser_support_sse": "Dit lyk nie asof hierdie blaaier ondersteuning vir bedieners gestuurde geleenthede het nie.",
"check_console_details": "Kyk na die konsole -log vir meer inligting.", "check_console_details": "Kyk na die konsole -log vir meer inligting.",
"check_how_to_add_origin": "Check how you can add an origin",
"curl_invalid_format": "cURL is nie behoorlik geformateer nie", "curl_invalid_format": "cURL is nie behoorlik geformateer nie",
"danger_zone": "Danger zone", "danger_zone": "Danger zone",
"delete_account": "Your account is currently an owner in these teams:", "delete_account": "Your account is currently an owner in these teams:",
@@ -249,9 +300,12 @@
"json_prettify_invalid_body": "Kon nie 'n ongeldige liggaam mooi maak nie, los json -sintaksisfoute op en probeer weer", "json_prettify_invalid_body": "Kon nie 'n ongeldige liggaam mooi maak nie, los json -sintaksisfoute op en probeer weer",
"network_error": "There seems to be a network error. Please try again.", "network_error": "There seems to be a network error. Please try again.",
"network_fail": "Kon nie versoek stuur nie", "network_fail": "Kon nie versoek stuur nie",
"no_collections_to_export": "No collections to export. Please create a collection to get started.",
"no_duration": "Geen duur nie", "no_duration": "Geen duur nie",
"no_environments_to_export": "No environments to export. Please create an environment to get started.",
"no_results_found": "No matches found", "no_results_found": "No matches found",
"page_not_found": "This page could not be found", "page_not_found": "This page could not be found",
"please_install_extension": "Please install the extension and add origin to the extension.",
"proxy_error": "Proxy error", "proxy_error": "Proxy error",
"script_fail": "Kon nie voorafversoekskrip uitvoer nie", "script_fail": "Kon nie voorafversoekskrip uitvoer nie",
"something_went_wrong": "Iets het verkeerd geloop", "something_went_wrong": "Iets het verkeerd geloop",
@@ -260,6 +314,7 @@
"export": { "export": {
"as_json": "Uitvoer as JSON", "as_json": "Uitvoer as JSON",
"create_secret_gist": "Skep geheime Gist", "create_secret_gist": "Skep geheime Gist",
"failed": "Something went wrong while exporting",
"gist_created": "Gis geskep", "gist_created": "Gis geskep",
"require_github": "Teken in met GitHub om 'n geheime idee te skep", "require_github": "Teken in met GitHub om 'n geheime idee te skep",
"title": "Export" "title": "Export"
@@ -286,6 +341,9 @@
"subscriptions": "Inskrywings", "subscriptions": "Inskrywings",
"switch_connection": "Switch connection" "switch_connection": "Switch connection"
}, },
"graphql_collections": {
"title": "GraphQL Collections"
},
"group": { "group": {
"time": "Time", "time": "Time",
"url": "URL" "url": "URL"
@@ -297,6 +355,8 @@
}, },
"helpers": { "helpers": {
"authorization": "Die magtigingskop sal outomaties gegenereer word wanneer u die versoek stuur.", "authorization": "Die magtigingskop sal outomaties gegenereer word wanneer u die versoek stuur.",
"collection_properties_authorization": " This authorization will be set for every request in this collection.",
"collection_properties_header": "This header will be set for every request in this collection.",
"generate_documentation_first": "Genereer eers dokumentasie", "generate_documentation_first": "Genereer eers dokumentasie",
"network_fail": "Kon nie die API -eindpunt bereik nie. Kontroleer u netwerkverbinding en probeer weer.", "network_fail": "Kon nie die API -eindpunt bereik nie. Kontroleer u netwerkverbinding en probeer weer.",
"offline": "Dit lyk asof u vanlyn is. Data in hierdie werkruimte is moontlik nie op datum nie.", "offline": "Dit lyk asof u vanlyn is. Data in hierdie werkruimte is moontlik nie op datum nie.",
@@ -316,7 +376,10 @@
"import": { "import": {
"collections": "Voer versamelings in", "collections": "Voer versamelings in",
"curl": "Voer cURL in", "curl": "Voer cURL in",
"environments_from_gist": "Import From Gist",
"environments_from_gist_description": "Import Hoppscotch Environments From Gist",
"failed": "Invoer misluk", "failed": "Invoer misluk",
"from_file": "Import from File",
"from_gist": "Invoer vanaf Gist", "from_gist": "Invoer vanaf Gist",
"from_gist_description": "Import from Gist URL", "from_gist_description": "Import from Gist URL",
"from_insomnia": "Import from Insomnia", "from_insomnia": "Import from Insomnia",
@@ -331,11 +394,17 @@
"from_postman_description": "Import from Postman collection", "from_postman_description": "Import from Postman collection",
"from_url": "Import from URL", "from_url": "Import from URL",
"gist_url": "Voer Gist URL in", "gist_url": "Voer Gist URL in",
"gql_collections_from_gist_description": "Import GraphQL Collections From Gist",
"hoppscotch_environment": "Hoppscotch Environment",
"hoppscotch_environment_description": "Import Hoppscotch Environment JSON file",
"import_from_url_invalid_fetch": "Couldn't get data from the url", "import_from_url_invalid_fetch": "Couldn't get data from the url",
"import_from_url_invalid_file_format": "Error while importing collections", "import_from_url_invalid_file_format": "Error while importing collections",
"import_from_url_invalid_type": "Unsupported type. accepted values are 'hoppscotch', 'openapi', 'postman', 'insomnia'", "import_from_url_invalid_type": "Unsupported type. accepted values are 'hoppscotch', 'openapi', 'postman', 'insomnia'",
"import_from_url_success": "Collections Imported", "import_from_url_success": "Collections Imported",
"insomnia_environment_description": "Import Insomnia Environment from a JSON/YAML file",
"json_description": "Import collections from a Hoppscotch Collections JSON file", "json_description": "Import collections from a Hoppscotch Collections JSON file",
"postman_environment": "Postman Environment",
"postman_environment_description": "Import Postman Environment from a JSON file",
"title": "Invoer" "title": "Invoer"
}, },
"inspections": { "inspections": {
@@ -373,8 +442,10 @@
"close_unsaved_tab": "You have unsaved changes", "close_unsaved_tab": "You have unsaved changes",
"collections": "Versamelings", "collections": "Versamelings",
"confirm": "Bevestig", "confirm": "Bevestig",
"customize_request": "Customize Request",
"edit_request": "Wysig versoek", "edit_request": "Wysig versoek",
"import_export": "Invoer uitvoer" "import_export": "Invoer uitvoer",
"share_request": "Share Request"
}, },
"mqtt": { "mqtt": {
"already_subscribed": "You are already subscribed to this topic.", "already_subscribed": "You are already subscribed to this topic.",
@@ -449,13 +520,14 @@
"structured": "Structured", "structured": "Structured",
"text": "Text" "text": "Text"
}, },
"copy_link": "Kopieer skakel",
"different_collection": "Cannot reorder requests from different collections", "different_collection": "Cannot reorder requests from different collections",
"duplicated": "Request duplicated", "duplicated": "Request duplicated",
"duration": "Duur", "duration": "Duur",
"enter_curl": "Voer cURL in", "enter_curl": "Voer cURL in",
"generate_code": "Genereer kode", "generate_code": "Genereer kode",
"generated_code": "Kode gegenereer", "generated_code": "Kode gegenereer",
"go_to_authorization_tab": "Go to Authorization tab",
"go_to_body_tab": "Go to Body tab",
"header_list": "Koplys", "header_list": "Koplys",
"invalid_name": "Gee 'n naam vir die versoek", "invalid_name": "Gee 'n naam vir die versoek",
"method": "Metode", "method": "Metode",
@@ -480,12 +552,14 @@
"saved": "Versoek gestoor", "saved": "Versoek gestoor",
"share": "Deel", "share": "Deel",
"share_description": "Share Hoppscotch with your friends", "share_description": "Share Hoppscotch with your friends",
"share_request": "Share Request",
"stop": "Stop", "stop": "Stop",
"title": "Versoek", "title": "Versoek",
"type": "Soort versoek", "type": "Soort versoek",
"url": "URL", "url": "URL",
"variables": "Veranderlikes", "variables": "Veranderlikes",
"view_my_links": "View my links" "view_my_links": "View my links",
"copy_link": "Kopieer skakel"
}, },
"response": { "response": {
"audio": "Audio", "audio": "Audio",
@@ -513,6 +587,7 @@
"account_description": "Pas u rekeninginstellings aan.", "account_description": "Pas u rekeninginstellings aan.",
"account_email_description": "Jou primêre e -posadres.", "account_email_description": "Jou primêre e -posadres.",
"account_name_description": "Dit is u vertoonnaam.", "account_name_description": "Dit is u vertoonnaam.",
"additional": "Additional Settings",
"background": "Agtergrond", "background": "Agtergrond",
"black_mode": "Swart", "black_mode": "Swart",
"choose_language": "Kies taal", "choose_language": "Kies taal",
@@ -559,14 +634,31 @@
"verified_email": "Verified email", "verified_email": "Verified email",
"verify_email": "Verify email" "verify_email": "Verify email"
}, },
"shortcodes": { "shared_requests": {
"actions": "Actions", "button": "Button",
"created_on": "Created on", "button_info": "Create a 'Run in Hoppscotch' button for your website, blog or a README.",
"deleted": "Shortcode deleted", "copy_html": "Copy HTML",
"method": "Method", "copy_link": "Copy Link",
"not_found": "Shortcode not found", "copy_markdown": "Copy Markdown",
"short_code": "Short code", "creating_widget": "Creating widget",
"url": "URL" "customize": "Customize",
"deleted": "Shared request deleted",
"description": "Select a widget, you can change and customize this later",
"embed": "Embed",
"embed_info": "Add a mini 'Hoppscotch API Playground' to your website, blog or documentation.",
"link": "Link",
"link_info": "Create a shareable link to share with anyone on the internet with view access.",
"modified": "Shared request modified",
"not_found": "Shared request not found",
"open_new_tab": "Open in new tab",
"preview": "Preview",
"run_in_hoppscotch": "Run in Hoppscotch",
"theme": {
"dark": "Dark",
"light": "Light",
"system": "System",
"title": "Theme"
}
}, },
"shortcut": { "shortcut": {
"general": { "general": {
@@ -596,7 +688,6 @@
"title": "Others" "title": "Others"
}, },
"request": { "request": {
"copy_request_link": "Kopieer versoekskakel",
"delete_method": "Kies DELETE metode", "delete_method": "Kies DELETE metode",
"get_method": "Kies GET -metode", "get_method": "Kies GET -metode",
"head_method": "Kies HOOF metode", "head_method": "Kies HOOF metode",
@@ -611,8 +702,10 @@
"save_request": "Save Request", "save_request": "Save Request",
"save_to_collections": "Stoor in versamelings", "save_to_collections": "Stoor in versamelings",
"send_request": "Stuur versoek", "send_request": "Stuur versoek",
"share_request": "Share Request",
"show_code": "Generate code snippet", "show_code": "Generate code snippet",
"title": "Versoek" "title": "Versoek",
"copy_request_link": "Kopieer versoekskakel"
}, },
"response": { "response": {
"copy": "Copy response to clipboard", "copy": "Copy response to clipboard",
@@ -735,6 +828,7 @@
"connection_error": "Failed to connect", "connection_error": "Failed to connect",
"connection_failed": "Connection failed", "connection_failed": "Connection failed",
"connection_lost": "Connection lost", "connection_lost": "Connection lost",
"copied_interface_to_clipboard": "Copied {language} interface type to clipboard",
"copied_to_clipboard": "Na knipbord gekopieer", "copied_to_clipboard": "Na knipbord gekopieer",
"deleted": "Uitgevee", "deleted": "Uitgevee",
"deprecated": "GEDRAGTEER", "deprecated": "GEDRAGTEER",
@@ -742,10 +836,12 @@
"disconnected": "Ontkoppel", "disconnected": "Ontkoppel",
"disconnected_from": "Ontkoppel van {name}", "disconnected_from": "Ontkoppel van {name}",
"docs_generated": "Dokumentasie gegenereer", "docs_generated": "Dokumentasie gegenereer",
"download_failed": "Download failed",
"download_started": "Aflaai begin", "download_started": "Aflaai begin",
"enabled": "Geaktiveer", "enabled": "Geaktiveer",
"file_imported": "Lêer ingevoer", "file_imported": "Lêer ingevoer",
"finished_in": "Klaar in {duration} ms", "finished_in": "Klaar in {duration} ms",
"hide": "Hide",
"history_deleted": "Geskiedenis uitgevee", "history_deleted": "Geskiedenis uitgevee",
"linewrap": "Draai lyne toe", "linewrap": "Draai lyne toe",
"loading": "Laai tans ...", "loading": "Laai tans ...",
@@ -756,6 +852,7 @@
"published_error": "Something went wrong while publishing msg: {topic} to topic: {message}", "published_error": "Something went wrong while publishing msg: {topic} to topic: {message}",
"published_message": "Published message: {message} to topic: {topic}", "published_message": "Published message: {message} to topic: {topic}",
"reconnection_error": "Failed to reconnect", "reconnection_error": "Failed to reconnect",
"show": "Show",
"subscribed_failed": "Failed to subscribe to topic: {topic}", "subscribed_failed": "Failed to subscribe to topic: {topic}",
"subscribed_success": "Successfully subscribed to topic: {topic}", "subscribed_success": "Successfully subscribed to topic: {topic}",
"unsubscribed_failed": "Failed to unsubscribe from topic: {topic}", "unsubscribed_failed": "Failed to unsubscribe from topic: {topic}",
@@ -791,6 +888,7 @@
"queries": "Navrae", "queries": "Navrae",
"query": "Navraag", "query": "Navraag",
"schema": "Schema", "schema": "Schema",
"shared_requests": "Shared Requests",
"socketio": "Socket.IO", "socketio": "Socket.IO",
"sse": "SSE", "sse": "SSE",
"tests": "Toetse", "tests": "Toetse",
@@ -807,6 +905,7 @@
"email_do_not_match": "Email doesn't match with your account details. Contact your team owner.", "email_do_not_match": "Email doesn't match with your account details. Contact your team owner.",
"exit": "Verlaat span", "exit": "Verlaat span",
"exit_disabled": "Slegs eienaar kan nie die span verlaat nie", "exit_disabled": "Slegs eienaar kan nie die span verlaat nie",
"failed_invites": "Failed invites",
"invalid_coll_id": "Invalid collection ID", "invalid_coll_id": "Invalid collection ID",
"invalid_email_format": "Die e -posformaat is ongeldig", "invalid_email_format": "Die e -posformaat is ongeldig",
"invalid_id": "Invalid team ID. Contact your team owner.", "invalid_id": "Invalid team ID. Contact your team owner.",
@@ -848,6 +947,7 @@
"same_target_destination": "Same target and destination", "same_target_destination": "Same target and destination",
"saved": "Span gered", "saved": "Span gered",
"select_a_team": "Select a team", "select_a_team": "Select a team",
"success_invites": "Success invites",
"title": "Spanne", "title": "Spanne",
"we_sent_invite_link": "We sent an invite link to all invitees!", "we_sent_invite_link": "We sent an invite link to all invitees!",
"we_sent_invite_link_description": "Ask all invitees to check their inbox. Click on the link to join the team." "we_sent_invite_link_description": "Ask all invitees to check their inbox. Click on the link to join the team."
@@ -879,5 +979,14 @@
"personal": "My Workspace", "personal": "My Workspace",
"team": "Team Workspace", "team": "Team Workspace",
"title": "Workspaces" "title": "Workspaces"
},
"shortcodes": {
"actions": "Actions",
"created_on": "Created on",
"deleted": "Shortcode deleted",
"method": "Method",
"not_found": "Shortcode not found",
"short_code": "Short code",
"url": "URL"
} }
} }

View File

@@ -1,5 +1,6 @@
{ {
"action": { "action": {
"add": "Add",
"autoscroll": "Autoscroll", "autoscroll": "Autoscroll",
"cancel": "الغاء", "cancel": "الغاء",
"choose_file": "اختيار ملف", "choose_file": "اختيار ملف",
@@ -10,6 +11,7 @@
"connect": "الاتصال", "connect": "الاتصال",
"connecting": "Connecting", "connecting": "Connecting",
"copy": "نسخ", "copy": "نسخ",
"create": "Create",
"delete": "حذف", "delete": "حذف",
"disconnect": "قطع الاتصال", "disconnect": "قطع الاتصال",
"dismiss": "رفض", "dismiss": "رفض",
@@ -31,6 +33,7 @@
"open_workspace": "Open workspace", "open_workspace": "Open workspace",
"paste": "لصق", "paste": "لصق",
"prettify": "جمال", "prettify": "جمال",
"properties": "Properties",
"remove": "ازالة", "remove": "ازالة",
"rename": "Rename", "rename": "Rename",
"restore": "اعادة", "restore": "اعادة",
@@ -39,6 +42,7 @@
"scroll_to_top": "Scroll to top", "scroll_to_top": "Scroll to top",
"search": "بحث", "search": "بحث",
"send": "ارسل", "send": "ارسل",
"share": "Share",
"start": "ابدأ", "start": "ابدأ",
"starting": "Starting", "starting": "Starting",
"stop": "قف", "stop": "قف",
@@ -57,7 +61,9 @@
"app": { "app": {
"chat_with_us": "دردش معنا", "chat_with_us": "دردش معنا",
"contact_us": "اتصل بنا", "contact_us": "اتصل بنا",
"cookies": "Cookies",
"copy": "انسخ", "copy": "انسخ",
"copy_interface_type": "Copy interface type",
"copy_user_id": "Copy User Auth Token", "copy_user_id": "Copy User Auth Token",
"developer_option": "Developer options", "developer_option": "Developer options",
"developer_option_description": "Developer tools which helps in development and maintenance of Hoppscotch.", "developer_option_description": "Developer tools which helps in development and maintenance of Hoppscotch.",
@@ -73,6 +79,7 @@
"keyboard_shortcuts": "اختصارات لوحة المفاتيح", "keyboard_shortcuts": "اختصارات لوحة المفاتيح",
"name": "هوبسكوتش", "name": "هوبسكوتش",
"new_version_found": "تم العثور على نسخة جديدة. قم بالتحديث للتحديث.", "new_version_found": "تم العثور على نسخة جديدة. قم بالتحديث للتحديث.",
"open_in_hoppscotch": "Open in Hoppscotch",
"options": "Options", "options": "Options",
"proxy_privacy_policy": "سياسة خصوصية الوكيل", "proxy_privacy_policy": "سياسة خصوصية الوكيل",
"reload": "إعادة تحميل", "reload": "إعادة تحميل",
@@ -112,10 +119,27 @@
}, },
"authorization": { "authorization": {
"generate_token": "توليد رمز", "generate_token": "توليد رمز",
"graphql_headers": "Authorization Headers are sent as part of the payload to connection_init",
"include_in_url": "تضمين في URL", "include_in_url": "تضمين في URL",
"inherited_from": "Inherited from {auth} from Parent Collection {collection} ",
"learn": "تعلم كيف", "learn": "تعلم كيف",
"oauth": {
"redirect_auth_server_returned_error": "Auth Server returned an error state",
"redirect_auth_token_request_failed": "Request to get the auth token failed",
"redirect_auth_token_request_invalid_response": "Invalid Response from the Token Endpoint when requesting for an auth token",
"redirect_invalid_state": "Invalid State value present in the redirect",
"redirect_no_auth_code": "No Authorization Code present in the redirect",
"redirect_no_client_id": "No Client ID defined",
"redirect_no_client_secret": "No Client Secret Defined",
"redirect_no_code_verifier": "No Code Verifier Defined",
"redirect_no_token_endpoint": "No Token Endpoint Defined",
"something_went_wrong_on_oauth_redirect": "Something went wrong during OAuth Redirect",
"something_went_wrong_on_token_generation": "Something went wrong on token generation",
"token_generation_oidc_discovery_failed": "Failure on token generation: OpenID Connect Discovery Failed"
},
"pass_key_by": "Pass by", "pass_key_by": "Pass by",
"password": "كلمة المرور", "password": "كلمة المرور",
"save_to_inherit": "Please save this request in any collection to inherit the authorization",
"token": "رمز", "token": "رمز",
"type": "نوع التفويض", "type": "نوع التفويض",
"username": "اسم المستخدم" "username": "اسم المستخدم"
@@ -124,6 +148,7 @@
"created": "تم إنشاء المجموعة", "created": "تم إنشاء المجموعة",
"different_parent": "Cannot reorder collection with different parent", "different_parent": "Cannot reorder collection with different parent",
"edit": "تحرير المجموعة", "edit": "تحرير المجموعة",
"import_or_create": "Import or create a collection",
"invalid_name": "الرجاء تقديم اسم صالح للمجموعة", "invalid_name": "الرجاء تقديم اسم صالح للمجموعة",
"invalid_root_move": "Collection already in the root", "invalid_root_move": "Collection already in the root",
"moved": "Moved Successfully", "moved": "Moved Successfully",
@@ -132,6 +157,8 @@
"name_length_insufficient": "اسم المجموعة يجب ان لايقل على 3 رموز", "name_length_insufficient": "اسم المجموعة يجب ان لايقل على 3 رموز",
"new": "مجموعة جديدة", "new": "مجموعة جديدة",
"order_changed": "Collection Order Updated", "order_changed": "Collection Order Updated",
"properties": "Collection Properties",
"properties_updated": "Collection Properties Updated",
"renamed": "تمت إعادة تسمية المجموعة", "renamed": "تمت إعادة تسمية المجموعة",
"request_in_use": "Request in use", "request_in_use": "Request in use",
"save_as": "حفظ باسم", "save_as": "حفظ باسم",
@@ -151,6 +178,7 @@
"remove_folder": "هل أنت متأكد أنك تريد حذف هذا المجلد نهائيًا؟", "remove_folder": "هل أنت متأكد أنك تريد حذف هذا المجلد نهائيًا؟",
"remove_history": "هل أنت متأكد أنك تريد حذف كل المحفوظات بشكل دائم؟", "remove_history": "هل أنت متأكد أنك تريد حذف كل المحفوظات بشكل دائم؟",
"remove_request": "هل أنت متأكد أنك تريد حذف هذا الطلب نهائيًا؟", "remove_request": "هل أنت متأكد أنك تريد حذف هذا الطلب نهائيًا؟",
"remove_shared_request": "Are you sure you want to permanently delete this shared request?",
"remove_team": "هل أنت متأكد أنك تريد حذف هذا الفريق؟", "remove_team": "هل أنت متأكد أنك تريد حذف هذا الفريق؟",
"remove_telemetry": "هل أنت متأكد أنك تريد الانسحاب من القياس عن بعد؟", "remove_telemetry": "هل أنت متأكد أنك تريد الانسحاب من القياس عن بعد؟",
"request_change": "Are you sure you want to discard current request, unsaved changes will be lost.", "request_change": "Are you sure you want to discard current request, unsaved changes will be lost.",
@@ -162,6 +190,24 @@
"open_request_in_new_tab": "Open request in new tab", "open_request_in_new_tab": "Open request in new tab",
"set_environment_variable": "Set as variable" "set_environment_variable": "Set as variable"
}, },
"cookies": {
"modal": {
"cookie_expires": "Expires",
"cookie_name": "Name",
"cookie_path": "Path",
"cookie_string": "Cookie string",
"cookie_value": "Value",
"empty_domain": "Domain is empty",
"empty_domains": "Domain list is empty",
"enter_cookie_string": "Enter cookie string",
"interceptor_no_support": "Your currently selected interceptor does not support cookies. Select a different Interceptor and try again.",
"managed_tab": "Managed",
"new_domain_name": "New domain name",
"no_cookies_in_domain": "No cookies set for this domain",
"raw_tab": "Raw",
"set": "Set a cookie"
}
},
"count": { "count": {
"header": "رأس {count}", "header": "رأس {count}",
"message": "الرسالة {count}", "message": "الرسالة {count}",
@@ -192,11 +238,13 @@
"profile": "سجل الدخول لرؤية فريقك", "profile": "سجل الدخول لرؤية فريقك",
"protocols": "البروتوكولات فارغة", "protocols": "البروتوكولات فارغة",
"schema": "اتصل بنقطة نهاية GraphQL", "schema": "اتصل بنقطة نهاية GraphQL",
"shortcodes": "Shortcodes are empty", "shared_requests": "Shared requests are empty",
"shared_requests_logout": "Login to view your shared requests or create a new one",
"subscription": "Subscriptions are empty", "subscription": "Subscriptions are empty",
"team_name": "اسم الفريق فارغ", "team_name": "اسم الفريق فارغ",
"teams": "الفرق فارغة", "teams": "الفرق فارغة",
"tests": "لا توجد اختبارات لهذا الطلب" "tests": "لا توجد اختبارات لهذا الطلب",
"shortcodes": "Shortcodes are empty"
}, },
"environment": { "environment": {
"add_to_global": "Add to Global", "add_to_global": "Add to Global",
@@ -209,6 +257,7 @@
"empty_variables": "No variables", "empty_variables": "No variables",
"global": "Global", "global": "Global",
"global_variables": "Global variables", "global_variables": "Global variables",
"import_or_create": "Import or create a environment",
"invalid_name": "الرجاء تقديم اسم صالح للبيئة", "invalid_name": "الرجاء تقديم اسم صالح للبيئة",
"list": "Environment variables", "list": "Environment variables",
"my_environments": "My Environments", "my_environments": "My Environments",
@@ -232,8 +281,10 @@
"variable_list": "قائمة متغيرة" "variable_list": "قائمة متغيرة"
}, },
"error": { "error": {
"authproviders_load_error": "Unable to load auth providers",
"browser_support_sse": "يبدو أن هذا المستعرض لا يدعم أحداث إرسال الخادم.", "browser_support_sse": "يبدو أن هذا المستعرض لا يدعم أحداث إرسال الخادم.",
"check_console_details": "تحقق من سجل وحدة التحكم للحصول على التفاصيل.", "check_console_details": "تحقق من سجل وحدة التحكم للحصول على التفاصيل.",
"check_how_to_add_origin": "Check how you can add an origin",
"curl_invalid_format": "لم يتم تنسيق cURL بشكل صحيح", "curl_invalid_format": "لم يتم تنسيق cURL بشكل صحيح",
"danger_zone": "Danger zone", "danger_zone": "Danger zone",
"delete_account": "Your account is currently an owner in these teams:", "delete_account": "Your account is currently an owner in these teams:",
@@ -249,9 +300,12 @@
"json_prettify_invalid_body": "تعذر تجميل جسم غير صالح وحل أخطاء بناء جملة json وحاول مرة أخرى", "json_prettify_invalid_body": "تعذر تجميل جسم غير صالح وحل أخطاء بناء جملة json وحاول مرة أخرى",
"network_error": "There seems to be a network error. Please try again.", "network_error": "There seems to be a network error. Please try again.",
"network_fail": "تعذر إرسال الطلب", "network_fail": "تعذر إرسال الطلب",
"no_collections_to_export": "No collections to export. Please create a collection to get started.",
"no_duration": "لا مدة", "no_duration": "لا مدة",
"no_environments_to_export": "No environments to export. Please create an environment to get started.",
"no_results_found": "No matches found", "no_results_found": "No matches found",
"page_not_found": "This page could not be found", "page_not_found": "This page could not be found",
"please_install_extension": "Please install the extension and add origin to the extension.",
"proxy_error": "Proxy error", "proxy_error": "Proxy error",
"script_fail": "تعذر تنفيذ نص الطلب المسبق", "script_fail": "تعذر تنفيذ نص الطلب المسبق",
"something_went_wrong": "هناك خطأ ما", "something_went_wrong": "هناك خطأ ما",
@@ -260,6 +314,7 @@
"export": { "export": {
"as_json": "تصدير بتنسيق JSON", "as_json": "تصدير بتنسيق JSON",
"create_secret_gist": "إنشاء جوهر سري", "create_secret_gist": "إنشاء جوهر سري",
"failed": "Something went wrong while exporting",
"gist_created": "خلقت الجست", "gist_created": "خلقت الجست",
"require_github": "تسجيل الدخول باستخدام GitHub لإنشاء جوهر سري", "require_github": "تسجيل الدخول باستخدام GitHub لإنشاء جوهر سري",
"title": "Export" "title": "Export"
@@ -286,6 +341,9 @@
"subscriptions": "الاشتراكات", "subscriptions": "الاشتراكات",
"switch_connection": "Switch connection" "switch_connection": "Switch connection"
}, },
"graphql_collections": {
"title": "GraphQL Collections"
},
"group": { "group": {
"time": "Time", "time": "Time",
"url": "URL" "url": "URL"
@@ -297,6 +355,8 @@
}, },
"helpers": { "helpers": {
"authorization": "سيتم إنشاء رأس التفويض تلقائيًا عند إرسال الطلب.", "authorization": "سيتم إنشاء رأس التفويض تلقائيًا عند إرسال الطلب.",
"collection_properties_authorization": " This authorization will be set for every request in this collection.",
"collection_properties_header": "This header will be set for every request in this collection.",
"generate_documentation_first": "قم بإنشاء الوثائق أولاً", "generate_documentation_first": "قم بإنشاء الوثائق أولاً",
"network_fail": "تعذر الوصول إلى نقطة نهاية API. تحقق من اتصالك بالشبكة وحاول مرة أخرى.", "network_fail": "تعذر الوصول إلى نقطة نهاية API. تحقق من اتصالك بالشبكة وحاول مرة أخرى.",
"offline": "يبدو أنك غير متصل بالإنترنت. قد لا تكون البيانات الموجودة في مساحة العمل هذه محدثة.", "offline": "يبدو أنك غير متصل بالإنترنت. قد لا تكون البيانات الموجودة في مساحة العمل هذه محدثة.",
@@ -316,7 +376,10 @@
"import": { "import": {
"collections": "مجموعات الاستيراد", "collections": "مجموعات الاستيراد",
"curl": "استيراد cURL", "curl": "استيراد cURL",
"environments_from_gist": "Import From Gist",
"environments_from_gist_description": "Import Hoppscotch Environments From Gist",
"failed": "فشل الاستيراد", "failed": "فشل الاستيراد",
"from_file": "Import from File",
"from_gist": "الاستيراد من Gist", "from_gist": "الاستيراد من Gist",
"from_gist_description": "استيراد من Gist URL", "from_gist_description": "استيراد من Gist URL",
"from_insomnia": "استيراد من Insomnia", "from_insomnia": "استيراد من Insomnia",
@@ -331,11 +394,17 @@
"from_postman_description": "استيراد من مجموعة Postman", "from_postman_description": "استيراد من مجموعة Postman",
"from_url": "استيراد من رابط", "from_url": "استيراد من رابط",
"gist_url": "أدخل عنوان URL لـ Gist", "gist_url": "أدخل عنوان URL لـ Gist",
"gql_collections_from_gist_description": "Import GraphQL Collections From Gist",
"hoppscotch_environment": "Hoppscotch Environment",
"hoppscotch_environment_description": "Import Hoppscotch Environment JSON file",
"import_from_url_invalid_fetch": "Couldn't get data from the url", "import_from_url_invalid_fetch": "Couldn't get data from the url",
"import_from_url_invalid_file_format": "Error while importing collections", "import_from_url_invalid_file_format": "Error while importing collections",
"import_from_url_invalid_type": "Unsupported type. accepted values are 'hoppscotch', 'openapi', 'postman', 'insomnia'", "import_from_url_invalid_type": "Unsupported type. accepted values are 'hoppscotch', 'openapi', 'postman', 'insomnia'",
"import_from_url_success": "Collections Imported", "import_from_url_success": "Collections Imported",
"insomnia_environment_description": "Import Insomnia Environment from a JSON/YAML file",
"json_description": "استيراد مجموعة من ملفHoppscotch Collections JSON file", "json_description": "استيراد مجموعة من ملفHoppscotch Collections JSON file",
"postman_environment": "Postman Environment",
"postman_environment_description": "Import Postman Environment from a JSON file",
"title": "يستورد" "title": "يستورد"
}, },
"inspections": { "inspections": {
@@ -373,8 +442,10 @@
"close_unsaved_tab": "You have unsaved changes", "close_unsaved_tab": "You have unsaved changes",
"collections": "المجموعات", "collections": "المجموعات",
"confirm": "يتأكد", "confirm": "يتأكد",
"customize_request": "Customize Request",
"edit_request": "تحرير الطلب", "edit_request": "تحرير الطلب",
"import_export": "استيراد و تصدير" "import_export": "استيراد و تصدير",
"share_request": "Share Request"
}, },
"mqtt": { "mqtt": {
"already_subscribed": "You are already subscribed to this topic.", "already_subscribed": "You are already subscribed to this topic.",
@@ -449,13 +520,14 @@
"structured": "Structured", "structured": "Structured",
"text": "Text" "text": "Text"
}, },
"copy_link": "نسخ الوصلة",
"different_collection": "Cannot reorder requests from different collections", "different_collection": "Cannot reorder requests from different collections",
"duplicated": "Request duplicated", "duplicated": "Request duplicated",
"duration": "مدة", "duration": "مدة",
"enter_curl": "أدخل cURL", "enter_curl": "أدخل cURL",
"generate_code": "إنشاء التعليمات البرمجية", "generate_code": "إنشاء التعليمات البرمجية",
"generated_code": "رمز تم إنشاؤه", "generated_code": "رمز تم إنشاؤه",
"go_to_authorization_tab": "Go to Authorization tab",
"go_to_body_tab": "Go to Body tab",
"header_list": "قائمة الرأس", "header_list": "قائمة الرأس",
"invalid_name": "يرجى تقديم اسم للطلب", "invalid_name": "يرجى تقديم اسم للطلب",
"method": "طريقة", "method": "طريقة",
@@ -480,12 +552,14 @@
"saved": "تم حفظ الطلب", "saved": "تم حفظ الطلب",
"share": "يشارك", "share": "يشارك",
"share_description": "Share Hoppscotch with your friends", "share_description": "Share Hoppscotch with your friends",
"share_request": "Share Request",
"stop": "Stop", "stop": "Stop",
"title": "طلب", "title": "طلب",
"type": "نوع الطلب", "type": "نوع الطلب",
"url": "URL", "url": "URL",
"variables": "المتغيرات", "variables": "المتغيرات",
"view_my_links": "View my links" "view_my_links": "View my links",
"copy_link": "نسخ الوصلة"
}, },
"response": { "response": {
"audio": "Audio", "audio": "Audio",
@@ -513,6 +587,7 @@
"account_description": "تخصيص إعدادات حسابك.", "account_description": "تخصيص إعدادات حسابك.",
"account_email_description": "عنوان بريدك الإلكتروني الأساسي.", "account_email_description": "عنوان بريدك الإلكتروني الأساسي.",
"account_name_description": "هذا هو اسم العرض الخاص بك.", "account_name_description": "هذا هو اسم العرض الخاص بك.",
"additional": "Additional Settings",
"background": "خلفية", "background": "خلفية",
"black_mode": "أسود", "black_mode": "أسود",
"choose_language": "اختر اللغة", "choose_language": "اختر اللغة",
@@ -559,14 +634,31 @@
"verified_email": "Verified email", "verified_email": "Verified email",
"verify_email": "تأكيد البريد الإلكتروني" "verify_email": "تأكيد البريد الإلكتروني"
}, },
"shortcodes": { "shared_requests": {
"actions": "Actions", "button": "Button",
"created_on": "Created on", "button_info": "Create a 'Run in Hoppscotch' button for your website, blog or a README.",
"deleted": "Shortcode deleted", "copy_html": "Copy HTML",
"method": "Method", "copy_link": "Copy Link",
"not_found": "Shortcode not found", "copy_markdown": "Copy Markdown",
"short_code": "Short code", "creating_widget": "Creating widget",
"url": "URL" "customize": "Customize",
"deleted": "Shared request deleted",
"description": "Select a widget, you can change and customize this later",
"embed": "Embed",
"embed_info": "Add a mini 'Hoppscotch API Playground' to your website, blog or documentation.",
"link": "Link",
"link_info": "Create a shareable link to share with anyone on the internet with view access.",
"modified": "Shared request modified",
"not_found": "Shared request not found",
"open_new_tab": "Open in new tab",
"preview": "Preview",
"run_in_hoppscotch": "Run in Hoppscotch",
"theme": {
"dark": "Dark",
"light": "Light",
"system": "System",
"title": "Theme"
}
}, },
"shortcut": { "shortcut": {
"general": { "general": {
@@ -596,7 +688,6 @@
"title": "Others" "title": "Others"
}, },
"request": { "request": {
"copy_request_link": "نسخ ارتباط الطلب",
"delete_method": "حدد طريقة الحذف", "delete_method": "حدد طريقة الحذف",
"get_method": "حدد طريقة GET", "get_method": "حدد طريقة GET",
"head_method": "حدد طريقة HEAD", "head_method": "حدد طريقة HEAD",
@@ -611,8 +702,10 @@
"save_request": "Save Request", "save_request": "Save Request",
"save_to_collections": "حفظ في المجموعات", "save_to_collections": "حفظ في المجموعات",
"send_request": "ارسل طلب", "send_request": "ارسل طلب",
"share_request": "Share Request",
"show_code": "Generate code snippet", "show_code": "Generate code snippet",
"title": "طلب" "title": "طلب",
"copy_request_link": "نسخ ارتباط الطلب"
}, },
"response": { "response": {
"copy": "Copy response to clipboard", "copy": "Copy response to clipboard",
@@ -735,6 +828,7 @@
"connection_error": "Failed to connect", "connection_error": "Failed to connect",
"connection_failed": "Connection failed", "connection_failed": "Connection failed",
"connection_lost": "Connection lost", "connection_lost": "Connection lost",
"copied_interface_to_clipboard": "Copied {language} interface type to clipboard",
"copied_to_clipboard": "نسخ إلى الحافظة", "copied_to_clipboard": "نسخ إلى الحافظة",
"deleted": "تم الحذف", "deleted": "تم الحذف",
"deprecated": "إهمال", "deprecated": "إهمال",
@@ -742,10 +836,12 @@
"disconnected": "انقطع الاتصال", "disconnected": "انقطع الاتصال",
"disconnected_from": "انقطع الاتصال بـ {name}", "disconnected_from": "انقطع الاتصال بـ {name}",
"docs_generated": "تم إنشاء الوثائق", "docs_generated": "تم إنشاء الوثائق",
"download_failed": "Download failed",
"download_started": "بدأ التنزيل", "download_started": "بدأ التنزيل",
"enabled": "ممكن", "enabled": "ممكن",
"file_imported": "تم استيراد الملف", "file_imported": "تم استيراد الملف",
"finished_in": "انتهى في {duration} مللي ثانية", "finished_in": "انتهى في {duration} مللي ثانية",
"hide": "Hide",
"history_deleted": "تم حذف السجل", "history_deleted": "تم حذف السجل",
"linewrap": "خطوط الالتفاف", "linewrap": "خطوط الالتفاف",
"loading": "تحميل...", "loading": "تحميل...",
@@ -756,6 +852,7 @@
"published_error": "Something went wrong while publishing msg: {topic} to topic: {message}", "published_error": "Something went wrong while publishing msg: {topic} to topic: {message}",
"published_message": "Published message: {message} to topic: {topic}", "published_message": "Published message: {message} to topic: {topic}",
"reconnection_error": "Failed to reconnect", "reconnection_error": "Failed to reconnect",
"show": "Show",
"subscribed_failed": "Failed to subscribe to topic: {topic}", "subscribed_failed": "Failed to subscribe to topic: {topic}",
"subscribed_success": "Successfully subscribed to topic: {topic}", "subscribed_success": "Successfully subscribed to topic: {topic}",
"unsubscribed_failed": "Failed to unsubscribe from topic: {topic}", "unsubscribed_failed": "Failed to unsubscribe from topic: {topic}",
@@ -791,6 +888,7 @@
"queries": "استفسارات", "queries": "استفسارات",
"query": "استفسار", "query": "استفسار",
"schema": "مخطط", "schema": "مخطط",
"shared_requests": "Shared Requests",
"socketio": "مقبس", "socketio": "مقبس",
"sse": "SSE", "sse": "SSE",
"tests": "الاختبارات", "tests": "الاختبارات",
@@ -807,6 +905,7 @@
"email_do_not_match": "البريد الإلكتروني لا يتوافق مع معلومات حسابك. اتصل بمدير الفريق.", "email_do_not_match": "البريد الإلكتروني لا يتوافق مع معلومات حسابك. اتصل بمدير الفريق.",
"exit": "فريق الخروج", "exit": "فريق الخروج",
"exit_disabled": "فقط المالك لا يمكنه الخروج من الفريق", "exit_disabled": "فقط المالك لا يمكنه الخروج من الفريق",
"failed_invites": "Failed invites",
"invalid_coll_id": "Invalid collection ID", "invalid_coll_id": "Invalid collection ID",
"invalid_email_format": "تنسيق البريد الإلكتروني غير صالح", "invalid_email_format": "تنسيق البريد الإلكتروني غير صالح",
"invalid_id": "معرف الفريق غير صالح. اتصل بمدير الفريق.", "invalid_id": "معرف الفريق غير صالح. اتصل بمدير الفريق.",
@@ -848,6 +947,7 @@
"same_target_destination": "Same target and destination", "same_target_destination": "Same target and destination",
"saved": "فريق حفظ", "saved": "فريق حفظ",
"select_a_team": "اختر فريق", "select_a_team": "اختر فريق",
"success_invites": "Success invites",
"title": "فرق", "title": "فرق",
"we_sent_invite_link": "لقد أرسلنا رابط دعوة لجميع المدعوين!", "we_sent_invite_link": "لقد أرسلنا رابط دعوة لجميع المدعوين!",
"we_sent_invite_link_description": "اطلب من جميع المدعوين التحقق من صندوق الوارد الخاص بهم. انقر على الرابط للانضمام إلى الفريق." "we_sent_invite_link_description": "اطلب من جميع المدعوين التحقق من صندوق الوارد الخاص بهم. انقر على الرابط للانضمام إلى الفريق."
@@ -879,5 +979,14 @@
"personal": "My Workspace", "personal": "My Workspace",
"team": "Team Workspace", "team": "Team Workspace",
"title": "Workspaces" "title": "Workspaces"
},
"shortcodes": {
"actions": "Actions",
"created_on": "Created on",
"deleted": "Shortcode deleted",
"method": "Method",
"not_found": "Shortcode not found",
"short_code": "Short code",
"url": "URL"
} }
} }

View File

@@ -1,5 +1,6 @@
{ {
"action": { "action": {
"add": "Add",
"autoscroll": "Autoscroll", "autoscroll": "Autoscroll",
"cancel": "Cancel·lar", "cancel": "Cancel·lar",
"choose_file": "Triar un fitxer", "choose_file": "Triar un fitxer",
@@ -10,6 +11,7 @@
"connect": "Connectar", "connect": "Connectar",
"connecting": "Connecting", "connecting": "Connecting",
"copy": "Copiar", "copy": "Copiar",
"create": "Create",
"delete": "Eliminar", "delete": "Eliminar",
"disconnect": "Desconnectar", "disconnect": "Desconnectar",
"dismiss": "Tancar", "dismiss": "Tancar",
@@ -31,6 +33,7 @@
"open_workspace": "Obrir espai de treball", "open_workspace": "Obrir espai de treball",
"paste": "Enganxar", "paste": "Enganxar",
"prettify": "Fes-ho bonic", "prettify": "Fes-ho bonic",
"properties": "Properties",
"remove": "Eliminar", "remove": "Eliminar",
"rename": "Rename", "rename": "Rename",
"restore": "Restaurar", "restore": "Restaurar",
@@ -39,6 +42,7 @@
"scroll_to_top": "Desplaceu-vos cap a dalt", "scroll_to_top": "Desplaceu-vos cap a dalt",
"search": "Cercar", "search": "Cercar",
"send": "Enviar", "send": "Enviar",
"share": "Share",
"start": "Començar", "start": "Començar",
"starting": "Starting", "starting": "Starting",
"stop": "Aturar", "stop": "Aturar",
@@ -57,7 +61,9 @@
"app": { "app": {
"chat_with_us": "Xateja amb nosaltres", "chat_with_us": "Xateja amb nosaltres",
"contact_us": "Contacta amb nosaltres", "contact_us": "Contacta amb nosaltres",
"cookies": "Cookies",
"copy": "Copiar", "copy": "Copiar",
"copy_interface_type": "Copy interface type",
"copy_user_id": "Copiar User Auth Token", "copy_user_id": "Copiar User Auth Token",
"developer_option": "Opcions de desenvolupador", "developer_option": "Opcions de desenvolupador",
"developer_option_description": "Eines de desenvolupament que ajuden en el desenvolupament i manteniment de Hoppscotch.", "developer_option_description": "Eines de desenvolupament que ajuden en el desenvolupament i manteniment de Hoppscotch.",
@@ -73,6 +79,7 @@
"keyboard_shortcuts": "Dreceres de teclat", "keyboard_shortcuts": "Dreceres de teclat",
"name": "Hoppscotch", "name": "Hoppscotch",
"new_version_found": "S'ha trobat una nova versió. Refresca per actualitzar.", "new_version_found": "S'ha trobat una nova versió. Refresca per actualitzar.",
"open_in_hoppscotch": "Open in Hoppscotch",
"options": "Opcions", "options": "Opcions",
"proxy_privacy_policy": "Política de privadesa del servidor intermediari (proxy)", "proxy_privacy_policy": "Política de privadesa del servidor intermediari (proxy)",
"reload": "Recarregar", "reload": "Recarregar",
@@ -112,10 +119,27 @@
}, },
"authorization": { "authorization": {
"generate_token": "Generar Token", "generate_token": "Generar Token",
"graphql_headers": "Authorization Headers are sent as part of the payload to connection_init",
"include_in_url": "Inclou a l'URL", "include_in_url": "Inclou a l'URL",
"inherited_from": "Inherited from {auth} from Parent Collection {collection} ",
"learn": "Aprèn com", "learn": "Aprèn com",
"oauth": {
"redirect_auth_server_returned_error": "Auth Server returned an error state",
"redirect_auth_token_request_failed": "Request to get the auth token failed",
"redirect_auth_token_request_invalid_response": "Invalid Response from the Token Endpoint when requesting for an auth token",
"redirect_invalid_state": "Invalid State value present in the redirect",
"redirect_no_auth_code": "No Authorization Code present in the redirect",
"redirect_no_client_id": "No Client ID defined",
"redirect_no_client_secret": "No Client Secret Defined",
"redirect_no_code_verifier": "No Code Verifier Defined",
"redirect_no_token_endpoint": "No Token Endpoint Defined",
"something_went_wrong_on_oauth_redirect": "Something went wrong during OAuth Redirect",
"something_went_wrong_on_token_generation": "Something went wrong on token generation",
"token_generation_oidc_discovery_failed": "Failure on token generation: OpenID Connect Discovery Failed"
},
"pass_key_by": "Passar per", "pass_key_by": "Passar per",
"password": "Contrasenya", "password": "Contrasenya",
"save_to_inherit": "Please save this request in any collection to inherit the authorization",
"token": "Token", "token": "Token",
"type": "Tipus d'autorització", "type": "Tipus d'autorització",
"username": "Nom d'usuari" "username": "Nom d'usuari"
@@ -124,6 +148,7 @@
"created": "Col·lecció creada", "created": "Col·lecció creada",
"different_parent": "Cannot reorder collection with different parent", "different_parent": "Cannot reorder collection with different parent",
"edit": "Editar la col·lecció", "edit": "Editar la col·lecció",
"import_or_create": "Import or create a collection",
"invalid_name": "Proporcioneu un nom vàlid per a la col·lecció", "invalid_name": "Proporcioneu un nom vàlid per a la col·lecció",
"invalid_root_move": "Collection already in the root", "invalid_root_move": "Collection already in the root",
"moved": "Moved Successfully", "moved": "Moved Successfully",
@@ -132,6 +157,8 @@
"name_length_insufficient": "El nom de la col·lecció ha de tenir almenys 3 caràcters", "name_length_insufficient": "El nom de la col·lecció ha de tenir almenys 3 caràcters",
"new": "Nova col · lecció", "new": "Nova col · lecció",
"order_changed": "Collection Order Updated", "order_changed": "Collection Order Updated",
"properties": "Collection Properties",
"properties_updated": "Collection Properties Updated",
"renamed": "S'ha canviat el nom de la col·lecció", "renamed": "S'ha canviat el nom de la col·lecció",
"request_in_use": "Request in use", "request_in_use": "Request in use",
"save_as": "Guardar com", "save_as": "Guardar com",
@@ -151,6 +178,7 @@
"remove_folder": "Està segur que vol suprimir definitivament aquesta carpeta?", "remove_folder": "Està segur que vol suprimir definitivament aquesta carpeta?",
"remove_history": "Està segur que vol suprimir definitivament tot l'historial?", "remove_history": "Està segur que vol suprimir definitivament tot l'historial?",
"remove_request": "Està segur que vol suprimir definitivament aquesta sol·licitud?", "remove_request": "Està segur que vol suprimir definitivament aquesta sol·licitud?",
"remove_shared_request": "Are you sure you want to permanently delete this shared request?",
"remove_team": "Està segur que vol suprimir aquest equip?", "remove_team": "Està segur que vol suprimir aquest equip?",
"remove_telemetry": "Està segur que vol desactivar Telemetry?", "remove_telemetry": "Està segur que vol desactivar Telemetry?",
"request_change": "Està segur que vol descartar la sol·licitud actual, els canvis no desats es perdran.", "request_change": "Està segur que vol descartar la sol·licitud actual, els canvis no desats es perdran.",
@@ -162,6 +190,24 @@
"open_request_in_new_tab": "Open request in new tab", "open_request_in_new_tab": "Open request in new tab",
"set_environment_variable": "Set as variable" "set_environment_variable": "Set as variable"
}, },
"cookies": {
"modal": {
"cookie_expires": "Expires",
"cookie_name": "Name",
"cookie_path": "Path",
"cookie_string": "Cookie string",
"cookie_value": "Value",
"empty_domain": "Domain is empty",
"empty_domains": "Domain list is empty",
"enter_cookie_string": "Enter cookie string",
"interceptor_no_support": "Your currently selected interceptor does not support cookies. Select a different Interceptor and try again.",
"managed_tab": "Managed",
"new_domain_name": "New domain name",
"no_cookies_in_domain": "No cookies set for this domain",
"raw_tab": "Raw",
"set": "Set a cookie"
}
},
"count": { "count": {
"header": "Capçalera {count}", "header": "Capçalera {count}",
"message": "Missatges {count}", "message": "Missatges {count}",
@@ -192,11 +238,13 @@
"profile": "Inicia sessió per veure el vostre perfil", "profile": "Inicia sessió per veure el vostre perfil",
"protocols": "Els protocols estan buits", "protocols": "Els protocols estan buits",
"schema": "Connecta't a un endpoint GraphQL", "schema": "Connecta't a un endpoint GraphQL",
"shortcodes": "Els shortcodes estan buits", "shared_requests": "Shared requests are empty",
"shared_requests_logout": "Login to view your shared requests or create a new one",
"subscription": "Subscriptions are empty", "subscription": "Subscriptions are empty",
"team_name": "El nom de l'equip és buit", "team_name": "El nom de l'equip és buit",
"teams": "Els equips estan buits", "teams": "Els equips estan buits",
"tests": "No hi ha proves per a aquesta sol·licitud" "tests": "No hi ha proves per a aquesta sol·licitud",
"shortcodes": "Els shortcodes estan buits"
}, },
"environment": { "environment": {
"add_to_global": "Afegir-ho a Global", "add_to_global": "Afegir-ho a Global",
@@ -209,6 +257,7 @@
"empty_variables": "No variables", "empty_variables": "No variables",
"global": "Global", "global": "Global",
"global_variables": "Global variables", "global_variables": "Global variables",
"import_or_create": "Import or create a environment",
"invalid_name": "Proporcioneu un nom vàlid per a l'entorn", "invalid_name": "Proporcioneu un nom vàlid per a l'entorn",
"list": "Environment variables", "list": "Environment variables",
"my_environments": "My Environments", "my_environments": "My Environments",
@@ -232,8 +281,10 @@
"variable_list": "Llista de variables" "variable_list": "Llista de variables"
}, },
"error": { "error": {
"authproviders_load_error": "Unable to load auth providers",
"browser_support_sse": "Sembla que aquest navegador no és compatible amb els Esdeveniments Enviats pel Servidor (Server Sent Events).", "browser_support_sse": "Sembla que aquest navegador no és compatible amb els Esdeveniments Enviats pel Servidor (Server Sent Events).",
"check_console_details": "Consulta el registre de la consola per obtenir més informació.", "check_console_details": "Consulta el registre de la consola per obtenir més informació.",
"check_how_to_add_origin": "Check how you can add an origin",
"curl_invalid_format": "cURL no està formatat correctament", "curl_invalid_format": "cURL no està formatat correctament",
"danger_zone": "Danger zone", "danger_zone": "Danger zone",
"delete_account": "Your account is currently an owner in these teams:", "delete_account": "Your account is currently an owner in these teams:",
@@ -249,9 +300,12 @@
"json_prettify_invalid_body": "No s'ha pogut personalitzar un cos no vàlid, resol els errors de sintaxi json i tornar-ho a provar", "json_prettify_invalid_body": "No s'ha pogut personalitzar un cos no vàlid, resol els errors de sintaxi json i tornar-ho a provar",
"network_error": "Sembla que hi ha un error de xarxa. Si us plau torna-ho a provar.", "network_error": "Sembla que hi ha un error de xarxa. Si us plau torna-ho a provar.",
"network_fail": "No s'ha pogut enviar la sol·licitud", "network_fail": "No s'ha pogut enviar la sol·licitud",
"no_collections_to_export": "No collections to export. Please create a collection to get started.",
"no_duration": "Sense durada", "no_duration": "Sense durada",
"no_environments_to_export": "No environments to export. Please create an environment to get started.",
"no_results_found": "No s'ha trobat cap coincidència", "no_results_found": "No s'ha trobat cap coincidència",
"page_not_found": "This page could not be found", "page_not_found": "This page could not be found",
"please_install_extension": "Please install the extension and add origin to the extension.",
"proxy_error": "Proxy error", "proxy_error": "Proxy error",
"script_fail": "No s'ha pogut executar l'script de sol·licitud prèvia", "script_fail": "No s'ha pogut executar l'script de sol·licitud prèvia",
"something_went_wrong": "Alguna cosa ha anat malament", "something_went_wrong": "Alguna cosa ha anat malament",
@@ -260,6 +314,7 @@
"export": { "export": {
"as_json": "Exporta com a JSON", "as_json": "Exporta com a JSON",
"create_secret_gist": "Crear un Gist secret", "create_secret_gist": "Crear un Gist secret",
"failed": "Something went wrong while exporting",
"gist_created": "Gist creat", "gist_created": "Gist creat",
"require_github": "Inicieu la sessió amb GitHub per crear un Gisst secret", "require_github": "Inicieu la sessió amb GitHub per crear un Gisst secret",
"title": "Exportar" "title": "Exportar"
@@ -286,6 +341,9 @@
"subscriptions": "Subscripcions", "subscriptions": "Subscripcions",
"switch_connection": "Switch connection" "switch_connection": "Switch connection"
}, },
"graphql_collections": {
"title": "GraphQL Collections"
},
"group": { "group": {
"time": "Time", "time": "Time",
"url": "URL" "url": "URL"
@@ -297,6 +355,8 @@
}, },
"helpers": { "helpers": {
"authorization": "La capçalera de l'autorització es generarà automàticament quan envieu la sol·licitud.", "authorization": "La capçalera de l'autorització es generarà automàticament quan envieu la sol·licitud.",
"collection_properties_authorization": " This authorization will be set for every request in this collection.",
"collection_properties_header": "This header will be set for every request in this collection.",
"generate_documentation_first": "Genereu documentació primer", "generate_documentation_first": "Genereu documentació primer",
"network_fail": "No es pot arribar al punt final de l'API. Comproveu la connexió de xarxa i torneu-ho a provar.", "network_fail": "No es pot arribar al punt final de l'API. Comproveu la connexió de xarxa i torneu-ho a provar.",
"offline": "Sembla que estàs fora de línia. És possible que les dades d'aquest espai de treball no estiguin actualitzades.", "offline": "Sembla que estàs fora de línia. És possible que les dades d'aquest espai de treball no estiguin actualitzades.",
@@ -316,7 +376,10 @@
"import": { "import": {
"collections": "Importar col·leccions", "collections": "Importar col·leccions",
"curl": "Importar cURL", "curl": "Importar cURL",
"environments_from_gist": "Import From Gist",
"environments_from_gist_description": "Import Hoppscotch Environments From Gist",
"failed": "La importació ha fallat", "failed": "La importació ha fallat",
"from_file": "Import from File",
"from_gist": "Importar des de Gist", "from_gist": "Importar des de Gist",
"from_gist_description": "Importar des de l'URL de Gist", "from_gist_description": "Importar des de l'URL de Gist",
"from_insomnia": "Importar des d'Insomnia", "from_insomnia": "Importar des d'Insomnia",
@@ -331,11 +394,17 @@
"from_postman_description": "Importar des de la col·lecció de Postman", "from_postman_description": "Importar des de la col·lecció de Postman",
"from_url": "Importar des de l'URL", "from_url": "Importar des de l'URL",
"gist_url": "Introduïu l'URL del Gist", "gist_url": "Introduïu l'URL del Gist",
"gql_collections_from_gist_description": "Import GraphQL Collections From Gist",
"hoppscotch_environment": "Hoppscotch Environment",
"hoppscotch_environment_description": "Import Hoppscotch Environment JSON file",
"import_from_url_invalid_fetch": "No s'han pogut obtenir dades de l'URL", "import_from_url_invalid_fetch": "No s'han pogut obtenir dades de l'URL",
"import_from_url_invalid_file_format": "S'ha produït un error en importar les col·leccions", "import_from_url_invalid_file_format": "S'ha produït un error en importar les col·leccions",
"import_from_url_invalid_type": "Tipus no compatible. Els valors acceptats són 'hoppscotch', 'openapi', 'postman', 'insomnia'", "import_from_url_invalid_type": "Tipus no compatible. Els valors acceptats són 'hoppscotch', 'openapi', 'postman', 'insomnia'",
"import_from_url_success": "Col·leccions importades", "import_from_url_success": "Col·leccions importades",
"insomnia_environment_description": "Import Insomnia Environment from a JSON/YAML file",
"json_description": "Importar col·leccions des d'un fitxer JSON de col·leccions Hoppscotch", "json_description": "Importar col·leccions des d'un fitxer JSON de col·leccions Hoppscotch",
"postman_environment": "Postman Environment",
"postman_environment_description": "Import Postman Environment from a JSON file",
"title": "Importació" "title": "Importació"
}, },
"inspections": { "inspections": {
@@ -373,8 +442,10 @@
"close_unsaved_tab": "You have unsaved changes", "close_unsaved_tab": "You have unsaved changes",
"collections": "Col·leccions", "collections": "Col·leccions",
"confirm": "Confirmar", "confirm": "Confirmar",
"customize_request": "Customize Request",
"edit_request": "Sol·licitud d'edició", "edit_request": "Sol·licitud d'edició",
"import_export": "Importar / Exportar" "import_export": "Importar / Exportar",
"share_request": "Share Request"
}, },
"mqtt": { "mqtt": {
"already_subscribed": "You are already subscribed to this topic.", "already_subscribed": "You are already subscribed to this topic.",
@@ -449,13 +520,14 @@
"structured": "Estructurat", "structured": "Estructurat",
"text": "Text" "text": "Text"
}, },
"copy_link": "Copia l'enllaç",
"different_collection": "Cannot reorder requests from different collections", "different_collection": "Cannot reorder requests from different collections",
"duplicated": "Request duplicated", "duplicated": "Request duplicated",
"duration": "Durada", "duration": "Durada",
"enter_curl": "Introduïu cURL", "enter_curl": "Introduïu cURL",
"generate_code": "Generar codi", "generate_code": "Generar codi",
"generated_code": "Codi generat", "generated_code": "Codi generat",
"go_to_authorization_tab": "Go to Authorization tab",
"go_to_body_tab": "Go to Body tab",
"header_list": "Llista de capçaleres", "header_list": "Llista de capçaleres",
"invalid_name": "Proporcioneu un nom per a la sol·licitud", "invalid_name": "Proporcioneu un nom per a la sol·licitud",
"method": "Mètode", "method": "Mètode",
@@ -480,12 +552,14 @@
"saved": "S'ha desat la sol·licitud", "saved": "S'ha desat la sol·licitud",
"share": "Compartir", "share": "Compartir",
"share_description": "Comparteix Hoppscotch amb els teus amics", "share_description": "Comparteix Hoppscotch amb els teus amics",
"share_request": "Share Request",
"stop": "Stop", "stop": "Stop",
"title": "Sol·licitud", "title": "Sol·licitud",
"type": "Tipus de sol·licitud", "type": "Tipus de sol·licitud",
"url": "URL", "url": "URL",
"variables": "Variables", "variables": "Variables",
"view_my_links": "Visualitzar els meus enllaços" "view_my_links": "Visualitzar els meus enllaços",
"copy_link": "Copia l'enllaç"
}, },
"response": { "response": {
"audio": "Audio", "audio": "Audio",
@@ -513,6 +587,7 @@
"account_description": "Personalitzeu la configuració del compte.", "account_description": "Personalitzeu la configuració del compte.",
"account_email_description": "La vostra adreça de correu electrònic principal.", "account_email_description": "La vostra adreça de correu electrònic principal.",
"account_name_description": "Aquest és el vostre nom d'exposició", "account_name_description": "Aquest és el vostre nom d'exposició",
"additional": "Additional Settings",
"background": "Fons", "background": "Fons",
"black_mode": "Negre", "black_mode": "Negre",
"choose_language": "Tria l'idioma", "choose_language": "Tria l'idioma",
@@ -559,14 +634,31 @@
"verified_email": "Verified email", "verified_email": "Verified email",
"verify_email": "Verificar correu electronic" "verify_email": "Verificar correu electronic"
}, },
"shortcodes": { "shared_requests": {
"actions": "Accions", "button": "Button",
"created_on": "Creat el", "button_info": "Create a 'Run in Hoppscotch' button for your website, blog or a README.",
"deleted": "S'ha suprimit el shortcode", "copy_html": "Copy HTML",
"method": "Mètode", "copy_link": "Copy Link",
"not_found": "No s'ha trobat el shortcode", "copy_markdown": "Copy Markdown",
"short_code": "Short code", "creating_widget": "Creating widget",
"url": "URL" "customize": "Customize",
"deleted": "Shared request deleted",
"description": "Select a widget, you can change and customize this later",
"embed": "Embed",
"embed_info": "Add a mini 'Hoppscotch API Playground' to your website, blog or documentation.",
"link": "Link",
"link_info": "Create a shareable link to share with anyone on the internet with view access.",
"modified": "Shared request modified",
"not_found": "Shared request not found",
"open_new_tab": "Open in new tab",
"preview": "Preview",
"run_in_hoppscotch": "Run in Hoppscotch",
"theme": {
"dark": "Dark",
"light": "Light",
"system": "System",
"title": "Theme"
}
}, },
"shortcut": { "shortcut": {
"general": { "general": {
@@ -596,7 +688,6 @@
"title": "Others" "title": "Others"
}, },
"request": { "request": {
"copy_request_link": "Copiar l'enllaç de la sol·licitud",
"delete_method": "Seleccionar el mètode DELETE", "delete_method": "Seleccionar el mètode DELETE",
"get_method": "Seleccionar el mètode GET", "get_method": "Seleccionar el mètode GET",
"head_method": "Seleccionar el mètode HEAD", "head_method": "Seleccionar el mètode HEAD",
@@ -611,8 +702,10 @@
"save_request": "Save Request", "save_request": "Save Request",
"save_to_collections": "Guardar a les col·leccions", "save_to_collections": "Guardar a les col·leccions",
"send_request": "Enviar sol.licitud", "send_request": "Enviar sol.licitud",
"share_request": "Share Request",
"show_code": "Generate code snippet", "show_code": "Generate code snippet",
"title": "Sol·licitud" "title": "Sol·licitud",
"copy_request_link": "Copiar l'enllaç de la sol·licitud"
}, },
"response": { "response": {
"copy": "Copy response to clipboard", "copy": "Copy response to clipboard",
@@ -735,6 +828,7 @@
"connection_error": "No s'ha pogut connectar", "connection_error": "No s'ha pogut connectar",
"connection_failed": "Connexió fallida", "connection_failed": "Connexió fallida",
"connection_lost": "Connexió perduda", "connection_lost": "Connexió perduda",
"copied_interface_to_clipboard": "Copied {language} interface type to clipboard",
"copied_to_clipboard": "Copiat al porta-retalls", "copied_to_clipboard": "Copiat al porta-retalls",
"deleted": "Eliminat", "deleted": "Eliminat",
"deprecated": "Obsolet", "deprecated": "Obsolet",
@@ -742,10 +836,12 @@
"disconnected": "Desconnectat", "disconnected": "Desconnectat",
"disconnected_from": "Desconnectat de {name}", "disconnected_from": "Desconnectat de {name}",
"docs_generated": "Documentació generada", "docs_generated": "Documentació generada",
"download_failed": "Download failed",
"download_started": "S'ha iniciat la baixada", "download_started": "S'ha iniciat la baixada",
"enabled": "Activat", "enabled": "Activat",
"file_imported": "Fitxer importat", "file_imported": "Fitxer importat",
"finished_in": "Acabat en {duration} ms", "finished_in": "Acabat en {duration} ms",
"hide": "Hide",
"history_deleted": "S'ha suprimit l'historial", "history_deleted": "S'ha suprimit l'historial",
"linewrap": "Embolcar línies", "linewrap": "Embolcar línies",
"loading": "S'està carregant...", "loading": "S'està carregant...",
@@ -756,6 +852,7 @@
"published_error": "S'ha produït un error en publicar el missatge: {topic} al tema: {message}", "published_error": "S'ha produït un error en publicar el missatge: {topic} al tema: {message}",
"published_message": "Missatge publicat: {missatge} al tema: {tema}", "published_message": "Missatge publicat: {missatge} al tema: {tema}",
"reconnection_error": "No s'ha pogut tornar a connectar", "reconnection_error": "No s'ha pogut tornar a connectar",
"show": "Show",
"subscribed_failed": "No s'ha pogut subscriure al tema: {topic}", "subscribed_failed": "No s'ha pogut subscriure al tema: {topic}",
"subscribed_success": "S'ha subscrit correctament al tema: {topic}", "subscribed_success": "S'ha subscrit correctament al tema: {topic}",
"unsubscribed_failed": "No s'ha pogut cancel·lar la subscripció al tema: {topic}", "unsubscribed_failed": "No s'ha pogut cancel·lar la subscripció al tema: {topic}",
@@ -791,6 +888,7 @@
"queries": "Consultes", "queries": "Consultes",
"query": "Consulta", "query": "Consulta",
"schema": "Schema", "schema": "Schema",
"shared_requests": "Shared Requests",
"socketio": "Socket.IO", "socketio": "Socket.IO",
"sse": "SSE", "sse": "SSE",
"tests": "Proves", "tests": "Proves",
@@ -807,6 +905,7 @@
"email_do_not_match": "El correu electrònic no coincideix amb les dades del vostre compte. Contacta amb el propietari del teu equip.", "email_do_not_match": "El correu electrònic no coincideix amb les dades del vostre compte. Contacta amb el propietari del teu equip.",
"exit": "Sortir de l'equip", "exit": "Sortir de l'equip",
"exit_disabled": "L'únic propietari no pot sortir de l'equip", "exit_disabled": "L'únic propietari no pot sortir de l'equip",
"failed_invites": "Failed invites",
"invalid_coll_id": "Invalid collection ID", "invalid_coll_id": "Invalid collection ID",
"invalid_email_format": "El format del correu electrònic no és vàlid", "invalid_email_format": "El format del correu electrònic no és vàlid",
"invalid_id": "Identificador d'equip no vàlid. Contacta amb el propietari del teu equip.", "invalid_id": "Identificador d'equip no vàlid. Contacta amb el propietari del teu equip.",
@@ -848,6 +947,7 @@
"same_target_destination": "Same target and destination", "same_target_destination": "Same target and destination",
"saved": "S'ha guardat l'equip", "saved": "S'ha guardat l'equip",
"select_a_team": "Select a team", "select_a_team": "Select a team",
"success_invites": "Success invites",
"title": "Equips", "title": "Equips",
"we_sent_invite_link": "Hem enviat un enllaç d'invitació a tots els convidats!", "we_sent_invite_link": "Hem enviat un enllaç d'invitació a tots els convidats!",
"we_sent_invite_link_description": "Demaneu a tots els convidats que comprovin la seva safata d'entrada. Feu clic a l'enllaç per unir-vos a l'equip." "we_sent_invite_link_description": "Demaneu a tots els convidats que comprovin la seva safata d'entrada. Feu clic a l'enllaç per unir-vos a l'equip."
@@ -879,5 +979,14 @@
"personal": "My Workspace", "personal": "My Workspace",
"team": "Team Workspace", "team": "Team Workspace",
"title": "Workspaces" "title": "Workspaces"
},
"shortcodes": {
"actions": "Accions",
"created_on": "Creat el",
"deleted": "S'ha suprimit el shortcode",
"method": "Mètode",
"not_found": "No s'ha trobat el shortcode",
"short_code": "Short code",
"url": "URL"
} }
} }

View File

@@ -1,5 +1,6 @@
{ {
"action": { "action": {
"add": "Add",
"autoscroll": "自动滚动", "autoscroll": "自动滚动",
"cancel": "取消", "cancel": "取消",
"choose_file": "选择文件", "choose_file": "选择文件",
@@ -10,6 +11,7 @@
"connect": "连接", "connect": "连接",
"connecting": "连接中", "connecting": "连接中",
"copy": "复制", "copy": "复制",
"create": "Create",
"delete": "删除", "delete": "删除",
"disconnect": "断开连接", "disconnect": "断开连接",
"dismiss": "忽略", "dismiss": "忽略",
@@ -31,6 +33,7 @@
"open_workspace": "打开工作区", "open_workspace": "打开工作区",
"paste": "粘贴", "paste": "粘贴",
"prettify": "美化", "prettify": "美化",
"properties": "Properties",
"remove": "移除", "remove": "移除",
"rename": "Rename", "rename": "Rename",
"restore": "恢复", "restore": "恢复",
@@ -39,6 +42,7 @@
"scroll_to_top": "滚动至顶部", "scroll_to_top": "滚动至顶部",
"search": "搜索", "search": "搜索",
"send": "发送", "send": "发送",
"share": "Share",
"start": "开始", "start": "开始",
"starting": "正在开始", "starting": "正在开始",
"stop": "停止", "stop": "停止",
@@ -57,7 +61,9 @@
"app": { "app": {
"chat_with_us": "与我们交谈", "chat_with_us": "与我们交谈",
"contact_us": "联系我们", "contact_us": "联系我们",
"cookies": "Cookies",
"copy": "复制", "copy": "复制",
"copy_interface_type": "Copy interface type",
"copy_user_id": "复制认证 Token", "copy_user_id": "复制认证 Token",
"developer_option": "开发者选项", "developer_option": "开发者选项",
"developer_option_description": "开发者工具,有助于开发和维护 Hoppscotch。", "developer_option_description": "开发者工具,有助于开发和维护 Hoppscotch。",
@@ -73,6 +79,7 @@
"keyboard_shortcuts": "键盘快捷键", "keyboard_shortcuts": "键盘快捷键",
"name": "Hoppscotch", "name": "Hoppscotch",
"new_version_found": "已发现新版本。刷新页面以更新。", "new_version_found": "已发现新版本。刷新页面以更新。",
"open_in_hoppscotch": "Open in Hoppscotch",
"options": "选项", "options": "选项",
"proxy_privacy_policy": "代理隐私政策", "proxy_privacy_policy": "代理隐私政策",
"reload": "重新加载", "reload": "重新加载",
@@ -112,10 +119,27 @@
}, },
"authorization": { "authorization": {
"generate_token": "生成令牌", "generate_token": "生成令牌",
"graphql_headers": "Authorization Headers are sent as part of the payload to connection_init",
"include_in_url": "包含在 URL 内", "include_in_url": "包含在 URL 内",
"inherited_from": "Inherited from {auth} from Parent Collection {collection} ",
"learn": "了解更多", "learn": "了解更多",
"oauth": {
"redirect_auth_server_returned_error": "Auth Server returned an error state",
"redirect_auth_token_request_failed": "Request to get the auth token failed",
"redirect_auth_token_request_invalid_response": "Invalid Response from the Token Endpoint when requesting for an auth token",
"redirect_invalid_state": "Invalid State value present in the redirect",
"redirect_no_auth_code": "No Authorization Code present in the redirect",
"redirect_no_client_id": "No Client ID defined",
"redirect_no_client_secret": "No Client Secret Defined",
"redirect_no_code_verifier": "No Code Verifier Defined",
"redirect_no_token_endpoint": "No Token Endpoint Defined",
"something_went_wrong_on_oauth_redirect": "Something went wrong during OAuth Redirect",
"something_went_wrong_on_token_generation": "Something went wrong on token generation",
"token_generation_oidc_discovery_failed": "Failure on token generation: OpenID Connect Discovery Failed"
},
"pass_key_by": "传递方式", "pass_key_by": "传递方式",
"password": "密码", "password": "密码",
"save_to_inherit": "Please save this request in any collection to inherit the authorization",
"token": "令牌", "token": "令牌",
"type": "授权类型", "type": "授权类型",
"username": "用户名" "username": "用户名"
@@ -124,6 +148,7 @@
"created": "集合已创建", "created": "集合已创建",
"different_parent": "不能用不同的父类来重新排序集合", "different_parent": "不能用不同的父类来重新排序集合",
"edit": "编辑集合", "edit": "编辑集合",
"import_or_create": "Import or create a collection",
"invalid_name": "请提供有效的集合名称", "invalid_name": "请提供有效的集合名称",
"invalid_root_move": "该集合已经在根级了", "invalid_root_move": "该集合已经在根级了",
"moved": "移动完成", "moved": "移动完成",
@@ -132,6 +157,8 @@
"name_length_insufficient": "集合名字至少需要 3 个字符", "name_length_insufficient": "集合名字至少需要 3 个字符",
"new": "新建集合", "new": "新建集合",
"order_changed": "集合顺序已更新", "order_changed": "集合顺序已更新",
"properties": "Collection Properties",
"properties_updated": "Collection Properties Updated",
"renamed": "集合已更名", "renamed": "集合已更名",
"request_in_use": "请求正在使用中", "request_in_use": "请求正在使用中",
"save_as": "另存为", "save_as": "另存为",
@@ -151,6 +178,7 @@
"remove_folder": "你确定要永久删除该文件夹吗?", "remove_folder": "你确定要永久删除该文件夹吗?",
"remove_history": "你确定要永久删除全部历史记录吗?", "remove_history": "你确定要永久删除全部历史记录吗?",
"remove_request": "你确定要永久删除该请求吗?", "remove_request": "你确定要永久删除该请求吗?",
"remove_shared_request": "Are you sure you want to permanently delete this shared request?",
"remove_team": "你确定要删除该团队吗?", "remove_team": "你确定要删除该团队吗?",
"remove_telemetry": "你确定要退出遥测服务吗?", "remove_telemetry": "你确定要退出遥测服务吗?",
"request_change": "你确定你要放弃当前的请求,未保存的修改将被丢失。", "request_change": "你确定你要放弃当前的请求,未保存的修改将被丢失。",
@@ -162,6 +190,24 @@
"open_request_in_new_tab": "Open request in new tab", "open_request_in_new_tab": "Open request in new tab",
"set_environment_variable": "Set as variable" "set_environment_variable": "Set as variable"
}, },
"cookies": {
"modal": {
"cookie_expires": "Expires",
"cookie_name": "Name",
"cookie_path": "Path",
"cookie_string": "Cookie string",
"cookie_value": "Value",
"empty_domain": "Domain is empty",
"empty_domains": "Domain list is empty",
"enter_cookie_string": "Enter cookie string",
"interceptor_no_support": "Your currently selected interceptor does not support cookies. Select a different Interceptor and try again.",
"managed_tab": "Managed",
"new_domain_name": "New domain name",
"no_cookies_in_domain": "No cookies set for this domain",
"raw_tab": "Raw",
"set": "Set a cookie"
}
},
"count": { "count": {
"header": "请求头 {count}", "header": "请求头 {count}",
"message": "消息 {count}", "message": "消息 {count}",
@@ -192,11 +238,13 @@
"profile": "登录以查看你的个人资料", "profile": "登录以查看你的个人资料",
"protocols": "协议为空", "protocols": "协议为空",
"schema": "连接至 GraphQL 端点", "schema": "连接至 GraphQL 端点",
"shortcodes": "Shortcodes 为空", "shared_requests": "Shared requests are empty",
"shared_requests_logout": "Login to view your shared requests or create a new one",
"subscription": "订阅为空", "subscription": "订阅为空",
"team_name": "团队名称为空", "team_name": "团队名称为空",
"teams": "团队为空", "teams": "团队为空",
"tests": "没有针对该请求的测试" "tests": "没有针对该请求的测试",
"shortcodes": "Shortcodes 为空"
}, },
"environment": { "environment": {
"add_to_global": "添加到全局环境", "add_to_global": "添加到全局环境",
@@ -209,6 +257,7 @@
"empty_variables": "No variables", "empty_variables": "No variables",
"global": "Global", "global": "Global",
"global_variables": "Global variables", "global_variables": "Global variables",
"import_or_create": "Import or create a environment",
"invalid_name": "请提供有效的环境名称", "invalid_name": "请提供有效的环境名称",
"list": "Environment variables", "list": "Environment variables",
"my_environments": "我的环境", "my_environments": "我的环境",
@@ -232,8 +281,10 @@
"variable_list": "变量列表" "variable_list": "变量列表"
}, },
"error": { "error": {
"authproviders_load_error": "Unable to load auth providers",
"browser_support_sse": "该浏览器似乎不支持 SSE。", "browser_support_sse": "该浏览器似乎不支持 SSE。",
"check_console_details": "检查控制台日志以获悉详情", "check_console_details": "检查控制台日志以获悉详情",
"check_how_to_add_origin": "Check how you can add an origin",
"curl_invalid_format": "cURL 格式不正确", "curl_invalid_format": "cURL 格式不正确",
"danger_zone": "危险区域", "danger_zone": "危险区域",
"delete_account": "您的帐号目前为这些团队的拥有者:", "delete_account": "您的帐号目前为这些团队的拥有者:",
@@ -249,9 +300,12 @@
"json_prettify_invalid_body": "无法美化无效的请求头,处理 JSON 语法错误并重试", "json_prettify_invalid_body": "无法美化无效的请求头,处理 JSON 语法错误并重试",
"network_error": "好像发生了网络错误,请重试。", "network_error": "好像发生了网络错误,请重试。",
"network_fail": "无法发送请求", "network_fail": "无法发送请求",
"no_collections_to_export": "No collections to export. Please create a collection to get started.",
"no_duration": "无持续时间", "no_duration": "无持续时间",
"no_environments_to_export": "No environments to export. Please create an environment to get started.",
"no_results_found": "找不到结果", "no_results_found": "找不到结果",
"page_not_found": "找不到此頁面", "page_not_found": "找不到此頁面",
"please_install_extension": "Please install the extension and add origin to the extension.",
"proxy_error": "Proxy error", "proxy_error": "Proxy error",
"script_fail": "无法执行预请求脚本", "script_fail": "无法执行预请求脚本",
"something_went_wrong": "发生了一些错误", "something_went_wrong": "发生了一些错误",
@@ -260,6 +314,7 @@
"export": { "export": {
"as_json": "导出为 JSON", "as_json": "导出为 JSON",
"create_secret_gist": "创建私密 Gist", "create_secret_gist": "创建私密 Gist",
"failed": "Something went wrong while exporting",
"gist_created": "已创建 Gist", "gist_created": "已创建 Gist",
"require_github": "使用 GitHub 登录以创建私密 Gist", "require_github": "使用 GitHub 登录以创建私密 Gist",
"title": "导出" "title": "导出"
@@ -286,6 +341,9 @@
"subscriptions": "订阅", "subscriptions": "订阅",
"switch_connection": "Switch connection" "switch_connection": "Switch connection"
}, },
"graphql_collections": {
"title": "GraphQL Collections"
},
"group": { "group": {
"time": "时间", "time": "时间",
"url": "网址" "url": "网址"
@@ -297,6 +355,8 @@
}, },
"helpers": { "helpers": {
"authorization": "授权头将会在你发送请求时自动生成。", "authorization": "授权头将会在你发送请求时自动生成。",
"collection_properties_authorization": " This authorization will be set for every request in this collection.",
"collection_properties_header": "This header will be set for every request in this collection.",
"generate_documentation_first": "请先生成文档", "generate_documentation_first": "请先生成文档",
"network_fail": "无法到达 API 端点。请检查网络连接并重试。", "network_fail": "无法到达 API 端点。请检查网络连接并重试。",
"offline": "你似乎处于离线状态,该工作区中的数据可能不是最新。", "offline": "你似乎处于离线状态,该工作区中的数据可能不是最新。",
@@ -316,7 +376,10 @@
"import": { "import": {
"collections": "导入集合", "collections": "导入集合",
"curl": "导入 cURL", "curl": "导入 cURL",
"environments_from_gist": "Import From Gist",
"environments_from_gist_description": "Import Hoppscotch Environments From Gist",
"failed": "导入失败", "failed": "导入失败",
"from_file": "Import from File",
"from_gist": "从 Gist 导入", "from_gist": "从 Gist 导入",
"from_gist_description": "从 Gist URL 导入", "from_gist_description": "从 Gist URL 导入",
"from_insomnia": "从 Insomnia 导入", "from_insomnia": "从 Insomnia 导入",
@@ -331,11 +394,17 @@
"from_postman_description": "从 Postman 集合中导入", "from_postman_description": "从 Postman 集合中导入",
"from_url": "从 URL 导入", "from_url": "从 URL 导入",
"gist_url": "输入 Gist URL", "gist_url": "输入 Gist URL",
"gql_collections_from_gist_description": "Import GraphQL Collections From Gist",
"hoppscotch_environment": "Hoppscotch Environment",
"hoppscotch_environment_description": "Import Hoppscotch Environment JSON file",
"import_from_url_invalid_fetch": "无法从网址取得资料", "import_from_url_invalid_fetch": "无法从网址取得资料",
"import_from_url_invalid_file_format": "导入组合时发生错误", "import_from_url_invalid_file_format": "导入组合时发生错误",
"import_from_url_invalid_type": "不支持此类型。可接受的值为 'hoppscotch'、'openapi'、'postman'、'insomnia'", "import_from_url_invalid_type": "不支持此类型。可接受的值为 'hoppscotch'、'openapi'、'postman'、'insomnia'",
"import_from_url_success": "已导入组合", "import_from_url_success": "已导入组合",
"insomnia_environment_description": "Import Insomnia Environment from a JSON/YAML file",
"json_description": "从 Hoppscotch 的集合文件导入JSON", "json_description": "从 Hoppscotch 的集合文件导入JSON",
"postman_environment": "Postman Environment",
"postman_environment_description": "Import Postman Environment from a JSON file",
"title": "导入" "title": "导入"
}, },
"inspections": { "inspections": {
@@ -373,8 +442,10 @@
"close_unsaved_tab": "有未保存的变更", "close_unsaved_tab": "有未保存的变更",
"collections": "集合", "collections": "集合",
"confirm": "确认", "confirm": "确认",
"customize_request": "Customize Request",
"edit_request": "编辑请求", "edit_request": "编辑请求",
"import_export": "导入/导出" "import_export": "导入/导出",
"share_request": "Share Request"
}, },
"mqtt": { "mqtt": {
"already_subscribed": "您已经订阅了此主题。", "already_subscribed": "您已经订阅了此主题。",
@@ -449,13 +520,14 @@
"structured": "结构", "structured": "结构",
"text": "文字" "text": "文字"
}, },
"copy_link": "复制链接",
"different_collection": "不能对来自不同集合的请求进行重新排序", "different_collection": "不能对来自不同集合的请求进行重新排序",
"duplicated": "重复的请求", "duplicated": "重复的请求",
"duration": "持续时间", "duration": "持续时间",
"enter_curl": "输入 cURL", "enter_curl": "输入 cURL",
"generate_code": "生成代码", "generate_code": "生成代码",
"generated_code": "已生成代码", "generated_code": "已生成代码",
"go_to_authorization_tab": "Go to Authorization tab",
"go_to_body_tab": "Go to Body tab",
"header_list": "请求头列表", "header_list": "请求头列表",
"invalid_name": "请提供请求名称", "invalid_name": "请提供请求名称",
"method": "方法", "method": "方法",
@@ -480,12 +552,14 @@
"saved": "请求已保存", "saved": "请求已保存",
"share": "分享", "share": "分享",
"share_description": "分享 Hoppscotch 给你的朋友", "share_description": "分享 Hoppscotch 给你的朋友",
"share_request": "Share Request",
"stop": "Stop", "stop": "Stop",
"title": "请求", "title": "请求",
"type": "请求类型", "type": "请求类型",
"url": "URL", "url": "URL",
"variables": "变量", "variables": "变量",
"view_my_links": "查看我的链接" "view_my_links": "查看我的链接",
"copy_link": "复制链接"
}, },
"response": { "response": {
"audio": "Audio", "audio": "Audio",
@@ -513,6 +587,7 @@
"account_description": "自定义您的帐户设置。", "account_description": "自定义您的帐户设置。",
"account_email_description": "您的主要电子邮箱地址。", "account_email_description": "您的主要电子邮箱地址。",
"account_name_description": "这是您的显示名称。", "account_name_description": "这是您的显示名称。",
"additional": "Additional Settings",
"background": "背景", "background": "背景",
"black_mode": "黑色", "black_mode": "黑色",
"choose_language": "选择语言", "choose_language": "选择语言",
@@ -559,14 +634,31 @@
"verified_email": "已验证电子邮件地址", "verified_email": "已验证电子邮件地址",
"verify_email": "验证电子邮箱" "verify_email": "验证电子邮箱"
}, },
"shortcodes": { "shared_requests": {
"actions": "操作", "button": "Button",
"created_on": "创建于", "button_info": "Create a 'Run in Hoppscotch' button for your website, blog or a README.",
"deleted": "已刪除快捷键", "copy_html": "Copy HTML",
"method": "方法", "copy_link": "Copy Link",
"not_found": "找不到快捷键", "copy_markdown": "Copy Markdown",
"short_code": "快捷键", "creating_widget": "Creating widget",
"url": "URL" "customize": "Customize",
"deleted": "Shared request deleted",
"description": "Select a widget, you can change and customize this later",
"embed": "Embed",
"embed_info": "Add a mini 'Hoppscotch API Playground' to your website, blog or documentation.",
"link": "Link",
"link_info": "Create a shareable link to share with anyone on the internet with view access.",
"modified": "Shared request modified",
"not_found": "Shared request not found",
"open_new_tab": "Open in new tab",
"preview": "Preview",
"run_in_hoppscotch": "Run in Hoppscotch",
"theme": {
"dark": "Dark",
"light": "Light",
"system": "System",
"title": "Theme"
}
}, },
"shortcut": { "shortcut": {
"general": { "general": {
@@ -596,7 +688,6 @@
"title": "Others" "title": "Others"
}, },
"request": { "request": {
"copy_request_link": "复制请求链接",
"delete_method": "选择 DELETE 方法", "delete_method": "选择 DELETE 方法",
"get_method": "选择 GET 方法", "get_method": "选择 GET 方法",
"head_method": "选择 HEAD 方法", "head_method": "选择 HEAD 方法",
@@ -611,8 +702,10 @@
"save_request": "Save Request", "save_request": "Save Request",
"save_to_collections": "保存到集合", "save_to_collections": "保存到集合",
"send_request": "发送请求", "send_request": "发送请求",
"share_request": "Share Request",
"show_code": "Generate code snippet", "show_code": "Generate code snippet",
"title": "请求" "title": "请求",
"copy_request_link": "复制请求链接"
}, },
"response": { "response": {
"copy": "复制响应至剪贴板", "copy": "复制响应至剪贴板",
@@ -735,6 +828,7 @@
"connection_error": "连接错误", "connection_error": "连接错误",
"connection_failed": "连接失败", "connection_failed": "连接失败",
"connection_lost": "连接丢失", "connection_lost": "连接丢失",
"copied_interface_to_clipboard": "Copied {language} interface type to clipboard",
"copied_to_clipboard": "已复制到剪贴板", "copied_to_clipboard": "已复制到剪贴板",
"deleted": "已删除", "deleted": "已删除",
"deprecated": "已弃用", "deprecated": "已弃用",
@@ -742,10 +836,12 @@
"disconnected": "断开连接", "disconnected": "断开连接",
"disconnected_from": "与 {name} 断开连接", "disconnected_from": "与 {name} 断开连接",
"docs_generated": "已生成文档", "docs_generated": "已生成文档",
"download_failed": "Download failed",
"download_started": "开始下载", "download_started": "开始下载",
"enabled": "启用", "enabled": "启用",
"file_imported": "文件已导入", "file_imported": "文件已导入",
"finished_in": "在 {duration} 毫秒内完成", "finished_in": "在 {duration} 毫秒内完成",
"hide": "Hide",
"history_deleted": "历史记录已删除", "history_deleted": "历史记录已删除",
"linewrap": "换行", "linewrap": "换行",
"loading": "正在加载……", "loading": "正在加载……",
@@ -756,6 +852,7 @@
"published_error": "将信息:{topic}发布至主题:{message}时发生错误", "published_error": "将信息:{topic}发布至主题:{message}时发生错误",
"published_message": "已将此信息:{message} 发布至主题:{topic}", "published_message": "已将此信息:{message} 发布至主题:{topic}",
"reconnection_error": "重连失败", "reconnection_error": "重连失败",
"show": "Show",
"subscribed_failed": "无法订阅此主题:{topic}", "subscribed_failed": "无法订阅此主题:{topic}",
"subscribed_success": "成功订阅此主题:{topic}", "subscribed_success": "成功订阅此主题:{topic}",
"unsubscribed_failed": "无法取消订阅此主题:{topic}", "unsubscribed_failed": "无法取消订阅此主题:{topic}",
@@ -791,6 +888,7 @@
"queries": "查询", "queries": "查询",
"query": "查询", "query": "查询",
"schema": "Schema", "schema": "Schema",
"shared_requests": "Shared Requests",
"socketio": "Socket.IO", "socketio": "Socket.IO",
"sse": "SSE", "sse": "SSE",
"tests": "测试", "tests": "测试",
@@ -807,6 +905,7 @@
"email_do_not_match": "邮箱无法与你的帐户信息匹配。请联系你的团队者。", "email_do_not_match": "邮箱无法与你的帐户信息匹配。请联系你的团队者。",
"exit": "退出团队", "exit": "退出团队",
"exit_disabled": "团队所有者无法退出团队", "exit_disabled": "团队所有者无法退出团队",
"failed_invites": "Failed invites",
"invalid_coll_id": "无效的集合 ID", "invalid_coll_id": "无效的集合 ID",
"invalid_email_format": "电子邮箱格式无效", "invalid_email_format": "电子邮箱格式无效",
"invalid_id": "无效的团队 ID请联系你的团队者。", "invalid_id": "无效的团队 ID请联系你的团队者。",
@@ -848,6 +947,7 @@
"same_target_destination": "目标相同", "same_target_destination": "目标相同",
"saved": "团队已保存", "saved": "团队已保存",
"select_a_team": "选择团队", "select_a_team": "选择团队",
"success_invites": "Success invites",
"title": "团队", "title": "团队",
"we_sent_invite_link": "我们向所有受邀者发送了邀请链接!", "we_sent_invite_link": "我们向所有受邀者发送了邀请链接!",
"we_sent_invite_link_description": "请所有受邀者检查他们的收件箱,点击链接以加入团队。" "we_sent_invite_link_description": "请所有受邀者检查他们的收件箱,点击链接以加入团队。"
@@ -879,5 +979,14 @@
"personal": "我的工作空间", "personal": "我的工作空间",
"team": "团队工作空间", "team": "团队工作空间",
"title": "工作空间" "title": "工作空间"
},
"shortcodes": {
"actions": "操作",
"created_on": "创建于",
"deleted": "已刪除快捷键",
"method": "方法",
"not_found": "找不到快捷键",
"short_code": "快捷键",
"url": "URL"
} }
} }

View File

@@ -1,5 +1,6 @@
{ {
"action": { "action": {
"add": "Add",
"autoscroll": "Autoscroll", "autoscroll": "Autoscroll",
"cancel": "zrušení", "cancel": "zrušení",
"choose_file": "Vyberte soubor", "choose_file": "Vyberte soubor",
@@ -10,6 +11,7 @@
"connect": "Připojit", "connect": "Připojit",
"connecting": "Connecting", "connecting": "Connecting",
"copy": "kopírovat", "copy": "kopírovat",
"create": "Create",
"delete": "Vymazat", "delete": "Vymazat",
"disconnect": "Odpojit", "disconnect": "Odpojit",
"dismiss": "Zavrhnout", "dismiss": "Zavrhnout",
@@ -31,6 +33,7 @@
"open_workspace": "Open workspace", "open_workspace": "Open workspace",
"paste": "Paste", "paste": "Paste",
"prettify": "Prettify", "prettify": "Prettify",
"properties": "Properties",
"remove": "Odstranit", "remove": "Odstranit",
"rename": "Rename", "rename": "Rename",
"restore": "Obnovit", "restore": "Obnovit",
@@ -39,6 +42,7 @@
"scroll_to_top": "Scroll to top", "scroll_to_top": "Scroll to top",
"search": "Vyhledávání", "search": "Vyhledávání",
"send": "Poslat", "send": "Poslat",
"share": "Share",
"start": "Start", "start": "Start",
"starting": "Starting", "starting": "Starting",
"stop": "Stop", "stop": "Stop",
@@ -57,7 +61,9 @@
"app": { "app": {
"chat_with_us": "piš si s námi", "chat_with_us": "piš si s námi",
"contact_us": "Kontaktujte nás", "contact_us": "Kontaktujte nás",
"cookies": "Cookies",
"copy": "kopírovat", "copy": "kopírovat",
"copy_interface_type": "Copy interface type",
"copy_user_id": "Copy User Auth Token", "copy_user_id": "Copy User Auth Token",
"developer_option": "Developer options", "developer_option": "Developer options",
"developer_option_description": "Developer tools which helps in development and maintenance of Hoppscotch.", "developer_option_description": "Developer tools which helps in development and maintenance of Hoppscotch.",
@@ -73,6 +79,7 @@
"keyboard_shortcuts": "Klávesové zkratky", "keyboard_shortcuts": "Klávesové zkratky",
"name": "Hoppscotch", "name": "Hoppscotch",
"new_version_found": "Nalezena nová verze. Aktualizujte aktualizací.", "new_version_found": "Nalezena nová verze. Aktualizujte aktualizací.",
"open_in_hoppscotch": "Open in Hoppscotch",
"options": "Options", "options": "Options",
"proxy_privacy_policy": "Zásady ochrany osobních údajů proxy", "proxy_privacy_policy": "Zásady ochrany osobních údajů proxy",
"reload": "Znovu načíst", "reload": "Znovu načíst",
@@ -112,10 +119,27 @@
}, },
"authorization": { "authorization": {
"generate_token": "Generovat token", "generate_token": "Generovat token",
"graphql_headers": "Authorization Headers are sent as part of the payload to connection_init",
"include_in_url": "Zahrnout do adresy URL", "include_in_url": "Zahrnout do adresy URL",
"inherited_from": "Inherited from {auth} from Parent Collection {collection} ",
"learn": "Zjistěte jak", "learn": "Zjistěte jak",
"oauth": {
"redirect_auth_server_returned_error": "Auth Server returned an error state",
"redirect_auth_token_request_failed": "Request to get the auth token failed",
"redirect_auth_token_request_invalid_response": "Invalid Response from the Token Endpoint when requesting for an auth token",
"redirect_invalid_state": "Invalid State value present in the redirect",
"redirect_no_auth_code": "No Authorization Code present in the redirect",
"redirect_no_client_id": "No Client ID defined",
"redirect_no_client_secret": "No Client Secret Defined",
"redirect_no_code_verifier": "No Code Verifier Defined",
"redirect_no_token_endpoint": "No Token Endpoint Defined",
"something_went_wrong_on_oauth_redirect": "Something went wrong during OAuth Redirect",
"something_went_wrong_on_token_generation": "Something went wrong on token generation",
"token_generation_oidc_discovery_failed": "Failure on token generation: OpenID Connect Discovery Failed"
},
"pass_key_by": "Pass by", "pass_key_by": "Pass by",
"password": "Heslo", "password": "Heslo",
"save_to_inherit": "Please save this request in any collection to inherit the authorization",
"token": "Žeton", "token": "Žeton",
"type": "Typ autorizace", "type": "Typ autorizace",
"username": "Uživatelské jméno" "username": "Uživatelské jméno"
@@ -124,6 +148,7 @@
"created": "Kolekce vytvořena", "created": "Kolekce vytvořena",
"different_parent": "Cannot reorder collection with different parent", "different_parent": "Cannot reorder collection with different parent",
"edit": "Upravit sbírku", "edit": "Upravit sbírku",
"import_or_create": "Import or create a collection",
"invalid_name": "Uveďte prosím platný název kolekce", "invalid_name": "Uveďte prosím platný název kolekce",
"invalid_root_move": "Collection already in the root", "invalid_root_move": "Collection already in the root",
"moved": "Moved Successfully", "moved": "Moved Successfully",
@@ -132,6 +157,8 @@
"name_length_insufficient": "Collection name should be at least 3 characters long", "name_length_insufficient": "Collection name should be at least 3 characters long",
"new": "Nová kolekce", "new": "Nová kolekce",
"order_changed": "Collection Order Updated", "order_changed": "Collection Order Updated",
"properties": "Collection Properties",
"properties_updated": "Collection Properties Updated",
"renamed": "Sbírka přejmenována", "renamed": "Sbírka přejmenována",
"request_in_use": "Request in use", "request_in_use": "Request in use",
"save_as": "Uložit jako", "save_as": "Uložit jako",
@@ -151,6 +178,7 @@
"remove_folder": "Opravdu chcete tuto složku trvale smazat?", "remove_folder": "Opravdu chcete tuto složku trvale smazat?",
"remove_history": "Opravdu chcete trvale smazat celou historii?", "remove_history": "Opravdu chcete trvale smazat celou historii?",
"remove_request": "Opravdu chcete tento požadavek trvale smazat?", "remove_request": "Opravdu chcete tento požadavek trvale smazat?",
"remove_shared_request": "Are you sure you want to permanently delete this shared request?",
"remove_team": "Opravdu chcete tento tým smazat?", "remove_team": "Opravdu chcete tento tým smazat?",
"remove_telemetry": "Opravdu se chcete odhlásit z telemetrie?", "remove_telemetry": "Opravdu se chcete odhlásit z telemetrie?",
"request_change": "Are you sure you want to discard current request, unsaved changes will be lost.", "request_change": "Are you sure you want to discard current request, unsaved changes will be lost.",
@@ -162,6 +190,24 @@
"open_request_in_new_tab": "Open request in new tab", "open_request_in_new_tab": "Open request in new tab",
"set_environment_variable": "Set as variable" "set_environment_variable": "Set as variable"
}, },
"cookies": {
"modal": {
"cookie_expires": "Expires",
"cookie_name": "Name",
"cookie_path": "Path",
"cookie_string": "Cookie string",
"cookie_value": "Value",
"empty_domain": "Domain is empty",
"empty_domains": "Domain list is empty",
"enter_cookie_string": "Enter cookie string",
"interceptor_no_support": "Your currently selected interceptor does not support cookies. Select a different Interceptor and try again.",
"managed_tab": "Managed",
"new_domain_name": "New domain name",
"no_cookies_in_domain": "No cookies set for this domain",
"raw_tab": "Raw",
"set": "Set a cookie"
}
},
"count": { "count": {
"header": "Záhlaví {count}", "header": "Záhlaví {count}",
"message": "Zpráva {count}", "message": "Zpráva {count}",
@@ -192,11 +238,13 @@
"profile": "Login to view your profile", "profile": "Login to view your profile",
"protocols": "Protokoly jsou prázdné", "protocols": "Protokoly jsou prázdné",
"schema": "Připojte se ke koncovému bodu GraphQL", "schema": "Připojte se ke koncovému bodu GraphQL",
"shortcodes": "Shortcodes are empty", "shared_requests": "Shared requests are empty",
"shared_requests_logout": "Login to view your shared requests or create a new one",
"subscription": "Subscriptions are empty", "subscription": "Subscriptions are empty",
"team_name": "Název týmu prázdný", "team_name": "Název týmu prázdný",
"teams": "Týmy jsou prázdné", "teams": "Týmy jsou prázdné",
"tests": "Pro tento požadavek neexistují žádné testy" "tests": "Pro tento požadavek neexistují žádné testy",
"shortcodes": "Shortcodes are empty"
}, },
"environment": { "environment": {
"add_to_global": "Add to Global", "add_to_global": "Add to Global",
@@ -209,6 +257,7 @@
"empty_variables": "No variables", "empty_variables": "No variables",
"global": "Global", "global": "Global",
"global_variables": "Global variables", "global_variables": "Global variables",
"import_or_create": "Import or create a environment",
"invalid_name": "Zadejte platný název prostředí", "invalid_name": "Zadejte platný název prostředí",
"list": "Environment variables", "list": "Environment variables",
"my_environments": "My Environments", "my_environments": "My Environments",
@@ -232,8 +281,10 @@
"variable_list": "Seznam proměnných" "variable_list": "Seznam proměnných"
}, },
"error": { "error": {
"authproviders_load_error": "Unable to load auth providers",
"browser_support_sse": "Zdá se, že tento prohlížeč nemá podporu událostí odeslaných serverem.", "browser_support_sse": "Zdá se, že tento prohlížeč nemá podporu událostí odeslaných serverem.",
"check_console_details": "Podrobnosti najdete v protokolu konzoly.", "check_console_details": "Podrobnosti najdete v protokolu konzoly.",
"check_how_to_add_origin": "Check how you can add an origin",
"curl_invalid_format": "cURL nemá správný formát", "curl_invalid_format": "cURL nemá správný formát",
"danger_zone": "Danger zone", "danger_zone": "Danger zone",
"delete_account": "Your account is currently an owner in these teams:", "delete_account": "Your account is currently an owner in these teams:",
@@ -249,9 +300,12 @@
"json_prettify_invalid_body": "Nelze předtifikovat neplatné tělo, vyřešit chyby syntaxe json a zkusit to znovu", "json_prettify_invalid_body": "Nelze předtifikovat neplatné tělo, vyřešit chyby syntaxe json a zkusit to znovu",
"network_error": "There seems to be a network error. Please try again.", "network_error": "There seems to be a network error. Please try again.",
"network_fail": "Žádost nelze odeslat", "network_fail": "Žádost nelze odeslat",
"no_collections_to_export": "No collections to export. Please create a collection to get started.",
"no_duration": "Žádné trvání", "no_duration": "Žádné trvání",
"no_environments_to_export": "No environments to export. Please create an environment to get started.",
"no_results_found": "No matches found", "no_results_found": "No matches found",
"page_not_found": "This page could not be found", "page_not_found": "This page could not be found",
"please_install_extension": "Please install the extension and add origin to the extension.",
"proxy_error": "Proxy error", "proxy_error": "Proxy error",
"script_fail": "Skript předběžného požadavku nelze spustit", "script_fail": "Skript předběžného požadavku nelze spustit",
"something_went_wrong": "Něco se pokazilo", "something_went_wrong": "Něco se pokazilo",
@@ -260,6 +314,7 @@
"export": { "export": {
"as_json": "Exportovat jako JSON", "as_json": "Exportovat jako JSON",
"create_secret_gist": "Vytvořte tajnou podstatu", "create_secret_gist": "Vytvořte tajnou podstatu",
"failed": "Something went wrong while exporting",
"gist_created": "Podstata vytvořena", "gist_created": "Podstata vytvořena",
"require_github": "Přihlaste se pomocí GitHub a vytvořte tajný seznam", "require_github": "Přihlaste se pomocí GitHub a vytvořte tajný seznam",
"title": "Export" "title": "Export"
@@ -286,6 +341,9 @@
"subscriptions": "Předplatné", "subscriptions": "Předplatné",
"switch_connection": "Switch connection" "switch_connection": "Switch connection"
}, },
"graphql_collections": {
"title": "GraphQL Collections"
},
"group": { "group": {
"time": "Time", "time": "Time",
"url": "URL" "url": "URL"
@@ -297,6 +355,8 @@
}, },
"helpers": { "helpers": {
"authorization": "Autorizační hlavička se automaticky vygeneruje při odeslání požadavku.", "authorization": "Autorizační hlavička se automaticky vygeneruje při odeslání požadavku.",
"collection_properties_authorization": " This authorization will be set for every request in this collection.",
"collection_properties_header": "This header will be set for every request in this collection.",
"generate_documentation_first": "Nejprve vytvořte dokumentaci", "generate_documentation_first": "Nejprve vytvořte dokumentaci",
"network_fail": "Nelze dosáhnout koncového bodu API. Zkontrolujte připojení k síti a zkuste to znovu.", "network_fail": "Nelze dosáhnout koncového bodu API. Zkontrolujte připojení k síti a zkuste to znovu.",
"offline": "Zdá se, že jste offline. Data v tomto pracovním prostoru nemusí být aktuální.", "offline": "Zdá se, že jste offline. Data v tomto pracovním prostoru nemusí být aktuální.",
@@ -316,7 +376,10 @@
"import": { "import": {
"collections": "Import sbírek", "collections": "Import sbírek",
"curl": "Importovat cURL", "curl": "Importovat cURL",
"environments_from_gist": "Import From Gist",
"environments_from_gist_description": "Import Hoppscotch Environments From Gist",
"failed": "Import se nezdařil", "failed": "Import se nezdařil",
"from_file": "Import from File",
"from_gist": "Import z Gist", "from_gist": "Import z Gist",
"from_gist_description": "Import from Gist URL", "from_gist_description": "Import from Gist URL",
"from_insomnia": "Import from Insomnia", "from_insomnia": "Import from Insomnia",
@@ -331,11 +394,17 @@
"from_postman_description": "Import from Postman collection", "from_postman_description": "Import from Postman collection",
"from_url": "Import from URL", "from_url": "Import from URL",
"gist_url": "Zadejte URL adresy", "gist_url": "Zadejte URL adresy",
"gql_collections_from_gist_description": "Import GraphQL Collections From Gist",
"hoppscotch_environment": "Hoppscotch Environment",
"hoppscotch_environment_description": "Import Hoppscotch Environment JSON file",
"import_from_url_invalid_fetch": "Couldn't get data from the url", "import_from_url_invalid_fetch": "Couldn't get data from the url",
"import_from_url_invalid_file_format": "Error while importing collections", "import_from_url_invalid_file_format": "Error while importing collections",
"import_from_url_invalid_type": "Unsupported type. accepted values are 'hoppscotch', 'openapi', 'postman', 'insomnia'", "import_from_url_invalid_type": "Unsupported type. accepted values are 'hoppscotch', 'openapi', 'postman', 'insomnia'",
"import_from_url_success": "Collections Imported", "import_from_url_success": "Collections Imported",
"insomnia_environment_description": "Import Insomnia Environment from a JSON/YAML file",
"json_description": "Import collections from a Hoppscotch Collections JSON file", "json_description": "Import collections from a Hoppscotch Collections JSON file",
"postman_environment": "Postman Environment",
"postman_environment_description": "Import Postman Environment from a JSON file",
"title": "Import" "title": "Import"
}, },
"inspections": { "inspections": {
@@ -373,8 +442,10 @@
"close_unsaved_tab": "You have unsaved changes", "close_unsaved_tab": "You have unsaved changes",
"collections": "Sbírky", "collections": "Sbírky",
"confirm": "Potvrdit", "confirm": "Potvrdit",
"customize_request": "Customize Request",
"edit_request": "Upravit požadavek", "edit_request": "Upravit požadavek",
"import_export": "Import Export" "import_export": "Import Export",
"share_request": "Share Request"
}, },
"mqtt": { "mqtt": {
"already_subscribed": "You are already subscribed to this topic.", "already_subscribed": "You are already subscribed to this topic.",
@@ -449,13 +520,14 @@
"structured": "Structured", "structured": "Structured",
"text": "Text" "text": "Text"
}, },
"copy_link": "Kopírovat odkaz",
"different_collection": "Cannot reorder requests from different collections", "different_collection": "Cannot reorder requests from different collections",
"duplicated": "Request duplicated", "duplicated": "Request duplicated",
"duration": "Doba trvání", "duration": "Doba trvání",
"enter_curl": "Zadejte cURL", "enter_curl": "Zadejte cURL",
"generate_code": "Vygenerujte kód", "generate_code": "Vygenerujte kód",
"generated_code": "Generovaný kód", "generated_code": "Generovaný kód",
"go_to_authorization_tab": "Go to Authorization tab",
"go_to_body_tab": "Go to Body tab",
"header_list": "Seznam záhlaví", "header_list": "Seznam záhlaví",
"invalid_name": "Uveďte prosím název žádosti", "invalid_name": "Uveďte prosím název žádosti",
"method": "Metoda", "method": "Metoda",
@@ -480,12 +552,14 @@
"saved": "Žádost uložena", "saved": "Žádost uložena",
"share": "Podíl", "share": "Podíl",
"share_description": "Share Hoppscotch with your friends", "share_description": "Share Hoppscotch with your friends",
"share_request": "Share Request",
"stop": "Stop", "stop": "Stop",
"title": "Žádost", "title": "Žádost",
"type": "Typ požadavku", "type": "Typ požadavku",
"url": "URL", "url": "URL",
"variables": "Proměnné", "variables": "Proměnné",
"view_my_links": "View my links" "view_my_links": "View my links",
"copy_link": "Kopírovat odkaz"
}, },
"response": { "response": {
"audio": "Audio", "audio": "Audio",
@@ -513,6 +587,7 @@
"account_description": "Přizpůsobte si nastavení účtu.", "account_description": "Přizpůsobte si nastavení účtu.",
"account_email_description": "Vaše primární e -mailová adresa.", "account_email_description": "Vaše primární e -mailová adresa.",
"account_name_description": "Toto je vaše zobrazované jméno.", "account_name_description": "Toto je vaše zobrazované jméno.",
"additional": "Additional Settings",
"background": "Pozadí", "background": "Pozadí",
"black_mode": "Černá", "black_mode": "Černá",
"choose_language": "Vyber jazyk", "choose_language": "Vyber jazyk",
@@ -559,14 +634,31 @@
"verified_email": "Verified email", "verified_email": "Verified email",
"verify_email": "Verify email" "verify_email": "Verify email"
}, },
"shortcodes": { "shared_requests": {
"actions": "Actions", "button": "Button",
"created_on": "Created on", "button_info": "Create a 'Run in Hoppscotch' button for your website, blog or a README.",
"deleted": "Shortcode deleted", "copy_html": "Copy HTML",
"method": "Method", "copy_link": "Copy Link",
"not_found": "Shortcode not found", "copy_markdown": "Copy Markdown",
"short_code": "Short code", "creating_widget": "Creating widget",
"url": "URL" "customize": "Customize",
"deleted": "Shared request deleted",
"description": "Select a widget, you can change and customize this later",
"embed": "Embed",
"embed_info": "Add a mini 'Hoppscotch API Playground' to your website, blog or documentation.",
"link": "Link",
"link_info": "Create a shareable link to share with anyone on the internet with view access.",
"modified": "Shared request modified",
"not_found": "Shared request not found",
"open_new_tab": "Open in new tab",
"preview": "Preview",
"run_in_hoppscotch": "Run in Hoppscotch",
"theme": {
"dark": "Dark",
"light": "Light",
"system": "System",
"title": "Theme"
}
}, },
"shortcut": { "shortcut": {
"general": { "general": {
@@ -596,7 +688,6 @@
"title": "Others" "title": "Others"
}, },
"request": { "request": {
"copy_request_link": "Kopírovat požadavek na odkaz",
"delete_method": "Vyberte metodu ODSTRANIT", "delete_method": "Vyberte metodu ODSTRANIT",
"get_method": "Vyberte metodu ZÍSKAT", "get_method": "Vyberte metodu ZÍSKAT",
"head_method": "Vyberte metodu HEAD", "head_method": "Vyberte metodu HEAD",
@@ -611,8 +702,10 @@
"save_request": "Save Request", "save_request": "Save Request",
"save_to_collections": "Uložit do sbírek", "save_to_collections": "Uložit do sbírek",
"send_request": "Poslat žádost", "send_request": "Poslat žádost",
"share_request": "Share Request",
"show_code": "Generate code snippet", "show_code": "Generate code snippet",
"title": "Žádost" "title": "Žádost",
"copy_request_link": "Kopírovat požadavek na odkaz"
}, },
"response": { "response": {
"copy": "Copy response to clipboard", "copy": "Copy response to clipboard",
@@ -735,6 +828,7 @@
"connection_error": "Failed to connect", "connection_error": "Failed to connect",
"connection_failed": "Connection failed", "connection_failed": "Connection failed",
"connection_lost": "Connection lost", "connection_lost": "Connection lost",
"copied_interface_to_clipboard": "Copied {language} interface type to clipboard",
"copied_to_clipboard": "Zkopírováno do schránky", "copied_to_clipboard": "Zkopírováno do schránky",
"deleted": "Smazáno", "deleted": "Smazáno",
"deprecated": "ZASTARALÉ", "deprecated": "ZASTARALÉ",
@@ -742,10 +836,12 @@
"disconnected": "Odpojeno", "disconnected": "Odpojeno",
"disconnected_from": "Odpojeno od {name}", "disconnected_from": "Odpojeno od {name}",
"docs_generated": "Vygenerovaná dokumentace", "docs_generated": "Vygenerovaná dokumentace",
"download_failed": "Download failed",
"download_started": "Stahování zahájeno", "download_started": "Stahování zahájeno",
"enabled": "Povoleno", "enabled": "Povoleno",
"file_imported": "Soubor importován", "file_imported": "Soubor importován",
"finished_in": "Hotovo za {duration} ms", "finished_in": "Hotovo za {duration} ms",
"hide": "Hide",
"history_deleted": "Historie odstraněna", "history_deleted": "Historie odstraněna",
"linewrap": "Zabalit linky", "linewrap": "Zabalit linky",
"loading": "Načítání...", "loading": "Načítání...",
@@ -756,6 +852,7 @@
"published_error": "Something went wrong while publishing msg: {topic} to topic: {message}", "published_error": "Something went wrong while publishing msg: {topic} to topic: {message}",
"published_message": "Published message: {message} to topic: {topic}", "published_message": "Published message: {message} to topic: {topic}",
"reconnection_error": "Failed to reconnect", "reconnection_error": "Failed to reconnect",
"show": "Show",
"subscribed_failed": "Failed to subscribe to topic: {topic}", "subscribed_failed": "Failed to subscribe to topic: {topic}",
"subscribed_success": "Successfully subscribed to topic: {topic}", "subscribed_success": "Successfully subscribed to topic: {topic}",
"unsubscribed_failed": "Failed to unsubscribe from topic: {topic}", "unsubscribed_failed": "Failed to unsubscribe from topic: {topic}",
@@ -791,6 +888,7 @@
"queries": "Dotazy", "queries": "Dotazy",
"query": "Dotaz", "query": "Dotaz",
"schema": "Schema", "schema": "Schema",
"shared_requests": "Shared Requests",
"socketio": "Socket.IO", "socketio": "Socket.IO",
"sse": "SSE", "sse": "SSE",
"tests": "Testy", "tests": "Testy",
@@ -807,6 +905,7 @@
"email_do_not_match": "Email doesn't match with your account details. Contact your team owner.", "email_do_not_match": "Email doesn't match with your account details. Contact your team owner.",
"exit": "Ukončete tým", "exit": "Ukončete tým",
"exit_disabled": "Pouze vlastník nemůže opustit tým", "exit_disabled": "Pouze vlastník nemůže opustit tým",
"failed_invites": "Failed invites",
"invalid_coll_id": "Invalid collection ID", "invalid_coll_id": "Invalid collection ID",
"invalid_email_format": "Formát e -mailu je neplatný", "invalid_email_format": "Formát e -mailu je neplatný",
"invalid_id": "Invalid team ID. Contact your team owner.", "invalid_id": "Invalid team ID. Contact your team owner.",
@@ -848,6 +947,7 @@
"same_target_destination": "Same target and destination", "same_target_destination": "Same target and destination",
"saved": "Tým uložen", "saved": "Tým uložen",
"select_a_team": "Select a team", "select_a_team": "Select a team",
"success_invites": "Success invites",
"title": "Týmy", "title": "Týmy",
"we_sent_invite_link": "We sent an invite link to all invitees!", "we_sent_invite_link": "We sent an invite link to all invitees!",
"we_sent_invite_link_description": "Ask all invitees to check their inbox. Click on the link to join the team." "we_sent_invite_link_description": "Ask all invitees to check their inbox. Click on the link to join the team."
@@ -879,5 +979,14 @@
"personal": "My Workspace", "personal": "My Workspace",
"team": "Team Workspace", "team": "Team Workspace",
"title": "Workspaces" "title": "Workspaces"
},
"shortcodes": {
"actions": "Actions",
"created_on": "Created on",
"deleted": "Shortcode deleted",
"method": "Method",
"not_found": "Shortcode not found",
"short_code": "Short code",
"url": "URL"
} }
} }

View File

@@ -1,5 +1,6 @@
{ {
"action": { "action": {
"add": "Add",
"autoscroll": "Autoscroll", "autoscroll": "Autoscroll",
"cancel": "Afbestille", "cancel": "Afbestille",
"choose_file": "Vælg en fil", "choose_file": "Vælg en fil",
@@ -10,6 +11,7 @@
"connect": "Opret forbindelse", "connect": "Opret forbindelse",
"connecting": "Connecting", "connecting": "Connecting",
"copy": "Kopi", "copy": "Kopi",
"create": "Create",
"delete": "Slet", "delete": "Slet",
"disconnect": "Koble fra", "disconnect": "Koble fra",
"dismiss": "Afskedige", "dismiss": "Afskedige",
@@ -31,6 +33,7 @@
"open_workspace": "Open workspace", "open_workspace": "Open workspace",
"paste": "Paste", "paste": "Paste",
"prettify": "Prettify", "prettify": "Prettify",
"properties": "Properties",
"remove": "Fjerne", "remove": "Fjerne",
"rename": "Rename", "rename": "Rename",
"restore": "Gendan", "restore": "Gendan",
@@ -39,6 +42,7 @@
"scroll_to_top": "Scroll to top", "scroll_to_top": "Scroll to top",
"search": "Søg", "search": "Søg",
"send": "Sende", "send": "Sende",
"share": "Share",
"start": "Start", "start": "Start",
"starting": "Starting", "starting": "Starting",
"stop": "Hold op", "stop": "Hold op",
@@ -57,7 +61,9 @@
"app": { "app": {
"chat_with_us": "Chat med os", "chat_with_us": "Chat med os",
"contact_us": "Kontakt os", "contact_us": "Kontakt os",
"cookies": "Cookies",
"copy": "Kopi", "copy": "Kopi",
"copy_interface_type": "Copy interface type",
"copy_user_id": "Copy User Auth Token", "copy_user_id": "Copy User Auth Token",
"developer_option": "Developer options", "developer_option": "Developer options",
"developer_option_description": "Developer tools which helps in development and maintenance of Hoppscotch.", "developer_option_description": "Developer tools which helps in development and maintenance of Hoppscotch.",
@@ -73,6 +79,7 @@
"keyboard_shortcuts": "Tastaturgenveje", "keyboard_shortcuts": "Tastaturgenveje",
"name": "Hoppscotch", "name": "Hoppscotch",
"new_version_found": "Ny version fundet. Opdater for at opdatere.", "new_version_found": "Ny version fundet. Opdater for at opdatere.",
"open_in_hoppscotch": "Open in Hoppscotch",
"options": "Options", "options": "Options",
"proxy_privacy_policy": "Politik til beskyttelse af personlige oplysninger i proxy", "proxy_privacy_policy": "Politik til beskyttelse af personlige oplysninger i proxy",
"reload": "Genindlæs", "reload": "Genindlæs",
@@ -112,10 +119,27 @@
}, },
"authorization": { "authorization": {
"generate_token": "Generer Token", "generate_token": "Generer Token",
"graphql_headers": "Authorization Headers are sent as part of the payload to connection_init",
"include_in_url": "Inkluder i URL", "include_in_url": "Inkluder i URL",
"inherited_from": "Inherited from {auth} from Parent Collection {collection} ",
"learn": "Lær hvordan", "learn": "Lær hvordan",
"oauth": {
"redirect_auth_server_returned_error": "Auth Server returned an error state",
"redirect_auth_token_request_failed": "Request to get the auth token failed",
"redirect_auth_token_request_invalid_response": "Invalid Response from the Token Endpoint when requesting for an auth token",
"redirect_invalid_state": "Invalid State value present in the redirect",
"redirect_no_auth_code": "No Authorization Code present in the redirect",
"redirect_no_client_id": "No Client ID defined",
"redirect_no_client_secret": "No Client Secret Defined",
"redirect_no_code_verifier": "No Code Verifier Defined",
"redirect_no_token_endpoint": "No Token Endpoint Defined",
"something_went_wrong_on_oauth_redirect": "Something went wrong during OAuth Redirect",
"something_went_wrong_on_token_generation": "Something went wrong on token generation",
"token_generation_oidc_discovery_failed": "Failure on token generation: OpenID Connect Discovery Failed"
},
"pass_key_by": "Pass by", "pass_key_by": "Pass by",
"password": "Adgangskode", "password": "Adgangskode",
"save_to_inherit": "Please save this request in any collection to inherit the authorization",
"token": "Polet", "token": "Polet",
"type": "Godkendelse Type", "type": "Godkendelse Type",
"username": "Brugernavn" "username": "Brugernavn"
@@ -124,6 +148,7 @@
"created": "Samlingen er oprettet", "created": "Samlingen er oprettet",
"different_parent": "Cannot reorder collection with different parent", "different_parent": "Cannot reorder collection with different parent",
"edit": "Rediger samling", "edit": "Rediger samling",
"import_or_create": "Import or create a collection",
"invalid_name": "Angiv et gyldigt navn til samlingen", "invalid_name": "Angiv et gyldigt navn til samlingen",
"invalid_root_move": "Collection already in the root", "invalid_root_move": "Collection already in the root",
"moved": "Moved Successfully", "moved": "Moved Successfully",
@@ -132,6 +157,8 @@
"name_length_insufficient": "Collection name should be at least 3 characters long", "name_length_insufficient": "Collection name should be at least 3 characters long",
"new": "Ny kollektion", "new": "Ny kollektion",
"order_changed": "Collection Order Updated", "order_changed": "Collection Order Updated",
"properties": "Collection Properties",
"properties_updated": "Collection Properties Updated",
"renamed": "Samling omdøbt", "renamed": "Samling omdøbt",
"request_in_use": "Request in use", "request_in_use": "Request in use",
"save_as": "Gem som", "save_as": "Gem som",
@@ -151,6 +178,7 @@
"remove_folder": "Er du sikker på, at du vil slette denne mappe permanent?", "remove_folder": "Er du sikker på, at du vil slette denne mappe permanent?",
"remove_history": "Er du sikker på, at du vil slette hele historikken permanent?", "remove_history": "Er du sikker på, at du vil slette hele historikken permanent?",
"remove_request": "Er du sikker på, at du vil slette denne anmodning permanent?", "remove_request": "Er du sikker på, at du vil slette denne anmodning permanent?",
"remove_shared_request": "Are you sure you want to permanently delete this shared request?",
"remove_team": "Er du sikker på, at du vil slette dette hold?", "remove_team": "Er du sikker på, at du vil slette dette hold?",
"remove_telemetry": "Er du sikker på, at du vil fravælge telemetri?", "remove_telemetry": "Er du sikker på, at du vil fravælge telemetri?",
"request_change": "Are you sure you want to discard current request, unsaved changes will be lost.", "request_change": "Are you sure you want to discard current request, unsaved changes will be lost.",
@@ -162,6 +190,24 @@
"open_request_in_new_tab": "Open request in new tab", "open_request_in_new_tab": "Open request in new tab",
"set_environment_variable": "Set as variable" "set_environment_variable": "Set as variable"
}, },
"cookies": {
"modal": {
"cookie_expires": "Expires",
"cookie_name": "Name",
"cookie_path": "Path",
"cookie_string": "Cookie string",
"cookie_value": "Value",
"empty_domain": "Domain is empty",
"empty_domains": "Domain list is empty",
"enter_cookie_string": "Enter cookie string",
"interceptor_no_support": "Your currently selected interceptor does not support cookies. Select a different Interceptor and try again.",
"managed_tab": "Managed",
"new_domain_name": "New domain name",
"no_cookies_in_domain": "No cookies set for this domain",
"raw_tab": "Raw",
"set": "Set a cookie"
}
},
"count": { "count": {
"header": "Overskrift {count}", "header": "Overskrift {count}",
"message": "Besked {count}", "message": "Besked {count}",
@@ -192,11 +238,13 @@
"profile": "Login to view your profile", "profile": "Login to view your profile",
"protocols": "Protokoller er tomme", "protocols": "Protokoller er tomme",
"schema": "Opret forbindelse til et GraphQL -slutpunkt", "schema": "Opret forbindelse til et GraphQL -slutpunkt",
"shortcodes": "Shortcodes are empty", "shared_requests": "Shared requests are empty",
"shared_requests_logout": "Login to view your shared requests or create a new one",
"subscription": "Subscriptions are empty", "subscription": "Subscriptions are empty",
"team_name": "Teamnavn er tomt", "team_name": "Teamnavn er tomt",
"teams": "Hold er tomme", "teams": "Hold er tomme",
"tests": "Der er ingen test for denne anmodning" "tests": "Der er ingen test for denne anmodning",
"shortcodes": "Shortcodes are empty"
}, },
"environment": { "environment": {
"add_to_global": "Add to Global", "add_to_global": "Add to Global",
@@ -209,6 +257,7 @@
"empty_variables": "No variables", "empty_variables": "No variables",
"global": "Global", "global": "Global",
"global_variables": "Global variables", "global_variables": "Global variables",
"import_or_create": "Import or create a environment",
"invalid_name": "Angiv et gyldigt navn på miljøet", "invalid_name": "Angiv et gyldigt navn på miljøet",
"list": "Environment variables", "list": "Environment variables",
"my_environments": "My Environments", "my_environments": "My Environments",
@@ -232,8 +281,10 @@
"variable_list": "Variabel liste" "variable_list": "Variabel liste"
}, },
"error": { "error": {
"authproviders_load_error": "Unable to load auth providers",
"browser_support_sse": "Det ser ikke ud til, at denne browser understøtter Server Sent Events.", "browser_support_sse": "Det ser ikke ud til, at denne browser understøtter Server Sent Events.",
"check_console_details": "Tjek konsollog for at få flere oplysninger.", "check_console_details": "Tjek konsollog for at få flere oplysninger.",
"check_how_to_add_origin": "Check how you can add an origin",
"curl_invalid_format": "cURL er ikke formateret korrekt", "curl_invalid_format": "cURL er ikke formateret korrekt",
"danger_zone": "Danger zone", "danger_zone": "Danger zone",
"delete_account": "Your account is currently an owner in these teams:", "delete_account": "Your account is currently an owner in these teams:",
@@ -249,9 +300,12 @@
"json_prettify_invalid_body": "Kunne ikke pryde et ugyldigt brødtekst, løse json -syntaksfejl og prøve igen", "json_prettify_invalid_body": "Kunne ikke pryde et ugyldigt brødtekst, løse json -syntaksfejl og prøve igen",
"network_error": "There seems to be a network error. Please try again.", "network_error": "There seems to be a network error. Please try again.",
"network_fail": "Anmodningen kunne ikke sendes", "network_fail": "Anmodningen kunne ikke sendes",
"no_collections_to_export": "No collections to export. Please create a collection to get started.",
"no_duration": "Ingen varighed", "no_duration": "Ingen varighed",
"no_environments_to_export": "No environments to export. Please create an environment to get started.",
"no_results_found": "No matches found", "no_results_found": "No matches found",
"page_not_found": "This page could not be found", "page_not_found": "This page could not be found",
"please_install_extension": "Please install the extension and add origin to the extension.",
"proxy_error": "Proxy error", "proxy_error": "Proxy error",
"script_fail": "Kunne ikke udføre pre-request script", "script_fail": "Kunne ikke udføre pre-request script",
"something_went_wrong": "Noget gik galt", "something_went_wrong": "Noget gik galt",
@@ -260,6 +314,7 @@
"export": { "export": {
"as_json": "Eksporter som JSON", "as_json": "Eksporter som JSON",
"create_secret_gist": "Opret hemmelig Gist", "create_secret_gist": "Opret hemmelig Gist",
"failed": "Something went wrong while exporting",
"gist_created": "Gist skabt", "gist_created": "Gist skabt",
"require_github": "Log ind med GitHub for at skabe hemmelig kerne", "require_github": "Log ind med GitHub for at skabe hemmelig kerne",
"title": "Export" "title": "Export"
@@ -286,6 +341,9 @@
"subscriptions": "Abonnementer", "subscriptions": "Abonnementer",
"switch_connection": "Switch connection" "switch_connection": "Switch connection"
}, },
"graphql_collections": {
"title": "GraphQL Collections"
},
"group": { "group": {
"time": "Time", "time": "Time",
"url": "URL" "url": "URL"
@@ -297,6 +355,8 @@
}, },
"helpers": { "helpers": {
"authorization": "Autorisationsoverskriften genereres automatisk, når du sender anmodningen.", "authorization": "Autorisationsoverskriften genereres automatisk, når du sender anmodningen.",
"collection_properties_authorization": " This authorization will be set for every request in this collection.",
"collection_properties_header": "This header will be set for every request in this collection.",
"generate_documentation_first": "Generer først dokumentation", "generate_documentation_first": "Generer først dokumentation",
"network_fail": "Kunne ikke nå API -slutpunktet. Kontroller din netværksforbindelse, og prøv igen.", "network_fail": "Kunne ikke nå API -slutpunktet. Kontroller din netværksforbindelse, og prøv igen.",
"offline": "Du ser ud til at være offline. Data i dette arbejdsområde er muligvis ikke opdaterede.", "offline": "Du ser ud til at være offline. Data i dette arbejdsområde er muligvis ikke opdaterede.",
@@ -316,7 +376,10 @@
"import": { "import": {
"collections": "Importer samlinger", "collections": "Importer samlinger",
"curl": "Importer cURL", "curl": "Importer cURL",
"environments_from_gist": "Import From Gist",
"environments_from_gist_description": "Import Hoppscotch Environments From Gist",
"failed": "Import mislykkedes", "failed": "Import mislykkedes",
"from_file": "Import from File",
"from_gist": "Import fra Gist", "from_gist": "Import fra Gist",
"from_gist_description": "Import from Gist URL", "from_gist_description": "Import from Gist URL",
"from_insomnia": "Import from Insomnia", "from_insomnia": "Import from Insomnia",
@@ -331,11 +394,17 @@
"from_postman_description": "Import from Postman collection", "from_postman_description": "Import from Postman collection",
"from_url": "Import from URL", "from_url": "Import from URL",
"gist_url": "Indtast Gist URL", "gist_url": "Indtast Gist URL",
"gql_collections_from_gist_description": "Import GraphQL Collections From Gist",
"hoppscotch_environment": "Hoppscotch Environment",
"hoppscotch_environment_description": "Import Hoppscotch Environment JSON file",
"import_from_url_invalid_fetch": "Couldn't get data from the url", "import_from_url_invalid_fetch": "Couldn't get data from the url",
"import_from_url_invalid_file_format": "Error while importing collections", "import_from_url_invalid_file_format": "Error while importing collections",
"import_from_url_invalid_type": "Unsupported type. accepted values are 'hoppscotch', 'openapi', 'postman', 'insomnia'", "import_from_url_invalid_type": "Unsupported type. accepted values are 'hoppscotch', 'openapi', 'postman', 'insomnia'",
"import_from_url_success": "Collections Imported", "import_from_url_success": "Collections Imported",
"insomnia_environment_description": "Import Insomnia Environment from a JSON/YAML file",
"json_description": "Import collections from a Hoppscotch Collections JSON file", "json_description": "Import collections from a Hoppscotch Collections JSON file",
"postman_environment": "Postman Environment",
"postman_environment_description": "Import Postman Environment from a JSON file",
"title": "Importere" "title": "Importere"
}, },
"inspections": { "inspections": {
@@ -373,8 +442,10 @@
"close_unsaved_tab": "You have unsaved changes", "close_unsaved_tab": "You have unsaved changes",
"collections": "Samlinger", "collections": "Samlinger",
"confirm": "Bekræfte", "confirm": "Bekræfte",
"customize_request": "Customize Request",
"edit_request": "Rediger anmodning", "edit_request": "Rediger anmodning",
"import_export": "Import Eksport" "import_export": "Import Eksport",
"share_request": "Share Request"
}, },
"mqtt": { "mqtt": {
"already_subscribed": "You are already subscribed to this topic.", "already_subscribed": "You are already subscribed to this topic.",
@@ -449,13 +520,14 @@
"structured": "Structured", "structured": "Structured",
"text": "Text" "text": "Text"
}, },
"copy_link": "Kopier link",
"different_collection": "Cannot reorder requests from different collections", "different_collection": "Cannot reorder requests from different collections",
"duplicated": "Request duplicated", "duplicated": "Request duplicated",
"duration": "Varighed", "duration": "Varighed",
"enter_curl": "Indtast cURL", "enter_curl": "Indtast cURL",
"generate_code": "Generer kode", "generate_code": "Generer kode",
"generated_code": "Genereret kode", "generated_code": "Genereret kode",
"go_to_authorization_tab": "Go to Authorization tab",
"go_to_body_tab": "Go to Body tab",
"header_list": "Overskriftsliste", "header_list": "Overskriftsliste",
"invalid_name": "Angiv et navn på anmodningen", "invalid_name": "Angiv et navn på anmodningen",
"method": "Metode", "method": "Metode",
@@ -480,12 +552,14 @@
"saved": "Anmodning gemt", "saved": "Anmodning gemt",
"share": "Del", "share": "Del",
"share_description": "Share Hoppscotch with your friends", "share_description": "Share Hoppscotch with your friends",
"share_request": "Share Request",
"stop": "Stop", "stop": "Stop",
"title": "Anmodning", "title": "Anmodning",
"type": "Anmodningstype", "type": "Anmodningstype",
"url": "URL", "url": "URL",
"variables": "Variabler", "variables": "Variabler",
"view_my_links": "View my links" "view_my_links": "View my links",
"copy_link": "Kopier link"
}, },
"response": { "response": {
"audio": "Audio", "audio": "Audio",
@@ -513,6 +587,7 @@
"account_description": "Tilpas dine kontoindstillinger.", "account_description": "Tilpas dine kontoindstillinger.",
"account_email_description": "Din primære e -mail -adresse.", "account_email_description": "Din primære e -mail -adresse.",
"account_name_description": "Dette er dit visningsnavn.", "account_name_description": "Dette er dit visningsnavn.",
"additional": "Additional Settings",
"background": "Baggrund", "background": "Baggrund",
"black_mode": "Sort", "black_mode": "Sort",
"choose_language": "Vælg sprog", "choose_language": "Vælg sprog",
@@ -559,14 +634,31 @@
"verified_email": "Verified email", "verified_email": "Verified email",
"verify_email": "Verify email" "verify_email": "Verify email"
}, },
"shortcodes": { "shared_requests": {
"actions": "Actions", "button": "Button",
"created_on": "Created on", "button_info": "Create a 'Run in Hoppscotch' button for your website, blog or a README.",
"deleted": "Shortcode deleted", "copy_html": "Copy HTML",
"method": "Method", "copy_link": "Copy Link",
"not_found": "Shortcode not found", "copy_markdown": "Copy Markdown",
"short_code": "Short code", "creating_widget": "Creating widget",
"url": "URL" "customize": "Customize",
"deleted": "Shared request deleted",
"description": "Select a widget, you can change and customize this later",
"embed": "Embed",
"embed_info": "Add a mini 'Hoppscotch API Playground' to your website, blog or documentation.",
"link": "Link",
"link_info": "Create a shareable link to share with anyone on the internet with view access.",
"modified": "Shared request modified",
"not_found": "Shared request not found",
"open_new_tab": "Open in new tab",
"preview": "Preview",
"run_in_hoppscotch": "Run in Hoppscotch",
"theme": {
"dark": "Dark",
"light": "Light",
"system": "System",
"title": "Theme"
}
}, },
"shortcut": { "shortcut": {
"general": { "general": {
@@ -596,7 +688,6 @@
"title": "Others" "title": "Others"
}, },
"request": { "request": {
"copy_request_link": "Kopiér anmodningslink",
"delete_method": "Vælg SLET metode", "delete_method": "Vælg SLET metode",
"get_method": "Vælg GET -metode", "get_method": "Vælg GET -metode",
"head_method": "Vælg HEAD -metode", "head_method": "Vælg HEAD -metode",
@@ -611,8 +702,10 @@
"save_request": "Save Request", "save_request": "Save Request",
"save_to_collections": "Gem i samlinger", "save_to_collections": "Gem i samlinger",
"send_request": "Send anmodning", "send_request": "Send anmodning",
"share_request": "Share Request",
"show_code": "Generate code snippet", "show_code": "Generate code snippet",
"title": "Anmodning" "title": "Anmodning",
"copy_request_link": "Kopiér anmodningslink"
}, },
"response": { "response": {
"copy": "Copy response to clipboard", "copy": "Copy response to clipboard",
@@ -735,6 +828,7 @@
"connection_error": "Failed to connect", "connection_error": "Failed to connect",
"connection_failed": "Connection failed", "connection_failed": "Connection failed",
"connection_lost": "Connection lost", "connection_lost": "Connection lost",
"copied_interface_to_clipboard": "Copied {language} interface type to clipboard",
"copied_to_clipboard": "Kopieret til udklipsholder", "copied_to_clipboard": "Kopieret til udklipsholder",
"deleted": "Slettet", "deleted": "Slettet",
"deprecated": "DEPRECATED", "deprecated": "DEPRECATED",
@@ -742,10 +836,12 @@
"disconnected": "Afbrudt", "disconnected": "Afbrudt",
"disconnected_from": "Koblet fra {name}", "disconnected_from": "Koblet fra {name}",
"docs_generated": "Dokumentation genereret", "docs_generated": "Dokumentation genereret",
"download_failed": "Download failed",
"download_started": "Downloaden er startet", "download_started": "Downloaden er startet",
"enabled": "Aktiveret", "enabled": "Aktiveret",
"file_imported": "Fil importeret", "file_imported": "Fil importeret",
"finished_in": "Færdig om {duration} ms", "finished_in": "Færdig om {duration} ms",
"hide": "Hide",
"history_deleted": "Historik slettet", "history_deleted": "Historik slettet",
"linewrap": "Wrap linjer", "linewrap": "Wrap linjer",
"loading": "Indlæser...", "loading": "Indlæser...",
@@ -756,6 +852,7 @@
"published_error": "Something went wrong while publishing msg: {topic} to topic: {message}", "published_error": "Something went wrong while publishing msg: {topic} to topic: {message}",
"published_message": "Published message: {message} to topic: {topic}", "published_message": "Published message: {message} to topic: {topic}",
"reconnection_error": "Failed to reconnect", "reconnection_error": "Failed to reconnect",
"show": "Show",
"subscribed_failed": "Failed to subscribe to topic: {topic}", "subscribed_failed": "Failed to subscribe to topic: {topic}",
"subscribed_success": "Successfully subscribed to topic: {topic}", "subscribed_success": "Successfully subscribed to topic: {topic}",
"unsubscribed_failed": "Failed to unsubscribe from topic: {topic}", "unsubscribed_failed": "Failed to unsubscribe from topic: {topic}",
@@ -791,6 +888,7 @@
"queries": "Forespørgsler", "queries": "Forespørgsler",
"query": "Forespørgsel", "query": "Forespørgsel",
"schema": "Schema", "schema": "Schema",
"shared_requests": "Shared Requests",
"socketio": "Socket.IO", "socketio": "Socket.IO",
"sse": "SSE", "sse": "SSE",
"tests": "Test", "tests": "Test",
@@ -807,6 +905,7 @@
"email_do_not_match": "Email doesn't match with your account details. Contact your team owner.", "email_do_not_match": "Email doesn't match with your account details. Contact your team owner.",
"exit": "Afslut Team", "exit": "Afslut Team",
"exit_disabled": "Kun ejeren kan ikke forlade teamet", "exit_disabled": "Kun ejeren kan ikke forlade teamet",
"failed_invites": "Failed invites",
"invalid_coll_id": "Invalid collection ID", "invalid_coll_id": "Invalid collection ID",
"invalid_email_format": "E -mailformatet er ugyldigt", "invalid_email_format": "E -mailformatet er ugyldigt",
"invalid_id": "Invalid team ID. Contact your team owner.", "invalid_id": "Invalid team ID. Contact your team owner.",
@@ -848,6 +947,7 @@
"same_target_destination": "Same target and destination", "same_target_destination": "Same target and destination",
"saved": "Hold reddet", "saved": "Hold reddet",
"select_a_team": "Select a team", "select_a_team": "Select a team",
"success_invites": "Success invites",
"title": "Hold", "title": "Hold",
"we_sent_invite_link": "We sent an invite link to all invitees!", "we_sent_invite_link": "We sent an invite link to all invitees!",
"we_sent_invite_link_description": "Ask all invitees to check their inbox. Click on the link to join the team." "we_sent_invite_link_description": "Ask all invitees to check their inbox. Click on the link to join the team."
@@ -879,5 +979,14 @@
"personal": "My Workspace", "personal": "My Workspace",
"team": "Team Workspace", "team": "Team Workspace",
"title": "Workspaces" "title": "Workspaces"
},
"shortcodes": {
"actions": "Actions",
"created_on": "Created on",
"deleted": "Shortcode deleted",
"method": "Method",
"not_found": "Shortcode not found",
"short_code": "Short code",
"url": "URL"
} }
} }

View File

@@ -1,5 +1,6 @@
{ {
"action": { "action": {
"add": "Add",
"autoscroll": "Autoscroll", "autoscroll": "Autoscroll",
"cancel": "Abbrechen", "cancel": "Abbrechen",
"choose_file": "Datei auswählen", "choose_file": "Datei auswählen",
@@ -10,6 +11,7 @@
"connect": "Verbinden", "connect": "Verbinden",
"connecting": "Connecting", "connecting": "Connecting",
"copy": "Kopieren", "copy": "Kopieren",
"create": "Create",
"delete": "Löschen", "delete": "Löschen",
"disconnect": "Trennen", "disconnect": "Trennen",
"dismiss": "Verwerfen", "dismiss": "Verwerfen",
@@ -31,6 +33,7 @@
"open_workspace": "Open workspace", "open_workspace": "Open workspace",
"paste": "Einfügen", "paste": "Einfügen",
"prettify": "Verschönern", "prettify": "Verschönern",
"properties": "Properties",
"remove": "Entfernen", "remove": "Entfernen",
"rename": "Rename", "rename": "Rename",
"restore": "Wiederherstellen", "restore": "Wiederherstellen",
@@ -39,6 +42,7 @@
"scroll_to_top": "Scroll to top", "scroll_to_top": "Scroll to top",
"search": "Suchen", "search": "Suchen",
"send": "Senden", "send": "Senden",
"share": "Share",
"start": "Start", "start": "Start",
"starting": "Starting", "starting": "Starting",
"stop": "Stopp", "stop": "Stopp",
@@ -57,7 +61,9 @@
"app": { "app": {
"chat_with_us": "Chatte mit uns", "chat_with_us": "Chatte mit uns",
"contact_us": "Kontaktiere uns", "contact_us": "Kontaktiere uns",
"cookies": "Cookies",
"copy": "Kopieren", "copy": "Kopieren",
"copy_interface_type": "Copy interface type",
"copy_user_id": "Kopiere Nutzer-Authentisierungstoken", "copy_user_id": "Kopiere Nutzer-Authentisierungstoken",
"developer_option": "Entwickleroptionen", "developer_option": "Entwickleroptionen",
"developer_option_description": "Entwicklungswerkzeuge, die helfen Hoppscotch weiter zu entwickeln und zu warten.", "developer_option_description": "Entwicklungswerkzeuge, die helfen Hoppscotch weiter zu entwickeln und zu warten.",
@@ -73,6 +79,7 @@
"keyboard_shortcuts": "Tastaturkürzel", "keyboard_shortcuts": "Tastaturkürzel",
"name": "Hoppscotch", "name": "Hoppscotch",
"new_version_found": "Neue Version gefunden. Zum Aktualisieren Seite neu laden.", "new_version_found": "Neue Version gefunden. Zum Aktualisieren Seite neu laden.",
"open_in_hoppscotch": "Open in Hoppscotch",
"options": "Options", "options": "Options",
"proxy_privacy_policy": "Proxy-Datenschutzrichtlinie", "proxy_privacy_policy": "Proxy-Datenschutzrichtlinie",
"reload": "Neu laden", "reload": "Neu laden",
@@ -112,10 +119,27 @@
}, },
"authorization": { "authorization": {
"generate_token": "Token generieren", "generate_token": "Token generieren",
"graphql_headers": "Authorization Headers are sent as part of the payload to connection_init",
"include_in_url": "In URL einbinden", "include_in_url": "In URL einbinden",
"inherited_from": "Inherited from {auth} from Parent Collection {collection} ",
"learn": "Dokumentation", "learn": "Dokumentation",
"oauth": {
"redirect_auth_server_returned_error": "Auth Server returned an error state",
"redirect_auth_token_request_failed": "Request to get the auth token failed",
"redirect_auth_token_request_invalid_response": "Invalid Response from the Token Endpoint when requesting for an auth token",
"redirect_invalid_state": "Invalid State value present in the redirect",
"redirect_no_auth_code": "No Authorization Code present in the redirect",
"redirect_no_client_id": "No Client ID defined",
"redirect_no_client_secret": "No Client Secret Defined",
"redirect_no_code_verifier": "No Code Verifier Defined",
"redirect_no_token_endpoint": "No Token Endpoint Defined",
"something_went_wrong_on_oauth_redirect": "Something went wrong during OAuth Redirect",
"something_went_wrong_on_token_generation": "Something went wrong on token generation",
"token_generation_oidc_discovery_failed": "Failure on token generation: OpenID Connect Discovery Failed"
},
"pass_key_by": "Übertragungsart", "pass_key_by": "Übertragungsart",
"password": "Passwort", "password": "Passwort",
"save_to_inherit": "Please save this request in any collection to inherit the authorization",
"token": "Token", "token": "Token",
"type": "Autorisierungsverfahren", "type": "Autorisierungsverfahren",
"username": "Nutzername" "username": "Nutzername"
@@ -124,6 +148,7 @@
"created": "Sammlung erstellt", "created": "Sammlung erstellt",
"different_parent": "Cannot reorder collection with different parent", "different_parent": "Cannot reorder collection with different parent",
"edit": "Sammlung bearbeiten", "edit": "Sammlung bearbeiten",
"import_or_create": "Import or create a collection",
"invalid_name": "Bitte gib einen gültigen Namen für die Sammlung an", "invalid_name": "Bitte gib einen gültigen Namen für die Sammlung an",
"invalid_root_move": "Collection already in the root", "invalid_root_move": "Collection already in the root",
"moved": "Moved Successfully", "moved": "Moved Successfully",
@@ -132,6 +157,8 @@
"name_length_insufficient": "Sammlungsname soll mindestens 3 Zeichen lang sein", "name_length_insufficient": "Sammlungsname soll mindestens 3 Zeichen lang sein",
"new": "Neue Sammlung", "new": "Neue Sammlung",
"order_changed": "Collection Order Updated", "order_changed": "Collection Order Updated",
"properties": "Collection Properties",
"properties_updated": "Collection Properties Updated",
"renamed": "Sammlung umbenannt", "renamed": "Sammlung umbenannt",
"request_in_use": "Anfrage wird ausgeführt", "request_in_use": "Anfrage wird ausgeführt",
"save_as": "Speichern als", "save_as": "Speichern als",
@@ -151,6 +178,7 @@
"remove_folder": "Möchtest Du diesen Ordner wirklich dauerhaft löschen?", "remove_folder": "Möchtest Du diesen Ordner wirklich dauerhaft löschen?",
"remove_history": "Möchtest Du wirklich den gesamten Verlauf dauerhaft löschen?", "remove_history": "Möchtest Du wirklich den gesamten Verlauf dauerhaft löschen?",
"remove_request": "Möchtest Du diese Anfrage wirklich dauerhaft löschen?", "remove_request": "Möchtest Du diese Anfrage wirklich dauerhaft löschen?",
"remove_shared_request": "Are you sure you want to permanently delete this shared request?",
"remove_team": "Möchtest Du dieses Team wirklich löschen?", "remove_team": "Möchtest Du dieses Team wirklich löschen?",
"remove_telemetry": "Möchtest Du die Telemetrie wirklich deaktivieren?", "remove_telemetry": "Möchtest Du die Telemetrie wirklich deaktivieren?",
"request_change": "Möchtest Du diese Anfrage verwerfen? Ungespeicherte Änderungen gehen verloren.", "request_change": "Möchtest Du diese Anfrage verwerfen? Ungespeicherte Änderungen gehen verloren.",
@@ -162,6 +190,24 @@
"open_request_in_new_tab": "Open request in new tab", "open_request_in_new_tab": "Open request in new tab",
"set_environment_variable": "Set as variable" "set_environment_variable": "Set as variable"
}, },
"cookies": {
"modal": {
"cookie_expires": "Expires",
"cookie_name": "Name",
"cookie_path": "Path",
"cookie_string": "Cookie string",
"cookie_value": "Value",
"empty_domain": "Domain is empty",
"empty_domains": "Domain list is empty",
"enter_cookie_string": "Enter cookie string",
"interceptor_no_support": "Your currently selected interceptor does not support cookies. Select a different Interceptor and try again.",
"managed_tab": "Managed",
"new_domain_name": "New domain name",
"no_cookies_in_domain": "No cookies set for this domain",
"raw_tab": "Raw",
"set": "Set a cookie"
}
},
"count": { "count": {
"header": "Header {count}", "header": "Header {count}",
"message": "Nachricht {count}", "message": "Nachricht {count}",
@@ -192,11 +238,13 @@
"profile": "Einloggen um das Profil anzusehen", "profile": "Einloggen um das Profil anzusehen",
"protocols": "Protokolle sind leer", "protocols": "Protokolle sind leer",
"schema": "Verbinden mit einem GraphQL-Endpunkt", "schema": "Verbinden mit einem GraphQL-Endpunkt",
"shortcodes": "Shortcodes are empty", "shared_requests": "Shared requests are empty",
"shared_requests_logout": "Login to view your shared requests or create a new one",
"subscription": "Subscriptions are empty", "subscription": "Subscriptions are empty",
"team_name": "Teamname leer", "team_name": "Teamname leer",
"teams": "Teams sind leer", "teams": "Teams sind leer",
"tests": "Es gibt keine Tests für diese Anfrage" "tests": "Es gibt keine Tests für diese Anfrage",
"shortcodes": "Shortcodes are empty"
}, },
"environment": { "environment": {
"add_to_global": "Zur Globalen Umgebung hinzufügen", "add_to_global": "Zur Globalen Umgebung hinzufügen",
@@ -209,6 +257,7 @@
"empty_variables": "No variables", "empty_variables": "No variables",
"global": "Global", "global": "Global",
"global_variables": "Global variables", "global_variables": "Global variables",
"import_or_create": "Import or create a environment",
"invalid_name": "Bitte gib einen gültigen Namen für die Umgebung an", "invalid_name": "Bitte gib einen gültigen Namen für die Umgebung an",
"list": "Environment variables", "list": "Environment variables",
"my_environments": "My Environments", "my_environments": "My Environments",
@@ -232,8 +281,10 @@
"variable_list": "Variablenliste" "variable_list": "Variablenliste"
}, },
"error": { "error": {
"authproviders_load_error": "Unable to load auth providers",
"browser_support_sse": "Dieser Browser scheint keine Unterstützung für die vom Server gesendete Ereignisse zu haben.", "browser_support_sse": "Dieser Browser scheint keine Unterstützung für die vom Server gesendete Ereignisse zu haben.",
"check_console_details": "Einzelheiten findest Du in der Browser-Konsole.", "check_console_details": "Einzelheiten findest Du in der Browser-Konsole.",
"check_how_to_add_origin": "Check how you can add an origin",
"curl_invalid_format": "cURL ist nicht richtig formatiert", "curl_invalid_format": "cURL ist nicht richtig formatiert",
"danger_zone": "Danger zone", "danger_zone": "Danger zone",
"delete_account": "Your account is currently an owner in these teams:", "delete_account": "Your account is currently an owner in these teams:",
@@ -249,9 +300,12 @@
"json_prettify_invalid_body": "Ein ungültiger Text konnte nicht verschönert werden, JSON-Syntaxfehler beheben und erneut versuchen", "json_prettify_invalid_body": "Ein ungültiger Text konnte nicht verschönert werden, JSON-Syntaxfehler beheben und erneut versuchen",
"network_error": "Netzwerkfehler. Bitte versuche es erneut.", "network_error": "Netzwerkfehler. Bitte versuche es erneut.",
"network_fail": "Anfrage konnte nicht gesendet werden", "network_fail": "Anfrage konnte nicht gesendet werden",
"no_collections_to_export": "No collections to export. Please create a collection to get started.",
"no_duration": "Keine Dauer", "no_duration": "Keine Dauer",
"no_environments_to_export": "No environments to export. Please create an environment to get started.",
"no_results_found": "No matches found", "no_results_found": "No matches found",
"page_not_found": "This page could not be found", "page_not_found": "This page could not be found",
"please_install_extension": "Please install the extension and add origin to the extension.",
"proxy_error": "Proxy error", "proxy_error": "Proxy error",
"script_fail": "Pre-Request-Skripte konnte nicht ausgeführt werden", "script_fail": "Pre-Request-Skripte konnte nicht ausgeführt werden",
"something_went_wrong": "Etwas ist schief gelaufen", "something_went_wrong": "Etwas ist schief gelaufen",
@@ -260,6 +314,7 @@
"export": { "export": {
"as_json": "Als JSON exportieren", "as_json": "Als JSON exportieren",
"create_secret_gist": "Geheimen Github Gist erstellen", "create_secret_gist": "Geheimen Github Gist erstellen",
"failed": "Something went wrong while exporting",
"gist_created": "Gist erstellt", "gist_created": "Gist erstellt",
"require_github": "Melde Dich bei GitHub an, um einen geheimen Gist zu erstellen", "require_github": "Melde Dich bei GitHub an, um einen geheimen Gist zu erstellen",
"title": "Export" "title": "Export"
@@ -286,6 +341,9 @@
"subscriptions": "Abonnements", "subscriptions": "Abonnements",
"switch_connection": "Switch connection" "switch_connection": "Switch connection"
}, },
"graphql_collections": {
"title": "GraphQL Collections"
},
"group": { "group": {
"time": "Time", "time": "Time",
"url": "URL" "url": "URL"
@@ -297,6 +355,8 @@
}, },
"helpers": { "helpers": {
"authorization": "Der Autorisierungsheader wird automatisch generiert, wenn Du die Anfrage sendest.", "authorization": "Der Autorisierungsheader wird automatisch generiert, wenn Du die Anfrage sendest.",
"collection_properties_authorization": " This authorization will be set for every request in this collection.",
"collection_properties_header": "This header will be set for every request in this collection.",
"generate_documentation_first": "Zuerst Dokumentation erstellen", "generate_documentation_first": "Zuerst Dokumentation erstellen",
"network_fail": "Der API-Endpunkt kann nicht erreicht werden. Überprüfe Deine Netzwerkverbindung und versuche es erneut.", "network_fail": "Der API-Endpunkt kann nicht erreicht werden. Überprüfe Deine Netzwerkverbindung und versuche es erneut.",
"offline": "Du scheinst offline zu sein. Die Daten in diesem Arbeitsbereich sind möglicherweise nicht aktuell.", "offline": "Du scheinst offline zu sein. Die Daten in diesem Arbeitsbereich sind möglicherweise nicht aktuell.",
@@ -316,7 +376,10 @@
"import": { "import": {
"collections": "Sammlungen importieren", "collections": "Sammlungen importieren",
"curl": "cURL importieren", "curl": "cURL importieren",
"environments_from_gist": "Import From Gist",
"environments_from_gist_description": "Import Hoppscotch Environments From Gist",
"failed": "Importieren fehlgeschlagen", "failed": "Importieren fehlgeschlagen",
"from_file": "Import from File",
"from_gist": "Von Github Gist importieren", "from_gist": "Von Github Gist importieren",
"from_gist_description": "Von Github Gist URL importieren", "from_gist_description": "Von Github Gist URL importieren",
"from_insomnia": "Von Insomnia importieren", "from_insomnia": "Von Insomnia importieren",
@@ -331,11 +394,17 @@
"from_postman_description": "Postman-Sammlung importieren", "from_postman_description": "Postman-Sammlung importieren",
"from_url": "Von URL importieren", "from_url": "Von URL importieren",
"gist_url": "Gist-URL eingeben", "gist_url": "Gist-URL eingeben",
"gql_collections_from_gist_description": "Import GraphQL Collections From Gist",
"hoppscotch_environment": "Hoppscotch Environment",
"hoppscotch_environment_description": "Import Hoppscotch Environment JSON file",
"import_from_url_invalid_fetch": "Couldn't get data from the url", "import_from_url_invalid_fetch": "Couldn't get data from the url",
"import_from_url_invalid_file_format": "Error while importing collections", "import_from_url_invalid_file_format": "Error while importing collections",
"import_from_url_invalid_type": "Unsupported type. accepted values are 'hoppscotch', 'openapi', 'postman', 'insomnia'", "import_from_url_invalid_type": "Unsupported type. accepted values are 'hoppscotch', 'openapi', 'postman', 'insomnia'",
"import_from_url_success": "Collections Imported", "import_from_url_success": "Collections Imported",
"insomnia_environment_description": "Import Insomnia Environment from a JSON/YAML file",
"json_description": "Hoppscotch Sammlungsdatei (JSON) importieren", "json_description": "Hoppscotch Sammlungsdatei (JSON) importieren",
"postman_environment": "Postman Environment",
"postman_environment_description": "Import Postman Environment from a JSON file",
"title": "Importieren" "title": "Importieren"
}, },
"inspections": { "inspections": {
@@ -373,8 +442,10 @@
"close_unsaved_tab": "You have unsaved changes", "close_unsaved_tab": "You have unsaved changes",
"collections": "Sammlungen", "collections": "Sammlungen",
"confirm": "Aktion bestätigen", "confirm": "Aktion bestätigen",
"customize_request": "Customize Request",
"edit_request": "Anfrage bearbeiten", "edit_request": "Anfrage bearbeiten",
"import_export": "Import / Export" "import_export": "Import / Export",
"share_request": "Share Request"
}, },
"mqtt": { "mqtt": {
"already_subscribed": "You are already subscribed to this topic.", "already_subscribed": "You are already subscribed to this topic.",
@@ -449,13 +520,14 @@
"structured": "Structured", "structured": "Structured",
"text": "Text" "text": "Text"
}, },
"copy_link": "Link kopieren",
"different_collection": "Cannot reorder requests from different collections", "different_collection": "Cannot reorder requests from different collections",
"duplicated": "Request duplicated", "duplicated": "Request duplicated",
"duration": "Dauer", "duration": "Dauer",
"enter_curl": "cURL eingeben", "enter_curl": "cURL eingeben",
"generate_code": "Code generieren", "generate_code": "Code generieren",
"generated_code": "Generierter Code", "generated_code": "Generierter Code",
"go_to_authorization_tab": "Go to Authorization tab",
"go_to_body_tab": "Go to Body tab",
"header_list": "Header-Liste", "header_list": "Header-Liste",
"invalid_name": "Bitte gib einen Namen für die Anfrage an", "invalid_name": "Bitte gib einen Namen für die Anfrage an",
"method": "Methode", "method": "Methode",
@@ -480,12 +552,14 @@
"saved": "Anfrage gespeichert", "saved": "Anfrage gespeichert",
"share": "Teilen", "share": "Teilen",
"share_description": "Teile Hoppscotch mit Deinen Freunden", "share_description": "Teile Hoppscotch mit Deinen Freunden",
"share_request": "Share Request",
"stop": "Stop", "stop": "Stop",
"title": "Anfrage", "title": "Anfrage",
"type": "Anfragetyp", "type": "Anfragetyp",
"url": "URL", "url": "URL",
"variables": "Variablen", "variables": "Variablen",
"view_my_links": "View my links" "view_my_links": "View my links",
"copy_link": "Link kopieren"
}, },
"response": { "response": {
"audio": "Audio", "audio": "Audio",
@@ -513,6 +587,7 @@
"account_description": "Passe Deine Kontoeinstellungen an.", "account_description": "Passe Deine Kontoeinstellungen an.",
"account_email_description": "Deine primäre E-Mail-Adresse.", "account_email_description": "Deine primäre E-Mail-Adresse.",
"account_name_description": "Dies ist Dein Anzeigename.", "account_name_description": "Dies ist Dein Anzeigename.",
"additional": "Additional Settings",
"background": "Hintergrund", "background": "Hintergrund",
"black_mode": "Schwarz", "black_mode": "Schwarz",
"choose_language": "Sprache wählen", "choose_language": "Sprache wählen",
@@ -559,14 +634,31 @@
"verified_email": "Verified email", "verified_email": "Verified email",
"verify_email": "E-Mail-Adresse bestätigen" "verify_email": "E-Mail-Adresse bestätigen"
}, },
"shortcodes": { "shared_requests": {
"actions": "Actions", "button": "Button",
"created_on": "Created on", "button_info": "Create a 'Run in Hoppscotch' button for your website, blog or a README.",
"deleted": "Shortcode deleted", "copy_html": "Copy HTML",
"method": "Method", "copy_link": "Copy Link",
"not_found": "Shortcode not found", "copy_markdown": "Copy Markdown",
"short_code": "Short code", "creating_widget": "Creating widget",
"url": "URL" "customize": "Customize",
"deleted": "Shared request deleted",
"description": "Select a widget, you can change and customize this later",
"embed": "Embed",
"embed_info": "Add a mini 'Hoppscotch API Playground' to your website, blog or documentation.",
"link": "Link",
"link_info": "Create a shareable link to share with anyone on the internet with view access.",
"modified": "Shared request modified",
"not_found": "Shared request not found",
"open_new_tab": "Open in new tab",
"preview": "Preview",
"run_in_hoppscotch": "Run in Hoppscotch",
"theme": {
"dark": "Dark",
"light": "Light",
"system": "System",
"title": "Theme"
}
}, },
"shortcut": { "shortcut": {
"general": { "general": {
@@ -596,7 +688,6 @@
"title": "Others" "title": "Others"
}, },
"request": { "request": {
"copy_request_link": "Anfragelink kopieren",
"delete_method": "DELETE-Methode auswählen", "delete_method": "DELETE-Methode auswählen",
"get_method": "GET-Methode auswählen", "get_method": "GET-Methode auswählen",
"head_method": "HEAD-Methode auswählen", "head_method": "HEAD-Methode auswählen",
@@ -611,8 +702,10 @@
"save_request": "Save Request", "save_request": "Save Request",
"save_to_collections": "In Sammlungen speichern", "save_to_collections": "In Sammlungen speichern",
"send_request": "Anfrage senden", "send_request": "Anfrage senden",
"share_request": "Share Request",
"show_code": "Generate code snippet", "show_code": "Generate code snippet",
"title": "Anfrage" "title": "Anfrage",
"copy_request_link": "Anfragelink kopieren"
}, },
"response": { "response": {
"copy": "Copy response to clipboard", "copy": "Copy response to clipboard",
@@ -735,6 +828,7 @@
"connection_error": "Failed to connect", "connection_error": "Failed to connect",
"connection_failed": "Connection failed", "connection_failed": "Connection failed",
"connection_lost": "Connection lost", "connection_lost": "Connection lost",
"copied_interface_to_clipboard": "Copied {language} interface type to clipboard",
"copied_to_clipboard": "In die Zwischenablage kopiert", "copied_to_clipboard": "In die Zwischenablage kopiert",
"deleted": "Gelöscht", "deleted": "Gelöscht",
"deprecated": "VERALTET", "deprecated": "VERALTET",
@@ -742,10 +836,12 @@
"disconnected": "Getrennt", "disconnected": "Getrennt",
"disconnected_from": "Verbindung zu {name} getrennt", "disconnected_from": "Verbindung zu {name} getrennt",
"docs_generated": "Dokumentation erstellt", "docs_generated": "Dokumentation erstellt",
"download_failed": "Download failed",
"download_started": "Download gestartet", "download_started": "Download gestartet",
"enabled": "Aktiviert", "enabled": "Aktiviert",
"file_imported": "Datei importiert", "file_imported": "Datei importiert",
"finished_in": "Fertig in {duration} ms", "finished_in": "Fertig in {duration} ms",
"hide": "Hide",
"history_deleted": "Verlauf gelöscht", "history_deleted": "Verlauf gelöscht",
"linewrap": "Zeilen umbrechen", "linewrap": "Zeilen umbrechen",
"loading": "Wird geladen...", "loading": "Wird geladen...",
@@ -756,6 +852,7 @@
"published_error": "Something went wrong while publishing msg: {topic} to topic: {message}", "published_error": "Something went wrong while publishing msg: {topic} to topic: {message}",
"published_message": "Published message: {message} to topic: {topic}", "published_message": "Published message: {message} to topic: {topic}",
"reconnection_error": "Failed to reconnect", "reconnection_error": "Failed to reconnect",
"show": "Show",
"subscribed_failed": "Failed to subscribe to topic: {topic}", "subscribed_failed": "Failed to subscribe to topic: {topic}",
"subscribed_success": "Successfully subscribed to topic: {topic}", "subscribed_success": "Successfully subscribed to topic: {topic}",
"unsubscribed_failed": "Failed to unsubscribe from topic: {topic}", "unsubscribed_failed": "Failed to unsubscribe from topic: {topic}",
@@ -791,6 +888,7 @@
"queries": "Anfragen", "queries": "Anfragen",
"query": "Anfrage", "query": "Anfrage",
"schema": "Schema", "schema": "Schema",
"shared_requests": "Shared Requests",
"socketio": "Socket.IO", "socketio": "Socket.IO",
"sse": "SSE", "sse": "SSE",
"tests": "Tests", "tests": "Tests",
@@ -807,6 +905,7 @@
"email_do_not_match": "E-Mail-Adresse stimmt nicht mit Deinen Kontodaten überein, bitte kontaktiere den Teameigentümer.", "email_do_not_match": "E-Mail-Adresse stimmt nicht mit Deinen Kontodaten überein, bitte kontaktiere den Teameigentümer.",
"exit": "Team verlassen", "exit": "Team verlassen",
"exit_disabled": "Eigentümer können das Team nicht verlassen", "exit_disabled": "Eigentümer können das Team nicht verlassen",
"failed_invites": "Failed invites",
"invalid_coll_id": "Invalid collection ID", "invalid_coll_id": "Invalid collection ID",
"invalid_email_format": "E-Mail-Format ist ungültig", "invalid_email_format": "E-Mail-Format ist ungültig",
"invalid_id": "Ungültige Team-ID, bitte kontaktiere den Teameigentümer.", "invalid_id": "Ungültige Team-ID, bitte kontaktiere den Teameigentümer.",
@@ -848,6 +947,7 @@
"same_target_destination": "Same target and destination", "same_target_destination": "Same target and destination",
"saved": "Team gespeichert", "saved": "Team gespeichert",
"select_a_team": "Team auswählen", "select_a_team": "Team auswählen",
"success_invites": "Success invites",
"title": "Team", "title": "Team",
"we_sent_invite_link": "Einladungen wurden an alle E-Mails verschickt!", "we_sent_invite_link": "Einladungen wurden an alle E-Mails verschickt!",
"we_sent_invite_link_description": "Bitte alle eingeladenen Personen, ihren Posteingang zu überprüfen. Klicke auf den Link, um dem Team beizutreten." "we_sent_invite_link_description": "Bitte alle eingeladenen Personen, ihren Posteingang zu überprüfen. Klicke auf den Link, um dem Team beizutreten."
@@ -879,5 +979,14 @@
"personal": "My Workspace", "personal": "My Workspace",
"team": "Team Workspace", "team": "Team Workspace",
"title": "Workspaces" "title": "Workspaces"
},
"shortcodes": {
"actions": "Actions",
"created_on": "Created on",
"deleted": "Shortcode deleted",
"method": "Method",
"not_found": "Shortcode not found",
"short_code": "Short code",
"url": "URL"
} }
} }

View File

@@ -1,5 +1,6 @@
{ {
"action": { "action": {
"add": "Add",
"autoscroll": "Autoscroll", "autoscroll": "Autoscroll",
"cancel": "Ματαίωση", "cancel": "Ματαίωση",
"choose_file": "Επιλέξτε ένα αρχείο", "choose_file": "Επιλέξτε ένα αρχείο",
@@ -10,6 +11,7 @@
"connect": "Συνδέω-συωδεομαι", "connect": "Συνδέω-συωδεομαι",
"connecting": "Connecting", "connecting": "Connecting",
"copy": "αντίγραφο", "copy": "αντίγραφο",
"create": "Create",
"delete": "Διαγράφω", "delete": "Διαγράφω",
"disconnect": "Αποσυνδέω", "disconnect": "Αποσυνδέω",
"dismiss": "Απολύω", "dismiss": "Απολύω",
@@ -31,6 +33,7 @@
"open_workspace": "Open workspace", "open_workspace": "Open workspace",
"paste": "Paste", "paste": "Paste",
"prettify": "Ωραιοποιώ", "prettify": "Ωραιοποιώ",
"properties": "Properties",
"remove": "Αφαιρώ", "remove": "Αφαιρώ",
"rename": "Rename", "rename": "Rename",
"restore": "Επαναφέρω", "restore": "Επαναφέρω",
@@ -39,6 +42,7 @@
"scroll_to_top": "Scroll to top", "scroll_to_top": "Scroll to top",
"search": "Αναζήτηση", "search": "Αναζήτηση",
"send": "Στείλετε", "send": "Στείλετε",
"share": "Share",
"start": "Αρχή", "start": "Αρχή",
"starting": "Starting", "starting": "Starting",
"stop": "Να σταματήσει", "stop": "Να σταματήσει",
@@ -57,7 +61,9 @@
"app": { "app": {
"chat_with_us": "μίλα μαζί μας", "chat_with_us": "μίλα μαζί μας",
"contact_us": "Επικοινωνήστε μαζί μας", "contact_us": "Επικοινωνήστε μαζί μας",
"cookies": "Cookies",
"copy": "αντίγραφο", "copy": "αντίγραφο",
"copy_interface_type": "Copy interface type",
"copy_user_id": "Copy User Auth Token", "copy_user_id": "Copy User Auth Token",
"developer_option": "Developer options", "developer_option": "Developer options",
"developer_option_description": "Εργαλεία για προγραμματιστές που βοηθάνε στην ανάπτυξη και συντήρηση του Hoppscotch.", "developer_option_description": "Εργαλεία για προγραμματιστές που βοηθάνε στην ανάπτυξη και συντήρηση του Hoppscotch.",
@@ -73,6 +79,7 @@
"keyboard_shortcuts": "Συντομεύσεις πληκτρολογίου", "keyboard_shortcuts": "Συντομεύσεις πληκτρολογίου",
"name": "Hoppscotch", "name": "Hoppscotch",
"new_version_found": "Βρέθηκε νέα έκδοση. Ανανέωση για ενημέρωση.", "new_version_found": "Βρέθηκε νέα έκδοση. Ανανέωση για ενημέρωση.",
"open_in_hoppscotch": "Open in Hoppscotch",
"options": "Options", "options": "Options",
"proxy_privacy_policy": "Πολιτική απορρήτου μεσολάβησης", "proxy_privacy_policy": "Πολιτική απορρήτου μεσολάβησης",
"reload": "Φορτώνω πάλι", "reload": "Φορτώνω πάλι",
@@ -112,10 +119,27 @@
}, },
"authorization": { "authorization": {
"generate_token": "Δημιουργήστε το διακριτικό", "generate_token": "Δημιουργήστε το διακριτικό",
"graphql_headers": "Authorization Headers are sent as part of the payload to connection_init",
"include_in_url": "Συμπερίληψη στη διεύθυνση URL", "include_in_url": "Συμπερίληψη στη διεύθυνση URL",
"inherited_from": "Inherited from {auth} from Parent Collection {collection} ",
"learn": "Μάθε πως", "learn": "Μάθε πως",
"oauth": {
"redirect_auth_server_returned_error": "Auth Server returned an error state",
"redirect_auth_token_request_failed": "Request to get the auth token failed",
"redirect_auth_token_request_invalid_response": "Invalid Response from the Token Endpoint when requesting for an auth token",
"redirect_invalid_state": "Invalid State value present in the redirect",
"redirect_no_auth_code": "No Authorization Code present in the redirect",
"redirect_no_client_id": "No Client ID defined",
"redirect_no_client_secret": "No Client Secret Defined",
"redirect_no_code_verifier": "No Code Verifier Defined",
"redirect_no_token_endpoint": "No Token Endpoint Defined",
"something_went_wrong_on_oauth_redirect": "Something went wrong during OAuth Redirect",
"something_went_wrong_on_token_generation": "Something went wrong on token generation",
"token_generation_oidc_discovery_failed": "Failure on token generation: OpenID Connect Discovery Failed"
},
"pass_key_by": "Pass by", "pass_key_by": "Pass by",
"password": "Κωδικός πρόσβασης", "password": "Κωδικός πρόσβασης",
"save_to_inherit": "Please save this request in any collection to inherit the authorization",
"token": "Ενδειξη", "token": "Ενδειξη",
"type": "Τύπος εξουσιοδότησης", "type": "Τύπος εξουσιοδότησης",
"username": "Όνομα χρήστη" "username": "Όνομα χρήστη"
@@ -124,6 +148,7 @@
"created": "Η συλλογή δημιουργήθηκε", "created": "Η συλλογή δημιουργήθηκε",
"different_parent": "Cannot reorder collection with different parent", "different_parent": "Cannot reorder collection with different parent",
"edit": "Επεξεργασία Συλλογής", "edit": "Επεξεργασία Συλλογής",
"import_or_create": "Import or create a collection",
"invalid_name": "Καταχωρίστε ένα έγκυρο όνομα για τη συλλογή", "invalid_name": "Καταχωρίστε ένα έγκυρο όνομα για τη συλλογή",
"invalid_root_move": "Collection already in the root", "invalid_root_move": "Collection already in the root",
"moved": "Moved Successfully", "moved": "Moved Successfully",
@@ -132,6 +157,8 @@
"name_length_insufficient": "Collection name should be at least 3 characters long", "name_length_insufficient": "Collection name should be at least 3 characters long",
"new": "Νέα συλλογή", "new": "Νέα συλλογή",
"order_changed": "Collection Order Updated", "order_changed": "Collection Order Updated",
"properties": "Collection Properties",
"properties_updated": "Collection Properties Updated",
"renamed": "Η συλλογή μετονομάστηκε", "renamed": "Η συλλογή μετονομάστηκε",
"request_in_use": "Request in use", "request_in_use": "Request in use",
"save_as": "Αποθήκευση ως", "save_as": "Αποθήκευση ως",
@@ -151,6 +178,7 @@
"remove_folder": "Είστε βέβαιοι ότι θέλετε να διαγράψετε οριστικά αυτόν τον φάκελο;", "remove_folder": "Είστε βέβαιοι ότι θέλετε να διαγράψετε οριστικά αυτόν τον φάκελο;",
"remove_history": "Είστε βέβαιοι ότι θέλετε να διαγράψετε οριστικά όλο το ιστορικό;", "remove_history": "Είστε βέβαιοι ότι θέλετε να διαγράψετε οριστικά όλο το ιστορικό;",
"remove_request": "Είστε βέβαιοι ότι θέλετε να διαγράψετε οριστικά αυτό το αίτημα;", "remove_request": "Είστε βέβαιοι ότι θέλετε να διαγράψετε οριστικά αυτό το αίτημα;",
"remove_shared_request": "Are you sure you want to permanently delete this shared request?",
"remove_team": "Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτήν την ομάδα;", "remove_team": "Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτήν την ομάδα;",
"remove_telemetry": "Είστε βέβαιοι ότι θέλετε να εξαιρεθείτε από την τηλεμετρία;", "remove_telemetry": "Είστε βέβαιοι ότι θέλετε να εξαιρεθείτε από την τηλεμετρία;",
"request_change": "Are you sure you want to discard current request, unsaved changes will be lost.", "request_change": "Are you sure you want to discard current request, unsaved changes will be lost.",
@@ -162,6 +190,24 @@
"open_request_in_new_tab": "Open request in new tab", "open_request_in_new_tab": "Open request in new tab",
"set_environment_variable": "Set as variable" "set_environment_variable": "Set as variable"
}, },
"cookies": {
"modal": {
"cookie_expires": "Expires",
"cookie_name": "Name",
"cookie_path": "Path",
"cookie_string": "Cookie string",
"cookie_value": "Value",
"empty_domain": "Domain is empty",
"empty_domains": "Domain list is empty",
"enter_cookie_string": "Enter cookie string",
"interceptor_no_support": "Your currently selected interceptor does not support cookies. Select a different Interceptor and try again.",
"managed_tab": "Managed",
"new_domain_name": "New domain name",
"no_cookies_in_domain": "No cookies set for this domain",
"raw_tab": "Raw",
"set": "Set a cookie"
}
},
"count": { "count": {
"header": "Κεφαλίδα {count}", "header": "Κεφαλίδα {count}",
"message": "Μήνυμα {count}", "message": "Μήνυμα {count}",
@@ -192,11 +238,13 @@
"profile": "Συνδεθείτε για προβολή του προφίλ σας", "profile": "Συνδεθείτε για προβολή του προφίλ σας",
"protocols": "Τα πρωτόκολλα είναι κενά", "protocols": "Τα πρωτόκολλα είναι κενά",
"schema": "Συνδεθείτε σε ένα τελικό σημείο GraphQL", "schema": "Συνδεθείτε σε ένα τελικό σημείο GraphQL",
"shortcodes": "Τα Shortcodes είναι κενά", "shared_requests": "Shared requests are empty",
"shared_requests_logout": "Login to view your shared requests or create a new one",
"subscription": "Subscriptions are empty", "subscription": "Subscriptions are empty",
"team_name": "Το όνομα της ομάδας είναι κενό", "team_name": "Το όνομα της ομάδας είναι κενό",
"teams": "Οι ομάδες είναι άδειες", "teams": "Οι ομάδες είναι άδειες",
"tests": "Δεν υπάρχουν δοκιμές για αυτό το αίτημα" "tests": "Δεν υπάρχουν δοκιμές για αυτό το αίτημα",
"shortcodes": "Τα Shortcodes είναι κενά"
}, },
"environment": { "environment": {
"add_to_global": "Προσθήκη στο Global", "add_to_global": "Προσθήκη στο Global",
@@ -209,6 +257,7 @@
"empty_variables": "No variables", "empty_variables": "No variables",
"global": "Global", "global": "Global",
"global_variables": "Global variables", "global_variables": "Global variables",
"import_or_create": "Import or create a environment",
"invalid_name": "Καταχωρίστε ένα έγκυρο όνομα για το περιβάλλον", "invalid_name": "Καταχωρίστε ένα έγκυρο όνομα για το περιβάλλον",
"list": "Environment variables", "list": "Environment variables",
"my_environments": "Τα Περιβάλλοντα μου", "my_environments": "Τα Περιβάλλοντα μου",
@@ -232,8 +281,10 @@
"variable_list": "Λίστα μεταβλητών" "variable_list": "Λίστα μεταβλητών"
}, },
"error": { "error": {
"authproviders_load_error": "Unable to load auth providers",
"browser_support_sse": "Αυτό το πρόγραμμα περιήγησης δεν φαίνεται να υποστηρίζει διακομιστές που έχουν σταλεί συμβάντα.", "browser_support_sse": "Αυτό το πρόγραμμα περιήγησης δεν φαίνεται να υποστηρίζει διακομιστές που έχουν σταλεί συμβάντα.",
"check_console_details": "Ελέγξτε το αρχείο καταγραφής της κονσόλας για λεπτομέρειες.", "check_console_details": "Ελέγξτε το αρχείο καταγραφής της κονσόλας για λεπτομέρειες.",
"check_how_to_add_origin": "Check how you can add an origin",
"curl_invalid_format": "Το cURL δεν έχει μορφοποιηθεί σωστά", "curl_invalid_format": "Το cURL δεν έχει μορφοποιηθεί σωστά",
"danger_zone": "Danger zone", "danger_zone": "Danger zone",
"delete_account": "Your account is currently an owner in these teams:", "delete_account": "Your account is currently an owner in these teams:",
@@ -249,9 +300,12 @@
"json_prettify_invalid_body": "Δεν ήταν δυνατή η ομορφιά ενός μη έγκυρου σώματος, η επίλυση σφαλμάτων σύνταξης json και η προσπάθεια ξανά", "json_prettify_invalid_body": "Δεν ήταν δυνατή η ομορφιά ενός μη έγκυρου σώματος, η επίλυση σφαλμάτων σύνταξης json και η προσπάθεια ξανά",
"network_error": "Από ότι φαίνεται υπάρχει ένα σφάλμα δικτύου. Παρακαλούμε προσπαθήστε ξανά.", "network_error": "Από ότι φαίνεται υπάρχει ένα σφάλμα δικτύου. Παρακαλούμε προσπαθήστε ξανά.",
"network_fail": "Δεν ήταν δυνατή η αποστολή του αιτήματος", "network_fail": "Δεν ήταν δυνατή η αποστολή του αιτήματος",
"no_collections_to_export": "No collections to export. Please create a collection to get started.",
"no_duration": "Χωρίς διάρκεια", "no_duration": "Χωρίς διάρκεια",
"no_environments_to_export": "No environments to export. Please create an environment to get started.",
"no_results_found": "Δεν βρέθηκαν αντιστοιχίες", "no_results_found": "Δεν βρέθηκαν αντιστοιχίες",
"page_not_found": "Αυτή η σελίδα δεν βρέθηκε", "page_not_found": "Αυτή η σελίδα δεν βρέθηκε",
"please_install_extension": "Please install the extension and add origin to the extension.",
"proxy_error": "Proxy error", "proxy_error": "Proxy error",
"script_fail": "Δεν ήταν δυνατή η εκτέλεση του σεναρίου πριν από το αίτημα", "script_fail": "Δεν ήταν δυνατή η εκτέλεση του σεναρίου πριν από το αίτημα",
"something_went_wrong": "Κάτι πήγε στραβά", "something_went_wrong": "Κάτι πήγε στραβά",
@@ -260,6 +314,7 @@
"export": { "export": {
"as_json": "Εξαγωγή ως JSON", "as_json": "Εξαγωγή ως JSON",
"create_secret_gist": "Δημιουργήστε μυστική ουσία", "create_secret_gist": "Δημιουργήστε μυστική ουσία",
"failed": "Something went wrong while exporting",
"gist_created": "Η ουσία δημιουργήθηκε", "gist_created": "Η ουσία δημιουργήθηκε",
"require_github": "Συνδεθείτε με το GitHub για να δημιουργήσετε μυστική ουσία", "require_github": "Συνδεθείτε με το GitHub για να δημιουργήσετε μυστική ουσία",
"title": "Export" "title": "Export"
@@ -286,6 +341,9 @@
"subscriptions": "Συνδρομές", "subscriptions": "Συνδρομές",
"switch_connection": "Switch connection" "switch_connection": "Switch connection"
}, },
"graphql_collections": {
"title": "GraphQL Collections"
},
"group": { "group": {
"time": "Time", "time": "Time",
"url": "URL" "url": "URL"
@@ -297,6 +355,8 @@
}, },
"helpers": { "helpers": {
"authorization": "Η κεφαλίδα εξουσιοδότησης θα δημιουργηθεί αυτόματα κατά την αποστολή του αιτήματος.", "authorization": "Η κεφαλίδα εξουσιοδότησης θα δημιουργηθεί αυτόματα κατά την αποστολή του αιτήματος.",
"collection_properties_authorization": " This authorization will be set for every request in this collection.",
"collection_properties_header": "This header will be set for every request in this collection.",
"generate_documentation_first": "Δημιουργήστε πρώτα έγγραφα", "generate_documentation_first": "Δημιουργήστε πρώτα έγγραφα",
"network_fail": "Δεν είναι δυνατή η πρόσβαση στο τελικό σημείο API. Ελέγξτε τη σύνδεση δικτύου και δοκιμάστε ξανά.", "network_fail": "Δεν είναι δυνατή η πρόσβαση στο τελικό σημείο API. Ελέγξτε τη σύνδεση δικτύου και δοκιμάστε ξανά.",
"offline": "Φαίνεται ότι είστε εκτός σύνδεσης. Τα δεδομένα σε αυτόν τον χώρο εργασίας ενδέχεται να μην είναι ενημερωμένα.", "offline": "Φαίνεται ότι είστε εκτός σύνδεσης. Τα δεδομένα σε αυτόν τον χώρο εργασίας ενδέχεται να μην είναι ενημερωμένα.",
@@ -316,7 +376,10 @@
"import": { "import": {
"collections": "Εισαγωγή συλλογών", "collections": "Εισαγωγή συλλογών",
"curl": "Εισαγωγή cURL", "curl": "Εισαγωγή cURL",
"environments_from_gist": "Import From Gist",
"environments_from_gist_description": "Import Hoppscotch Environments From Gist",
"failed": "Η εισαγωγή απέτυχε", "failed": "Η εισαγωγή απέτυχε",
"from_file": "Import from File",
"from_gist": "Εισαγωγή από το Gist", "from_gist": "Εισαγωγή από το Gist",
"from_gist_description": "Εισαγωγή από Gist URL", "from_gist_description": "Εισαγωγή από Gist URL",
"from_insomnia": "Εισαγωγή από Insomnia", "from_insomnia": "Εισαγωγή από Insomnia",
@@ -331,11 +394,17 @@
"from_postman_description": "Εισαγωγή Συλλογής από Postman", "from_postman_description": "Εισαγωγή Συλλογής από Postman",
"from_url": "Εισαγωγή από URL", "from_url": "Εισαγωγή από URL",
"gist_url": "Εισαγάγετε Gist URL", "gist_url": "Εισαγάγετε Gist URL",
"gql_collections_from_gist_description": "Import GraphQL Collections From Gist",
"hoppscotch_environment": "Hoppscotch Environment",
"hoppscotch_environment_description": "Import Hoppscotch Environment JSON file",
"import_from_url_invalid_fetch": "Δεν μπορέσαμε να πάρουμε δεδομένα από το url", "import_from_url_invalid_fetch": "Δεν μπορέσαμε να πάρουμε δεδομένα από το url",
"import_from_url_invalid_file_format": "Σφάλμα κατά την εισαγωγή των Συλλογών", "import_from_url_invalid_file_format": "Σφάλμα κατά την εισαγωγή των Συλλογών",
"import_from_url_invalid_type": "Μη υποστηριζόμενος τύπος. Αποδεκτές τιμές είναι 'hoppscotch', 'openapi', 'postman', 'insomnia'", "import_from_url_invalid_type": "Μη υποστηριζόμενος τύπος. Αποδεκτές τιμές είναι 'hoppscotch', 'openapi', 'postman', 'insomnia'",
"import_from_url_success": "Η εισαγωγή των Συλλογών ήταν επιτυχής", "import_from_url_success": "Η εισαγωγή των Συλλογών ήταν επιτυχής",
"insomnia_environment_description": "Import Insomnia Environment from a JSON/YAML file",
"json_description": "Εισαγωγή συλλογών αρχείο JSON Hoppscotch Collections", "json_description": "Εισαγωγή συλλογών αρχείο JSON Hoppscotch Collections",
"postman_environment": "Postman Environment",
"postman_environment_description": "Import Postman Environment from a JSON file",
"title": "Εισαγωγή" "title": "Εισαγωγή"
}, },
"inspections": { "inspections": {
@@ -373,8 +442,10 @@
"close_unsaved_tab": "You have unsaved changes", "close_unsaved_tab": "You have unsaved changes",
"collections": "Συλλογές", "collections": "Συλλογές",
"confirm": "Επιβεβαιώνω", "confirm": "Επιβεβαιώνω",
"customize_request": "Customize Request",
"edit_request": "Αίτημα Επεξεργασίας", "edit_request": "Αίτημα Επεξεργασίας",
"import_export": "Εισαγωγή εξαγωγή" "import_export": "Εισαγωγή εξαγωγή",
"share_request": "Share Request"
}, },
"mqtt": { "mqtt": {
"already_subscribed": "You are already subscribed to this topic.", "already_subscribed": "You are already subscribed to this topic.",
@@ -449,13 +520,14 @@
"structured": "Structured", "structured": "Structured",
"text": "Text" "text": "Text"
}, },
"copy_link": "Αντιγραφή συνδέσμου",
"different_collection": "Cannot reorder requests from different collections", "different_collection": "Cannot reorder requests from different collections",
"duplicated": "Request duplicated", "duplicated": "Request duplicated",
"duration": "Διάρκεια", "duration": "Διάρκεια",
"enter_curl": "Εισαγάγετε cURL", "enter_curl": "Εισαγάγετε cURL",
"generate_code": "Δημιουργία κώδικα", "generate_code": "Δημιουργία κώδικα",
"generated_code": "Παραγόμενος κώδικας", "generated_code": "Παραγόμενος κώδικας",
"go_to_authorization_tab": "Go to Authorization tab",
"go_to_body_tab": "Go to Body tab",
"header_list": "Λίστα κεφαλίδων", "header_list": "Λίστα κεφαλίδων",
"invalid_name": "Καταχωρίστε ένα όνομα για το αίτημα", "invalid_name": "Καταχωρίστε ένα όνομα για το αίτημα",
"method": "Μέθοδος", "method": "Μέθοδος",
@@ -480,12 +552,14 @@
"saved": "Το αίτημα αποθηκεύτηκε", "saved": "Το αίτημα αποθηκεύτηκε",
"share": "Μερίδιο", "share": "Μερίδιο",
"share_description": "Κοινοποίηση Hoppscotch στους φίλους σου", "share_description": "Κοινοποίηση Hoppscotch στους φίλους σου",
"share_request": "Share Request",
"stop": "Stop", "stop": "Stop",
"title": "Αίτηση", "title": "Αίτηση",
"type": "Τύπος αιτήματος", "type": "Τύπος αιτήματος",
"url": "URL", "url": "URL",
"variables": "Μεταβλητές", "variables": "Μεταβλητές",
"view_my_links": "Προβολή των links μου" "view_my_links": "Προβολή των links μου",
"copy_link": "Αντιγραφή συνδέσμου"
}, },
"response": { "response": {
"audio": "Audio", "audio": "Audio",
@@ -513,6 +587,7 @@
"account_description": "Προσαρμόστε τις ρυθμίσεις του λογαριασμού σας.", "account_description": "Προσαρμόστε τις ρυθμίσεις του λογαριασμού σας.",
"account_email_description": "Η κύρια διεύθυνση email σας.", "account_email_description": "Η κύρια διεύθυνση email σας.",
"account_name_description": "Αυτό είναι το εμφανιζόμενο όνομά σας.", "account_name_description": "Αυτό είναι το εμφανιζόμενο όνομά σας.",
"additional": "Additional Settings",
"background": "Ιστορικό", "background": "Ιστορικό",
"black_mode": "Μαύρος", "black_mode": "Μαύρος",
"choose_language": "Διάλεξε γλώσσα", "choose_language": "Διάλεξε γλώσσα",
@@ -559,14 +634,31 @@
"verified_email": "Επαληθευμένο email", "verified_email": "Επαληθευμένο email",
"verify_email": "Επαλήθευση email" "verify_email": "Επαλήθευση email"
}, },
"shortcodes": { "shared_requests": {
"actions": "Δράσεις", "button": "Button",
"created_on": "Created on", "button_info": "Create a 'Run in Hoppscotch' button for your website, blog or a README.",
"deleted": "Το Shortcode διαγράφηκε", "copy_html": "Copy HTML",
"method": "Method", "copy_link": "Copy Link",
"not_found": "Το Shortcode δεν βρέθηκε", "copy_markdown": "Copy Markdown",
"short_code": "Short code", "creating_widget": "Creating widget",
"url": "URL" "customize": "Customize",
"deleted": "Shared request deleted",
"description": "Select a widget, you can change and customize this later",
"embed": "Embed",
"embed_info": "Add a mini 'Hoppscotch API Playground' to your website, blog or documentation.",
"link": "Link",
"link_info": "Create a shareable link to share with anyone on the internet with view access.",
"modified": "Shared request modified",
"not_found": "Shared request not found",
"open_new_tab": "Open in new tab",
"preview": "Preview",
"run_in_hoppscotch": "Run in Hoppscotch",
"theme": {
"dark": "Dark",
"light": "Light",
"system": "System",
"title": "Theme"
}
}, },
"shortcut": { "shortcut": {
"general": { "general": {
@@ -596,7 +688,6 @@
"title": "Others" "title": "Others"
}, },
"request": { "request": {
"copy_request_link": "Αντιγραφή συνδέσμου αιτήματος",
"delete_method": "Επιλέξτε ΔΙΑΓΡΑΦΗ μεθόδου", "delete_method": "Επιλέξτε ΔΙΑΓΡΑΦΗ μεθόδου",
"get_method": "Επιλέξτε μέθοδο GET", "get_method": "Επιλέξτε μέθοδο GET",
"head_method": "Επιλέξτε μέθοδο HEAD", "head_method": "Επιλέξτε μέθοδο HEAD",
@@ -611,8 +702,10 @@
"save_request": "Save Request", "save_request": "Save Request",
"save_to_collections": "Αποθήκευση στις Συλλογές", "save_to_collections": "Αποθήκευση στις Συλλογές",
"send_request": "Στείλε αίτημα", "send_request": "Στείλε αίτημα",
"share_request": "Share Request",
"show_code": "Generate code snippet", "show_code": "Generate code snippet",
"title": "Αίτηση" "title": "Αίτηση",
"copy_request_link": "Αντιγραφή συνδέσμου αιτήματος"
}, },
"response": { "response": {
"copy": "Αντιγραφή response στο πρόχειρο", "copy": "Αντιγραφή response στο πρόχειρο",
@@ -735,6 +828,7 @@
"connection_error": "Η Σύνδεση απέτυχε", "connection_error": "Η Σύνδεση απέτυχε",
"connection_failed": "Αποτυχής Σύνδεση", "connection_failed": "Αποτυχής Σύνδεση",
"connection_lost": "Η Σύνδεση χάθηκε", "connection_lost": "Η Σύνδεση χάθηκε",
"copied_interface_to_clipboard": "Copied {language} interface type to clipboard",
"copied_to_clipboard": "Αντιγράφηκε στο πρόχειρο", "copied_to_clipboard": "Αντιγράφηκε στο πρόχειρο",
"deleted": "Διαγράφηκε", "deleted": "Διαγράφηκε",
"deprecated": "ΚΑΤΑΡΓΗΘΗΚΕ", "deprecated": "ΚΑΤΑΡΓΗΘΗΚΕ",
@@ -742,10 +836,12 @@
"disconnected": "Ασύνδετος", "disconnected": "Ασύνδετος",
"disconnected_from": "Αποσυνδέθηκε από το {name}", "disconnected_from": "Αποσυνδέθηκε από το {name}",
"docs_generated": "Δημιουργήθηκε τεκμηρίωση", "docs_generated": "Δημιουργήθηκε τεκμηρίωση",
"download_failed": "Download failed",
"download_started": "Η λήψη ξεκίνησε", "download_started": "Η λήψη ξεκίνησε",
"enabled": "Ενεργοποιημένο", "enabled": "Ενεργοποιημένο",
"file_imported": "Το αρχείο εισήχθη", "file_imported": "Το αρχείο εισήχθη",
"finished_in": "Ολοκληρώθηκε σε {duration} ms", "finished_in": "Ολοκληρώθηκε σε {duration} ms",
"hide": "Hide",
"history_deleted": "Το ιστορικό διαγράφηκε", "history_deleted": "Το ιστορικό διαγράφηκε",
"linewrap": "Τυλίξτε γραμμές", "linewrap": "Τυλίξτε γραμμές",
"loading": "Φόρτωση...", "loading": "Φόρτωση...",
@@ -756,6 +852,7 @@
"published_error": "Κάτι πήγε στραβά κατα την αποστολή του μηνύματος: {topic} με θέμα: {message}", "published_error": "Κάτι πήγε στραβά κατα την αποστολή του μηνύματος: {topic} με θέμα: {message}",
"published_message": "Δημοσιευμένο Μηνυμα: {message} με θέμα: {topic}", "published_message": "Δημοσιευμένο Μηνυμα: {message} με θέμα: {topic}",
"reconnection_error": "Αποτυχία επανασύνδεσης", "reconnection_error": "Αποτυχία επανασύνδεσης",
"show": "Show",
"subscribed_failed": "Αποτυχία εγγραφής στο Θέμα: {topic}", "subscribed_failed": "Αποτυχία εγγραφής στο Θέμα: {topic}",
"subscribed_success": "Επιτυχία εγγραφής στο Θέμα: {topic}", "subscribed_success": "Επιτυχία εγγραφής στο Θέμα: {topic}",
"unsubscribed_failed": "Αποτυχία απεγγραφής στο Θέμα: {topic}", "unsubscribed_failed": "Αποτυχία απεγγραφής στο Θέμα: {topic}",
@@ -791,6 +888,7 @@
"queries": "Ερωτήματα", "queries": "Ερωτήματα",
"query": "Ερώτηση", "query": "Ερώτηση",
"schema": "Schema", "schema": "Schema",
"shared_requests": "Shared Requests",
"socketio": "Υποδοχή.IO", "socketio": "Υποδοχή.IO",
"sse": "SSE", "sse": "SSE",
"tests": "Δοκιμές", "tests": "Δοκιμές",
@@ -807,6 +905,7 @@
"email_do_not_match": "Το Email δεν ταιριάζει με τις λεπτομέριες του προφιλ σας. Επικοινωνήστε με τον Ιδιοκτήτη της Ομάδας.", "email_do_not_match": "Το Email δεν ταιριάζει με τις λεπτομέριες του προφιλ σας. Επικοινωνήστε με τον Ιδιοκτήτη της Ομάδας.",
"exit": "Έξοδος από την ομάδα", "exit": "Έξοδος από την ομάδα",
"exit_disabled": "Μόνο ο ιδιοκτήτης δεν μπορεί να αποχωρήσει από την ομάδα", "exit_disabled": "Μόνο ο ιδιοκτήτης δεν μπορεί να αποχωρήσει από την ομάδα",
"failed_invites": "Failed invites",
"invalid_coll_id": "Invalid collection ID", "invalid_coll_id": "Invalid collection ID",
"invalid_email_format": "Η μορφή ηλεκτρονικού ταχυδρομείου δεν είναι έγκυρη", "invalid_email_format": "Η μορφή ηλεκτρονικού ταχυδρομείου δεν είναι έγκυρη",
"invalid_id": "Μή εγκυρο αναγνωριστικό ομάδας. Επικοινωνήστε με τον Ιδιοκτήτη της Ομάδας.", "invalid_id": "Μή εγκυρο αναγνωριστικό ομάδας. Επικοινωνήστε με τον Ιδιοκτήτη της Ομάδας.",
@@ -848,6 +947,7 @@
"same_target_destination": "Same target and destination", "same_target_destination": "Same target and destination",
"saved": "Η ομάδα σώθηκε", "saved": "Η ομάδα σώθηκε",
"select_a_team": "Επιλογή ομάδας", "select_a_team": "Επιλογή ομάδας",
"success_invites": "Success invites",
"title": "Της ομάδας", "title": "Της ομάδας",
"we_sent_invite_link": "Στείλαμε έναν σύνδεσμο πρόσκλησης σε όλους!", "we_sent_invite_link": "Στείλαμε έναν σύνδεσμο πρόσκλησης σε όλους!",
"we_sent_invite_link_description": "Ζητήστε από όλους όσους στείλατε πρόσκληση να ελέγξουν τα email τους. Click στον σύνδεσμο για εισαγωγή στην ομάδα." "we_sent_invite_link_description": "Ζητήστε από όλους όσους στείλατε πρόσκληση να ελέγξουν τα email τους. Click στον σύνδεσμο για εισαγωγή στην ομάδα."
@@ -879,5 +979,14 @@
"personal": "My Workspace", "personal": "My Workspace",
"team": "Team Workspace", "team": "Team Workspace",
"title": "Workspaces" "title": "Workspaces"
},
"shortcodes": {
"actions": "Δράσεις",
"created_on": "Created on",
"deleted": "Το Shortcode διαγράφηκε",
"method": "Method",
"not_found": "Το Shortcode δεν βρέθηκε",
"short_code": "Short code",
"url": "URL"
} }
} }

View File

@@ -33,6 +33,7 @@
"open_workspace": "Open workspace", "open_workspace": "Open workspace",
"paste": "Paste", "paste": "Paste",
"prettify": "Prettify", "prettify": "Prettify",
"properties": "Properties",
"remove": "Remove", "remove": "Remove",
"rename": "Rename", "rename": "Rename",
"restore": "Restore", "restore": "Restore",
@@ -57,24 +58,6 @@
"new": "Add new", "new": "Add new",
"star": "Add star" "star": "Add star"
}, },
"cookies": {
"modal": {
"new_domain_name": "New domain name",
"set": "Set a cookie",
"cookie_string": "Cookie string",
"enter_cookie_string": "Enter cookie string",
"cookie_name": "Name",
"cookie_value": "Value",
"cookie_path": "Path",
"cookie_expires": "Expires",
"managed_tab": "Managed",
"raw_tab": "Raw",
"interceptor_no_support": "Your currently selected interceptor does not support cookies. Select a different Interceptor and try again.",
"empty_domains": "Domain list is empty",
"empty_domain": "Domain is empty",
"no_cookies_in_domain": "No cookies set for this domain"
}
},
"app": { "app": {
"chat_with_us": "Chat with us", "chat_with_us": "Chat with us",
"contact_us": "Contact us", "contact_us": "Contact us",
@@ -96,6 +79,7 @@
"keyboard_shortcuts": "Keyboard shortcuts", "keyboard_shortcuts": "Keyboard shortcuts",
"name": "Hoppscotch", "name": "Hoppscotch",
"new_version_found": "New version found. Refresh to update.", "new_version_found": "New version found. Refresh to update.",
"open_in_hoppscotch": "Open in Hoppscotch",
"options": "Options", "options": "Options",
"proxy_privacy_policy": "Proxy privacy policy", "proxy_privacy_policy": "Proxy privacy policy",
"reload": "Reload", "reload": "Reload",
@@ -137,26 +121,28 @@
"generate_token": "Generate Token", "generate_token": "Generate Token",
"graphql_headers": "Authorization Headers are sent as part of the payload to connection_init", "graphql_headers": "Authorization Headers are sent as part of the payload to connection_init",
"include_in_url": "Include in URL", "include_in_url": "Include in URL",
"inherited_from": "Inherited {auth} from parent collection {collection} ",
"learn": "Learn how", "learn": "Learn how",
"pass_key_by": "Pass by",
"password": "Password",
"token": "Token",
"type": "Authorization Type",
"username": "Username",
"oauth": { "oauth": {
"token_generation_oidc_discovery_failed": "Failure on token generation: OpenID Connect Discovery Failed",
"something_went_wrong_on_token_generation": "Something went wrong on token generation",
"redirect_auth_server_returned_error": "Auth Server returned an error state", "redirect_auth_server_returned_error": "Auth Server returned an error state",
"redirect_no_auth_code": "No Authorization Code present in the redirect", "redirect_auth_token_request_failed": "Request to get the auth token failed",
"redirect_auth_token_request_invalid_response": "Invalid Response from the Token Endpoint when requesting for an auth token",
"redirect_invalid_state": "Invalid State value present in the redirect", "redirect_invalid_state": "Invalid State value present in the redirect",
"redirect_no_token_endpoint": "No Token Endpoint Defined", "redirect_no_auth_code": "No Authorization Code present in the redirect",
"redirect_no_client_id": "No Client ID defined", "redirect_no_client_id": "No Client ID defined",
"redirect_no_client_secret": "No Client Secret Defined", "redirect_no_client_secret": "No Client Secret Defined",
"redirect_no_code_verifier": "No Code Verifier Defined", "redirect_no_code_verifier": "No Code Verifier Defined",
"redirect_auth_token_request_failed": "Request to get the auth token failed", "redirect_no_token_endpoint": "No Token Endpoint Defined",
"redirect_auth_token_request_invalid_response": "Invalid Response from the Token Endpoint when requesting for an auth token", "something_went_wrong_on_oauth_redirect": "Something went wrong during OAuth Redirect",
"something_went_wrong_on_oauth_redirect": "Something went wrong during OAuth Redirect" "something_went_wrong_on_token_generation": "Something went wrong on token generation",
} "token_generation_oidc_discovery_failed": "Failure on token generation: OpenID Connect Discovery Failed"
},
"pass_key_by": "Pass by",
"password": "Password",
"save_to_inherit": "Please save this request in any collection to inherit the authorization",
"token": "Token",
"type": "Authorization Type",
"username": "Username"
}, },
"collection": { "collection": {
"created": "Collection created", "created": "Collection created",
@@ -171,6 +157,8 @@
"name_length_insufficient": "Collection name should be at least 3 characters long", "name_length_insufficient": "Collection name should be at least 3 characters long",
"new": "New Collection", "new": "New Collection",
"order_changed": "Collection Order Updated", "order_changed": "Collection Order Updated",
"properties": "Collection Properties",
"properties_updated": "Collection Properties Updated",
"renamed": "Collection renamed", "renamed": "Collection renamed",
"request_in_use": "Request in use", "request_in_use": "Request in use",
"save_as": "Save as", "save_as": "Save as",
@@ -202,6 +190,24 @@
"open_request_in_new_tab": "Open request in new tab", "open_request_in_new_tab": "Open request in new tab",
"set_environment_variable": "Set as variable" "set_environment_variable": "Set as variable"
}, },
"cookies": {
"modal": {
"cookie_expires": "Expires",
"cookie_name": "Name",
"cookie_path": "Path",
"cookie_string": "Cookie string",
"cookie_value": "Value",
"empty_domain": "Domain is empty",
"empty_domains": "Domain list is empty",
"enter_cookie_string": "Enter cookie string",
"interceptor_no_support": "Your currently selected interceptor does not support cookies. Select a different Interceptor and try again.",
"managed_tab": "Managed",
"new_domain_name": "New domain name",
"no_cookies_in_domain": "No cookies set for this domain",
"raw_tab": "Raw",
"set": "Set a cookie"
}
},
"count": { "count": {
"header": "Header {count}", "header": "Header {count}",
"message": "Message {count}", "message": "Message {count}",
@@ -232,8 +238,8 @@
"profile": "Login to view your profile", "profile": "Login to view your profile",
"protocols": "Protocols are empty", "protocols": "Protocols are empty",
"schema": "Connect to a GraphQL endpoint to view schema", "schema": "Connect to a GraphQL endpoint to view schema",
"shared_requests_logout": "Login to view your shared requests or create a new one",
"shared_requests": "Shared requests are empty", "shared_requests": "Shared requests are empty",
"shared_requests_logout": "Login to view your shared requests or create a new one",
"subscription": "Subscriptions are empty", "subscription": "Subscriptions are empty",
"team_name": "Team name empty", "team_name": "Team name empty",
"teams": "You don't belong to any teams", "teams": "You don't belong to any teams",
@@ -273,10 +279,8 @@
"variable": "Variable", "variable": "Variable",
"variable_list": "Variable List" "variable_list": "Variable List"
}, },
"graphql_collections": {
"title": "GraphQL Collections"
},
"error": { "error": {
"authproviders_load_error": "Unable to load auth providers",
"browser_support_sse": "This browser doesn't seems to have Server Sent Events support.", "browser_support_sse": "This browser doesn't seems to have Server Sent Events support.",
"check_console_details": "Check console log for details.", "check_console_details": "Check console log for details.",
"check_how_to_add_origin": "Check how you can add an origin", "check_how_to_add_origin": "Check how you can add an origin",
@@ -291,6 +295,7 @@
"incorrect_email": "Incorrect email", "incorrect_email": "Incorrect email",
"invalid_link": "Invalid link", "invalid_link": "Invalid link",
"invalid_link_description": "The link you clicked is invalid or expired.", "invalid_link_description": "The link you clicked is invalid or expired.",
"invalid_embed_link": "The embed does not exist or is invalid.",
"json_parsing_failed": "Invalid JSON", "json_parsing_failed": "Invalid JSON",
"json_prettify_invalid_body": "Couldn't prettify an invalid body, solve json syntax errors and try again", "json_prettify_invalid_body": "Couldn't prettify an invalid body, solve json syntax errors and try again",
"network_error": "There seems to be a network error. Please try again.", "network_error": "There seems to be a network error. Please try again.",
@@ -309,10 +314,12 @@
"export": { "export": {
"as_json": "Export as JSON", "as_json": "Export as JSON",
"create_secret_gist": "Create secret Gist", "create_secret_gist": "Create secret Gist",
"gist_created": "Gist created", "create_secret_gist_tooltip_text": "Export as secret Gist",
"failed": "Something went wrong while exporting",
"secret_gist_success": "Successfully exported as secret Gist",
"require_github": "Login with GitHub to create secret gist", "require_github": "Login with GitHub to create secret gist",
"title": "Export", "title": "Export",
"failed": "Something went wrong while exporting" "success": "Successfully exported"
}, },
"filter": { "filter": {
"all": "All", "all": "All",
@@ -336,6 +343,9 @@
"subscriptions": "Subscriptions", "subscriptions": "Subscriptions",
"switch_connection": "Switch connection" "switch_connection": "Switch connection"
}, },
"graphql_collections": {
"title": "GraphQL Collections"
},
"group": { "group": {
"time": "Time", "time": "Time",
"url": "URL" "url": "URL"
@@ -347,6 +357,8 @@
}, },
"helpers": { "helpers": {
"authorization": "The authorization header will be automatically generated when you send the request.", "authorization": "The authorization header will be automatically generated when you send the request.",
"collection_properties_authorization": " This authorization will be set for every request in this collection.",
"collection_properties_header": "This header will be set for every request in this collection.",
"generate_documentation_first": "Generate documentation first", "generate_documentation_first": "Generate documentation first",
"network_fail": "Unable to reach the API endpoint. Check your network connection or select a different Interceptor and try again.", "network_fail": "Unable to reach the API endpoint. Check your network connection or select a different Interceptor and try again.",
"offline": "You're using Hoppscotch offline. Updates will sync when you're online, based on workspace settings.", "offline": "You're using Hoppscotch offline. Updates will sync when you're online, based on workspace settings.",
@@ -366,7 +378,10 @@
"import": { "import": {
"collections": "Import collections", "collections": "Import collections",
"curl": "Import cURL", "curl": "Import cURL",
"environments_from_gist": "Import From Gist",
"environments_from_gist_description": "Import Hoppscotch Environments From Gist",
"failed": "Error while importing: format not recognized", "failed": "Error while importing: format not recognized",
"from_file": "Import from File",
"from_gist": "Import from Gist", "from_gist": "Import from Gist",
"from_gist_description": "Import from Gist URL", "from_gist_description": "Import from Gist URL",
"from_insomnia": "Import from Insomnia", "from_insomnia": "Import from Insomnia",
@@ -379,22 +394,20 @@
"from_openapi_description": "Import from OpenAPI specification file (YML/JSON)", "from_openapi_description": "Import from OpenAPI specification file (YML/JSON)",
"from_postman": "Import from Postman", "from_postman": "Import from Postman",
"from_postman_description": "Import from Postman collection", "from_postman_description": "Import from Postman collection",
"from_file": "Import from File",
"from_url": "Import from URL", "from_url": "Import from URL",
"gist_url": "Enter Gist URL", "gist_url": "Enter Gist URL",
"gql_collections_from_gist_description": "Import GraphQL Collections From Gist",
"hoppscotch_environment": "Hoppscotch Environment",
"hoppscotch_environment_description": "Import Hoppscotch Environment JSON file",
"import_from_url_invalid_fetch": "Couldn't get data from the url", "import_from_url_invalid_fetch": "Couldn't get data from the url",
"import_from_url_invalid_file_format": "Error while importing collections", "import_from_url_invalid_file_format": "Error while importing collections",
"import_from_url_invalid_type": "Unsupported type. accepted values are 'hoppscotch', 'openapi', 'postman', 'insomnia'", "import_from_url_invalid_type": "Unsupported type. accepted values are 'hoppscotch', 'openapi', 'postman', 'insomnia'",
"import_from_url_success": "Collections Imported", "import_from_url_success": "Collections Imported",
"insomnia_environment_description": "Import Insomnia Environment from a JSON/YAML file",
"json_description": "Import collections from a Hoppscotch Collections JSON file", "json_description": "Import collections from a Hoppscotch Collections JSON file",
"title": "Import",
"hoppscotch_environment": "Hoppscotch Environment",
"hoppscotch_environment_description": "Import Hoppscotch Environment JSON file",
"postman_environment": "Postman Environment", "postman_environment": "Postman Environment",
"postman_environment_description": "Import Postman Environment JSON file", "postman_environment_description": "Import Postman Environment from a JSON file",
"environments_from_gist": "Import From Gist", "title": "Import"
"environments_from_gist_description": "Import Hoppscotch Environments From Gist",
"gql_collections_from_gist_description": "Import GraphQL Collections From Gist"
}, },
"inspections": { "inspections": {
"description": "Inspect possible errors", "description": "Inspect possible errors",
@@ -431,9 +444,10 @@
"close_unsaved_tab": "You have unsaved changes", "close_unsaved_tab": "You have unsaved changes",
"collections": "Collections", "collections": "Collections",
"confirm": "Confirm", "confirm": "Confirm",
"customize_request": "Customize Request",
"edit_request": "Edit Request", "edit_request": "Edit Request",
"share_request":"Share Request", "import_export": "Import / Export",
"import_export": "Import / Export" "share_request": "Share Request"
}, },
"mqtt": { "mqtt": {
"already_subscribed": "You are already subscribed to this topic.", "already_subscribed": "You are already subscribed to this topic.",
@@ -574,6 +588,7 @@
"account_description": "Customize your account settings.", "account_description": "Customize your account settings.",
"account_email_description": "Your primary email address.", "account_email_description": "Your primary email address.",
"account_name_description": "This is your display name.", "account_name_description": "This is your display name.",
"additional": "Additional Settings",
"background": "Background", "background": "Background",
"black_mode": "Black", "black_mode": "Black",
"choose_language": "Choose language", "choose_language": "Choose language",
@@ -618,32 +633,32 @@
"use_experimental_url_bar": "Use experimental URL bar with environment highlighting", "use_experimental_url_bar": "Use experimental URL bar with environment highlighting",
"user": "User", "user": "User",
"verified_email": "Verified email", "verified_email": "Verified email",
"additional": "Additional Settings",
"verify_email": "Verify email" "verify_email": "Verify email"
}, },
"shared_requests":{ "shared_requests": {
"button":"Button", "button": "Button",
"button_info": "Create a 'Run in Hoppscotch' button for your website, blog or a README.", "button_info": "Create a 'Run in Hoppscotch' button for your website, blog or a README.",
"customize": "Customize",
"creating_widget": "Creating widget",
"copy_html": "Copy HTML", "copy_html": "Copy HTML",
"copy_link": "Copy Link", "copy_link": "Copy Link",
"copy_markdown": "Copy Markdown", "copy_markdown": "Copy Markdown",
"deleted":"Shared request deleted", "creating_widget": "Creating widget",
"customize": "Customize",
"deleted": "Shared request deleted",
"description": "Select a widget, you can change and customize this later", "description": "Select a widget, you can change and customize this later",
"embed":"Embed", "embed": "Embed",
"embed_info": "Add a mini 'Hoppscotch API Playground' to your website, blog or documentation.", "embed_info": "Add a mini 'Hoppscotch API Playground' to your website, blog or documentation.",
"link":"Link", "link": "Link",
"link_info": "Create a shareable link to share with anyone on the internet with view access.", "link_info": "Create a shareable link to share with anyone on the internet with view access.",
"not_found":"Shared request not found", "modified": "Shared request modified",
"not_found": "Shared request not found",
"open_new_tab": "Open in new tab", "open_new_tab": "Open in new tab",
"preview":"Preview", "preview": "Preview",
"run_in_hoppscotch":"Run in Hoppscotch", "run_in_hoppscotch": "Run in Hoppscotch",
"theme":{ "theme": {
"dark":"Dark", "dark": "Dark",
"light":"Light", "light": "Light",
"system" :"System", "system": "System",
"title":"Theme" "title": "Theme"
} }
}, },
"shortcut": { "shortcut": {
@@ -688,8 +703,8 @@
"save_request": "Save Request", "save_request": "Save Request",
"save_to_collections": "Save to Collections", "save_to_collections": "Save to Collections",
"send_request": "Send Request", "send_request": "Send Request",
"share_request": "Share Request",
"show_code": "Generate code snippet", "show_code": "Generate code snippet",
"share_request":"Share Request",
"title": "Request" "title": "Request"
}, },
"response": { "response": {
@@ -813,16 +828,16 @@
"connection_error": "Failed to connect", "connection_error": "Failed to connect",
"connection_failed": "Connection failed", "connection_failed": "Connection failed",
"connection_lost": "Connection lost", "connection_lost": "Connection lost",
"copied_to_clipboard": "Copied to clipboard",
"copied_interface_to_clipboard": "Copied {language} interface type to clipboard", "copied_interface_to_clipboard": "Copied {language} interface type to clipboard",
"copied_to_clipboard": "Copied to clipboard",
"deleted": "Deleted", "deleted": "Deleted",
"deprecated": "DEPRECATED", "deprecated": "DEPRECATED",
"disabled": "Disabled", "disabled": "Disabled",
"disconnected": "Disconnected", "disconnected": "Disconnected",
"disconnected_from": "Disconnected from {name}", "disconnected_from": "Disconnected from {name}",
"docs_generated": "Documentation generated", "docs_generated": "Documentation generated",
"download_started": "Download started",
"download_failed": "Download failed", "download_failed": "Download failed",
"download_started": "Download started",
"enabled": "Enabled", "enabled": "Enabled",
"file_imported": "File imported", "file_imported": "File imported",
"finished_in": "Finished in {duration} ms", "finished_in": "Finished in {duration} ms",
@@ -890,6 +905,7 @@
"email_do_not_match": "Email doesn't match with your account details. Contact your team owner.", "email_do_not_match": "Email doesn't match with your account details. Contact your team owner.",
"exit": "Exit Team", "exit": "Exit Team",
"exit_disabled": "Only owner cannot exit the team", "exit_disabled": "Only owner cannot exit the team",
"failed_invites": "Failed invites",
"invalid_coll_id": "Invalid collection ID", "invalid_coll_id": "Invalid collection ID",
"invalid_email_format": "Email format is invalid", "invalid_email_format": "Email format is invalid",
"invalid_id": "Invalid team ID. Contact your team owner.", "invalid_id": "Invalid team ID. Contact your team owner.",
@@ -926,13 +942,12 @@
"not_found": "Team not found. Contact your team owner.", "not_found": "Team not found. Contact your team owner.",
"not_valid_viewer": "You are not a valid viewer. Contact your team owner.", "not_valid_viewer": "You are not a valid viewer. Contact your team owner.",
"parent_coll_move": "Cannot move collection to a child collection", "parent_coll_move": "Cannot move collection to a child collection",
"success_invites": "Success invites",
"failed_invites": "Failed invites",
"pending_invites": "Pending invites", "pending_invites": "Pending invites",
"permissions": "Permissions", "permissions": "Permissions",
"same_target_destination": "Same target and destination", "same_target_destination": "Same target and destination",
"saved": "Team saved", "saved": "Team saved",
"select_a_team": "Select a team", "select_a_team": "Select a team",
"success_invites": "Success invites",
"title": "Teams", "title": "Teams",
"we_sent_invite_link": "We sent an invite link to all invitees!", "we_sent_invite_link": "We sent an invite link to all invitees!",
"we_sent_invite_link_description": "Ask all invitees to check their inbox. Click on the link to join the team." "we_sent_invite_link_description": "Ask all invitees to check their inbox. Click on the link to join the team."

View File

@@ -1,5 +1,6 @@
{ {
"action": { "action": {
"add": "Add",
"autoscroll": "Desplazamiento automático", "autoscroll": "Desplazamiento automático",
"cancel": "Cancelar", "cancel": "Cancelar",
"choose_file": "Seleccionar archivo", "choose_file": "Seleccionar archivo",
@@ -10,6 +11,7 @@
"connect": "Conectar", "connect": "Conectar",
"connecting": "Conectando", "connecting": "Conectando",
"copy": "Copiar", "copy": "Copiar",
"create": "Create",
"delete": "Borrar", "delete": "Borrar",
"disconnect": "Desconectar", "disconnect": "Desconectar",
"dismiss": "Descartar", "dismiss": "Descartar",
@@ -31,6 +33,7 @@
"open_workspace": "Abrir espacio de trabajo", "open_workspace": "Abrir espacio de trabajo",
"paste": "Pegar", "paste": "Pegar",
"prettify": "Embellecer", "prettify": "Embellecer",
"properties": "Properties",
"remove": "Eliminar", "remove": "Eliminar",
"rename": "Rename", "rename": "Rename",
"restore": "Restaurar", "restore": "Restaurar",
@@ -39,6 +42,7 @@
"scroll_to_top": "Desplazar hacia arriba", "scroll_to_top": "Desplazar hacia arriba",
"search": "Buscar", "search": "Buscar",
"send": "Enviar", "send": "Enviar",
"share": "Share",
"start": "Comenzar", "start": "Comenzar",
"starting": "Iniciando", "starting": "Iniciando",
"stop": "Detener", "stop": "Detener",
@@ -57,7 +61,9 @@
"app": { "app": {
"chat_with_us": "Habla con nosotros", "chat_with_us": "Habla con nosotros",
"contact_us": "Contáctanos", "contact_us": "Contáctanos",
"cookies": "Cookies",
"copy": "Copiar", "copy": "Copiar",
"copy_interface_type": "Copy interface type",
"copy_user_id": "Copiar token de autenticación de usuario", "copy_user_id": "Copiar token de autenticación de usuario",
"developer_option": "Opciones para desarrolladores", "developer_option": "Opciones para desarrolladores",
"developer_option_description": "Herramientas para desarrolladores que ayudan en el desarrollo y mantenimiento de Hoppscotch.", "developer_option_description": "Herramientas para desarrolladores que ayudan en el desarrollo y mantenimiento de Hoppscotch.",
@@ -73,6 +79,7 @@
"keyboard_shortcuts": "Atajos de teclado", "keyboard_shortcuts": "Atajos de teclado",
"name": "Hoppscotch", "name": "Hoppscotch",
"new_version_found": "Se ha encontrado una nueva versión. Recarga la página para usarla.", "new_version_found": "Se ha encontrado una nueva versión. Recarga la página para usarla.",
"open_in_hoppscotch": "Open in Hoppscotch",
"options": "Options", "options": "Options",
"proxy_privacy_policy": "Política de privacidad de proxy", "proxy_privacy_policy": "Política de privacidad de proxy",
"reload": "Recargar", "reload": "Recargar",
@@ -112,10 +119,27 @@
}, },
"authorization": { "authorization": {
"generate_token": "Generar token", "generate_token": "Generar token",
"graphql_headers": "Authorization Headers are sent as part of the payload to connection_init",
"include_in_url": "Incluir en la URL", "include_in_url": "Incluir en la URL",
"inherited_from": "Inherited from {auth} from Parent Collection {collection} ",
"learn": "Aprender", "learn": "Aprender",
"oauth": {
"redirect_auth_server_returned_error": "Auth Server returned an error state",
"redirect_auth_token_request_failed": "Request to get the auth token failed",
"redirect_auth_token_request_invalid_response": "Invalid Response from the Token Endpoint when requesting for an auth token",
"redirect_invalid_state": "Invalid State value present in the redirect",
"redirect_no_auth_code": "No Authorization Code present in the redirect",
"redirect_no_client_id": "No Client ID defined",
"redirect_no_client_secret": "No Client Secret Defined",
"redirect_no_code_verifier": "No Code Verifier Defined",
"redirect_no_token_endpoint": "No Token Endpoint Defined",
"something_went_wrong_on_oauth_redirect": "Something went wrong during OAuth Redirect",
"something_went_wrong_on_token_generation": "Something went wrong on token generation",
"token_generation_oidc_discovery_failed": "Failure on token generation: OpenID Connect Discovery Failed"
},
"pass_key_by": "Pasar por", "pass_key_by": "Pasar por",
"password": "Contraseña", "password": "Contraseña",
"save_to_inherit": "Please save this request in any collection to inherit the authorization",
"token": "Token", "token": "Token",
"type": "Tipo de autorización", "type": "Tipo de autorización",
"username": "Nombre de usuario" "username": "Nombre de usuario"
@@ -124,6 +148,7 @@
"created": "Colección creada", "created": "Colección creada",
"different_parent": "No se puede reordenar la colección con un padre diferente", "different_parent": "No se puede reordenar la colección con un padre diferente",
"edit": "Editar colección", "edit": "Editar colección",
"import_or_create": "Import or create a collection",
"invalid_name": "Proporciona un nombre válido para la colección.", "invalid_name": "Proporciona un nombre válido para la colección.",
"invalid_root_move": "La colección ya está en la raíz", "invalid_root_move": "La colección ya está en la raíz",
"moved": "Movido con éxito", "moved": "Movido con éxito",
@@ -132,6 +157,8 @@
"name_length_insufficient": "El nombre de la colección debe tener al menos 3 caracteres", "name_length_insufficient": "El nombre de la colección debe tener al menos 3 caracteres",
"new": "Nueva colección", "new": "Nueva colección",
"order_changed": "Orden de colección actualizada", "order_changed": "Orden de colección actualizada",
"properties": "Collection Properties",
"properties_updated": "Collection Properties Updated",
"renamed": "Colección renombrada", "renamed": "Colección renombrada",
"request_in_use": "Solicitud en uso", "request_in_use": "Solicitud en uso",
"save_as": "Guardar como", "save_as": "Guardar como",
@@ -151,6 +178,7 @@
"remove_folder": "¿Estás seguro de que deseas eliminar esta carpeta de forma permanente?", "remove_folder": "¿Estás seguro de que deseas eliminar esta carpeta de forma permanente?",
"remove_history": "¿Estás seguro de que deseas eliminar todo el historial de forma permanente?", "remove_history": "¿Estás seguro de que deseas eliminar todo el historial de forma permanente?",
"remove_request": "¿Estás seguro de que deseas eliminar esta solicitud de forma permanente?", "remove_request": "¿Estás seguro de que deseas eliminar esta solicitud de forma permanente?",
"remove_shared_request": "Are you sure you want to permanently delete this shared request?",
"remove_team": "¿Estás seguro de que deseas eliminar este equipo?", "remove_team": "¿Estás seguro de que deseas eliminar este equipo?",
"remove_telemetry": "¿Estás seguro de que deseas darse de baja de la telemetría?", "remove_telemetry": "¿Estás seguro de que deseas darse de baja de la telemetría?",
"request_change": "¿Estás seguro de que deseas descartar la solicitud actual, los cambios no guardados se perderán.", "request_change": "¿Estás seguro de que deseas descartar la solicitud actual, los cambios no guardados se perderán.",
@@ -162,6 +190,24 @@
"open_request_in_new_tab": "Open request in new tab", "open_request_in_new_tab": "Open request in new tab",
"set_environment_variable": "Set as variable" "set_environment_variable": "Set as variable"
}, },
"cookies": {
"modal": {
"cookie_expires": "Expires",
"cookie_name": "Name",
"cookie_path": "Path",
"cookie_string": "Cookie string",
"cookie_value": "Value",
"empty_domain": "Domain is empty",
"empty_domains": "Domain list is empty",
"enter_cookie_string": "Enter cookie string",
"interceptor_no_support": "Your currently selected interceptor does not support cookies. Select a different Interceptor and try again.",
"managed_tab": "Managed",
"new_domain_name": "New domain name",
"no_cookies_in_domain": "No cookies set for this domain",
"raw_tab": "Raw",
"set": "Set a cookie"
}
},
"count": { "count": {
"header": "Encabezado {count}", "header": "Encabezado {count}",
"message": "Mensaje {count}", "message": "Mensaje {count}",
@@ -192,11 +238,13 @@
"profile": "Iniciar sesión para ver tu perfil", "profile": "Iniciar sesión para ver tu perfil",
"protocols": "Los protocolos están vacíos", "protocols": "Los protocolos están vacíos",
"schema": "Conectarse a un punto final de GraphQL", "schema": "Conectarse a un punto final de GraphQL",
"shortcodes": "Aún no se han creado Shortcodes", "shared_requests": "Shared requests are empty",
"shared_requests_logout": "Login to view your shared requests or create a new one",
"subscription": "Subscriptions are empty", "subscription": "Subscriptions are empty",
"team_name": "Nombre del equipo vacío", "team_name": "Nombre del equipo vacío",
"teams": "Los equipos están vacíos", "teams": "Los equipos están vacíos",
"tests": "No hay pruebas para esta solicitud" "tests": "No hay pruebas para esta solicitud",
"shortcodes": "Aún no se han creado Shortcodes"
}, },
"environment": { "environment": {
"add_to_global": "Añadir a Global", "add_to_global": "Añadir a Global",
@@ -209,6 +257,7 @@
"empty_variables": "No variables", "empty_variables": "No variables",
"global": "Global", "global": "Global",
"global_variables": "Global variables", "global_variables": "Global variables",
"import_or_create": "Import or create a environment",
"invalid_name": "Proporciona un nombre válido para el entorno.", "invalid_name": "Proporciona un nombre válido para el entorno.",
"list": "Environment variables", "list": "Environment variables",
"my_environments": "Mis entornos", "my_environments": "Mis entornos",
@@ -232,8 +281,10 @@
"variable_list": "Lista de variables" "variable_list": "Lista de variables"
}, },
"error": { "error": {
"authproviders_load_error": "Unable to load auth providers",
"browser_support_sse": "Este navegador no parece ser compatible con los eventos enviados por el servidor.", "browser_support_sse": "Este navegador no parece ser compatible con los eventos enviados por el servidor.",
"check_console_details": "Consulta el registro de la consola para obtener más detalles.", "check_console_details": "Consulta el registro de la consola para obtener más detalles.",
"check_how_to_add_origin": "Check how you can add an origin",
"curl_invalid_format": "cURL no está formateado correctamente", "curl_invalid_format": "cURL no está formateado correctamente",
"danger_zone": "Zona de peligro", "danger_zone": "Zona de peligro",
"delete_account": "Tu cuenta es actualmente propietaria en estos equipos:", "delete_account": "Tu cuenta es actualmente propietaria en estos equipos:",
@@ -249,9 +300,12 @@
"json_prettify_invalid_body": "No se puede aplicar embellecedor a un cuerpo inválido, resuelve errores de sintaxis json y vuelve a intentarlo", "json_prettify_invalid_body": "No se puede aplicar embellecedor a un cuerpo inválido, resuelve errores de sintaxis json y vuelve a intentarlo",
"network_error": "Parece que hay un error de red. Por favor, inténtalo de nuevo.", "network_error": "Parece que hay un error de red. Por favor, inténtalo de nuevo.",
"network_fail": "No se pudo enviar la solicitud", "network_fail": "No se pudo enviar la solicitud",
"no_collections_to_export": "No collections to export. Please create a collection to get started.",
"no_duration": "Sin duración", "no_duration": "Sin duración",
"no_environments_to_export": "No environments to export. Please create an environment to get started.",
"no_results_found": "No se han encontrado coincidencias", "no_results_found": "No se han encontrado coincidencias",
"page_not_found": "No se ha podido encontrar esta página", "page_not_found": "No se ha podido encontrar esta página",
"please_install_extension": "Please install the extension and add origin to the extension.",
"proxy_error": "Proxy error", "proxy_error": "Proxy error",
"script_fail": "No se pudo ejecutar el script de solicitud previa", "script_fail": "No se pudo ejecutar el script de solicitud previa",
"something_went_wrong": "Algo salió mal", "something_went_wrong": "Algo salió mal",
@@ -260,6 +314,7 @@
"export": { "export": {
"as_json": "Exportar como JSON", "as_json": "Exportar como JSON",
"create_secret_gist": "Crear un Gist secreto", "create_secret_gist": "Crear un Gist secreto",
"failed": "Something went wrong while exporting",
"gist_created": "Gist creado", "gist_created": "Gist creado",
"require_github": "Iniciar sesión con GitHub para crear un Gist secreto", "require_github": "Iniciar sesión con GitHub para crear un Gist secreto",
"title": "Exportar" "title": "Exportar"
@@ -286,6 +341,9 @@
"subscriptions": "Suscripciones", "subscriptions": "Suscripciones",
"switch_connection": "Switch connection" "switch_connection": "Switch connection"
}, },
"graphql_collections": {
"title": "GraphQL Collections"
},
"group": { "group": {
"time": "Tiempo", "time": "Tiempo",
"url": "URL" "url": "URL"
@@ -297,6 +355,8 @@
}, },
"helpers": { "helpers": {
"authorization": "El encabezado de autorización se generará automáticamente cuando se envía la solicitud.", "authorization": "El encabezado de autorización se generará automáticamente cuando se envía la solicitud.",
"collection_properties_authorization": " This authorization will be set for every request in this collection.",
"collection_properties_header": "This header will be set for every request in this collection.",
"generate_documentation_first": "Generar la documentación primero", "generate_documentation_first": "Generar la documentación primero",
"network_fail": "No se puede acceder a la API. Comprueba tu conexión de red y vuelve a intentarlo.", "network_fail": "No se puede acceder a la API. Comprueba tu conexión de red y vuelve a intentarlo.",
"offline": "Parece estar desconectado. Es posible que los datos de este espacio de trabajo no estén actualizados.", "offline": "Parece estar desconectado. Es posible que los datos de este espacio de trabajo no estén actualizados.",
@@ -316,7 +376,10 @@
"import": { "import": {
"collections": "Importar colecciones", "collections": "Importar colecciones",
"curl": "Importar cURL", "curl": "Importar cURL",
"environments_from_gist": "Import From Gist",
"environments_from_gist_description": "Import Hoppscotch Environments From Gist",
"failed": "Importación fallida", "failed": "Importación fallida",
"from_file": "Import from File",
"from_gist": "Importar desde Gist", "from_gist": "Importar desde Gist",
"from_gist_description": "Importar desde URL de Gist", "from_gist_description": "Importar desde URL de Gist",
"from_insomnia": "Importar desde Insomnia", "from_insomnia": "Importar desde Insomnia",
@@ -331,11 +394,17 @@
"from_postman_description": "Importar desde una colección de Postman", "from_postman_description": "Importar desde una colección de Postman",
"from_url": "Importar desde una URL", "from_url": "Importar desde una URL",
"gist_url": "Introduce la URL de Gist", "gist_url": "Introduce la URL de Gist",
"gql_collections_from_gist_description": "Import GraphQL Collections From Gist",
"hoppscotch_environment": "Hoppscotch Environment",
"hoppscotch_environment_description": "Import Hoppscotch Environment JSON file",
"import_from_url_invalid_fetch": "Couldn't get data from the url", "import_from_url_invalid_fetch": "Couldn't get data from the url",
"import_from_url_invalid_file_format": "Error while importing collections", "import_from_url_invalid_file_format": "Error while importing collections",
"import_from_url_invalid_type": "Unsupported type. accepted values are 'hoppscotch', 'openapi', 'postman', 'insomnia'", "import_from_url_invalid_type": "Unsupported type. accepted values are 'hoppscotch', 'openapi', 'postman', 'insomnia'",
"import_from_url_success": "Collections Imported", "import_from_url_success": "Collections Imported",
"insomnia_environment_description": "Import Insomnia Environment from a JSON/YAML file",
"json_description": "Importar colecciones desde un archivo JSON de colecciones de Hoppscotch", "json_description": "Importar colecciones desde un archivo JSON de colecciones de Hoppscotch",
"postman_environment": "Postman Environment",
"postman_environment_description": "Import Postman Environment from a JSON file",
"title": "Importar" "title": "Importar"
}, },
"inspections": { "inspections": {
@@ -373,8 +442,10 @@
"close_unsaved_tab": "Tienes cambios sin guardar", "close_unsaved_tab": "Tienes cambios sin guardar",
"collections": "Colecciones", "collections": "Colecciones",
"confirm": "Confirmar", "confirm": "Confirmar",
"customize_request": "Customize Request",
"edit_request": "Editar solicitud", "edit_request": "Editar solicitud",
"import_export": "Importación y exportación" "import_export": "Importación y exportación",
"share_request": "Share Request"
}, },
"mqtt": { "mqtt": {
"already_subscribed": "Ya estás suscrito a este tema.", "already_subscribed": "Ya estás suscrito a este tema.",
@@ -449,13 +520,14 @@
"structured": "Estructurado", "structured": "Estructurado",
"text": "Texto" "text": "Texto"
}, },
"copy_link": "Copiar enlace",
"different_collection": "No se pueden reordenar solicitudes de diferentes colecciones", "different_collection": "No se pueden reordenar solicitudes de diferentes colecciones",
"duplicated": "Solicitud duplicada", "duplicated": "Solicitud duplicada",
"duration": "Duración", "duration": "Duración",
"enter_curl": "Ingrese cURL", "enter_curl": "Ingrese cURL",
"generate_code": "Generar código", "generate_code": "Generar código",
"generated_code": "Código generado", "generated_code": "Código generado",
"go_to_authorization_tab": "Go to Authorization tab",
"go_to_body_tab": "Go to Body tab",
"header_list": "Lista de encabezados", "header_list": "Lista de encabezados",
"invalid_name": "Proporciona un nombre para la solicitud.", "invalid_name": "Proporciona un nombre para la solicitud.",
"method": "Método", "method": "Método",
@@ -480,12 +552,14 @@
"saved": "Solicitud guardada", "saved": "Solicitud guardada",
"share": "Compartir", "share": "Compartir",
"share_description": "Comparte Hoppscotch con tus amigos", "share_description": "Comparte Hoppscotch con tus amigos",
"share_request": "Share Request",
"stop": "Stop", "stop": "Stop",
"title": "Solicitud", "title": "Solicitud",
"type": "Tipo de solicitud", "type": "Tipo de solicitud",
"url": "URL", "url": "URL",
"variables": "Variables", "variables": "Variables",
"view_my_links": "Ver mis enlaces" "view_my_links": "Ver mis enlaces",
"copy_link": "Copiar enlace"
}, },
"response": { "response": {
"audio": "Audio", "audio": "Audio",
@@ -513,6 +587,7 @@
"account_description": "Personaliza la configuración de tu cuenta.", "account_description": "Personaliza la configuración de tu cuenta.",
"account_email_description": "Tu dirección de correo electrónico principal.", "account_email_description": "Tu dirección de correo electrónico principal.",
"account_name_description": "Este es tu nombre para mostrar.", "account_name_description": "Este es tu nombre para mostrar.",
"additional": "Additional Settings",
"background": "Fondo", "background": "Fondo",
"black_mode": "Negro", "black_mode": "Negro",
"choose_language": "Elegir idioma", "choose_language": "Elegir idioma",
@@ -559,14 +634,31 @@
"verified_email": "Correo electrónico verificado", "verified_email": "Correo electrónico verificado",
"verify_email": "Verificar correo electrónico" "verify_email": "Verificar correo electrónico"
}, },
"shortcodes": { "shared_requests": {
"actions": "Acciones", "button": "Button",
"created_on": "Creado el", "button_info": "Create a 'Run in Hoppscotch' button for your website, blog or a README.",
"deleted": "Código corto eliminado", "copy_html": "Copy HTML",
"method": "Método", "copy_link": "Copy Link",
"not_found": "Shortcode no encontrado", "copy_markdown": "Copy Markdown",
"short_code": "Short code", "creating_widget": "Creating widget",
"url": "URL" "customize": "Customize",
"deleted": "Shared request deleted",
"description": "Select a widget, you can change and customize this later",
"embed": "Embed",
"embed_info": "Add a mini 'Hoppscotch API Playground' to your website, blog or documentation.",
"link": "Link",
"link_info": "Create a shareable link to share with anyone on the internet with view access.",
"modified": "Shared request modified",
"not_found": "Shared request not found",
"open_new_tab": "Open in new tab",
"preview": "Preview",
"run_in_hoppscotch": "Run in Hoppscotch",
"theme": {
"dark": "Dark",
"light": "Light",
"system": "System",
"title": "Theme"
}
}, },
"shortcut": { "shortcut": {
"general": { "general": {
@@ -596,7 +688,6 @@
"title": "Others" "title": "Others"
}, },
"request": { "request": {
"copy_request_link": "Copiar enlace de solicitud",
"delete_method": "Seleccionar método DELETE", "delete_method": "Seleccionar método DELETE",
"get_method": "Seleccionar método GET", "get_method": "Seleccionar método GET",
"head_method": "Seleccionar método HEAD", "head_method": "Seleccionar método HEAD",
@@ -611,8 +702,10 @@
"save_request": "Save Request", "save_request": "Save Request",
"save_to_collections": "Guardar en colecciones", "save_to_collections": "Guardar en colecciones",
"send_request": "Enviar solicitud", "send_request": "Enviar solicitud",
"share_request": "Share Request",
"show_code": "Generate code snippet", "show_code": "Generate code snippet",
"title": "Solicitud" "title": "Solicitud",
"copy_request_link": "Copiar enlace de solicitud"
}, },
"response": { "response": {
"copy": "Copiar la respuesta al portapapeles", "copy": "Copiar la respuesta al portapapeles",
@@ -735,6 +828,7 @@
"connection_error": "Failed to connect", "connection_error": "Failed to connect",
"connection_failed": "Error de conexión", "connection_failed": "Error de conexión",
"connection_lost": "Conexión perdida", "connection_lost": "Conexión perdida",
"copied_interface_to_clipboard": "Copied {language} interface type to clipboard",
"copied_to_clipboard": "Copiado al portapapeles", "copied_to_clipboard": "Copiado al portapapeles",
"deleted": "Eliminado", "deleted": "Eliminado",
"deprecated": "OBSOLETO", "deprecated": "OBSOLETO",
@@ -742,10 +836,12 @@
"disconnected": "Desconectado", "disconnected": "Desconectado",
"disconnected_from": "Desconectado de {name}", "disconnected_from": "Desconectado de {name}",
"docs_generated": "Documentación generada", "docs_generated": "Documentación generada",
"download_failed": "Download failed",
"download_started": "Descarga iniciada", "download_started": "Descarga iniciada",
"enabled": "Activado", "enabled": "Activado",
"file_imported": "Archivo importado", "file_imported": "Archivo importado",
"finished_in": "Terminado en {duration} ms", "finished_in": "Terminado en {duration} ms",
"hide": "Hide",
"history_deleted": "Historial eliminado", "history_deleted": "Historial eliminado",
"linewrap": "Envolver líneas", "linewrap": "Envolver líneas",
"loading": "Cargando...", "loading": "Cargando...",
@@ -756,6 +852,7 @@
"published_error": "Algo ha ido mal al publicar el mensaje: {topic} al tema: {message}", "published_error": "Algo ha ido mal al publicar el mensaje: {topic} al tema: {message}",
"published_message": "Mensaje publicado: {mensaje} al tema: {topic}", "published_message": "Mensaje publicado: {mensaje} al tema: {topic}",
"reconnection_error": "Fallo en la reconexión", "reconnection_error": "Fallo en la reconexión",
"show": "Show",
"subscribed_failed": "Error al suscribirse al tema: {topic}", "subscribed_failed": "Error al suscribirse al tema: {topic}",
"subscribed_success": "Suscrito con éxito al tema: {topic}", "subscribed_success": "Suscrito con éxito al tema: {topic}",
"unsubscribed_failed": "Error al darse de baja del tema: {topic}", "unsubscribed_failed": "Error al darse de baja del tema: {topic}",
@@ -791,6 +888,7 @@
"queries": "Consultas", "queries": "Consultas",
"query": "Consulta", "query": "Consulta",
"schema": "Esquema", "schema": "Esquema",
"shared_requests": "Shared Requests",
"socketio": "Socket.IO", "socketio": "Socket.IO",
"sse": "SSE", "sse": "SSE",
"tests": "Pruebas", "tests": "Pruebas",
@@ -807,6 +905,7 @@
"email_do_not_match": "El correo electrónico no coincide con los datos de tu cuenta. Ponte en contacto con el propietario de tu equipo.", "email_do_not_match": "El correo electrónico no coincide con los datos de tu cuenta. Ponte en contacto con el propietario de tu equipo.",
"exit": "Salir del equipo", "exit": "Salir del equipo",
"exit_disabled": "Solo el propietario puede salir del equipo", "exit_disabled": "Solo el propietario puede salir del equipo",
"failed_invites": "Failed invites",
"invalid_coll_id": "Identificador de colección no válido", "invalid_coll_id": "Identificador de colección no válido",
"invalid_email_format": "El formato de correo electrónico no es válido", "invalid_email_format": "El formato de correo electrónico no es válido",
"invalid_id": "Identificador de equipo inválido. Ponte en contacto con el propietario de tu equipo.", "invalid_id": "Identificador de equipo inválido. Ponte en contacto con el propietario de tu equipo.",
@@ -848,6 +947,7 @@
"same_target_destination": "Same target and destination", "same_target_destination": "Same target and destination",
"saved": "Equipo guardado", "saved": "Equipo guardado",
"select_a_team": "Seleccionar un equipo", "select_a_team": "Seleccionar un equipo",
"success_invites": "Success invites",
"title": "Equipos", "title": "Equipos",
"we_sent_invite_link": "¡Hemos enviado un enlace de invitación a todos los invitados!", "we_sent_invite_link": "¡Hemos enviado un enlace de invitación a todos los invitados!",
"we_sent_invite_link_description": "Pide a todos los invitados que revisen tu bandeja de entrada. Haz clic en el enlace para unirse al equipo." "we_sent_invite_link_description": "Pide a todos los invitados que revisen tu bandeja de entrada. Haz clic en el enlace para unirse al equipo."
@@ -879,5 +979,14 @@
"personal": "Mi espacio de trabajo", "personal": "Mi espacio de trabajo",
"team": "Espacio de trabajo en equipo", "team": "Espacio de trabajo en equipo",
"title": "Espacios de trabajo" "title": "Espacios de trabajo"
},
"shortcodes": {
"actions": "Acciones",
"created_on": "Creado el",
"deleted": "Código corto eliminado",
"method": "Método",
"not_found": "Shortcode no encontrado",
"short_code": "Short code",
"url": "URL"
} }
} }

View File

@@ -1,5 +1,6 @@
{ {
"action": { "action": {
"add": "Add",
"autoscroll": "Autoscroll", "autoscroll": "Autoscroll",
"cancel": "Peruuttaa", "cancel": "Peruuttaa",
"choose_file": "Valitse tiedosto", "choose_file": "Valitse tiedosto",
@@ -10,6 +11,7 @@
"connect": "Kytkeä", "connect": "Kytkeä",
"connecting": "Connecting", "connecting": "Connecting",
"copy": "Kopio", "copy": "Kopio",
"create": "Create",
"delete": "Poistaa", "delete": "Poistaa",
"disconnect": "Katkaista", "disconnect": "Katkaista",
"dismiss": "Hylkää", "dismiss": "Hylkää",
@@ -31,6 +33,7 @@
"open_workspace": "Open workspace", "open_workspace": "Open workspace",
"paste": "Paste", "paste": "Paste",
"prettify": "Koristella", "prettify": "Koristella",
"properties": "Properties",
"remove": "Poista", "remove": "Poista",
"rename": "Rename", "rename": "Rename",
"restore": "Palauttaa", "restore": "Palauttaa",
@@ -39,6 +42,7 @@
"scroll_to_top": "Scroll to top", "scroll_to_top": "Scroll to top",
"search": "Hae", "search": "Hae",
"send": "Lähettää", "send": "Lähettää",
"share": "Share",
"start": "alkaa", "start": "alkaa",
"starting": "Starting", "starting": "Starting",
"stop": "Lopettaa", "stop": "Lopettaa",
@@ -57,7 +61,9 @@
"app": { "app": {
"chat_with_us": "Juttele kanssamme", "chat_with_us": "Juttele kanssamme",
"contact_us": "Ota meihin yhteyttä", "contact_us": "Ota meihin yhteyttä",
"cookies": "Cookies",
"copy": "Kopio", "copy": "Kopio",
"copy_interface_type": "Copy interface type",
"copy_user_id": "Copy User Auth Token", "copy_user_id": "Copy User Auth Token",
"developer_option": "Developer options", "developer_option": "Developer options",
"developer_option_description": "Developer tools which helps in development and maintenance of Hoppscotch.", "developer_option_description": "Developer tools which helps in development and maintenance of Hoppscotch.",
@@ -73,6 +79,7 @@
"keyboard_shortcuts": "Pikanäppäimet", "keyboard_shortcuts": "Pikanäppäimet",
"name": "Hoppscotch", "name": "Hoppscotch",
"new_version_found": "Uusi versio löytyi. Päivitä päivittääksesi.", "new_version_found": "Uusi versio löytyi. Päivitä päivittääksesi.",
"open_in_hoppscotch": "Open in Hoppscotch",
"options": "Options", "options": "Options",
"proxy_privacy_policy": "Välityspalvelimen tietosuojakäytäntö", "proxy_privacy_policy": "Välityspalvelimen tietosuojakäytäntö",
"reload": "Lataa uudelleen", "reload": "Lataa uudelleen",
@@ -112,10 +119,27 @@
}, },
"authorization": { "authorization": {
"generate_token": "Luo tunnus", "generate_token": "Luo tunnus",
"graphql_headers": "Authorization Headers are sent as part of the payload to connection_init",
"include_in_url": "Sisällytä URL -osoitteeseen", "include_in_url": "Sisällytä URL -osoitteeseen",
"inherited_from": "Inherited from {auth} from Parent Collection {collection} ",
"learn": "Opi kuinka", "learn": "Opi kuinka",
"oauth": {
"redirect_auth_server_returned_error": "Auth Server returned an error state",
"redirect_auth_token_request_failed": "Request to get the auth token failed",
"redirect_auth_token_request_invalid_response": "Invalid Response from the Token Endpoint when requesting for an auth token",
"redirect_invalid_state": "Invalid State value present in the redirect",
"redirect_no_auth_code": "No Authorization Code present in the redirect",
"redirect_no_client_id": "No Client ID defined",
"redirect_no_client_secret": "No Client Secret Defined",
"redirect_no_code_verifier": "No Code Verifier Defined",
"redirect_no_token_endpoint": "No Token Endpoint Defined",
"something_went_wrong_on_oauth_redirect": "Something went wrong during OAuth Redirect",
"something_went_wrong_on_token_generation": "Something went wrong on token generation",
"token_generation_oidc_discovery_failed": "Failure on token generation: OpenID Connect Discovery Failed"
},
"pass_key_by": "Pass by", "pass_key_by": "Pass by",
"password": "Salasana", "password": "Salasana",
"save_to_inherit": "Please save this request in any collection to inherit the authorization",
"token": "Token", "token": "Token",
"type": "Valtuustyyppi", "type": "Valtuustyyppi",
"username": "Käyttäjätunnus" "username": "Käyttäjätunnus"
@@ -124,6 +148,7 @@
"created": "Kokoelma luotu", "created": "Kokoelma luotu",
"different_parent": "Cannot reorder collection with different parent", "different_parent": "Cannot reorder collection with different parent",
"edit": "Muokkaa kokoelmaa", "edit": "Muokkaa kokoelmaa",
"import_or_create": "Import or create a collection",
"invalid_name": "Anna kokoelmalle kelvollinen nimi", "invalid_name": "Anna kokoelmalle kelvollinen nimi",
"invalid_root_move": "Collection already in the root", "invalid_root_move": "Collection already in the root",
"moved": "Moved Successfully", "moved": "Moved Successfully",
@@ -132,6 +157,8 @@
"name_length_insufficient": "Collection name should be at least 3 characters long", "name_length_insufficient": "Collection name should be at least 3 characters long",
"new": "Uusi kokoelma", "new": "Uusi kokoelma",
"order_changed": "Collection Order Updated", "order_changed": "Collection Order Updated",
"properties": "Collection Properties",
"properties_updated": "Collection Properties Updated",
"renamed": "Kokoelma nimetty uudelleen", "renamed": "Kokoelma nimetty uudelleen",
"request_in_use": "Request in use", "request_in_use": "Request in use",
"save_as": "Tallenna nimellä", "save_as": "Tallenna nimellä",
@@ -151,6 +178,7 @@
"remove_folder": "Haluatko varmasti poistaa tämän kansion pysyvästi?", "remove_folder": "Haluatko varmasti poistaa tämän kansion pysyvästi?",
"remove_history": "Haluatko varmasti poistaa koko historian pysyvästi?", "remove_history": "Haluatko varmasti poistaa koko historian pysyvästi?",
"remove_request": "Haluatko varmasti poistaa tämän pyynnön pysyvästi?", "remove_request": "Haluatko varmasti poistaa tämän pyynnön pysyvästi?",
"remove_shared_request": "Are you sure you want to permanently delete this shared request?",
"remove_team": "Haluatko varmasti poistaa tämän ryhmän?", "remove_team": "Haluatko varmasti poistaa tämän ryhmän?",
"remove_telemetry": "Haluatko varmasti poistaa telemetrian käytöstä?", "remove_telemetry": "Haluatko varmasti poistaa telemetrian käytöstä?",
"request_change": "Are you sure you want to discard current request, unsaved changes will be lost.", "request_change": "Are you sure you want to discard current request, unsaved changes will be lost.",
@@ -162,6 +190,24 @@
"open_request_in_new_tab": "Open request in new tab", "open_request_in_new_tab": "Open request in new tab",
"set_environment_variable": "Set as variable" "set_environment_variable": "Set as variable"
}, },
"cookies": {
"modal": {
"cookie_expires": "Expires",
"cookie_name": "Name",
"cookie_path": "Path",
"cookie_string": "Cookie string",
"cookie_value": "Value",
"empty_domain": "Domain is empty",
"empty_domains": "Domain list is empty",
"enter_cookie_string": "Enter cookie string",
"interceptor_no_support": "Your currently selected interceptor does not support cookies. Select a different Interceptor and try again.",
"managed_tab": "Managed",
"new_domain_name": "New domain name",
"no_cookies_in_domain": "No cookies set for this domain",
"raw_tab": "Raw",
"set": "Set a cookie"
}
},
"count": { "count": {
"header": "Otsikko {count}", "header": "Otsikko {count}",
"message": "Viesti {count}", "message": "Viesti {count}",
@@ -192,11 +238,13 @@
"profile": "Login to view your profile", "profile": "Login to view your profile",
"protocols": "Protokollat ovat tyhjiä", "protocols": "Protokollat ovat tyhjiä",
"schema": "Muodosta yhteys GraphQL -päätepisteeseen", "schema": "Muodosta yhteys GraphQL -päätepisteeseen",
"shortcodes": "Shortcodes are empty", "shared_requests": "Shared requests are empty",
"shared_requests_logout": "Login to view your shared requests or create a new one",
"subscription": "Subscriptions are empty", "subscription": "Subscriptions are empty",
"team_name": "Joukkueen nimi tyhjä", "team_name": "Joukkueen nimi tyhjä",
"teams": "Joukkueet ovat tyhjiä", "teams": "Joukkueet ovat tyhjiä",
"tests": "Tätä pyyntöä ei ole testattu" "tests": "Tätä pyyntöä ei ole testattu",
"shortcodes": "Shortcodes are empty"
}, },
"environment": { "environment": {
"add_to_global": "Add to Global", "add_to_global": "Add to Global",
@@ -209,6 +257,7 @@
"empty_variables": "No variables", "empty_variables": "No variables",
"global": "Global", "global": "Global",
"global_variables": "Global variables", "global_variables": "Global variables",
"import_or_create": "Import or create a environment",
"invalid_name": "Anna ympäristölle kelvollinen nimi", "invalid_name": "Anna ympäristölle kelvollinen nimi",
"list": "Environment variables", "list": "Environment variables",
"my_environments": "My Environments", "my_environments": "My Environments",
@@ -232,8 +281,10 @@
"variable_list": "Muuttujien luettelo" "variable_list": "Muuttujien luettelo"
}, },
"error": { "error": {
"authproviders_load_error": "Unable to load auth providers",
"browser_support_sse": "Tämä selain ei näytä tukevan palvelimen lähettämiä tapahtumia.", "browser_support_sse": "Tämä selain ei näytä tukevan palvelimen lähettämiä tapahtumia.",
"check_console_details": "Katso lisätietoja konsolilokista.", "check_console_details": "Katso lisätietoja konsolilokista.",
"check_how_to_add_origin": "Check how you can add an origin",
"curl_invalid_format": "cURL ei ole alustettu oikein", "curl_invalid_format": "cURL ei ole alustettu oikein",
"danger_zone": "Danger zone", "danger_zone": "Danger zone",
"delete_account": "Your account is currently an owner in these teams:", "delete_account": "Your account is currently an owner in these teams:",
@@ -249,9 +300,12 @@
"json_prettify_invalid_body": "Virheellistä runkoa ei voitu määrittää, ratkaista json -syntaksivirheitä ja yrittää uudelleen", "json_prettify_invalid_body": "Virheellistä runkoa ei voitu määrittää, ratkaista json -syntaksivirheitä ja yrittää uudelleen",
"network_error": "There seems to be a network error. Please try again.", "network_error": "There seems to be a network error. Please try again.",
"network_fail": "Pyyntöä ei voitu lähettää", "network_fail": "Pyyntöä ei voitu lähettää",
"no_collections_to_export": "No collections to export. Please create a collection to get started.",
"no_duration": "Ei kestoa", "no_duration": "Ei kestoa",
"no_environments_to_export": "No environments to export. Please create an environment to get started.",
"no_results_found": "No matches found", "no_results_found": "No matches found",
"page_not_found": "This page could not be found", "page_not_found": "This page could not be found",
"please_install_extension": "Please install the extension and add origin to the extension.",
"proxy_error": "Proxy error", "proxy_error": "Proxy error",
"script_fail": "Ennakkopyyntöskriptiä ei voitu suorittaa", "script_fail": "Ennakkopyyntöskriptiä ei voitu suorittaa",
"something_went_wrong": "Jotain meni pieleen", "something_went_wrong": "Jotain meni pieleen",
@@ -260,6 +314,7 @@
"export": { "export": {
"as_json": "Vie JSON -muodossa", "as_json": "Vie JSON -muodossa",
"create_secret_gist": "Luo salainen ydin", "create_secret_gist": "Luo salainen ydin",
"failed": "Something went wrong while exporting",
"gist_created": "Gist luotu", "gist_created": "Gist luotu",
"require_github": "Kirjaudu sisään GitHubilla luodaksesi salaisen sisällön", "require_github": "Kirjaudu sisään GitHubilla luodaksesi salaisen sisällön",
"title": "Export" "title": "Export"
@@ -286,6 +341,9 @@
"subscriptions": "Tilaukset", "subscriptions": "Tilaukset",
"switch_connection": "Switch connection" "switch_connection": "Switch connection"
}, },
"graphql_collections": {
"title": "GraphQL Collections"
},
"group": { "group": {
"time": "Time", "time": "Time",
"url": "URL" "url": "URL"
@@ -297,6 +355,8 @@
}, },
"helpers": { "helpers": {
"authorization": "Valtuutusotsikko luodaan automaattisesti, kun lähetät pyynnön.", "authorization": "Valtuutusotsikko luodaan automaattisesti, kun lähetät pyynnön.",
"collection_properties_authorization": " This authorization will be set for every request in this collection.",
"collection_properties_header": "This header will be set for every request in this collection.",
"generate_documentation_first": "Luo asiakirjat ensin", "generate_documentation_first": "Luo asiakirjat ensin",
"network_fail": "Sovellusliittymän päätepistettä ei voi saavuttaa. Tarkista verkkoyhteys ja yritä uudelleen.", "network_fail": "Sovellusliittymän päätepistettä ei voi saavuttaa. Tarkista verkkoyhteys ja yritä uudelleen.",
"offline": "Näytät olevan offline -tilassa. Tämän työtilan tiedot eivät ehkä ole ajan tasalla.", "offline": "Näytät olevan offline -tilassa. Tämän työtilan tiedot eivät ehkä ole ajan tasalla.",
@@ -316,7 +376,10 @@
"import": { "import": {
"collections": "Tuo kokoelmia", "collections": "Tuo kokoelmia",
"curl": "Tuo cURL", "curl": "Tuo cURL",
"environments_from_gist": "Import From Gist",
"environments_from_gist_description": "Import Hoppscotch Environments From Gist",
"failed": "Tuonti epäonnistui", "failed": "Tuonti epäonnistui",
"from_file": "Import from File",
"from_gist": "Tuo Gististä", "from_gist": "Tuo Gististä",
"from_gist_description": "Import from Gist URL", "from_gist_description": "Import from Gist URL",
"from_insomnia": "Import from Insomnia", "from_insomnia": "Import from Insomnia",
@@ -331,11 +394,17 @@
"from_postman_description": "Import from Postman collection", "from_postman_description": "Import from Postman collection",
"from_url": "Import from URL", "from_url": "Import from URL",
"gist_url": "Anna Gist URL", "gist_url": "Anna Gist URL",
"gql_collections_from_gist_description": "Import GraphQL Collections From Gist",
"hoppscotch_environment": "Hoppscotch Environment",
"hoppscotch_environment_description": "Import Hoppscotch Environment JSON file",
"import_from_url_invalid_fetch": "Couldn't get data from the url", "import_from_url_invalid_fetch": "Couldn't get data from the url",
"import_from_url_invalid_file_format": "Error while importing collections", "import_from_url_invalid_file_format": "Error while importing collections",
"import_from_url_invalid_type": "Unsupported type. accepted values are 'hoppscotch', 'openapi', 'postman', 'insomnia'", "import_from_url_invalid_type": "Unsupported type. accepted values are 'hoppscotch', 'openapi', 'postman', 'insomnia'",
"import_from_url_success": "Collections Imported", "import_from_url_success": "Collections Imported",
"insomnia_environment_description": "Import Insomnia Environment from a JSON/YAML file",
"json_description": "Import collections from a Hoppscotch Collections JSON file", "json_description": "Import collections from a Hoppscotch Collections JSON file",
"postman_environment": "Postman Environment",
"postman_environment_description": "Import Postman Environment from a JSON file",
"title": "Tuonti" "title": "Tuonti"
}, },
"inspections": { "inspections": {
@@ -373,8 +442,10 @@
"close_unsaved_tab": "You have unsaved changes", "close_unsaved_tab": "You have unsaved changes",
"collections": "Kokoelmat", "collections": "Kokoelmat",
"confirm": "Vahvistaa", "confirm": "Vahvistaa",
"customize_request": "Customize Request",
"edit_request": "Muokkaa pyyntöä", "edit_request": "Muokkaa pyyntöä",
"import_export": "Tuonti ja vienti" "import_export": "Tuonti ja vienti",
"share_request": "Share Request"
}, },
"mqtt": { "mqtt": {
"already_subscribed": "You are already subscribed to this topic.", "already_subscribed": "You are already subscribed to this topic.",
@@ -449,13 +520,14 @@
"structured": "Structured", "structured": "Structured",
"text": "Text" "text": "Text"
}, },
"copy_link": "Kopioi linkki",
"different_collection": "Cannot reorder requests from different collections", "different_collection": "Cannot reorder requests from different collections",
"duplicated": "Request duplicated", "duplicated": "Request duplicated",
"duration": "Kesto", "duration": "Kesto",
"enter_curl": "Kirjoita cURL", "enter_curl": "Kirjoita cURL",
"generate_code": "Luo koodi", "generate_code": "Luo koodi",
"generated_code": "Luotu koodi", "generated_code": "Luotu koodi",
"go_to_authorization_tab": "Go to Authorization tab",
"go_to_body_tab": "Go to Body tab",
"header_list": "Otsikkoluettelo", "header_list": "Otsikkoluettelo",
"invalid_name": "Anna pyynnölle nimi", "invalid_name": "Anna pyynnölle nimi",
"method": "Menetelmä", "method": "Menetelmä",
@@ -480,12 +552,14 @@
"saved": "Pyyntö tallennettu", "saved": "Pyyntö tallennettu",
"share": "Jaa", "share": "Jaa",
"share_description": "Share Hoppscotch with your friends", "share_description": "Share Hoppscotch with your friends",
"share_request": "Share Request",
"stop": "Stop", "stop": "Stop",
"title": "Pyyntö", "title": "Pyyntö",
"type": "Pyynnön tyyppi", "type": "Pyynnön tyyppi",
"url": "URL -osoite", "url": "URL -osoite",
"variables": "Muuttujat", "variables": "Muuttujat",
"view_my_links": "View my links" "view_my_links": "View my links",
"copy_link": "Kopioi linkki"
}, },
"response": { "response": {
"audio": "Audio", "audio": "Audio",
@@ -513,6 +587,7 @@
"account_description": "Muokkaa tilisi asetuksia.", "account_description": "Muokkaa tilisi asetuksia.",
"account_email_description": "Ensisijainen sähköpostiosoitteesi.", "account_email_description": "Ensisijainen sähköpostiosoitteesi.",
"account_name_description": "Tämä on näyttönimesi.", "account_name_description": "Tämä on näyttönimesi.",
"additional": "Additional Settings",
"background": "Tausta", "background": "Tausta",
"black_mode": "Musta", "black_mode": "Musta",
"choose_language": "Valitse kieli", "choose_language": "Valitse kieli",
@@ -559,14 +634,31 @@
"verified_email": "Verified email", "verified_email": "Verified email",
"verify_email": "Verify email" "verify_email": "Verify email"
}, },
"shortcodes": { "shared_requests": {
"actions": "Actions", "button": "Button",
"created_on": "Created on", "button_info": "Create a 'Run in Hoppscotch' button for your website, blog or a README.",
"deleted": "Shortcode deleted", "copy_html": "Copy HTML",
"method": "Method", "copy_link": "Copy Link",
"not_found": "Shortcode not found", "copy_markdown": "Copy Markdown",
"short_code": "Short code", "creating_widget": "Creating widget",
"url": "URL" "customize": "Customize",
"deleted": "Shared request deleted",
"description": "Select a widget, you can change and customize this later",
"embed": "Embed",
"embed_info": "Add a mini 'Hoppscotch API Playground' to your website, blog or documentation.",
"link": "Link",
"link_info": "Create a shareable link to share with anyone on the internet with view access.",
"modified": "Shared request modified",
"not_found": "Shared request not found",
"open_new_tab": "Open in new tab",
"preview": "Preview",
"run_in_hoppscotch": "Run in Hoppscotch",
"theme": {
"dark": "Dark",
"light": "Light",
"system": "System",
"title": "Theme"
}
}, },
"shortcut": { "shortcut": {
"general": { "general": {
@@ -596,7 +688,6 @@
"title": "Others" "title": "Others"
}, },
"request": { "request": {
"copy_request_link": "Kopioi pyyntölinkki",
"delete_method": "Valitse POISTA menetelmä", "delete_method": "Valitse POISTA menetelmä",
"get_method": "Valitse GET -menetelmä", "get_method": "Valitse GET -menetelmä",
"head_method": "Valitse HEAD -menetelmä", "head_method": "Valitse HEAD -menetelmä",
@@ -611,8 +702,10 @@
"save_request": "Save Request", "save_request": "Save Request",
"save_to_collections": "Tallenna kokoelmiin", "save_to_collections": "Tallenna kokoelmiin",
"send_request": "Lähetä pyyntö", "send_request": "Lähetä pyyntö",
"share_request": "Share Request",
"show_code": "Generate code snippet", "show_code": "Generate code snippet",
"title": "Pyyntö" "title": "Pyyntö",
"copy_request_link": "Kopioi pyyntölinkki"
}, },
"response": { "response": {
"copy": "Copy response to clipboard", "copy": "Copy response to clipboard",
@@ -735,6 +828,7 @@
"connection_error": "Failed to connect", "connection_error": "Failed to connect",
"connection_failed": "Connection failed", "connection_failed": "Connection failed",
"connection_lost": "Connection lost", "connection_lost": "Connection lost",
"copied_interface_to_clipboard": "Copied {language} interface type to clipboard",
"copied_to_clipboard": "Kopioitu leikepöydälle", "copied_to_clipboard": "Kopioitu leikepöydälle",
"deleted": "Poistettu", "deleted": "Poistettu",
"deprecated": "POISTETTU", "deprecated": "POISTETTU",
@@ -742,10 +836,12 @@
"disconnected": "Yhteys katkaistu", "disconnected": "Yhteys katkaistu",
"disconnected_from": "Yhteys katkaistu: {name}", "disconnected_from": "Yhteys katkaistu: {name}",
"docs_generated": "Dokumentaatio luotu", "docs_generated": "Dokumentaatio luotu",
"download_failed": "Download failed",
"download_started": "Lataus aloitettu", "download_started": "Lataus aloitettu",
"enabled": "Käytössä", "enabled": "Käytössä",
"file_imported": "Tiedosto tuotu", "file_imported": "Tiedosto tuotu",
"finished_in": "Valmis {duration} ms", "finished_in": "Valmis {duration} ms",
"hide": "Hide",
"history_deleted": "Historia poistettu", "history_deleted": "Historia poistettu",
"linewrap": "Kääri linjat", "linewrap": "Kääri linjat",
"loading": "Ladataan...", "loading": "Ladataan...",
@@ -756,6 +852,7 @@
"published_error": "Something went wrong while publishing msg: {topic} to topic: {message}", "published_error": "Something went wrong while publishing msg: {topic} to topic: {message}",
"published_message": "Published message: {message} to topic: {topic}", "published_message": "Published message: {message} to topic: {topic}",
"reconnection_error": "Failed to reconnect", "reconnection_error": "Failed to reconnect",
"show": "Show",
"subscribed_failed": "Failed to subscribe to topic: {topic}", "subscribed_failed": "Failed to subscribe to topic: {topic}",
"subscribed_success": "Successfully subscribed to topic: {topic}", "subscribed_success": "Successfully subscribed to topic: {topic}",
"unsubscribed_failed": "Failed to unsubscribe from topic: {topic}", "unsubscribed_failed": "Failed to unsubscribe from topic: {topic}",
@@ -791,6 +888,7 @@
"queries": "Kyselyt", "queries": "Kyselyt",
"query": "Kysely", "query": "Kysely",
"schema": "Schema", "schema": "Schema",
"shared_requests": "Shared Requests",
"socketio": "Pistorasia.IO", "socketio": "Pistorasia.IO",
"sse": "SSE", "sse": "SSE",
"tests": "Testit", "tests": "Testit",
@@ -807,6 +905,7 @@
"email_do_not_match": "Email doesn't match with your account details. Contact your team owner.", "email_do_not_match": "Email doesn't match with your account details. Contact your team owner.",
"exit": "Poistu tiimistä", "exit": "Poistu tiimistä",
"exit_disabled": "Vain omistaja ei voi poistua tiimistä", "exit_disabled": "Vain omistaja ei voi poistua tiimistä",
"failed_invites": "Failed invites",
"invalid_coll_id": "Invalid collection ID", "invalid_coll_id": "Invalid collection ID",
"invalid_email_format": "Sähköpostin muoto on virheellinen", "invalid_email_format": "Sähköpostin muoto on virheellinen",
"invalid_id": "Invalid team ID. Contact your team owner.", "invalid_id": "Invalid team ID. Contact your team owner.",
@@ -848,6 +947,7 @@
"same_target_destination": "Same target and destination", "same_target_destination": "Same target and destination",
"saved": "Joukkue tallennettu", "saved": "Joukkue tallennettu",
"select_a_team": "Select a team", "select_a_team": "Select a team",
"success_invites": "Success invites",
"title": "Joukkueet", "title": "Joukkueet",
"we_sent_invite_link": "We sent an invite link to all invitees!", "we_sent_invite_link": "We sent an invite link to all invitees!",
"we_sent_invite_link_description": "Ask all invitees to check their inbox. Click on the link to join the team." "we_sent_invite_link_description": "Ask all invitees to check their inbox. Click on the link to join the team."
@@ -879,5 +979,14 @@
"personal": "My Workspace", "personal": "My Workspace",
"team": "Team Workspace", "team": "Team Workspace",
"title": "Workspaces" "title": "Workspaces"
},
"shortcodes": {
"actions": "Actions",
"created_on": "Created on",
"deleted": "Shortcode deleted",
"method": "Method",
"not_found": "Shortcode not found",
"short_code": "Short code",
"url": "URL"
} }
} }

View File

@@ -1,5 +1,6 @@
{ {
"action": { "action": {
"add": "Add",
"autoscroll": "Autoscroll", "autoscroll": "Autoscroll",
"cancel": "Annuler", "cancel": "Annuler",
"choose_file": "Choisir un fichier", "choose_file": "Choisir un fichier",
@@ -10,6 +11,7 @@
"connect": "Connecter", "connect": "Connecter",
"connecting": "Connecting", "connecting": "Connecting",
"copy": "Copier", "copy": "Copier",
"create": "Create",
"delete": "Supprimer", "delete": "Supprimer",
"disconnect": "Déconnecter", "disconnect": "Déconnecter",
"dismiss": "Rejeter", "dismiss": "Rejeter",
@@ -31,6 +33,7 @@
"open_workspace": "Ouvrir un espace de travail", "open_workspace": "Ouvrir un espace de travail",
"paste": "Coller", "paste": "Coller",
"prettify": "Formater", "prettify": "Formater",
"properties": "Properties",
"remove": "Supprimer", "remove": "Supprimer",
"rename": "Rename", "rename": "Rename",
"restore": "Restaurer", "restore": "Restaurer",
@@ -39,6 +42,7 @@
"scroll_to_top": "Scroll to top", "scroll_to_top": "Scroll to top",
"search": "Chercher", "search": "Chercher",
"send": "Envoyer", "send": "Envoyer",
"share": "Share",
"start": "Démarrer", "start": "Démarrer",
"starting": "Starting", "starting": "Starting",
"stop": "Arrêter", "stop": "Arrêter",
@@ -57,7 +61,9 @@
"app": { "app": {
"chat_with_us": "Discuter avec nous", "chat_with_us": "Discuter avec nous",
"contact_us": "Nous contacter", "contact_us": "Nous contacter",
"cookies": "Cookies",
"copy": "Copier", "copy": "Copier",
"copy_interface_type": "Copy interface type",
"copy_user_id": "Copier le jeton d'authentification de l'utilisateur", "copy_user_id": "Copier le jeton d'authentification de l'utilisateur",
"developer_option": "Options pour les développeurs", "developer_option": "Options pour les développeurs",
"developer_option_description": "Des outils pour les développeurs qui aident au développement et à la maintenance de Hoppscotch.", "developer_option_description": "Des outils pour les développeurs qui aident au développement et à la maintenance de Hoppscotch.",
@@ -73,6 +79,7 @@
"keyboard_shortcuts": "Raccourcis clavier", "keyboard_shortcuts": "Raccourcis clavier",
"name": "Hoppscotch", "name": "Hoppscotch",
"new_version_found": "Nouvelle version trouvée. Actualiser pour mettre à jour.", "new_version_found": "Nouvelle version trouvée. Actualiser pour mettre à jour.",
"open_in_hoppscotch": "Open in Hoppscotch",
"options": "Options", "options": "Options",
"proxy_privacy_policy": "Politique de confidentialité du proxy", "proxy_privacy_policy": "Politique de confidentialité du proxy",
"reload": "Recharger", "reload": "Recharger",
@@ -112,10 +119,27 @@
}, },
"authorization": { "authorization": {
"generate_token": "Générer un jeton", "generate_token": "Générer un jeton",
"graphql_headers": "Authorization Headers are sent as part of the payload to connection_init",
"include_in_url": "Inclure dans l'URL", "include_in_url": "Inclure dans l'URL",
"inherited_from": "Inherited from {auth} from Parent Collection {collection} ",
"learn": "Apprendre comment", "learn": "Apprendre comment",
"oauth": {
"redirect_auth_server_returned_error": "Auth Server returned an error state",
"redirect_auth_token_request_failed": "Request to get the auth token failed",
"redirect_auth_token_request_invalid_response": "Invalid Response from the Token Endpoint when requesting for an auth token",
"redirect_invalid_state": "Invalid State value present in the redirect",
"redirect_no_auth_code": "No Authorization Code present in the redirect",
"redirect_no_client_id": "No Client ID defined",
"redirect_no_client_secret": "No Client Secret Defined",
"redirect_no_code_verifier": "No Code Verifier Defined",
"redirect_no_token_endpoint": "No Token Endpoint Defined",
"something_went_wrong_on_oauth_redirect": "Something went wrong during OAuth Redirect",
"something_went_wrong_on_token_generation": "Something went wrong on token generation",
"token_generation_oidc_discovery_failed": "Failure on token generation: OpenID Connect Discovery Failed"
},
"pass_key_by": "Pass by", "pass_key_by": "Pass by",
"password": "Mot de passe", "password": "Mot de passe",
"save_to_inherit": "Please save this request in any collection to inherit the authorization",
"token": "Jeton", "token": "Jeton",
"type": "Type d'autorisation", "type": "Type d'autorisation",
"username": "Nom d'utilisateur" "username": "Nom d'utilisateur"
@@ -124,6 +148,7 @@
"created": "Collection créée", "created": "Collection créée",
"different_parent": "Cannot reorder collection with different parent", "different_parent": "Cannot reorder collection with different parent",
"edit": "Modifier la collection", "edit": "Modifier la collection",
"import_or_create": "Import or create a collection",
"invalid_name": "Veuillez fournir un nom valide pour la collection", "invalid_name": "Veuillez fournir un nom valide pour la collection",
"invalid_root_move": "Collection already in the root", "invalid_root_move": "Collection already in the root",
"moved": "Moved Successfully", "moved": "Moved Successfully",
@@ -132,6 +157,8 @@
"name_length_insufficient": "Le nom de la collection doit comporter au moins 3 caractères", "name_length_insufficient": "Le nom de la collection doit comporter au moins 3 caractères",
"new": "Nouvelle collection", "new": "Nouvelle collection",
"order_changed": "Collection Order Updated", "order_changed": "Collection Order Updated",
"properties": "Collection Properties",
"properties_updated": "Collection Properties Updated",
"renamed": "Collection renommée", "renamed": "Collection renommée",
"request_in_use": "Demande en cours d'utilisation", "request_in_use": "Demande en cours d'utilisation",
"save_as": "Enregistrer sous", "save_as": "Enregistrer sous",
@@ -151,6 +178,7 @@
"remove_folder": "Voulez-vous vraiment supprimer définitivement ce dossier ?", "remove_folder": "Voulez-vous vraiment supprimer définitivement ce dossier ?",
"remove_history": "Voulez-vous vraiment supprimer définitivement tout l'historique ?", "remove_history": "Voulez-vous vraiment supprimer définitivement tout l'historique ?",
"remove_request": "Voulez-vous vraiment supprimer définitivement cette requête ?", "remove_request": "Voulez-vous vraiment supprimer définitivement cette requête ?",
"remove_shared_request": "Are you sure you want to permanently delete this shared request?",
"remove_team": "Voulez-vous vraiment supprimer cette équipe ?", "remove_team": "Voulez-vous vraiment supprimer cette équipe ?",
"remove_telemetry": "Êtes-vous sûr de vouloir désactiver la télémétrie ?", "remove_telemetry": "Êtes-vous sûr de vouloir désactiver la télémétrie ?",
"request_change": "Are you sure you want to discard current request, unsaved changes will be lost.", "request_change": "Are you sure you want to discard current request, unsaved changes will be lost.",
@@ -162,6 +190,24 @@
"open_request_in_new_tab": "Open request in new tab", "open_request_in_new_tab": "Open request in new tab",
"set_environment_variable": "Set as variable" "set_environment_variable": "Set as variable"
}, },
"cookies": {
"modal": {
"cookie_expires": "Expires",
"cookie_name": "Name",
"cookie_path": "Path",
"cookie_string": "Cookie string",
"cookie_value": "Value",
"empty_domain": "Domain is empty",
"empty_domains": "Domain list is empty",
"enter_cookie_string": "Enter cookie string",
"interceptor_no_support": "Your currently selected interceptor does not support cookies. Select a different Interceptor and try again.",
"managed_tab": "Managed",
"new_domain_name": "New domain name",
"no_cookies_in_domain": "No cookies set for this domain",
"raw_tab": "Raw",
"set": "Set a cookie"
}
},
"count": { "count": {
"header": "En-tête {count}", "header": "En-tête {count}",
"message": "Message {compte}", "message": "Message {compte}",
@@ -192,11 +238,13 @@
"profile": "Connectez-vous pour voir votre profil", "profile": "Connectez-vous pour voir votre profil",
"protocols": "Les protocoles sont vides", "protocols": "Les protocoles sont vides",
"schema": "Se connecter à un point de terminaison GraphQL", "schema": "Se connecter à un point de terminaison GraphQL",
"shortcodes": "Les shortcodes sont vides", "shared_requests": "Shared requests are empty",
"shared_requests_logout": "Login to view your shared requests or create a new one",
"subscription": "Subscriptions are empty", "subscription": "Subscriptions are empty",
"team_name": "Nom de l'équipe vide", "team_name": "Nom de l'équipe vide",
"teams": "Les équipes sont vides", "teams": "Les équipes sont vides",
"tests": "Il n'y a pas de tests pour cette requête" "tests": "Il n'y a pas de tests pour cette requête",
"shortcodes": "Les shortcodes sont vides"
}, },
"environment": { "environment": {
"add_to_global": "Ajouter dans Global", "add_to_global": "Ajouter dans Global",
@@ -209,6 +257,7 @@
"empty_variables": "No variables", "empty_variables": "No variables",
"global": "Global", "global": "Global",
"global_variables": "Global variables", "global_variables": "Global variables",
"import_or_create": "Import or create a environment",
"invalid_name": "Veuillez fournir un nom valide pour l'environnement", "invalid_name": "Veuillez fournir un nom valide pour l'environnement",
"list": "Environment variables", "list": "Environment variables",
"my_environments": "My Environments", "my_environments": "My Environments",
@@ -232,8 +281,10 @@
"variable_list": "Liste des variables" "variable_list": "Liste des variables"
}, },
"error": { "error": {
"authproviders_load_error": "Unable to load auth providers",
"browser_support_sse": "Ce navigateur ne semble pas prendre en charge les événements envoyés par le serveur.", "browser_support_sse": "Ce navigateur ne semble pas prendre en charge les événements envoyés par le serveur.",
"check_console_details": "Consultez le journal de la console pour plus de détails.", "check_console_details": "Consultez le journal de la console pour plus de détails.",
"check_how_to_add_origin": "Check how you can add an origin",
"curl_invalid_format": "cURL n'est pas formaté correctement", "curl_invalid_format": "cURL n'est pas formaté correctement",
"danger_zone": "Danger zone", "danger_zone": "Danger zone",
"delete_account": "Your account is currently an owner in these teams:", "delete_account": "Your account is currently an owner in these teams:",
@@ -249,9 +300,12 @@
"json_prettify_invalid_body": "Impossible de formater un corps non valide, résolvez les erreurs de syntaxe json et réessayez", "json_prettify_invalid_body": "Impossible de formater un corps non valide, résolvez les erreurs de syntaxe json et réessayez",
"network_error": "Il semble y avoir une erreur de réseau. Veuillez réessayer.", "network_error": "Il semble y avoir une erreur de réseau. Veuillez réessayer.",
"network_fail": "Impossible d'envoyer la requête", "network_fail": "Impossible d'envoyer la requête",
"no_collections_to_export": "No collections to export. Please create a collection to get started.",
"no_duration": "Pas de durée", "no_duration": "Pas de durée",
"no_environments_to_export": "No environments to export. Please create an environment to get started.",
"no_results_found": "Aucune correspondance trouvée", "no_results_found": "Aucune correspondance trouvée",
"page_not_found": "Cette page n'a pas pu être trouvée", "page_not_found": "Cette page n'a pas pu être trouvée",
"please_install_extension": "Please install the extension and add origin to the extension.",
"proxy_error": "Proxy error", "proxy_error": "Proxy error",
"script_fail": "Impossible d'exécuter le script de pré-requête", "script_fail": "Impossible d'exécuter le script de pré-requête",
"something_went_wrong": "Quelque chose s'est mal passé", "something_went_wrong": "Quelque chose s'est mal passé",
@@ -260,6 +314,7 @@
"export": { "export": {
"as_json": "Exporter au format JSON", "as_json": "Exporter au format JSON",
"create_secret_gist": "Créer un Gist secret", "create_secret_gist": "Créer un Gist secret",
"failed": "Something went wrong while exporting",
"gist_created": "Gist créé", "gist_created": "Gist créé",
"require_github": "Connectez-vous avec GitHub pour créer un Gist secret", "require_github": "Connectez-vous avec GitHub pour créer un Gist secret",
"title": "Exportation" "title": "Exportation"
@@ -286,6 +341,9 @@
"subscriptions": "Abonnements", "subscriptions": "Abonnements",
"switch_connection": "Switch connection" "switch_connection": "Switch connection"
}, },
"graphql_collections": {
"title": "GraphQL Collections"
},
"group": { "group": {
"time": "Time", "time": "Time",
"url": "URL" "url": "URL"
@@ -297,6 +355,8 @@
}, },
"helpers": { "helpers": {
"authorization": "L'en-tête d'autorisation sera généré automatiquement lors de l'envoi de la requête.", "authorization": "L'en-tête d'autorisation sera généré automatiquement lors de l'envoi de la requête.",
"collection_properties_authorization": " This authorization will be set for every request in this collection.",
"collection_properties_header": "This header will be set for every request in this collection.",
"generate_documentation_first": "Générez d'abord la documentation", "generate_documentation_first": "Générez d'abord la documentation",
"network_fail": "Impossible d'atteindre le point de terminaison de l'API. Vérifiez votre connexion réseau et réessayez.", "network_fail": "Impossible d'atteindre le point de terminaison de l'API. Vérifiez votre connexion réseau et réessayez.",
"offline": "Vous semblez être hors ligne. Les données de cet espace de travail peuvent ne pas être à jour.", "offline": "Vous semblez être hors ligne. Les données de cet espace de travail peuvent ne pas être à jour.",
@@ -316,7 +376,10 @@
"import": { "import": {
"collections": "Importer des collections", "collections": "Importer des collections",
"curl": "Importer en cURL", "curl": "Importer en cURL",
"environments_from_gist": "Import From Gist",
"environments_from_gist_description": "Import Hoppscotch Environments From Gist",
"failed": "Échec de l'importation", "failed": "Échec de l'importation",
"from_file": "Import from File",
"from_gist": "Importer depuis Gist", "from_gist": "Importer depuis Gist",
"from_gist_description": "Importer depuis un lien Gist", "from_gist_description": "Importer depuis un lien Gist",
"from_insomnia": "Importer depuis Insomnia", "from_insomnia": "Importer depuis Insomnia",
@@ -331,11 +394,17 @@
"from_postman_description": "Import depuis une collection Postman", "from_postman_description": "Import depuis une collection Postman",
"from_url": "Importer depuis une URL", "from_url": "Importer depuis une URL",
"gist_url": "Entrez l'URL principale", "gist_url": "Entrez l'URL principale",
"gql_collections_from_gist_description": "Import GraphQL Collections From Gist",
"hoppscotch_environment": "Hoppscotch Environment",
"hoppscotch_environment_description": "Import Hoppscotch Environment JSON file",
"import_from_url_invalid_fetch": "Impossible d'obtenir des données à partir de l'url.", "import_from_url_invalid_fetch": "Impossible d'obtenir des données à partir de l'url.",
"import_from_url_invalid_file_format": "Erreur lors de l'importation de collections", "import_from_url_invalid_file_format": "Erreur lors de l'importation de collections",
"import_from_url_invalid_type": "Type non supporté. Les valeurs acceptées sont 'hoppscotch', 'openapi', 'postman', 'insomnia'.", "import_from_url_invalid_type": "Type non supporté. Les valeurs acceptées sont 'hoppscotch', 'openapi', 'postman', 'insomnia'.",
"import_from_url_success": "Collections Importées", "import_from_url_success": "Collections Importées",
"insomnia_environment_description": "Import Insomnia Environment from a JSON/YAML file",
"json_description": "Importer des collections depuis un fichier JSON Hoppscotch", "json_description": "Importer des collections depuis un fichier JSON Hoppscotch",
"postman_environment": "Postman Environment",
"postman_environment_description": "Import Postman Environment from a JSON file",
"title": "Importer" "title": "Importer"
}, },
"inspections": { "inspections": {
@@ -373,8 +442,10 @@
"close_unsaved_tab": "You have unsaved changes", "close_unsaved_tab": "You have unsaved changes",
"collections": "Collections", "collections": "Collections",
"confirm": "Confirmer", "confirm": "Confirmer",
"customize_request": "Customize Request",
"edit_request": "Modifier la requête", "edit_request": "Modifier la requête",
"import_export": "Importer / Exporter" "import_export": "Importer / Exporter",
"share_request": "Share Request"
}, },
"mqtt": { "mqtt": {
"already_subscribed": "You are already subscribed to this topic.", "already_subscribed": "You are already subscribed to this topic.",
@@ -449,13 +520,14 @@
"structured": "Structuré", "structured": "Structuré",
"text": "Texte" "text": "Texte"
}, },
"copy_link": "Copier le lien",
"different_collection": "Cannot reorder requests from different collections", "different_collection": "Cannot reorder requests from different collections",
"duplicated": "Request duplicated", "duplicated": "Request duplicated",
"duration": "Durée", "duration": "Durée",
"enter_curl": "Entrer cURL", "enter_curl": "Entrer cURL",
"generate_code": "Générer le code", "generate_code": "Générer le code",
"generated_code": "Code généré", "generated_code": "Code généré",
"go_to_authorization_tab": "Go to Authorization tab",
"go_to_body_tab": "Go to Body tab",
"header_list": "Liste des en-têtes", "header_list": "Liste des en-têtes",
"invalid_name": "Veuillez fournir un nom pour la requête", "invalid_name": "Veuillez fournir un nom pour la requête",
"method": "Méthode", "method": "Méthode",
@@ -480,12 +552,14 @@
"saved": "Requête enregistrée", "saved": "Requête enregistrée",
"share": "Partager", "share": "Partager",
"share_description": "Partagez Hoppscotch avec vos amis", "share_description": "Partagez Hoppscotch avec vos amis",
"share_request": "Share Request",
"stop": "Stop", "stop": "Stop",
"title": "Requête", "title": "Requête",
"type": "Type de requête", "type": "Type de requête",
"url": "URL", "url": "URL",
"variables": "Variables", "variables": "Variables",
"view_my_links": "Voir mes liens" "view_my_links": "Voir mes liens",
"copy_link": "Copier le lien"
}, },
"response": { "response": {
"audio": "Audio", "audio": "Audio",
@@ -513,6 +587,7 @@
"account_description": "Personnalisez les paramètres de votre compte.", "account_description": "Personnalisez les paramètres de votre compte.",
"account_email_description": "Votre adresse e-mail principale.", "account_email_description": "Votre adresse e-mail principale.",
"account_name_description": "Ceci est votre nom d'affichage.", "account_name_description": "Ceci est votre nom d'affichage.",
"additional": "Additional Settings",
"background": "Fond", "background": "Fond",
"black_mode": "Noir", "black_mode": "Noir",
"choose_language": "Choisissez la langue", "choose_language": "Choisissez la langue",
@@ -559,14 +634,31 @@
"verified_email": "Verified email", "verified_email": "Verified email",
"verify_email": "Vérifier l'email" "verify_email": "Vérifier l'email"
}, },
"shortcodes": { "shared_requests": {
"actions": "Actions", "button": "Button",
"created_on": "Créé le", "button_info": "Create a 'Run in Hoppscotch' button for your website, blog or a README.",
"deleted": "Shortcode supprimé", "copy_html": "Copy HTML",
"method": "Méthode", "copy_link": "Copy Link",
"not_found": "Shortcode non trouvé", "copy_markdown": "Copy Markdown",
"short_code": "Short code", "creating_widget": "Creating widget",
"url": "URL" "customize": "Customize",
"deleted": "Shared request deleted",
"description": "Select a widget, you can change and customize this later",
"embed": "Embed",
"embed_info": "Add a mini 'Hoppscotch API Playground' to your website, blog or documentation.",
"link": "Link",
"link_info": "Create a shareable link to share with anyone on the internet with view access.",
"modified": "Shared request modified",
"not_found": "Shared request not found",
"open_new_tab": "Open in new tab",
"preview": "Preview",
"run_in_hoppscotch": "Run in Hoppscotch",
"theme": {
"dark": "Dark",
"light": "Light",
"system": "System",
"title": "Theme"
}
}, },
"shortcut": { "shortcut": {
"general": { "general": {
@@ -596,7 +688,6 @@
"title": "Others" "title": "Others"
}, },
"request": { "request": {
"copy_request_link": "Copier le lien de requête",
"delete_method": "Sélectionnez la méthode DELETE", "delete_method": "Sélectionnez la méthode DELETE",
"get_method": "Sélectionnez la méthode GET", "get_method": "Sélectionnez la méthode GET",
"head_method": "Sélectionnez la méthode HEAD", "head_method": "Sélectionnez la méthode HEAD",
@@ -611,8 +702,10 @@
"save_request": "Save Request", "save_request": "Save Request",
"save_to_collections": "Enregistrer dans les collections", "save_to_collections": "Enregistrer dans les collections",
"send_request": "Envoyer la requête", "send_request": "Envoyer la requête",
"share_request": "Share Request",
"show_code": "Generate code snippet", "show_code": "Generate code snippet",
"title": "Requête" "title": "Requête",
"copy_request_link": "Copier le lien de requête"
}, },
"response": { "response": {
"copy": "Copier la réponse dans le presse-papiers", "copy": "Copier la réponse dans le presse-papiers",
@@ -735,6 +828,7 @@
"connection_error": "Échec de la connexion", "connection_error": "Échec de la connexion",
"connection_failed": "La connexion a échoué", "connection_failed": "La connexion a échoué",
"connection_lost": "Connexion perdue", "connection_lost": "Connexion perdue",
"copied_interface_to_clipboard": "Copied {language} interface type to clipboard",
"copied_to_clipboard": "Copié dans le presse-papier", "copied_to_clipboard": "Copié dans le presse-papier",
"deleted": "Supprimé", "deleted": "Supprimé",
"deprecated": "DÉCONSEILLÉ", "deprecated": "DÉCONSEILLÉ",
@@ -742,10 +836,12 @@
"disconnected": "Déconnecté", "disconnected": "Déconnecté",
"disconnected_from": "Déconnecté de {name}", "disconnected_from": "Déconnecté de {name}",
"docs_generated": "Documentation générée", "docs_generated": "Documentation générée",
"download_failed": "Download failed",
"download_started": "Téléchargement commencé", "download_started": "Téléchargement commencé",
"enabled": "Active", "enabled": "Active",
"file_imported": "Fichier importé", "file_imported": "Fichier importé",
"finished_in": "Terminé en {duration} ms", "finished_in": "Terminé en {duration} ms",
"hide": "Hide",
"history_deleted": "Historique supprimé", "history_deleted": "Historique supprimé",
"linewrap": "Retour à la ligne", "linewrap": "Retour à la ligne",
"loading": "Chargement...", "loading": "Chargement...",
@@ -756,6 +852,7 @@
"published_error": "Quelque chose s'est mal passé lors de la publication du message : {topic} dans le sujet : {message}", "published_error": "Quelque chose s'est mal passé lors de la publication du message : {topic} dans le sujet : {message}",
"published_message": "Message publié : {message} au sujet : {topic}", "published_message": "Message publié : {message} au sujet : {topic}",
"reconnection_error": "Échec de la reconnexion", "reconnection_error": "Échec de la reconnexion",
"show": "Show",
"subscribed_failed": "Échec de l'inscription au sujet : {topic}", "subscribed_failed": "Échec de l'inscription au sujet : {topic}",
"subscribed_success": "Inscription réussie au sujet : {topic}", "subscribed_success": "Inscription réussie au sujet : {topic}",
"unsubscribed_failed": "Échec de la désinscription du sujet : {topic}", "unsubscribed_failed": "Échec de la désinscription du sujet : {topic}",
@@ -791,6 +888,7 @@
"queries": "Requêtes", "queries": "Requêtes",
"query": "Requête", "query": "Requête",
"schema": "Schema", "schema": "Schema",
"shared_requests": "Shared Requests",
"socketio": "Socket.IO", "socketio": "Socket.IO",
"sse": "ESS", "sse": "ESS",
"tests": "Tests", "tests": "Tests",
@@ -807,6 +905,7 @@
"email_do_not_match": "L'email ne correspond pas aux détails de votre compte. Contactez le propriétaire de votre équipe.", "email_do_not_match": "L'email ne correspond pas aux détails de votre compte. Contactez le propriétaire de votre équipe.",
"exit": "Quitter l'équipe", "exit": "Quitter l'équipe",
"exit_disabled": "Seul le propriétaire ne peut pas quitter l'équipe", "exit_disabled": "Seul le propriétaire ne peut pas quitter l'équipe",
"failed_invites": "Failed invites",
"invalid_coll_id": "Invalid collection ID", "invalid_coll_id": "Invalid collection ID",
"invalid_email_format": "Le format de l'e-mail n'est pas valide", "invalid_email_format": "Le format de l'e-mail n'est pas valide",
"invalid_id": "L'email ne correspond pas aux détails de votre compte. Contactez le propriétaire de votre équipe.", "invalid_id": "L'email ne correspond pas aux détails de votre compte. Contactez le propriétaire de votre équipe.",
@@ -848,6 +947,7 @@
"same_target_destination": "Same target and destination", "same_target_destination": "Same target and destination",
"saved": "Équipe enregistrée", "saved": "Équipe enregistrée",
"select_a_team": "Choisir une équipe", "select_a_team": "Choisir une équipe",
"success_invites": "Success invites",
"title": "Équipes", "title": "Équipes",
"we_sent_invite_link": "Nous avons envoyé un lien d'invitation à tous les invités !", "we_sent_invite_link": "Nous avons envoyé un lien d'invitation à tous les invités !",
"we_sent_invite_link_description": "Demandez à tous les invités de vérifier leur boîte de réception. Cliquez sur le lien pour rejoindre l'équipe." "we_sent_invite_link_description": "Demandez à tous les invités de vérifier leur boîte de réception. Cliquez sur le lien pour rejoindre l'équipe."
@@ -879,5 +979,14 @@
"personal": "My Workspace", "personal": "My Workspace",
"team": "Team Workspace", "team": "Team Workspace",
"title": "Workspaces" "title": "Workspaces"
},
"shortcodes": {
"actions": "Actions",
"created_on": "Créé le",
"deleted": "Shortcode supprimé",
"method": "Méthode",
"not_found": "Shortcode non trouvé",
"short_code": "Short code",
"url": "URL"
} }
} }

View File

@@ -1,5 +1,6 @@
{ {
"action": { "action": {
"add": "Add",
"autoscroll": "Autoscroll", "autoscroll": "Autoscroll",
"cancel": "לְבַטֵל", "cancel": "לְבַטֵל",
"choose_file": "בחר קובץ", "choose_file": "בחר קובץ",
@@ -10,6 +11,7 @@
"connect": "לְחַבֵּר", "connect": "לְחַבֵּר",
"connecting": "Connecting", "connecting": "Connecting",
"copy": "עותק", "copy": "עותק",
"create": "Create",
"delete": "לִמְחוֹק", "delete": "לִמְחוֹק",
"disconnect": "לְנַתֵק", "disconnect": "לְנַתֵק",
"dismiss": "לשחרר", "dismiss": "לשחרר",
@@ -31,6 +33,7 @@
"open_workspace": "Open workspace", "open_workspace": "Open workspace",
"paste": "Paste", "paste": "Paste",
"prettify": "לְיַפּוֹת", "prettify": "לְיַפּוֹת",
"properties": "Properties",
"remove": "לְהַסִיר", "remove": "לְהַסִיר",
"rename": "Rename", "rename": "Rename",
"restore": "לשחזר", "restore": "לשחזר",
@@ -39,6 +42,7 @@
"scroll_to_top": "Scroll to top", "scroll_to_top": "Scroll to top",
"search": "לחפש", "search": "לחפש",
"send": "לִשְׁלוֹחַ", "send": "לִשְׁלוֹחַ",
"share": "Share",
"start": "הַתחָלָה", "start": "הַתחָלָה",
"starting": "Starting", "starting": "Starting",
"stop": "תפסיק", "stop": "תפסיק",
@@ -57,7 +61,9 @@
"app": { "app": {
"chat_with_us": "שוחח עימנו", "chat_with_us": "שוחח עימנו",
"contact_us": "צור קשר", "contact_us": "צור קשר",
"cookies": "Cookies",
"copy": "עותק", "copy": "עותק",
"copy_interface_type": "Copy interface type",
"copy_user_id": "Copy User Auth Token", "copy_user_id": "Copy User Auth Token",
"developer_option": "Developer options", "developer_option": "Developer options",
"developer_option_description": "Developer tools which helps in development and maintenance of Hoppscotch.", "developer_option_description": "Developer tools which helps in development and maintenance of Hoppscotch.",
@@ -73,6 +79,7 @@
"keyboard_shortcuts": "קיצורי דרך במקלדת", "keyboard_shortcuts": "קיצורי דרך במקלדת",
"name": "הופסקוץ '", "name": "הופסקוץ '",
"new_version_found": "נמצאה גרסה חדשה. רענן לעדכון.", "new_version_found": "נמצאה גרסה חדשה. רענן לעדכון.",
"open_in_hoppscotch": "Open in Hoppscotch",
"options": "Options", "options": "Options",
"proxy_privacy_policy": "מדיניות הפרטיות של פרוקסי", "proxy_privacy_policy": "מדיניות הפרטיות של פרוקסי",
"reload": "לִטעוֹן מִחָדָשׁ", "reload": "לִטעוֹן מִחָדָשׁ",
@@ -112,10 +119,27 @@
}, },
"authorization": { "authorization": {
"generate_token": "צור אסימון", "generate_token": "צור אסימון",
"graphql_headers": "Authorization Headers are sent as part of the payload to connection_init",
"include_in_url": "כלול בכתובת האתר", "include_in_url": "כלול בכתובת האתר",
"inherited_from": "Inherited from {auth} from Parent Collection {collection} ",
"learn": "ללמוד איך", "learn": "ללמוד איך",
"oauth": {
"redirect_auth_server_returned_error": "Auth Server returned an error state",
"redirect_auth_token_request_failed": "Request to get the auth token failed",
"redirect_auth_token_request_invalid_response": "Invalid Response from the Token Endpoint when requesting for an auth token",
"redirect_invalid_state": "Invalid State value present in the redirect",
"redirect_no_auth_code": "No Authorization Code present in the redirect",
"redirect_no_client_id": "No Client ID defined",
"redirect_no_client_secret": "No Client Secret Defined",
"redirect_no_code_verifier": "No Code Verifier Defined",
"redirect_no_token_endpoint": "No Token Endpoint Defined",
"something_went_wrong_on_oauth_redirect": "Something went wrong during OAuth Redirect",
"something_went_wrong_on_token_generation": "Something went wrong on token generation",
"token_generation_oidc_discovery_failed": "Failure on token generation: OpenID Connect Discovery Failed"
},
"pass_key_by": "Pass by", "pass_key_by": "Pass by",
"password": "סיסמה", "password": "סיסמה",
"save_to_inherit": "Please save this request in any collection to inherit the authorization",
"token": "אֲסִימוֹן", "token": "אֲסִימוֹן",
"type": "סוג הרשאה", "type": "סוג הרשאה",
"username": "שם משתמש" "username": "שם משתמש"
@@ -124,6 +148,7 @@
"created": "אוסף נוצר", "created": "אוסף נוצר",
"different_parent": "Cannot reorder collection with different parent", "different_parent": "Cannot reorder collection with different parent",
"edit": "ערוך אוסף", "edit": "ערוך אוסף",
"import_or_create": "Import or create a collection",
"invalid_name": "אנא ספק שם תקף לאוסף", "invalid_name": "אנא ספק שם תקף לאוסף",
"invalid_root_move": "Collection already in the root", "invalid_root_move": "Collection already in the root",
"moved": "Moved Successfully", "moved": "Moved Successfully",
@@ -132,6 +157,8 @@
"name_length_insufficient": "Collection name should be at least 3 characters long", "name_length_insufficient": "Collection name should be at least 3 characters long",
"new": "קולקציה חדשה", "new": "קולקציה חדשה",
"order_changed": "Collection Order Updated", "order_changed": "Collection Order Updated",
"properties": "Collection Properties",
"properties_updated": "Collection Properties Updated",
"renamed": "שם האוסף שונה", "renamed": "שם האוסף שונה",
"request_in_use": "Request in use", "request_in_use": "Request in use",
"save_as": "שמור כ", "save_as": "שמור כ",
@@ -151,6 +178,7 @@
"remove_folder": "האם אתה בטוח שברצונך למחוק תיקיה זו לצמיתות?", "remove_folder": "האם אתה בטוח שברצונך למחוק תיקיה זו לצמיתות?",
"remove_history": "האם אתה בטוח שברצונך למחוק לצמיתות את כל ההיסטוריה?", "remove_history": "האם אתה בטוח שברצונך למחוק לצמיתות את כל ההיסטוריה?",
"remove_request": "האם אתה בטוח שברצונך למחוק בקשה זו לצמיתות?", "remove_request": "האם אתה בטוח שברצונך למחוק בקשה זו לצמיתות?",
"remove_shared_request": "Are you sure you want to permanently delete this shared request?",
"remove_team": "האם אתה בטוח שברצונך למחוק את הצוות הזה?", "remove_team": "האם אתה בטוח שברצונך למחוק את הצוות הזה?",
"remove_telemetry": "האם אתה בטוח שברצונך לבטל את הסכמתך לטלמטריה?", "remove_telemetry": "האם אתה בטוח שברצונך לבטל את הסכמתך לטלמטריה?",
"request_change": "Are you sure you want to discard current request, unsaved changes will be lost.", "request_change": "Are you sure you want to discard current request, unsaved changes will be lost.",
@@ -162,6 +190,24 @@
"open_request_in_new_tab": "Open request in new tab", "open_request_in_new_tab": "Open request in new tab",
"set_environment_variable": "Set as variable" "set_environment_variable": "Set as variable"
}, },
"cookies": {
"modal": {
"cookie_expires": "Expires",
"cookie_name": "Name",
"cookie_path": "Path",
"cookie_string": "Cookie string",
"cookie_value": "Value",
"empty_domain": "Domain is empty",
"empty_domains": "Domain list is empty",
"enter_cookie_string": "Enter cookie string",
"interceptor_no_support": "Your currently selected interceptor does not support cookies. Select a different Interceptor and try again.",
"managed_tab": "Managed",
"new_domain_name": "New domain name",
"no_cookies_in_domain": "No cookies set for this domain",
"raw_tab": "Raw",
"set": "Set a cookie"
}
},
"count": { "count": {
"header": "כותרת {count}", "header": "כותרת {count}",
"message": "הודעה {count}", "message": "הודעה {count}",
@@ -192,11 +238,13 @@
"profile": "Login to view your profile", "profile": "Login to view your profile",
"protocols": "הפרוטוקולים ריקים", "protocols": "הפרוטוקולים ריקים",
"schema": "התחבר לנקודת קצה של GraphQL", "schema": "התחבר לנקודת קצה של GraphQL",
"shortcodes": "Shortcodes are empty", "shared_requests": "Shared requests are empty",
"shared_requests_logout": "Login to view your shared requests or create a new one",
"subscription": "Subscriptions are empty", "subscription": "Subscriptions are empty",
"team_name": "שם הקבוצה ריק", "team_name": "שם הקבוצה ריק",
"teams": "הקבוצות ריקות", "teams": "הקבוצות ריקות",
"tests": "אין בדיקות לבקשה זו" "tests": "אין בדיקות לבקשה זו",
"shortcodes": "Shortcodes are empty"
}, },
"environment": { "environment": {
"add_to_global": "Add to Global", "add_to_global": "Add to Global",
@@ -209,6 +257,7 @@
"empty_variables": "No variables", "empty_variables": "No variables",
"global": "Global", "global": "Global",
"global_variables": "Global variables", "global_variables": "Global variables",
"import_or_create": "Import or create a environment",
"invalid_name": "אנא ספק שם חוקי לסביבה", "invalid_name": "אנא ספק שם חוקי לסביבה",
"list": "Environment variables", "list": "Environment variables",
"my_environments": "My Environments", "my_environments": "My Environments",
@@ -232,8 +281,10 @@
"variable_list": "רשימת משתנים" "variable_list": "רשימת משתנים"
}, },
"error": { "error": {
"authproviders_load_error": "Unable to load auth providers",
"browser_support_sse": "נראה שלדפדפן זה אין תמיכה באירועי שרת נשלח.", "browser_support_sse": "נראה שלדפדפן זה אין תמיכה באירועי שרת נשלח.",
"check_console_details": "בדוק את יומן המסוף לפרטים.", "check_console_details": "בדוק את יומן המסוף לפרטים.",
"check_how_to_add_origin": "Check how you can add an origin",
"curl_invalid_format": "cURL אינו בפורמט תקין", "curl_invalid_format": "cURL אינו בפורמט תקין",
"danger_zone": "Danger zone", "danger_zone": "Danger zone",
"delete_account": "Your account is currently an owner in these teams:", "delete_account": "Your account is currently an owner in these teams:",
@@ -249,9 +300,12 @@
"json_prettify_invalid_body": "לא ניתן היה לייפות גוף לא חוקי, לפתור שגיאות תחביר של json ולנסות שוב", "json_prettify_invalid_body": "לא ניתן היה לייפות גוף לא חוקי, לפתור שגיאות תחביר של json ולנסות שוב",
"network_error": "There seems to be a network error. Please try again.", "network_error": "There seems to be a network error. Please try again.",
"network_fail": "לא ניתן היה לשלוח בקשה", "network_fail": "לא ניתן היה לשלוח בקשה",
"no_collections_to_export": "No collections to export. Please create a collection to get started.",
"no_duration": "אין משך זמן", "no_duration": "אין משך זמן",
"no_environments_to_export": "No environments to export. Please create an environment to get started.",
"no_results_found": "No matches found", "no_results_found": "No matches found",
"page_not_found": "This page could not be found", "page_not_found": "This page could not be found",
"please_install_extension": "Please install the extension and add origin to the extension.",
"proxy_error": "Proxy error", "proxy_error": "Proxy error",
"script_fail": "לא ניתן להפעיל סקריפט של בקשה מראש", "script_fail": "לא ניתן להפעיל סקריפט של בקשה מראש",
"something_went_wrong": "משהו השתבש", "something_went_wrong": "משהו השתבש",
@@ -260,6 +314,7 @@
"export": { "export": {
"as_json": "ייצא כ- JSON", "as_json": "ייצא כ- JSON",
"create_secret_gist": "צור גיסט סודי", "create_secret_gist": "צור גיסט סודי",
"failed": "Something went wrong while exporting",
"gist_created": "גיסט נוצר", "gist_created": "גיסט נוצר",
"require_github": "התחבר עם GitHub כדי ליצור תמצית סודית", "require_github": "התחבר עם GitHub כדי ליצור תמצית סודית",
"title": "Export" "title": "Export"
@@ -286,6 +341,9 @@
"subscriptions": "מנויים", "subscriptions": "מנויים",
"switch_connection": "Switch connection" "switch_connection": "Switch connection"
}, },
"graphql_collections": {
"title": "GraphQL Collections"
},
"group": { "group": {
"time": "Time", "time": "Time",
"url": "URL" "url": "URL"
@@ -297,6 +355,8 @@
}, },
"helpers": { "helpers": {
"authorization": "כותרת ההרשאה תיווצר אוטומטית בעת שליחת הבקשה.", "authorization": "כותרת ההרשאה תיווצר אוטומטית בעת שליחת הבקשה.",
"collection_properties_authorization": " This authorization will be set for every request in this collection.",
"collection_properties_header": "This header will be set for every request in this collection.",
"generate_documentation_first": "צור קודם כל תיעוד", "generate_documentation_first": "צור קודם כל תיעוד",
"network_fail": "לא ניתן להגיע לנקודת הסיום של ה- API. בדוק את חיבור הרשת שלך ונסה שוב.", "network_fail": "לא ניתן להגיע לנקודת הסיום של ה- API. בדוק את חיבור הרשת שלך ונסה שוב.",
"offline": "נראה שאתה מחובר לאינטרנט. יתכן שהנתונים בסביבת עבודה זו אינם מעודכנים.", "offline": "נראה שאתה מחובר לאינטרנט. יתכן שהנתונים בסביבת עבודה זו אינם מעודכנים.",
@@ -316,7 +376,10 @@
"import": { "import": {
"collections": "ייבוא אוספים", "collections": "ייבוא אוספים",
"curl": "ייבא cURL", "curl": "ייבא cURL",
"environments_from_gist": "Import From Gist",
"environments_from_gist_description": "Import Hoppscotch Environments From Gist",
"failed": "הייבוא נכשל", "failed": "הייבוא נכשל",
"from_file": "Import from File",
"from_gist": "ייבוא מ- Gist", "from_gist": "ייבוא מ- Gist",
"from_gist_description": "Import from Gist URL", "from_gist_description": "Import from Gist URL",
"from_insomnia": "Import from Insomnia", "from_insomnia": "Import from Insomnia",
@@ -331,11 +394,17 @@
"from_postman_description": "Import from Postman collection", "from_postman_description": "Import from Postman collection",
"from_url": "Import from URL", "from_url": "Import from URL",
"gist_url": "הזן Gist URL", "gist_url": "הזן Gist URL",
"gql_collections_from_gist_description": "Import GraphQL Collections From Gist",
"hoppscotch_environment": "Hoppscotch Environment",
"hoppscotch_environment_description": "Import Hoppscotch Environment JSON file",
"import_from_url_invalid_fetch": "Couldn't get data from the url", "import_from_url_invalid_fetch": "Couldn't get data from the url",
"import_from_url_invalid_file_format": "Error while importing collections", "import_from_url_invalid_file_format": "Error while importing collections",
"import_from_url_invalid_type": "Unsupported type. accepted values are 'hoppscotch', 'openapi', 'postman', 'insomnia'", "import_from_url_invalid_type": "Unsupported type. accepted values are 'hoppscotch', 'openapi', 'postman', 'insomnia'",
"import_from_url_success": "Collections Imported", "import_from_url_success": "Collections Imported",
"insomnia_environment_description": "Import Insomnia Environment from a JSON/YAML file",
"json_description": "Import collections from a Hoppscotch Collections JSON file", "json_description": "Import collections from a Hoppscotch Collections JSON file",
"postman_environment": "Postman Environment",
"postman_environment_description": "Import Postman Environment from a JSON file",
"title": "יְבוּא" "title": "יְבוּא"
}, },
"inspections": { "inspections": {
@@ -373,8 +442,10 @@
"close_unsaved_tab": "You have unsaved changes", "close_unsaved_tab": "You have unsaved changes",
"collections": "אוספים", "collections": "אוספים",
"confirm": "לְאַשֵׁר", "confirm": "לְאַשֵׁר",
"customize_request": "Customize Request",
"edit_request": "ערוך בקשה", "edit_request": "ערוך בקשה",
"import_export": "יבוא ויצוא" "import_export": "יבוא ויצוא",
"share_request": "Share Request"
}, },
"mqtt": { "mqtt": {
"already_subscribed": "You are already subscribed to this topic.", "already_subscribed": "You are already subscribed to this topic.",
@@ -449,13 +520,14 @@
"structured": "Structured", "structured": "Structured",
"text": "Text" "text": "Text"
}, },
"copy_link": "העתק קישור",
"different_collection": "Cannot reorder requests from different collections", "different_collection": "Cannot reorder requests from different collections",
"duplicated": "Request duplicated", "duplicated": "Request duplicated",
"duration": "מֶשֶׁך", "duration": "מֶשֶׁך",
"enter_curl": "הזן cURL", "enter_curl": "הזן cURL",
"generate_code": "צור קוד", "generate_code": "צור קוד",
"generated_code": "קוד שנוצר", "generated_code": "קוד שנוצר",
"go_to_authorization_tab": "Go to Authorization tab",
"go_to_body_tab": "Go to Body tab",
"header_list": "רשימת כותרות", "header_list": "רשימת כותרות",
"invalid_name": "אנא ספק שם לבקשה", "invalid_name": "אנא ספק שם לבקשה",
"method": "שיטה", "method": "שיטה",
@@ -480,12 +552,14 @@
"saved": "הבקשה נשמרה", "saved": "הבקשה נשמרה",
"share": "לַחֲלוֹק", "share": "לַחֲלוֹק",
"share_description": "Share Hoppscotch with your friends", "share_description": "Share Hoppscotch with your friends",
"share_request": "Share Request",
"stop": "Stop", "stop": "Stop",
"title": "בַּקָשָׁה", "title": "בַּקָשָׁה",
"type": "סוג בקשה", "type": "סוג בקשה",
"url": "כתובת URL", "url": "כתובת URL",
"variables": "משתנים", "variables": "משתנים",
"view_my_links": "View my links" "view_my_links": "View my links",
"copy_link": "העתק קישור"
}, },
"response": { "response": {
"audio": "Audio", "audio": "Audio",
@@ -513,6 +587,7 @@
"account_description": "התאם אישית את הגדרות החשבון שלך.", "account_description": "התאם אישית את הגדרות החשבון שלך.",
"account_email_description": "כתובת הדוא\"ל הראשית שלך.", "account_email_description": "כתובת הדוא\"ל הראשית שלך.",
"account_name_description": "זהו שם התצוגה שלך.", "account_name_description": "זהו שם התצוגה שלך.",
"additional": "Additional Settings",
"background": "רקע כללי", "background": "רקע כללי",
"black_mode": "שָׁחוֹר", "black_mode": "שָׁחוֹר",
"choose_language": "בחר שפה", "choose_language": "בחר שפה",
@@ -559,14 +634,31 @@
"verified_email": "Verified email", "verified_email": "Verified email",
"verify_email": "Verify email" "verify_email": "Verify email"
}, },
"shortcodes": { "shared_requests": {
"actions": "Actions", "button": "Button",
"created_on": "Created on", "button_info": "Create a 'Run in Hoppscotch' button for your website, blog or a README.",
"deleted": "Shortcode deleted", "copy_html": "Copy HTML",
"method": "Method", "copy_link": "Copy Link",
"not_found": "Shortcode not found", "copy_markdown": "Copy Markdown",
"short_code": "Short code", "creating_widget": "Creating widget",
"url": "URL" "customize": "Customize",
"deleted": "Shared request deleted",
"description": "Select a widget, you can change and customize this later",
"embed": "Embed",
"embed_info": "Add a mini 'Hoppscotch API Playground' to your website, blog or documentation.",
"link": "Link",
"link_info": "Create a shareable link to share with anyone on the internet with view access.",
"modified": "Shared request modified",
"not_found": "Shared request not found",
"open_new_tab": "Open in new tab",
"preview": "Preview",
"run_in_hoppscotch": "Run in Hoppscotch",
"theme": {
"dark": "Dark",
"light": "Light",
"system": "System",
"title": "Theme"
}
}, },
"shortcut": { "shortcut": {
"general": { "general": {
@@ -596,7 +688,6 @@
"title": "Others" "title": "Others"
}, },
"request": { "request": {
"copy_request_link": "העתק קישור לבקשה",
"delete_method": "בחר שיטת DELETE", "delete_method": "בחר שיטת DELETE",
"get_method": "בחר שיטת GET", "get_method": "בחר שיטת GET",
"head_method": "בחר שיטת HEAD", "head_method": "בחר שיטת HEAD",
@@ -611,8 +702,10 @@
"save_request": "Save Request", "save_request": "Save Request",
"save_to_collections": "שמור באוספים", "save_to_collections": "שמור באוספים",
"send_request": "שלח בקשה", "send_request": "שלח בקשה",
"share_request": "Share Request",
"show_code": "Generate code snippet", "show_code": "Generate code snippet",
"title": "בַּקָשָׁה" "title": "בַּקָשָׁה",
"copy_request_link": "העתק קישור לבקשה"
}, },
"response": { "response": {
"copy": "Copy response to clipboard", "copy": "Copy response to clipboard",
@@ -735,6 +828,7 @@
"connection_error": "Failed to connect", "connection_error": "Failed to connect",
"connection_failed": "Connection failed", "connection_failed": "Connection failed",
"connection_lost": "Connection lost", "connection_lost": "Connection lost",
"copied_interface_to_clipboard": "Copied {language} interface type to clipboard",
"copied_to_clipboard": "הועתק ללוח", "copied_to_clipboard": "הועתק ללוח",
"deleted": "נמחק", "deleted": "נמחק",
"deprecated": "מופחת", "deprecated": "מופחת",
@@ -742,10 +836,12 @@
"disconnected": "מְנוּתָק", "disconnected": "מְנוּתָק",
"disconnected_from": "נותק מ- {name}", "disconnected_from": "נותק מ- {name}",
"docs_generated": "נוצר תיעוד", "docs_generated": "נוצר תיעוד",
"download_failed": "Download failed",
"download_started": "ההורדה החלה", "download_started": "ההורדה החלה",
"enabled": "מופעל", "enabled": "מופעל",
"file_imported": "הקובץ מיובא", "file_imported": "הקובץ מיובא",
"finished_in": "הסתיים תוך {duration} אלפיות השנייה", "finished_in": "הסתיים תוך {duration} אלפיות השנייה",
"hide": "Hide",
"history_deleted": "ההיסטוריה נמחקה", "history_deleted": "ההיסטוריה נמחקה",
"linewrap": "עוטפים קווים", "linewrap": "עוטפים קווים",
"loading": "טעינה...", "loading": "טעינה...",
@@ -756,6 +852,7 @@
"published_error": "Something went wrong while publishing msg: {topic} to topic: {message}", "published_error": "Something went wrong while publishing msg: {topic} to topic: {message}",
"published_message": "Published message: {message} to topic: {topic}", "published_message": "Published message: {message} to topic: {topic}",
"reconnection_error": "Failed to reconnect", "reconnection_error": "Failed to reconnect",
"show": "Show",
"subscribed_failed": "Failed to subscribe to topic: {topic}", "subscribed_failed": "Failed to subscribe to topic: {topic}",
"subscribed_success": "Successfully subscribed to topic: {topic}", "subscribed_success": "Successfully subscribed to topic: {topic}",
"unsubscribed_failed": "Failed to unsubscribe from topic: {topic}", "unsubscribed_failed": "Failed to unsubscribe from topic: {topic}",
@@ -791,6 +888,7 @@
"queries": "שאילתות", "queries": "שאילתות",
"query": "שאילתא", "query": "שאילתא",
"schema": "Schema", "schema": "Schema",
"shared_requests": "Shared Requests",
"socketio": "Socket.IO", "socketio": "Socket.IO",
"sse": "SSE", "sse": "SSE",
"tests": "בדיקות", "tests": "בדיקות",
@@ -807,6 +905,7 @@
"email_do_not_match": "Email doesn't match with your account details. Contact your team owner.", "email_do_not_match": "Email doesn't match with your account details. Contact your team owner.",
"exit": "יציאה מצוות", "exit": "יציאה מצוות",
"exit_disabled": "רק הבעלים אינו יכול לצאת מהצוות", "exit_disabled": "רק הבעלים אינו יכול לצאת מהצוות",
"failed_invites": "Failed invites",
"invalid_coll_id": "Invalid collection ID", "invalid_coll_id": "Invalid collection ID",
"invalid_email_format": "פורמט הדוא\"ל אינו חוקי", "invalid_email_format": "פורמט הדוא\"ל אינו חוקי",
"invalid_id": "Invalid team ID. Contact your team owner.", "invalid_id": "Invalid team ID. Contact your team owner.",
@@ -848,6 +947,7 @@
"same_target_destination": "Same target and destination", "same_target_destination": "Same target and destination",
"saved": "הקבוצה ניצלה", "saved": "הקבוצה ניצלה",
"select_a_team": "Select a team", "select_a_team": "Select a team",
"success_invites": "Success invites",
"title": "צוותים", "title": "צוותים",
"we_sent_invite_link": "We sent an invite link to all invitees!", "we_sent_invite_link": "We sent an invite link to all invitees!",
"we_sent_invite_link_description": "Ask all invitees to check their inbox. Click on the link to join the team." "we_sent_invite_link_description": "Ask all invitees to check their inbox. Click on the link to join the team."
@@ -879,5 +979,14 @@
"personal": "My Workspace", "personal": "My Workspace",
"team": "Team Workspace", "team": "Team Workspace",
"title": "Workspaces" "title": "Workspaces"
},
"shortcodes": {
"actions": "Actions",
"created_on": "Created on",
"deleted": "Shortcode deleted",
"method": "Method",
"not_found": "Shortcode not found",
"short_code": "Short code",
"url": "URL"
} }
} }

View File

@@ -1,883 +0,0 @@
{
"action": {
"autoscroll": "स्वतः स्क्रॉल",
"cancel": "रद्द करें",
"choose_file": "फ़ाइल चुनें",
"clear": "साफ़",
"clear_all": "सभी साफ करें",
"clear_history": "Clear all History",
"close": "बंद करे",
"connect": "कनेक्ट करें",
"connecting": "Connecting",
"copy": "कॉपी",
"delete": "हटाएं",
"disconnect": "डिस्कनेक्ट",
"dismiss": "खारिज करें",
"dont_save": "मत बचाओ",
"download_file": "फ़ाइल डाउनलोड करें",
"drag_to_reorder": "व्यवस्थित करने के लिए घसीटे",
"duplicate": "नकल करें",
"edit": "संपादित करें",
"filter": "फ़िल्टर प्रतिक्रिया",
"go_back": "वापस जाओ",
"go_forward": "Go forward",
"group_by": "Group by",
"label": "लेबल",
"learn_more": "और अधिक जानें",
"less": "कम",
"more": "अधिक",
"new": "नया",
"no": "स्टार जोड़ें",
"open_workspace": "कार्यक्षेत्र खोलें",
"paste": "पेस्ट",
"prettify": "सुंदर करे",
"remove": "हटाओ",
"rename": "Rename",
"restore": "पुनर्स्थापित करें",
"save": "बचाएं",
"scroll_to_bottom": "नीचे स्क्रॉल करें",
"scroll_to_top": "शीर्ष तक स्क्रॉल करें",
"search": "खोज",
"send": "भेजें ",
"start": "प्रारंभ",
"starting": "Starting",
"stop": "रोकें",
"to_close": "बंद करने के लिए",
"to_navigate": "नेविगेट करने के लिए",
"to_select": "चुनने के लिए",
"turn_off": "बंद करें",
"turn_on": "चालू करें",
"undo": "पूर्ववत",
"yes": "हां"
},
"add": {
"new": "नया जोड़ें",
"star": "स्टार जोड़ें"
},
"app": {
"chat_with_us": "हमारे साथ चैट करें",
"contact_us": "हमसे संपर्क करें",
"copy": "कॉपी करें",
"copy_user_id": "उपयोगकर्ता प्रामाणिक टोकन कॉपी करें",
"developer_option": "डेवलपर विकल्प",
"developer_option_description": "डेवलपर टूल जो Hoppscotch के विकास और रखरखाव में मदद करता है",
"discord": "Discord",
"documentation": "दस्तावेज़ीकरण",
"github": "GitHub",
"help": "सहायता और प्रतिक्रिया",
"home": "घर",
"invite": "आमंत्रित करें",
"invite_description": "हॉप्सकॉच एक ओपन सोर्स एपीआई डेवलपमेंट इकोसिस्टम है। हमने आपके एपीआई बनाने और प्रबंधित करने के लिए एक सरल और सहज इंटरफ़ेस डिज़ाइन किया है। हॉप्सकॉच एक ऐसा टूल है जो आपको अपने एपीआई बनाने, परीक्षण, दस्तावेज़ और साझा करने में मदद करता है।",
"invite_your_friends": "अपने दोस्तों को इनवाइट करें",
"join_discord_community": "हमारे डिस्कॉर्ड समुदाय में शामिल हों",
"keyboard_shortcuts": "कीबोर्ड शॉर्टकट",
"name": "हॉप्सकॉच",
"new_version_found": "नया संस्करण मिला। अपडेट करने के लिए रिफ्रेश करें।",
"options": "विकल्प",
"proxy_privacy_policy": "प्रॉक्सी गोपनीयता नीति",
"reload": "पुनः लोड करें",
"search": "खोज",
"share": "बाँट",
"shortcuts": "शॉर्टकट",
"social_description": "Follow us on social media to stay updated with the latest news, updates and releases.",
"social_links": "Social links",
"spotlight": "स्पॉटलाइट",
"status": "स्थिति",
"status_description": "वेबसाइट की स्थिति जांचें",
"terms_and_privacy": "शर्तें और गोपनीयता",
"twitter": "Twitter",
"type_a_command_search": "कमांड टाइप करें या सर्च करें...",
"we_use_cookies": "हम कुकीज़ का उपयोग करते हैं",
"whats_new": "नया क्या है?",
"wiki": "विकी"
},
"auth": {
"account_exists": "खाता अलग-अलग क्रेडेंशियल के साथ मौजूद है - दोनों खातों को जोड़ने के लिए लॉगिन करें",
"all_sign_in_options": "सभी साइन इन विकल्प",
"continue_with_email": "ईमेल के साथ जारी रखें",
"continue_with_github": "GitHub के साथ जारी रखें",
"continue_with_google": "Google के साथ जारी रखें",
"continue_with_microsoft": "Microsoft के साथ जारी रखें",
"email": "ईमेल",
"logged_out": "लॉग आउट",
"login": "लॉग इन",
"login_success": "सफलतापूर्वक लॉग इन किया",
"login_to_hoppscotch": "हॉप्सकॉच में लॉगिन करें",
"logout": "लॉगआउट",
"re_enter_email": "ईमेल दोबारा दर्ज करें",
"send_magic_link": "मैजिक लिंक भेजें",
"sync": "सिंक",
"we_sent_magic_link": "हमने आपको एक मैजिक लिंक भेजा है!",
"we_sent_magic_link_description": "अपना इनबॉक्स जांचें - हमने {email} पर एक ईमेल भेजा है। इसमें एक जादुई लिंक है जो आपको लॉग इन करेगा।"
},
"authorization": {
"generate_token": "टोकन जनरेट करें",
"include_in_url": "URL में शामिल करें",
"learn": "जानें कैसे",
"pass_key_by": "पास करें",
"password": "पासवर्ड",
"token": "टोकन",
"type": "प्राधिकरण प्रकार",
"username": "उपयोगकर्ता नाम"
},
"collection": {
"created": "संग्रह बनाया गया",
"different_parent": "Cannot reorder collection with different parent",
"edit": "संग्रह संपादित करें",
"invalid_name": "कृपया संग्रह के लिए एक नाम प्रदान करें",
"invalid_root_move": "Collection already in the root",
"moved": "Moved Successfully",
"my_collections": "मेरे संग्रह",
"name": "मेरा नया संग्रह",
"name_length_insufficient": "संग्रह का नाम कम से कम 3 वर्णों का होना चाहिए",
"new": "नया संग्रह",
"order_changed": "Collection Order Updated",
"renamed": "संग्रह का नाम बदला गया",
"request_in_use": "रिक्वेस्ट इन यूज़",
"save_as": "इस रूप में सेव करें",
"save_to_collection": "Save to Collection",
"select": "एक संग्रह का चयन करें",
"select_location": "स्थान चुनें",
"select_team": "एक टीम चुनें",
"team_collections": "टीम संग्रह"
},
"confirm": {
"close_unsaved_tab": "Are you sure you want to close this tab?",
"close_unsaved_tabs": "Are you sure you want to close all tabs? {count} unsaved tabs will be lost.",
"exit_team": "क्या आप वाकई इस टीम को छोड़ना चाहते हैं?",
"logout": "क्या आप वाकई लॉगआउट करना चाहते हैं?",
"remove_collection": "क्या आप वाकई इस संग्रह को स्थायी रूप से हटाना चाहते हैं?",
"remove_environment": "क्या आप वाकई इस परिवेश को स्थायी रूप से हटाना चाहते हैं?",
"remove_folder": "क्या आप वाकई इस फ़ोल्डर को स्थायी रूप से हटाना चाहते हैं?",
"remove_history": "क्या आप वाकई सभी इतिहास को स्थायी रूप से हटाना चाहते हैं?",
"remove_request": "क्या आप वाकई इस अनुरोध को स्थायी रूप से हटाना चाहते हैं?",
"remove_team": "क्या आप वाकई इस टीम को हटाना चाहते हैं?",
"remove_telemetry": "क्या आप वाकई टेलीमेट्री से ऑप्ट-आउट करना चाहते हैं?",
"request_change": "क्या आप वाकई वर्तमान अनुरोध को छोड़ना चाहते हैं, सहेजे नहीं गए परिवर्तन खो जाएंगे।",
"save_unsaved_tab": "Do you want to save changes made in this tab?",
"sync": "क्या आप अपने कार्यक्षेत्र को क्लाउड से पुनर्स्थापित करना चाहेंगे? यह आपकी स्थानीय प्रगति को त्याग देगा।"
},
"context_menu": {
"add_parameters": "Add to parameters",
"open_request_in_new_tab": "Open request in new tab",
"set_environment_variable": "Set as variable"
},
"count": {
"header": "हेडर {count}",
"message": "मैसेज {count}",
"parameter": "पैरामीटर {count}",
"protocol": "प्रोटोकॉल {count}",
"value": "मान {count}",
"variable": "वेरिएबल {count}"
},
"documentation": {
"generate": "दस्तावेज़ीकरण उत्पन्न करें",
"generate_message": "चलते-फिरते API दस्तावेज़ बनाने के लिए कोई भी Hoppscotch संग्रह आयात करें।"
},
"empty": {
"authorization": "यह अनुरोध किसी प्राधिकरण का उपयोग नहीं करता",
"body": "इस अनुरोध में कोई बॉडी नहीं है",
"collection": "संग्रह खाली है",
"collections": "संग्रह खाली हैं",
"documentation": "दस्तावेज़ीकरण देखने के लिए GraphQL से कनेक्ट करें",
"endpoint": "समापन बिंदु खाली नहीं हो सकता",
"environments": "वातावरण खाली हैं",
"folder": " फ़ोल्डर खाली है",
"headers": " इस अनुरोध का कोई हेडर नहीं है",
"history": " इतिहास खाली है",
"invites": " आमंत्रण सूची खाली है",
"members": " टीम खाली है",
"parameters": " इस अनुरोध का कोई पैरामीटर नहीं है",
"pending_invites": " इस टीम के लिए कोई आमंत्रण लंबित नहीं है",
"profile": " अपना प्रोफ़ाइल देखने के लिए लॉगिन करें",
"protocols": " प्रोटोकॉल खाली हैं",
"schema": " स्कीमा देखने के लिए ग्राफ़क्यूएल एंडपॉइंट से कनेक्ट करें",
"shortcodes": " शॉर्टकोड खाली हैं",
"subscription": "Subscriptions are empty",
"team_name": " टीम का नाम खाली",
"teams": " आप किसी भी टीम से संबंधित नहीं हैं",
"tests": " इस अनुरोध के लिए कोई परीक्षण नहीं हैं"
},
"environment": {
"add_to_global": " ग्लोबल में जोड़ें",
"added": " पर्यावरण अतिरिक्त",
"create_new": " नया वातावरण बनाएं",
"created": " पर्यावरण बनाया",
"deleted": " पर्यावरण विलोपन",
"duplicated": "Environment duplicated",
"edit": " पर्यावरण संपादित करें",
"empty_variables": "No variables",
"global": "Global",
"global_variables": "Global variables",
"invalid_name": " कृपया पर्यावरण के लिए एक नाम प्रदान करें",
"list": "Environment variables",
"my_environments": "My Environments",
"name": "Name",
"nested_overflow": " नेस्टेड पर्यावरण चर 10 स्तरों तक सीमित हैं",
"new": " नया वातावरण",
"no_active_environment": "No active environment",
"no_environment": " कोई वातावरण नहीं",
"no_environment_description": " कोई परिवेश नहीं चुना गया था. चुनें कि निम्नलिखित चर के साथ क्या करना है।",
"quick_peek": "Environment Quick Peek",
"replace_with_variable": "Replace with variable",
"scope": "Scope",
"select": " पर्यावरण का चयन करें",
"set": "Set environment",
"set_as_environment": "Set as environment",
"team_environments": "Team Environments",
"title": " वातावरण",
"updated": " पर्यावरण अद्यतन",
"value": "Value",
"variable": "Variable",
"variable_list": " परिवर्तनीय सूची"
},
"error": {
"browser_support_sse": " ऐसा लगता है कि इस ब्राउज़र में सर्वर से भेजे गए इवेंट का समर्थन नहीं है।",
"check_console_details": " विवरण के लिए कंसोल लॉग की जाँच करें।",
"curl_invalid_format": " कर्ल ठीक से स्वरूपित नहीं है",
"danger_zone": "Danger zone",
"delete_account": "Your account is currently an owner in these teams:",
"delete_account_description": "You must either remove yourself, transfer ownership, or delete these teams before you can delete your account.",
"empty_req_name": " खाली अनुरोध का नाम",
"f12_details": " (विवरण के लिए F12)",
"gql_prettify_invalid_query": " अमान्य क्वेरी को सुंदर नहीं बना सका, क्वेरी सिंटैक्स त्रुटियों को हल नहीं कर सका और पुनः प्रयास करें",
"incomplete_config_urls": " अपूर्ण कॉन्फ़िगरेशन URL",
"incorrect_email": " गलत ईमेल",
"invalid_link": " अमान्य लिंक",
"invalid_link_description": " आपके द्वारा क्लिक किया गया लिंक अमान्य है या समाप्त हो गया है।",
"json_parsing_failed": " अमान्य JSON",
"json_prettify_invalid_body": " अमान्य निकाय को सुंदर नहीं बना सका, json सिंटैक्स त्रुटियों को हल करें और पुनः प्रयास करें",
"network_error": " ऐसा लगता है कि कोई नेटवर्क त्रुटि है। कृपया पुन: प्रयास करें।",
"network_fail": " अनुरोध नहीं भेजा जा सका",
"no_duration": " कोई अवधि नहीं",
"no_results_found": " कोई मेल नहीं मिले",
"page_not_found": " यह पृष्ठ नहीं मिल सका",
"proxy_error": "Proxy error",
"script_fail": " पूर्व-अनुरोध स्क्रिप्ट निष्पादित नहीं कर सका",
"something_went_wrong": " कुछ गलत हो गया",
"test_script_fail": " अनुरोध के बाद स्क्रिप्ट निष्पादित नहीं कर सका"
},
"export": {
"as_json": " JSON के रूप में निर्यात करें",
"create_secret_gist": " गुप्त सार बनाएँ",
"gist_created": " जिस्ट बनाया",
"require_github": " गुप्त सार बनाने के लिए GitHub के साथ लॉगिन करें",
"title": " निर्यात करना"
},
"filter": {
"all": "All",
"none": "None",
"starred": "Starred"
},
"folder": {
"created": " फोल्डर बनाया",
"edit": " फ़ोल्डर संपादित करें",
"invalid_name": " कृपया फ़ोल्डर के लिए एक नाम प्रदान करें",
"name_length_insufficient": " फ़ोल्डर का नाम कम से कम 3 वर्ण लंबा होना चाहिए",
"new": " नया फोल्डर",
"renamed": " फ़ोल्डर का नाम बदला"
},
"graphql": {
"connection_switch_confirm": "Do you want to connect with the latest GraphQL endpoint?",
"connection_switch_new_url": "Switching to a tab will disconnected you from the active GraphQL connection. New connection URL is",
"connection_switch_url": "You're connected to a GraphQL endpoint the connection URL is",
"mutations": " उत्परिवर्तन",
"schema": " योजना",
"subscriptions": " सदस्यता",
"switch_connection": "Switch connection"
},
"group": {
"time": "Time",
"url": "URL"
},
"header": {
"install_pwa": " एप्लिकेशन इंस्टॉल करें",
"login": " लॉग इन करें",
"save_workspace": " मेरा कार्यक्षेत्र सहेजें"
},
"helpers": {
"authorization": " जब आप अनुरोध भेजेंगे तो प्राधिकरण शीर्षलेख स्वतः उत्पन्न हो जाएगा।",
"generate_documentation_first": " पहले दस्तावेज़ तैयार करें",
"network_fail": " एपीआई समापन बिंदु तक पहुंचने में असमर्थ। अपने नेटवर्क कनेक्शन की जाँच करें या किसी भिन्न इंटरसेप्टर का चयन करें और पुनः प्रयास करें।",
"offline": " ऐसा लगता है कि आप ऑफ़लाइन हैं. हो सकता है कि इस कार्यस्थान का डेटा अप टू डेट न हो.",
"offline_short": " ऐसा लगता है कि आप ऑफ़लाइन हैं.",
"post_request_tests": " टेस्ट स्क्रिप्ट जावास्क्रिप्ट में लिखी जाती हैं, और प्रतिक्रिया प्राप्त होने के बाद चलाई जाती हैं।",
"pre_request_script": " पूर्व-अनुरोध स्क्रिप्ट जावास्क्रिप्ट में लिखी जाती हैं, और अनुरोध भेजे जाने से पहले चलाई जाती हैं।",
"script_fail": " ऐसा लगता है कि प्री-रिक्वेस्ट स्क्रिप्ट में गड़बड़ है। नीचे दी गई त्रुटि की जाँच करें और उसके अनुसार स्क्रिप्ट को ठीक करें।",
"test_script_fail": " ऐसा लगता है कि परीक्षण स्क्रिप्ट में कोई त्रुटि है। कृपया त्रुटियों को ठीक करें और फिर से परीक्षण चलाएं",
"tests": "Write a test script to automate debugging."
},
"hide": {
"collection": "संग्रह पैनल संक्षिप्त करें",
"more": "अधिक छुपाएं",
"preview": "पूर्वावलोकन छुपाएं",
"sidebar": "साइडबार को ध्वस्त करें"
},
"import": {
"collections": "आयात संग्रहण",
"curl": "आयात cURL",
"failed": "आयात करते समय त्रुटि: प्रारूप पहचाना नहीं गया",
"from_gist": "Gist से आयात करें",
"from_gist_description": "Gist URL से आयात करें",
"from_insomnia": "Insomnia से आयात करें",
"from_insomnia_description": "Insomnia collection से आयात करें",
"from_json": "Hoppscotch से आयात करें",
"from_json_description": "Hoppsotch संग्रह फ़ाइल से आयात करें",
"from_my_collections": "मेरे संग्रह से आयात करें",
"from_my_collections_description": "मेरे संग्रह फ़ाइल से आयात करें",
"from_openapi": "OpenAPI से आयात करें",
"from_openapi_description": "OpenAPI specification file से आयात करें (JSON)",
"from_postman": "Postman से आयात करें",
"from_postman_description": "Postman collection से आयात करें",
"from_url": "URL से आयात करें",
"gist_url": "Gist URL दर्ज करें",
"import_from_url_invalid_fetch": "URL से डेटा नहीं मिल सका",
"import_from_url_invalid_file_format": "संग्रह आयात करते समय त्रुटि",
"import_from_url_invalid_type": "असमर्थित प्रकार। स्वीकृत मूल्य हैं 'hoppscotch', 'openapi', 'postman', 'insomnia'",
"import_from_url_success": "संग्रह आयातित",
"json_description": "Hoppscotch Collections JSON फ़ाइल से संग्रह आयात करें",
"title": "आयात करें"
},
"inspections": {
"description": "Inspect possible errors",
"environment": {
"add_environment": "Add to Environment",
"not_found": "Environment variable “{environment}” not found."
},
"header": {
"cookie": "The browser doesn't allow Hoppscotch to set the Cookie Header. While we're working on the Hoppscotch Desktop App (coming soon), please use the Authorization Header instead."
},
"response": {
"401_error": "Please check your authentication credentials.",
"404_error": "Please check your request URL and method type.",
"cors_error": "Please check your Cross-Origin Resource Sharing configuration.",
"default_error": "Please check your request.",
"network_error": "Please check your network connection."
},
"title": "Inspector",
"url": {
"extension_not_installed": "Extension not installed.",
"extension_unknown_origin": "Make sure you've added the API endpoint's origin to the Hoppscotch Browser Extension list.",
"extention_enable_action": "Enable Browser Extension",
"extention_not_enabled": "Extension not enabled."
}
},
"layout": {
"collapse_collection": "संग्रह को संक्षिप्त या विस्तृत करें",
"collapse_sidebar": "साइडबार को संक्षिप्त या विस्तृत करें",
"column": "लंबवत लेआउट",
"name": "लेआउट",
"row": "क्षैतिज लेआउट"
},
"modal": {
"close_unsaved_tab": "You have unsaved changes",
"collections": "संग्रह",
"confirm": "पुष्टि करें",
"edit_request": "अनुरोध संपादित करें",
"import_export": "आयात / निर्यात"
},
"mqtt": {
"already_subscribed": "You are already subscribed to this topic.",
"clean_session": "Clean Session",
"clear_input": "Clear input",
"clear_input_on_send": "Clear input on send",
"client_id": "Client ID",
"color": "Pick a color",
"communication": "संचार",
"connection_config": "Connection Config",
"connection_not_authorized": "This MQTT connection does not use any authentication.",
"invalid_topic": "Please provide a topic for the subscription",
"keep_alive": "Keep Alive",
"log": "लॉग",
"lw_message": "Last-Will Message",
"lw_qos": "Last-Will QoS",
"lw_retain": "Last-Will Retain",
"lw_topic": "Last-Will Topic",
"message": "संदेश",
"new": "New Subscription",
"not_connected": "Please start a MQTT connection first.",
"publish": "प्रकाशित",
"qos": "QoS",
"ssl": "SSL",
"subscribe": "सब्सक्राइब करें",
"topic": "विषय",
"topic_name": "विषय का नाम",
"topic_title": "विषय प्रकाशित करें / सदस्यता लें",
"unsubscribe": "विषय प्रकाशित करें / सदस्यता लें",
"url": "URL"
},
"navigation": {
"doc": "डॉक्स",
"graphql": "ग्राफक्ल",
"profile": "प्रोफ़ाइल",
"realtime": "रियल टाइम",
"rest": "रेस्ट",
"settings": "समायोजन"
},
"preRequest": {
"javascript_code": "जावास्क्रिप्ट कोड",
"learn": "प्रलेखन पढ़ें",
"script": "पूर्व-अनुरोध स्क्रिप्ट",
"snippets": "स्निपेट्स"
},
"profile": {
"app_settings": "एप्लिकेशन सेटिंग",
"default_hopp_displayname": "Unnamed User",
"editor": "संपादक",
"editor_description": "संपादक अनुरोधों को जोड़ सकते हैं, संपादित कर सकते हैं और हटा सकते हैं।",
"email_verification_mail": "आपके ईमेल पते पर एक सत्यापन ईमेल भेजा गया है। कृपया अपना ईमेल पता सत्यापित करने के लिए लिंक पर क्लिक करें।",
"no_permission": "आपके पास यह कार्रवाई करने की अनुमति नहीं है।",
"owner": "स्वामी",
"owner_description": "मालिक अनुरोध, संग्रह और टीम के सदस्यों को जोड़, संपादित और हटा सकते हैं।",
"roles": "भूमिकाएँ",
"roles_description": "साझा संग्रह तक पहुंच को नियंत्रित करने के लिए भूमिकाओं का उपयोग किया जाता है।",
"updated": "प्रोफाइल अद्यतन किया गया",
"viewer": "दर्शक",
"viewer_description": "दर्शक केवल अनुरोधों को देख और उपयोग कर सकते हैं।"
},
"remove": {
"star": "स्टार निकालें"
},
"request": {
"added": "अनुरोध जोड़ा गया",
"authorization": "प्राधिकार",
"body": "अनुरोध निकाय",
"choose_language": "भाषा चुनें",
"content_type": "सामग्री प्रकार",
"content_type_titles": {
"others": "अन्य",
"structured": "स्ट्रक्चर्ड",
"text": "मूलपाठ"
},
"copy_link": "प्रतिरूप जोड़ना",
"different_collection": "Cannot reorder requests from different collections",
"duplicated": "Request duplicated",
"duration": "अवधि",
"enter_curl": "कर्ल दर्ज करें",
"generate_code": "उत्पन्न कोड",
"generated_code": "उत्पन्न कोड",
"header_list": "हेडर सूची",
"invalid_name": "कृपया अनुरोध के लिए एक नाम प्रदान करें",
"method": "तरीका",
"moved": "Request moved",
"name": "अनुरोध नाम",
"new": "नई विनती",
"order_changed": "Request Order Updated",
"override": "अवहेलना",
"override_help": "हेडर में <kbd> सामग्री-प्रकार </kbd> सेट करें",
"overriden": "ओवरराइड",
"parameter_list": "क्वेरी पैरामीटर",
"parameters": "मापदंडों",
"path": "रास्ता",
"payload": "पेलोड",
"query": "सवाल",
"raw_body": "कच्चे अनुरोध निकाय",
"rename": "Rename Request",
"renamed": "अनुरोध नाम दिया गया",
"run": "दौड़ना",
"save": "बचाना",
"save_as": "के रूप रक्षित करें",
"saved": "अनुरोध सहेजा गया",
"share": "शेयर करना",
"share_description": "अपने दोस्तों के साथ hoppscotch साझा करें",
"stop": "Stop",
"title": "प्रार्थना",
"type": "अनुरोध का प्रकार",
"url": "यूआरएल",
"variables": "चर",
"view_my_links": "मेरे लिंक देखें"
},
"response": {
"audio": "Audio",
"body": "प्रतिक्रिया निकाय",
"filter_response_body": "फ़िल्टर JSON रिस्पांस बॉडी (JSONPATH सिंटैक्स का उपयोग करता है)",
"headers": "हेडर",
"html": "एचटीएमएल",
"image": "छवि",
"json": "जेसन",
"pdf": "पीडीएफ",
"preview_html": "HTML का पूर्वावलोकन करें",
"raw": "कच्चा",
"size": "आकार",
"status": "दर्जा",
"time": "समय",
"title": "जवाब",
"video": "Video",
"waiting_for_connection": "जुडने के लिए इंतजार",
"xml": "एक्सएमएल"
},
"settings": {
"accent_color": "स्वरोंका रंग",
"account": "खाता",
"account_deleted": "Your account has been deleted",
"account_description": "अपनी खाता सेटिंग कस्टमाइज़ करें।",
"account_email_description": "आपका प्राथमिक ईमेल पता।",
"account_name_description": "यह आपका प्रदर्शन नाम है।",
"background": "पार्श्वभूमि",
"black_mode": "काला",
"choose_language": "भाषा चुनें",
"dark_mode": "अँधेरा",
"delete_account": "Delete account",
"delete_account_description": "Once you delete your account, all your data will be permanently deleted. This action cannot be undone.",
"expand_navigation": "नेविगेशन का विस्तार करें",
"experiments": "प्रयोगों",
"experiments_notice": "यह उन प्रयोगों का एक संग्रह है, जिन पर हम काम कर रहे हैं, जो उपयोगी, मज़ेदार, दोनों या न ही हो सकते हैं। वे अंतिम नहीं हैं और स्थिर नहीं हो सकते हैं, इसलिए यदि कुछ अजीब होता है, तो घबराएं नहीं। बस खतरे को बंद कर दें। एक तरफ मजाक,",
"extension_ver_not_reported": "सूचना नहीं दी",
"extension_version": "विस्तार संस्करण",
"extensions": "ब्राउज़र विस्तार",
"extensions_use_toggle": "अनुरोध भेजने के लिए ब्राउज़र एक्सटेंशन का उपयोग करें (यदि मौजूद है)",
"follow": "हमारे पर का पालन करें",
"interceptor": "इंटरसेप्टर",
"interceptor_description": "एप्लिकेशन और एपीआई के बीच मिडलवेयर।",
"language": "भाषा",
"light_mode": "रोशनी",
"official_proxy_hosting": "आधिकारिक प्रॉक्सी होप्सकॉच द्वारा होस्ट किया गया है।",
"profile": "प्रोफ़ाइल",
"profile_description": "अपने प्रोफ़ाइल विवरण को अपडेट करें",
"profile_email": "ईमेल पता",
"profile_name": "प्रोफ़ाइल नाम",
"proxy": "प्रतिनिधि",
"proxy_url": "प्रॉक्सी यूआरएल",
"proxy_use_toggle": "अनुरोध भेजने के लिए प्रॉक्सी मिडलवेयर का उपयोग करें",
"read_the": "को पढ़िए",
"reset_default": "डिफ़ॉल्ट पर रीसेट",
"short_codes": "लघु संहिताएँ",
"short_codes_description": "छोटे कोड जो आपके द्वारा बनाए गए थे।",
"sidebar_on_left": "बाईं ओर साइडबार",
"sync": "सिंक्रनाइज़",
"sync_collections": "संग्रह",
"sync_description": "इन सेटिंग्स को क्लाउड में सिंक किया जाता है।",
"sync_environments": "वातावरण",
"sync_history": "इतिहास",
"system_mode": "व्यवस्था",
"telemetry": "टेलीमेटरी",
"telemetry_helps_us": "टेलीमेट्री हमें अपने संचालन को निजीकृत करने और आपको सबसे अच्छा अनुभव प्रदान करने में मदद करती है।",
"theme": "थीम",
"theme_description": "अपने एप्लिकेशन थीम को कस्टमाइज़ करें।",
"use_experimental_url_bar": "पर्यावरण हाइलाइटिंग के साथ प्रयोगात्मक URL बार का उपयोग करें",
"user": "उपयोगकर्ता",
"verified_email": "सत्यापित ईमेल",
"verify_email": "ईमेल सत्यापित करें"
},
"shortcodes": {
"actions": "कार्रवाई",
"created_on": "पर बनाया",
"deleted": "शॉर्टकोड हटा दिया गया",
"method": "तरीका",
"not_found": "शॉर्टकोड नहीं मिला",
"short_code": "लघु कूट संख्या",
"url": "यूआरएल"
},
"shortcut": {
"general": {
"close_current_menu": "वर्तमान मेनू बंद करें",
"command_menu": "खोज और कमांड मेनू",
"help_menu": "सहायता मेनू",
"show_all": "कुंजीपटल अल्प मार्ग",
"title": "सामान्य"
},
"miscellaneous": {
"invite": "लोगों को hoppscotch के लिए आमंत्रित करें",
"title": "विविध"
},
"navigation": {
"back": "पिछले पृष्ठ पर वापस जाएं",
"documentation": "प्रलेखन पृष्ठ पर जाएं",
"forward": "अगले पृष्ठ पर आगे बढ़ें",
"graphql": "Graphql पेज पर जाएं",
"profile": "प्रोफ़ाइल पेज पर जाएं",
"realtime": "रियलटाइम पेज पर जाएं",
"rest": "रेस्ट पेज पर जाएं",
"settings": "सेटिंग्स पृष्ठ पर जाएं",
"title": "मार्गदर्शन"
},
"others": {
"prettify": "Prettify Editor's Content",
"title": "Others"
},
"request": {
"copy_request_link": "कॉपी अनुरोध लिंक",
"delete_method": "हटाएं विधि का चयन करें",
"get_method": "गेट विधि का चयन करें",
"head_method": "हेड विधि का चयन करें",
"import_curl": "Import cURL",
"method": "तरीका",
"next_method": "अगली विधि का चयन करें",
"post_method": "पोस्ट विधि का चयन करें",
"previous_method": "पिछली विधि का चयन करें",
"put_method": "पुट विधि का चयन करें",
"rename": "Rename Request",
"reset_request": "रीसेट अनुरोध",
"save_request": "Save Request",
"save_to_collections": "संग्रह के लिए सहेजें",
"send_request": "अनुरोध भेजा",
"show_code": "Generate code snippet",
"title": "प्रार्थना"
},
"response": {
"copy": "क्लिपबोर्ड पर प्रतिक्रिया कॉपी करें",
"download": "फ़ाइल के रूप में प्रतिक्रिया डाउनलोड करें",
"title": "जवाब"
},
"theme": {
"black": "ब्लैक मोड पर थीम को स्विच करें",
"dark": "डार्क मोड पर थीम को स्विच करें",
"light": "प्रकाश मोड पर थीम स्विच करें",
"system": "सिस्टम मोड पर थीम स्विच करें",
"title": "थीम"
}
},
"show": {
"code": "शो कोड",
"collection": "संग्रह पैनल का विस्तार करें",
"more": "और दिखाओ",
"sidebar": "साइडबार का विस्तार करें"
},
"socketio": {
"communication": "संचार",
"connection_not_authorized": "यह सॉकेटियो कनेक्शन किसी भी प्रमाणीकरण का उपयोग नहीं करता है।",
"event_name": "कार्यक्रम नाम",
"events": "आयोजन",
"log": "लकड़ी का लट्ठा",
"url": "यूआरएल"
},
"spotlight": {
"change_language": "Change Language",
"environments": {
"delete": "Delete current environment",
"duplicate": "Duplicate current environment",
"duplicate_global": "Duplicate global environment",
"edit": "Edit current environment",
"edit_global": "Edit global environment",
"new": "Create new environment",
"new_variable": "Create a new environment variable",
"title": "Environments"
},
"general": {
"chat": "Chat with support",
"help_menu": "Help and support",
"open_docs": "Read Documentation",
"open_github": "Open GitHub repository",
"open_keybindings": "Keyboard shortcuts",
"social": "Social",
"title": "General"
},
"graphql": {
"connect": "Connect to server",
"disconnect": "Disconnect from server"
},
"miscellaneous": {
"invite": "Invite your friends to Hoppscotch",
"title": "Miscellaneous"
},
"request": {
"save_as_new": "Save as new request",
"select_method": "Select method",
"switch_to": "Switch to",
"tab_authorization": "Authorization tab",
"tab_body": "Body tab",
"tab_headers": "Headers tab",
"tab_parameters": "Parameters tab",
"tab_pre_request_script": "Pre-request script tab",
"tab_query": "Query tab",
"tab_tests": "Tests tab",
"tab_variables": "Variables tab"
},
"response": {
"copy": "Copy response",
"download": "Download response as file",
"title": "Response"
},
"section": {
"interceptor": "Interceptor",
"interface": "Interface",
"theme": "Theme",
"user": "User"
},
"settings": {
"change_interceptor": "Change Interceptor",
"change_language": "Change Language",
"theme": {
"black": "Black",
"dark": "Dark",
"light": "Light",
"system": "System preference"
}
},
"tab": {
"close_current": "Close current tab",
"close_others": "Close all other tabs",
"duplicate": "Duplicate current tab",
"new_tab": "Open a new tab",
"title": "Tabs"
},
"workspace": {
"delete": "Delete current team",
"edit": "Edit current team",
"invite": "Invite people to team",
"new": "Create new team",
"switch_to_personal": "Switch to your personal workspace",
"title": "Teams"
}
},
"sse": {
"event_type": "घटना प्रकार",
"log": "लकड़ी का लट्ठा",
"url": "यूआरएल"
},
"state": {
"bulk_mode": "थोक संपादन",
"bulk_mode_placeholder": "प्रविष्टियों को न्यूलाइन द्वारा अलग किया जाता है \n कुंजियाँ और मूल्यों को अलग कर दिया जाता है: \n किसी भी पंक्ति को आप जोड़ना चाहते हैं, लेकिन अक्षम रखें",
"cleared": "साफ़ किया गया",
"connected": "जुड़े हुए",
"connected_to": "{name} से जुड़ा हुआ है",
"connecting_to": "{name} से कनेक्ट करना ...",
"connection_error": "जोडने में विफल",
"connection_failed": "कनेक्शन विफल",
"connection_lost": "संपर्क टूट गया",
"copied_to_clipboard": "क्लिपबोर्ड पर नकल",
"deleted": "हटाए गए",
"deprecated": "बहिष्कृत किया गया",
"disabled": "अक्षम",
"disconnected": "डिस्कनेक्ट किया गया",
"disconnected_from": "{name} से डिस्कनेक्ट किया गया",
"docs_generated": "प्रलेखन उत्पन्न",
"download_started": "डाउनलोड शुरू हुआ",
"enabled": "सक्रिय",
"file_imported": "आयातित फ़ाइल",
"finished_in": "{duration} एमएस में समाप्त",
"history_deleted": "इतिहास हटा दिया गया",
"linewrap": "लपेटने की रेखाएँ",
"loading": "लोड हो रहा है...",
"message_received": "संदेश: {message} विषय पर पहुंचे: {topic}",
"mqtt_subscription_failed": "विषय की सदस्यता लेते हुए कुछ गलत हो गया: {topic}",
"none": "कोई भी नहीं",
"nothing_found": "के लिए कुछ भी नहीं मिला",
"published_error": "MSG प्रकाशित करते समय कुछ गलत हुआ: {topic} विषय के लिए: {message}",
"published_message": "प्रकाशित संदेश: {message} विषय के लिए: {topic}",
"reconnection_error": "फिर से जुड़ने में विफल रहा",
"subscribed_failed": "विषय की सदस्यता लेने में विफल: {topic}",
"subscribed_success": "सफलतापूर्वक विषय की सदस्यता: {topic}",
"unsubscribed_failed": "विषय से सदस्यता समाप्त करने में विफल: {topic}",
"unsubscribed_success": "विषय से सफलतापूर्वक सदस्यता: {topic}",
"waiting_send_request": "अनुरोध भेजने की प्रतीक्षा में"
},
"support": {
"changelog": "नवीनतम रिलीज़ के बारे में और पढ़ें",
"chat": "प्रशन? हम से बात करे!",
"community": "सवाल पूछें और दूसरों की मदद करें",
"documentation": "Hoppscotch के बारे में और पढ़ें",
"forum": "सवाल पूछें और उत्तर प्राप्त करें",
"github": "हमें GitHub पर फॉलो करें",
"shortcuts": "ऐप को तेजी से ब्राउज़ करें",
"team": "टीम के संपर्क में रहें",
"title": "सहायता",
"twitter": "चहचहाना पर हमें का पालन करें"
},
"tab": {
"authorization": "प्राधिकार",
"body": "शरीर",
"close": "Close Tab",
"close_others": "Close other Tabs",
"collections": "संग्रह",
"documentation": "प्रलेखन",
"duplicate": "Duplicate Tab",
"environments": "Environments",
"headers": "हेडर",
"history": "इतिहास",
"mqtt": "MQTT",
"parameters": "मापदंडों",
"pre_request_script": "पूर्व-अनुरोध स्क्रिप्ट",
"queries": "प्रश्नों",
"query": "सवाल",
"schema": "योजना",
"socketio": "Socket.IO",
"sse": "एसएसई",
"tests": "परीक्षण",
"types": "प्रकार",
"variables": "चर",
"websocket": "जालसाजक"
},
"team": {
"already_member": "आप पहले से ही इस टीम के सदस्य हैं। अपनी टीम के मालिक से संपर्क करें।",
"create_new": "नई टीम बनाएं",
"deleted": "टीम हटा दी गई",
"edit": "संपादित टीम",
"email": "ईमेल",
"email_do_not_match": "ईमेल आपके खाते के विवरण के साथ मेल नहीं खाता है। अपनी टीम के मालिक से संपर्क करें।",
"exit": "निकास टीम",
"exit_disabled": "केवल मालिक टीम से बाहर नहीं निकल सकते",
"invalid_coll_id": "Invalid collection ID",
"invalid_email_format": "ईमेल प्रारूप अमान्य है",
"invalid_id": "अमान्य टीम आईडी। अपनी टीम के मालिक से संपर्क करें।",
"invalid_invite_link": "अमान्य आमंत्रित लिंक",
"invalid_invite_link_description": "आपके द्वारा पीछा किया गया लिंक अमान्य है। अपनी टीम के मालिक से संपर्क करें।",
"invalid_member_permission": "कृपया टीम के सदस्य को एक वैध अनुमति प्रदान करें",
"invite": "आमंत्रित करना",
"invite_more": "अधिक आमंत्रित करें",
"invite_tooltip": "लोगों को इस कार्यक्षेत्र में आमंत्रित करें",
"invited_to_team": "{owner} ने आपको {team} में शामिल होने के लिए आमंत्रित किया",
"join": "निमंत्रण स्वीकार किया गया",
"join_beta": "टीमों तक पहुंचने के लिए बीटा कार्यक्रम में शामिल हों।",
"join_team": "टीम में शामिल हों}",
"joined_team": "आप {team} में शामिल हो गए हैं",
"joined_team_description": "अब आप इस टीम के सदस्य हैं",
"left": "आपने टीम छोड़ दी",
"login_to_continue": "जारी रखने के लिए लॉगिन करें",
"login_to_continue_description": "एक टीम में शामिल होने के लिए आपको लॉग इन करने की आवश्यकता है।",
"logout_and_try_again": "लॉगआउट और किसी अन्य खाते के साथ साइन इन करें",
"member_has_invite": "इस ईमेल आईडी में पहले से ही एक निमंत्रण है। अपनी टीम के मालिक से संपर्क करें।",
"member_not_found": "सदस्य अनुपस्थित। अपनी टीम के मालिक से संपर्क करें।",
"member_removed": "उपयोगकर्ता हटा दिया",
"member_role_updated": "उपयोगकर्ता भूमिकाएँ अद्यतन की गईं",
"members": "सदस्यों",
"more_members": "+{count} more",
"name_length_insufficient": "टीम का नाम कम से कम 6 अक्षर लंबा होना चाहिए",
"name_updated": "टीम का नाम अपडेट किया गया",
"new": "नई टीम",
"new_created": "नई टीम बनाई गई",
"new_name": "मेरी नई टीम",
"no_access": "आपके पास इन संग्रहों तक पहुंच नहीं है",
"no_invite_found": "निमंत्रण नहीं मिला। अपनी टीम के मालिक से संपर्क करें।",
"no_request_found": "Request not found.",
"not_found": "टीम नहीं मिली। अपनी टीम के मालिक से संपर्क करें।",
"not_valid_viewer": "आप एक वैध दर्शक नहीं हैं। अपनी टीम के मालिक से संपर्क करें।",
"parent_coll_move": "Cannot move collection to a child collection",
"pending_invites": "लंबित आमंत्रण",
"permissions": "अनुमतियां",
"same_target_destination": "Same target and destination",
"saved": "टीम बचाया",
"select_a_team": "एक टीम का चयन करें",
"title": "टीमों",
"we_sent_invite_link": "हमने सभी आमंत्रणों के लिए एक आमंत्रण लिंक भेजा!",
"we_sent_invite_link_description": "सभी आमंत्रणों से उनके इनबॉक्स की जांच करने के लिए पूछें। टीम में शामिल होने के लिए लिंक पर क्लिक करें।"
},
"team_environment": {
"deleted": "Environment Deleted",
"duplicate": "Environment Duplicated",
"not_found": "Environment not found."
},
"test": {
"failed": "परीक्षण विफल",
"javascript_code": "जावास्क्रिप्ट कोड",
"learn": "प्रलेखन पढ़ें",
"passed": "परीक्षा उत्तीर्ण की",
"report": "जाँच रिपोर्ट",
"results": "परीक्षा के परिणाम",
"script": "लिखी हुई कहानी",
"snippets": "स्निपेट्स"
},
"websocket": {
"communication": "संचार",
"log": "लकड़ी का लट्ठा",
"message": "संदेश",
"protocols": "प्रोटोकॉल",
"url": "यूआरएल"
},
"workspace": {
"change": "Change workspace",
"personal": "My Workspace",
"team": "Team Workspace",
"title": "Workspaces"
}
}

View File

@@ -1,5 +1,6 @@
{ {
"action": { "action": {
"add": "Add",
"autoscroll": "Automatikus görgetés", "autoscroll": "Automatikus görgetés",
"cancel": "Mégse", "cancel": "Mégse",
"choose_file": "Válasszon egy fájlt", "choose_file": "Válasszon egy fájlt",
@@ -10,6 +11,7 @@
"connect": "Kapcsolódás", "connect": "Kapcsolódás",
"connecting": "Kapcsolódás", "connecting": "Kapcsolódás",
"copy": "Másolás", "copy": "Másolás",
"create": "Create",
"delete": "Törlés", "delete": "Törlés",
"disconnect": "Leválasztás", "disconnect": "Leválasztás",
"dismiss": "Eltüntetés", "dismiss": "Eltüntetés",
@@ -31,6 +33,7 @@
"open_workspace": "Munkaterület megnyitása", "open_workspace": "Munkaterület megnyitása",
"paste": "Beillesztés", "paste": "Beillesztés",
"prettify": "Csinosítás", "prettify": "Csinosítás",
"properties": "Properties",
"remove": "Eltávolítás", "remove": "Eltávolítás",
"rename": "Rename", "rename": "Rename",
"restore": "Visszaállítás", "restore": "Visszaállítás",
@@ -39,6 +42,7 @@
"scroll_to_top": "Görgetés a tetejére", "scroll_to_top": "Görgetés a tetejére",
"search": "Keresés", "search": "Keresés",
"send": "Küldés", "send": "Küldés",
"share": "Share",
"start": "Indítás", "start": "Indítás",
"starting": "Indítás", "starting": "Indítás",
"stop": "Leállítás", "stop": "Leállítás",
@@ -57,7 +61,9 @@
"app": { "app": {
"chat_with_us": "Csevegjen velünk", "chat_with_us": "Csevegjen velünk",
"contact_us": "Lépjen kapcsolatba velünk", "contact_us": "Lépjen kapcsolatba velünk",
"cookies": "Cookies",
"copy": "Másolás", "copy": "Másolás",
"copy_interface_type": "Copy interface type",
"copy_user_id": "Felhasználó-hitelesítési token másolása", "copy_user_id": "Felhasználó-hitelesítési token másolása",
"developer_option": "Fejlesztői beállítások", "developer_option": "Fejlesztői beállítások",
"developer_option_description": "Fejlesztői eszközök, amelyek segítenek a Hoppscotch fejlesztésében és karbantartásában.", "developer_option_description": "Fejlesztői eszközök, amelyek segítenek a Hoppscotch fejlesztésében és karbantartásában.",
@@ -73,6 +79,7 @@
"keyboard_shortcuts": "Gyorsbillentyűk", "keyboard_shortcuts": "Gyorsbillentyűk",
"name": "Hoppscotch", "name": "Hoppscotch",
"new_version_found": "Új verzió található. Töltse újra az oldalt a frissítéshez.", "new_version_found": "Új verzió található. Töltse újra az oldalt a frissítéshez.",
"open_in_hoppscotch": "Open in Hoppscotch",
"options": "Beállítások", "options": "Beállítások",
"proxy_privacy_policy": "Proxy adatvédelmi irányelvei", "proxy_privacy_policy": "Proxy adatvédelmi irányelvei",
"reload": "Újratöltés", "reload": "Újratöltés",
@@ -112,10 +119,27 @@
}, },
"authorization": { "authorization": {
"generate_token": "Token előállítása", "generate_token": "Token előállítása",
"graphql_headers": "Authorization Headers are sent as part of the payload to connection_init",
"include_in_url": "Felvétel az URL-be", "include_in_url": "Felvétel az URL-be",
"inherited_from": "Inherited from {auth} from Parent Collection {collection} ",
"learn": "Tudja meg, hogyan", "learn": "Tudja meg, hogyan",
"oauth": {
"redirect_auth_server_returned_error": "Auth Server returned an error state",
"redirect_auth_token_request_failed": "Request to get the auth token failed",
"redirect_auth_token_request_invalid_response": "Invalid Response from the Token Endpoint when requesting for an auth token",
"redirect_invalid_state": "Invalid State value present in the redirect",
"redirect_no_auth_code": "No Authorization Code present in the redirect",
"redirect_no_client_id": "No Client ID defined",
"redirect_no_client_secret": "No Client Secret Defined",
"redirect_no_code_verifier": "No Code Verifier Defined",
"redirect_no_token_endpoint": "No Token Endpoint Defined",
"something_went_wrong_on_oauth_redirect": "Something went wrong during OAuth Redirect",
"something_went_wrong_on_token_generation": "Something went wrong on token generation",
"token_generation_oidc_discovery_failed": "Failure on token generation: OpenID Connect Discovery Failed"
},
"pass_key_by": "Átadta", "pass_key_by": "Átadta",
"password": "Jelszó", "password": "Jelszó",
"save_to_inherit": "Please save this request in any collection to inherit the authorization",
"token": "Token", "token": "Token",
"type": "Felhatalmazás típusa", "type": "Felhatalmazás típusa",
"username": "Felhasználónév" "username": "Felhasználónév"
@@ -124,6 +148,7 @@
"created": "Gyűjtemény létrehozva", "created": "Gyűjtemény létrehozva",
"different_parent": "Nem lehet átrendezni a különböző szülővel rendelkező gyűjteményt", "different_parent": "Nem lehet átrendezni a különböző szülővel rendelkező gyűjteményt",
"edit": "Gyűjtemény szerkesztése", "edit": "Gyűjtemény szerkesztése",
"import_or_create": "Import or create a collection",
"invalid_name": "Adjon nevet a gyűjteménynek", "invalid_name": "Adjon nevet a gyűjteménynek",
"invalid_root_move": "A gyűjtemény már a gyökérben van", "invalid_root_move": "A gyűjtemény már a gyökérben van",
"moved": "Sikeresen áthelyezve", "moved": "Sikeresen áthelyezve",
@@ -132,6 +157,8 @@
"name_length_insufficient": "A gyűjtemény nevének legalább 3 karakter hosszúságúnak kell lennie", "name_length_insufficient": "A gyűjtemény nevének legalább 3 karakter hosszúságúnak kell lennie",
"new": "Új gyűjtemény", "new": "Új gyűjtemény",
"order_changed": "Gyűjtemény sorrendje frissítve", "order_changed": "Gyűjtemény sorrendje frissítve",
"properties": "Collection Properties",
"properties_updated": "Collection Properties Updated",
"renamed": "Gyűjtemény átnevezve", "renamed": "Gyűjtemény átnevezve",
"request_in_use": "A kérés használatban", "request_in_use": "A kérés használatban",
"save_as": "Mentés másként", "save_as": "Mentés másként",
@@ -151,6 +178,7 @@
"remove_folder": "Biztosan véglegesen törölni szeretné ezt a mappát?", "remove_folder": "Biztosan véglegesen törölni szeretné ezt a mappát?",
"remove_history": "Biztosan véglegesen törölni szeretné az összes előzményt?", "remove_history": "Biztosan véglegesen törölni szeretné az összes előzményt?",
"remove_request": "Biztosan véglegesen törölni szeretné ezt a kérést?", "remove_request": "Biztosan véglegesen törölni szeretné ezt a kérést?",
"remove_shared_request": "Are you sure you want to permanently delete this shared request?",
"remove_team": "Biztosan törölni szeretné ezt a csapatot?", "remove_team": "Biztosan törölni szeretné ezt a csapatot?",
"remove_telemetry": "Biztosan ki szeretné kapcsolni a telemetriát?", "remove_telemetry": "Biztosan ki szeretné kapcsolni a telemetriát?",
"request_change": "Biztosan el szeretné vetni a jelenlegi kérést? Minden mentetlen változtatás el fog veszni.", "request_change": "Biztosan el szeretné vetni a jelenlegi kérést? Minden mentetlen változtatás el fog veszni.",
@@ -162,6 +190,24 @@
"open_request_in_new_tab": "Open request in new tab", "open_request_in_new_tab": "Open request in new tab",
"set_environment_variable": "Set as variable" "set_environment_variable": "Set as variable"
}, },
"cookies": {
"modal": {
"cookie_expires": "Expires",
"cookie_name": "Name",
"cookie_path": "Path",
"cookie_string": "Cookie string",
"cookie_value": "Value",
"empty_domain": "Domain is empty",
"empty_domains": "Domain list is empty",
"enter_cookie_string": "Enter cookie string",
"interceptor_no_support": "Your currently selected interceptor does not support cookies. Select a different Interceptor and try again.",
"managed_tab": "Managed",
"new_domain_name": "New domain name",
"no_cookies_in_domain": "No cookies set for this domain",
"raw_tab": "Raw",
"set": "Set a cookie"
}
},
"count": { "count": {
"header": "{count}. fejléc", "header": "{count}. fejléc",
"message": "{count}. üzenet", "message": "{count}. üzenet",
@@ -192,11 +238,13 @@
"profile": "Jelentkezzen be a profilja megtekintéséhez", "profile": "Jelentkezzen be a profilja megtekintéséhez",
"protocols": "A protokollok üresek", "protocols": "A protokollok üresek",
"schema": "Kapcsolódjon egy GraphQL-végponthoz a séma megtekintéséhez", "schema": "Kapcsolódjon egy GraphQL-végponthoz a séma megtekintéséhez",
"shortcodes": "A rövid kódok üresek", "shared_requests": "Shared requests are empty",
"shared_requests_logout": "Login to view your shared requests or create a new one",
"subscription": "A feliratkozások üresek", "subscription": "A feliratkozások üresek",
"team_name": "A csapat neve üres", "team_name": "A csapat neve üres",
"teams": "Ön nem tartozik semmilyen csapathoz", "teams": "Ön nem tartozik semmilyen csapathoz",
"tests": "Nincsenek tesztek ehhez a kéréshez" "tests": "Nincsenek tesztek ehhez a kéréshez",
"shortcodes": "A rövid kódok üresek"
}, },
"environment": { "environment": {
"add_to_global": "Hozzáadás a globálishoz", "add_to_global": "Hozzáadás a globálishoz",
@@ -209,6 +257,7 @@
"empty_variables": "No variables", "empty_variables": "No variables",
"global": "Global", "global": "Global",
"global_variables": "Global variables", "global_variables": "Global variables",
"import_or_create": "Import or create a environment",
"invalid_name": "Adjon nevet a környezetnek", "invalid_name": "Adjon nevet a környezetnek",
"list": "Environment variables", "list": "Environment variables",
"my_environments": "Saját környezetek", "my_environments": "Saját környezetek",
@@ -232,8 +281,10 @@
"variable_list": "Változólista" "variable_list": "Változólista"
}, },
"error": { "error": {
"authproviders_load_error": "Unable to load auth providers",
"browser_support_sse": "Úgy tűnik, hogy ez a böngésző nem támogatja a kiszolgáló által küldött eseményeket.", "browser_support_sse": "Úgy tűnik, hogy ez a böngésző nem támogatja a kiszolgáló által küldött eseményeket.",
"check_console_details": "Nézze meg a konzolnaplót a részletekért.", "check_console_details": "Nézze meg a konzolnaplót a részletekért.",
"check_how_to_add_origin": "Check how you can add an origin",
"curl_invalid_format": "A cURL nincs megfelelően formázva", "curl_invalid_format": "A cURL nincs megfelelően formázva",
"danger_zone": "Veszélyes zóna", "danger_zone": "Veszélyes zóna",
"delete_account": "Az Ön fiókja jelenleg tulajdonos ezekben a csapatokban:", "delete_account": "Az Ön fiókja jelenleg tulajdonos ezekben a csapatokban:",
@@ -249,9 +300,12 @@
"json_prettify_invalid_body": "Nem sikerült csinosítani egy érvénytelen törzset, oldja meg a JSON szintaktikai hibáit, és próbálja újra", "json_prettify_invalid_body": "Nem sikerült csinosítani egy érvénytelen törzset, oldja meg a JSON szintaktikai hibáit, és próbálja újra",
"network_error": "Úgy tűnik, hogy hálózati hiba van. Próbálja újra.", "network_error": "Úgy tűnik, hogy hálózati hiba van. Próbálja újra.",
"network_fail": "Nem sikerült elküldeni a kérést", "network_fail": "Nem sikerült elküldeni a kérést",
"no_collections_to_export": "No collections to export. Please create a collection to get started.",
"no_duration": "Nincs időtartam", "no_duration": "Nincs időtartam",
"no_environments_to_export": "No environments to export. Please create an environment to get started.",
"no_results_found": "Nincs találat", "no_results_found": "Nincs találat",
"page_not_found": "Ez az oldal nem található", "page_not_found": "Ez az oldal nem található",
"please_install_extension": "Please install the extension and add origin to the extension.",
"proxy_error": "Proxy error", "proxy_error": "Proxy error",
"script_fail": "Nem sikerült végrehajtani a kérés előtti parancsfájlt", "script_fail": "Nem sikerült végrehajtani a kérés előtti parancsfájlt",
"something_went_wrong": "Valami elromlott", "something_went_wrong": "Valami elromlott",
@@ -260,6 +314,7 @@
"export": { "export": {
"as_json": "Exportálás JSON formátumban", "as_json": "Exportálás JSON formátumban",
"create_secret_gist": "Titkos Gist létrehozása", "create_secret_gist": "Titkos Gist létrehozása",
"failed": "Something went wrong while exporting",
"gist_created": "Gist létrehozva", "gist_created": "Gist létrehozva",
"require_github": "Jelentkezzen be GitHub használatával a titkos Gist létrehozásához", "require_github": "Jelentkezzen be GitHub használatával a titkos Gist létrehozásához",
"title": "Exportálás" "title": "Exportálás"
@@ -286,6 +341,9 @@
"subscriptions": "Feliratkozások", "subscriptions": "Feliratkozások",
"switch_connection": "Switch connection" "switch_connection": "Switch connection"
}, },
"graphql_collections": {
"title": "GraphQL Collections"
},
"group": { "group": {
"time": "Idő", "time": "Idő",
"url": "URL" "url": "URL"
@@ -297,6 +355,8 @@
}, },
"helpers": { "helpers": {
"authorization": "A felhatalmazási fejléc automatikusan elő lesz állítva a kérés elküldésekor.", "authorization": "A felhatalmazási fejléc automatikusan elő lesz állítva a kérés elküldésekor.",
"collection_properties_authorization": " This authorization will be set for every request in this collection.",
"collection_properties_header": "This header will be set for every request in this collection.",
"generate_documentation_first": "Először állítsa elő a dokumentációt", "generate_documentation_first": "Először állítsa elő a dokumentációt",
"network_fail": "Nem lehet elérni az API-végpontot. Ellenőrizze a hálózati kapcsolatot vagy válasszon egy másik elfogót, és próbálja újra.", "network_fail": "Nem lehet elérni az API-végpontot. Ellenőrizze a hálózati kapcsolatot vagy válasszon egy másik elfogót, és próbálja újra.",
"offline": "Úgy tűnik, hogy kapcsolat nélküli módban van. Előfordulhat, hogy a munkaterületen lévő adatok nem naprakészek.", "offline": "Úgy tűnik, hogy kapcsolat nélküli módban van. Előfordulhat, hogy a munkaterületen lévő adatok nem naprakészek.",
@@ -316,7 +376,10 @@
"import": { "import": {
"collections": "Gyűjtemények importálása", "collections": "Gyűjtemények importálása",
"curl": "cURL importálása", "curl": "cURL importálása",
"environments_from_gist": "Import From Gist",
"environments_from_gist_description": "Import Hoppscotch Environments From Gist",
"failed": "Hiba az importálás során: a formátum nem azonosítható", "failed": "Hiba az importálás során: a formátum nem azonosítható",
"from_file": "Import from File",
"from_gist": "Importálás Gistből", "from_gist": "Importálás Gistből",
"from_gist_description": "Importálás Gist URL-ből", "from_gist_description": "Importálás Gist URL-ből",
"from_insomnia": "Importálás Insomniából", "from_insomnia": "Importálás Insomniából",
@@ -331,11 +394,17 @@
"from_postman_description": "Importálás Postman-gyűjteményből", "from_postman_description": "Importálás Postman-gyűjteményből",
"from_url": "Importálás URL-ből", "from_url": "Importálás URL-ből",
"gist_url": "Gist URL megadása", "gist_url": "Gist URL megadása",
"gql_collections_from_gist_description": "Import GraphQL Collections From Gist",
"hoppscotch_environment": "Hoppscotch Environment",
"hoppscotch_environment_description": "Import Hoppscotch Environment JSON file",
"import_from_url_invalid_fetch": "Nem sikerült lekérni az adatokat az URL-ről", "import_from_url_invalid_fetch": "Nem sikerült lekérni az adatokat az URL-ről",
"import_from_url_invalid_file_format": "Hiba a gyűjtemények importálása során", "import_from_url_invalid_file_format": "Hiba a gyűjtemények importálása során",
"import_from_url_invalid_type": "Nem támogatott típus. Az elfogadott értékek: „hoppscotch”, „openapi”, „postman” vagy „insomnia”.", "import_from_url_invalid_type": "Nem támogatott típus. Az elfogadott értékek: „hoppscotch”, „openapi”, „postman” vagy „insomnia”.",
"import_from_url_success": "Gyűjtemények importálva", "import_from_url_success": "Gyűjtemények importálva",
"insomnia_environment_description": "Import Insomnia Environment from a JSON/YAML file",
"json_description": "Gyűjtemények importálása Hoppscotch-gyűjtemények JSON-fájlból", "json_description": "Gyűjtemények importálása Hoppscotch-gyűjtemények JSON-fájlból",
"postman_environment": "Postman Environment",
"postman_environment_description": "Import Postman Environment from a JSON file",
"title": "Importálás" "title": "Importálás"
}, },
"inspections": { "inspections": {
@@ -373,8 +442,10 @@
"close_unsaved_tab": "Elmentetlen változtatásai vannak", "close_unsaved_tab": "Elmentetlen változtatásai vannak",
"collections": "Gyűjtemények", "collections": "Gyűjtemények",
"confirm": "Megerősítés", "confirm": "Megerősítés",
"customize_request": "Customize Request",
"edit_request": "Kérés szerkesztése", "edit_request": "Kérés szerkesztése",
"import_export": "Importálás és exportálás" "import_export": "Importálás és exportálás",
"share_request": "Share Request"
}, },
"mqtt": { "mqtt": {
"already_subscribed": "Ön már feliratkozott erre a témára.", "already_subscribed": "Ön már feliratkozott erre a témára.",
@@ -449,13 +520,14 @@
"structured": "Szerkesztett", "structured": "Szerkesztett",
"text": "Szöveg" "text": "Szöveg"
}, },
"copy_link": "Hivatkozás másolása",
"different_collection": "Nem lehet átrendezni a különböző gyűjteményekből érkező kéréseket", "different_collection": "Nem lehet átrendezni a különböző gyűjteményekből érkező kéréseket",
"duplicated": "Kérés megkettőzve", "duplicated": "Kérés megkettőzve",
"duration": "Időtartam", "duration": "Időtartam",
"enter_curl": "cURL-parancs megadása", "enter_curl": "cURL-parancs megadása",
"generate_code": "Kód előállítása", "generate_code": "Kód előállítása",
"generated_code": "Előállított kód", "generated_code": "Előállított kód",
"go_to_authorization_tab": "Go to Authorization tab",
"go_to_body_tab": "Go to Body tab",
"header_list": "Fejléclista", "header_list": "Fejléclista",
"invalid_name": "Adjon nevet a kérésnek", "invalid_name": "Adjon nevet a kérésnek",
"method": "Módszer", "method": "Módszer",
@@ -480,12 +552,14 @@
"saved": "Kérés elmentve", "saved": "Kérés elmentve",
"share": "Megosztás", "share": "Megosztás",
"share_description": "A Hoppscotch megosztása az ismerőseivel", "share_description": "A Hoppscotch megosztása az ismerőseivel",
"share_request": "Share Request",
"stop": "Stop", "stop": "Stop",
"title": "Kérés", "title": "Kérés",
"type": "Kérés típusa", "type": "Kérés típusa",
"url": "URL", "url": "URL",
"variables": "Változók", "variables": "Változók",
"view_my_links": "Saját hivatkozások megtekintése" "view_my_links": "Saját hivatkozások megtekintése",
"copy_link": "Hivatkozás másolása"
}, },
"response": { "response": {
"audio": "Hang", "audio": "Hang",
@@ -513,6 +587,7 @@
"account_description": "A fiókbeállítások személyre szabása.", "account_description": "A fiókbeállítások személyre szabása.",
"account_email_description": "Az Ön elsődleges e-mail-címe.", "account_email_description": "Az Ön elsődleges e-mail-címe.",
"account_name_description": "Ez a megjelenített neve.", "account_name_description": "Ez a megjelenített neve.",
"additional": "Additional Settings",
"background": "Háttér", "background": "Háttér",
"black_mode": "Fekete", "black_mode": "Fekete",
"choose_language": "Nyelv kiválasztása", "choose_language": "Nyelv kiválasztása",
@@ -559,14 +634,31 @@
"verified_email": "Ellenőrzött e-mail-cím", "verified_email": "Ellenőrzött e-mail-cím",
"verify_email": "E-mail-cím ellenőrzése" "verify_email": "E-mail-cím ellenőrzése"
}, },
"shortcodes": { "shared_requests": {
"actions": "Műveletek", "button": "Button",
"created_on": "Létrehozva", "button_info": "Create a 'Run in Hoppscotch' button for your website, blog or a README.",
"deleted": "Rövid kód törölve", "copy_html": "Copy HTML",
"method": "Módszer", "copy_link": "Copy Link",
"not_found": "A rövid kód nem található", "copy_markdown": "Copy Markdown",
"short_code": "Rövid kód", "creating_widget": "Creating widget",
"url": "URL" "customize": "Customize",
"deleted": "Shared request deleted",
"description": "Select a widget, you can change and customize this later",
"embed": "Embed",
"embed_info": "Add a mini 'Hoppscotch API Playground' to your website, blog or documentation.",
"link": "Link",
"link_info": "Create a shareable link to share with anyone on the internet with view access.",
"modified": "Shared request modified",
"not_found": "Shared request not found",
"open_new_tab": "Open in new tab",
"preview": "Preview",
"run_in_hoppscotch": "Run in Hoppscotch",
"theme": {
"dark": "Dark",
"light": "Light",
"system": "System",
"title": "Theme"
}
}, },
"shortcut": { "shortcut": {
"general": { "general": {
@@ -596,7 +688,6 @@
"title": "Others" "title": "Others"
}, },
"request": { "request": {
"copy_request_link": "Kérés hivatkozásának másolása",
"delete_method": "DELETE módszer kiválasztása", "delete_method": "DELETE módszer kiválasztása",
"get_method": "GET módszer kiválasztása", "get_method": "GET módszer kiválasztása",
"head_method": "HEAD módszer kiválasztása", "head_method": "HEAD módszer kiválasztása",
@@ -611,8 +702,10 @@
"save_request": "Save Request", "save_request": "Save Request",
"save_to_collections": "Mentés a gyűjteményekbe", "save_to_collections": "Mentés a gyűjteményekbe",
"send_request": "Kérés elküldése", "send_request": "Kérés elküldése",
"share_request": "Share Request",
"show_code": "Generate code snippet", "show_code": "Generate code snippet",
"title": "Kérés" "title": "Kérés",
"copy_request_link": "Kérés hivatkozásának másolása"
}, },
"response": { "response": {
"copy": "Válasz másolása a vágólapra", "copy": "Válasz másolása a vágólapra",
@@ -735,6 +828,7 @@
"connection_error": "Nem sikerült kapcsolódni", "connection_error": "Nem sikerült kapcsolódni",
"connection_failed": "A kapcsolódás sikertelen", "connection_failed": "A kapcsolódás sikertelen",
"connection_lost": "A kapcsolat elveszett", "connection_lost": "A kapcsolat elveszett",
"copied_interface_to_clipboard": "Copied {language} interface type to clipboard",
"copied_to_clipboard": "Vágólapra másolva", "copied_to_clipboard": "Vágólapra másolva",
"deleted": "Törölve", "deleted": "Törölve",
"deprecated": "ELAVULT", "deprecated": "ELAVULT",
@@ -742,10 +836,12 @@
"disconnected": "Leválasztva", "disconnected": "Leválasztva",
"disconnected_from": "Leválasztva innen: {name}", "disconnected_from": "Leválasztva innen: {name}",
"docs_generated": "Dokumentáció előállítva", "docs_generated": "Dokumentáció előállítva",
"download_failed": "Download failed",
"download_started": "A letöltés elkezdődött", "download_started": "A letöltés elkezdődött",
"enabled": "Engedélyezve", "enabled": "Engedélyezve",
"file_imported": "Fájl importálva", "file_imported": "Fájl importálva",
"finished_in": "Befejeződött {duration} ms alatt", "finished_in": "Befejeződött {duration} ms alatt",
"hide": "Hide",
"history_deleted": "Előzmények törölve", "history_deleted": "Előzmények törölve",
"linewrap": "Sorok tördelése", "linewrap": "Sorok tördelése",
"loading": "Betöltés…", "loading": "Betöltés…",
@@ -756,6 +852,7 @@
"published_error": "Valami elromlott a következő üzenet közzététele során: {topic}, ehhez a témához: {message}", "published_error": "Valami elromlott a következő üzenet közzététele során: {topic}, ehhez a témához: {message}",
"published_message": "Közzétett üzenet: {message}, ehhez a témához: {topic}", "published_message": "Közzétett üzenet: {message}, ehhez a témához: {topic}",
"reconnection_error": "Nem sikerült újrakapcsolódni", "reconnection_error": "Nem sikerült újrakapcsolódni",
"show": "Show",
"subscribed_failed": "Nem sikerült feliratkozni erre a témára: {topic}", "subscribed_failed": "Nem sikerült feliratkozni erre a témára: {topic}",
"subscribed_success": "Sikeresen feliratkozott erre a témára: {topic}", "subscribed_success": "Sikeresen feliratkozott erre a témára: {topic}",
"unsubscribed_failed": "Nem sikerült leiratkozni erről a témáról: {topic}", "unsubscribed_failed": "Nem sikerült leiratkozni erről a témáról: {topic}",
@@ -791,6 +888,7 @@
"queries": "Lekérdezések", "queries": "Lekérdezések",
"query": "Lekérdezés", "query": "Lekérdezés",
"schema": "Séma", "schema": "Séma",
"shared_requests": "Shared Requests",
"socketio": "Socket.IO", "socketio": "Socket.IO",
"sse": "SSE", "sse": "SSE",
"tests": "Tesztek", "tests": "Tesztek",
@@ -807,6 +905,7 @@
"email_do_not_match": "Az e-mail-cím nem egyezik a fiókja részleteivel. Vegye fel a kapcsolatot a csapat tulajdonosával.", "email_do_not_match": "Az e-mail-cím nem egyezik a fiókja részleteivel. Vegye fel a kapcsolatot a csapat tulajdonosával.",
"exit": "Kilépés a csapatból", "exit": "Kilépés a csapatból",
"exit_disabled": "Csak a tulajdonos nem léphet ki a csapatból", "exit_disabled": "Csak a tulajdonos nem léphet ki a csapatból",
"failed_invites": "Failed invites",
"invalid_coll_id": "Érvénytelen gyűjteményazonosító", "invalid_coll_id": "Érvénytelen gyűjteményazonosító",
"invalid_email_format": "Az e-mail formátuma érvénytelen", "invalid_email_format": "Az e-mail formátuma érvénytelen",
"invalid_id": "Érvénytelen csapatazonosító. Vegye fel a kapcsolatot a csapat tulajdonosával.", "invalid_id": "Érvénytelen csapatazonosító. Vegye fel a kapcsolatot a csapat tulajdonosával.",
@@ -848,6 +947,7 @@
"same_target_destination": "Ugyanaz a cél és célhely", "same_target_destination": "Ugyanaz a cél és célhely",
"saved": "Csapat elmentve", "saved": "Csapat elmentve",
"select_a_team": "Csapat kiválasztása", "select_a_team": "Csapat kiválasztása",
"success_invites": "Success invites",
"title": "Csapatok", "title": "Csapatok",
"we_sent_invite_link": "Elküldtünk egy meghívási hivatkozást az összes meghívottnak.", "we_sent_invite_link": "Elküldtünk egy meghívási hivatkozást az összes meghívottnak.",
"we_sent_invite_link_description": "Kérje meg az összes meghívottat, hogy nézzék meg a beérkező leveleiket. Kattintsanak a hivatkozásra a csapathoz való csatlakozáshoz." "we_sent_invite_link_description": "Kérje meg az összes meghívottat, hogy nézzék meg a beérkező leveleiket. Kattintsanak a hivatkozásra a csapathoz való csatlakozáshoz."
@@ -879,5 +979,14 @@
"personal": "Saját munkaterület", "personal": "Saját munkaterület",
"team": "Csapat-munkaterület", "team": "Csapat-munkaterület",
"title": "Munkaterületek" "title": "Munkaterületek"
},
"shortcodes": {
"actions": "Műveletek",
"created_on": "Létrehozva",
"deleted": "Rövid kód törölve",
"method": "Módszer",
"not_found": "A rövid kód nem található",
"short_code": "Rövid kód",
"url": "URL"
} }
} }

View File

@@ -1,5 +1,6 @@
{ {
"action": { "action": {
"add": "Add",
"autoscroll": "Gulir Otomatis", "autoscroll": "Gulir Otomatis",
"cancel": "Batalkan", "cancel": "Batalkan",
"choose_file": "Pilih file", "choose_file": "Pilih file",
@@ -10,6 +11,7 @@
"connect": "Sambungkan", "connect": "Sambungkan",
"connecting": "Menyambungkan", "connecting": "Menyambungkan",
"copy": "Salin", "copy": "Salin",
"create": "Create",
"delete": "Menghapus", "delete": "Menghapus",
"disconnect": "Memutuskan", "disconnect": "Memutuskan",
"dismiss": "Tolak", "dismiss": "Tolak",
@@ -31,6 +33,7 @@
"open_workspace": "Ruang kerja terbuka", "open_workspace": "Ruang kerja terbuka",
"paste": "Tempel", "paste": "Tempel",
"prettify": "Prettify", "prettify": "Prettify",
"properties": "Properties",
"remove": "Hapus", "remove": "Hapus",
"rename": "Rename", "rename": "Rename",
"restore": "Pulihkan", "restore": "Pulihkan",
@@ -39,6 +42,7 @@
"scroll_to_top": "Gulir ke atas", "scroll_to_top": "Gulir ke atas",
"search": "Cari", "search": "Cari",
"send": "Kirim", "send": "Kirim",
"share": "Share",
"start": "Mulai", "start": "Mulai",
"starting": "Memulai", "starting": "Memulai",
"stop": "Berhenti", "stop": "Berhenti",
@@ -57,7 +61,9 @@
"app": { "app": {
"chat_with_us": "Berbincanglah dengan kami", "chat_with_us": "Berbincanglah dengan kami",
"contact_us": "Hubungi kami", "contact_us": "Hubungi kami",
"cookies": "Cookies",
"copy": "Salin", "copy": "Salin",
"copy_interface_type": "Copy interface type",
"copy_user_id": "Salin Token Otentikasi Pengguna", "copy_user_id": "Salin Token Otentikasi Pengguna",
"developer_option": "Opsi pengembang", "developer_option": "Opsi pengembang",
"developer_option_description": "Alat pengembang yang membantu dalam pengembangan dan pemeliharaan Hoppscotch.", "developer_option_description": "Alat pengembang yang membantu dalam pengembangan dan pemeliharaan Hoppscotch.",
@@ -73,6 +79,7 @@
"keyboard_shortcuts": "Pintasan keyboard", "keyboard_shortcuts": "Pintasan keyboard",
"name": "Hoppscotch", "name": "Hoppscotch",
"new_version_found": "Versi baru ditemukan. Segarkan untuk memperbarui..", "new_version_found": "Versi baru ditemukan. Segarkan untuk memperbarui..",
"open_in_hoppscotch": "Open in Hoppscotch",
"options": "Pilihan", "options": "Pilihan",
"proxy_privacy_policy": "Kebijakan privasi proxy", "proxy_privacy_policy": "Kebijakan privasi proxy",
"reload": "Muat ulang", "reload": "Muat ulang",
@@ -112,10 +119,27 @@
}, },
"authorization": { "authorization": {
"generate_token": "Buat Token", "generate_token": "Buat Token",
"graphql_headers": "Authorization Headers are sent as part of the payload to connection_init",
"include_in_url": "Sertakan dalam URL", "include_in_url": "Sertakan dalam URL",
"inherited_from": "Inherited from {auth} from Parent Collection {collection} ",
"learn": "Belajar bagaimana", "learn": "Belajar bagaimana",
"oauth": {
"redirect_auth_server_returned_error": "Auth Server returned an error state",
"redirect_auth_token_request_failed": "Request to get the auth token failed",
"redirect_auth_token_request_invalid_response": "Invalid Response from the Token Endpoint when requesting for an auth token",
"redirect_invalid_state": "Invalid State value present in the redirect",
"redirect_no_auth_code": "No Authorization Code present in the redirect",
"redirect_no_client_id": "No Client ID defined",
"redirect_no_client_secret": "No Client Secret Defined",
"redirect_no_code_verifier": "No Code Verifier Defined",
"redirect_no_token_endpoint": "No Token Endpoint Defined",
"something_went_wrong_on_oauth_redirect": "Something went wrong during OAuth Redirect",
"something_went_wrong_on_token_generation": "Something went wrong on token generation",
"token_generation_oidc_discovery_failed": "Failure on token generation: OpenID Connect Discovery Failed"
},
"pass_key_by": "Lewat", "pass_key_by": "Lewat",
"password": "Kata Sandi", "password": "Kata Sandi",
"save_to_inherit": "Please save this request in any collection to inherit the authorization",
"token": "Token", "token": "Token",
"type": "Jenis Otorisasi", "type": "Jenis Otorisasi",
"username": "Nama Pengguna" "username": "Nama Pengguna"
@@ -124,6 +148,7 @@
"created": "Koleksi dibuat", "created": "Koleksi dibuat",
"different_parent": "Tidak dapat mengubah urutan koleksi dengan induk yang berbeda", "different_parent": "Tidak dapat mengubah urutan koleksi dengan induk yang berbeda",
"edit": "Mengubah Koleksi", "edit": "Mengubah Koleksi",
"import_or_create": "Import or create a collection",
"invalid_name": "Berikan nama untuk Koleksi", "invalid_name": "Berikan nama untuk Koleksi",
"invalid_root_move": "Koleksi sudah berada di akar direktori", "invalid_root_move": "Koleksi sudah berada di akar direktori",
"moved": "Berhasil Dipindahkan", "moved": "Berhasil Dipindahkan",
@@ -132,6 +157,8 @@
"name_length_insufficient": "Nama koleksi harus minimal 3 karakter", "name_length_insufficient": "Nama koleksi harus minimal 3 karakter",
"new": "Koleksi baru", "new": "Koleksi baru",
"order_changed": "Pembaruan Urutan Koleksi", "order_changed": "Pembaruan Urutan Koleksi",
"properties": "Collection Properties",
"properties_updated": "Collection Properties Updated",
"renamed": "Koleksi berganti nama", "renamed": "Koleksi berganti nama",
"request_in_use": "Permintaan sedang digunakan", "request_in_use": "Permintaan sedang digunakan",
"save_as": "Simpan Sebagai", "save_as": "Simpan Sebagai",
@@ -151,6 +178,7 @@
"remove_folder": "Apakah Anda yakin ingin menghapus folder ini secara permanen?", "remove_folder": "Apakah Anda yakin ingin menghapus folder ini secara permanen?",
"remove_history": "Apakah Anda yakin ingin menghapus semua riwayat secara permanen?", "remove_history": "Apakah Anda yakin ingin menghapus semua riwayat secara permanen?",
"remove_request": "Apakah Anda yakin ingin menghapus permintaan ini secara permanen?", "remove_request": "Apakah Anda yakin ingin menghapus permintaan ini secara permanen?",
"remove_shared_request": "Are you sure you want to permanently delete this shared request?",
"remove_team": "Apakah Anda yakin ingin menghapus tim ini?", "remove_team": "Apakah Anda yakin ingin menghapus tim ini?",
"remove_telemetry": "Apakah Anda yakin ingin menyisih dari Telemetri?", "remove_telemetry": "Apakah Anda yakin ingin menyisih dari Telemetri?",
"request_change": "Apakah Anda yakin ingin membuang permintaan saat ini, perubahan yang belum disimpan akan hilang.", "request_change": "Apakah Anda yakin ingin membuang permintaan saat ini, perubahan yang belum disimpan akan hilang.",
@@ -162,6 +190,24 @@
"open_request_in_new_tab": "Open request in new tab", "open_request_in_new_tab": "Open request in new tab",
"set_environment_variable": "Set as variable" "set_environment_variable": "Set as variable"
}, },
"cookies": {
"modal": {
"cookie_expires": "Expires",
"cookie_name": "Name",
"cookie_path": "Path",
"cookie_string": "Cookie string",
"cookie_value": "Value",
"empty_domain": "Domain is empty",
"empty_domains": "Domain list is empty",
"enter_cookie_string": "Enter cookie string",
"interceptor_no_support": "Your currently selected interceptor does not support cookies. Select a different Interceptor and try again.",
"managed_tab": "Managed",
"new_domain_name": "New domain name",
"no_cookies_in_domain": "No cookies set for this domain",
"raw_tab": "Raw",
"set": "Set a cookie"
}
},
"count": { "count": {
"header": "Header {count}", "header": "Header {count}",
"message": "Pesan {count}", "message": "Pesan {count}",
@@ -192,11 +238,13 @@
"profile": "Masuk untuk melihat profil Anda", "profile": "Masuk untuk melihat profil Anda",
"protocols": "Protokol kosong", "protocols": "Protokol kosong",
"schema": "Hubungkan ke endpoint GraphQL untuk melihat skema", "schema": "Hubungkan ke endpoint GraphQL untuk melihat skema",
"shortcodes": "Shortcodes kosong", "shared_requests": "Shared requests are empty",
"shared_requests_logout": "Login to view your shared requests or create a new one",
"subscription": "Langganan kosong", "subscription": "Langganan kosong",
"team_name": "Nama team kosong", "team_name": "Nama team kosong",
"teams": "Kamu bukan di team manapun", "teams": "Kamu bukan di team manapun",
"tests": "Tidak ada tes untuk permintaan ini" "tests": "Tidak ada tes untuk permintaan ini",
"shortcodes": "Shortcodes kosong"
}, },
"environment": { "environment": {
"add_to_global": "Tambahkan ke Global", "add_to_global": "Tambahkan ke Global",
@@ -209,6 +257,7 @@
"empty_variables": "No variables", "empty_variables": "No variables",
"global": "Global", "global": "Global",
"global_variables": "Global variables", "global_variables": "Global variables",
"import_or_create": "Import or create a environment",
"invalid_name": "Tolong beri nama untuk environment", "invalid_name": "Tolong beri nama untuk environment",
"list": "Environment variables", "list": "Environment variables",
"my_environments": "Environment Saya", "my_environments": "Environment Saya",
@@ -232,8 +281,10 @@
"variable_list": "Daftar Variable" "variable_list": "Daftar Variable"
}, },
"error": { "error": {
"authproviders_load_error": "Unable to load auth providers",
"browser_support_sse": "Browser ini sepertinya tidak memiliki dukungan Server Sent Events.", "browser_support_sse": "Browser ini sepertinya tidak memiliki dukungan Server Sent Events.",
"check_console_details": "Periksa console log untuk detailnya.", "check_console_details": "Periksa console log untuk detailnya.",
"check_how_to_add_origin": "Check how you can add an origin",
"curl_invalid_format": "cURL tidak diformat dengan benar", "curl_invalid_format": "cURL tidak diformat dengan benar",
"danger_zone": "Danger zone", "danger_zone": "Danger zone",
"delete_account": "Akun Anda saat ini merupakan pemilik dalam tim-tim ini:", "delete_account": "Akun Anda saat ini merupakan pemilik dalam tim-tim ini:",
@@ -249,9 +300,12 @@
"json_prettify_invalid_body": "Tidak dapat prettify body yang tidak valid, selesaikan kesalahan sintaks json dan coba lagi", "json_prettify_invalid_body": "Tidak dapat prettify body yang tidak valid, selesaikan kesalahan sintaks json dan coba lagi",
"network_error": "Sepertinya ada kesalahan jaringan. Silakan coba lagi.", "network_error": "Sepertinya ada kesalahan jaringan. Silakan coba lagi.",
"network_fail": "Tidak dapat mengirim permintaan", "network_fail": "Tidak dapat mengirim permintaan",
"no_collections_to_export": "No collections to export. Please create a collection to get started.",
"no_duration": "Tidak ada durasi", "no_duration": "Tidak ada durasi",
"no_environments_to_export": "No environments to export. Please create an environment to get started.",
"no_results_found": "Tidak ada kecocokan yang ditemukan", "no_results_found": "Tidak ada kecocokan yang ditemukan",
"page_not_found": "Halaman ini tidak dapat ditemukan", "page_not_found": "Halaman ini tidak dapat ditemukan",
"please_install_extension": "Please install the extension and add origin to the extension.",
"proxy_error": "Proxy error", "proxy_error": "Proxy error",
"script_fail": "Tidak dapat menjalankan pre-request script", "script_fail": "Tidak dapat menjalankan pre-request script",
"something_went_wrong": "Ada yang salah", "something_went_wrong": "Ada yang salah",
@@ -260,6 +314,7 @@
"export": { "export": {
"as_json": "Export sebagai JSON", "as_json": "Export sebagai JSON",
"create_secret_gist": "Buat secret Gist", "create_secret_gist": "Buat secret Gist",
"failed": "Something went wrong while exporting",
"gist_created": "Gist dibuat", "gist_created": "Gist dibuat",
"require_github": "Masuk dengan GitHub untuk membuat secret gist", "require_github": "Masuk dengan GitHub untuk membuat secret gist",
"title": "Export" "title": "Export"
@@ -286,6 +341,9 @@
"subscriptions": "Subscriptions", "subscriptions": "Subscriptions",
"switch_connection": "Switch connection" "switch_connection": "Switch connection"
}, },
"graphql_collections": {
"title": "GraphQL Collections"
},
"group": { "group": {
"time": "Time", "time": "Time",
"url": "URL" "url": "URL"
@@ -297,6 +355,8 @@
}, },
"helpers": { "helpers": {
"authorization": "Header otorisasi akan dibuat secara otomatis saat Anda mengirim permintaan.", "authorization": "Header otorisasi akan dibuat secara otomatis saat Anda mengirim permintaan.",
"collection_properties_authorization": " This authorization will be set for every request in this collection.",
"collection_properties_header": "This header will be set for every request in this collection.",
"generate_documentation_first": "Generate dokumentasi dulu", "generate_documentation_first": "Generate dokumentasi dulu",
"network_fail": "Tidak dapat mencapai API endpoint. Periksa koneksi jaringan Anda atau pilih Interceptor lain dan coba lagi.", "network_fail": "Tidak dapat mencapai API endpoint. Periksa koneksi jaringan Anda atau pilih Interceptor lain dan coba lagi.",
"offline": "Anda tampaknya sedang offline. Data di ruang kerja ini mungkin tidak terbarui.", "offline": "Anda tampaknya sedang offline. Data di ruang kerja ini mungkin tidak terbarui.",
@@ -316,7 +376,10 @@
"import": { "import": {
"collections": "Impor koleksi", "collections": "Impor koleksi",
"curl": "Impor cURL", "curl": "Impor cURL",
"environments_from_gist": "Import From Gist",
"environments_from_gist_description": "Import Hoppscotch Environments From Gist",
"failed": "Kesalahan saat mengimpor: format tidak dikenali", "failed": "Kesalahan saat mengimpor: format tidak dikenali",
"from_file": "Import from File",
"from_gist": "Impor dari Gist", "from_gist": "Impor dari Gist",
"from_gist_description": "Impor dari Gist URL", "from_gist_description": "Impor dari Gist URL",
"from_insomnia": "Impor dari Insomnia", "from_insomnia": "Impor dari Insomnia",
@@ -331,11 +394,17 @@
"from_postman_description": "Impor dari Koleksi Postman", "from_postman_description": "Impor dari Koleksi Postman",
"from_url": "Impor dari URL", "from_url": "Impor dari URL",
"gist_url": "Masukkan Gist URL", "gist_url": "Masukkan Gist URL",
"gql_collections_from_gist_description": "Import GraphQL Collections From Gist",
"hoppscotch_environment": "Hoppscotch Environment",
"hoppscotch_environment_description": "Import Hoppscotch Environment JSON file",
"import_from_url_invalid_fetch": "Tidak bisa mendapatkan data dari url", "import_from_url_invalid_fetch": "Tidak bisa mendapatkan data dari url",
"import_from_url_invalid_file_format": "Kesalahan saat mengimpor koleksi", "import_from_url_invalid_file_format": "Kesalahan saat mengimpor koleksi",
"import_from_url_invalid_type": "Jenis tidak didukung. nilai yang diterima adalah 'hoppscotch', 'openapi', 'postman', 'insomnia'", "import_from_url_invalid_type": "Jenis tidak didukung. nilai yang diterima adalah 'hoppscotch', 'openapi', 'postman', 'insomnia'",
"import_from_url_success": "Impor koleksi berhasil", "import_from_url_success": "Impor koleksi berhasil",
"insomnia_environment_description": "Import Insomnia Environment from a JSON/YAML file",
"json_description": "Impor Koleksi dari berkas JSON Koleksi Hoppscotch", "json_description": "Impor Koleksi dari berkas JSON Koleksi Hoppscotch",
"postman_environment": "Postman Environment",
"postman_environment_description": "Import Postman Environment from a JSON file",
"title": "Impor" "title": "Impor"
}, },
"inspections": { "inspections": {
@@ -373,8 +442,10 @@
"close_unsaved_tab": "Anda memiliki perubahan yang belum disimpan", "close_unsaved_tab": "Anda memiliki perubahan yang belum disimpan",
"collections": "Koleksi", "collections": "Koleksi",
"confirm": "Mengonfirmasi", "confirm": "Mengonfirmasi",
"customize_request": "Customize Request",
"edit_request": "Edit Request", "edit_request": "Edit Request",
"import_export": "Impor / Ekspor" "import_export": "Impor / Ekspor",
"share_request": "Share Request"
}, },
"mqtt": { "mqtt": {
"already_subscribed": "Anda sudah berlangganan topik ini.", "already_subscribed": "Anda sudah berlangganan topik ini.",
@@ -449,13 +520,14 @@
"structured": "Structured", "structured": "Structured",
"text": "Text" "text": "Text"
}, },
"copy_link": "Salin tautan",
"different_collection": "Tidak dapat mengubah urutan permintaan dari koleksi yang berbeda", "different_collection": "Tidak dapat mengubah urutan permintaan dari koleksi yang berbeda",
"duplicated": "Request duplicated", "duplicated": "Request duplicated",
"duration": "Durasi", "duration": "Durasi",
"enter_curl": "Masukkan cURL", "enter_curl": "Masukkan cURL",
"generate_code": "Hasilkan kode", "generate_code": "Hasilkan kode",
"generated_code": "Hasilkan kode", "generated_code": "Hasilkan kode",
"go_to_authorization_tab": "Go to Authorization tab",
"go_to_body_tab": "Go to Body tab",
"header_list": "Daftar Header", "header_list": "Daftar Header",
"invalid_name": "Harap berikan nama untuk request", "invalid_name": "Harap berikan nama untuk request",
"method": "Method", "method": "Method",
@@ -480,12 +552,14 @@
"saved": "Request disimpan", "saved": "Request disimpan",
"share": "Membagikan", "share": "Membagikan",
"share_description": "Bagikan Hoppscotch dengan teman-teman Anda", "share_description": "Bagikan Hoppscotch dengan teman-teman Anda",
"share_request": "Share Request",
"stop": "Stop", "stop": "Stop",
"title": "Request", "title": "Request",
"type": "Tipe Request", "type": "Tipe Request",
"url": "URL", "url": "URL",
"variables": "Variables", "variables": "Variables",
"view_my_links": "Lihat tautan saya" "view_my_links": "Lihat tautan saya",
"copy_link": "Salin tautan"
}, },
"response": { "response": {
"audio": "Audio", "audio": "Audio",
@@ -513,6 +587,7 @@
"account_description": "Sesuaikan pengaturan akun Anda.", "account_description": "Sesuaikan pengaturan akun Anda.",
"account_email_description": "Alamat surel utama Anda.", "account_email_description": "Alamat surel utama Anda.",
"account_name_description": "Ini adalah nama tampilan Anda.", "account_name_description": "Ini adalah nama tampilan Anda.",
"additional": "Additional Settings",
"background": "Latar belakang", "background": "Latar belakang",
"black_mode": "Hitam", "black_mode": "Hitam",
"choose_language": "Pilih bahasa", "choose_language": "Pilih bahasa",
@@ -559,14 +634,31 @@
"verified_email": "Surel terverifikasi", "verified_email": "Surel terverifikasi",
"verify_email": "Verifikasi surel" "verify_email": "Verifikasi surel"
}, },
"shortcodes": { "shared_requests": {
"actions": "Tindakan", "button": "Button",
"created_on": "Dibuat pada", "button_info": "Create a 'Run in Hoppscotch' button for your website, blog or a README.",
"deleted": "Shortcode dihapus", "copy_html": "Copy HTML",
"method": "Method", "copy_link": "Copy Link",
"not_found": "Shortcode tidak ditemukan", "copy_markdown": "Copy Markdown",
"short_code": "Short code", "creating_widget": "Creating widget",
"url": "URL" "customize": "Customize",
"deleted": "Shared request deleted",
"description": "Select a widget, you can change and customize this later",
"embed": "Embed",
"embed_info": "Add a mini 'Hoppscotch API Playground' to your website, blog or documentation.",
"link": "Link",
"link_info": "Create a shareable link to share with anyone on the internet with view access.",
"modified": "Shared request modified",
"not_found": "Shared request not found",
"open_new_tab": "Open in new tab",
"preview": "Preview",
"run_in_hoppscotch": "Run in Hoppscotch",
"theme": {
"dark": "Dark",
"light": "Light",
"system": "System",
"title": "Theme"
}
}, },
"shortcut": { "shortcut": {
"general": { "general": {
@@ -596,7 +688,6 @@
"title": "Others" "title": "Others"
}, },
"request": { "request": {
"copy_request_link": "Salin Tautan Permintaan",
"delete_method": "Pilih metode DELETE", "delete_method": "Pilih metode DELETE",
"get_method": "Pilih metode GET", "get_method": "Pilih metode GET",
"head_method": "Pilih metode HEAD", "head_method": "Pilih metode HEAD",
@@ -611,8 +702,10 @@
"save_request": "Save Request", "save_request": "Save Request",
"save_to_collections": "Menyimpan ke Collections", "save_to_collections": "Menyimpan ke Collections",
"send_request": "Kirim Request", "send_request": "Kirim Request",
"share_request": "Share Request",
"show_code": "Generate code snippet", "show_code": "Generate code snippet",
"title": "Request" "title": "Request",
"copy_request_link": "Salin Tautan Permintaan"
}, },
"response": { "response": {
"copy": "Salin response ke papan klip", "copy": "Salin response ke papan klip",
@@ -735,6 +828,7 @@
"connection_error": "Gagal terhubung", "connection_error": "Gagal terhubung",
"connection_failed": "Koneksi gagal", "connection_failed": "Koneksi gagal",
"connection_lost": "Koneksi terputus", "connection_lost": "Koneksi terputus",
"copied_interface_to_clipboard": "Copied {language} interface type to clipboard",
"copied_to_clipboard": "Disalin ke papan klip", "copied_to_clipboard": "Disalin ke papan klip",
"deleted": "Dihapus", "deleted": "Dihapus",
"deprecated": "Tidak digunakan lagi", "deprecated": "Tidak digunakan lagi",
@@ -742,10 +836,12 @@
"disconnected": "Terputus", "disconnected": "Terputus",
"disconnected_from": "Terputus dari {name}", "disconnected_from": "Terputus dari {name}",
"docs_generated": "Dokumentasi dihasilkan", "docs_generated": "Dokumentasi dihasilkan",
"download_failed": "Download failed",
"download_started": "Unduhan dimulai", "download_started": "Unduhan dimulai",
"enabled": "Diaktifkan", "enabled": "Diaktifkan",
"file_imported": "File diimpor", "file_imported": "File diimpor",
"finished_in": "Selesai dalam {duration} ms", "finished_in": "Selesai dalam {duration} ms",
"hide": "Hide",
"history_deleted": "Riwayat dihapus", "history_deleted": "Riwayat dihapus",
"linewrap": "Bungkus baris", "linewrap": "Bungkus baris",
"loading": "Memuat...", "loading": "Memuat...",
@@ -756,6 +852,7 @@
"published_error": "Terjadi masalah saat memublikasikan msg: {topic} ke topik: {message}", "published_error": "Terjadi masalah saat memublikasikan msg: {topic} ke topik: {message}",
"published_message": "Pesan yang dipublikasikan: {message} ke topik: {topic}", "published_message": "Pesan yang dipublikasikan: {message} ke topik: {topic}",
"reconnection_error": "Gagal menyambung kembali", "reconnection_error": "Gagal menyambung kembali",
"show": "Show",
"subscribed_failed": "Gagal berlangganan topik: {topic}", "subscribed_failed": "Gagal berlangganan topik: {topic}",
"subscribed_success": "Berhasil berlangganan topik: {topic}", "subscribed_success": "Berhasil berlangganan topik: {topic}",
"unsubscribed_failed": "Gagal berhenti berlangganan dari topik: {topic}", "unsubscribed_failed": "Gagal berhenti berlangganan dari topik: {topic}",
@@ -791,6 +888,7 @@
"queries": "Queries", "queries": "Queries",
"query": "Query", "query": "Query",
"schema": "Schema", "schema": "Schema",
"shared_requests": "Shared Requests",
"socketio": "Socket.IO", "socketio": "Socket.IO",
"sse": "SSE", "sse": "SSE",
"tests": "Tests", "tests": "Tests",
@@ -807,6 +905,7 @@
"email_do_not_match": "Surel tidak cocok dengan detail akun Anda. Hubungi pemilik tim Anda.", "email_do_not_match": "Surel tidak cocok dengan detail akun Anda. Hubungi pemilik tim Anda.",
"exit": "Keluar dari Tim", "exit": "Keluar dari Tim",
"exit_disabled": "Hanya pemilik yang tidak dapat keluar dari tim", "exit_disabled": "Hanya pemilik yang tidak dapat keluar dari tim",
"failed_invites": "Failed invites",
"invalid_coll_id": "ID koleksi tidak valid", "invalid_coll_id": "ID koleksi tidak valid",
"invalid_email_format": "Format surel tidak valid", "invalid_email_format": "Format surel tidak valid",
"invalid_id": "ID tim tidak valid. Hubungi pemilik tim Anda.", "invalid_id": "ID tim tidak valid. Hubungi pemilik tim Anda.",
@@ -848,6 +947,7 @@
"same_target_destination": "Sama tujuan dan destinasi", "same_target_destination": "Sama tujuan dan destinasi",
"saved": "Tim disimpan", "saved": "Tim disimpan",
"select_a_team": "Pilih tim", "select_a_team": "Pilih tim",
"success_invites": "Success invites",
"title": "tim", "title": "tim",
"we_sent_invite_link": "Kami mengirim tautan undangan ke semua undangan!", "we_sent_invite_link": "Kami mengirim tautan undangan ke semua undangan!",
"we_sent_invite_link_description": "Minta semua undangan untuk memeriksa kotak masuk mereka. Klik tautan untuk bergabung dengan tim." "we_sent_invite_link_description": "Minta semua undangan untuk memeriksa kotak masuk mereka. Klik tautan untuk bergabung dengan tim."
@@ -879,5 +979,14 @@
"personal": "Workspace Saya", "personal": "Workspace Saya",
"team": "Workspace Tim", "team": "Workspace Tim",
"title": "Workspaces" "title": "Workspaces"
},
"shortcodes": {
"actions": "Tindakan",
"created_on": "Dibuat pada",
"deleted": "Shortcode dihapus",
"method": "Method",
"not_found": "Shortcode tidak ditemukan",
"short_code": "Short code",
"url": "URL"
} }
} }

View File

@@ -1,5 +1,6 @@
{ {
"action": { "action": {
"add": "Add",
"autoscroll": "Autoscroll", "autoscroll": "Autoscroll",
"cancel": "Annulla", "cancel": "Annulla",
"choose_file": "Scegli un file", "choose_file": "Scegli un file",
@@ -10,6 +11,7 @@
"connect": "Connetti", "connect": "Connetti",
"connecting": "Connecting", "connecting": "Connecting",
"copy": "Copia", "copy": "Copia",
"create": "Create",
"delete": "Elimina", "delete": "Elimina",
"disconnect": "Disconnetti", "disconnect": "Disconnetti",
"dismiss": "Abbandona", "dismiss": "Abbandona",
@@ -31,6 +33,7 @@
"open_workspace": "Open workspace", "open_workspace": "Open workspace",
"paste": "Paste", "paste": "Paste",
"prettify": "Abbellisci", "prettify": "Abbellisci",
"properties": "Properties",
"remove": "Rimuovi", "remove": "Rimuovi",
"rename": "Rename", "rename": "Rename",
"restore": "Ripristina", "restore": "Ripristina",
@@ -39,6 +42,7 @@
"scroll_to_top": "Scroll to top", "scroll_to_top": "Scroll to top",
"search": "Cerca", "search": "Cerca",
"send": "Invia", "send": "Invia",
"share": "Share",
"start": "Avvia", "start": "Avvia",
"starting": "Starting", "starting": "Starting",
"stop": "Interrompi", "stop": "Interrompi",
@@ -57,7 +61,9 @@
"app": { "app": {
"chat_with_us": "Chatta con noi", "chat_with_us": "Chatta con noi",
"contact_us": "Contattaci", "contact_us": "Contattaci",
"cookies": "Cookies",
"copy": "Copia", "copy": "Copia",
"copy_interface_type": "Copy interface type",
"copy_user_id": "Copy User Auth Token", "copy_user_id": "Copy User Auth Token",
"developer_option": "Developer options", "developer_option": "Developer options",
"developer_option_description": "Developer tools which helps in development and maintenance of Hoppscotch.", "developer_option_description": "Developer tools which helps in development and maintenance of Hoppscotch.",
@@ -73,6 +79,7 @@
"keyboard_shortcuts": "Tasti rapidi", "keyboard_shortcuts": "Tasti rapidi",
"name": "Hoppscotch", "name": "Hoppscotch",
"new_version_found": "Nuova versione trovata. Aggiorna la pagina per aggiornare.", "new_version_found": "Nuova versione trovata. Aggiorna la pagina per aggiornare.",
"open_in_hoppscotch": "Open in Hoppscotch",
"options": "Options", "options": "Options",
"proxy_privacy_policy": "Informativa sulla privacy del proxy", "proxy_privacy_policy": "Informativa sulla privacy del proxy",
"reload": "Ricarica", "reload": "Ricarica",
@@ -112,10 +119,27 @@
}, },
"authorization": { "authorization": {
"generate_token": "Genera token", "generate_token": "Genera token",
"graphql_headers": "Authorization Headers are sent as part of the payload to connection_init",
"include_in_url": "Includi nell'URL", "include_in_url": "Includi nell'URL",
"inherited_from": "Inherited from {auth} from Parent Collection {collection} ",
"learn": "Impara come", "learn": "Impara come",
"oauth": {
"redirect_auth_server_returned_error": "Auth Server returned an error state",
"redirect_auth_token_request_failed": "Request to get the auth token failed",
"redirect_auth_token_request_invalid_response": "Invalid Response from the Token Endpoint when requesting for an auth token",
"redirect_invalid_state": "Invalid State value present in the redirect",
"redirect_no_auth_code": "No Authorization Code present in the redirect",
"redirect_no_client_id": "No Client ID defined",
"redirect_no_client_secret": "No Client Secret Defined",
"redirect_no_code_verifier": "No Code Verifier Defined",
"redirect_no_token_endpoint": "No Token Endpoint Defined",
"something_went_wrong_on_oauth_redirect": "Something went wrong during OAuth Redirect",
"something_went_wrong_on_token_generation": "Something went wrong on token generation",
"token_generation_oidc_discovery_failed": "Failure on token generation: OpenID Connect Discovery Failed"
},
"pass_key_by": "Pass by", "pass_key_by": "Pass by",
"password": "Password", "password": "Password",
"save_to_inherit": "Please save this request in any collection to inherit the authorization",
"token": "Token", "token": "Token",
"type": "Tipo di autorizzazione", "type": "Tipo di autorizzazione",
"username": "Nome utente" "username": "Nome utente"
@@ -124,6 +148,7 @@
"created": "Raccolta creata", "created": "Raccolta creata",
"different_parent": "Cannot reorder collection with different parent", "different_parent": "Cannot reorder collection with different parent",
"edit": "Modifica raccolta", "edit": "Modifica raccolta",
"import_or_create": "Import or create a collection",
"invalid_name": "Si prega di fornire un nome valido per la raccolta", "invalid_name": "Si prega di fornire un nome valido per la raccolta",
"invalid_root_move": "Collection already in the root", "invalid_root_move": "Collection already in the root",
"moved": "Moved Successfully", "moved": "Moved Successfully",
@@ -132,6 +157,8 @@
"name_length_insufficient": "Collection name should be at least 3 characters long", "name_length_insufficient": "Collection name should be at least 3 characters long",
"new": "Nuova raccolta", "new": "Nuova raccolta",
"order_changed": "Collection Order Updated", "order_changed": "Collection Order Updated",
"properties": "Collection Properties",
"properties_updated": "Collection Properties Updated",
"renamed": "Raccolta rinominata", "renamed": "Raccolta rinominata",
"request_in_use": "Request in use", "request_in_use": "Request in use",
"save_as": "Salva come", "save_as": "Salva come",
@@ -151,6 +178,7 @@
"remove_folder": "Sei sicuro di voler eliminare definitivamente questa cartella?", "remove_folder": "Sei sicuro di voler eliminare definitivamente questa cartella?",
"remove_history": "Sei sicuro di voler eliminare definitivamente tutta la cronologia?", "remove_history": "Sei sicuro di voler eliminare definitivamente tutta la cronologia?",
"remove_request": "Sei sicuro di voler eliminare definitivamente questa richiesta?", "remove_request": "Sei sicuro di voler eliminare definitivamente questa richiesta?",
"remove_shared_request": "Are you sure you want to permanently delete this shared request?",
"remove_team": "Sei sicuro di voler eliminare questo team?", "remove_team": "Sei sicuro di voler eliminare questo team?",
"remove_telemetry": "Sei sicuro di voler disattivare la telemetria?", "remove_telemetry": "Sei sicuro di voler disattivare la telemetria?",
"request_change": "Are you sure you want to discard current request, unsaved changes will be lost.", "request_change": "Are you sure you want to discard current request, unsaved changes will be lost.",
@@ -162,6 +190,24 @@
"open_request_in_new_tab": "Open request in new tab", "open_request_in_new_tab": "Open request in new tab",
"set_environment_variable": "Set as variable" "set_environment_variable": "Set as variable"
}, },
"cookies": {
"modal": {
"cookie_expires": "Expires",
"cookie_name": "Name",
"cookie_path": "Path",
"cookie_string": "Cookie string",
"cookie_value": "Value",
"empty_domain": "Domain is empty",
"empty_domains": "Domain list is empty",
"enter_cookie_string": "Enter cookie string",
"interceptor_no_support": "Your currently selected interceptor does not support cookies. Select a different Interceptor and try again.",
"managed_tab": "Managed",
"new_domain_name": "New domain name",
"no_cookies_in_domain": "No cookies set for this domain",
"raw_tab": "Raw",
"set": "Set a cookie"
}
},
"count": { "count": {
"header": "Intestazione {count}", "header": "Intestazione {count}",
"message": "Messaggio {count}", "message": "Messaggio {count}",
@@ -192,11 +238,13 @@
"profile": "Accedi per mostrare il tuo profilo", "profile": "Accedi per mostrare il tuo profilo",
"protocols": "I protocolli sono vuoti", "protocols": "I protocolli sono vuoti",
"schema": "Connettiti a un endpoint GraphQL per mostrare lo schema", "schema": "Connettiti a un endpoint GraphQL per mostrare lo schema",
"shortcodes": "Shortcodes are empty", "shared_requests": "Shared requests are empty",
"shared_requests_logout": "Login to view your shared requests or create a new one",
"subscription": "Subscriptions are empty", "subscription": "Subscriptions are empty",
"team_name": "Il nome del team è vuoto", "team_name": "Il nome del team è vuoto",
"teams": "I team sono vuoti", "teams": "I team sono vuoti",
"tests": "Non ci sono test per questa richiesta" "tests": "Non ci sono test per questa richiesta",
"shortcodes": "Shortcodes are empty"
}, },
"environment": { "environment": {
"add_to_global": "Add to Global", "add_to_global": "Add to Global",
@@ -209,6 +257,7 @@
"empty_variables": "No variables", "empty_variables": "No variables",
"global": "Global", "global": "Global",
"global_variables": "Global variables", "global_variables": "Global variables",
"import_or_create": "Import or create a environment",
"invalid_name": "Si prega di fornire un nome valido per l'ambiente", "invalid_name": "Si prega di fornire un nome valido per l'ambiente",
"list": "Environment variables", "list": "Environment variables",
"my_environments": "My Environments", "my_environments": "My Environments",
@@ -232,8 +281,10 @@
"variable_list": "Elenco variabili" "variable_list": "Elenco variabili"
}, },
"error": { "error": {
"authproviders_load_error": "Unable to load auth providers",
"browser_support_sse": "Questo browser non sembra supportare gli eventi inviati dal server (Server Sent Events).", "browser_support_sse": "Questo browser non sembra supportare gli eventi inviati dal server (Server Sent Events).",
"check_console_details": "Controlla il log della console per i dettagli.", "check_console_details": "Controlla il log della console per i dettagli.",
"check_how_to_add_origin": "Check how you can add an origin",
"curl_invalid_format": "cURL non è formattato correttamente", "curl_invalid_format": "cURL non è formattato correttamente",
"danger_zone": "Danger zone", "danger_zone": "Danger zone",
"delete_account": "Your account is currently an owner in these teams:", "delete_account": "Your account is currently an owner in these teams:",
@@ -249,9 +300,12 @@
"json_prettify_invalid_body": "Impossibile abbellire un corpo non valido, risolvere gli errori di sintassi JSON e riprovare", "json_prettify_invalid_body": "Impossibile abbellire un corpo non valido, risolvere gli errori di sintassi JSON e riprovare",
"network_error": "Sembra ci sia un problema di rete. Per favore prova di nuovo.", "network_error": "Sembra ci sia un problema di rete. Per favore prova di nuovo.",
"network_fail": "Impossibile inviare la richiesta", "network_fail": "Impossibile inviare la richiesta",
"no_collections_to_export": "No collections to export. Please create a collection to get started.",
"no_duration": "Nessuna durata", "no_duration": "Nessuna durata",
"no_environments_to_export": "No environments to export. Please create an environment to get started.",
"no_results_found": "No matches found", "no_results_found": "No matches found",
"page_not_found": "This page could not be found", "page_not_found": "This page could not be found",
"please_install_extension": "Please install the extension and add origin to the extension.",
"proxy_error": "Proxy error", "proxy_error": "Proxy error",
"script_fail": "Impossibile eseguire lo script di pre-richiesta", "script_fail": "Impossibile eseguire lo script di pre-richiesta",
"something_went_wrong": "Qualcosa è andato storto", "something_went_wrong": "Qualcosa è andato storto",
@@ -260,6 +314,7 @@
"export": { "export": {
"as_json": "Esporta come JSON", "as_json": "Esporta come JSON",
"create_secret_gist": "Crea un Gist segreto", "create_secret_gist": "Crea un Gist segreto",
"failed": "Something went wrong while exporting",
"gist_created": "Gist creato", "gist_created": "Gist creato",
"require_github": "Accedi con GitHub per creare un Gist segreto", "require_github": "Accedi con GitHub per creare un Gist segreto",
"title": "Export" "title": "Export"
@@ -286,6 +341,9 @@
"subscriptions": "Sottoscrizioni", "subscriptions": "Sottoscrizioni",
"switch_connection": "Switch connection" "switch_connection": "Switch connection"
}, },
"graphql_collections": {
"title": "GraphQL Collections"
},
"group": { "group": {
"time": "Time", "time": "Time",
"url": "URL" "url": "URL"
@@ -297,6 +355,8 @@
}, },
"helpers": { "helpers": {
"authorization": "L'intestazione di autorizzazione verrà generata automaticamente quando invii la richiesta.", "authorization": "L'intestazione di autorizzazione verrà generata automaticamente quando invii la richiesta.",
"collection_properties_authorization": " This authorization will be set for every request in this collection.",
"collection_properties_header": "This header will be set for every request in this collection.",
"generate_documentation_first": "Generare prima la documentazione", "generate_documentation_first": "Generare prima la documentazione",
"network_fail": "Impossibile raggiungere l'endpoint API. Controlla la tua connessione di rete o accendi il Proxy Interceptor e riprova.", "network_fail": "Impossibile raggiungere l'endpoint API. Controlla la tua connessione di rete o accendi il Proxy Interceptor e riprova.",
"offline": "Sembra che tu sia offline. I dati in questo spazio di lavoro potrebbero non essere aggiornati.", "offline": "Sembra che tu sia offline. I dati in questo spazio di lavoro potrebbero non essere aggiornati.",
@@ -316,7 +376,10 @@
"import": { "import": {
"collections": "Importa raccolte", "collections": "Importa raccolte",
"curl": "Importa cURL", "curl": "Importa cURL",
"environments_from_gist": "Import From Gist",
"environments_from_gist_description": "Import Hoppscotch Environments From Gist",
"failed": "Importazione non riuscita", "failed": "Importazione non riuscita",
"from_file": "Import from File",
"from_gist": "Importa da Gist", "from_gist": "Importa da Gist",
"from_gist_description": "Import from Gist URL", "from_gist_description": "Import from Gist URL",
"from_insomnia": "Import from Insomnia", "from_insomnia": "Import from Insomnia",
@@ -331,11 +394,17 @@
"from_postman_description": "Import from Postman collection", "from_postman_description": "Import from Postman collection",
"from_url": "Import from URL", "from_url": "Import from URL",
"gist_url": "Inserisci l'URL del Gist", "gist_url": "Inserisci l'URL del Gist",
"gql_collections_from_gist_description": "Import GraphQL Collections From Gist",
"hoppscotch_environment": "Hoppscotch Environment",
"hoppscotch_environment_description": "Import Hoppscotch Environment JSON file",
"import_from_url_invalid_fetch": "Couldn't get data from the url", "import_from_url_invalid_fetch": "Couldn't get data from the url",
"import_from_url_invalid_file_format": "Error while importing collections", "import_from_url_invalid_file_format": "Error while importing collections",
"import_from_url_invalid_type": "Unsupported type. accepted values are 'hoppscotch', 'openapi', 'postman', 'insomnia'", "import_from_url_invalid_type": "Unsupported type. accepted values are 'hoppscotch', 'openapi', 'postman', 'insomnia'",
"import_from_url_success": "Collections Imported", "import_from_url_success": "Collections Imported",
"insomnia_environment_description": "Import Insomnia Environment from a JSON/YAML file",
"json_description": "Import collections from a Hoppscotch Collections JSON file", "json_description": "Import collections from a Hoppscotch Collections JSON file",
"postman_environment": "Postman Environment",
"postman_environment_description": "Import Postman Environment from a JSON file",
"title": "Importa" "title": "Importa"
}, },
"inspections": { "inspections": {
@@ -373,8 +442,10 @@
"close_unsaved_tab": "You have unsaved changes", "close_unsaved_tab": "You have unsaved changes",
"collections": "Raccolte", "collections": "Raccolte",
"confirm": "Conferma", "confirm": "Conferma",
"customize_request": "Customize Request",
"edit_request": "Modifica richiesta", "edit_request": "Modifica richiesta",
"import_export": "Importa/Esporta" "import_export": "Importa/Esporta",
"share_request": "Share Request"
}, },
"mqtt": { "mqtt": {
"already_subscribed": "You are already subscribed to this topic.", "already_subscribed": "You are already subscribed to this topic.",
@@ -449,13 +520,14 @@
"structured": "Structured", "structured": "Structured",
"text": "Text" "text": "Text"
}, },
"copy_link": "Copia collegamento",
"different_collection": "Cannot reorder requests from different collections", "different_collection": "Cannot reorder requests from different collections",
"duplicated": "Request duplicated", "duplicated": "Request duplicated",
"duration": "Durata", "duration": "Durata",
"enter_curl": "Inserisci cURL", "enter_curl": "Inserisci cURL",
"generate_code": "Genera codice", "generate_code": "Genera codice",
"generated_code": "Codice generato", "generated_code": "Codice generato",
"go_to_authorization_tab": "Go to Authorization tab",
"go_to_body_tab": "Go to Body tab",
"header_list": "Elenco intestazioni", "header_list": "Elenco intestazioni",
"invalid_name": "Si prega di fornire un nome per la richiesta", "invalid_name": "Si prega di fornire un nome per la richiesta",
"method": "Metodo", "method": "Metodo",
@@ -480,12 +552,14 @@
"saved": "Richiesta salvata", "saved": "Richiesta salvata",
"share": "Condividi", "share": "Condividi",
"share_description": "Share Hoppscotch with your friends", "share_description": "Share Hoppscotch with your friends",
"share_request": "Share Request",
"stop": "Stop", "stop": "Stop",
"title": "Richiesta", "title": "Richiesta",
"type": "Tipo di richiesta", "type": "Tipo di richiesta",
"url": "URL", "url": "URL",
"variables": "Variabili", "variables": "Variabili",
"view_my_links": "View my links" "view_my_links": "View my links",
"copy_link": "Copia collegamento"
}, },
"response": { "response": {
"audio": "Audio", "audio": "Audio",
@@ -513,6 +587,7 @@
"account_description": "Personalizza le impostazioni del tuo account.", "account_description": "Personalizza le impostazioni del tuo account.",
"account_email_description": "Il tuo indirizzo email principale.", "account_email_description": "Il tuo indirizzo email principale.",
"account_name_description": "Questo è il tuo nome mostrato.", "account_name_description": "Questo è il tuo nome mostrato.",
"additional": "Additional Settings",
"background": "Sfondo", "background": "Sfondo",
"black_mode": "Nero", "black_mode": "Nero",
"choose_language": "Scegli la lingua", "choose_language": "Scegli la lingua",
@@ -559,14 +634,31 @@
"verified_email": "Verified email", "verified_email": "Verified email",
"verify_email": "Verify email" "verify_email": "Verify email"
}, },
"shortcodes": { "shared_requests": {
"actions": "Actions", "button": "Button",
"created_on": "Created on", "button_info": "Create a 'Run in Hoppscotch' button for your website, blog or a README.",
"deleted": "Shortcode deleted", "copy_html": "Copy HTML",
"method": "Method", "copy_link": "Copy Link",
"not_found": "Shortcode not found", "copy_markdown": "Copy Markdown",
"short_code": "Short code", "creating_widget": "Creating widget",
"url": "URL" "customize": "Customize",
"deleted": "Shared request deleted",
"description": "Select a widget, you can change and customize this later",
"embed": "Embed",
"embed_info": "Add a mini 'Hoppscotch API Playground' to your website, blog or documentation.",
"link": "Link",
"link_info": "Create a shareable link to share with anyone on the internet with view access.",
"modified": "Shared request modified",
"not_found": "Shared request not found",
"open_new_tab": "Open in new tab",
"preview": "Preview",
"run_in_hoppscotch": "Run in Hoppscotch",
"theme": {
"dark": "Dark",
"light": "Light",
"system": "System",
"title": "Theme"
}
}, },
"shortcut": { "shortcut": {
"general": { "general": {
@@ -596,7 +688,6 @@
"title": "Others" "title": "Others"
}, },
"request": { "request": {
"copy_request_link": "Copia il link alla richiesta",
"delete_method": "Seleziona il metodo DELETE", "delete_method": "Seleziona il metodo DELETE",
"get_method": "Seleziona il metodo GET", "get_method": "Seleziona il metodo GET",
"head_method": "Seleziona il metodo HEAD", "head_method": "Seleziona il metodo HEAD",
@@ -611,8 +702,10 @@
"save_request": "Save Request", "save_request": "Save Request",
"save_to_collections": "Salva nelle raccolte", "save_to_collections": "Salva nelle raccolte",
"send_request": "Invia richiesta", "send_request": "Invia richiesta",
"share_request": "Share Request",
"show_code": "Generate code snippet", "show_code": "Generate code snippet",
"title": "Richiesta" "title": "Richiesta",
"copy_request_link": "Copia il link alla richiesta"
}, },
"response": { "response": {
"copy": "Copy response to clipboard", "copy": "Copy response to clipboard",
@@ -735,6 +828,7 @@
"connection_error": "Failed to connect", "connection_error": "Failed to connect",
"connection_failed": "Connection failed", "connection_failed": "Connection failed",
"connection_lost": "Connection lost", "connection_lost": "Connection lost",
"copied_interface_to_clipboard": "Copied {language} interface type to clipboard",
"copied_to_clipboard": "Copiato negli appunti", "copied_to_clipboard": "Copiato negli appunti",
"deleted": "Eliminato", "deleted": "Eliminato",
"deprecated": "DEPRECATO", "deprecated": "DEPRECATO",
@@ -742,10 +836,12 @@
"disconnected": "Disconnesso", "disconnected": "Disconnesso",
"disconnected_from": "Disconnesso da {name}", "disconnected_from": "Disconnesso da {name}",
"docs_generated": "Documentazione generata", "docs_generated": "Documentazione generata",
"download_failed": "Download failed",
"download_started": "Download avviato", "download_started": "Download avviato",
"enabled": "Abilitato", "enabled": "Abilitato",
"file_imported": "File importato", "file_imported": "File importato",
"finished_in": "Finito in {duration} ms", "finished_in": "Finito in {duration} ms",
"hide": "Hide",
"history_deleted": "Cronologia cancellata", "history_deleted": "Cronologia cancellata",
"linewrap": "Testo a capo", "linewrap": "Testo a capo",
"loading": "Caricamento in corso...", "loading": "Caricamento in corso...",
@@ -756,6 +852,7 @@
"published_error": "Something went wrong while publishing msg: {topic} to topic: {message}", "published_error": "Something went wrong while publishing msg: {topic} to topic: {message}",
"published_message": "Published message: {message} to topic: {topic}", "published_message": "Published message: {message} to topic: {topic}",
"reconnection_error": "Failed to reconnect", "reconnection_error": "Failed to reconnect",
"show": "Show",
"subscribed_failed": "Failed to subscribe to topic: {topic}", "subscribed_failed": "Failed to subscribe to topic: {topic}",
"subscribed_success": "Successfully subscribed to topic: {topic}", "subscribed_success": "Successfully subscribed to topic: {topic}",
"unsubscribed_failed": "Failed to unsubscribe from topic: {topic}", "unsubscribed_failed": "Failed to unsubscribe from topic: {topic}",
@@ -791,6 +888,7 @@
"queries": "Query", "queries": "Query",
"query": "Query", "query": "Query",
"schema": "Schema", "schema": "Schema",
"shared_requests": "Shared Requests",
"socketio": "Socket.IO", "socketio": "Socket.IO",
"sse": "SSE", "sse": "SSE",
"tests": "Test", "tests": "Test",
@@ -807,6 +905,7 @@
"email_do_not_match": "L'indirizzo email non corrisponde a quella del tuo account. Contatta il proprietario del team.", "email_do_not_match": "L'indirizzo email non corrisponde a quella del tuo account. Contatta il proprietario del team.",
"exit": "Lascia il team", "exit": "Lascia il team",
"exit_disabled": "Solo il proprietario non può lasciare il team", "exit_disabled": "Solo il proprietario non può lasciare il team",
"failed_invites": "Failed invites",
"invalid_coll_id": "Invalid collection ID", "invalid_coll_id": "Invalid collection ID",
"invalid_email_format": "Il formato dell'email non è valido", "invalid_email_format": "Il formato dell'email non è valido",
"invalid_id": "L'ID del team non è valido. Contatta il proprietario del team.", "invalid_id": "L'ID del team non è valido. Contatta il proprietario del team.",
@@ -848,6 +947,7 @@
"same_target_destination": "Same target and destination", "same_target_destination": "Same target and destination",
"saved": "Team salvato", "saved": "Team salvato",
"select_a_team": "Seleziona un team", "select_a_team": "Seleziona un team",
"success_invites": "Success invites",
"title": "Team", "title": "Team",
"we_sent_invite_link": "Abbiamo inviato un link di invito a tutti gli invitati!", "we_sent_invite_link": "Abbiamo inviato un link di invito a tutti gli invitati!",
"we_sent_invite_link_description": "Chiedi a tutti gli invitati di controllare la loro casella email. Cliccando sul link possono entrare nel team." "we_sent_invite_link_description": "Chiedi a tutti gli invitati di controllare la loro casella email. Cliccando sul link possono entrare nel team."
@@ -879,5 +979,14 @@
"personal": "My Workspace", "personal": "My Workspace",
"team": "Team Workspace", "team": "Team Workspace",
"title": "Workspaces" "title": "Workspaces"
},
"shortcodes": {
"actions": "Actions",
"created_on": "Created on",
"deleted": "Shortcode deleted",
"method": "Method",
"not_found": "Shortcode not found",
"short_code": "Short code",
"url": "URL"
} }
} }

View File

@@ -1,5 +1,6 @@
{ {
"action": { "action": {
"add": "Add",
"autoscroll": "自動スクロール", "autoscroll": "自動スクロール",
"cancel": "キャンセル", "cancel": "キャンセル",
"choose_file": "ファイルを選択してください", "choose_file": "ファイルを選択してください",
@@ -10,6 +11,7 @@
"connect": "接続", "connect": "接続",
"connecting": "接続中", "connecting": "接続中",
"copy": "コピー", "copy": "コピー",
"create": "Create",
"delete": "消去", "delete": "消去",
"disconnect": "切断", "disconnect": "切断",
"dismiss": "閉じる", "dismiss": "閉じる",
@@ -31,6 +33,7 @@
"open_workspace": "ワークスペースを開く", "open_workspace": "ワークスペースを開く",
"paste": "貼り付け", "paste": "貼り付け",
"prettify": "自動整形", "prettify": "自動整形",
"properties": "Properties",
"remove": "削除", "remove": "削除",
"rename": "Rename", "rename": "Rename",
"restore": "戻す", "restore": "戻す",
@@ -39,6 +42,7 @@
"scroll_to_top": "上にスクロール", "scroll_to_top": "上にスクロール",
"search": "検索", "search": "検索",
"send": "送信", "send": "送信",
"share": "Share",
"start": "はじめる", "start": "はじめる",
"starting": "開始中", "starting": "開始中",
"stop": "止める", "stop": "止める",
@@ -57,7 +61,9 @@
"app": { "app": {
"chat_with_us": "チャットで問い合わせる", "chat_with_us": "チャットで問い合わせる",
"contact_us": "お問い合わせ", "contact_us": "お問い合わせ",
"cookies": "Cookies",
"copy": "コピー", "copy": "コピー",
"copy_interface_type": "Copy interface type",
"copy_user_id": "User Auth Tokenをコピー", "copy_user_id": "User Auth Tokenをコピー",
"developer_option": "開発者向けオプション", "developer_option": "開発者向けオプション",
"developer_option_description": "Hoppscotchの開発に役立つ開発者向けツール", "developer_option_description": "Hoppscotchの開発に役立つ開発者向けツール",
@@ -73,6 +79,7 @@
"keyboard_shortcuts": "キーボードショートカット", "keyboard_shortcuts": "キーボードショートカット",
"name": "Hoppscotch", "name": "Hoppscotch",
"new_version_found": "新しいバージョンが見つかりました。再読み込みすると更新されます。", "new_version_found": "新しいバージョンが見つかりました。再読み込みすると更新されます。",
"open_in_hoppscotch": "Open in Hoppscotch",
"options": "オプション", "options": "オプション",
"proxy_privacy_policy": "プロキシのプライバシーポリシー", "proxy_privacy_policy": "プロキシのプライバシーポリシー",
"reload": "更新", "reload": "更新",
@@ -112,10 +119,27 @@
}, },
"authorization": { "authorization": {
"generate_token": "トークンを生成", "generate_token": "トークンを生成",
"graphql_headers": "Authorization Headers are sent as part of the payload to connection_init",
"include_in_url": "URLに含める", "include_in_url": "URLに含める",
"inherited_from": "Inherited from {auth} from Parent Collection {collection} ",
"learn": "詳しく学ぶ", "learn": "詳しく学ぶ",
"oauth": {
"redirect_auth_server_returned_error": "Auth Server returned an error state",
"redirect_auth_token_request_failed": "Request to get the auth token failed",
"redirect_auth_token_request_invalid_response": "Invalid Response from the Token Endpoint when requesting for an auth token",
"redirect_invalid_state": "Invalid State value present in the redirect",
"redirect_no_auth_code": "No Authorization Code present in the redirect",
"redirect_no_client_id": "No Client ID defined",
"redirect_no_client_secret": "No Client Secret Defined",
"redirect_no_code_verifier": "No Code Verifier Defined",
"redirect_no_token_endpoint": "No Token Endpoint Defined",
"something_went_wrong_on_oauth_redirect": "Something went wrong during OAuth Redirect",
"something_went_wrong_on_token_generation": "Something went wrong on token generation",
"token_generation_oidc_discovery_failed": "Failure on token generation: OpenID Connect Discovery Failed"
},
"pass_key_by": "認証元: ", "pass_key_by": "認証元: ",
"password": "パスワード", "password": "パスワード",
"save_to_inherit": "Please save this request in any collection to inherit the authorization",
"token": "トークン", "token": "トークン",
"type": "認証タイプ", "type": "認証タイプ",
"username": "ユーザー名" "username": "ユーザー名"
@@ -124,6 +148,7 @@
"created": "コレクションが作成されました", "created": "コレクションが作成されました",
"different_parent": "Cannot reorder collection with different parent", "different_parent": "Cannot reorder collection with different parent",
"edit": "コレクションの編集", "edit": "コレクションの編集",
"import_or_create": "Import or create a collection",
"invalid_name": "コレクション名を入力してください", "invalid_name": "コレクション名を入力してください",
"invalid_root_move": "Collection already in the root", "invalid_root_move": "Collection already in the root",
"moved": "Moved Successfully", "moved": "Moved Successfully",
@@ -132,6 +157,8 @@
"name_length_insufficient": "コレクション名は3文字以上である必要があります", "name_length_insufficient": "コレクション名は3文字以上である必要があります",
"new": "新しいコレクション", "new": "新しいコレクション",
"order_changed": "Collection Order Updated", "order_changed": "Collection Order Updated",
"properties": "Collection Properties",
"properties_updated": "Collection Properties Updated",
"renamed": "コレクション名が変更されました", "renamed": "コレクション名が変更されました",
"request_in_use": "使用中のリクエスト", "request_in_use": "使用中のリクエスト",
"save_as": "名前を付けて保存", "save_as": "名前を付けて保存",
@@ -151,6 +178,7 @@
"remove_folder": "このフォルダを完全に削除してもよろしいですか?", "remove_folder": "このフォルダを完全に削除してもよろしいですか?",
"remove_history": "すべての履歴を完全に削除してもよろしいですか?", "remove_history": "すべての履歴を完全に削除してもよろしいですか?",
"remove_request": "このリクエストを完全に削除してもよろしいですか?", "remove_request": "このリクエストを完全に削除してもよろしいですか?",
"remove_shared_request": "Are you sure you want to permanently delete this shared request?",
"remove_team": "このチームを削除してもよろしいですか?", "remove_team": "このチームを削除してもよろしいですか?",
"remove_telemetry": "テレメトリをオプトアウトしてもよろしいですか?", "remove_telemetry": "テレメトリをオプトアウトしてもよろしいですか?",
"request_change": "現在のリクエストを削除してもよろしいですか?保存されていない変更は削除されます。", "request_change": "現在のリクエストを削除してもよろしいですか?保存されていない変更は削除されます。",
@@ -162,6 +190,24 @@
"open_request_in_new_tab": "Open request in new tab", "open_request_in_new_tab": "Open request in new tab",
"set_environment_variable": "Set as variable" "set_environment_variable": "Set as variable"
}, },
"cookies": {
"modal": {
"cookie_expires": "Expires",
"cookie_name": "Name",
"cookie_path": "Path",
"cookie_string": "Cookie string",
"cookie_value": "Value",
"empty_domain": "Domain is empty",
"empty_domains": "Domain list is empty",
"enter_cookie_string": "Enter cookie string",
"interceptor_no_support": "Your currently selected interceptor does not support cookies. Select a different Interceptor and try again.",
"managed_tab": "Managed",
"new_domain_name": "New domain name",
"no_cookies_in_domain": "No cookies set for this domain",
"raw_tab": "Raw",
"set": "Set a cookie"
}
},
"count": { "count": {
"header": "ヘッダー {count}", "header": "ヘッダー {count}",
"message": "メッセージ {count}", "message": "メッセージ {count}",
@@ -192,11 +238,13 @@
"profile": "ログインしてプロフィールを見る", "profile": "ログインしてプロフィールを見る",
"protocols": "プロトコルがありません", "protocols": "プロトコルがありません",
"schema": "GraphQLエンドポイントに接続する", "schema": "GraphQLエンドポイントに接続する",
"shortcodes": "ショートコードはありません", "shared_requests": "Shared requests are empty",
"shared_requests_logout": "Login to view your shared requests or create a new one",
"subscription": "サブスクリプションはありません", "subscription": "サブスクリプションはありません",
"team_name": "チーム名がありません", "team_name": "チーム名がありません",
"teams": "チームに参加していません", "teams": "チームに参加していません",
"tests": "このリクエストのテストはありません" "tests": "このリクエストのテストはありません",
"shortcodes": "ショートコードはありません"
}, },
"environment": { "environment": {
"add_to_global": "環境変数をGlobalに追加", "add_to_global": "環境変数をGlobalに追加",
@@ -209,6 +257,7 @@
"empty_variables": "No variables", "empty_variables": "No variables",
"global": "Global", "global": "Global",
"global_variables": "Global variables", "global_variables": "Global variables",
"import_or_create": "Import or create a environment",
"invalid_name": "環境変数名を入力してください", "invalid_name": "環境変数名を入力してください",
"list": "Environment variables", "list": "Environment variables",
"my_environments": "個人の環境変数", "my_environments": "個人の環境変数",
@@ -232,8 +281,10 @@
"variable_list": "環境変数リスト" "variable_list": "環境変数リスト"
}, },
"error": { "error": {
"authproviders_load_error": "Unable to load auth providers",
"browser_support_sse": "このブラウザはServer-Sent Eventsをサポートしていないようです。", "browser_support_sse": "このブラウザはServer-Sent Eventsをサポートしていないようです。",
"check_console_details": "詳細については、コンソールログを確認してください。", "check_console_details": "詳細については、コンソールログを確認してください。",
"check_how_to_add_origin": "Check how you can add an origin",
"curl_invalid_format": "cURLが正しくフォーマットされていません", "curl_invalid_format": "cURLが正しくフォーマットされていません",
"danger_zone": "危険", "danger_zone": "危険",
"delete_account": "あなたのアカウントは以下のチームのオーナーとなっています:", "delete_account": "あなたのアカウントは以下のチームのオーナーとなっています:",
@@ -249,9 +300,12 @@
"json_prettify_invalid_body": "ボディを整形できませんでした。JSONの構文エラーを解決して再試行してください。", "json_prettify_invalid_body": "ボディを整形できませんでした。JSONの構文エラーを解決して再試行してください。",
"network_error": "ネットワークエラーが発生したようです。もう一度お試しください。", "network_error": "ネットワークエラーが発生したようです。もう一度お試しください。",
"network_fail": "リクエストを送信できませんでした", "network_fail": "リクエストを送信できませんでした",
"no_collections_to_export": "No collections to export. Please create a collection to get started.",
"no_duration": "期間なし", "no_duration": "期間なし",
"no_environments_to_export": "No environments to export. Please create an environment to get started.",
"no_results_found": "該当するものがありませんでした", "no_results_found": "該当するものがありませんでした",
"page_not_found": "このページは見つかりませんでした", "page_not_found": "このページは見つかりませんでした",
"please_install_extension": "Please install the extension and add origin to the extension.",
"proxy_error": "Proxy error", "proxy_error": "Proxy error",
"script_fail": "リクエスト前のスクリプトを実行できませんでした", "script_fail": "リクエスト前のスクリプトを実行できませんでした",
"something_went_wrong": "不明なエラーです", "something_went_wrong": "不明なエラーです",
@@ -260,6 +314,7 @@
"export": { "export": {
"as_json": "JSONとしてエクスポート", "as_json": "JSONとしてエクスポート",
"create_secret_gist": "Secret Gistを作成", "create_secret_gist": "Secret Gistを作成",
"failed": "Something went wrong while exporting",
"gist_created": "Gistが作成されました", "gist_created": "Gistが作成されました",
"require_github": "GitHubにログインしてSecret Gistを作成", "require_github": "GitHubにログインしてSecret Gistを作成",
"title": "エクスポート" "title": "エクスポート"
@@ -286,6 +341,9 @@
"subscriptions": "サブスクリプション", "subscriptions": "サブスクリプション",
"switch_connection": "Switch connection" "switch_connection": "Switch connection"
}, },
"graphql_collections": {
"title": "GraphQL Collections"
},
"group": { "group": {
"time": "時間", "time": "時間",
"url": "URL" "url": "URL"
@@ -297,6 +355,8 @@
}, },
"helpers": { "helpers": {
"authorization": "リクエストを送信すると、認証ヘッダーが自動的に生成されます。", "authorization": "リクエストを送信すると、認証ヘッダーが自動的に生成されます。",
"collection_properties_authorization": " This authorization will be set for every request in this collection.",
"collection_properties_header": "This header will be set for every request in this collection.",
"generate_documentation_first": "最初にドキュメントを生成する", "generate_documentation_first": "最初にドキュメントを生成する",
"network_fail": "APIエンドポイントに到達できません。ネットワーク接続を確認して再試行してください。", "network_fail": "APIエンドポイントに到達できません。ネットワーク接続を確認して再試行してください。",
"offline": "オフラインになっているようです。このワークスペースのデータは最新でない可能性があります。", "offline": "オフラインになっているようです。このワークスペースのデータは最新でない可能性があります。",
@@ -316,7 +376,10 @@
"import": { "import": {
"collections": "コレクションをインポート", "collections": "コレクションをインポート",
"curl": "cURLをインポート", "curl": "cURLをインポート",
"environments_from_gist": "Import From Gist",
"environments_from_gist_description": "Import Hoppscotch Environments From Gist",
"failed": "インポートに失敗しました", "failed": "インポートに失敗しました",
"from_file": "Import from File",
"from_gist": "Gistからインポート", "from_gist": "Gistからインポート",
"from_gist_description": "GistのURLからインポート", "from_gist_description": "GistのURLからインポート",
"from_insomnia": "Insomniaからインポート", "from_insomnia": "Insomniaからインポート",
@@ -331,11 +394,17 @@
"from_postman_description": "Postmanのコレクションからインポート", "from_postman_description": "Postmanのコレクションからインポート",
"from_url": "URLからインポート", "from_url": "URLからインポート",
"gist_url": "GistのURLを入力してください", "gist_url": "GistのURLを入力してください",
"gql_collections_from_gist_description": "Import GraphQL Collections From Gist",
"hoppscotch_environment": "Hoppscotch Environment",
"hoppscotch_environment_description": "Import Hoppscotch Environment JSON file",
"import_from_url_invalid_fetch": "指定されたURLからデータを取得できませんでした", "import_from_url_invalid_fetch": "指定されたURLからデータを取得できませんでした",
"import_from_url_invalid_file_format": "コレクションのインポート中にエラーが発生しました", "import_from_url_invalid_file_format": "コレクションのインポート中にエラーが発生しました",
"import_from_url_invalid_type": "サポートされていないタイプです。サポートされているのは 'hoppscotch', 'openapi', 'postman', 'insomnia' です。", "import_from_url_invalid_type": "サポートされていないタイプです。サポートされているのは 'hoppscotch', 'openapi', 'postman', 'insomnia' です。",
"import_from_url_success": "コレクションがインポートされました", "import_from_url_success": "コレクションがインポートされました",
"insomnia_environment_description": "Import Insomnia Environment from a JSON/YAML file",
"json_description": "Hoppscotchのコレクション (JSONファイル) からインポート", "json_description": "Hoppscotchのコレクション (JSONファイル) からインポート",
"postman_environment": "Postman Environment",
"postman_environment_description": "Import Postman Environment from a JSON file",
"title": "インポート" "title": "インポート"
}, },
"inspections": { "inspections": {
@@ -373,8 +442,10 @@
"close_unsaved_tab": "You have unsaved changes", "close_unsaved_tab": "You have unsaved changes",
"collections": "コレクション", "collections": "コレクション",
"confirm": "確認", "confirm": "確認",
"customize_request": "Customize Request",
"edit_request": "リクエストの編集", "edit_request": "リクエストの編集",
"import_export": "インポート・エクスポート" "import_export": "インポート・エクスポート",
"share_request": "Share Request"
}, },
"mqtt": { "mqtt": {
"already_subscribed": "既にこのトピックにサブスクライブしています", "already_subscribed": "既にこのトピックにサブスクライブしています",
@@ -449,13 +520,14 @@
"structured": "構造化されたデータ", "structured": "構造化されたデータ",
"text": "テキスト" "text": "テキスト"
}, },
"copy_link": "リンクをコピー",
"different_collection": "Cannot reorder requests from different collections", "different_collection": "Cannot reorder requests from different collections",
"duplicated": "Request duplicated", "duplicated": "Request duplicated",
"duration": "間隔", "duration": "間隔",
"enter_curl": "cURLコマンドを入力してください", "enter_curl": "cURLコマンドを入力してください",
"generate_code": "コードを生成", "generate_code": "コードを生成",
"generated_code": "生成されたコード", "generated_code": "生成されたコード",
"go_to_authorization_tab": "Go to Authorization tab",
"go_to_body_tab": "Go to Body tab",
"header_list": "ヘッダーリスト", "header_list": "ヘッダーリスト",
"invalid_name": "リクエスト名を入力してください", "invalid_name": "リクエスト名を入力してください",
"method": "メソッド", "method": "メソッド",
@@ -480,12 +552,14 @@
"saved": "保存されたリクエスト", "saved": "保存されたリクエスト",
"share": "共有", "share": "共有",
"share_description": "Hoppscotchを友人に共有", "share_description": "Hoppscotchを友人に共有",
"share_request": "Share Request",
"stop": "Stop", "stop": "Stop",
"title": "リクエスト", "title": "リクエスト",
"type": "リクエストの種類", "type": "リクエストの種類",
"url": "URL", "url": "URL",
"variables": "変数", "variables": "変数",
"view_my_links": "自分のリンクを見る" "view_my_links": "自分のリンクを見る",
"copy_link": "リンクをコピー"
}, },
"response": { "response": {
"audio": "Audio", "audio": "Audio",
@@ -513,6 +587,7 @@
"account_description": "アカウント設定をカスタマイズ", "account_description": "アカウント設定をカスタマイズ",
"account_email_description": "プライマリメールアドレス", "account_email_description": "プライマリメールアドレス",
"account_name_description": "あなたの表示名", "account_name_description": "あなたの表示名",
"additional": "Additional Settings",
"background": "背景", "background": "背景",
"black_mode": "ブラック", "black_mode": "ブラック",
"choose_language": "言語を選択", "choose_language": "言語を選択",
@@ -559,14 +634,31 @@
"verified_email": "メールアドレスの認証済", "verified_email": "メールアドレスの認証済",
"verify_email": "メールアドレスの認証" "verify_email": "メールアドレスの認証"
}, },
"shortcodes": { "shared_requests": {
"actions": "アクション", "button": "Button",
"created_on": "作成日", "button_info": "Create a 'Run in Hoppscotch' button for your website, blog or a README.",
"deleted": "ショートコードを削除しました", "copy_html": "Copy HTML",
"method": "メソッド", "copy_link": "Copy Link",
"not_found": "ショートコードが見つかりません", "copy_markdown": "Copy Markdown",
"short_code": "ショートコード", "creating_widget": "Creating widget",
"url": "URL" "customize": "Customize",
"deleted": "Shared request deleted",
"description": "Select a widget, you can change and customize this later",
"embed": "Embed",
"embed_info": "Add a mini 'Hoppscotch API Playground' to your website, blog or documentation.",
"link": "Link",
"link_info": "Create a shareable link to share with anyone on the internet with view access.",
"modified": "Shared request modified",
"not_found": "Shared request not found",
"open_new_tab": "Open in new tab",
"preview": "Preview",
"run_in_hoppscotch": "Run in Hoppscotch",
"theme": {
"dark": "Dark",
"light": "Light",
"system": "System",
"title": "Theme"
}
}, },
"shortcut": { "shortcut": {
"general": { "general": {
@@ -596,7 +688,6 @@
"title": "Others" "title": "Others"
}, },
"request": { "request": {
"copy_request_link": "コピーリクエストリンク",
"delete_method": "DELETEメソッドを選択", "delete_method": "DELETEメソッドを選択",
"get_method": "GETメソッドを選択", "get_method": "GETメソッドを選択",
"head_method": "HEADメソッドを選択", "head_method": "HEADメソッドを選択",
@@ -611,8 +702,10 @@
"save_request": "Save Request", "save_request": "Save Request",
"save_to_collections": "コレクションに保存", "save_to_collections": "コレクションに保存",
"send_request": "リクエストを送信", "send_request": "リクエストを送信",
"share_request": "Share Request",
"show_code": "Generate code snippet", "show_code": "Generate code snippet",
"title": "リクエスト" "title": "リクエスト",
"copy_request_link": "コピーリクエストリンク"
}, },
"response": { "response": {
"copy": "レスポンスをクリップボードにコピー", "copy": "レスポンスをクリップボードにコピー",
@@ -735,6 +828,7 @@
"connection_error": "Failed to connect", "connection_error": "Failed to connect",
"connection_failed": "Connection failed", "connection_failed": "Connection failed",
"connection_lost": "Connection lost", "connection_lost": "Connection lost",
"copied_interface_to_clipboard": "Copied {language} interface type to clipboard",
"copied_to_clipboard": "クリップボードにコピーしました", "copied_to_clipboard": "クリップボードにコピーしました",
"deleted": "削除されました", "deleted": "削除されました",
"deprecated": "非推奨", "deprecated": "非推奨",
@@ -742,10 +836,12 @@
"disconnected": "切断されました", "disconnected": "切断されました",
"disconnected_from": "{名前}から切断されました", "disconnected_from": "{名前}から切断されました",
"docs_generated": "生成されたドキュメント", "docs_generated": "生成されたドキュメント",
"download_failed": "Download failed",
"download_started": "ダウンロード開始", "download_started": "ダウンロード開始",
"enabled": "有効", "enabled": "有効",
"file_imported": "インポートされたファイル", "file_imported": "インポートされたファイル",
"finished_in": "{duration} msで終了しました", "finished_in": "{duration} msで終了しました",
"hide": "Hide",
"history_deleted": "履歴が削除されました", "history_deleted": "履歴が削除されました",
"linewrap": "行の折り返し", "linewrap": "行の折り返し",
"loading": "読み込んでいます...", "loading": "読み込んでいます...",
@@ -756,6 +852,7 @@
"published_error": "ピック: {topic} にメッセージ: {message} を送信する際に問題が発生しました", "published_error": "ピック: {topic} にメッセージ: {message} を送信する際に問題が発生しました",
"published_message": "トピック: {topic} にメッセージ: {message} を送信しました", "published_message": "トピック: {topic} にメッセージ: {message} を送信しました",
"reconnection_error": "再接続に失敗", "reconnection_error": "再接続に失敗",
"show": "Show",
"subscribed_failed": "トピック: {topic} のサブスクライブに失敗", "subscribed_failed": "トピック: {topic} のサブスクライブに失敗",
"subscribed_success": "トピック: {topic} のサブスクライブに成功", "subscribed_success": "トピック: {topic} のサブスクライブに成功",
"unsubscribed_failed": "トピック: {topic} のサブスクライブ解除に失敗", "unsubscribed_failed": "トピック: {topic} のサブスクライブ解除に失敗",
@@ -791,6 +888,7 @@
"queries": "クエリ", "queries": "クエリ",
"query": "クエリ", "query": "クエリ",
"schema": "スキーマ", "schema": "スキーマ",
"shared_requests": "Shared Requests",
"socketio": "Socket.IO", "socketio": "Socket.IO",
"sse": "SSE", "sse": "SSE",
"tests": "テスト", "tests": "テスト",
@@ -807,6 +905,7 @@
"email_do_not_match": "メールアドレスがアカウント情報と一致しません。チームの管理者に連絡してください。", "email_do_not_match": "メールアドレスがアカウント情報と一致しません。チームの管理者に連絡してください。",
"exit": "チームから退出", "exit": "チームから退出",
"exit_disabled": "管理者はチームから退出できません", "exit_disabled": "管理者はチームから退出できません",
"failed_invites": "Failed invites",
"invalid_coll_id": "Invalid collection ID", "invalid_coll_id": "Invalid collection ID",
"invalid_email_format": "メールアドレスの形式が無効です", "invalid_email_format": "メールアドレスの形式が無効です",
"invalid_id": "チームIDが無効です。チームの管理者に連絡してください。", "invalid_id": "チームIDが無効です。チームの管理者に連絡してください。",
@@ -848,6 +947,7 @@
"same_target_destination": "Same target and destination", "same_target_destination": "Same target and destination",
"saved": "チームが保存されました", "saved": "チームが保存されました",
"select_a_team": "チームを選択", "select_a_team": "チームを選択",
"success_invites": "Success invites",
"title": "チーム", "title": "チーム",
"we_sent_invite_link": "招待者の皆様に、招待リンクを送信しました!", "we_sent_invite_link": "招待者の皆様に、招待リンクを送信しました!",
"we_sent_invite_link_description": "招待者全員に受信トレイを確認するよう依頼します。リンクをクリックすると、チームに参加できます。" "we_sent_invite_link_description": "招待者全員に受信トレイを確認するよう依頼します。リンクをクリックすると、チームに参加できます。"
@@ -879,5 +979,14 @@
"personal": "My Workspace", "personal": "My Workspace",
"team": "Team Workspace", "team": "Team Workspace",
"title": "Workspaces" "title": "Workspaces"
},
"shortcodes": {
"actions": "アクション",
"created_on": "作成日",
"deleted": "ショートコードを削除しました",
"method": "メソッド",
"not_found": "ショートコードが見つかりません",
"short_code": "ショートコード",
"url": "URL"
} }
} }

View File

@@ -1,5 +1,6 @@
{ {
"action": { "action": {
"add": "Add",
"autoscroll": "자동 스크롤", "autoscroll": "자동 스크롤",
"cancel": "취소", "cancel": "취소",
"choose_file": "파일 선택", "choose_file": "파일 선택",
@@ -10,6 +11,7 @@
"connect": "연결", "connect": "연결",
"connecting": "Connecting", "connecting": "Connecting",
"copy": "복사", "copy": "복사",
"create": "Create",
"delete": "삭제", "delete": "삭제",
"disconnect": "연결 해제", "disconnect": "연결 해제",
"dismiss": "닫기", "dismiss": "닫기",
@@ -31,6 +33,7 @@
"open_workspace": "Open workspace", "open_workspace": "Open workspace",
"paste": "붙여넣기", "paste": "붙여넣기",
"prettify": "구문 강조", "prettify": "구문 강조",
"properties": "Properties",
"remove": "제거", "remove": "제거",
"rename": "Rename", "rename": "Rename",
"restore": "복원", "restore": "복원",
@@ -39,6 +42,7 @@
"scroll_to_top": "Scroll to top", "scroll_to_top": "Scroll to top",
"search": "검색", "search": "검색",
"send": "보내기", "send": "보내기",
"share": "Share",
"start": "시작", "start": "시작",
"starting": "Starting", "starting": "Starting",
"stop": "정지", "stop": "정지",
@@ -57,7 +61,9 @@
"app": { "app": {
"chat_with_us": "개발팀과 채팅하기", "chat_with_us": "개발팀과 채팅하기",
"contact_us": "문의하기", "contact_us": "문의하기",
"cookies": "Cookies",
"copy": "복사", "copy": "복사",
"copy_interface_type": "Copy interface type",
"copy_user_id": "Copy User Auth Token", "copy_user_id": "Copy User Auth Token",
"developer_option": "Developer options", "developer_option": "Developer options",
"developer_option_description": "Developer tools which helps in development and maintenance of Hoppscotch.", "developer_option_description": "Developer tools which helps in development and maintenance of Hoppscotch.",
@@ -73,6 +79,7 @@
"keyboard_shortcuts": "키보드 단축키", "keyboard_shortcuts": "키보드 단축키",
"name": "호프스카치", "name": "호프스카치",
"new_version_found": "새 버전을 찾았습니다. 업데이트하려면 새로고침하세요.", "new_version_found": "새 버전을 찾았습니다. 업데이트하려면 새로고침하세요.",
"open_in_hoppscotch": "Open in Hoppscotch",
"options": "Options", "options": "Options",
"proxy_privacy_policy": "프록시 개인 정보 보호 정책", "proxy_privacy_policy": "프록시 개인 정보 보호 정책",
"reload": "새로고침", "reload": "새로고침",
@@ -112,10 +119,27 @@
}, },
"authorization": { "authorization": {
"generate_token": "토큰 생성", "generate_token": "토큰 생성",
"graphql_headers": "Authorization Headers are sent as part of the payload to connection_init",
"include_in_url": "URL에 포함", "include_in_url": "URL에 포함",
"inherited_from": "Inherited from {auth} from Parent Collection {collection} ",
"learn": "사용법 알아보기", "learn": "사용법 알아보기",
"oauth": {
"redirect_auth_server_returned_error": "Auth Server returned an error state",
"redirect_auth_token_request_failed": "Request to get the auth token failed",
"redirect_auth_token_request_invalid_response": "Invalid Response from the Token Endpoint when requesting for an auth token",
"redirect_invalid_state": "Invalid State value present in the redirect",
"redirect_no_auth_code": "No Authorization Code present in the redirect",
"redirect_no_client_id": "No Client ID defined",
"redirect_no_client_secret": "No Client Secret Defined",
"redirect_no_code_verifier": "No Code Verifier Defined",
"redirect_no_token_endpoint": "No Token Endpoint Defined",
"something_went_wrong_on_oauth_redirect": "Something went wrong during OAuth Redirect",
"something_went_wrong_on_token_generation": "Something went wrong on token generation",
"token_generation_oidc_discovery_failed": "Failure on token generation: OpenID Connect Discovery Failed"
},
"pass_key_by": "전달 방식", "pass_key_by": "전달 방식",
"password": "비밀번호", "password": "비밀번호",
"save_to_inherit": "Please save this request in any collection to inherit the authorization",
"token": "토큰", "token": "토큰",
"type": "인증 유형", "type": "인증 유형",
"username": "사용자 이름" "username": "사용자 이름"
@@ -124,6 +148,7 @@
"created": "모음집 생성됨", "created": "모음집 생성됨",
"different_parent": "Cannot reorder collection with different parent", "different_parent": "Cannot reorder collection with different parent",
"edit": "모음집 편집", "edit": "모음집 편집",
"import_or_create": "Import or create a collection",
"invalid_name": "모음집 이름을 바르게 입력하세요.", "invalid_name": "모음집 이름을 바르게 입력하세요.",
"invalid_root_move": "Collection already in the root", "invalid_root_move": "Collection already in the root",
"moved": "Moved Successfully", "moved": "Moved Successfully",
@@ -132,6 +157,8 @@
"name_length_insufficient": "모음집 이름은 최소 세 글자 이상이어야 합니다.", "name_length_insufficient": "모음집 이름은 최소 세 글자 이상이어야 합니다.",
"new": "새 모음집", "new": "새 모음집",
"order_changed": "Collection Order Updated", "order_changed": "Collection Order Updated",
"properties": "Collection Properties",
"properties_updated": "Collection Properties Updated",
"renamed": "모음집 이름이 변경됨", "renamed": "모음집 이름이 변경됨",
"request_in_use": "사용 중인 요청", "request_in_use": "사용 중인 요청",
"save_as": "다른 이름으로 저장", "save_as": "다른 이름으로 저장",
@@ -151,6 +178,7 @@
"remove_folder": "이 폴더를 영구적으로 삭제하겠습니까?", "remove_folder": "이 폴더를 영구적으로 삭제하겠습니까?",
"remove_history": "모든 이력을 영구적으로 삭제하겠습니까?", "remove_history": "모든 이력을 영구적으로 삭제하겠습니까?",
"remove_request": "이 요청을 영구적으로 삭제하겠습니까?", "remove_request": "이 요청을 영구적으로 삭제하겠습니까?",
"remove_shared_request": "Are you sure you want to permanently delete this shared request?",
"remove_team": "이 팀을 삭제하겠습니까?", "remove_team": "이 팀을 삭제하겠습니까?",
"remove_telemetry": "진단 데이터를 보내지 않겠습니까?", "remove_telemetry": "진단 데이터를 보내지 않겠습니까?",
"request_change": "현재 요청을 취소하시겠습니까? 저장되지 않은 변경사항은 삭제됩니다.", "request_change": "현재 요청을 취소하시겠습니까? 저장되지 않은 변경사항은 삭제됩니다.",
@@ -162,6 +190,24 @@
"open_request_in_new_tab": "Open request in new tab", "open_request_in_new_tab": "Open request in new tab",
"set_environment_variable": "Set as variable" "set_environment_variable": "Set as variable"
}, },
"cookies": {
"modal": {
"cookie_expires": "Expires",
"cookie_name": "Name",
"cookie_path": "Path",
"cookie_string": "Cookie string",
"cookie_value": "Value",
"empty_domain": "Domain is empty",
"empty_domains": "Domain list is empty",
"enter_cookie_string": "Enter cookie string",
"interceptor_no_support": "Your currently selected interceptor does not support cookies. Select a different Interceptor and try again.",
"managed_tab": "Managed",
"new_domain_name": "New domain name",
"no_cookies_in_domain": "No cookies set for this domain",
"raw_tab": "Raw",
"set": "Set a cookie"
}
},
"count": { "count": {
"header": "헤더 {count}", "header": "헤더 {count}",
"message": "메시지 {count}", "message": "메시지 {count}",
@@ -192,11 +238,13 @@
"profile": "로그인하여 프로필을 확인합니다.", "profile": "로그인하여 프로필을 확인합니다.",
"protocols": "프로토콜이 비어 있습니다.", "protocols": "프로토콜이 비어 있습니다.",
"schema": "스키마를 보려면 GraphQL 엔드포인트에 연결하세요.", "schema": "스키마를 보려면 GraphQL 엔드포인트에 연결하세요.",
"shortcodes": "Shortcodes are empty", "shared_requests": "Shared requests are empty",
"shared_requests_logout": "Login to view your shared requests or create a new one",
"subscription": "Subscriptions are empty", "subscription": "Subscriptions are empty",
"team_name": "팀 이름이 비어 있습니다.", "team_name": "팀 이름이 비어 있습니다.",
"teams": "아무 팀에도 속하지 않았습니다.", "teams": "아무 팀에도 속하지 않았습니다.",
"tests": "이 요청에 대한 테스트가 없습니다." "tests": "이 요청에 대한 테스트가 없습니다.",
"shortcodes": "Shortcodes are empty"
}, },
"environment": { "environment": {
"add_to_global": "전역 변수에 추가", "add_to_global": "전역 변수에 추가",
@@ -209,6 +257,7 @@
"empty_variables": "No variables", "empty_variables": "No variables",
"global": "Global", "global": "Global",
"global_variables": "Global variables", "global_variables": "Global variables",
"import_or_create": "Import or create a environment",
"invalid_name": "환경 이름을 바르게 입력하세요.", "invalid_name": "환경 이름을 바르게 입력하세요.",
"list": "Environment variables", "list": "Environment variables",
"my_environments": "My Environments", "my_environments": "My Environments",
@@ -232,8 +281,10 @@
"variable_list": "변수 목록" "variable_list": "변수 목록"
}, },
"error": { "error": {
"authproviders_load_error": "Unable to load auth providers",
"browser_support_sse": "이 브라우저는 서버 전송 이벤트를 지원하지 않는 것 같습니다.", "browser_support_sse": "이 브라우저는 서버 전송 이벤트를 지원하지 않는 것 같습니다.",
"check_console_details": "자세한 내용은 콘솔 로그를 확인하세요.", "check_console_details": "자세한 내용은 콘솔 로그를 확인하세요.",
"check_how_to_add_origin": "Check how you can add an origin",
"curl_invalid_format": "cURL 형식이 올바르지 않습니다.", "curl_invalid_format": "cURL 형식이 올바르지 않습니다.",
"danger_zone": "Danger zone", "danger_zone": "Danger zone",
"delete_account": "Your account is currently an owner in these teams:", "delete_account": "Your account is currently an owner in these teams:",
@@ -249,9 +300,12 @@
"json_prettify_invalid_body": "잘못된 본문을 구문 강조할 수 없습니다. json 구문 오류를 해결하고 다시 시도하세요.", "json_prettify_invalid_body": "잘못된 본문을 구문 강조할 수 없습니다. json 구문 오류를 해결하고 다시 시도하세요.",
"network_error": "네트워크 에러인 것 같습니다. 다시 시도하세요.", "network_error": "네트워크 에러인 것 같습니다. 다시 시도하세요.",
"network_fail": "요청을 보낼 수 없습니다.", "network_fail": "요청을 보낼 수 없습니다.",
"no_collections_to_export": "No collections to export. Please create a collection to get started.",
"no_duration": "소요 시간 없음", "no_duration": "소요 시간 없음",
"no_environments_to_export": "No environments to export. Please create an environment to get started.",
"no_results_found": "No matches found", "no_results_found": "No matches found",
"page_not_found": "해당 페이지를 찾을 수 없습니다.", "page_not_found": "해당 페이지를 찾을 수 없습니다.",
"please_install_extension": "Please install the extension and add origin to the extension.",
"proxy_error": "Proxy error", "proxy_error": "Proxy error",
"script_fail": "사전 요청 스크립트를 실행할 수 없습니다.", "script_fail": "사전 요청 스크립트를 실행할 수 없습니다.",
"something_went_wrong": "문제가 발생했습니다.", "something_went_wrong": "문제가 발생했습니다.",
@@ -260,6 +314,7 @@
"export": { "export": {
"as_json": "JSON으로 내보내기", "as_json": "JSON으로 내보내기",
"create_secret_gist": "Secret Gist 만들기", "create_secret_gist": "Secret Gist 만들기",
"failed": "Something went wrong while exporting",
"gist_created": "Gist가 생성됨", "gist_created": "Gist가 생성됨",
"require_github": "GitHub에 로그인하여 secret gist 만들기", "require_github": "GitHub에 로그인하여 secret gist 만들기",
"title": "내보내기" "title": "내보내기"
@@ -286,6 +341,9 @@
"subscriptions": "섭스크립션", "subscriptions": "섭스크립션",
"switch_connection": "Switch connection" "switch_connection": "Switch connection"
}, },
"graphql_collections": {
"title": "GraphQL Collections"
},
"group": { "group": {
"time": "Time", "time": "Time",
"url": "URL" "url": "URL"
@@ -297,6 +355,8 @@
}, },
"helpers": { "helpers": {
"authorization": "요청을 보낼 때 인증 헤더가 자동으로 생성됩니다.", "authorization": "요청을 보낼 때 인증 헤더가 자동으로 생성됩니다.",
"collection_properties_authorization": " This authorization will be set for every request in this collection.",
"collection_properties_header": "This header will be set for every request in this collection.",
"generate_documentation_first": "문서를 생성하세요.", "generate_documentation_first": "문서를 생성하세요.",
"network_fail": "API 엔드포인트에 연결할 수 없습니다. 네트워크 연결을 확인하고 다시 시도하세요.", "network_fail": "API 엔드포인트에 연결할 수 없습니다. 네트워크 연결을 확인하고 다시 시도하세요.",
"offline": "오프라인 상태인 것 같습니다. 이 작업 공간의 데이터는 최신이 아닐 수 있습니다.", "offline": "오프라인 상태인 것 같습니다. 이 작업 공간의 데이터는 최신이 아닐 수 있습니다.",
@@ -316,7 +376,10 @@
"import": { "import": {
"collections": "모음집 가져오기", "collections": "모음집 가져오기",
"curl": "cURL 가져오기", "curl": "cURL 가져오기",
"environments_from_gist": "Import From Gist",
"environments_from_gist_description": "Import Hoppscotch Environments From Gist",
"failed": "가져오기 실패", "failed": "가져오기 실패",
"from_file": "Import from File",
"from_gist": "Gist에서 가져오기", "from_gist": "Gist에서 가져오기",
"from_gist_description": "Gist URL에서 가져오기", "from_gist_description": "Gist URL에서 가져오기",
"from_insomnia": "Insomnia 형식 가져오기", "from_insomnia": "Insomnia 형식 가져오기",
@@ -331,11 +394,17 @@
"from_postman_description": "Postman 모음집을 가져옵니다.", "from_postman_description": "Postman 모음집을 가져옵니다.",
"from_url": "URL에서 가져오기", "from_url": "URL에서 가져오기",
"gist_url": "Gist URL 입력", "gist_url": "Gist URL 입력",
"gql_collections_from_gist_description": "Import GraphQL Collections From Gist",
"hoppscotch_environment": "Hoppscotch Environment",
"hoppscotch_environment_description": "Import Hoppscotch Environment JSON file",
"import_from_url_invalid_fetch": "URL에서 데이터를 가져올 수 없습니다.", "import_from_url_invalid_fetch": "URL에서 데이터를 가져올 수 없습니다.",
"import_from_url_invalid_file_format": "모음집을 가져오는데 실패하였습니다.", "import_from_url_invalid_file_format": "모음집을 가져오는데 실패하였습니다.",
"import_from_url_invalid_type": "지원되지 않는 타입입니다. 지원되는 타입은 'hoppscotch', 'openapi', 'postman', 'insomnia' 입니다.", "import_from_url_invalid_type": "지원되지 않는 타입입니다. 지원되는 타입은 'hoppscotch', 'openapi', 'postman', 'insomnia' 입니다.",
"import_from_url_success": "모음집을 성공적으로 가져왔습니다.", "import_from_url_success": "모음집을 성공적으로 가져왔습니다.",
"insomnia_environment_description": "Import Insomnia Environment from a JSON/YAML file",
"json_description": "호프스카치 모음집 JSON 파일을 가져옵니다.", "json_description": "호프스카치 모음집 JSON 파일을 가져옵니다.",
"postman_environment": "Postman Environment",
"postman_environment_description": "Import Postman Environment from a JSON file",
"title": "가져오기" "title": "가져오기"
}, },
"inspections": { "inspections": {
@@ -373,8 +442,10 @@
"close_unsaved_tab": "You have unsaved changes", "close_unsaved_tab": "You have unsaved changes",
"collections": "모음집", "collections": "모음집",
"confirm": "확인", "confirm": "확인",
"customize_request": "Customize Request",
"edit_request": "요청 수정", "edit_request": "요청 수정",
"import_export": "가져오기 / 내보내기" "import_export": "가져오기 / 내보내기",
"share_request": "Share Request"
}, },
"mqtt": { "mqtt": {
"already_subscribed": "You are already subscribed to this topic.", "already_subscribed": "You are already subscribed to this topic.",
@@ -449,13 +520,14 @@
"structured": "Structured", "structured": "Structured",
"text": "Text" "text": "Text"
}, },
"copy_link": "링크 복사",
"different_collection": "Cannot reorder requests from different collections", "different_collection": "Cannot reorder requests from different collections",
"duplicated": "Request duplicated", "duplicated": "Request duplicated",
"duration": "소요 시간", "duration": "소요 시간",
"enter_curl": "cURL 입력", "enter_curl": "cURL 입력",
"generate_code": "코드 생성", "generate_code": "코드 생성",
"generated_code": "코드가 생성됨", "generated_code": "코드가 생성됨",
"go_to_authorization_tab": "Go to Authorization tab",
"go_to_body_tab": "Go to Body tab",
"header_list": "헤더 목록", "header_list": "헤더 목록",
"invalid_name": "요청 이름을 바르게 입력하세요.", "invalid_name": "요청 이름을 바르게 입력하세요.",
"method": "메서드", "method": "메서드",
@@ -480,12 +552,14 @@
"saved": "요청이 저장됨", "saved": "요청이 저장됨",
"share": "공유하기", "share": "공유하기",
"share_description": "Share Hoppscotch with your friends", "share_description": "Share Hoppscotch with your friends",
"share_request": "Share Request",
"stop": "Stop", "stop": "Stop",
"title": "제목", "title": "제목",
"type": "요청 유형", "type": "요청 유형",
"url": "URL", "url": "URL",
"variables": "변수", "variables": "변수",
"view_my_links": "내 링크 보기" "view_my_links": "내 링크 보기",
"copy_link": "링크 복사"
}, },
"response": { "response": {
"audio": "Audio", "audio": "Audio",
@@ -513,6 +587,7 @@
"account_description": "계정 설정을 수정합니다.", "account_description": "계정 설정을 수정합니다.",
"account_email_description": "기본 이메일 주소입니다.", "account_email_description": "기본 이메일 주소입니다.",
"account_name_description": "디스플레이 이름입니다.", "account_name_description": "디스플레이 이름입니다.",
"additional": "Additional Settings",
"background": "배경", "background": "배경",
"black_mode": "검은 테마", "black_mode": "검은 테마",
"choose_language": "언어 선택", "choose_language": "언어 선택",
@@ -559,14 +634,31 @@
"verified_email": "Verified email", "verified_email": "Verified email",
"verify_email": "이메일 확인" "verify_email": "이메일 확인"
}, },
"shortcodes": { "shared_requests": {
"actions": "Actions", "button": "Button",
"created_on": "Created on", "button_info": "Create a 'Run in Hoppscotch' button for your website, blog or a README.",
"deleted": "Shortcode deleted", "copy_html": "Copy HTML",
"method": "Method", "copy_link": "Copy Link",
"not_found": "Shortcode not found", "copy_markdown": "Copy Markdown",
"short_code": "Short code", "creating_widget": "Creating widget",
"url": "URL" "customize": "Customize",
"deleted": "Shared request deleted",
"description": "Select a widget, you can change and customize this later",
"embed": "Embed",
"embed_info": "Add a mini 'Hoppscotch API Playground' to your website, blog or documentation.",
"link": "Link",
"link_info": "Create a shareable link to share with anyone on the internet with view access.",
"modified": "Shared request modified",
"not_found": "Shared request not found",
"open_new_tab": "Open in new tab",
"preview": "Preview",
"run_in_hoppscotch": "Run in Hoppscotch",
"theme": {
"dark": "Dark",
"light": "Light",
"system": "System",
"title": "Theme"
}
}, },
"shortcut": { "shortcut": {
"general": { "general": {
@@ -596,7 +688,6 @@
"title": "Others" "title": "Others"
}, },
"request": { "request": {
"copy_request_link": "요청 링크 복사",
"delete_method": "DELETE 메서드 선택", "delete_method": "DELETE 메서드 선택",
"get_method": "GET 메서드 선택", "get_method": "GET 메서드 선택",
"head_method": "HEAD 메서드 선택", "head_method": "HEAD 메서드 선택",
@@ -611,8 +702,10 @@
"save_request": "Save Request", "save_request": "Save Request",
"save_to_collections": "모음집에 저장", "save_to_collections": "모음집에 저장",
"send_request": "요청 보내기", "send_request": "요청 보내기",
"share_request": "Share Request",
"show_code": "Generate code snippet", "show_code": "Generate code snippet",
"title": "요청" "title": "요청",
"copy_request_link": "요청 링크 복사"
}, },
"response": { "response": {
"copy": "Copy response to clipboard", "copy": "Copy response to clipboard",
@@ -735,6 +828,7 @@
"connection_error": "연결 실패", "connection_error": "연결 실패",
"connection_failed": "연결 실패", "connection_failed": "연결 실패",
"connection_lost": "연결 끊김", "connection_lost": "연결 끊김",
"copied_interface_to_clipboard": "Copied {language} interface type to clipboard",
"copied_to_clipboard": "클립보드에 복사됨", "copied_to_clipboard": "클립보드에 복사됨",
"deleted": "삭제됨", "deleted": "삭제됨",
"deprecated": "더 이상 사용되지 않음", "deprecated": "더 이상 사용되지 않음",
@@ -742,10 +836,12 @@
"disconnected": "연결 끊김", "disconnected": "연결 끊김",
"disconnected_from": "{name}에서 연결 끊김", "disconnected_from": "{name}에서 연결 끊김",
"docs_generated": "문서 생성됨", "docs_generated": "문서 생성됨",
"download_failed": "Download failed",
"download_started": "다운로드 시작됨", "download_started": "다운로드 시작됨",
"enabled": "활성화됨", "enabled": "활성화됨",
"file_imported": "파일을 임포트함", "file_imported": "파일을 임포트함",
"finished_in": "{duration}ms 후에 완료 예정", "finished_in": "{duration}ms 후에 완료 예정",
"hide": "Hide",
"history_deleted": "이력 삭제됨", "history_deleted": "이력 삭제됨",
"linewrap": "랩 라인", "linewrap": "랩 라인",
"loading": "로드 중...", "loading": "로드 중...",
@@ -756,6 +852,7 @@
"published_error": "Something went wrong while publishing msg: {topic} to topic: {message}", "published_error": "Something went wrong while publishing msg: {topic} to topic: {message}",
"published_message": "Published message: {message} to topic: {topic}", "published_message": "Published message: {message} to topic: {topic}",
"reconnection_error": "Failed to reconnect", "reconnection_error": "Failed to reconnect",
"show": "Show",
"subscribed_failed": "Failed to subscribe to topic: {topic}", "subscribed_failed": "Failed to subscribe to topic: {topic}",
"subscribed_success": "Successfully subscribed to topic: {topic}", "subscribed_success": "Successfully subscribed to topic: {topic}",
"unsubscribed_failed": "Failed to unsubscribe from topic: {topic}", "unsubscribed_failed": "Failed to unsubscribe from topic: {topic}",
@@ -791,6 +888,7 @@
"queries": "쿼리", "queries": "쿼리",
"query": "쿼리", "query": "쿼리",
"schema": "스키마", "schema": "스키마",
"shared_requests": "Shared Requests",
"socketio": "Socket.IO", "socketio": "Socket.IO",
"sse": "SSE", "sse": "SSE",
"tests": "테스트", "tests": "테스트",
@@ -807,6 +905,7 @@
"email_do_not_match": "이 계정의 이메일이 일치하지 않습니다. 팀 소유자에게 문의하세요.", "email_do_not_match": "이 계정의 이메일이 일치하지 않습니다. 팀 소유자에게 문의하세요.",
"exit": "팀 나가기", "exit": "팀 나가기",
"exit_disabled": "소유자는 팀을 나갈 수 없습니다.", "exit_disabled": "소유자는 팀을 나갈 수 없습니다.",
"failed_invites": "Failed invites",
"invalid_coll_id": "Invalid collection ID", "invalid_coll_id": "Invalid collection ID",
"invalid_email_format": "이메일을 바르게 입력하세요.", "invalid_email_format": "이메일을 바르게 입력하세요.",
"invalid_id": "팀 아이디가 올바르지 않습니다. 팀 소유자에게 문의하세요.", "invalid_id": "팀 아이디가 올바르지 않습니다. 팀 소유자에게 문의하세요.",
@@ -848,6 +947,7 @@
"same_target_destination": "Same target and destination", "same_target_destination": "Same target and destination",
"saved": "팀이 저장됨", "saved": "팀이 저장됨",
"select_a_team": "팀을 선택하세요.", "select_a_team": "팀을 선택하세요.",
"success_invites": "Success invites",
"title": "팀", "title": "팀",
"we_sent_invite_link": "모든 초대 대상에게 초대 링크를 보냈습니다.", "we_sent_invite_link": "모든 초대 대상에게 초대 링크를 보냈습니다.",
"we_sent_invite_link_description": "초대 대상들이 이메일을 확인하도록 권하세요. 이메일 속 링크를 클릭하면 팀에 합류할 수 있습니다." "we_sent_invite_link_description": "초대 대상들이 이메일을 확인하도록 권하세요. 이메일 속 링크를 클릭하면 팀에 합류할 수 있습니다."
@@ -879,5 +979,14 @@
"personal": "My Workspace", "personal": "My Workspace",
"team": "Team Workspace", "team": "Team Workspace",
"title": "Workspaces" "title": "Workspaces"
},
"shortcodes": {
"actions": "Actions",
"created_on": "Created on",
"deleted": "Shortcode deleted",
"method": "Method",
"not_found": "Shortcode not found",
"short_code": "Short code",
"url": "URL"
} }
} }

View File

@@ -1,5 +1,6 @@
{ {
"action": { "action": {
"add": "Add",
"autoscroll": "Autoscroll", "autoscroll": "Autoscroll",
"cancel": "Annuleren", "cancel": "Annuleren",
"choose_file": "Kies een bestand", "choose_file": "Kies een bestand",
@@ -10,6 +11,7 @@
"connect": "Verbinden", "connect": "Verbinden",
"connecting": "Connecting", "connecting": "Connecting",
"copy": "Kopiëren", "copy": "Kopiëren",
"create": "Create",
"delete": "Verwijderen", "delete": "Verwijderen",
"disconnect": "Verbinding verbreken", "disconnect": "Verbinding verbreken",
"dismiss": "Afwijzen", "dismiss": "Afwijzen",
@@ -31,6 +33,7 @@
"open_workspace": "Open workspace", "open_workspace": "Open workspace",
"paste": "Paste", "paste": "Paste",
"prettify": "Netter opmaken", "prettify": "Netter opmaken",
"properties": "Properties",
"remove": "Verwijderen", "remove": "Verwijderen",
"rename": "Rename", "rename": "Rename",
"restore": "Herstellen", "restore": "Herstellen",
@@ -39,6 +42,7 @@
"scroll_to_top": "Scroll to top", "scroll_to_top": "Scroll to top",
"search": "Zoeken", "search": "Zoeken",
"send": "Versturen", "send": "Versturen",
"share": "Share",
"start": "Begin", "start": "Begin",
"starting": "Starting", "starting": "Starting",
"stop": "Stop", "stop": "Stop",
@@ -57,7 +61,9 @@
"app": { "app": {
"chat_with_us": "Chat met ons", "chat_with_us": "Chat met ons",
"contact_us": "Neem contact op", "contact_us": "Neem contact op",
"cookies": "Cookies",
"copy": "Kopiëren", "copy": "Kopiëren",
"copy_interface_type": "Copy interface type",
"copy_user_id": "Copy User Auth Token", "copy_user_id": "Copy User Auth Token",
"developer_option": "Developer options", "developer_option": "Developer options",
"developer_option_description": "Developer tools which helps in development and maintenance of Hoppscotch.", "developer_option_description": "Developer tools which helps in development and maintenance of Hoppscotch.",
@@ -73,6 +79,7 @@
"keyboard_shortcuts": "Toetsenbord sneltoetsen", "keyboard_shortcuts": "Toetsenbord sneltoetsen",
"name": "Hoppscotch", "name": "Hoppscotch",
"new_version_found": "Nieuwe versie gevonden. Vernieuwen om te updaten.", "new_version_found": "Nieuwe versie gevonden. Vernieuwen om te updaten.",
"open_in_hoppscotch": "Open in Hoppscotch",
"options": "Options", "options": "Options",
"proxy_privacy_policy": "Proxy-privacybeleid", "proxy_privacy_policy": "Proxy-privacybeleid",
"reload": "Herladen", "reload": "Herladen",
@@ -112,10 +119,27 @@
}, },
"authorization": { "authorization": {
"generate_token": "Token genereren", "generate_token": "Token genereren",
"graphql_headers": "Authorization Headers are sent as part of the payload to connection_init",
"include_in_url": "Opnemen in URL", "include_in_url": "Opnemen in URL",
"inherited_from": "Inherited from {auth} from Parent Collection {collection} ",
"learn": "Leren hoe", "learn": "Leren hoe",
"oauth": {
"redirect_auth_server_returned_error": "Auth Server returned an error state",
"redirect_auth_token_request_failed": "Request to get the auth token failed",
"redirect_auth_token_request_invalid_response": "Invalid Response from the Token Endpoint when requesting for an auth token",
"redirect_invalid_state": "Invalid State value present in the redirect",
"redirect_no_auth_code": "No Authorization Code present in the redirect",
"redirect_no_client_id": "No Client ID defined",
"redirect_no_client_secret": "No Client Secret Defined",
"redirect_no_code_verifier": "No Code Verifier Defined",
"redirect_no_token_endpoint": "No Token Endpoint Defined",
"something_went_wrong_on_oauth_redirect": "Something went wrong during OAuth Redirect",
"something_went_wrong_on_token_generation": "Something went wrong on token generation",
"token_generation_oidc_discovery_failed": "Failure on token generation: OpenID Connect Discovery Failed"
},
"pass_key_by": "Pass by", "pass_key_by": "Pass by",
"password": "Wachtwoord", "password": "Wachtwoord",
"save_to_inherit": "Please save this request in any collection to inherit the authorization",
"token": "token", "token": "token",
"type": "Autorisatietype:", "type": "Autorisatietype:",
"username": "Gebruikersnaam" "username": "Gebruikersnaam"
@@ -124,6 +148,7 @@
"created": "Collectie gemaakt", "created": "Collectie gemaakt",
"different_parent": "Cannot reorder collection with different parent", "different_parent": "Cannot reorder collection with different parent",
"edit": "Verzameling bewerken", "edit": "Verzameling bewerken",
"import_or_create": "Import or create a collection",
"invalid_name": "Geef een geldige naam op voor de collectie", "invalid_name": "Geef een geldige naam op voor de collectie",
"invalid_root_move": "Collection already in the root", "invalid_root_move": "Collection already in the root",
"moved": "Moved Successfully", "moved": "Moved Successfully",
@@ -132,6 +157,8 @@
"name_length_insufficient": "Collection name should be at least 3 characters long", "name_length_insufficient": "Collection name should be at least 3 characters long",
"new": "Nieuwe collectie", "new": "Nieuwe collectie",
"order_changed": "Collection Order Updated", "order_changed": "Collection Order Updated",
"properties": "Collection Properties",
"properties_updated": "Collection Properties Updated",
"renamed": "Collectie hernoemd", "renamed": "Collectie hernoemd",
"request_in_use": "Request in use", "request_in_use": "Request in use",
"save_as": "Opslaan als", "save_as": "Opslaan als",
@@ -151,6 +178,7 @@
"remove_folder": "Weet u zeker dat u deze map permanent wilt verwijderen?", "remove_folder": "Weet u zeker dat u deze map permanent wilt verwijderen?",
"remove_history": "Weet je zeker dat je de hele geschiedenis permanent wilt verwijderen?", "remove_history": "Weet je zeker dat je de hele geschiedenis permanent wilt verwijderen?",
"remove_request": "Weet u zeker dat u dit verzoek definitief wilt verwijderen?", "remove_request": "Weet u zeker dat u dit verzoek definitief wilt verwijderen?",
"remove_shared_request": "Are you sure you want to permanently delete this shared request?",
"remove_team": "Weet je zeker dat je dit team wilt verwijderen?", "remove_team": "Weet je zeker dat je dit team wilt verwijderen?",
"remove_telemetry": "Weet u zeker dat u zich wilt afmelden voor telemetrie?", "remove_telemetry": "Weet u zeker dat u zich wilt afmelden voor telemetrie?",
"request_change": "Are you sure you want to discard current request, unsaved changes will be lost.", "request_change": "Are you sure you want to discard current request, unsaved changes will be lost.",
@@ -162,6 +190,24 @@
"open_request_in_new_tab": "Open request in new tab", "open_request_in_new_tab": "Open request in new tab",
"set_environment_variable": "Set as variable" "set_environment_variable": "Set as variable"
}, },
"cookies": {
"modal": {
"cookie_expires": "Expires",
"cookie_name": "Name",
"cookie_path": "Path",
"cookie_string": "Cookie string",
"cookie_value": "Value",
"empty_domain": "Domain is empty",
"empty_domains": "Domain list is empty",
"enter_cookie_string": "Enter cookie string",
"interceptor_no_support": "Your currently selected interceptor does not support cookies. Select a different Interceptor and try again.",
"managed_tab": "Managed",
"new_domain_name": "New domain name",
"no_cookies_in_domain": "No cookies set for this domain",
"raw_tab": "Raw",
"set": "Set a cookie"
}
},
"count": { "count": {
"header": "Kop {count}", "header": "Kop {count}",
"message": "Bericht {count}", "message": "Bericht {count}",
@@ -192,11 +238,13 @@
"profile": "Login to view your profile", "profile": "Login to view your profile",
"protocols": "Protocollen zijn leeg", "protocols": "Protocollen zijn leeg",
"schema": "Verbinding maken met een GraphQL-eindpunt", "schema": "Verbinding maken met een GraphQL-eindpunt",
"shortcodes": "Shortcodes are empty", "shared_requests": "Shared requests are empty",
"shared_requests_logout": "Login to view your shared requests or create a new one",
"subscription": "Subscriptions are empty", "subscription": "Subscriptions are empty",
"team_name": "Teamnaam leeg", "team_name": "Teamnaam leeg",
"teams": "Teams zijn leeg", "teams": "Teams zijn leeg",
"tests": "Er zijn geen tests voor dit verzoek" "tests": "Er zijn geen tests voor dit verzoek",
"shortcodes": "Shortcodes are empty"
}, },
"environment": { "environment": {
"add_to_global": "Add to Global", "add_to_global": "Add to Global",
@@ -209,6 +257,7 @@
"empty_variables": "No variables", "empty_variables": "No variables",
"global": "Global", "global": "Global",
"global_variables": "Global variables", "global_variables": "Global variables",
"import_or_create": "Import or create a environment",
"invalid_name": "Geef een geldige naam op voor de omgeving", "invalid_name": "Geef een geldige naam op voor de omgeving",
"list": "Environment variables", "list": "Environment variables",
"my_environments": "My Environments", "my_environments": "My Environments",
@@ -232,8 +281,10 @@
"variable_list": "Variabele lijst" "variable_list": "Variabele lijst"
}, },
"error": { "error": {
"authproviders_load_error": "Unable to load auth providers",
"browser_support_sse": "Deze browser lijkt geen ondersteuning te hebben voor door de server verzonden gebeurtenissen.", "browser_support_sse": "Deze browser lijkt geen ondersteuning te hebben voor door de server verzonden gebeurtenissen.",
"check_console_details": "Controleer het consolelogboek voor details.", "check_console_details": "Controleer het consolelogboek voor details.",
"check_how_to_add_origin": "Check how you can add an origin",
"curl_invalid_format": "cURL is niet correct geformatteerd", "curl_invalid_format": "cURL is niet correct geformatteerd",
"danger_zone": "Danger zone", "danger_zone": "Danger zone",
"delete_account": "Your account is currently an owner in these teams:", "delete_account": "Your account is currently an owner in these teams:",
@@ -249,9 +300,12 @@
"json_prettify_invalid_body": "Kon een ongeldige hoofdtekst niet mooier maken, json-syntaxisfouten oplossen en opnieuw proberen", "json_prettify_invalid_body": "Kon een ongeldige hoofdtekst niet mooier maken, json-syntaxisfouten oplossen en opnieuw proberen",
"network_error": "There seems to be a network error. Please try again.", "network_error": "There seems to be a network error. Please try again.",
"network_fail": "Kan verzoek niet versturen", "network_fail": "Kan verzoek niet versturen",
"no_collections_to_export": "No collections to export. Please create a collection to get started.",
"no_duration": "Geen duur", "no_duration": "Geen duur",
"no_environments_to_export": "No environments to export. Please create an environment to get started.",
"no_results_found": "No matches found", "no_results_found": "No matches found",
"page_not_found": "This page could not be found", "page_not_found": "This page could not be found",
"please_install_extension": "Please install the extension and add origin to the extension.",
"proxy_error": "Proxy error", "proxy_error": "Proxy error",
"script_fail": "Kon pre-aanvraagscript niet uitvoeren", "script_fail": "Kon pre-aanvraagscript niet uitvoeren",
"something_went_wrong": "Er is iets fout gegaan", "something_went_wrong": "Er is iets fout gegaan",
@@ -260,6 +314,7 @@
"export": { "export": {
"as_json": "Exporteren als JSON", "as_json": "Exporteren als JSON",
"create_secret_gist": "Maak geheime kern", "create_secret_gist": "Maak geheime kern",
"failed": "Something went wrong while exporting",
"gist_created": "Kern gemaakt", "gist_created": "Kern gemaakt",
"require_github": "Log in met GitHub om een geheime kern te maken", "require_github": "Log in met GitHub om een geheime kern te maken",
"title": "Export" "title": "Export"
@@ -286,6 +341,9 @@
"subscriptions": "Abonnementen", "subscriptions": "Abonnementen",
"switch_connection": "Switch connection" "switch_connection": "Switch connection"
}, },
"graphql_collections": {
"title": "GraphQL Collections"
},
"group": { "group": {
"time": "Time", "time": "Time",
"url": "URL" "url": "URL"
@@ -297,6 +355,8 @@
}, },
"helpers": { "helpers": {
"authorization": "De autorisatieheader wordt automatisch gegenereerd wanneer u het verzoek verzendt.", "authorization": "De autorisatieheader wordt automatisch gegenereerd wanneer u het verzoek verzendt.",
"collection_properties_authorization": " This authorization will be set for every request in this collection.",
"collection_properties_header": "This header will be set for every request in this collection.",
"generate_documentation_first": "Genereer eerst documentatie", "generate_documentation_first": "Genereer eerst documentatie",
"network_fail": "Kan het API-eindpunt niet bereiken. Controleer uw netwerkverbinding en probeer het opnieuw.", "network_fail": "Kan het API-eindpunt niet bereiken. Controleer uw netwerkverbinding en probeer het opnieuw.",
"offline": "Je lijkt offline te zijn. Gegevens in deze werkruimte zijn mogelijk niet up-to-date.", "offline": "Je lijkt offline te zijn. Gegevens in deze werkruimte zijn mogelijk niet up-to-date.",
@@ -316,7 +376,10 @@
"import": { "import": {
"collections": "Collecties importeren", "collections": "Collecties importeren",
"curl": "cURL-commando importeren", "curl": "cURL-commando importeren",
"environments_from_gist": "Import From Gist",
"environments_from_gist_description": "Import Hoppscotch Environments From Gist",
"failed": "Importeren mislukt", "failed": "Importeren mislukt",
"from_file": "Import from File",
"from_gist": "Importeren uit Gist", "from_gist": "Importeren uit Gist",
"from_gist_description": "Import from Gist URL", "from_gist_description": "Import from Gist URL",
"from_insomnia": "Import from Insomnia", "from_insomnia": "Import from Insomnia",
@@ -331,11 +394,17 @@
"from_postman_description": "Import from Postman collection", "from_postman_description": "Import from Postman collection",
"from_url": "Import from URL", "from_url": "Import from URL",
"gist_url": "Vul de hoofd-URL in", "gist_url": "Vul de hoofd-URL in",
"gql_collections_from_gist_description": "Import GraphQL Collections From Gist",
"hoppscotch_environment": "Hoppscotch Environment",
"hoppscotch_environment_description": "Import Hoppscotch Environment JSON file",
"import_from_url_invalid_fetch": "Couldn't get data from the url", "import_from_url_invalid_fetch": "Couldn't get data from the url",
"import_from_url_invalid_file_format": "Error while importing collections", "import_from_url_invalid_file_format": "Error while importing collections",
"import_from_url_invalid_type": "Unsupported type. accepted values are 'hoppscotch', 'openapi', 'postman', 'insomnia'", "import_from_url_invalid_type": "Unsupported type. accepted values are 'hoppscotch', 'openapi', 'postman', 'insomnia'",
"import_from_url_success": "Collections Imported", "import_from_url_success": "Collections Imported",
"insomnia_environment_description": "Import Insomnia Environment from a JSON/YAML file",
"json_description": "Import collections from a Hoppscotch Collections JSON file", "json_description": "Import collections from a Hoppscotch Collections JSON file",
"postman_environment": "Postman Environment",
"postman_environment_description": "Import Postman Environment from a JSON file",
"title": "Importeren" "title": "Importeren"
}, },
"inspections": { "inspections": {
@@ -373,8 +442,10 @@
"close_unsaved_tab": "You have unsaved changes", "close_unsaved_tab": "You have unsaved changes",
"collections": "Collecties", "collections": "Collecties",
"confirm": "Bevestigen", "confirm": "Bevestigen",
"customize_request": "Customize Request",
"edit_request": "Verzoek bewerken", "edit_request": "Verzoek bewerken",
"import_export": "Importeren / exporteren" "import_export": "Importeren / exporteren",
"share_request": "Share Request"
}, },
"mqtt": { "mqtt": {
"already_subscribed": "You are already subscribed to this topic.", "already_subscribed": "You are already subscribed to this topic.",
@@ -449,13 +520,14 @@
"structured": "Structured", "structured": "Structured",
"text": "Text" "text": "Text"
}, },
"copy_link": "Kopieer link",
"different_collection": "Cannot reorder requests from different collections", "different_collection": "Cannot reorder requests from different collections",
"duplicated": "Request duplicated", "duplicated": "Request duplicated",
"duration": "Duur", "duration": "Duur",
"enter_curl": "Voer cURL . in", "enter_curl": "Voer cURL . in",
"generate_code": "Genereer code", "generate_code": "Genereer code",
"generated_code": "Gegenereerde code", "generated_code": "Gegenereerde code",
"go_to_authorization_tab": "Go to Authorization tab",
"go_to_body_tab": "Go to Body tab",
"header_list": "Koplijst", "header_list": "Koplijst",
"invalid_name": "Geef een naam op voor het verzoek", "invalid_name": "Geef een naam op voor het verzoek",
"method": "Methode", "method": "Methode",
@@ -480,12 +552,14 @@
"saved": "Verzoek opgeslagen", "saved": "Verzoek opgeslagen",
"share": "Deel", "share": "Deel",
"share_description": "Share Hoppscotch with your friends", "share_description": "Share Hoppscotch with your friends",
"share_request": "Share Request",
"stop": "Stop", "stop": "Stop",
"title": "Verzoek", "title": "Verzoek",
"type": "Aanvraag type", "type": "Aanvraag type",
"url": "URL", "url": "URL",
"variables": "Variabelen", "variables": "Variabelen",
"view_my_links": "View my links" "view_my_links": "View my links",
"copy_link": "Kopieer link"
}, },
"response": { "response": {
"audio": "Audio", "audio": "Audio",
@@ -513,6 +587,7 @@
"account_description": "Pas uw accountinstellingen aan.", "account_description": "Pas uw accountinstellingen aan.",
"account_email_description": "Uw primaire e-mailadres.", "account_email_description": "Uw primaire e-mailadres.",
"account_name_description": "Dit is uw weergavenaam.", "account_name_description": "Dit is uw weergavenaam.",
"additional": "Additional Settings",
"background": "Achtergrond", "background": "Achtergrond",
"black_mode": "zwart", "black_mode": "zwart",
"choose_language": "Kies een taal", "choose_language": "Kies een taal",
@@ -559,14 +634,31 @@
"verified_email": "Verified email", "verified_email": "Verified email",
"verify_email": "Verify email" "verify_email": "Verify email"
}, },
"shortcodes": { "shared_requests": {
"actions": "Actions", "button": "Button",
"created_on": "Created on", "button_info": "Create a 'Run in Hoppscotch' button for your website, blog or a README.",
"deleted": "Shortcode deleted", "copy_html": "Copy HTML",
"method": "Method", "copy_link": "Copy Link",
"not_found": "Shortcode not found", "copy_markdown": "Copy Markdown",
"short_code": "Short code", "creating_widget": "Creating widget",
"url": "URL" "customize": "Customize",
"deleted": "Shared request deleted",
"description": "Select a widget, you can change and customize this later",
"embed": "Embed",
"embed_info": "Add a mini 'Hoppscotch API Playground' to your website, blog or documentation.",
"link": "Link",
"link_info": "Create a shareable link to share with anyone on the internet with view access.",
"modified": "Shared request modified",
"not_found": "Shared request not found",
"open_new_tab": "Open in new tab",
"preview": "Preview",
"run_in_hoppscotch": "Run in Hoppscotch",
"theme": {
"dark": "Dark",
"light": "Light",
"system": "System",
"title": "Theme"
}
}, },
"shortcut": { "shortcut": {
"general": { "general": {
@@ -596,7 +688,6 @@
"title": "Others" "title": "Others"
}, },
"request": { "request": {
"copy_request_link": "Kopieer aanvraaglink",
"delete_method": "Selecteer DELETE-methode", "delete_method": "Selecteer DELETE-methode",
"get_method": "Selecteer GET-methode", "get_method": "Selecteer GET-methode",
"head_method": "Selecteer HEAD-methode:", "head_method": "Selecteer HEAD-methode:",
@@ -611,8 +702,10 @@
"save_request": "Save Request", "save_request": "Save Request",
"save_to_collections": "Opslaan in collecties", "save_to_collections": "Opslaan in collecties",
"send_request": "Verstuur verzoek", "send_request": "Verstuur verzoek",
"share_request": "Share Request",
"show_code": "Generate code snippet", "show_code": "Generate code snippet",
"title": "Verzoek" "title": "Verzoek",
"copy_request_link": "Kopieer aanvraaglink"
}, },
"response": { "response": {
"copy": "Copy response to clipboard", "copy": "Copy response to clipboard",
@@ -735,6 +828,7 @@
"connection_error": "Failed to connect", "connection_error": "Failed to connect",
"connection_failed": "Connection failed", "connection_failed": "Connection failed",
"connection_lost": "Connection lost", "connection_lost": "Connection lost",
"copied_interface_to_clipboard": "Copied {language} interface type to clipboard",
"copied_to_clipboard": "Gekopieerd naar het klembord", "copied_to_clipboard": "Gekopieerd naar het klembord",
"deleted": "verwijderd", "deleted": "verwijderd",
"deprecated": "VEROUDERD", "deprecated": "VEROUDERD",
@@ -742,10 +836,12 @@
"disconnected": "Verbinding verbroken", "disconnected": "Verbinding verbroken",
"disconnected_from": "Verbinding verbroken met {name}", "disconnected_from": "Verbinding verbroken met {name}",
"docs_generated": "Documentatie gegenereerd", "docs_generated": "Documentatie gegenereerd",
"download_failed": "Download failed",
"download_started": "Download gestart", "download_started": "Download gestart",
"enabled": "ingeschakeld", "enabled": "ingeschakeld",
"file_imported": "Bestand geïmporteerd", "file_imported": "Bestand geïmporteerd",
"finished_in": "Klaar in {duration} ms", "finished_in": "Klaar in {duration} ms",
"hide": "Hide",
"history_deleted": "Geschiedenis verwijderd", "history_deleted": "Geschiedenis verwijderd",
"linewrap": "Regels afbreken", "linewrap": "Regels afbreken",
"loading": "Bezig met laden...", "loading": "Bezig met laden...",
@@ -756,6 +852,7 @@
"published_error": "Something went wrong while publishing msg: {topic} to topic: {message}", "published_error": "Something went wrong while publishing msg: {topic} to topic: {message}",
"published_message": "Published message: {message} to topic: {topic}", "published_message": "Published message: {message} to topic: {topic}",
"reconnection_error": "Failed to reconnect", "reconnection_error": "Failed to reconnect",
"show": "Show",
"subscribed_failed": "Failed to subscribe to topic: {topic}", "subscribed_failed": "Failed to subscribe to topic: {topic}",
"subscribed_success": "Successfully subscribed to topic: {topic}", "subscribed_success": "Successfully subscribed to topic: {topic}",
"unsubscribed_failed": "Failed to unsubscribe from topic: {topic}", "unsubscribed_failed": "Failed to unsubscribe from topic: {topic}",
@@ -791,6 +888,7 @@
"queries": "Queries", "queries": "Queries",
"query": "Query", "query": "Query",
"schema": "Schema", "schema": "Schema",
"shared_requests": "Shared Requests",
"socketio": "Socket.IO", "socketio": "Socket.IO",
"sse": "SSE", "sse": "SSE",
"tests": "Testen", "tests": "Testen",
@@ -807,6 +905,7 @@
"email_do_not_match": "Email doesn't match with your account details. Contact your team owner.", "email_do_not_match": "Email doesn't match with your account details. Contact your team owner.",
"exit": "Team verlaten", "exit": "Team verlaten",
"exit_disabled": "Alleen de eigenaar kan het team niet verlaten", "exit_disabled": "Alleen de eigenaar kan het team niet verlaten",
"failed_invites": "Failed invites",
"invalid_coll_id": "Invalid collection ID", "invalid_coll_id": "Invalid collection ID",
"invalid_email_format": "E-mailindeling is ongeldig", "invalid_email_format": "E-mailindeling is ongeldig",
"invalid_id": "Invalid team ID. Contact your team owner.", "invalid_id": "Invalid team ID. Contact your team owner.",
@@ -848,6 +947,7 @@
"same_target_destination": "Same target and destination", "same_target_destination": "Same target and destination",
"saved": "Team gered", "saved": "Team gered",
"select_a_team": "Select a team", "select_a_team": "Select a team",
"success_invites": "Success invites",
"title": "teams", "title": "teams",
"we_sent_invite_link": "We sent an invite link to all invitees!", "we_sent_invite_link": "We sent an invite link to all invitees!",
"we_sent_invite_link_description": "Ask all invitees to check their inbox. Click on the link to join the team." "we_sent_invite_link_description": "Ask all invitees to check their inbox. Click on the link to join the team."
@@ -879,5 +979,14 @@
"personal": "My Workspace", "personal": "My Workspace",
"team": "Team Workspace", "team": "Team Workspace",
"title": "Workspaces" "title": "Workspaces"
},
"shortcodes": {
"actions": "Actions",
"created_on": "Created on",
"deleted": "Shortcode deleted",
"method": "Method",
"not_found": "Shortcode not found",
"short_code": "Short code",
"url": "URL"
} }
} }

View File

@@ -1,5 +1,6 @@
{ {
"action": { "action": {
"add": "Add",
"autoscroll": "Autoscroll", "autoscroll": "Autoscroll",
"cancel": "Avbryt", "cancel": "Avbryt",
"choose_file": "Velg en fil", "choose_file": "Velg en fil",
@@ -10,6 +11,7 @@
"connect": "Koble", "connect": "Koble",
"connecting": "Connecting", "connecting": "Connecting",
"copy": "Kopiere", "copy": "Kopiere",
"create": "Create",
"delete": "Slett", "delete": "Slett",
"disconnect": "Koble fra", "disconnect": "Koble fra",
"dismiss": "Avbryt", "dismiss": "Avbryt",
@@ -31,6 +33,7 @@
"open_workspace": "Open workspace", "open_workspace": "Open workspace",
"paste": "Paste", "paste": "Paste",
"prettify": "Forskjønn", "prettify": "Forskjønn",
"properties": "Properties",
"remove": "Ta bort", "remove": "Ta bort",
"rename": "Rename", "rename": "Rename",
"restore": "Gjenopprett", "restore": "Gjenopprett",
@@ -39,6 +42,7 @@
"scroll_to_top": "Scroll to top", "scroll_to_top": "Scroll to top",
"search": "Søk", "search": "Søk",
"send": "Sende", "send": "Sende",
"share": "Share",
"start": "Start", "start": "Start",
"starting": "Starting", "starting": "Starting",
"stop": "Stoppe", "stop": "Stoppe",
@@ -57,7 +61,9 @@
"app": { "app": {
"chat_with_us": "Snakk med oss", "chat_with_us": "Snakk med oss",
"contact_us": "Kontakt oss", "contact_us": "Kontakt oss",
"cookies": "Cookies",
"copy": "Kopiere", "copy": "Kopiere",
"copy_interface_type": "Copy interface type",
"copy_user_id": "Copy User Auth Token", "copy_user_id": "Copy User Auth Token",
"developer_option": "Developer options", "developer_option": "Developer options",
"developer_option_description": "Developer tools which helps in development and maintenance of Hoppscotch.", "developer_option_description": "Developer tools which helps in development and maintenance of Hoppscotch.",
@@ -73,6 +79,7 @@
"keyboard_shortcuts": "Tastatursnarveier", "keyboard_shortcuts": "Tastatursnarveier",
"name": "Hoppscotch", "name": "Hoppscotch",
"new_version_found": "Ny versjon funnet. Last ned for å oppdatere.", "new_version_found": "Ny versjon funnet. Last ned for å oppdatere.",
"open_in_hoppscotch": "Open in Hoppscotch",
"options": "Options", "options": "Options",
"proxy_privacy_policy": "Personvernerklæring for proxy", "proxy_privacy_policy": "Personvernerklæring for proxy",
"reload": "Last på nytt", "reload": "Last på nytt",
@@ -112,10 +119,27 @@
}, },
"authorization": { "authorization": {
"generate_token": "Generer nøkkel", "generate_token": "Generer nøkkel",
"graphql_headers": "Authorization Headers are sent as part of the payload to connection_init",
"include_in_url": "Inkluder i URL", "include_in_url": "Inkluder i URL",
"inherited_from": "Inherited from {auth} from Parent Collection {collection} ",
"learn": "Lær hvordan", "learn": "Lær hvordan",
"oauth": {
"redirect_auth_server_returned_error": "Auth Server returned an error state",
"redirect_auth_token_request_failed": "Request to get the auth token failed",
"redirect_auth_token_request_invalid_response": "Invalid Response from the Token Endpoint when requesting for an auth token",
"redirect_invalid_state": "Invalid State value present in the redirect",
"redirect_no_auth_code": "No Authorization Code present in the redirect",
"redirect_no_client_id": "No Client ID defined",
"redirect_no_client_secret": "No Client Secret Defined",
"redirect_no_code_verifier": "No Code Verifier Defined",
"redirect_no_token_endpoint": "No Token Endpoint Defined",
"something_went_wrong_on_oauth_redirect": "Something went wrong during OAuth Redirect",
"something_went_wrong_on_token_generation": "Something went wrong on token generation",
"token_generation_oidc_discovery_failed": "Failure on token generation: OpenID Connect Discovery Failed"
},
"pass_key_by": "Pass by", "pass_key_by": "Pass by",
"password": "Passord", "password": "Passord",
"save_to_inherit": "Please save this request in any collection to inherit the authorization",
"token": "Nøkkel", "token": "Nøkkel",
"type": "Godkjenningstype", "type": "Godkjenningstype",
"username": "Brukernavn" "username": "Brukernavn"
@@ -124,6 +148,7 @@
"created": "Samlingen er opprettet", "created": "Samlingen er opprettet",
"different_parent": "Cannot reorder collection with different parent", "different_parent": "Cannot reorder collection with different parent",
"edit": "Rediger samling", "edit": "Rediger samling",
"import_or_create": "Import or create a collection",
"invalid_name": "Oppgi et gyldig navn på samlingen", "invalid_name": "Oppgi et gyldig navn på samlingen",
"invalid_root_move": "Collection already in the root", "invalid_root_move": "Collection already in the root",
"moved": "Moved Successfully", "moved": "Moved Successfully",
@@ -132,6 +157,8 @@
"name_length_insufficient": "Collection name should be at least 3 characters long", "name_length_insufficient": "Collection name should be at least 3 characters long",
"new": "Ny kolleksjon", "new": "Ny kolleksjon",
"order_changed": "Collection Order Updated", "order_changed": "Collection Order Updated",
"properties": "Collection Properties",
"properties_updated": "Collection Properties Updated",
"renamed": "Samlingen ble omdøpt", "renamed": "Samlingen ble omdøpt",
"request_in_use": "Request in use", "request_in_use": "Request in use",
"save_as": "Lagre som", "save_as": "Lagre som",
@@ -151,6 +178,7 @@
"remove_folder": "Er du sikker på at du vil slette denne mappen for godt?", "remove_folder": "Er du sikker på at du vil slette denne mappen for godt?",
"remove_history": "Er du sikker på at du vil slette all historikk permanent?", "remove_history": "Er du sikker på at du vil slette all historikk permanent?",
"remove_request": "Er du sikker på at du vil slette denne forespørselen for godt?", "remove_request": "Er du sikker på at du vil slette denne forespørselen for godt?",
"remove_shared_request": "Are you sure you want to permanently delete this shared request?",
"remove_team": "Er du sikker på at du vil slette dette laget?", "remove_team": "Er du sikker på at du vil slette dette laget?",
"remove_telemetry": "Er du sikker på at du vil velge bort telemetri?", "remove_telemetry": "Er du sikker på at du vil velge bort telemetri?",
"request_change": "Are you sure you want to discard current request, unsaved changes will be lost.", "request_change": "Are you sure you want to discard current request, unsaved changes will be lost.",
@@ -162,6 +190,24 @@
"open_request_in_new_tab": "Open request in new tab", "open_request_in_new_tab": "Open request in new tab",
"set_environment_variable": "Set as variable" "set_environment_variable": "Set as variable"
}, },
"cookies": {
"modal": {
"cookie_expires": "Expires",
"cookie_name": "Name",
"cookie_path": "Path",
"cookie_string": "Cookie string",
"cookie_value": "Value",
"empty_domain": "Domain is empty",
"empty_domains": "Domain list is empty",
"enter_cookie_string": "Enter cookie string",
"interceptor_no_support": "Your currently selected interceptor does not support cookies. Select a different Interceptor and try again.",
"managed_tab": "Managed",
"new_domain_name": "New domain name",
"no_cookies_in_domain": "No cookies set for this domain",
"raw_tab": "Raw",
"set": "Set a cookie"
}
},
"count": { "count": {
"header": "Overskrift {count}", "header": "Overskrift {count}",
"message": "Melding {count}", "message": "Melding {count}",
@@ -192,11 +238,13 @@
"profile": "Login to view your profile", "profile": "Login to view your profile",
"protocols": "Protokoller er tomme", "protocols": "Protokoller er tomme",
"schema": "Koble til et GraphQL-endepunkt", "schema": "Koble til et GraphQL-endepunkt",
"shortcodes": "Shortcodes are empty", "shared_requests": "Shared requests are empty",
"shared_requests_logout": "Login to view your shared requests or create a new one",
"subscription": "Subscriptions are empty", "subscription": "Subscriptions are empty",
"team_name": "Lagnavnet er tomt", "team_name": "Lagnavnet er tomt",
"teams": "Lagene er tomme", "teams": "Lagene er tomme",
"tests": "Det er ingen tester for denne forespørselen" "tests": "Det er ingen tester for denne forespørselen",
"shortcodes": "Shortcodes are empty"
}, },
"environment": { "environment": {
"add_to_global": "Add to Global", "add_to_global": "Add to Global",
@@ -209,6 +257,7 @@
"empty_variables": "No variables", "empty_variables": "No variables",
"global": "Global", "global": "Global",
"global_variables": "Global variables", "global_variables": "Global variables",
"import_or_create": "Import or create a environment",
"invalid_name": "Oppgi et gyldig navn på miljøet", "invalid_name": "Oppgi et gyldig navn på miljøet",
"list": "Environment variables", "list": "Environment variables",
"my_environments": "My Environments", "my_environments": "My Environments",
@@ -232,8 +281,10 @@
"variable_list": "Variabel liste" "variable_list": "Variabel liste"
}, },
"error": { "error": {
"authproviders_load_error": "Unable to load auth providers",
"browser_support_sse": "Denne nettleseren ser ikke ut til å ha Server Sent Events -støtte.", "browser_support_sse": "Denne nettleseren ser ikke ut til å ha Server Sent Events -støtte.",
"check_console_details": "Sjekk konsollloggen for detaljer.", "check_console_details": "Sjekk konsollloggen for detaljer.",
"check_how_to_add_origin": "Check how you can add an origin",
"curl_invalid_format": "cURL er ikke riktig formatert", "curl_invalid_format": "cURL er ikke riktig formatert",
"danger_zone": "Danger zone", "danger_zone": "Danger zone",
"delete_account": "Your account is currently an owner in these teams:", "delete_account": "Your account is currently an owner in these teams:",
@@ -249,9 +300,12 @@
"json_prettify_invalid_body": "Kunne ikke forskjønne et ugyldig brødtekst, løse json -syntaksfeil og prøve igjen", "json_prettify_invalid_body": "Kunne ikke forskjønne et ugyldig brødtekst, løse json -syntaksfeil og prøve igjen",
"network_error": "There seems to be a network error. Please try again.", "network_error": "There seems to be a network error. Please try again.",
"network_fail": "Kunne ikke sende forespørsel", "network_fail": "Kunne ikke sende forespørsel",
"no_collections_to_export": "No collections to export. Please create a collection to get started.",
"no_duration": "Ingen varighet", "no_duration": "Ingen varighet",
"no_environments_to_export": "No environments to export. Please create an environment to get started.",
"no_results_found": "No matches found", "no_results_found": "No matches found",
"page_not_found": "This page could not be found", "page_not_found": "This page could not be found",
"please_install_extension": "Please install the extension and add origin to the extension.",
"proxy_error": "Proxy error", "proxy_error": "Proxy error",
"script_fail": "Kunne ikke kjøre forhåndsforespørselsskript", "script_fail": "Kunne ikke kjøre forhåndsforespørselsskript",
"something_went_wrong": "Noe gikk galt", "something_went_wrong": "Noe gikk galt",
@@ -260,6 +314,7 @@
"export": { "export": {
"as_json": "Eksporter som JSON", "as_json": "Eksporter som JSON",
"create_secret_gist": "Lag hemmelig Gist", "create_secret_gist": "Lag hemmelig Gist",
"failed": "Something went wrong while exporting",
"gist_created": "Gist opprettet", "gist_created": "Gist opprettet",
"require_github": "Logg på med GitHub for å lage en hemmelig oppgave", "require_github": "Logg på med GitHub for å lage en hemmelig oppgave",
"title": "Export" "title": "Export"
@@ -286,6 +341,9 @@
"subscriptions": "Abonnementer", "subscriptions": "Abonnementer",
"switch_connection": "Switch connection" "switch_connection": "Switch connection"
}, },
"graphql_collections": {
"title": "GraphQL Collections"
},
"group": { "group": {
"time": "Time", "time": "Time",
"url": "URL" "url": "URL"
@@ -297,6 +355,8 @@
}, },
"helpers": { "helpers": {
"authorization": "Autorisasjonsoverskriften genereres automatisk når du sender forespørselen.", "authorization": "Autorisasjonsoverskriften genereres automatisk når du sender forespørselen.",
"collection_properties_authorization": " This authorization will be set for every request in this collection.",
"collection_properties_header": "This header will be set for every request in this collection.",
"generate_documentation_first": "Lag dokumentasjon først", "generate_documentation_first": "Lag dokumentasjon først",
"network_fail": "Kan ikke nå API-endepunktet. Kontroller nettverkstilkoblingen og prøv igjen.", "network_fail": "Kan ikke nå API-endepunktet. Kontroller nettverkstilkoblingen og prøv igjen.",
"offline": "Du ser ut til å være frakoblet. Data i dette arbeidsområdet er kanskje ikke oppdatert.", "offline": "Du ser ut til å være frakoblet. Data i dette arbeidsområdet er kanskje ikke oppdatert.",
@@ -316,7 +376,10 @@
"import": { "import": {
"collections": "Importer samlinger", "collections": "Importer samlinger",
"curl": "Importer cURL", "curl": "Importer cURL",
"environments_from_gist": "Import From Gist",
"environments_from_gist_description": "Import Hoppscotch Environments From Gist",
"failed": "Import mislyktes", "failed": "Import mislyktes",
"from_file": "Import from File",
"from_gist": "Import fra Gist", "from_gist": "Import fra Gist",
"from_gist_description": "Import from Gist URL", "from_gist_description": "Import from Gist URL",
"from_insomnia": "Import from Insomnia", "from_insomnia": "Import from Insomnia",
@@ -331,11 +394,17 @@
"from_postman_description": "Import from Postman collection", "from_postman_description": "Import from Postman collection",
"from_url": "Import from URL", "from_url": "Import from URL",
"gist_url": "Skriv inn Gist URL", "gist_url": "Skriv inn Gist URL",
"gql_collections_from_gist_description": "Import GraphQL Collections From Gist",
"hoppscotch_environment": "Hoppscotch Environment",
"hoppscotch_environment_description": "Import Hoppscotch Environment JSON file",
"import_from_url_invalid_fetch": "Couldn't get data from the url", "import_from_url_invalid_fetch": "Couldn't get data from the url",
"import_from_url_invalid_file_format": "Error while importing collections", "import_from_url_invalid_file_format": "Error while importing collections",
"import_from_url_invalid_type": "Unsupported type. accepted values are 'hoppscotch', 'openapi', 'postman', 'insomnia'", "import_from_url_invalid_type": "Unsupported type. accepted values are 'hoppscotch', 'openapi', 'postman', 'insomnia'",
"import_from_url_success": "Collections Imported", "import_from_url_success": "Collections Imported",
"insomnia_environment_description": "Import Insomnia Environment from a JSON/YAML file",
"json_description": "Import collections from a Hoppscotch Collections JSON file", "json_description": "Import collections from a Hoppscotch Collections JSON file",
"postman_environment": "Postman Environment",
"postman_environment_description": "Import Postman Environment from a JSON file",
"title": "Import" "title": "Import"
}, },
"inspections": { "inspections": {
@@ -373,8 +442,10 @@
"close_unsaved_tab": "You have unsaved changes", "close_unsaved_tab": "You have unsaved changes",
"collections": "Samlinger", "collections": "Samlinger",
"confirm": "Bekrefte", "confirm": "Bekrefte",
"customize_request": "Customize Request",
"edit_request": "Rediger forespørsel", "edit_request": "Rediger forespørsel",
"import_export": "Import / Eksport" "import_export": "Import / Eksport",
"share_request": "Share Request"
}, },
"mqtt": { "mqtt": {
"already_subscribed": "You are already subscribed to this topic.", "already_subscribed": "You are already subscribed to this topic.",
@@ -449,13 +520,14 @@
"structured": "Structured", "structured": "Structured",
"text": "Text" "text": "Text"
}, },
"copy_link": "Kopier link",
"different_collection": "Cannot reorder requests from different collections", "different_collection": "Cannot reorder requests from different collections",
"duplicated": "Request duplicated", "duplicated": "Request duplicated",
"duration": "Varighet", "duration": "Varighet",
"enter_curl": "Skriv inn cURL", "enter_curl": "Skriv inn cURL",
"generate_code": "Generer kode", "generate_code": "Generer kode",
"generated_code": "Generert kode", "generated_code": "Generert kode",
"go_to_authorization_tab": "Go to Authorization tab",
"go_to_body_tab": "Go to Body tab",
"header_list": "Toppliste", "header_list": "Toppliste",
"invalid_name": "Oppgi et navn på forespørselen", "invalid_name": "Oppgi et navn på forespørselen",
"method": "Metode", "method": "Metode",
@@ -480,12 +552,14 @@
"saved": "Forespørselen er lagret", "saved": "Forespørselen er lagret",
"share": "Dele", "share": "Dele",
"share_description": "Share Hoppscotch with your friends", "share_description": "Share Hoppscotch with your friends",
"share_request": "Share Request",
"stop": "Stop", "stop": "Stop",
"title": "Be om", "title": "Be om",
"type": "Type forespørsel", "type": "Type forespørsel",
"url": "URL", "url": "URL",
"variables": "Variabler", "variables": "Variabler",
"view_my_links": "View my links" "view_my_links": "View my links",
"copy_link": "Kopier link"
}, },
"response": { "response": {
"audio": "Audio", "audio": "Audio",
@@ -513,6 +587,7 @@
"account_description": "Tilpass kontoinnstillingene dine.", "account_description": "Tilpass kontoinnstillingene dine.",
"account_email_description": "Din primære e-postadresse.", "account_email_description": "Din primære e-postadresse.",
"account_name_description": "Dette er visningsnavnet ditt.", "account_name_description": "Dette er visningsnavnet ditt.",
"additional": "Additional Settings",
"background": "Bakgrunn", "background": "Bakgrunn",
"black_mode": "Svart", "black_mode": "Svart",
"choose_language": "Velg språk", "choose_language": "Velg språk",
@@ -559,14 +634,31 @@
"verified_email": "Verified email", "verified_email": "Verified email",
"verify_email": "Verify email" "verify_email": "Verify email"
}, },
"shortcodes": { "shared_requests": {
"actions": "Actions", "button": "Button",
"created_on": "Created on", "button_info": "Create a 'Run in Hoppscotch' button for your website, blog or a README.",
"deleted": "Shortcode deleted", "copy_html": "Copy HTML",
"method": "Method", "copy_link": "Copy Link",
"not_found": "Shortcode not found", "copy_markdown": "Copy Markdown",
"short_code": "Short code", "creating_widget": "Creating widget",
"url": "URL" "customize": "Customize",
"deleted": "Shared request deleted",
"description": "Select a widget, you can change and customize this later",
"embed": "Embed",
"embed_info": "Add a mini 'Hoppscotch API Playground' to your website, blog or documentation.",
"link": "Link",
"link_info": "Create a shareable link to share with anyone on the internet with view access.",
"modified": "Shared request modified",
"not_found": "Shared request not found",
"open_new_tab": "Open in new tab",
"preview": "Preview",
"run_in_hoppscotch": "Run in Hoppscotch",
"theme": {
"dark": "Dark",
"light": "Light",
"system": "System",
"title": "Theme"
}
}, },
"shortcut": { "shortcut": {
"general": { "general": {
@@ -596,7 +688,6 @@
"title": "Others" "title": "Others"
}, },
"request": { "request": {
"copy_request_link": "Kopier forespørselskobling",
"delete_method": "Velg SLETT metoden", "delete_method": "Velg SLETT metoden",
"get_method": "Velg GET-metode", "get_method": "Velg GET-metode",
"head_method": "Velg HEAD-metode", "head_method": "Velg HEAD-metode",
@@ -611,8 +702,10 @@
"save_request": "Save Request", "save_request": "Save Request",
"save_to_collections": "Lagre i samlinger", "save_to_collections": "Lagre i samlinger",
"send_request": "Send forespørsel", "send_request": "Send forespørsel",
"share_request": "Share Request",
"show_code": "Generate code snippet", "show_code": "Generate code snippet",
"title": "Be om" "title": "Be om",
"copy_request_link": "Kopier forespørselskobling"
}, },
"response": { "response": {
"copy": "Copy response to clipboard", "copy": "Copy response to clipboard",
@@ -735,6 +828,7 @@
"connection_error": "Failed to connect", "connection_error": "Failed to connect",
"connection_failed": "Connection failed", "connection_failed": "Connection failed",
"connection_lost": "Connection lost", "connection_lost": "Connection lost",
"copied_interface_to_clipboard": "Copied {language} interface type to clipboard",
"copied_to_clipboard": "Kopiert til utklippstavlen", "copied_to_clipboard": "Kopiert til utklippstavlen",
"deleted": "Slettet", "deleted": "Slettet",
"deprecated": "FORELDET", "deprecated": "FORELDET",
@@ -742,10 +836,12 @@
"disconnected": "Frakoblet", "disconnected": "Frakoblet",
"disconnected_from": "Koblet fra {name}", "disconnected_from": "Koblet fra {name}",
"docs_generated": "Dokumentasjon generert", "docs_generated": "Dokumentasjon generert",
"download_failed": "Download failed",
"download_started": "Nedlastingen startet", "download_started": "Nedlastingen startet",
"enabled": "Aktivert", "enabled": "Aktivert",
"file_imported": "Fil importert", "file_imported": "Fil importert",
"finished_in": "Ferdig om {duration} ms", "finished_in": "Ferdig om {duration} ms",
"hide": "Hide",
"history_deleted": "Historikk slettet", "history_deleted": "Historikk slettet",
"linewrap": "Brekk linjer", "linewrap": "Brekk linjer",
"loading": "Laster inn ...", "loading": "Laster inn ...",
@@ -756,6 +852,7 @@
"published_error": "Something went wrong while publishing msg: {topic} to topic: {message}", "published_error": "Something went wrong while publishing msg: {topic} to topic: {message}",
"published_message": "Published message: {message} to topic: {topic}", "published_message": "Published message: {message} to topic: {topic}",
"reconnection_error": "Failed to reconnect", "reconnection_error": "Failed to reconnect",
"show": "Show",
"subscribed_failed": "Failed to subscribe to topic: {topic}", "subscribed_failed": "Failed to subscribe to topic: {topic}",
"subscribed_success": "Successfully subscribed to topic: {topic}", "subscribed_success": "Successfully subscribed to topic: {topic}",
"unsubscribed_failed": "Failed to unsubscribe from topic: {topic}", "unsubscribed_failed": "Failed to unsubscribe from topic: {topic}",
@@ -791,6 +888,7 @@
"queries": "Forespørsler", "queries": "Forespørsler",
"query": "Spørsmål", "query": "Spørsmål",
"schema": "Schema", "schema": "Schema",
"shared_requests": "Shared Requests",
"socketio": "Socket.IO", "socketio": "Socket.IO",
"sse": "SSE", "sse": "SSE",
"tests": "Tester", "tests": "Tester",
@@ -807,6 +905,7 @@
"email_do_not_match": "Email doesn't match with your account details. Contact your team owner.", "email_do_not_match": "Email doesn't match with your account details. Contact your team owner.",
"exit": "Avslutt Team", "exit": "Avslutt Team",
"exit_disabled": "Bare eieren kan ikke gå ut av teamet", "exit_disabled": "Bare eieren kan ikke gå ut av teamet",
"failed_invites": "Failed invites",
"invalid_coll_id": "Invalid collection ID", "invalid_coll_id": "Invalid collection ID",
"invalid_email_format": "E -postformatet er ugyldig", "invalid_email_format": "E -postformatet er ugyldig",
"invalid_id": "Invalid team ID. Contact your team owner.", "invalid_id": "Invalid team ID. Contact your team owner.",
@@ -848,6 +947,7 @@
"same_target_destination": "Same target and destination", "same_target_destination": "Same target and destination",
"saved": "Lag reddet", "saved": "Lag reddet",
"select_a_team": "Select a team", "select_a_team": "Select a team",
"success_invites": "Success invites",
"title": "Lag", "title": "Lag",
"we_sent_invite_link": "We sent an invite link to all invitees!", "we_sent_invite_link": "We sent an invite link to all invitees!",
"we_sent_invite_link_description": "Ask all invitees to check their inbox. Click on the link to join the team." "we_sent_invite_link_description": "Ask all invitees to check their inbox. Click on the link to join the team."
@@ -879,5 +979,14 @@
"personal": "My Workspace", "personal": "My Workspace",
"team": "Team Workspace", "team": "Team Workspace",
"title": "Workspaces" "title": "Workspaces"
},
"shortcodes": {
"actions": "Actions",
"created_on": "Created on",
"deleted": "Shortcode deleted",
"method": "Method",
"not_found": "Shortcode not found",
"short_code": "Short code",
"url": "URL"
} }
} }

View File

@@ -1,5 +1,6 @@
{ {
"action": { "action": {
"add": "Add",
"autoscroll": "Autoscroll", "autoscroll": "Autoscroll",
"cancel": "anuluj", "cancel": "anuluj",
"choose_file": "Wybierz plik", "choose_file": "Wybierz plik",
@@ -10,6 +11,7 @@
"connect": "Połącz", "connect": "Połącz",
"connecting": "Connecting", "connecting": "Connecting",
"copy": "Kopiuj", "copy": "Kopiuj",
"create": "Create",
"delete": "Usuń", "delete": "Usuń",
"disconnect": "Rozłącz", "disconnect": "Rozłącz",
"dismiss": "Odrzuć", "dismiss": "Odrzuć",
@@ -31,6 +33,7 @@
"open_workspace": "Open workspace", "open_workspace": "Open workspace",
"paste": "Paste", "paste": "Paste",
"prettify": "Popraw czytelność", "prettify": "Popraw czytelność",
"properties": "Properties",
"remove": "Usuń", "remove": "Usuń",
"rename": "Rename", "rename": "Rename",
"restore": "Przywróć", "restore": "Przywróć",
@@ -39,6 +42,7 @@
"scroll_to_top": "Scroll to top", "scroll_to_top": "Scroll to top",
"search": "Szukaj", "search": "Szukaj",
"send": "Wyślij", "send": "Wyślij",
"share": "Share",
"start": "Rozpocznij", "start": "Rozpocznij",
"starting": "Starting", "starting": "Starting",
"stop": "Zatrzymaj", "stop": "Zatrzymaj",
@@ -57,7 +61,9 @@
"app": { "app": {
"chat_with_us": "Porozmawiaj z nami", "chat_with_us": "Porozmawiaj z nami",
"contact_us": "Skontaktuj się z nami", "contact_us": "Skontaktuj się z nami",
"cookies": "Cookies",
"copy": "Kopiuj", "copy": "Kopiuj",
"copy_interface_type": "Copy interface type",
"copy_user_id": "Copy User Auth Token", "copy_user_id": "Copy User Auth Token",
"developer_option": "Developer options", "developer_option": "Developer options",
"developer_option_description": "Developer tools which helps in development and maintenance of Hoppscotch.", "developer_option_description": "Developer tools which helps in development and maintenance of Hoppscotch.",
@@ -73,6 +79,7 @@
"keyboard_shortcuts": "Skróty klawiszowe", "keyboard_shortcuts": "Skróty klawiszowe",
"name": "Hoppscotch", "name": "Hoppscotch",
"new_version_found": "Znaleziono nową wersję. Odśwież, aby zaktualizować.", "new_version_found": "Znaleziono nową wersję. Odśwież, aby zaktualizować.",
"open_in_hoppscotch": "Open in Hoppscotch",
"options": "Options", "options": "Options",
"proxy_privacy_policy": "Polityka prywatności proxy", "proxy_privacy_policy": "Polityka prywatności proxy",
"reload": "Przeładuj", "reload": "Przeładuj",
@@ -112,10 +119,27 @@
}, },
"authorization": { "authorization": {
"generate_token": "Wygeneruj token", "generate_token": "Wygeneruj token",
"graphql_headers": "Authorization Headers are sent as part of the payload to connection_init",
"include_in_url": "Uwzględnij w adresie URL", "include_in_url": "Uwzględnij w adresie URL",
"inherited_from": "Inherited from {auth} from Parent Collection {collection} ",
"learn": "Naucz się jak", "learn": "Naucz się jak",
"oauth": {
"redirect_auth_server_returned_error": "Auth Server returned an error state",
"redirect_auth_token_request_failed": "Request to get the auth token failed",
"redirect_auth_token_request_invalid_response": "Invalid Response from the Token Endpoint when requesting for an auth token",
"redirect_invalid_state": "Invalid State value present in the redirect",
"redirect_no_auth_code": "No Authorization Code present in the redirect",
"redirect_no_client_id": "No Client ID defined",
"redirect_no_client_secret": "No Client Secret Defined",
"redirect_no_code_verifier": "No Code Verifier Defined",
"redirect_no_token_endpoint": "No Token Endpoint Defined",
"something_went_wrong_on_oauth_redirect": "Something went wrong during OAuth Redirect",
"something_went_wrong_on_token_generation": "Something went wrong on token generation",
"token_generation_oidc_discovery_failed": "Failure on token generation: OpenID Connect Discovery Failed"
},
"pass_key_by": "Pass by", "pass_key_by": "Pass by",
"password": "Hasło", "password": "Hasło",
"save_to_inherit": "Please save this request in any collection to inherit the authorization",
"token": "Token", "token": "Token",
"type": "Typ autoryzacji", "type": "Typ autoryzacji",
"username": "Nazwa użytkownika" "username": "Nazwa użytkownika"
@@ -124,6 +148,7 @@
"created": "Utworzono kolekcję", "created": "Utworzono kolekcję",
"different_parent": "Cannot reorder collection with different parent", "different_parent": "Cannot reorder collection with different parent",
"edit": "Edytuj kolekcję", "edit": "Edytuj kolekcję",
"import_or_create": "Import or create a collection",
"invalid_name": "Podaj prawidłową nazwę kolekcji", "invalid_name": "Podaj prawidłową nazwę kolekcji",
"invalid_root_move": "Collection already in the root", "invalid_root_move": "Collection already in the root",
"moved": "Moved Successfully", "moved": "Moved Successfully",
@@ -132,6 +157,8 @@
"name_length_insufficient": "Collection name should be at least 3 characters long", "name_length_insufficient": "Collection name should be at least 3 characters long",
"new": "Nowa kolekcja", "new": "Nowa kolekcja",
"order_changed": "Collection Order Updated", "order_changed": "Collection Order Updated",
"properties": "Collection Properties",
"properties_updated": "Collection Properties Updated",
"renamed": "Zmieniono nazwę kolekcji", "renamed": "Zmieniono nazwę kolekcji",
"request_in_use": "Request in use", "request_in_use": "Request in use",
"save_as": "Zapisz jako", "save_as": "Zapisz jako",
@@ -151,6 +178,7 @@
"remove_folder": "Czy na pewno chcesz trwale usunąć ten folder?", "remove_folder": "Czy na pewno chcesz trwale usunąć ten folder?",
"remove_history": "Czy na pewno chcesz trwale usunąć całą historię?", "remove_history": "Czy na pewno chcesz trwale usunąć całą historię?",
"remove_request": "Czy na pewno chcesz trwale usunąć te żądanie?", "remove_request": "Czy na pewno chcesz trwale usunąć te żądanie?",
"remove_shared_request": "Are you sure you want to permanently delete this shared request?",
"remove_team": "Czy na pewno chcesz usunąć ten zespół?", "remove_team": "Czy na pewno chcesz usunąć ten zespół?",
"remove_telemetry": "Czy na pewno chcesz zrezygnować z telemetrii?", "remove_telemetry": "Czy na pewno chcesz zrezygnować z telemetrii?",
"request_change": "Are you sure you want to discard current request, unsaved changes will be lost.", "request_change": "Are you sure you want to discard current request, unsaved changes will be lost.",
@@ -162,6 +190,24 @@
"open_request_in_new_tab": "Open request in new tab", "open_request_in_new_tab": "Open request in new tab",
"set_environment_variable": "Set as variable" "set_environment_variable": "Set as variable"
}, },
"cookies": {
"modal": {
"cookie_expires": "Expires",
"cookie_name": "Name",
"cookie_path": "Path",
"cookie_string": "Cookie string",
"cookie_value": "Value",
"empty_domain": "Domain is empty",
"empty_domains": "Domain list is empty",
"enter_cookie_string": "Enter cookie string",
"interceptor_no_support": "Your currently selected interceptor does not support cookies. Select a different Interceptor and try again.",
"managed_tab": "Managed",
"new_domain_name": "New domain name",
"no_cookies_in_domain": "No cookies set for this domain",
"raw_tab": "Raw",
"set": "Set a cookie"
}
},
"count": { "count": {
"header": "Nagłówek {count}", "header": "Nagłówek {count}",
"message": "Wiadomość {count}", "message": "Wiadomość {count}",
@@ -192,11 +238,13 @@
"profile": "Login to view your profile", "profile": "Login to view your profile",
"protocols": "Protokoły są puste", "protocols": "Protokoły są puste",
"schema": "Połącz się z punktem końcowym GraphQL", "schema": "Połącz się z punktem końcowym GraphQL",
"shortcodes": "Shortcodes are empty", "shared_requests": "Shared requests are empty",
"shared_requests_logout": "Login to view your shared requests or create a new one",
"subscription": "Subscriptions are empty", "subscription": "Subscriptions are empty",
"team_name": "Nazwa zespołu jest pusta", "team_name": "Nazwa zespołu jest pusta",
"teams": "Zespoły są puste", "teams": "Zespoły są puste",
"tests": "Nie ma testów dla tego żądania" "tests": "Nie ma testów dla tego żądania",
"shortcodes": "Shortcodes are empty"
}, },
"environment": { "environment": {
"add_to_global": "Add to Global", "add_to_global": "Add to Global",
@@ -209,6 +257,7 @@
"empty_variables": "No variables", "empty_variables": "No variables",
"global": "Global", "global": "Global",
"global_variables": "Global variables", "global_variables": "Global variables",
"import_or_create": "Import or create a environment",
"invalid_name": "Podaj prawidłową nazwę środowiska", "invalid_name": "Podaj prawidłową nazwę środowiska",
"list": "Environment variables", "list": "Environment variables",
"my_environments": "My Environments", "my_environments": "My Environments",
@@ -232,8 +281,10 @@
"variable_list": "Lista zmiennych" "variable_list": "Lista zmiennych"
}, },
"error": { "error": {
"authproviders_load_error": "Unable to load auth providers",
"browser_support_sse": "Wygląda na to, że ta przeglądarka nie obsługuje zdarzeń wysłanych przez serwer.", "browser_support_sse": "Wygląda na to, że ta przeglądarka nie obsługuje zdarzeń wysłanych przez serwer.",
"check_console_details": "Sprawdź dziennik konsoli, aby uzyskać szczegółowe informacje.", "check_console_details": "Sprawdź dziennik konsoli, aby uzyskać szczegółowe informacje.",
"check_how_to_add_origin": "Check how you can add an origin",
"curl_invalid_format": "cURL nie jest poprawnie sformatowany", "curl_invalid_format": "cURL nie jest poprawnie sformatowany",
"danger_zone": "Danger zone", "danger_zone": "Danger zone",
"delete_account": "Your account is currently an owner in these teams:", "delete_account": "Your account is currently an owner in these teams:",
@@ -249,9 +300,12 @@
"json_prettify_invalid_body": "Nie można poprawić czytelności nieprawidłowej treści, napraw błędy składni json i spróbuj ponownie", "json_prettify_invalid_body": "Nie można poprawić czytelności nieprawidłowej treści, napraw błędy składni json i spróbuj ponownie",
"network_error": "There seems to be a network error. Please try again.", "network_error": "There seems to be a network error. Please try again.",
"network_fail": "Nie udało się wysłać zapytania", "network_fail": "Nie udało się wysłać zapytania",
"no_collections_to_export": "No collections to export. Please create a collection to get started.",
"no_duration": "Brak czasu trwania", "no_duration": "Brak czasu trwania",
"no_environments_to_export": "No environments to export. Please create an environment to get started.",
"no_results_found": "No matches found", "no_results_found": "No matches found",
"page_not_found": "This page could not be found", "page_not_found": "This page could not be found",
"please_install_extension": "Please install the extension and add origin to the extension.",
"proxy_error": "Proxy error", "proxy_error": "Proxy error",
"script_fail": "Nie można wykonać skryptu żądania wstępnego", "script_fail": "Nie można wykonać skryptu żądania wstępnego",
"something_went_wrong": "Coś poszło nie tak", "something_went_wrong": "Coś poszło nie tak",
@@ -260,6 +314,7 @@
"export": { "export": {
"as_json": "Eksportuj jako JSON", "as_json": "Eksportuj jako JSON",
"create_secret_gist": "Utwórz tajny Gist", "create_secret_gist": "Utwórz tajny Gist",
"failed": "Something went wrong while exporting",
"gist_created": "Utworzono Gist", "gist_created": "Utworzono Gist",
"require_github": "Zaloguj się za pomocą GitHub, aby utworzyć tajny Gist", "require_github": "Zaloguj się za pomocą GitHub, aby utworzyć tajny Gist",
"title": "Export" "title": "Export"
@@ -286,6 +341,9 @@
"subscriptions": "Subskrypcje", "subscriptions": "Subskrypcje",
"switch_connection": "Switch connection" "switch_connection": "Switch connection"
}, },
"graphql_collections": {
"title": "GraphQL Collections"
},
"group": { "group": {
"time": "Time", "time": "Time",
"url": "URL" "url": "URL"
@@ -297,6 +355,8 @@
}, },
"helpers": { "helpers": {
"authorization": "Nagłówek autoryzacji zostanie wygenerowany automatycznie po wysłaniu żądania.", "authorization": "Nagłówek autoryzacji zostanie wygenerowany automatycznie po wysłaniu żądania.",
"collection_properties_authorization": " This authorization will be set for every request in this collection.",
"collection_properties_header": "This header will be set for every request in this collection.",
"generate_documentation_first": "Najpierw wygeneruj dokumentację", "generate_documentation_first": "Najpierw wygeneruj dokumentację",
"network_fail": "Nie można połączyć się z punktem końcowym interfejsu API. Sprawdź połączenie sieciowe i spróbuj ponownie.", "network_fail": "Nie można połączyć się z punktem końcowym interfejsu API. Sprawdź połączenie sieciowe i spróbuj ponownie.",
"offline": "Wygląda na to, że jesteś offline. Dane w tym obszarze roboczym mogą być nieaktualne.", "offline": "Wygląda na to, że jesteś offline. Dane w tym obszarze roboczym mogą być nieaktualne.",
@@ -316,7 +376,10 @@
"import": { "import": {
"collections": "Importuj kolekcje", "collections": "Importuj kolekcje",
"curl": "Importuj CURL", "curl": "Importuj CURL",
"environments_from_gist": "Import From Gist",
"environments_from_gist_description": "Import Hoppscotch Environments From Gist",
"failed": "Import nie powiódł się", "failed": "Import nie powiódł się",
"from_file": "Import from File",
"from_gist": "Importuj z Gist", "from_gist": "Importuj z Gist",
"from_gist_description": "Import from Gist URL", "from_gist_description": "Import from Gist URL",
"from_insomnia": "Import from Insomnia", "from_insomnia": "Import from Insomnia",
@@ -331,11 +394,17 @@
"from_postman_description": "Import from Postman collection", "from_postman_description": "Import from Postman collection",
"from_url": "Import from URL", "from_url": "Import from URL",
"gist_url": "Wpisz adres URL Gist", "gist_url": "Wpisz adres URL Gist",
"gql_collections_from_gist_description": "Import GraphQL Collections From Gist",
"hoppscotch_environment": "Hoppscotch Environment",
"hoppscotch_environment_description": "Import Hoppscotch Environment JSON file",
"import_from_url_invalid_fetch": "Couldn't get data from the url", "import_from_url_invalid_fetch": "Couldn't get data from the url",
"import_from_url_invalid_file_format": "Error while importing collections", "import_from_url_invalid_file_format": "Error while importing collections",
"import_from_url_invalid_type": "Unsupported type. accepted values are 'hoppscotch', 'openapi', 'postman', 'insomnia'", "import_from_url_invalid_type": "Unsupported type. accepted values are 'hoppscotch', 'openapi', 'postman', 'insomnia'",
"import_from_url_success": "Collections Imported", "import_from_url_success": "Collections Imported",
"insomnia_environment_description": "Import Insomnia Environment from a JSON/YAML file",
"json_description": "Import collections from a Hoppscotch Collections JSON file", "json_description": "Import collections from a Hoppscotch Collections JSON file",
"postman_environment": "Postman Environment",
"postman_environment_description": "Import Postman Environment from a JSON file",
"title": "Import" "title": "Import"
}, },
"inspections": { "inspections": {
@@ -373,8 +442,10 @@
"close_unsaved_tab": "You have unsaved changes", "close_unsaved_tab": "You have unsaved changes",
"collections": "Kolekcje", "collections": "Kolekcje",
"confirm": "Potwierdź", "confirm": "Potwierdź",
"customize_request": "Customize Request",
"edit_request": "Edytuj żądanie", "edit_request": "Edytuj żądanie",
"import_export": "Import Eksport" "import_export": "Import Eksport",
"share_request": "Share Request"
}, },
"mqtt": { "mqtt": {
"already_subscribed": "You are already subscribed to this topic.", "already_subscribed": "You are already subscribed to this topic.",
@@ -449,13 +520,14 @@
"structured": "Structured", "structured": "Structured",
"text": "Text" "text": "Text"
}, },
"copy_link": "Skopiuj link",
"different_collection": "Cannot reorder requests from different collections", "different_collection": "Cannot reorder requests from different collections",
"duplicated": "Request duplicated", "duplicated": "Request duplicated",
"duration": "Czas trwania", "duration": "Czas trwania",
"enter_curl": "Wpisz cURL", "enter_curl": "Wpisz cURL",
"generate_code": "Wygeneruj kod", "generate_code": "Wygeneruj kod",
"generated_code": "Wygenerowany kod", "generated_code": "Wygenerowany kod",
"go_to_authorization_tab": "Go to Authorization tab",
"go_to_body_tab": "Go to Body tab",
"header_list": "Lista nagłówków", "header_list": "Lista nagłówków",
"invalid_name": "Podaj nazwę żądania", "invalid_name": "Podaj nazwę żądania",
"method": "metoda", "method": "metoda",
@@ -480,12 +552,14 @@
"saved": "Żądanie zostało zapisane", "saved": "Żądanie zostało zapisane",
"share": "Udostępnij", "share": "Udostępnij",
"share_description": "Share Hoppscotch with your friends", "share_description": "Share Hoppscotch with your friends",
"share_request": "Share Request",
"stop": "Stop", "stop": "Stop",
"title": "Żądanie", "title": "Żądanie",
"type": "Typ żądania", "type": "Typ żądania",
"url": "URL", "url": "URL",
"variables": "Zmienne", "variables": "Zmienne",
"view_my_links": "View my links" "view_my_links": "View my links",
"copy_link": "Skopiuj link"
}, },
"response": { "response": {
"audio": "Audio", "audio": "Audio",
@@ -513,6 +587,7 @@
"account_description": "Dostosuj ustawienia swojego konta.", "account_description": "Dostosuj ustawienia swojego konta.",
"account_email_description": "Twój podstawowy adres e-mail.", "account_email_description": "Twój podstawowy adres e-mail.",
"account_name_description": "To jest Twoja nazwa wyświetlana.", "account_name_description": "To jest Twoja nazwa wyświetlana.",
"additional": "Additional Settings",
"background": "Tło", "background": "Tło",
"black_mode": "Czarny", "black_mode": "Czarny",
"choose_language": "Wybierz język", "choose_language": "Wybierz język",
@@ -559,14 +634,31 @@
"verified_email": "Verified email", "verified_email": "Verified email",
"verify_email": "Verify email" "verify_email": "Verify email"
}, },
"shortcodes": { "shared_requests": {
"actions": "Actions", "button": "Button",
"created_on": "Created on", "button_info": "Create a 'Run in Hoppscotch' button for your website, blog or a README.",
"deleted": "Shortcode deleted", "copy_html": "Copy HTML",
"method": "Method", "copy_link": "Copy Link",
"not_found": "Shortcode not found", "copy_markdown": "Copy Markdown",
"short_code": "Short code", "creating_widget": "Creating widget",
"url": "URL" "customize": "Customize",
"deleted": "Shared request deleted",
"description": "Select a widget, you can change and customize this later",
"embed": "Embed",
"embed_info": "Add a mini 'Hoppscotch API Playground' to your website, blog or documentation.",
"link": "Link",
"link_info": "Create a shareable link to share with anyone on the internet with view access.",
"modified": "Shared request modified",
"not_found": "Shared request not found",
"open_new_tab": "Open in new tab",
"preview": "Preview",
"run_in_hoppscotch": "Run in Hoppscotch",
"theme": {
"dark": "Dark",
"light": "Light",
"system": "System",
"title": "Theme"
}
}, },
"shortcut": { "shortcut": {
"general": { "general": {
@@ -596,7 +688,6 @@
"title": "Others" "title": "Others"
}, },
"request": { "request": {
"copy_request_link": "Kopiuj łącze żądania",
"delete_method": "Wybierz metodę DELETE", "delete_method": "Wybierz metodę DELETE",
"get_method": "Wybierz metodę GET", "get_method": "Wybierz metodę GET",
"head_method": "Wybierz metodę HEAD", "head_method": "Wybierz metodę HEAD",
@@ -611,8 +702,10 @@
"save_request": "Save Request", "save_request": "Save Request",
"save_to_collections": "Zapisz w kolekcjach", "save_to_collections": "Zapisz w kolekcjach",
"send_request": "Wyślij żądanie", "send_request": "Wyślij żądanie",
"share_request": "Share Request",
"show_code": "Generate code snippet", "show_code": "Generate code snippet",
"title": "Żądania" "title": "Żądania",
"copy_request_link": "Kopiuj łącze żądania"
}, },
"response": { "response": {
"copy": "Copy response to clipboard", "copy": "Copy response to clipboard",
@@ -735,6 +828,7 @@
"connection_error": "Failed to connect", "connection_error": "Failed to connect",
"connection_failed": "Connection failed", "connection_failed": "Connection failed",
"connection_lost": "Connection lost", "connection_lost": "Connection lost",
"copied_interface_to_clipboard": "Copied {language} interface type to clipboard",
"copied_to_clipboard": "Skopiowane do schowka", "copied_to_clipboard": "Skopiowane do schowka",
"deleted": "Usunięto", "deleted": "Usunięto",
"deprecated": "PRZESTARZAŁE", "deprecated": "PRZESTARZAŁE",
@@ -742,10 +836,12 @@
"disconnected": "Rozłączono", "disconnected": "Rozłączono",
"disconnected_from": "Rozłączono z {name}", "disconnected_from": "Rozłączono z {name}",
"docs_generated": "Wygenerowana dokumentacja", "docs_generated": "Wygenerowana dokumentacja",
"download_failed": "Download failed",
"download_started": "Pobieranie rozpoczęte", "download_started": "Pobieranie rozpoczęte",
"enabled": "Włączony", "enabled": "Włączony",
"file_imported": "Zaimportowany plik", "file_imported": "Zaimportowany plik",
"finished_in": "Zakończono za {duration} ms", "finished_in": "Zakończono za {duration} ms",
"hide": "Hide",
"history_deleted": "Historia została usunięta", "history_deleted": "Historia została usunięta",
"linewrap": "Zawijaj linie", "linewrap": "Zawijaj linie",
"loading": "Ładowanie...", "loading": "Ładowanie...",
@@ -756,6 +852,7 @@
"published_error": "Something went wrong while publishing msg: {topic} to topic: {message}", "published_error": "Something went wrong while publishing msg: {topic} to topic: {message}",
"published_message": "Published message: {message} to topic: {topic}", "published_message": "Published message: {message} to topic: {topic}",
"reconnection_error": "Failed to reconnect", "reconnection_error": "Failed to reconnect",
"show": "Show",
"subscribed_failed": "Failed to subscribe to topic: {topic}", "subscribed_failed": "Failed to subscribe to topic: {topic}",
"subscribed_success": "Successfully subscribed to topic: {topic}", "subscribed_success": "Successfully subscribed to topic: {topic}",
"unsubscribed_failed": "Failed to unsubscribe from topic: {topic}", "unsubscribed_failed": "Failed to unsubscribe from topic: {topic}",
@@ -791,6 +888,7 @@
"queries": "Zapytania", "queries": "Zapytania",
"query": "Zapytanie", "query": "Zapytanie",
"schema": "Schema", "schema": "Schema",
"shared_requests": "Shared Requests",
"socketio": "Socket.IO", "socketio": "Socket.IO",
"sse": "SSE", "sse": "SSE",
"tests": "Testy", "tests": "Testy",
@@ -807,6 +905,7 @@
"email_do_not_match": "Email doesn't match with your account details. Contact your team owner.", "email_do_not_match": "Email doesn't match with your account details. Contact your team owner.",
"exit": "Opóść zespół", "exit": "Opóść zespół",
"exit_disabled": "Tylko właściciel nie może opuścić zespołu", "exit_disabled": "Tylko właściciel nie może opuścić zespołu",
"failed_invites": "Failed invites",
"invalid_coll_id": "Invalid collection ID", "invalid_coll_id": "Invalid collection ID",
"invalid_email_format": "Format e-maila jest nieprawidłowy", "invalid_email_format": "Format e-maila jest nieprawidłowy",
"invalid_id": "Invalid team ID. Contact your team owner.", "invalid_id": "Invalid team ID. Contact your team owner.",
@@ -848,6 +947,7 @@
"same_target_destination": "Same target and destination", "same_target_destination": "Same target and destination",
"saved": "Zespół zapisany", "saved": "Zespół zapisany",
"select_a_team": "Select a team", "select_a_team": "Select a team",
"success_invites": "Success invites",
"title": "Zespoły", "title": "Zespoły",
"we_sent_invite_link": "We sent an invite link to all invitees!", "we_sent_invite_link": "We sent an invite link to all invitees!",
"we_sent_invite_link_description": "Ask all invitees to check their inbox. Click on the link to join the team." "we_sent_invite_link_description": "Ask all invitees to check their inbox. Click on the link to join the team."
@@ -879,5 +979,14 @@
"personal": "My Workspace", "personal": "My Workspace",
"team": "Team Workspace", "team": "Team Workspace",
"title": "Workspaces" "title": "Workspaces"
},
"shortcodes": {
"actions": "Actions",
"created_on": "Created on",
"deleted": "Shortcode deleted",
"method": "Method",
"not_found": "Shortcode not found",
"short_code": "Short code",
"url": "URL"
} }
} }

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