diff --git a/.github/workflows/baseimage.yaml b/.github/workflows/baseimage.yaml index 4e4e35de0e..d4c28a7968 100644 --- a/.github/workflows/baseimage.yaml +++ b/.github/workflows/baseimage.yaml @@ -41,7 +41,7 @@ jobs: node-version-file: '.nvmrc' - uses: pnpm/action-setup@v5 with: - version: latest + version: 10 - name: Docker build run: | cd ./dev/base-image diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 8aa098d587..2e4df4f069 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -672,7 +672,7 @@ jobs: node-version-file: '.nvmrc' - uses: pnpm/action-setup@v5 with: - version: latest + version: 10 - name: Cache node modules uses: actions/cache@v5 env: diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 635f501996..3c79a52392 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -19096,6 +19096,12 @@ importers: '@hcengineering/presentation': specifier: workspace:^0.7.423 version: link:../../packages/presentation + '@hcengineering/text': + specifier: workspace:^0.7.19 + version: link:../../foundations/core/packages/text + '@hcengineering/text-markdown': + specifier: workspace:^0.7.21 + version: link:../../foundations/core/packages/text-markdown '@hcengineering/theme': specifier: workspace:^0.7.423 version: link:../../packages/theme @@ -24756,6 +24762,9 @@ importers: '@hcengineering/setting-resources': specifier: workspace:^0.7.423 version: link:../setting-resources + '@hcengineering/text-core': + specifier: workspace:^0.7.19 + version: link:../../foundations/core/packages/text-core '@hcengineering/time': specifier: workspace:^0.7.423 version: link:../time diff --git a/desktop/src/ui/platform.ts b/desktop/src/ui/platform.ts index 85527b6870..fdf240389e 100644 --- a/desktop/src/ui/platform.ts +++ b/desktop/src/ui/platform.ts @@ -412,7 +412,7 @@ export async function configurePlatform (onWorkbenchConnect?: () => Promise l.trim()) - : ['en', 'ru', 'es', 'pt', 'pt-br', 'zh', 'fr', 'cs', 'it', 'de', 'ja', 'tr'] + : ['en', 'ru', 'es', 'pt', 'pt-br', 'zh', 'fr', 'cs', 'it', 'de', 'ja', 'ko', 'tr'] setMetadata(uiPlugin.metadata.Languages, languages) diff --git a/dev/docker-compose.yaml b/dev/docker-compose.yaml index 518614f92b..bc4429f703 100644 --- a/dev/docker-compose.yaml +++ b/dev/docker-compose.yaml @@ -210,23 +210,6 @@ services: - SERVER_SECRET=secret - OTEL_EXPORTER_OTLP_ENDPOINT=http://jaeger:4318/v1/traces restart: unless-stopped - payment: - image: hardcoreeng/payment - extra_hosts: - - 'huly.local:host-gateway' - ports: - - 3040:3040 - environment: - - SECRET=secret - - PORT=3040 - - ACCOUNTS_URL=http://huly.local:3000 - - FRONT_URL=http://huly.local:8087 - - USE_SANDBOX=true - - POLAR_ACCESS_TOKEN=${POLAR_ACCESS_TOKEN} - - POLAR_WEBHOOK_SECRET=${POLAR_WEBHOOK_SECRET} - - POLAR_SUBSCRIPTION_PLANS=${POLAR_SUBSCRIPTION_PLANS} - - OTEL_EXPORTER_OTLP_ENDPOINT=http://jaeger:4318/v1/traces - restart: unless-stopped workspace_cockroach: image: hardcoreeng/workspace extra_hosts: diff --git a/dev/prod/public/branding.json b/dev/prod/public/branding.json index 389cfb8db9..e5739e9f36 100644 --- a/dev/prod/public/branding.json +++ b/dev/prod/public/branding.json @@ -1,7 +1,7 @@ { "huly.local:8080": { "title": "Huly", - "languages": "en,ru,pt,pt-br,es,zh,fr,de,ja,tr", + "languages": "en,ru,pt,pt-br,es,zh,fr,de,ja,ko,tr", "defaultLanguage": "en", "defaultApplication": "tracker", "defaultSpace": "tracker:project:DefaultProject", @@ -30,7 +30,7 @@ }, "huly.local:8087": { "title": "Huly", - "languages": "en,ru,pt,pt-br,es,zh,fr,de,ja,tr", + "languages": "en,ru,pt,pt-br,es,zh,fr,de,ja,ko,tr", "defaultLanguage": "en", "defaultApplication": "tracker", "defaultSpace": "tracker:project:DefaultProject", diff --git a/dev/prod/src/platform.ts b/dev/prod/src/platform.ts index 57b91959b7..6f3ac3f628 100644 --- a/dev/prod/src/platform.ts +++ b/dev/prod/src/platform.ts @@ -545,7 +545,7 @@ export async function configurePlatform() { const languages = myBranding.languages ? myBranding.languages.split(',').map((l) => l.trim()) - : ['en', 'ru', 'es', 'pt', 'pt-br', 'zh', 'fr', 'cs', 'it', 'de', 'ja', 'tr'] + : ['en', 'ru', 'es', 'pt', 'pt-br', 'zh', 'fr', 'cs', 'it', 'de', 'ja', 'ko', 'tr'] setMetadata(uiPlugin.metadata.Languages, languages) diff --git a/foundations/core/packages/core/lang/ko.json b/foundations/core/packages/core/lang/ko.json new file mode 100644 index 0000000000..5985ffba61 --- /dev/null +++ b/foundations/core/packages/core/lang/ko.json @@ -0,0 +1,77 @@ +{ + "string": { + "Id": "ID", + "Space": "스페이스", + "Spaces": "스페이스", + "SpacesDescription": "모든 스페이스의 스페이스 타입을 관리합니다", + "TypedSpace": "타입이 지정된 스페이스", + "SpaceType": "스페이스 타입", + "Modified": "수정됨", + "ModifiedDate": "수정일", + "ModifiedBy": "수정자", + "Class": "클래스", + "AttachedTo": "연결 대상", + "AttachedToClass": "연결된 클래스", + "Name": "이름", + "Description": "설명", + "ShortDescription": "간단한 설명", + "Descriptor": "식별자", + "TargetClass": "대상 클래스", + "Role": "역할", + "Roles": "역할", + "Private": "비공개", + "Archived": "보관됨", + "ClassLabel": "타입", + "ClassPropertyLabel": "라벨", + "String": "텍스트", + "Markup": "마크업", + "Number": "숫자", + "Boolean": "체크박스", + "Timestamp": "타임스탬프", + "Date": "날짜", + "IntlString": "다국어 텍스트", + "Ref": "참조", + "Collection": "컬렉션", + "Array": "다중 선택", + "Enum": "선택", + "Members": "멤버", + "Hyperlink": "URL", + "MarkupBlobRef": "공동 편집", + "Object": "객체", + "System": "시스템", + "CreatedBy": "생성자", + "CreatedDate": "생성일", + "Status": "상태", + "StatusCategory": "상태 카테고리", + "Account": "계정", + "Rank": "순위", + "Owners": "소유자", + "Permission": "권한", + "CreateObject": "객체 만들기", + "UpdateObject": "객체 업데이트", + "DeleteObject": "객체 삭제", + "ForbidDeleteObject": "객체 삭제 금지", + "UpdateSpace": "스페이스 업데이트", + "ArchiveSpace": "스페이스 보관", + "CreateObjectDescription": "스페이스에서 객체를 만들 수 있는 권한을 부여합니다", + "UpdateObjectDescription": "스페이스에서 객체를 업데이트할 수 있는 권한을 부여합니다", + "DeleteObjectDescription": "스페이스에서 객체를 삭제할 수 있는 권한을 부여합니다", + "ForbidDeleteObjectDescription": "스페이스에서 객체 삭제를 금지합니다", + "UpdateSpaceDescription": "스페이스를 업데이트할 수 있는 권한을 부여합니다", + "ArchiveSpaceDescription": "스페이스를 보관할 수 있는 권한을 부여합니다", + "AutoJoin": "자동 참여", + "AutoJoinDescr": "신규 직원을 이 스페이스에 자동으로 참여시킵니다", + "AutoJoinGuests": "게스트 자동 참여", + "AutoJoinGuestsDescr": "활성화하면 활성화 시점에 워크스페이스 게스트가 이 스페이스에 추가됩니다", + "RBAC": "역할 기반 접근 제어", + "RBACDescr": "이 스페이스에서 작업을 수행하려면 역할 기반 접근 권한이 필요합니다", + "BlobSize": "크기", + "BlobContentType": "콘텐츠 타입", + "Relation": "관계", + "Relations": "관계", + "AddRelation": "관계 추가", + "PersonId": "인물", + "AccountId": "계정", + "Version": "버전" + } +} diff --git a/foundations/core/packages/core/src/classes.ts b/foundations/core/packages/core/src/classes.ts index dc242de928..c9db96401a 100644 --- a/foundations/core/packages/core/src/classes.ts +++ b/foundations/core/packages/core/src/classes.ts @@ -668,6 +668,7 @@ export interface Version extends Doc { export interface MigrationState extends Doc { plugin: string state: string + durationMs?: number } /** diff --git a/foundations/core/packages/model/src/migration.ts b/foundations/core/packages/model/src/migration.ts index 0c97d1ebb0..c82b8c2eaf 100644 --- a/foundations/core/packages/model/src/migration.ts +++ b/foundations/core/packages/model/src/migration.ts @@ -176,22 +176,28 @@ export async function tryMigrate ( const states = client.migrateState.get(plugin) ?? new Set() for (const migration of migrations) { if (states.has(migration.state)) continue - if (migration.mode == null || migration.mode === mode) { - try { - client.logger.log('running migration', { plugin, state: migration.state }) - await migration.func(client, mode) - } catch (err: any) { - client.logger.error('Failed to run migration', { plugin, state: migration.state, err }) - Analytics.handleError(err) - continue - } + // Do not persist MigrationState when this migration is not applicable to the + // current mode — otherwise it would be skipped forever on the correct mode. + if (migration.mode != null && migration.mode !== mode) { + continue } + const startedAt = Date.now() + try { + client.logger.log('running migration', { plugin, state: migration.state }) + await migration.func(client, mode) + } catch (err: any) { + client.logger.error('Failed to run migration', { plugin, state: migration.state, err }) + Analytics.handleError(err) + continue + } + const finishedAt = Date.now() const st: MigrationState = { plugin, state: migration.state, + durationMs: finishedAt - startedAt, space: core.space.Configuration, modifiedBy: core.account.System, - modifiedOn: Date.now(), + modifiedOn: finishedAt, _class: core.class.MigrationState, _id: generateId() } @@ -212,19 +218,23 @@ export async function tryUpgrade ( const states = state.get(plugin) ?? new Set() for (const upgrades of migrations) { if (states.has(upgrades.state)) continue - const _client = await client() - if (upgrades.mode == null || upgrades.mode === mode) { - try { - await upgrades.func(_client, mode) - } catch (err: any) { - console.error(err) - Analytics.handleError(err) - continue - } + if (upgrades.mode != null && upgrades.mode !== mode) { + continue } + const _client = await client() + const startedAt = Date.now() + try { + await upgrades.func(_client, mode) + } catch (err: any) { + console.error(err) + Analytics.handleError(err) + continue + } + const finishedAt = Date.now() const st: Data = { plugin, - state: upgrades.state + state: upgrades.state, + durationMs: finishedAt - startedAt } const tx = new TxOperations(_client, core.account.System) await tx.createDoc(core.class.MigrationState, core.space.Configuration, st) diff --git a/foundations/core/packages/platform/lang/ko.json b/foundations/core/packages/platform/lang/ko.json new file mode 100644 index 0000000000..cbb023e1be --- /dev/null +++ b/foundations/core/packages/platform/lang/ko.json @@ -0,0 +1,30 @@ +{ + "status": { + "LoadingPlugin": "{plugin} 플러그인 로딩 중...", + "UnknownError": "알 수 없는 오류: {message}", + "InvalidId": "잘못된 ID: {id}", + "BadRequest": "잘못된 요청", + "Forbidden": "접근 권한이 없습니다", + "Conflict": "충돌", + "ExpiredLink": "만료된 초대 링크입니다", + "Unauthorized": "인증되지 않음", + "UnknownMethod": "알 수 없는 메서드: {method}", + "InternalServerError": "서버 내부 오류", + "MaintenanceWarning": "점검 예정 시각", + "MaintenanceWarningTime": "{time, plural, =1 {1분 이내} other {#분 후}}", + "AccountNotFound": "계정을 찾을 수 없거나 인증 정보가 올바르지 않습니다", + "AccountNotConfirmed": "확인되지 않은 계정입니다", + "WorkspaceNotFound": "워크스페이스를 찾을 수 없습니다", + "AccountAlreadyExists": "이미 존재하는 계정입니다", + "WorkspaceRateLimit": "서버가 혼잡합니다. 잠시 후 다시 시도해 주세요", + "AccountAlreadyConfirmed": "이미 확인된 계정입니다", + "WorkspaceAlreadyExists": "이미 존재하는 워크스페이스입니다", + "InvalidOtp": "잘못된 코드", + "PasswordLoginLocked": "로그인 시도가 너무 많아 비밀번호 로그인이 잠겼습니다. OTP 로그인으로 계정 잠금을 해제하세요.", + "InviteNotFound": "{email}로 보낸 초대를 찾을 수 없습니다.", + "WorkspaceLimitReached": "워크스페이스 한도에 도달했습니다. 문의해 주세요...", + "ReadOnlyAccount": "익명 게스트 데모", + "SystemAccount": "시스템 계정", + "SocialIdAlreadyExists": "이미 존재하는 소셜 ID입니다" + } +} diff --git a/models/card/src/index.ts b/models/card/src/index.ts index 96607841dc..14c76397eb 100644 --- a/models/card/src/index.ts +++ b/models/card/src/index.ts @@ -82,7 +82,7 @@ import { type Asset, getEmbeddedLabel, type IntlString, type Resource } from '@h import time, { type ToDo } from '@hcengineering/time' import { PaletteColorIndexes } from '@hcengineering/ui/src/colors' import { type AnyComponent } from '@hcengineering/ui/src/types' -import { type BuildModelKey } from '@hcengineering/view' +import { type BuildModelKey, type ViewOptionModel } from '@hcengineering/view' import { createActions } from './actions' import { defineActionPermissions, definePermissions } from './permissions' import card from './plugin' @@ -225,6 +225,15 @@ export class TExportExtension extends TDoc implements ExportExtension { export * from './migration' +const showAllVersionsOption: ViewOptionModel = { + key: 'showAllVersions', + type: 'toggle', + defaultValue: false, + actionTarget: 'query', + action: card.function.ShowAllVersions, + label: card.string.ShowAllVersions +} + const listConfig: (BuildModelKey | string)[] = [ { key: '' }, { key: '_class' }, @@ -350,6 +359,11 @@ export function createSystemType ( hiddenKeys: ['content', 'title'], sortable: true }, + viewOptions: { + groupBy: [], + orderBy: [], + other: [showAllVersionsOption] + }, baseQuery: { isLatest: true }, @@ -383,7 +397,7 @@ export function createSystemType ( ['modifiedOn', SortingOrder.Descending], ['rank', SortingOrder.Ascending] ], - other: [] + other: [showAllVersionsOption] }, baseQuery: { isLatest: true @@ -397,6 +411,11 @@ export function createSystemType ( builder.createDoc(view.class.Viewlet, core.space.Model, { attachTo: type, descriptor: card.viewlet.CardGridDescriptor, + viewOptions: { + groupBy: [], + orderBy: [], + other: [showAllVersionsOption] + }, baseQuery: { isLatest: true }, @@ -681,6 +700,11 @@ export function createModel (builder: Builder): void { hiddenKeys: ['content', 'title'], sortable: true }, + viewOptions: { + groupBy: [], + orderBy: [], + other: [showAllVersionsOption] + }, baseQuery: { isLatest: true }, @@ -713,7 +737,7 @@ export function createModel (builder: Builder): void { ['modifiedOn', SortingOrder.Descending], ['rank', SortingOrder.Ascending] ], - other: [] + other: [showAllVersionsOption] }, configOptions: { hiddenKeys: ['content', 'title'] @@ -739,7 +763,7 @@ export function createModel (builder: Builder): void { ['modifiedOn', SortingOrder.Descending], ['rank', SortingOrder.Ascending] ], - other: [] + other: [showAllVersionsOption] }, configOptions: { strict: true, @@ -782,6 +806,11 @@ export function createModel (builder: Builder): void { hiddenKeys: ['content', 'title'], sortable: true }, + viewOptions: { + groupBy: [], + orderBy: [], + other: [showAllVersionsOption] + }, baseQuery: { isLatest: true }, @@ -821,7 +850,7 @@ export function createModel (builder: Builder): void { ['rank', SortingOrder.Ascending], ['title', SortingOrder.Descending] ], - other: [] + other: [showAllVersionsOption] } }, card.viewlet.CardGrid @@ -1124,18 +1153,6 @@ function defineTabs (builder: Builder): void { card.section.Properties ) - builder.createDoc( - card.class.CardSection, - core.space.Model, - { - label: card.string.RichtextProperties, - component: card.sectionComponent.MarkupPropertiesSection, - order: 150, - navigation: [] - }, - card.section.MarkupProperties - ) - builder.createDoc( card.class.CardSection, core.space.Model, diff --git a/models/card/src/migration.ts b/models/card/src/migration.ts index f34279c618..648791ef47 100644 --- a/models/card/src/migration.ts +++ b/models/card/src/migration.ts @@ -36,7 +36,7 @@ import { type MigrationUpgradeClient } from '@hcengineering/model' import tags from '@hcengineering/tags' -import view, { type Viewlet } from '@hcengineering/view' +import view, { type ViewOptionModel, type Viewlet } from '@hcengineering/view' import card from '.' export const cardOperation: MigrateOperation = { @@ -134,6 +134,11 @@ export const cardOperation: MigrateOperation = { state: 'add-grid-viewlet', mode: 'upgrade', func: addGridViewlet + }, + { + state: 'add-show-all-versions-view-option', + mode: 'upgrade', + func: addShowAllVersionsViewOption } ]) } @@ -668,3 +673,39 @@ async function fillVersioning (client: MigrationClient): Promise { await iterator.close() } } + +async function addShowAllVersionsViewOption (client: MigrationUpgradeClient): Promise { + const txOp = new TxOperations(client, core.account.System) + const masterTags = await client.findAll(card.class.MasterTag, {}) + const cardDescendants = client.getHierarchy().getDescendants(card.class.Card) + const allViewletTargets = [...masterTags.map((p) => p._id), ...cardDescendants, card.class.Card] + + const viewlets = await client.findAll(view.class.Viewlet, { + attachTo: { $in: allViewletTargets } + }) + + const showAllVersionsOption: ViewOptionModel = { + key: 'showAllVersions', + type: 'toggle', + defaultValue: false, + actionTarget: 'query', + action: card.function.ShowAllVersions, + label: card.string.ShowAllVersions + } + + for (const v of viewlets) { + // Skip CardSpace viewlets if any (though they shouldn't be in allViewletTargets) + if (v.attachTo === card.class.CardSpace) continue + + const viewOptions = v.viewOptions ?? { groupBy: [], orderBy: [], other: [] } + const other = viewOptions.other ?? [] + if (other.find((o: any) => o.key === 'showAllVersions') === undefined) { + await txOp.update(v, { + viewOptions: { + ...viewOptions, + other: [...other, showAllVersionsOption] + } + }) + } + } +} diff --git a/models/card/src/plugin.ts b/models/card/src/plugin.ts index 464e6f8946..74a3e31fef 100644 --- a/models/card/src/plugin.ts +++ b/models/card/src/plugin.ts @@ -16,7 +16,7 @@ import type { ViewletViewAction, Action, ActionCategory, ViewAction } from '@hcengineering/view' import { type Card, cardId } from '@hcengineering/card' import card from '@hcengineering/card-resources/src/plugin' -import type { Client, Doc, Ref } from '@hcengineering/core' +import type { Client, Doc, DocumentQuery, Ref } from '@hcengineering/core' import {} from '@hcengineering/core' import { mergeIds, type Resource } from '@hcengineering/platform' import { type TagCategory } from '@hcengineering/tags' @@ -72,6 +72,7 @@ export default mergeIds(cardId, card, { CardCustomLinkEncode: '' as Resource<(doc: Doc) => Location>, CheckRelationsSectionVisibility: '' as Resource<(doc: Card) => Promise>, CheckOldMessagesSectionVisibility: '' as Resource<(doc: Card) => Promise>, - CheckCommunicationMessagesSectionVisibility: '' as Resource<(doc: Card) => Promise> + CheckCommunicationMessagesSectionVisibility: '' as Resource<(doc: Card) => Promise>, + ShowAllVersions: '' as Resource<(value: any, query: DocumentQuery) => DocumentQuery> } }) diff --git a/models/contact/src/index.ts b/models/contact/src/index.ts index d590f7012c..a623e3504c 100644 --- a/models/contact/src/index.ts +++ b/models/contact/src/index.ts @@ -621,6 +621,20 @@ export function createModel (builder: Builder): void { configOptions: { hiddenKeys: ['name'], sortable: true + }, + viewOptions: { + groupBy: [], + orderBy: [], + other: [ + { + key: 'hideInactive', + type: 'toggle', + defaultValue: true, + actionTarget: 'query', + action: contact.function.HideInactive, + label: contact.string.HideInactive + } + ] } }, contact.viewlet.TableEmployee diff --git a/models/contact/src/plugin.ts b/models/contact/src/plugin.ts index 5414d33bd8..4e5ebff78a 100644 --- a/models/contact/src/plugin.ts +++ b/models/contact/src/plugin.ts @@ -16,7 +16,7 @@ import { contactId } from '@hcengineering/contact' import contact from '@hcengineering/contact-resources/src/plugin' -import type { Client, Doc, DocManager, Ref } from '@hcengineering/core' +import type { Client, Doc, DocManager, DocumentQuery, Ref } from '@hcengineering/core' import { type ObjectSearchCategory, type ObjectSearchFactory } from '@hcengineering/model-presentation' import { type NotificationGroup } from '@hcengineering/notification' import { type IntlString, mergeIds, type Resource } from '@hcengineering/platform' @@ -144,7 +144,8 @@ export default mergeIds(contactId, contact, { ChannelTitleProvider: '' as Resource<(client: Client, ref: Ref, doc?: Doc) => Promise>, ChannelIdentifierProvider: '' as Resource<(client: Client, ref: Ref, doc?: Doc) => Promise>, SetPersonStore: '' as Resource<(manager: DocManager) => void>, - PersonFilterFunction: '' as Resource<(doc: Doc, target: Doc) => boolean> + PersonFilterFunction: '' as Resource<(doc: Doc, target: Doc) => boolean>, + HideInactive: '' as Resource<(value: any, query: DocumentQuery) => DocumentQuery> }, resolver: { LocationData: '' as Resource<(loc: Location) => Promise> diff --git a/models/controlled-documents/src/index.ts b/models/controlled-documents/src/index.ts index 973f13fc61..168d30159a 100644 --- a/models/controlled-documents/src/index.ts +++ b/models/controlled-documents/src/index.ts @@ -978,6 +978,28 @@ export function createModel (builder: Builder): void { documents.action.CopyAsMarkdownTable ) + createAction( + builder, + { + action: view.actionImpl.CopyDocumentMarkdown, + actionProps: { + contentClass: documents.class.Document, + contentField: 'content' + }, + label: view.string.CopyDocumentMarkdown, + icon: view.icon.Print, + input: 'focus', + category: view.category.General, + target: documents.class.Document, + query: {}, + context: { + mode: ['context', 'browser'], + group: 'copy' + } + }, + documents.action.CopyDocumentMarkdown + ) + createAction( builder, { diff --git a/models/core/src/core.ts b/models/core/src/core.ts index 0866c91bb7..02e69d551b 100644 --- a/models/core/src/core.ts +++ b/models/core/src/core.ts @@ -358,6 +358,7 @@ export class TVersion extends TDoc implements Version { export class TMigrationState extends TDoc implements MigrationState { plugin!: string state!: string + durationMs?: number } @Model(core.class.PluginConfiguration, core.class.Doc, DOMAIN_MODEL) diff --git a/models/hr/src/index.ts b/models/hr/src/index.ts index 3f87a0afd1..9dc5446f38 100644 --- a/models/hr/src/index.ts +++ b/models/hr/src/index.ts @@ -422,7 +422,21 @@ export function createModel (builder: Builder): void { { attachTo: hr.mixin.Staff, descriptor: view.viewlet.Table, - config: [''] + config: [''], + viewOptions: { + groupBy: [], + orderBy: [], + other: [ + { + key: 'hideInactive', + type: 'toggle', + defaultValue: true, + actionTarget: 'query', + action: contact.function.HideInactive, + label: contact.string.HideInactive + } + ] + } }, hr.viewlet.StaffStats ) diff --git a/models/process/src/actions.ts b/models/process/src/actions.ts index 38fc53629a..6ecac2aff8 100644 --- a/models/process/src/actions.ts +++ b/models/process/src/actions.ts @@ -87,7 +87,7 @@ export function defineMethods (builder: Builder): void { editor: process.component.CreateCardEditor, presenter: process.component.CreateCardPresenter, createdContext: { _class: card.class.Card }, - requiredParams: ['title', '_class'] + requiredParams: ['title', 'targetClass'] }, process.method.CreateCard ) diff --git a/models/process/src/functions.ts b/models/process/src/functions.ts index f01223ee7b..ba7c6f932f 100644 --- a/models/process/src/functions.ts +++ b/models/process/src/functions.ts @@ -756,4 +756,30 @@ export function defineFunctions (builder: Builder): void { }, process.function.DayFromDate ) + + builder.createDoc( + process.class.ProcessFunction, + core.space.Model, + { + of: core.class.EnumOf, + to: core.class.TypeString, + category: 'attribute', + label: process.string.TextFromSelect, + type: 'convert' + }, + process.function.StringFromEnum + ) + + builder.createDoc( + process.class.ProcessFunction, + core.space.Model, + { + of: core.class.TypeString, + to: core.class.EnumOf, + category: 'attribute', + label: process.string.SelectFromText, + type: 'convert' + }, + process.function.EnumFromString + ) } diff --git a/models/process/src/index.ts b/models/process/src/index.ts index 5d1b9008a1..562b75eeb1 100644 --- a/models/process/src/index.ts +++ b/models/process/src/index.ts @@ -550,7 +550,7 @@ export function createModel (builder: Builder): void { { key: 'showDone', type: 'toggle', - defaultValue: true, + defaultValue: false, actionTarget: 'query', action: process.function.ShowDoneQuery, label: process.string.ShowDone @@ -797,6 +797,24 @@ export function createModel (builder: Builder): void { } }) + builder.createDoc(process.class.UpdateCriteriaComponent, core.space.Model, { + category: 'attribute', + editor: process.criteriaEditor.BaseCriteria, + of: core.class.TypeMarkup, + props: { + modes: ['StringContains', 'Exists'] + } + }) + + builder.createDoc(process.class.UpdateCriteriaComponent, core.space.Model, { + category: 'inplace', + editor: process.criteriaEditor.BaseCriteria, + of: core.class.TypeMarkup, + props: { + modes: ['StringContains', 'Exists'] + } + }) + builder.createDoc(process.class.UpdateCriteriaComponent, core.space.Model, { category: 'attribute', editor: process.criteriaEditor.BaseCriteria, diff --git a/models/server-process/src/index.ts b/models/server-process/src/index.ts index ad4b12c79d..dafae6227b 100644 --- a/models/server-process/src/index.ts +++ b/models/server-process/src/index.ts @@ -191,6 +191,14 @@ export function createModel (builder: Builder): void { func: serverProcess.transform.MarkupFromString }) + builder.mixin(process.function.StringFromEnum, process.class.ProcessFunction, serverProcess.mixin.FuncImpl, { + func: serverProcess.transform.StringFromEnum + }) + + builder.mixin(process.function.EnumFromString, process.class.ProcessFunction, serverProcess.mixin.FuncImpl, { + func: serverProcess.transform.EnumFromString + }) + builder.mixin(process.function.NumberFromDate, process.class.ProcessFunction, serverProcess.mixin.FuncImpl, { func: serverProcess.transform.NumberFromDate }) diff --git a/packages/presentation/lang/ko.json b/packages/presentation/lang/ko.json new file mode 100644 index 0000000000..4b81b2f325 --- /dev/null +++ b/packages/presentation/lang/ko.json @@ -0,0 +1,64 @@ +{ + "string": { + "Create": "만들기", + "Cancel": "취소", + "Ok": "확인", + "Save": "저장", + "Saved": "저장됨...", + "Download": "다운로드", + "DownloadOriginal": "원본 다운로드", + "Delete": "삭제", + "Close": "닫기", + "NotSelected": "선택 안 됨", + "Deselect": "선택 해제", + "Archived": "(보관됨)", + "AddSocialLinks": "소셜 링크 추가", + "EditSocialLinks": "소셜 링크 편집", + "Change": "변경", + "Remove": "제거", + "Search": "검색...", + "Spaces": "스페이스", + "NumberSpaces": "{count, plural, =0 {없음} =1 {1곳} other {#곳}}", + "InThis": "이 {space} 내", + "NoMatchesInThis": "이 {space}에서 일치하는 항목 없음", + "NoMatchesFound": "일치하는 항목 없음", + "NotInThis": "이 {space} 외", + "Match": "일치", + "Add": "추가", + "Edit": "편집", + "DocumentPreview": "미리 보기", + "MakePrivate": "비공개로 전환", + "MakePrivateDescription": "멤버만 볼 수 있습니다", + "Created": "생성됨", + "Selected": "선택됨", + "NoResults": "표시할 결과 없음", + "Next": "다음", + "FailedToPreview": "미리 보기에 실패했습니다", + "ContentType": "콘텐츠 타입", + "ContentTypeNotSupported": "이 콘텐츠 타입은 미리 보기를 지원하지 않습니다", + "StartDrawing": "이미지에 그리기", + "DrawingHistory": "그리기 기록", + "ColorAdd": "색상 프리셋 추가", + "ColorRemove": "색상 프리셋 제거", + "ColorReset": "색상 프리셋 초기화", + "Copy": "복사", + "DocumentUrlCopied": "복사 완료!", + "CopyLink": "링크 복사", + "AccessDenied": "객체가 존재하지 않거나 접근 권한이 없습니다.", + "UnableToFollowMention": "멘션된 객체를 열 수 없습니다", + "Undo": "실행 취소", + "Redo": "다시 실행", + "ClearCanvas": "캔버스 지우기", + "PenTool": "펜", + "EraserTool": "지우개", + "PanTool": "이동", + "TextTool": "텍스트", + "LineTool": "직선", + "RectangleTool": "사각형", + "EllipseTool": "타원", + "PaletteManagementMenu": "색상 프리셋 관리" + }, + "status": { + "FileTooLarge": "파일 크기가 너무 큽니다" + } +} diff --git a/packages/ui/lang/cs.json b/packages/ui/lang/cs.json index 5bb6ebb6aa..cb07ff1395 100644 --- a/packages/ui/lang/cs.json +++ b/packages/ui/lang/cs.json @@ -1,113 +1,114 @@ { - "string": { - "EditBoxPlaceholder": "Napište text...", - "Ok": "OK", - "Cancel": "Zrušit", - "Save": "Uložit", - "Publish": "Publikovat", - "SaveDraft": "Uložit koncept", - "MinutesAgo": "{minutes, plural, =0 {před méně než minutou} =1 {před minutou} other {před # minutami}}", - "HoursAgo": "{hours, plural, =0 {před méně než hodinou} =1 {před hodinou} other {před # hodinami}}", - "DaysAgo": "{days, plural, =0 {dnes} =1 {včera} other {před # dny}}", - "MonthsAgo": "{months, plural, =0 {tento měsíc} =1 {před měsícem} other {před # měsíci}}", - "YearsAgo": "{years, plural, =0 {tento rok} =1 {před rokem} other {před # lety}}", - "Minutes": "{minutes, plural, =0 {méně než minuta} =1 {1 minuta} other {# minut}}", - "Hours": "{hours, plural, =0 {méně než hodina} =1 {1 hodina} other {# hodin}}", - "Days": "{days, plural, =0 {dnes} =1 {1 den} other {# dní}}", - "Weeks": "{weeks, plural, =0 {tento týden} =1 {1 týden} other {# týdnů}}", - "Months": "{months, plural, =0 {tento měsíc} =1 {1 měsíc} other {# měsíců}}", - "Years": "{years, plural, =0 {tento rok} =1 {1 rok} other {# let}}", - "Before": "Před", - "After": "Po", - "MinutesShort": "{value}m", - "HoursShort": "{value}h", - "DaysShort": "{value}d", - "ShowMore": "Zobrazit více", - "ShowLess": "Zobrazit méně", - "Search": "Hledat", - "SearchDots": "Hledám...", - "SearchResults": "Výsledky vyhledávání", - "Suggested": "Doporučeno", - "TimeTooltip": "{value}", - "SelectDate": "Vybrat datum", - "None": "Žádné", - "NotSelected": "Nevybráno", - "Today": "Dnes", - "NoDate": "Žádné datum", - "StartDate": "Počáteční datum", - "TargetDate": "Cílové datum", - "Overdue": "Po termínu", - "DueDate": "Termín splnění", - "AddDueDate": "Přidat termín splnění", - "SetDueDate": "Nastavit termín splnění", - "EditDueDate": "Upravit termín splnění", - "SaveDueDate": "Uložit termín splnění", - "NeedsToBeCompletedByThisDate": "Musí být dokončeno do tohoto data", - "DueDatePopupTitle": "Termín: {value}", - "DueDatePopupOverdueTitle": "Termín byl: {value}", - "DueDatePopupDescription": "{value, plural, =0 {Dnes} =1 {Zítra} other {zbývá # dní}}", - "DueDatePopupOverdueDescription": "{value, plural, =1 {1 den po termínu} other {# dní po termínu}}", - "English": "English", - "Russian": "Русский", - "Portuguese": "Português", - "PortugueseBrazil": "Português (Brasil)", - "Spanish": "Español", - "Chinese": "中文", - "French": "Français", - "Italian": "Italiano", - "Czech": "Čeština", - "German": "Deutsch", - "Japanese": "日本語", - "Turkish": "Türkçe", - "MinutesBefore": "{minutes, plural, =1 {1 minuta před} other {# minut před}}", - "HoursBefore": "{hours, plural, =1 {1 hodina před} other {# hodin před}}", - "DaysBefore": "{days, plural, =1 {1 den před} other {# dní před}}", - "WeeksBefore": "{weeks, plural, =1 {1 týden před} other {# týdnů před}}", - "MonthsBefore": "{months, plural, =1 {1 měsíc před} other {# měsíců před}}", - "MinutesAfter": "{minutes, plural, =1 {za 1 minutu} other {za # minut}}", - "HoursAfter": "{hours, plural, =1 {za 1 hodinu} other {za # hodin}}", - "DaysAfter": "{days, plural, =1 {za 1 den} other {za # dní}}", - "WeeksAfter": "{weeks, plural, =1 {za 1 týden} other {za # týdnů}}", - "MonthsAfter": "{months, plural, =1 {za 1 měsíc} other {za # měsíců}}", - "NoActionsDefined": "Žádné akce nejsou dostupné", - "Incoming": "Příchozí", - "HoursLabel": "Hodiny", - "Back": "Zpět", - "Next": "Další", - "DropdownDefaultLabel": "Vyberte položku", - "DD": "DD", - "MM": "MM", - "YYYY": "RRRR", - "HH": "HH", - "Remove": "Odstranit", - "NoResults": "Žádné Výsledky", - "MoreCount": "Ještě {count}", - "Spacious": "Prostorný", - "Compact": "Kompaktní", - "ThemeLight": "Světlý", - "ThemeDark": "Tmavý", - "ThemeSystem": "Systémový", - "NoTimeZonesFound": "Žádná časová pásma nenalezena", - "Selected": "Vybráno:", - "Submit": "Odeslat", - "NextStep": "Další krok", - "TypeHere": "Zde pište...", - "FullSize": "Plná velikost", - "UseMaxWidth": "Maximální šířka", - "Sidebar": "Postranní panel", - "FontSize": "Velikost písma", - "Language": "Jazyk", - "DaysWOValue": "{days, plural, =1 {den} other {dny}}", - "WeeksWOValue": "{weeks, plural, =1 {týden} other {týdny}}", - "MonthsWOValue": "{months, plural, =1 {měsíc} other {měsíce}}", - "Filter": "Filtr", - "Clear": "Vymazat", - "Yesterday": "Včera", - "ThisWeek": "Tento týden", - "ThisMonth": "Tento měsíc", - "ThisYear": "Tento rok", - "EmojiStyle": "Styl emoji", - "EmojiSystem": "Výchozí systémové", - "EmojiNoto": "Noto Color" - } + "string": { + "EditBoxPlaceholder": "Napište text...", + "Ok": "OK", + "Cancel": "Zrušit", + "Save": "Uložit", + "Publish": "Publikovat", + "SaveDraft": "Uložit koncept", + "MinutesAgo": "{minutes, plural, =0 {před méně než minutou} =1 {před minutou} other {před # minutami}}", + "HoursAgo": "{hours, plural, =0 {před méně než hodinou} =1 {před hodinou} other {před # hodinami}}", + "DaysAgo": "{days, plural, =0 {dnes} =1 {včera} other {před # dny}}", + "MonthsAgo": "{months, plural, =0 {tento měsíc} =1 {před měsícem} other {před # měsíci}}", + "YearsAgo": "{years, plural, =0 {tento rok} =1 {před rokem} other {před # lety}}", + "Minutes": "{minutes, plural, =0 {méně než minuta} =1 {1 minuta} other {# minut}}", + "Hours": "{hours, plural, =0 {méně než hodina} =1 {1 hodina} other {# hodin}}", + "Days": "{days, plural, =0 {dnes} =1 {1 den} other {# dní}}", + "Weeks": "{weeks, plural, =0 {tento týden} =1 {1 týden} other {# týdnů}}", + "Months": "{months, plural, =0 {tento měsíc} =1 {1 měsíc} other {# měsíců}}", + "Years": "{years, plural, =0 {tento rok} =1 {1 rok} other {# let}}", + "Before": "Před", + "After": "Po", + "MinutesShort": "{value}m", + "HoursShort": "{value}h", + "DaysShort": "{value}d", + "ShowMore": "Zobrazit více", + "ShowLess": "Zobrazit méně", + "Search": "Hledat", + "SearchDots": "Hledám...", + "SearchResults": "Výsledky vyhledávání", + "Suggested": "Doporučeno", + "TimeTooltip": "{value}", + "SelectDate": "Vybrat datum", + "None": "Žádné", + "NotSelected": "Nevybráno", + "Today": "Dnes", + "NoDate": "Žádné datum", + "StartDate": "Počáteční datum", + "TargetDate": "Cílové datum", + "Overdue": "Po termínu", + "DueDate": "Termín splnění", + "AddDueDate": "Přidat termín splnění", + "SetDueDate": "Nastavit termín splnění", + "EditDueDate": "Upravit termín splnění", + "SaveDueDate": "Uložit termín splnění", + "NeedsToBeCompletedByThisDate": "Musí být dokončeno do tohoto data", + "DueDatePopupTitle": "Termín: {value}", + "DueDatePopupOverdueTitle": "Termín byl: {value}", + "DueDatePopupDescription": "{value, plural, =0 {Dnes} =1 {Zítra} other {zbývá # dní}}", + "DueDatePopupOverdueDescription": "{value, plural, =1 {1 den po termínu} other {# dní po termínu}}", + "English": "English", + "Russian": "Русский", + "Portuguese": "Português", + "PortugueseBrazil": "Português (Brasil)", + "Spanish": "Español", + "Chinese": "中文", + "French": "Français", + "Italian": "Italiano", + "Czech": "Čeština", + "German": "Deutsch", + "Japanese": "日本語", + "Korean": "Korejština", + "Turkish": "Türkçe", + "MinutesBefore": "{minutes, plural, =1 {1 minuta před} other {# minut před}}", + "HoursBefore": "{hours, plural, =1 {1 hodina před} other {# hodin před}}", + "DaysBefore": "{days, plural, =1 {1 den před} other {# dní před}}", + "WeeksBefore": "{weeks, plural, =1 {1 týden před} other {# týdnů před}}", + "MonthsBefore": "{months, plural, =1 {1 měsíc před} other {# měsíců před}}", + "MinutesAfter": "{minutes, plural, =1 {za 1 minutu} other {za # minut}}", + "HoursAfter": "{hours, plural, =1 {za 1 hodinu} other {za # hodin}}", + "DaysAfter": "{days, plural, =1 {za 1 den} other {za # dní}}", + "WeeksAfter": "{weeks, plural, =1 {za 1 týden} other {za # týdnů}}", + "MonthsAfter": "{months, plural, =1 {za 1 měsíc} other {za # měsíců}}", + "NoActionsDefined": "Žádné akce nejsou dostupné", + "Incoming": "Příchozí", + "HoursLabel": "Hodiny", + "Back": "Zpět", + "Next": "Další", + "DropdownDefaultLabel": "Vyberte položku", + "DD": "DD", + "MM": "MM", + "YYYY": "RRRR", + "HH": "HH", + "Remove": "Odstranit", + "NoResults": "Žádné Výsledky", + "MoreCount": "Ještě {count}", + "Spacious": "Prostorný", + "Compact": "Kompaktní", + "ThemeLight": "Světlý", + "ThemeDark": "Tmavý", + "ThemeSystem": "Systémový", + "NoTimeZonesFound": "Žádná časová pásma nenalezena", + "Selected": "Vybráno:", + "Submit": "Odeslat", + "NextStep": "Další krok", + "TypeHere": "Zde pište...", + "FullSize": "Plná velikost", + "UseMaxWidth": "Maximální šířka", + "Sidebar": "Postranní panel", + "FontSize": "Velikost písma", + "Language": "Jazyk", + "DaysWOValue": "{days, plural, =1 {den} other {dny}}", + "WeeksWOValue": "{weeks, plural, =1 {týden} other {týdny}}", + "MonthsWOValue": "{months, plural, =1 {měsíc} other {měsíce}}", + "Filter": "Filtr", + "Clear": "Vymazat", + "Yesterday": "Včera", + "ThisWeek": "Tento týden", + "ThisMonth": "Tento měsíc", + "ThisYear": "Tento rok", + "EmojiStyle": "Styl emoji", + "EmojiSystem": "Výchozí systémové", + "EmojiNoto": "Noto Color" + } } diff --git a/packages/ui/lang/de.json b/packages/ui/lang/de.json index 90faf66346..6bb24862a0 100644 --- a/packages/ui/lang/de.json +++ b/packages/ui/lang/de.json @@ -1,114 +1,115 @@ { - "string": { - "EditBoxPlaceholder": "Text eingeben...", - "Ok": "Ok", - "Cancel": "Abbrechen", - "Save": "Speichern", - "Publish": "Veröffentlichen", - "SaveDraft": "Entwurf speichern", - "MinutesAgo": "{minutes, plural, =0 {vor weniger als einer Minute} =1 {vor einer Minute} other {vor # Minuten}}", - "HoursAgo": "{hours, plural, =0 {vor weniger als einer Stunde} =1 {vor einer Stunde} other {vor # Stunden}}", - "DaysAgo": "{days, plural, =0 {heute} =1 {gestern} other {vor # Tagen}}", - "MonthsAgo": "{months, plural, =0 {diesen Monat} =1 {vor einem Monat} other {vor # Monaten}}", - "YearsAgo": "{years, plural, =0 {dieses Jahr} =1 {vor einem Jahr} other {vor # Jahren}}", - "Minutes": "{minutes, plural, =0 {weniger als eine Minute} =1 {eine Minute} other {# Minuten}}", - "Hours": "{hours, plural, =0 {weniger als eine Stunde} =1 {eine Stunde} other {# Stunden}}", - "Days": "{days, plural, =0 {heute} =1 {1 Tag} other {# Tage}}", - "Weeks": "{weeks, plural, =0 {diese Woche} =1 {1 Woche} other {# Wochen}}", - "Months": "{months, plural, =0 {diesen Monat} =1 {1 Monat} other {# Monate}}", - "Years": "{years, plural, =0 {dieses Jahr} =1 {ein Jahr} other {# Jahre}}", - "Before": "Vor", - "After": "Nach", - "MinutesShort": "{value}m", - "HoursShort": "{value}h", - "DaysShort": "{value}t", - "ShowMore": "Mehr anzeigen", - "ShowLess": "Weniger anzeigen", - "Search": "Suchen", - "SearchDots": "Suchen...", - "SearchResults": "Suchergebnisse", - "Suggested": "Vorgeschlagen", - "TimeTooltip": "{value}", - "SelectDate": "Datum auswählen", - "None": "Keine", - "NotSelected": "Nicht ausgewählt", - "Today": "Heute", - "NoDate": "Kein Datum", - "StartDate": "Startdatum", - "TargetDate": "Zieldatum", - "Overdue": "Überfällig", - "DueDate": "Fälligkeitsdatum", - "AddDueDate": "Fälligkeitsdatum hinzufügen", - "SetDueDate": "Fälligkeitsdatum festlegen", - "EditDueDate": "Fälligkeitsdatum bearbeiten", - "SaveDueDate": "Fälligkeitsdatum speichern", - "NeedsToBeCompletedByThisDate": "Muss bis zu diesem Datum abgeschlossen sein", - "DueDatePopupTitle": "Fällig am {value}", - "DueDatePopupOverdueTitle": "War fällig am {value}", - "DueDatePopupDescription": "{value, plural, =0 {Heute} =1 {Morgen} other {noch # Tage}}", - "DueDatePopupOverdueDescription": "{value, plural, =1 {1 Tag überfällig} other {# Tage überfällig}}", - "English": "Englisch", - "Russian": "Russisch", - "Portuguese": "Portugiesisch", - "PortugueseBrazil": "Português (Brasil)", - "Spanish": "Spanisch", - "Chinese": "Chinesisch", - "French": "Französisch", - "Italian": "Italienisch", - "Czech": "Tschechisch", - "German": "Deutsch", - "Japanese": "Japanisch", - "Turkish": "Türkçe", - "MinutesBefore": "{minutes, plural, =1 {eine Minute vorher} other {# Minuten vorher}}", - "HoursBefore": "{hours, plural, =1 {eine Stunde vorher} other {# Stunden vorher}}", - "DaysBefore": "{days, plural, =1 {einen Tag vorher} other {# Tage vorher}}", - "WeeksBefore": "{weeks, plural, =1 {eine Woche vorher} other {# Wochen vorher}}", - "MonthsBefore": "{months, plural, =1 {einen Monat vorher} other {# Monate vorher}}", - "MinutesAfter": "{minutes, plural, =1 {in einer Minute} other {in # Minuten}}", - "HoursAfter": "{hours, plural, =1 {in einer Stunde} other {in # Stunden}}", - "DaysAfter": "{days, plural, =1 {in einem Tag} other {in # Tagen}}", - "WeeksAfter": "{weeks, plural, =1 {in einer Woche} other {in # Wochen}}", - "MonthsAfter": "{months, plural, =1 {in einem Monat} other {in # Monaten}}", - "NoActionsDefined": "Keine Aktionen verfügbar", - "Incoming": "Eingehend", - "HoursLabel": "Stunden", - "Back": "Zurück", - "Next": "Weiter", - "DropdownDefaultLabel": "Element auswählen", - "DD": "TT", - "MM": "MM", - "YYYY": "JJJJ", - "HH": "HH", - "Remove": "Entfernen", - "NoResults": "Keine Ergebnisse", - "MoreCount": "{count} weitere", - "Spacious": "Geräumig", - "Compact": "Kompakt", - "ThemeLight": "Hell", - "ThemeDark": "Dunkel", - "ThemeSystem": "System", - "NoTimeZonesFound": "Keine Zeitzonen gefunden", - "Selected": "Ausgewählt:", - "Submit": "Absenden", - "NextStep": "Nächster Schritt", - "TypeHere": "Hier eingeben...", - "NormalSize": "Normale Größe", - "FullSize": "Volle Größe", - "UseMaxWidth": "Maximale Breite", - "Sidebar": "Seitenleiste", - "FontSize": "Schriftgröße", - "Language": "Sprache", - "DaysWOValue": "{days, plural, =1 {Tag} other {Tage}}", - "WeeksWOValue": "{weeks, plural, =1 {Woche} other {Wochen}}", - "MonthsWOValue": "{months, plural, =1 {Monat} other {Monate}}", - "Filter": "Filter", - "Clear": "Löschen", - "Yesterday": "Gestern", - "ThisWeek": "Diese Woche", - "ThisMonth": "Diesen Monat", - "ThisYear": "Dieses Jahr", - "EmojiStyle": "Emoji-Stil", - "EmojiSystem": "Systemstandard", - "EmojiNoto": "Noto Color" - } + "string": { + "EditBoxPlaceholder": "Text eingeben...", + "Ok": "Ok", + "Cancel": "Abbrechen", + "Save": "Speichern", + "Publish": "Veröffentlichen", + "SaveDraft": "Entwurf speichern", + "MinutesAgo": "{minutes, plural, =0 {vor weniger als einer Minute} =1 {vor einer Minute} other {vor # Minuten}}", + "HoursAgo": "{hours, plural, =0 {vor weniger als einer Stunde} =1 {vor einer Stunde} other {vor # Stunden}}", + "DaysAgo": "{days, plural, =0 {heute} =1 {gestern} other {vor # Tagen}}", + "MonthsAgo": "{months, plural, =0 {diesen Monat} =1 {vor einem Monat} other {vor # Monaten}}", + "YearsAgo": "{years, plural, =0 {dieses Jahr} =1 {vor einem Jahr} other {vor # Jahren}}", + "Minutes": "{minutes, plural, =0 {weniger als eine Minute} =1 {eine Minute} other {# Minuten}}", + "Hours": "{hours, plural, =0 {weniger als eine Stunde} =1 {eine Stunde} other {# Stunden}}", + "Days": "{days, plural, =0 {heute} =1 {1 Tag} other {# Tage}}", + "Weeks": "{weeks, plural, =0 {diese Woche} =1 {1 Woche} other {# Wochen}}", + "Months": "{months, plural, =0 {diesen Monat} =1 {1 Monat} other {# Monate}}", + "Years": "{years, plural, =0 {dieses Jahr} =1 {ein Jahr} other {# Jahre}}", + "Before": "Vor", + "After": "Nach", + "MinutesShort": "{value}m", + "HoursShort": "{value}h", + "DaysShort": "{value}t", + "ShowMore": "Mehr anzeigen", + "ShowLess": "Weniger anzeigen", + "Search": "Suchen", + "SearchDots": "Suchen...", + "SearchResults": "Suchergebnisse", + "Suggested": "Vorgeschlagen", + "TimeTooltip": "{value}", + "SelectDate": "Datum auswählen", + "None": "Keine", + "NotSelected": "Nicht ausgewählt", + "Today": "Heute", + "NoDate": "Kein Datum", + "StartDate": "Startdatum", + "TargetDate": "Zieldatum", + "Overdue": "Überfällig", + "DueDate": "Fälligkeitsdatum", + "AddDueDate": "Fälligkeitsdatum hinzufügen", + "SetDueDate": "Fälligkeitsdatum festlegen", + "EditDueDate": "Fälligkeitsdatum bearbeiten", + "SaveDueDate": "Fälligkeitsdatum speichern", + "NeedsToBeCompletedByThisDate": "Muss bis zu diesem Datum abgeschlossen sein", + "DueDatePopupTitle": "Fällig am {value}", + "DueDatePopupOverdueTitle": "War fällig am {value}", + "DueDatePopupDescription": "{value, plural, =0 {Heute} =1 {Morgen} other {noch # Tage}}", + "DueDatePopupOverdueDescription": "{value, plural, =1 {1 Tag überfällig} other {# Tage überfällig}}", + "English": "Englisch", + "Russian": "Russisch", + "Portuguese": "Portugiesisch", + "PortugueseBrazil": "Português (Brasil)", + "Spanish": "Spanisch", + "Chinese": "Chinesisch", + "French": "Französisch", + "Italian": "Italienisch", + "Czech": "Tschechisch", + "German": "Deutsch", + "Japanese": "Japanisch", + "Korean": "Koreanisch", + "Turkish": "Türkçe", + "MinutesBefore": "{minutes, plural, =1 {eine Minute vorher} other {# Minuten vorher}}", + "HoursBefore": "{hours, plural, =1 {eine Stunde vorher} other {# Stunden vorher}}", + "DaysBefore": "{days, plural, =1 {einen Tag vorher} other {# Tage vorher}}", + "WeeksBefore": "{weeks, plural, =1 {eine Woche vorher} other {# Wochen vorher}}", + "MonthsBefore": "{months, plural, =1 {einen Monat vorher} other {# Monate vorher}}", + "MinutesAfter": "{minutes, plural, =1 {in einer Minute} other {in # Minuten}}", + "HoursAfter": "{hours, plural, =1 {in einer Stunde} other {in # Stunden}}", + "DaysAfter": "{days, plural, =1 {in einem Tag} other {in # Tagen}}", + "WeeksAfter": "{weeks, plural, =1 {in einer Woche} other {in # Wochen}}", + "MonthsAfter": "{months, plural, =1 {in einem Monat} other {in # Monaten}}", + "NoActionsDefined": "Keine Aktionen verfügbar", + "Incoming": "Eingehend", + "HoursLabel": "Stunden", + "Back": "Zurück", + "Next": "Weiter", + "DropdownDefaultLabel": "Element auswählen", + "DD": "TT", + "MM": "MM", + "YYYY": "JJJJ", + "HH": "HH", + "Remove": "Entfernen", + "NoResults": "Keine Ergebnisse", + "MoreCount": "{count} weitere", + "Spacious": "Geräumig", + "Compact": "Kompakt", + "ThemeLight": "Hell", + "ThemeDark": "Dunkel", + "ThemeSystem": "System", + "NoTimeZonesFound": "Keine Zeitzonen gefunden", + "Selected": "Ausgewählt:", + "Submit": "Absenden", + "NextStep": "Nächster Schritt", + "TypeHere": "Hier eingeben...", + "NormalSize": "Normale Größe", + "FullSize": "Volle Größe", + "UseMaxWidth": "Maximale Breite", + "Sidebar": "Seitenleiste", + "FontSize": "Schriftgröße", + "Language": "Sprache", + "DaysWOValue": "{days, plural, =1 {Tag} other {Tage}}", + "WeeksWOValue": "{weeks, plural, =1 {Woche} other {Wochen}}", + "MonthsWOValue": "{months, plural, =1 {Monat} other {Monate}}", + "Filter": "Filter", + "Clear": "Löschen", + "Yesterday": "Gestern", + "ThisWeek": "Diese Woche", + "ThisMonth": "Diesen Monat", + "ThisYear": "Dieses Jahr", + "EmojiStyle": "Emoji-Stil", + "EmojiSystem": "Systemstandard", + "EmojiNoto": "Noto Color" + } } diff --git a/packages/ui/lang/en.json b/packages/ui/lang/en.json index 4e77c59088..e80195398e 100644 --- a/packages/ui/lang/en.json +++ b/packages/ui/lang/en.json @@ -1,114 +1,115 @@ { - "string": { - "EditBoxPlaceholder": "Type text...", - "Ok": "Ok", - "Cancel": "Cancel", - "Save": "Save", - "Publish": "Publish", - "SaveDraft": "Save draft", - "MinutesAgo": "{minutes, plural, =0 {less than a minute ago} =1 {a minute ago} other {# minutes ago}}", - "HoursAgo": "{hours, plural, =0 {less than an hour ago} =1 {an hour ago} other {# hours ago}}", - "DaysAgo": "{days, plural, =0 {today} =1 {yesterday} other {# days ago}}", - "MonthsAgo": "{months, plural, =0 {this month} =1 {a month ago} other {# months ago}}", - "YearsAgo": "{years, plural, =0 {this year} =1 {a year ago} other {# years ago}}", - "Minutes": "{minutes, plural, =0 {less than a minute} =1 {a minute} other {# minutes}}", - "Hours": "{hours, plural, =0 {less than an hour} =1 {an hour} other {# hours}}", - "Days": "{days, plural, =0 {today} =1 {1 day} other {# days }}", - "Weeks": "{weeks, plural, =0 {this week} =1 {1 week} other {# weeks}}", - "Months": "{months, plural, =0 {this month} =1 {1 month} other {# months}}", - "Years": "{years, plural, =0 {this year} =1 {a year} other {# years}}", - "Before": "Before", - "After": "After", - "MinutesShort": "{value}m", - "HoursShort": "{value}h", - "DaysShort": "{value}d", - "ShowMore": "Show more", - "ShowLess": "Show less", - "Search": "Search", - "SearchDots": "Search...", - "SearchResults": "Search Results", - "Suggested": "Suggested", - "TimeTooltip": "{value}", - "SelectDate": "Select date", - "None": "None", - "NotSelected": "Not selected", - "Today": "Today", - "NoDate": "No date", - "StartDate": "Start date", - "TargetDate": "Target date", - "Overdue": "Overdue", - "DueDate": "Due date", - "AddDueDate": "Add due date", - "SetDueDate": "Set due date", - "EditDueDate": "Edit due date", - "SaveDueDate": "Save due date", - "NeedsToBeCompletedByThisDate": "Needs to be completed by this date", - "DueDatePopupTitle": "Due on {value}", - "DueDatePopupOverdueTitle": "Was due on {value}", - "DueDatePopupDescription": "{value, plural, =0 {Today} =1 {Tomorrow} other {# days remaining}}", - "DueDatePopupOverdueDescription": "{value, plural, =1 {1 day overdue} other {# days overdue}}", - "English": "English", - "Russian": "Русский", - "Portuguese": "Português", - "PortugueseBrazil": "Português (Brasil)", - "Spanish": "Español", - "Chinese": "中文", - "French": "Français", - "Italian": "Italiano", - "Czech": "Čeština", - "German": "Deutsch", - "Japanese": "日本語", - "Turkish": "Türkçe", - "MinutesBefore": "{minutes, plural, =1 {a minute before} other {# minutes before}}", - "HoursBefore": "{hours, plural, =1 {an hour before} other {# hours before}}", - "DaysBefore": "{days, plural, =1 {a day before} other {# days before}}", - "WeeksBefore": "{weeks, plural, =1 {a week before} other {# weeks before}}", - "MonthsBefore": "{months, plural, =1 {a months before} other {# months before}}", - "MinutesAfter": "{minutes, plural, =1 {in a minute} other {in # minutes}}", - "HoursAfter": "{hours, plural, =1 {in an hour} other {in # hours}}", - "DaysAfter": "{days, plural, =1 {in a day} other {in # days}}", - "WeeksAfter": "{weeks, plural, =1 {in a day} other {in # weeks}}", - "MonthsAfter": "{months, plural, =1 {in a month} other {in # months}}", - "NoActionsDefined": "No actions applicable", - "Incoming": "Incoming", - "HoursLabel": "Hours", - "Back": "Back", - "Next": "Next", - "DropdownDefaultLabel": "Select Item", - "DD": "DD", - "MM": "MM", - "YYYY": "YYYY", - "HH": "HH", - "Remove": "Remove", - "NoResults": "No Results", - "MoreCount": "{count} more", - "Spacious": "Spacious", - "Compact": "Compact", - "ThemeLight": "Light", - "ThemeDark": "Dark", - "ThemeSystem": "System", - "NoTimeZonesFound": "No time zones found", - "Selected": "Selected:", - "Submit": "Submit", - "NextStep": "Next step", - "TypeHere": "Type here...", - "NormalSize": "Normal size", - "FullSize": "Full size", - "UseMaxWidth": "Max width", - "Sidebar": "Sidebar", - "FontSize": "Font size", - "Language": "Language", - "DaysWOValue": "{days, plural, =1 {day} other {days}}", - "WeeksWOValue": "{weeks, plural, =1 {week} other {weeks}}", - "MonthsWOValue": "{months, plural, =1 {month} other {months}}", - "Filter": "Filter", - "Clear": "Clear", - "Yesterday": "Yesterday", - "ThisWeek": "This week", - "ThisMonth": "This month", - "ThisYear": "This year", - "EmojiStyle": "Emoji Style", - "EmojiSystem": "System Default", - "EmojiNoto": "Noto Color" - } + "string": { + "EditBoxPlaceholder": "Type text...", + "Ok": "Ok", + "Cancel": "Cancel", + "Save": "Save", + "Publish": "Publish", + "SaveDraft": "Save draft", + "MinutesAgo": "{minutes, plural, =0 {less than a minute ago} =1 {a minute ago} other {# minutes ago}}", + "HoursAgo": "{hours, plural, =0 {less than an hour ago} =1 {an hour ago} other {# hours ago}}", + "DaysAgo": "{days, plural, =0 {today} =1 {yesterday} other {# days ago}}", + "MonthsAgo": "{months, plural, =0 {this month} =1 {a month ago} other {# months ago}}", + "YearsAgo": "{years, plural, =0 {this year} =1 {a year ago} other {# years ago}}", + "Minutes": "{minutes, plural, =0 {less than a minute} =1 {a minute} other {# minutes}}", + "Hours": "{hours, plural, =0 {less than an hour} =1 {an hour} other {# hours}}", + "Days": "{days, plural, =0 {today} =1 {1 day} other {# days }}", + "Weeks": "{weeks, plural, =0 {this week} =1 {1 week} other {# weeks}}", + "Months": "{months, plural, =0 {this month} =1 {1 month} other {# months}}", + "Years": "{years, plural, =0 {this year} =1 {a year} other {# years}}", + "Before": "Before", + "After": "After", + "MinutesShort": "{value}m", + "HoursShort": "{value}h", + "DaysShort": "{value}d", + "ShowMore": "Show more", + "ShowLess": "Show less", + "Search": "Search", + "SearchDots": "Search...", + "SearchResults": "Search Results", + "Suggested": "Suggested", + "TimeTooltip": "{value}", + "SelectDate": "Select date", + "None": "None", + "NotSelected": "Not selected", + "Today": "Today", + "NoDate": "No date", + "StartDate": "Start date", + "TargetDate": "Target date", + "Overdue": "Overdue", + "DueDate": "Due date", + "AddDueDate": "Add due date", + "SetDueDate": "Set due date", + "EditDueDate": "Edit due date", + "SaveDueDate": "Save due date", + "NeedsToBeCompletedByThisDate": "Needs to be completed by this date", + "DueDatePopupTitle": "Due on {value}", + "DueDatePopupOverdueTitle": "Was due on {value}", + "DueDatePopupDescription": "{value, plural, =0 {Today} =1 {Tomorrow} other {# days remaining}}", + "DueDatePopupOverdueDescription": "{value, plural, =1 {1 day overdue} other {# days overdue}}", + "English": "English", + "Russian": "Русский", + "Portuguese": "Português", + "PortugueseBrazil": "Português (Brasil)", + "Spanish": "Español", + "Chinese": "中文", + "French": "Français", + "Italian": "Italiano", + "Czech": "Čeština", + "German": "Deutsch", + "Japanese": "日本語", + "Korean": "Korean", + "Turkish": "Türkçe", + "MinutesBefore": "{minutes, plural, =1 {a minute before} other {# minutes before}}", + "HoursBefore": "{hours, plural, =1 {an hour before} other {# hours before}}", + "DaysBefore": "{days, plural, =1 {a day before} other {# days before}}", + "WeeksBefore": "{weeks, plural, =1 {a week before} other {# weeks before}}", + "MonthsBefore": "{months, plural, =1 {a months before} other {# months before}}", + "MinutesAfter": "{minutes, plural, =1 {in a minute} other {in # minutes}}", + "HoursAfter": "{hours, plural, =1 {in an hour} other {in # hours}}", + "DaysAfter": "{days, plural, =1 {in a day} other {in # days}}", + "WeeksAfter": "{weeks, plural, =1 {in a day} other {in # weeks}}", + "MonthsAfter": "{months, plural, =1 {in a month} other {in # months}}", + "NoActionsDefined": "No actions applicable", + "Incoming": "Incoming", + "HoursLabel": "Hours", + "Back": "Back", + "Next": "Next", + "DropdownDefaultLabel": "Select Item", + "DD": "DD", + "MM": "MM", + "YYYY": "YYYY", + "HH": "HH", + "Remove": "Remove", + "NoResults": "No Results", + "MoreCount": "{count} more", + "Spacious": "Spacious", + "Compact": "Compact", + "ThemeLight": "Light", + "ThemeDark": "Dark", + "ThemeSystem": "System", + "NoTimeZonesFound": "No time zones found", + "Selected": "Selected:", + "Submit": "Submit", + "NextStep": "Next step", + "TypeHere": "Type here...", + "NormalSize": "Normal size", + "FullSize": "Full size", + "UseMaxWidth": "Max width", + "Sidebar": "Sidebar", + "FontSize": "Font size", + "Language": "Language", + "DaysWOValue": "{days, plural, =1 {day} other {days}}", + "WeeksWOValue": "{weeks, plural, =1 {week} other {weeks}}", + "MonthsWOValue": "{months, plural, =1 {month} other {months}}", + "Filter": "Filter", + "Clear": "Clear", + "Yesterday": "Yesterday", + "ThisWeek": "This week", + "ThisMonth": "This month", + "ThisYear": "This year", + "EmojiStyle": "Emoji Style", + "EmojiSystem": "System Default", + "EmojiNoto": "Noto Color" + } } diff --git a/packages/ui/lang/es.json b/packages/ui/lang/es.json index a4cdd82b0d..fbc22256d1 100644 --- a/packages/ui/lang/es.json +++ b/packages/ui/lang/es.json @@ -1,114 +1,115 @@ { - "string": { - "EditBoxPlaceholder": "Escribe un texto...", - "Ok": "Aceptar", - "Cancel": "Cancelar", - "Save": "Guardar", - "Publish": "Publicar", - "SaveDraft": "Guardar borrador", - "MinutesAgo": "{minutes, plural, =0 {hace menos de un minuto} =1 {hace un minuto} other {hace # minutos}}", - "HoursAgo": "{hours, plural, =0 {hace menos de una hora} =1 {hace una hora} other {hace # horas}}", - "DaysAgo": "{days, plural, =0 {hoy} =1 {ayer} other {hace # días}}", - "MonthsAgo": "{months, plural, =0 {este mes} =1 {hace un mes} other {hace # meses}}", - "YearsAgo": "{years, plural, =0 {este año} =1 {hace un año} other {hace # años}}", - "Minutes": "{minutes, plural, =0 {menos de un minuto} =1 {un minuto} other {# minutos}}", - "Hours": "{hours, plural, =0 {menos de una hora} =1 {una hora} other {# horas}}", - "Days": "{days, plural, =0 {hoy} =1 {1 día} other {# días}}", - "Weeks": "{weeks, plural, =0 {esta semana} =1 {1 semana} other {# semanas}}", - "Months": "{months, plural, =0 {este mes} =1 {1 mes} other {# meses}}", - "Years": "{years, plural, =0 {este año} =1 {un año} other {# años}}", - "Before": "Antes", - "After": "Después", - "MinutesShort": "{value}m", - "HoursShort": "{value}h", - "DaysShort": "{value}d", - "ShowMore": "Mostrar más", - "ShowLess": "Mostrar menos", - "Search": "Buscar", - "SearchDots": "Buscar...", - "SearchResults": "Resultados de la búsqueda", - "Suggested": "Sugerido", - "TimeTooltip": "{value}", - "SelectDate": "Seleccionar fecha", - "None": "Ninguno", - "NotSelected": "No seleccionado", - "Today": "Hoy", - "NoDate": "Sin fecha", - "StartDate": "Fecha de inicio", - "TargetDate": "Fecha objetivo", - "Overdue": "Atrasado", - "DueDate": "Fecha límite", - "AddDueDate": "Agregar fecha límite", - "SetDueDate": "Establecer fecha límite", - "EditDueDate": "Editar fecha límite", - "SaveDueDate": "Guardar fecha límite", - "NeedsToBeCompletedByThisDate": "Debe completarse para esta fecha", - "DueDatePopupTitle": "Para el {value}", - "DueDatePopupOverdueTitle": "Debía ser para el {value}", - "DueDatePopupDescription": "{value, plural, =0 {Hoy} =1 {Mañana} other {# días restantes}}", - "DueDatePopupOverdueDescription": "{value, plural, =1 {1 día de retraso} other {# días de retraso}}", - "English": "English", - "Russian": "Русский", - "Portuguese": "Português", - "PortugueseBrazil": "Português (Brasil)", - "Spanish": "Español", - "Chinese": "中文", - "French": "Français", - "Italian": "Italiano", - "Czech": "Čeština", - "German": "Deutsch", - "Japanese": "日本語", - "Turkish": "Türkçe", - "MinutesBefore": "{minutes, plural, =1 {un minuto antes} other {# minutos antes}}", - "HoursBefore": "{hours, plural, =1 {una hora antes} other {# horas antes}}", - "DaysBefore": "{days, plural, =1 {un día antes} other {# días antes}}", - "WeeksBefore": "{weeks, plural, =1 {una semana antes} other {# semanas antes}}", - "MonthsBefore": "{months, plural, =1 {un mes antes} other {# meses antes}}", - "MinutesAfter": "{minutes, plural, =1 {en un minuto} other {en # minutos}}", - "HoursAfter": "{hours, plural, =1 {en una hora} other {en # horas}}", - "DaysAfter": "{days, plural, =1 {en un día} other {en # días}}", - "WeeksAfter": "{weeks, plural, =1 {en un día} other {en # semanas}}", - "MonthsAfter": "{months, plural, =1 {en un mes} other {en # meses}}", - "NoActionsDefined": "No actions applicable", - "Incoming": "Entrante", - "HoursLabel": "Horas", - "Back": "Atrás", - "Next": "Siguiente", - "DropdownDefaultLabel": "Seleccionar elemento", - "DD": "DD", - "MM": "MM", - "YYYY": "AAAA", - "HH": "HH", - "Remove": "Eliminar", - "NoResults": "Sin Resultados", - "MoreCount": "{count} más", - "Spacious": "Espacioso", - "Compact": "Compacto", - "ThemeLight": "Claro", - "ThemeDark": "Oscuro", - "ThemeSystem": "Sistema", - "NoTimeZonesFound": "No se encontraron zonas horarias", - "Selected": "Seleccionado:", - "Submit": "Enviar", - "NextStep": "Siguiente paso", - "TypeHere": "Escribe aquí...", - "NormalSize": "Tamaño normal", - "FullSize": "Tamaño completo", - "UseMaxWidth": "Ancho máximo", - "Sidebar": "Barra lateral", - "FontSize": "Tamaño de fuente", - "Language": "Idioma", - "DaysWOValue": "{days, plural, =1 {día} other {días}}", - "WeeksWOValue": "{weeks, plural, =1 {semana} other {semanas}}", - "MonthsWOValue": "{months, plural, =1 {mes} other {meses}}", - "Filter": "Filtrar", - "Clear": "Limpiar", - "Yesterday": "Ayer", - "ThisWeek": "Esta semana", - "ThisMonth": "Este mes", - "ThisYear": "Este año", - "EmojiStyle": "Estilo de emoji", - "EmojiSystem": "Predeterminado del sistema", - "EmojiNoto": "Noto Color" - } + "string": { + "EditBoxPlaceholder": "Escribe un texto...", + "Ok": "Aceptar", + "Cancel": "Cancelar", + "Save": "Guardar", + "Publish": "Publicar", + "SaveDraft": "Guardar borrador", + "MinutesAgo": "{minutes, plural, =0 {hace menos de un minuto} =1 {hace un minuto} other {hace # minutos}}", + "HoursAgo": "{hours, plural, =0 {hace menos de una hora} =1 {hace una hora} other {hace # horas}}", + "DaysAgo": "{days, plural, =0 {hoy} =1 {ayer} other {hace # días}}", + "MonthsAgo": "{months, plural, =0 {este mes} =1 {hace un mes} other {hace # meses}}", + "YearsAgo": "{years, plural, =0 {este año} =1 {hace un año} other {hace # años}}", + "Minutes": "{minutes, plural, =0 {menos de un minuto} =1 {un minuto} other {# minutos}}", + "Hours": "{hours, plural, =0 {menos de una hora} =1 {una hora} other {# horas}}", + "Days": "{days, plural, =0 {hoy} =1 {1 día} other {# días}}", + "Weeks": "{weeks, plural, =0 {esta semana} =1 {1 semana} other {# semanas}}", + "Months": "{months, plural, =0 {este mes} =1 {1 mes} other {# meses}}", + "Years": "{years, plural, =0 {este año} =1 {un año} other {# años}}", + "Before": "Antes", + "After": "Después", + "MinutesShort": "{value}m", + "HoursShort": "{value}h", + "DaysShort": "{value}d", + "ShowMore": "Mostrar más", + "ShowLess": "Mostrar menos", + "Search": "Buscar", + "SearchDots": "Buscar...", + "SearchResults": "Resultados de la búsqueda", + "Suggested": "Sugerido", + "TimeTooltip": "{value}", + "SelectDate": "Seleccionar fecha", + "None": "Ninguno", + "NotSelected": "No seleccionado", + "Today": "Hoy", + "NoDate": "Sin fecha", + "StartDate": "Fecha de inicio", + "TargetDate": "Fecha objetivo", + "Overdue": "Atrasado", + "DueDate": "Fecha límite", + "AddDueDate": "Agregar fecha límite", + "SetDueDate": "Establecer fecha límite", + "EditDueDate": "Editar fecha límite", + "SaveDueDate": "Guardar fecha límite", + "NeedsToBeCompletedByThisDate": "Debe completarse para esta fecha", + "DueDatePopupTitle": "Para el {value}", + "DueDatePopupOverdueTitle": "Debía ser para el {value}", + "DueDatePopupDescription": "{value, plural, =0 {Hoy} =1 {Mañana} other {# días restantes}}", + "DueDatePopupOverdueDescription": "{value, plural, =1 {1 día de retraso} other {# días de retraso}}", + "English": "English", + "Russian": "Русский", + "Portuguese": "Português", + "PortugueseBrazil": "Português (Brasil)", + "Spanish": "Español", + "Chinese": "中文", + "French": "Français", + "Italian": "Italiano", + "Czech": "Čeština", + "German": "Deutsch", + "Japanese": "日本語", + "Korean": "Coreano", + "Turkish": "Türkçe", + "MinutesBefore": "{minutes, plural, =1 {un minuto antes} other {# minutos antes}}", + "HoursBefore": "{hours, plural, =1 {una hora antes} other {# horas antes}}", + "DaysBefore": "{days, plural, =1 {un día antes} other {# días antes}}", + "WeeksBefore": "{weeks, plural, =1 {una semana antes} other {# semanas antes}}", + "MonthsBefore": "{months, plural, =1 {un mes antes} other {# meses antes}}", + "MinutesAfter": "{minutes, plural, =1 {en un minuto} other {en # minutos}}", + "HoursAfter": "{hours, plural, =1 {en una hora} other {en # horas}}", + "DaysAfter": "{days, plural, =1 {en un día} other {en # días}}", + "WeeksAfter": "{weeks, plural, =1 {en un día} other {en # semanas}}", + "MonthsAfter": "{months, plural, =1 {en un mes} other {en # meses}}", + "NoActionsDefined": "No actions applicable", + "Incoming": "Entrante", + "HoursLabel": "Horas", + "Back": "Atrás", + "Next": "Siguiente", + "DropdownDefaultLabel": "Seleccionar elemento", + "DD": "DD", + "MM": "MM", + "YYYY": "AAAA", + "HH": "HH", + "Remove": "Eliminar", + "NoResults": "Sin Resultados", + "MoreCount": "{count} más", + "Spacious": "Espacioso", + "Compact": "Compacto", + "ThemeLight": "Claro", + "ThemeDark": "Oscuro", + "ThemeSystem": "Sistema", + "NoTimeZonesFound": "No se encontraron zonas horarias", + "Selected": "Seleccionado:", + "Submit": "Enviar", + "NextStep": "Siguiente paso", + "TypeHere": "Escribe aquí...", + "NormalSize": "Tamaño normal", + "FullSize": "Tamaño completo", + "UseMaxWidth": "Ancho máximo", + "Sidebar": "Barra lateral", + "FontSize": "Tamaño de fuente", + "Language": "Idioma", + "DaysWOValue": "{days, plural, =1 {día} other {días}}", + "WeeksWOValue": "{weeks, plural, =1 {semana} other {semanas}}", + "MonthsWOValue": "{months, plural, =1 {mes} other {meses}}", + "Filter": "Filtrar", + "Clear": "Limpiar", + "Yesterday": "Ayer", + "ThisWeek": "Esta semana", + "ThisMonth": "Este mes", + "ThisYear": "Este año", + "EmojiStyle": "Estilo de emoji", + "EmojiSystem": "Predeterminado del sistema", + "EmojiNoto": "Noto Color" + } } diff --git a/packages/ui/lang/fr.json b/packages/ui/lang/fr.json index 353bf2e553..16a0e6c111 100644 --- a/packages/ui/lang/fr.json +++ b/packages/ui/lang/fr.json @@ -1,114 +1,115 @@ { - "string": { - "EditBoxPlaceholder": "Tapez du texte...", - "Ok": "Ok", - "Cancel": "Annuler", - "Save": "Enregistrer", - "Publish": "Publier", - "SaveDraft": "Enregistrer le brouillon", - "MinutesAgo": "{minutes, plural, =0 {il y a moins d'une minute} =1 {il y a une minute} other {il y a # minutes}}", - "HoursAgo": "{hours, plural, =0 {il y a moins d'une heure} =1 {il y a une heure} other {il y a # heures}}", - "DaysAgo": "{days, plural, =0 {aujourd'hui} =1 {hier} other {il y a # jours}}", - "MonthsAgo": "{months, plural, =0 {ce mois-ci} =1 {il y a un mois} other {il y a # mois}}", - "YearsAgo": "{years, plural, =0 {cette année} =1 {il y a un an} other {il y a # ans}}", - "Minutes": "{minutes, plural, =0 {moins d'une minute} =1 {une minute} other {# minutes}}", - "Hours": "{hours, plural, =0 {moins d'une heure} =1 {une heure} other {# heures}}", - "Days": "{days, plural, =0 {aujourd'hui} =1 {1 jour} other {# jours}}", - "Weeks": "{weeks, plural, =0 {cette semaine} =1 {1 semaine} other {# semaines}}", - "Months": "{months, plural, =0 {ce mois-ci} =1 {1 mois} other {# mois}}", - "Years": "{years, plural, =0 {cette année} =1 {un an} other {# ans}}", - "Before": "Avant", - "After": "Après", - "MinutesShort": "{value}m", - "HoursShort": "{value}h", - "DaysShort": "{value}j", - "ShowMore": "Afficher plus", - "ShowLess": "Afficher moins", - "Search": "Rechercher", - "SearchDots": "Recherche...", - "SearchResults": "Résultats de la recherche", - "Suggested": "Suggéré", - "TimeTooltip": "{value}", - "SelectDate": "Sélectionner une date", - "None": "Aucun", - "NotSelected": "Non sélectionné", - "Today": "Aujourd'hui", - "NoDate": "Aucune date", - "StartDate": "Date de début", - "TargetDate": "Date cible", - "Overdue": "En retard", - "DueDate": "Date d'échéance", - "AddDueDate": "Ajouter une date d'échéance", - "SetDueDate": "Définir la date d'échéance", - "EditDueDate": "Modifier la date d'échéance", - "SaveDueDate": "Enregistrer la date d'échéance", - "NeedsToBeCompletedByThisDate": "Doit être terminé à cette date", - "DueDatePopupTitle": "À échéance le {value}", - "DueDatePopupOverdueTitle": "Était à échéance le {value}", - "DueDatePopupDescription": "{value, plural, =0 {Aujourd'hui} =1 {Demain} other {# jours restants}}", - "DueDatePopupOverdueDescription": "{value, plural, =1 {1 jour de retard} other {# jours de retard}}", - "English": "English", - "Russian": "Русский", - "Portuguese": "Português", - "PortugueseBrazil": "Português (Brasil)", - "Spanish": "Español", - "Chinese": "中文", - "French": "Français", - "Italian": "Italiano", - "Czech": "Čeština", - "German": "Deutsch", - "Japanese": "日本語", - "Turkish": "Türkçe", - "MinutesBefore": "{minutes, plural, =1 {une minute avant} other {# minutes avant}}", - "HoursBefore": "{hours, plural, =1 {une heure avant} other {# heures avant}}", - "DaysBefore": "{days, plural, =1 {un jour avant} other {# jours avant}}", - "WeeksBefore": "{weeks, plural, =1 {une semaine avant} other {# semaines avant}}", - "MonthsBefore": "{months, plural, =1 {un mois avant} other {# mois avant}}", - "MinutesAfter": "{minutes, plural, =1 {dans une minute} other {dans # minutes}}", - "HoursAfter": "{hours, plural, =1 {dans une heure} other {dans # heures}}", - "DaysAfter": "{days, plural, =1 {dans un jour} other {dans # jours}}", - "WeeksAfter": "{weeks, plural, =1 {dans une semaine} other {dans # semaines}}", - "MonthsAfter": "{months, plural, =1 {dans un mois} other {dans # mois}}", - "NoActionsDefined": "Aucune action applicable", - "Incoming": "Entrant", - "HoursLabel": "Heures", - "Back": "Retour", - "Next": "Suivant", - "DropdownDefaultLabel": "Sélectionner un élément", - "DD": "JJ", - "MM": "MM", - "YYYY": "AAAA", - "HH": "HH", - "Remove": "Supprimer", - "NoResults": "Aucun Résultat", - "MoreCount": "{count} de plus", - "Spacious": "Spacieux", - "Compact": "Compact", - "ThemeLight": "Clair", - "ThemeDark": "Sombre", - "ThemeSystem": "Système", - "NoTimeZonesFound": "Aucun fuseau horaire trouvé", - "Selected": "Sélectionné :", - "Submit": "Soumettre", - "NextStep": "Étape suivante", - "TypeHere": "Tapez ici...", - "NormalSize": "Taille normale", - "FullSize": "Taille réelle", - "UseMaxWidth": "Largeur maximale", - "Sidebar": "Barre latérale", - "FontSize": "Taille de police", - "Language": "Langue", - "DaysWOValue": "{days, plural, =1 {jour} other {jours}}", - "WeeksWOValue": "{weeks, plural, =1 {semaine} other {semaines}}", - "MonthsWOValue": "{months, plural, =1 {mois} other {mois}}", - "Filter": "Filtrer", - "Clear": "Effacer", - "Yesterday": "Hier", - "ThisWeek": "Cette semaine", - "ThisMonth": "Ce mois-ci", - "ThisYear": "Cette année", - "EmojiStyle": "Style d'émoji", - "EmojiSystem": "Par défaut du système", - "EmojiNoto": "Noto Color" - } + "string": { + "EditBoxPlaceholder": "Tapez du texte...", + "Ok": "Ok", + "Cancel": "Annuler", + "Save": "Enregistrer", + "Publish": "Publier", + "SaveDraft": "Enregistrer le brouillon", + "MinutesAgo": "{minutes, plural, =0 {il y a moins d'une minute} =1 {il y a une minute} other {il y a # minutes}}", + "HoursAgo": "{hours, plural, =0 {il y a moins d'une heure} =1 {il y a une heure} other {il y a # heures}}", + "DaysAgo": "{days, plural, =0 {aujourd'hui} =1 {hier} other {il y a # jours}}", + "MonthsAgo": "{months, plural, =0 {ce mois-ci} =1 {il y a un mois} other {il y a # mois}}", + "YearsAgo": "{years, plural, =0 {cette année} =1 {il y a un an} other {il y a # ans}}", + "Minutes": "{minutes, plural, =0 {moins d'une minute} =1 {une minute} other {# minutes}}", + "Hours": "{hours, plural, =0 {moins d'une heure} =1 {une heure} other {# heures}}", + "Days": "{days, plural, =0 {aujourd'hui} =1 {1 jour} other {# jours}}", + "Weeks": "{weeks, plural, =0 {cette semaine} =1 {1 semaine} other {# semaines}}", + "Months": "{months, plural, =0 {ce mois-ci} =1 {1 mois} other {# mois}}", + "Years": "{years, plural, =0 {cette année} =1 {un an} other {# ans}}", + "Before": "Avant", + "After": "Après", + "MinutesShort": "{value}m", + "HoursShort": "{value}h", + "DaysShort": "{value}j", + "ShowMore": "Afficher plus", + "ShowLess": "Afficher moins", + "Search": "Rechercher", + "SearchDots": "Recherche...", + "SearchResults": "Résultats de la recherche", + "Suggested": "Suggéré", + "TimeTooltip": "{value}", + "SelectDate": "Sélectionner une date", + "None": "Aucun", + "NotSelected": "Non sélectionné", + "Today": "Aujourd'hui", + "NoDate": "Aucune date", + "StartDate": "Date de début", + "TargetDate": "Date cible", + "Overdue": "En retard", + "DueDate": "Date d'échéance", + "AddDueDate": "Ajouter une date d'échéance", + "SetDueDate": "Définir la date d'échéance", + "EditDueDate": "Modifier la date d'échéance", + "SaveDueDate": "Enregistrer la date d'échéance", + "NeedsToBeCompletedByThisDate": "Doit être terminé à cette date", + "DueDatePopupTitle": "À échéance le {value}", + "DueDatePopupOverdueTitle": "Était à échéance le {value}", + "DueDatePopupDescription": "{value, plural, =0 {Aujourd'hui} =1 {Demain} other {# jours restants}}", + "DueDatePopupOverdueDescription": "{value, plural, =1 {1 jour de retard} other {# jours de retard}}", + "English": "English", + "Russian": "Русский", + "Portuguese": "Português", + "PortugueseBrazil": "Português (Brasil)", + "Spanish": "Español", + "Chinese": "中文", + "French": "Français", + "Italian": "Italiano", + "Czech": "Čeština", + "German": "Deutsch", + "Japanese": "日本語", + "Korean": "Coréen", + "Turkish": "Türkçe", + "MinutesBefore": "{minutes, plural, =1 {une minute avant} other {# minutes avant}}", + "HoursBefore": "{hours, plural, =1 {une heure avant} other {# heures avant}}", + "DaysBefore": "{days, plural, =1 {un jour avant} other {# jours avant}}", + "WeeksBefore": "{weeks, plural, =1 {une semaine avant} other {# semaines avant}}", + "MonthsBefore": "{months, plural, =1 {un mois avant} other {# mois avant}}", + "MinutesAfter": "{minutes, plural, =1 {dans une minute} other {dans # minutes}}", + "HoursAfter": "{hours, plural, =1 {dans une heure} other {dans # heures}}", + "DaysAfter": "{days, plural, =1 {dans un jour} other {dans # jours}}", + "WeeksAfter": "{weeks, plural, =1 {dans une semaine} other {dans # semaines}}", + "MonthsAfter": "{months, plural, =1 {dans un mois} other {dans # mois}}", + "NoActionsDefined": "Aucune action applicable", + "Incoming": "Entrant", + "HoursLabel": "Heures", + "Back": "Retour", + "Next": "Suivant", + "DropdownDefaultLabel": "Sélectionner un élément", + "DD": "JJ", + "MM": "MM", + "YYYY": "AAAA", + "HH": "HH", + "Remove": "Supprimer", + "NoResults": "Aucun Résultat", + "MoreCount": "{count} de plus", + "Spacious": "Spacieux", + "Compact": "Compact", + "ThemeLight": "Clair", + "ThemeDark": "Sombre", + "ThemeSystem": "Système", + "NoTimeZonesFound": "Aucun fuseau horaire trouvé", + "Selected": "Sélectionné :", + "Submit": "Soumettre", + "NextStep": "Étape suivante", + "TypeHere": "Tapez ici...", + "NormalSize": "Taille normale", + "FullSize": "Taille réelle", + "UseMaxWidth": "Largeur maximale", + "Sidebar": "Barre latérale", + "FontSize": "Taille de police", + "Language": "Langue", + "DaysWOValue": "{days, plural, =1 {jour} other {jours}}", + "WeeksWOValue": "{weeks, plural, =1 {semaine} other {semaines}}", + "MonthsWOValue": "{months, plural, =1 {mois} other {mois}}", + "Filter": "Filtrer", + "Clear": "Effacer", + "Yesterday": "Hier", + "ThisWeek": "Cette semaine", + "ThisMonth": "Ce mois-ci", + "ThisYear": "Cette année", + "EmojiStyle": "Style d'émoji", + "EmojiSystem": "Par défaut du système", + "EmojiNoto": "Noto Color" + } } diff --git a/packages/ui/lang/it.json b/packages/ui/lang/it.json index 5012a88957..616c419cd4 100644 --- a/packages/ui/lang/it.json +++ b/packages/ui/lang/it.json @@ -1,114 +1,115 @@ { - "string": { - "EditBoxPlaceholder": "Scrivi testo...", - "Ok": "Ok", - "Cancel": "Annulla", - "Save": "Salva", - "Publish": "Pubblica", - "SaveDraft": "Salva bozza", - "MinutesAgo": "{minutes, plural, =0 {meno di un minuto fa} =1 {un minuto fa} other {# minuti fa}}", - "HoursAgo": "{hours, plural, =0 {meno di un'ora fa} =1 {un'ora fa} other {# ore fa}}", - "DaysAgo": "{days, plural, =0 {oggi} =1 {ieri} other {# giorni fa}}", - "MonthsAgo": "{months, plural, =0 {questo mese} =1 {un mese fa} other {# mesi fa}}", - "YearsAgo": "{years, plural, =0 {quest'anno} =1 {un anno fa} other {# anni fa}}", - "Minutes": "{minutes, plural, =0 {meno di un minuto} =1 {un minuto} other {# minuti}}", - "Hours": "{hours, plural, =0 {meno di un'ora} =1 {un'ora} other {# ore}}", - "Days": "{days, plural, =0 {oggi} =1 {1 giorno} other {# giorni }}", - "Weeks": "{weeks, plural, =0 {questa settimana} =1 {1 settimana} other {# settimane}}", - "Months": "{months, plural, =0 {questo mese} =1 {1 mese} other {# mesi}}", - "Years": "{years, plural, =0 {quest'anno} =1 {un anno} other {# anni}}", - "Before": "Prima", - "After": "Dopo", - "MinutesShort": "{value}m", - "HoursShort": "{value}h", - "DaysShort": "{value}g", - "ShowMore": "Mostra di più", - "ShowLess": "Mostra meno", - "Search": "Cerca", - "SearchDots": "Cerca...", - "SearchResults": "Risultati ricerca", - "Suggested": "Suggerito", - "TimeTooltip": "{value}", - "SelectDate": "Seleziona data", - "None": "Nessuno", - "NotSelected": "Non selezionato", - "Today": "Oggi", - "NoDate": "Nessuna data", - "StartDate": "Data di inizio", - "TargetDate": "Data obiettivo", - "Overdue": "In ritardo", - "DueDate": "Data di scadenza", - "AddDueDate": "Aggiungi data di scadenza", - "SetDueDate": "Imposta data di scadenza", - "EditDueDate": "Modifica data di scadenza", - "SaveDueDate": "Salva data di scadenza", - "NeedsToBeCompletedByThisDate": "Deve essere completato entro questa data", - "DueDatePopupTitle": "Scadenza il {value}", - "DueDatePopupOverdueTitle": "Scadeva il {value}", - "DueDatePopupDescription": "{value, plural, =0 {Oggi} =1 {Domani} other {# giorni rimanenti}}", - "DueDatePopupOverdueDescription": "{value, plural, =1 {1 giorno di ritardo} other {# giorni di ritardo}}", - "English": "Inglese", - "Russian": "Русский", - "Portuguese": "Português", - "PortugueseBrazil": "Português (Brasil)", - "Spanish": "Español", - "Chinese": "中文", - "French": "Français", - "Italian": "Italiano", - "Czech": "Čeština", - "German": "Deutsch", - "Japanese": "日本語", - "Turkish": "Türkçe", - "MinutesBefore": "{minutes, plural, =1 {un minuto prima} other {# minuti prima}}", - "HoursBefore": "{hours, plural, =1 {un'ora prima} other {# ore prima}}", - "DaysBefore": "{days, plural, =1 {un giorno prima} other {# giorni prima}}", - "WeeksBefore": "{weeks, plural, =1 {una settimana prima} other {# settimane prima}}", - "MonthsBefore": "{months, plural, =1 {un mese prima} other {# mesi prima}}", - "MinutesAfter": "{minutes, plural, =1 {fra un minuto} other {fra # minuti}}", - "HoursAfter": "{hours, plural, =1 {fra un'ora} other {fra # ore}}", - "DaysAfter": "{days, plural, =1 {fra un giorno} other {fra # giorni}}", - "WeeksAfter": "{weeks, plural, =1 {fra una settimana} other {fra # settimane}}", - "MonthsAfter": "{months, plural, =1 {fra un mese} other {fra # mesi}}", - "NoActionsDefined": "Nessuna azione applicabile", - "Incoming": "In arrivo", - "HoursLabel": "Ore", - "Back": "Indietro", - "Next": "Avanti", - "DropdownDefaultLabel": "Seleziona elemento", - "DD": "GG", - "MM": "MM", - "YYYY": "AAAA", - "HH": "HH", - "Remove": "Rimuovere", - "NoResults": "Nessun risultato", - "MoreCount": "{count} in più", - "Spacious": "Ampio", - "Compact": "Compatto", - "ThemeLight": "Chiaro", - "ThemeDark": "Scuro", - "ThemeSystem": "Sistema", - "NoTimeZonesFound": "Nessun fuso orario trovato", - "Selected": "Selezionato:", - "Submit": "Invia", - "NextStep": "Prossimo passo", - "TypeHere": "Scrivi qui...", - "NormalSize": "Dimensioni normali", - "FullSize": "Dimensione intera", - "UseMaxWidth": "Larghezza massima", - "Sidebar": "Barra laterale", - "FontSize ": "Dimensione del carattere", - "Language": "Lingua", - "DaysWOValue": "{days, plural, =1 {giorno} other {giorni}}", - "WeeksWOValue": "{weeks, plural, =1 {settimana} other {settimane}}", - "MonthsWOValue": "{months, plural, =1 {mese} other {mesi}}", - "Filter": "Filtra", - "Clear": "Cancella", - "Yesterday": "Ieri", - "ThisWeek": "Questa settimana", - "ThisMonth": "Questo mese", - "ThisYear": "Quest'anno", - "EmojiStyle": "Stile emoji", - "EmojiSystem": "Predefinito di sistema", - "EmojiNoto": "Noto Color" - } + "string": { + "EditBoxPlaceholder": "Scrivi testo...", + "Ok": "Ok", + "Cancel": "Annulla", + "Save": "Salva", + "Publish": "Pubblica", + "SaveDraft": "Salva bozza", + "MinutesAgo": "{minutes, plural, =0 {meno di un minuto fa} =1 {un minuto fa} other {# minuti fa}}", + "HoursAgo": "{hours, plural, =0 {meno di un'ora fa} =1 {un'ora fa} other {# ore fa}}", + "DaysAgo": "{days, plural, =0 {oggi} =1 {ieri} other {# giorni fa}}", + "MonthsAgo": "{months, plural, =0 {questo mese} =1 {un mese fa} other {# mesi fa}}", + "YearsAgo": "{years, plural, =0 {quest'anno} =1 {un anno fa} other {# anni fa}}", + "Minutes": "{minutes, plural, =0 {meno di un minuto} =1 {un minuto} other {# minuti}}", + "Hours": "{hours, plural, =0 {meno di un'ora} =1 {un'ora} other {# ore}}", + "Days": "{days, plural, =0 {oggi} =1 {1 giorno} other {# giorni }}", + "Weeks": "{weeks, plural, =0 {questa settimana} =1 {1 settimana} other {# settimane}}", + "Months": "{months, plural, =0 {questo mese} =1 {1 mese} other {# mesi}}", + "Years": "{years, plural, =0 {quest'anno} =1 {un anno} other {# anni}}", + "Before": "Prima", + "After": "Dopo", + "MinutesShort": "{value}m", + "HoursShort": "{value}h", + "DaysShort": "{value}g", + "ShowMore": "Mostra di più", + "ShowLess": "Mostra meno", + "Search": "Cerca", + "SearchDots": "Cerca...", + "SearchResults": "Risultati ricerca", + "Suggested": "Suggerito", + "TimeTooltip": "{value}", + "SelectDate": "Seleziona data", + "None": "Nessuno", + "NotSelected": "Non selezionato", + "Today": "Oggi", + "NoDate": "Nessuna data", + "StartDate": "Data di inizio", + "TargetDate": "Data obiettivo", + "Overdue": "In ritardo", + "DueDate": "Data di scadenza", + "AddDueDate": "Aggiungi data di scadenza", + "SetDueDate": "Imposta data di scadenza", + "EditDueDate": "Modifica data di scadenza", + "SaveDueDate": "Salva data di scadenza", + "NeedsToBeCompletedByThisDate": "Deve essere completato entro questa data", + "DueDatePopupTitle": "Scadenza il {value}", + "DueDatePopupOverdueTitle": "Scadeva il {value}", + "DueDatePopupDescription": "{value, plural, =0 {Oggi} =1 {Domani} other {# giorni rimanenti}}", + "DueDatePopupOverdueDescription": "{value, plural, =1 {1 giorno di ritardo} other {# giorni di ritardo}}", + "English": "Inglese", + "Russian": "Русский", + "Portuguese": "Português", + "PortugueseBrazil": "Português (Brasil)", + "Spanish": "Español", + "Chinese": "中文", + "French": "Français", + "Italian": "Italiano", + "Czech": "Čeština", + "German": "Deutsch", + "Japanese": "日本語", + "Korean": "Coreano", + "Turkish": "Türkçe", + "MinutesBefore": "{minutes, plural, =1 {un minuto prima} other {# minuti prima}}", + "HoursBefore": "{hours, plural, =1 {un'ora prima} other {# ore prima}}", + "DaysBefore": "{days, plural, =1 {un giorno prima} other {# giorni prima}}", + "WeeksBefore": "{weeks, plural, =1 {una settimana prima} other {# settimane prima}}", + "MonthsBefore": "{months, plural, =1 {un mese prima} other {# mesi prima}}", + "MinutesAfter": "{minutes, plural, =1 {fra un minuto} other {fra # minuti}}", + "HoursAfter": "{hours, plural, =1 {fra un'ora} other {fra # ore}}", + "DaysAfter": "{days, plural, =1 {fra un giorno} other {fra # giorni}}", + "WeeksAfter": "{weeks, plural, =1 {fra una settimana} other {fra # settimane}}", + "MonthsAfter": "{months, plural, =1 {fra un mese} other {fra # mesi}}", + "NoActionsDefined": "Nessuna azione applicabile", + "Incoming": "In arrivo", + "HoursLabel": "Ore", + "Back": "Indietro", + "Next": "Avanti", + "DropdownDefaultLabel": "Seleziona elemento", + "DD": "GG", + "MM": "MM", + "YYYY": "AAAA", + "HH": "HH", + "Remove": "Rimuovere", + "NoResults": "Nessun risultato", + "MoreCount": "{count} in più", + "Spacious": "Ampio", + "Compact": "Compatto", + "ThemeLight": "Chiaro", + "ThemeDark": "Scuro", + "ThemeSystem": "Sistema", + "NoTimeZonesFound": "Nessun fuso orario trovato", + "Selected": "Selezionato:", + "Submit": "Invia", + "NextStep": "Prossimo passo", + "TypeHere": "Scrivi qui...", + "NormalSize": "Dimensioni normali", + "FullSize": "Dimensione intera", + "UseMaxWidth": "Larghezza massima", + "Sidebar": "Barra laterale", + "FontSize ": "Dimensione del carattere", + "Language": "Lingua", + "DaysWOValue": "{days, plural, =1 {giorno} other {giorni}}", + "WeeksWOValue": "{weeks, plural, =1 {settimana} other {settimane}}", + "MonthsWOValue": "{months, plural, =1 {mese} other {mesi}}", + "Filter": "Filtra", + "Clear": "Cancella", + "Yesterday": "Ieri", + "ThisWeek": "Questa settimana", + "ThisMonth": "Questo mese", + "ThisYear": "Quest'anno", + "EmojiStyle": "Stile emoji", + "EmojiSystem": "Predefinito di sistema", + "EmojiNoto": "Noto Color" + } } diff --git a/packages/ui/lang/ja.json b/packages/ui/lang/ja.json index 7206f2e501..dd73156644 100644 --- a/packages/ui/lang/ja.json +++ b/packages/ui/lang/ja.json @@ -58,6 +58,7 @@ "Czech": "Čeština", "German": "Deutsch", "Japanese": "日本語", + "Korean": "韓国語", "Turkish": "Türkçe", "MinutesBefore": "{minutes, plural, =1 {1分前} other {#分前}}", "HoursBefore": "{hours, plural, =1 {1時間前} other {#時間前}}", diff --git a/packages/ui/lang/ko.json b/packages/ui/lang/ko.json new file mode 100644 index 0000000000..e032ac807b --- /dev/null +++ b/packages/ui/lang/ko.json @@ -0,0 +1,115 @@ +{ + "string": { + "EditBoxPlaceholder": "텍스트 입력...", + "Ok": "확인", + "Cancel": "취소", + "Save": "저장", + "Publish": "게시", + "SaveDraft": "초안 저장", + "MinutesAgo": "{minutes, plural, =0 {1분 미만 전} =1 {1분 전} other {#분 전}}", + "HoursAgo": "{hours, plural, =0 {1시간 미만 전} =1 {1시간 전} other {#시간 전}}", + "DaysAgo": "{days, plural, =0 {오늘} =1 {어제} other {#일 전}}", + "MonthsAgo": "{months, plural, =0 {이번 달} =1 {1개월 전} other {#개월 전}}", + "YearsAgo": "{years, plural, =0 {올해} =1 {1년 전} other {#년 전}}", + "Minutes": "{minutes, plural, =0 {1분 미만} =1 {1분} other {#분}}", + "Hours": "{hours, plural, =0 {1시간 미만} =1 {1시간} other {#시간}}", + "Days": "{days, plural, =0 {오늘} =1 {1일} other {#일}}", + "Weeks": "{weeks, plural, =0 {이번 주} =1 {1주} other {#주}}", + "Months": "{months, plural, =0 {이번 달} =1 {1개월} other {#개월}}", + "Years": "{years, plural, =0 {올해} =1 {1년} other {#년}}", + "Before": "전", + "After": "후", + "MinutesShort": "{value}분", + "HoursShort": "{value}시간", + "DaysShort": "{value}일", + "ShowMore": "더 보기", + "ShowLess": "간략히 보기", + "Search": "검색", + "SearchDots": "검색...", + "SearchResults": "검색 결과", + "Suggested": "추천", + "TimeTooltip": "{value}", + "SelectDate": "날짜 선택", + "None": "없음", + "NotSelected": "선택 안 됨", + "Today": "오늘", + "NoDate": "날짜 없음", + "StartDate": "시작일", + "TargetDate": "목표일", + "Overdue": "기한 초과", + "DueDate": "마감일", + "AddDueDate": "마감일 추가", + "SetDueDate": "마감일 설정", + "EditDueDate": "마감일 편집", + "SaveDueDate": "마감일 저장", + "NeedsToBeCompletedByThisDate": "이 날짜까지 완료해야 합니다", + "DueDatePopupTitle": "{value} 마감", + "DueDatePopupOverdueTitle": "{value} 마감 (초과)", + "DueDatePopupDescription": "{value, plural, =0 {오늘} =1 {내일} other {#일 남음}}", + "DueDatePopupOverdueDescription": "{value, plural, =1 {1일 초과} other {#일 초과}}", + "English": "English", + "Russian": "Русский", + "Portuguese": "Português", + "PortugueseBrazil": "Português (Brasil)", + "Spanish": "Español", + "Chinese": "中文", + "French": "Français", + "Italian": "Italiano", + "Czech": "Čeština", + "German": "Deutsch", + "Japanese": "日本語", + "Korean": "한국어", + "Turkish": "Türkçe", + "MinutesBefore": "{minutes, plural, =1 {1분 전} other {#분 전}}", + "HoursBefore": "{hours, plural, =1 {1시간 전} other {#시간 전}}", + "DaysBefore": "{days, plural, =1 {1일 전} other {#일 전}}", + "WeeksBefore": "{weeks, plural, =1 {1주 전} other {#주 전}}", + "MonthsBefore": "{months, plural, =1 {1개월 전} other {#개월 전}}", + "MinutesAfter": "{minutes, plural, =1 {1분 후} other {#분 후}}", + "HoursAfter": "{hours, plural, =1 {1시간 후} other {#시간 후}}", + "DaysAfter": "{days, plural, =1 {1일 후} other {#일 후}}", + "WeeksAfter": "{weeks, plural, =1 {1주 후} other {#주 후}}", + "MonthsAfter": "{months, plural, =1 {1개월 후} other {#개월 후}}", + "NoActionsDefined": "사용 가능한 작업이 없습니다", + "Incoming": "수신", + "HoursLabel": "시간", + "Back": "뒤로", + "Next": "다음", + "DropdownDefaultLabel": "항목 선택", + "DD": "DD", + "MM": "MM", + "YYYY": "YYYY", + "HH": "HH", + "Remove": "제거", + "NoResults": "결과 없음", + "MoreCount": "외 {count}개", + "Spacious": "넓게", + "Compact": "좁게", + "ThemeLight": "라이트", + "ThemeDark": "다크", + "ThemeSystem": "시스템", + "NoTimeZonesFound": "시간대를 찾을 수 없습니다", + "Selected": "선택:", + "Submit": "제출", + "NextStep": "다음 단계", + "TypeHere": "입력...", + "NormalSize": "기본 크기", + "FullSize": "전체 크기", + "UseMaxWidth": "최대 너비", + "Sidebar": "사이드바", + "FontSize": "글꼴 크기", + "Language": "언어", + "DaysWOValue": "{days, plural, =1 {일} other {일}}", + "WeeksWOValue": "{weeks, plural, =1 {주} other {주}}", + "MonthsWOValue": "{months, plural, =1 {개월} other {개월}}", + "Filter": "필터", + "Clear": "지우기", + "Yesterday": "어제", + "ThisWeek": "이번 주", + "ThisMonth": "이번 달", + "ThisYear": "올해", + "EmojiStyle": "이모지 스타일", + "EmojiSystem": "시스템 기본", + "EmojiNoto": "Noto Color" + } +} diff --git a/packages/ui/lang/pt-br.json b/packages/ui/lang/pt-br.json index 14bad314d9..bc00f86364 100644 --- a/packages/ui/lang/pt-br.json +++ b/packages/ui/lang/pt-br.json @@ -1,114 +1,115 @@ { - "string": { - "EditBoxPlaceholder": "Digite o texto...", - "Ok": "Ok", - "Cancel": "Cancelar", - "Save": "Salvar", - "Publish": "Publicar", - "SaveDraft": "Salvar rascunho", - "MinutesAgo": "{minutes, plural, =0 {há menos de um minuto} =1 {há um minuto} other {há # minutos}}", - "HoursAgo": "{hours, plural, =0 {há menos de uma hora} =1 {há uma hora} other {há # horas}}", - "DaysAgo": "{days, plural, =0 {hoje} =1 {ontem} other {há # dias}}", - "MonthsAgo": "{months, plural, =0 {este mês} =1 {há um mês} other {há # meses}}", - "YearsAgo": "{years, plural, =0 {este ano} =1 {há um ano} other {há # anos}}", - "Minutes": "{minutes, plural, =0 {menos de um minuto} =1 {um minuto} other {# minutos}}", - "Hours": "{hours, plural, =0 {menos de uma hora} =1 {uma hora} other {# horas}}", - "Days": "{days, plural, =0 {hoje} =1 {1 dia} other {# dias}}", - "Weeks": "{weeks, plural, =0 {esta semana} =1 {1 semana} other {# semanas}}", - "Months": "{months, plural, =0 {este mês} =1 {1 mês} other {# meses}}", - "Years": "{years, plural, =0 {este ano} =1 {um ano} other {# anos}}", - "Before": "Antes", - "After": "Depois", - "MinutesShort": "{value}m", - "HoursShort": "{value}h", - "DaysShort": "{value}d", - "ShowMore": "Mostrar mais", - "ShowLess": "Mostrar menos", - "Search": "Pesquisar", - "SearchDots": "Pesquisar...", - "SearchResults": "Resultados da pesquisa", - "Suggested": "Sugestões", - "TimeTooltip": "{value}", - "SelectDate": "Selecionar data", - "None": "Nenhum", - "NotSelected": "Não selecionado", - "Today": "Hoje", - "NoDate": "Sem data", - "StartDate": "Data de início", - "TargetDate": "Data alvo", - "Overdue": "Atrasado", - "DueDate": "Data de vencimento", - "AddDueDate": "Adicionar data de vencimento", - "SetDueDate": "Definir data de vencimento", - "EditDueDate": "Editar data de vencimento", - "SaveDueDate": "Salvar data de vencimento", - "NeedsToBeCompletedByThisDate": "Precisa ser concluído até esta data", - "DueDatePopupTitle": "Vence em {value}", - "DueDatePopupOverdueTitle": "Venceu em {value}", - "DueDatePopupDescription": "{value, plural, =0 {Hoje} =1 {Amanhã} other {# dias restantes}}", - "DueDatePopupOverdueDescription": "{value, plural, =1 {1 dia em atraso} other {# dias em atraso}}", - "English": "English", - "Russian": "Русский", - "Portuguese": "Português", - "PortugueseBrazil": "Português (Brasil)", - "Spanish": "Español", - "Chinese": "中文", - "French": "Français", - "Italian": "Italiano", - "Czech": "Čeština", - "German": "Deutsch", - "Japanese": "日本語", - "Turkish": "Türkçe", - "MinutesBefore": "{minutes, plural, =1 {um minuto antes} other {# minutos antes}}", - "HoursBefore": "{hours, plural, =1 {uma hora antes} other {# horas antes}}", - "DaysBefore": "{days, plural, =1 {um dia antes} other {# dias antes}}", - "WeeksBefore": "{weeks, plural, =1 {uma semana antes} other {# semanas antes}}", - "MonthsBefore": "{months, plural, =1 {um mês antes} other {# meses antes}}", - "MinutesAfter": "{minutes, plural, =1 {em um minuto} other {em # minutos}}", - "HoursAfter": "{hours, plural, =1 {em uma hora} other {em # horas}}", - "DaysAfter": "{days, plural, =1 {em um dia} other {em # dias}}", - "WeeksAfter": "{weeks, plural, =1 {daqui a um dia} other {daqui a # semanas}}", - "MonthsAfter": "{months, plural, =1 {daqui a um mês} other {daqui a # meses}}", - "NoActionsDefined": "Nenhuma ação aplicável", - "Incoming": "Entrada", - "HoursLabel": "Horas", - "Back": "Voltar", - "Next": "Próximo", - "DropdownDefaultLabel": "Selecionar item", - "DD": "DD", - "MM": "MM", - "YYYY": "AAAA", - "HH": "HH", - "Remove": "Remover", - "NoResults": "Sem resultados", - "MoreCount": "{count} mais", - "Spacious": "Espaçoso", - "Compact": "Compacto", - "ThemeLight": "Claro", - "ThemeDark": "Escuro", - "ThemeSystem": "Sistema", - "NoTimeZonesFound": "Nenhum fuso horário encontrado", - "Selected": "Selecionado:", - "Submit": "Enviar", - "NextStep": "Próximo passo", - "TypeHere": "Digite aqui...", - "NormalSize": "Tamanho normal", - "FullSize": "Tamanho completo", - "UseMaxWidth": "Largura máxima", - "Sidebar": "Barra lateral", - "FontSize": "Tamanho da fonte", - "Language": "Idioma", - "DaysWOValue": "{days, plural, =1 {dia} other {dias}}", - "WeeksWOValue": "{weeks, plural, =1 {semana} other {semanas}}", - "MonthsWOValue": "{months, plural, =1 {mês} other {meses}}", - "Filter": "Filtrar", - "Clear": "Limpar", - "Yesterday": "Ontem", - "ThisWeek": "Esta semana", - "ThisMonth": "Este mês", - "ThisYear": "Este ano", - "EmojiStyle": "Estilo de emoji", - "EmojiSystem": "Padrão do sistema", - "EmojiNoto": "Noto Color" - } + "string": { + "EditBoxPlaceholder": "Digite o texto...", + "Ok": "Ok", + "Cancel": "Cancelar", + "Save": "Salvar", + "Publish": "Publicar", + "SaveDraft": "Salvar rascunho", + "MinutesAgo": "{minutes, plural, =0 {há menos de um minuto} =1 {há um minuto} other {há # minutos}}", + "HoursAgo": "{hours, plural, =0 {há menos de uma hora} =1 {há uma hora} other {há # horas}}", + "DaysAgo": "{days, plural, =0 {hoje} =1 {ontem} other {há # dias}}", + "MonthsAgo": "{months, plural, =0 {este mês} =1 {há um mês} other {há # meses}}", + "YearsAgo": "{years, plural, =0 {este ano} =1 {há um ano} other {há # anos}}", + "Minutes": "{minutes, plural, =0 {menos de um minuto} =1 {um minuto} other {# minutos}}", + "Hours": "{hours, plural, =0 {menos de uma hora} =1 {uma hora} other {# horas}}", + "Days": "{days, plural, =0 {hoje} =1 {1 dia} other {# dias}}", + "Weeks": "{weeks, plural, =0 {esta semana} =1 {1 semana} other {# semanas}}", + "Months": "{months, plural, =0 {este mês} =1 {1 mês} other {# meses}}", + "Years": "{years, plural, =0 {este ano} =1 {um ano} other {# anos}}", + "Before": "Antes", + "After": "Depois", + "MinutesShort": "{value}m", + "HoursShort": "{value}h", + "DaysShort": "{value}d", + "ShowMore": "Mostrar mais", + "ShowLess": "Mostrar menos", + "Search": "Pesquisar", + "SearchDots": "Pesquisar...", + "SearchResults": "Resultados da pesquisa", + "Suggested": "Sugestões", + "TimeTooltip": "{value}", + "SelectDate": "Selecionar data", + "None": "Nenhum", + "NotSelected": "Não selecionado", + "Today": "Hoje", + "NoDate": "Sem data", + "StartDate": "Data de início", + "TargetDate": "Data alvo", + "Overdue": "Atrasado", + "DueDate": "Data de vencimento", + "AddDueDate": "Adicionar data de vencimento", + "SetDueDate": "Definir data de vencimento", + "EditDueDate": "Editar data de vencimento", + "SaveDueDate": "Salvar data de vencimento", + "NeedsToBeCompletedByThisDate": "Precisa ser concluído até esta data", + "DueDatePopupTitle": "Vence em {value}", + "DueDatePopupOverdueTitle": "Venceu em {value}", + "DueDatePopupDescription": "{value, plural, =0 {Hoje} =1 {Amanhã} other {# dias restantes}}", + "DueDatePopupOverdueDescription": "{value, plural, =1 {1 dia em atraso} other {# dias em atraso}}", + "English": "English", + "Russian": "Русский", + "Portuguese": "Português", + "PortugueseBrazil": "Português (Brasil)", + "Spanish": "Español", + "Chinese": "中文", + "French": "Français", + "Italian": "Italiano", + "Czech": "Čeština", + "German": "Deutsch", + "Japanese": "日本語", + "Korean": "Coreano", + "Turkish": "Türkçe", + "MinutesBefore": "{minutes, plural, =1 {um minuto antes} other {# minutos antes}}", + "HoursBefore": "{hours, plural, =1 {uma hora antes} other {# horas antes}}", + "DaysBefore": "{days, plural, =1 {um dia antes} other {# dias antes}}", + "WeeksBefore": "{weeks, plural, =1 {uma semana antes} other {# semanas antes}}", + "MonthsBefore": "{months, plural, =1 {um mês antes} other {# meses antes}}", + "MinutesAfter": "{minutes, plural, =1 {em um minuto} other {em # minutos}}", + "HoursAfter": "{hours, plural, =1 {em uma hora} other {em # horas}}", + "DaysAfter": "{days, plural, =1 {em um dia} other {em # dias}}", + "WeeksAfter": "{weeks, plural, =1 {daqui a um dia} other {daqui a # semanas}}", + "MonthsAfter": "{months, plural, =1 {daqui a um mês} other {daqui a # meses}}", + "NoActionsDefined": "Nenhuma ação aplicável", + "Incoming": "Entrada", + "HoursLabel": "Horas", + "Back": "Voltar", + "Next": "Próximo", + "DropdownDefaultLabel": "Selecionar item", + "DD": "DD", + "MM": "MM", + "YYYY": "AAAA", + "HH": "HH", + "Remove": "Remover", + "NoResults": "Sem resultados", + "MoreCount": "{count} mais", + "Spacious": "Espaçoso", + "Compact": "Compacto", + "ThemeLight": "Claro", + "ThemeDark": "Escuro", + "ThemeSystem": "Sistema", + "NoTimeZonesFound": "Nenhum fuso horário encontrado", + "Selected": "Selecionado:", + "Submit": "Enviar", + "NextStep": "Próximo passo", + "TypeHere": "Digite aqui...", + "NormalSize": "Tamanho normal", + "FullSize": "Tamanho completo", + "UseMaxWidth": "Largura máxima", + "Sidebar": "Barra lateral", + "FontSize": "Tamanho da fonte", + "Language": "Idioma", + "DaysWOValue": "{days, plural, =1 {dia} other {dias}}", + "WeeksWOValue": "{weeks, plural, =1 {semana} other {semanas}}", + "MonthsWOValue": "{months, plural, =1 {mês} other {meses}}", + "Filter": "Filtrar", + "Clear": "Limpar", + "Yesterday": "Ontem", + "ThisWeek": "Esta semana", + "ThisMonth": "Este mês", + "ThisYear": "Este ano", + "EmojiStyle": "Estilo de emoji", + "EmojiSystem": "Padrão do sistema", + "EmojiNoto": "Noto Color" + } } diff --git a/packages/ui/lang/pt.json b/packages/ui/lang/pt.json index d7bb2b944b..9a5a3bafd8 100644 --- a/packages/ui/lang/pt.json +++ b/packages/ui/lang/pt.json @@ -1,114 +1,115 @@ { - "string": { - "EditBoxPlaceholder": "Digite o texto...", - "Ok": "Ok", - "Cancel": "Cancelar", - "Save": "Guardar", - "Publish": "Publicar", - "SaveDraft": "Guardar rascunho", - "MinutesAgo": "{minutes, plural, =0 {há menos de um minuto} =1 {há um minuto} other {há # minutos}}", - "HoursAgo": "{hours, plural, =0 {há menos de uma hora} =1 {há uma hora} other {há # horas}}", - "DaysAgo": "{days, plural, =0 {hoje} =1 {ontem} other {há # dias}}", - "MonthsAgo": "{months, plural, =0 {este mês} =1 {há um mês} other {há # meses}}", - "YearsAgo": "{years, plural, =0 {este ano} =1 {há um ano} other {há # anos}}", - "Minutes": "{minutes, plural, =0 {menos de um minuto} =1 {um minuto} other {# minutos}}", - "Hours": "{hours, plural, =0 {menos de uma hora} =1 {uma hora} other {# horas}}", - "Days": "{days, plural, =0 {hoje} =1 {1 dia} other {# dias}}", - "Weeks": "{weeks, plural, =0 {esta semana} =1 {1 semana} other {# semanas}}", - "Months": "{months, plural, =0 {este mês} =1 {1 mês} other {# meses}}", - "Years": "{years, plural, =0 {este ano} =1 {um ano} other {# anos}}", - "Before": "Antes", - "After": "Depois", - "MinutesShort": "{value}m", - "HoursShort": "{value}h", - "DaysShort": "{value}d", - "ShowMore": "Mostrar mais", - "ShowLess": "Mostrar menos", - "Search": "Pesquisar", - "SearchDots": "Pesquisar...", - "SearchResults": "Resultados da pesquisa", - "Suggested": "Sugerido", - "TimeTooltip": "{value}", - "SelectDate": "Selecionar data", - "None": "Nenhum", - "NotSelected": "Não selecionado", - "Today": "Hoje", - "NoDate": "Sem data", - "StartDate": "Data de início", - "TargetDate": "Data alvo", - "Overdue": "Atrasado", - "DueDate": "Data de vencimento", - "AddDueDate": "Adicionar data de vencimento", - "SetDueDate": "Definir data de vencimento", - "EditDueDate": "Editar data de vencimento", - "SaveDueDate": "Guardar data de vencimento", - "NeedsToBeCompletedByThisDate": "Necessita de ser concluído até esta data", - "DueDatePopupTitle": "Vence em {value}", - "DueDatePopupOverdueTitle": "Venceu em {value}", - "DueDatePopupDescription": "{value, plural, =0 {Hoje} =1 {Amanhã} other {# dias restantes}}", - "DueDatePopupOverdueDescription": "{value, plural, =1 {1 dia em atraso} other {# dias em atraso}}", - "English": "English", - "Russian": "Русский", - "Portuguese": "Português", - "PortugueseBrazil": "Português (Brasil)", - "Spanish": "Español", - "Chinese": "中文", - "French": "Français", - "Italian": "Italiano", - "Czech": "Čeština", - "German": "Deutsch", - "Japanese": "日本語", - "Turkish": "Türkçe", - "MinutesBefore": "{minutes, plural, =1 {um minuto antes} other {# minutos antes}}", - "HoursBefore": "{hours, plural, =1 {uma hora antes} other {# horas antes}}", - "DaysBefore": "{days, plural, =1 {um dia antes} other {# dias antes}}", - "WeeksBefore": "{weeks, plural, =1 {uma semana antes} other {# semanas antes}}", - "MonthsBefore": "{months, plural, =1 {um mês antes} other {# meses antes}}", - "MinutesAfter": "{minutes, plural, =1 {em um minuto} other {em # minutos}}", - "HoursAfter": "{hours, plural, =1 {em uma hora} other {em # horas}}", - "DaysAfter": "{days, plural, =1 {em um dia} other {em # dias}}", - "WeeksAfter": "{weeks, plural, =1 {daqui a um dia} other {daqui a # semanas}}", - "MonthsAfter": "{months, plural, =1 {daqui a um mês} other {daqui a # meses}}", - "NoActionsDefined": "Nenhuma ação aplicável", - "Incoming": "Entrada", - "HoursLabel": "Horas", - "Back": "Voltar", - "Next": "Seguinte", - "DropdownDefaultLabel": "Selecionar Item", - "DD": "DD", - "MM": "MM", - "YYYY": "AAAA", - "HH": "HH", - "Remove": "Remover", - "NoResults": "Sem Resultados", - "MoreCount": "{count} mais", - "Spacious": "Espaçoso", - "Compact": "Compacto", - "ThemeLight": "Claro", - "ThemeDark": "Escuro", - "ThemeSystem": "Sistema", - "NoTimeZonesFound": "Nenhum fuso horário encontrado", - "Selected": "Selecionado:", - "Submit": "Enviar", - "NextStep": "Seguinte passo", - "TypeHere": "Escreva aqui...", - "NormalSize": "Tamanho normal", - "FullSize": "Tamanho completo", - "UseMaxWidth": "Largura máxima", - "Sidebar": "Barra lateral", - "FontSize": "Tamanho da fonte", - "Language": "Idioma", - "DaysWOValue": "{days, plural, =1 {dia} other {dias}}", - "WeeksWOValue": "{weeks, plural, =1 {semana} other {semanas}}", - "MonthsWOValue": "{months, plural, =1 {mês} other {meses}}", - "Filter": "Filtrar", - "Clear": "Limpar", - "Yesterday": "Ontem", - "ThisWeek": "Esta semana", - "ThisMonth": "Este mês", - "ThisYear": "Este ano", - "EmojiStyle": "Estilo de emoji", - "EmojiSystem": "Padrão do sistema", - "EmojiNoto": "Noto Color" - } + "string": { + "EditBoxPlaceholder": "Digite o texto...", + "Ok": "Ok", + "Cancel": "Cancelar", + "Save": "Guardar", + "Publish": "Publicar", + "SaveDraft": "Guardar rascunho", + "MinutesAgo": "{minutes, plural, =0 {há menos de um minuto} =1 {há um minuto} other {há # minutos}}", + "HoursAgo": "{hours, plural, =0 {há menos de uma hora} =1 {há uma hora} other {há # horas}}", + "DaysAgo": "{days, plural, =0 {hoje} =1 {ontem} other {há # dias}}", + "MonthsAgo": "{months, plural, =0 {este mês} =1 {há um mês} other {há # meses}}", + "YearsAgo": "{years, plural, =0 {este ano} =1 {há um ano} other {há # anos}}", + "Minutes": "{minutes, plural, =0 {menos de um minuto} =1 {um minuto} other {# minutos}}", + "Hours": "{hours, plural, =0 {menos de uma hora} =1 {uma hora} other {# horas}}", + "Days": "{days, plural, =0 {hoje} =1 {1 dia} other {# dias}}", + "Weeks": "{weeks, plural, =0 {esta semana} =1 {1 semana} other {# semanas}}", + "Months": "{months, plural, =0 {este mês} =1 {1 mês} other {# meses}}", + "Years": "{years, plural, =0 {este ano} =1 {um ano} other {# anos}}", + "Before": "Antes", + "After": "Depois", + "MinutesShort": "{value}m", + "HoursShort": "{value}h", + "DaysShort": "{value}d", + "ShowMore": "Mostrar mais", + "ShowLess": "Mostrar menos", + "Search": "Pesquisar", + "SearchDots": "Pesquisar...", + "SearchResults": "Resultados da pesquisa", + "Suggested": "Sugerido", + "TimeTooltip": "{value}", + "SelectDate": "Selecionar data", + "None": "Nenhum", + "NotSelected": "Não selecionado", + "Today": "Hoje", + "NoDate": "Sem data", + "StartDate": "Data de início", + "TargetDate": "Data alvo", + "Overdue": "Atrasado", + "DueDate": "Data de vencimento", + "AddDueDate": "Adicionar data de vencimento", + "SetDueDate": "Definir data de vencimento", + "EditDueDate": "Editar data de vencimento", + "SaveDueDate": "Guardar data de vencimento", + "NeedsToBeCompletedByThisDate": "Necessita de ser concluído até esta data", + "DueDatePopupTitle": "Vence em {value}", + "DueDatePopupOverdueTitle": "Venceu em {value}", + "DueDatePopupDescription": "{value, plural, =0 {Hoje} =1 {Amanhã} other {# dias restantes}}", + "DueDatePopupOverdueDescription": "{value, plural, =1 {1 dia em atraso} other {# dias em atraso}}", + "English": "English", + "Russian": "Русский", + "Portuguese": "Português", + "PortugueseBrazil": "Português (Brasil)", + "Spanish": "Español", + "Chinese": "中文", + "French": "Français", + "Italian": "Italiano", + "Czech": "Čeština", + "German": "Deutsch", + "Japanese": "日本語", + "Korean": "Coreano", + "Turkish": "Türkçe", + "MinutesBefore": "{minutes, plural, =1 {um minuto antes} other {# minutos antes}}", + "HoursBefore": "{hours, plural, =1 {uma hora antes} other {# horas antes}}", + "DaysBefore": "{days, plural, =1 {um dia antes} other {# dias antes}}", + "WeeksBefore": "{weeks, plural, =1 {uma semana antes} other {# semanas antes}}", + "MonthsBefore": "{months, plural, =1 {um mês antes} other {# meses antes}}", + "MinutesAfter": "{minutes, plural, =1 {em um minuto} other {em # minutos}}", + "HoursAfter": "{hours, plural, =1 {em uma hora} other {em # horas}}", + "DaysAfter": "{days, plural, =1 {em um dia} other {em # dias}}", + "WeeksAfter": "{weeks, plural, =1 {daqui a um dia} other {daqui a # semanas}}", + "MonthsAfter": "{months, plural, =1 {daqui a um mês} other {daqui a # meses}}", + "NoActionsDefined": "Nenhuma ação aplicável", + "Incoming": "Entrada", + "HoursLabel": "Horas", + "Back": "Voltar", + "Next": "Seguinte", + "DropdownDefaultLabel": "Selecionar Item", + "DD": "DD", + "MM": "MM", + "YYYY": "AAAA", + "HH": "HH", + "Remove": "Remover", + "NoResults": "Sem Resultados", + "MoreCount": "{count} mais", + "Spacious": "Espaçoso", + "Compact": "Compacto", + "ThemeLight": "Claro", + "ThemeDark": "Escuro", + "ThemeSystem": "Sistema", + "NoTimeZonesFound": "Nenhum fuso horário encontrado", + "Selected": "Selecionado:", + "Submit": "Enviar", + "NextStep": "Seguinte passo", + "TypeHere": "Escreva aqui...", + "NormalSize": "Tamanho normal", + "FullSize": "Tamanho completo", + "UseMaxWidth": "Largura máxima", + "Sidebar": "Barra lateral", + "FontSize": "Tamanho da fonte", + "Language": "Idioma", + "DaysWOValue": "{days, plural, =1 {dia} other {dias}}", + "WeeksWOValue": "{weeks, plural, =1 {semana} other {semanas}}", + "MonthsWOValue": "{months, plural, =1 {mês} other {meses}}", + "Filter": "Filtrar", + "Clear": "Limpar", + "Yesterday": "Ontem", + "ThisWeek": "Esta semana", + "ThisMonth": "Este mês", + "ThisYear": "Este ano", + "EmojiStyle": "Estilo de emoji", + "EmojiSystem": "Padrão do sistema", + "EmojiNoto": "Noto Color" + } } diff --git a/packages/ui/lang/ru.json b/packages/ui/lang/ru.json index 6bac241ab9..1282a1e359 100644 --- a/packages/ui/lang/ru.json +++ b/packages/ui/lang/ru.json @@ -1,114 +1,115 @@ { - "string": { - "EditBoxPlaceholder": "Введите текст здесь", - "Ok": "Ок", - "Cancel": "Отменить", - "Save": "Сохранить", - "Publish": "Опубликовать", - "SaveDraft": "Сохранить черновик", - "MinutesAgo": "{minutes, plural, =0 {меньше минуты назад} =1 {минуту назад} one {# минуту назад} few {# минуты назад} other {# минут назад}}", - "HoursAgo": "{hours, plural, =0 {меньше часа назад} =1 {час назад} one {# час назад} few {# часа назад} other {# часов назад}}", - "DaysAgo": "{days, plural, =0 {сегодня} =1 {вчера} one {# день назад} few {# дня назад} other {# дней назад}}", - "MonthsAgo": "{months, plural, =0 {в этом месяце} =1 {месяц назад} one {# месяц назад} few {# месяца назад} other {# месяцев назад}}", - "YearsAgo": "{years, plural, =0 {в этом году} =1 {год назад} one {# год назад} few {# год назад} other {# лет назад}}", - "Minutes": "{minutes, plural, =0 {меньше минуты} one {# минуту} few {# минуты} other {# минут}}", - "Hours": "{hours, plural, =0 {меньше часа} one {# час} few {# часа} other {# часов}}", - "Days": "{days, plural, =0 {сегодня} one {# день} few {# дня} other {# дней}}", - "Weeks": "{weeks, plural, =0 {меньше недели} one {# неделя} few {# недели} other {# недель}}", - "Months": "{months, plural, =0 {меньше месяца} one {# месяц} few {# месяца} other {# месяцев}}", - "Years": "{years, plural, =0 {меньше года} one {# год} few {# года} other {# лет}}", - "Before": "За", - "After": "Через", - "MinutesShort": "{value}м", - "HoursShort": "{value}ч", - "DaysShort": "{value}д", - "ShowMore": "Показать больше", - "ShowLess": "Показать меньше", - "Search": "Поиск", - "SearchDots": "Поиск...", - "SearchResults": "Результаты поиска", - "Suggested": "Предложено", - "TimeTooltip": "{value}", - "SelectDate": "Выберите дату", - "None": "Нет", - "NotSelected": "Не выбрано", - "Today": "Сегодня", - "NoDate": "Без даты", - "StartDate": "Дата начала", - "TargetDate": "Дата окончания", - "Overdue": "Просрочено", - "DueDate": "Срок", - "AddDueDate": "Установить дату", - "SetDueDate": "Установить дату", - "EditDueDate": "Изменить дату", - "SaveDueDate": "Сохранить дату", - "NeedsToBeCompletedByThisDate": "Должно быть завершено к этой дате", - "DueDatePopupTitle": "Срок {value}", - "DueDatePopupOverdueTitle": "Должно было завершится {value}", - "DueDatePopupDescription": "{value, plural, =0 {Сегодня} =1 {Завтра} one {# день остался} few {# дня осталось} other {# дней осталось}}", - "DueDatePopupOverdueDescription": "{value, plural, one {# день опоздания} few {# дня опоздания} other {# дней опоздания}}", - "English": "English", - "Russian": "Русский", - "Spanish": "Español", - "Portuguese": "Português", - "PortugueseBrazil": "Português (Brasil)", - "Chinese": "中文", - "French": "Français", - "Italian": "Italiano", - "Czech": "Čeština", - "German": "Deutsch", - "Japanese": "日本語", - "Turkish": "Türkçe", - "MinutesBefore": "{minutes, plural, =1 {за минуту} one {за # минуту} few {за # минуты} other {за # минут}}", - "HoursBefore": "{hours, plural, =1 {за час} one {за # час} few {за # часа} other {за # часов}}", - "DaysBefore": "{days, plural, =1 {за день} one {за # день} few {за # дня} other {за # дней}}", - "WeeksBefore": "{weeks, plural, =1 {за неделю} one {за # неделю} few {за # недели} other {за # недель}}", - "MonthsBefore": "{months, plural, =1 {за месяц} one {за # месяц} few {за # месяца} other {за # месяцев}}", - "MinutesAfter": "{minutes, plural, =1 {через минуту} one {через # минуту} few {через # минуты} other {через # минут}}", - "HoursAfter": "{hours, plural, =1 {через час} one {через # час} few {через # часа} other {через # часов}}", - "DaysAfter": "{days, plural, =1 {через день} one {через # день} few {через # дня} other {через # дней}}", - "WeeksAfter": "{weeks, plural, =1 {через неделю} one {через # неделю} few {через # недели} other {через # недель}}", - "MonthsAfter": "{months, plural, =1 {через месяц} one {через # месяц} few {через # месяца} other {через # месяцев}}", - "NoActionsDefined": "Нет доступных действий", - "Incoming": "Входящие", - "HoursLabel": "Часы", - "Back": "Назад", - "Next": "Вперед", - "DropdownDefaultLabel": "Выберите Элемент", - "DD": "ДД", - "MM": "ММ", - "YYYY": "ГГГГ", - "HH": "ЧЧ", - "Remove": "Удалить", - "NoResults": "Никаких результатов", - "MoreCount": "Ещё {count}", - "Spacious": "Просторный", - "Compact": "Компактный", - "ThemeLight": "Светлая", - "ThemeDark": "Тёмная", - "ThemeSystem": "Системная", - "NoTimeZonesFound": "Временные зоны не найдены", - "Selected": "Выбрано:", - "Submit": "Отправить", - "NextStep": "Следующий шаг", - "TypeHere": "Вводите здесь...", - "NormalSize": "Обычный размер", - "FullSize": "Полный размер", - "UseMaxWidth": "Максимальная ширина", - "Sidebar": "Боковая панель", - "FontSize": "Размер шрифта", - "Language": "Язык", - "DaysWOValue": "{days, plural, one {день} few {дня} other {дней}}", - "WeeksWOValue": "{weeks, plural, one {неделя} few {недели} other {недель}}", - "MonthsWOValue": "{months, plural, one {месяц} few {месяца} other {месяцев}}", - "Filter": "Фильтр", - "Clear": "Очистить", - "Yesterday": "Вчера", - "ThisWeek": "Эта неделя", - "ThisMonth": "Этот месяц", - "ThisYear": "Этот год", - "EmojiStyle": "Стиль эмодзи", - "EmojiSystem": "Системный по умолчанию", - "EmojiNoto": "Noto Color" - } + "string": { + "EditBoxPlaceholder": "Введите текст здесь", + "Ok": "Ок", + "Cancel": "Отменить", + "Save": "Сохранить", + "Publish": "Опубликовать", + "SaveDraft": "Сохранить черновик", + "MinutesAgo": "{minutes, plural, =0 {меньше минуты назад} =1 {минуту назад} one {# минуту назад} few {# минуты назад} other {# минут назад}}", + "HoursAgo": "{hours, plural, =0 {меньше часа назад} =1 {час назад} one {# час назад} few {# часа назад} other {# часов назад}}", + "DaysAgo": "{days, plural, =0 {сегодня} =1 {вчера} one {# день назад} few {# дня назад} other {# дней назад}}", + "MonthsAgo": "{months, plural, =0 {в этом месяце} =1 {месяц назад} one {# месяц назад} few {# месяца назад} other {# месяцев назад}}", + "YearsAgo": "{years, plural, =0 {в этом году} =1 {год назад} one {# год назад} few {# год назад} other {# лет назад}}", + "Minutes": "{minutes, plural, =0 {меньше минуты} one {# минуту} few {# минуты} other {# минут}}", + "Hours": "{hours, plural, =0 {меньше часа} one {# час} few {# часа} other {# часов}}", + "Days": "{days, plural, =0 {сегодня} one {# день} few {# дня} other {# дней}}", + "Weeks": "{weeks, plural, =0 {меньше недели} one {# неделя} few {# недели} other {# недель}}", + "Months": "{months, plural, =0 {меньше месяца} one {# месяц} few {# месяца} other {# месяцев}}", + "Years": "{years, plural, =0 {меньше года} one {# год} few {# года} other {# лет}}", + "Before": "За", + "After": "Через", + "MinutesShort": "{value}м", + "HoursShort": "{value}ч", + "DaysShort": "{value}д", + "ShowMore": "Показать больше", + "ShowLess": "Показать меньше", + "Search": "Поиск", + "SearchDots": "Поиск...", + "SearchResults": "Результаты поиска", + "Suggested": "Предложено", + "TimeTooltip": "{value}", + "SelectDate": "Выберите дату", + "None": "Нет", + "NotSelected": "Не выбрано", + "Today": "Сегодня", + "NoDate": "Без даты", + "StartDate": "Дата начала", + "TargetDate": "Дата окончания", + "Overdue": "Просрочено", + "DueDate": "Срок", + "AddDueDate": "Установить дату", + "SetDueDate": "Установить дату", + "EditDueDate": "Изменить дату", + "SaveDueDate": "Сохранить дату", + "NeedsToBeCompletedByThisDate": "Должно быть завершено к этой дате", + "DueDatePopupTitle": "Срок {value}", + "DueDatePopupOverdueTitle": "Должно было завершится {value}", + "DueDatePopupDescription": "{value, plural, =0 {Сегодня} =1 {Завтра} one {# день остался} few {# дня осталось} other {# дней осталось}}", + "DueDatePopupOverdueDescription": "{value, plural, one {# день опоздания} few {# дня опоздания} other {# дней опоздания}}", + "English": "English", + "Russian": "Русский", + "Spanish": "Español", + "Portuguese": "Português", + "PortugueseBrazil": "Português (Brasil)", + "Chinese": "中文", + "French": "Français", + "Italian": "Italiano", + "Czech": "Čeština", + "German": "Deutsch", + "Japanese": "日本語", + "Korean": "Корейский", + "Turkish": "Türkçe", + "MinutesBefore": "{minutes, plural, =1 {за минуту} one {за # минуту} few {за # минуты} other {за # минут}}", + "HoursBefore": "{hours, plural, =1 {за час} one {за # час} few {за # часа} other {за # часов}}", + "DaysBefore": "{days, plural, =1 {за день} one {за # день} few {за # дня} other {за # дней}}", + "WeeksBefore": "{weeks, plural, =1 {за неделю} one {за # неделю} few {за # недели} other {за # недель}}", + "MonthsBefore": "{months, plural, =1 {за месяц} one {за # месяц} few {за # месяца} other {за # месяцев}}", + "MinutesAfter": "{minutes, plural, =1 {через минуту} one {через # минуту} few {через # минуты} other {через # минут}}", + "HoursAfter": "{hours, plural, =1 {через час} one {через # час} few {через # часа} other {через # часов}}", + "DaysAfter": "{days, plural, =1 {через день} one {через # день} few {через # дня} other {через # дней}}", + "WeeksAfter": "{weeks, plural, =1 {через неделю} one {через # неделю} few {через # недели} other {через # недель}}", + "MonthsAfter": "{months, plural, =1 {через месяц} one {через # месяц} few {через # месяца} other {через # месяцев}}", + "NoActionsDefined": "Нет доступных действий", + "Incoming": "Входящие", + "HoursLabel": "Часы", + "Back": "Назад", + "Next": "Вперед", + "DropdownDefaultLabel": "Выберите Элемент", + "DD": "ДД", + "MM": "ММ", + "YYYY": "ГГГГ", + "HH": "ЧЧ", + "Remove": "Удалить", + "NoResults": "Никаких результатов", + "MoreCount": "Ещё {count}", + "Spacious": "Просторный", + "Compact": "Компактный", + "ThemeLight": "Светлая", + "ThemeDark": "Тёмная", + "ThemeSystem": "Системная", + "NoTimeZonesFound": "Временные зоны не найдены", + "Selected": "Выбрано:", + "Submit": "Отправить", + "NextStep": "Следующий шаг", + "TypeHere": "Вводите здесь...", + "NormalSize": "Обычный размер", + "FullSize": "Полный размер", + "UseMaxWidth": "Максимальная ширина", + "Sidebar": "Боковая панель", + "FontSize": "Размер шрифта", + "Language": "Язык", + "DaysWOValue": "{days, plural, one {день} few {дня} other {дней}}", + "WeeksWOValue": "{weeks, plural, one {неделя} few {недели} other {недель}}", + "MonthsWOValue": "{months, plural, one {месяц} few {месяца} other {месяцев}}", + "Filter": "Фильтр", + "Clear": "Очистить", + "Yesterday": "Вчера", + "ThisWeek": "Эта неделя", + "ThisMonth": "Этот месяц", + "ThisYear": "Этот год", + "EmojiStyle": "Стиль эмодзи", + "EmojiSystem": "Системный по умолчанию", + "EmojiNoto": "Noto Color" + } } diff --git a/packages/ui/lang/tr.json b/packages/ui/lang/tr.json index f7f5a89c2f..f5bc58063f 100644 --- a/packages/ui/lang/tr.json +++ b/packages/ui/lang/tr.json @@ -1,114 +1,115 @@ { - "string": { - "EditBoxPlaceholder": "Metin yazın...", - "Ok": "Tamam", - "Cancel": "İptal", - "Save": "Kaydet", - "Publish": "Yayınla", - "SaveDraft": "Taslak kaydet", - "MinutesAgo": "{minutes, plural, =0 {bir dakikadan az önce} =1 {bir dakika önce} other {# dakika önce}}", - "HoursAgo": "{hours, plural, =0 {bir saatten az önce} =1 {bir saat önce} other {# saat önce}}", - "DaysAgo": "{days, plural, =0 {bugün} =1 {dün} other {# gün önce}}", - "MonthsAgo": "{months, plural, =0 {bu ay} =1 {bir ay önce} other {# ay önce}}", - "YearsAgo": "{years, plural, =0 {bu yıl} =1 {bir yıl önce} other {# yıl önce}}", - "Minutes": "{minutes, plural, =0 {bir dakikadan az} =1 {bir dakika} other {# dakika}}", - "Hours": "{hours, plural, =0 {bir saatten az} =1 {bir saat} other {# saat}}", - "Days": "{days, plural, =0 {bugün} =1 {1 gün} other {# gün}}", - "Weeks": "{weeks, plural, =0 {bu hafta} =1 {1 hafta} other {# hafta}}", - "Months": "{months, plural, =0 {bu ay} =1 {1 ay} other {# ay}}", - "Years": "{years, plural, =0 {bu yıl} =1 {bir yıl} other {# yıl}}", - "Before": "Önce", - "After": "Sonra", - "MinutesShort": "{value}dk", - "HoursShort": "{value}sa", - "DaysShort": "{value}g", - "ShowMore": "Daha fazla göster", - "ShowLess": "Daha az göster", - "Search": "Ara", - "SearchDots": "Ara...", - "SearchResults": "Arama Sonuçları", - "Suggested": "Önerilen", - "TimeTooltip": "{value}", - "SelectDate": "Tarih seç", - "None": "Hiçbiri", - "NotSelected": "Seçilmedi", - "Today": "Bugün", - "NoDate": "Tarih yok", - "StartDate": "Başlangıç tarihi", - "TargetDate": "Hedef tarih", - "Overdue": "Gecikmiş", - "DueDate": "Bitiş tarihi", - "AddDueDate": "Bitiş tarihi ekle", - "SetDueDate": "Bitiş tarihi belirle", - "EditDueDate": "Bitiş tarihini düzenle", - "SaveDueDate": "Bitiş tarihini kaydet", - "NeedsToBeCompletedByThisDate": "Bu tarihe kadar tamamlanmalı", - "DueDatePopupTitle": "Bitiş: {value}", - "DueDatePopupOverdueTitle": "Bitiş tarihiydi: {value}", - "DueDatePopupDescription": "{value, plural, =0 {Bugün} =1 {Yarın} other {# gün kaldı}}", - "DueDatePopupOverdueDescription": "{value, plural, =1 {1 gün gecikti} other {# gün gecikti}}", - "English": "English", - "Russian": "Русский", - "Portuguese": "Português", - "PortugueseBrazil": "Português (Brasil)", - "Spanish": "Español", - "Chinese": "中文", - "French": "Français", - "Italian": "Italiano", - "Czech": "Čeština", - "German": "Deutsch", - "Japanese": "日本語", - "Turkish": "Türkçe", - "MinutesBefore": "{minutes, plural, =1 {bir dakika önce} other {# dakika önce}}", - "HoursBefore": "{hours, plural, =1 {bir saat önce} other {# saat önce}}", - "DaysBefore": "{days, plural, =1 {bir gün önce} other {# gün önce}}", - "WeeksBefore": "{weeks, plural, =1 {bir hafta önce} other {# hafta önce}}", - "MonthsBefore": "{months, plural, =1 {bir ay önce} other {# ay önce}}", - "MinutesAfter": "{minutes, plural, =1 {bir dakika sonra} other {# dakika sonra}}", - "HoursAfter": "{hours, plural, =1 {bir saat sonra} other {# saat sonra}}", - "DaysAfter": "{days, plural, =1 {bir gün sonra} other {# gün sonra}}", - "WeeksAfter": "{weeks, plural, =1 {bir hafta sonra} other {# hafta sonra}}", - "MonthsAfter": "{months, plural, =1 {bir ay sonra} other {# ay sonra}}", - "NoActionsDefined": "Uygulanabilir işlem yok", - "Incoming": "Gelen", - "HoursLabel": "Saat", - "Back": "Geri", - "Next": "İleri", - "DropdownDefaultLabel": "Öğe Seç", - "DD": "GG", - "MM": "AA", - "YYYY": "YYYY", - "HH": "SS", - "Remove": "Kaldır", - "NoResults": "Sonuç Yok", - "MoreCount": "{count} daha", - "Spacious": "Geniş", - "Compact": "Kompakt", - "ThemeLight": "Açık", - "ThemeDark": "Koyu", - "ThemeSystem": "Sistem", - "NoTimeZonesFound": "Zaman dilimi bulunamadı", - "Selected": "Seçildi:", - "Submit": "Gönder", - "NextStep": "Sonraki adım", - "TypeHere": "Buraya yazın...", - "NormalSize": "Normal boyut", - "FullSize": "Tam boyut", - "UseMaxWidth": "Maksimum genişlik", - "Sidebar": "Kenar çubuğu", - "FontSize": "Yazı boyutu", - "Language": "Dil", - "DaysWOValue": "{days, plural, =1 {gün} other {gün}}", - "WeeksWOValue": "{weeks, plural, =1 {hafta} other {hafta}}", - "MonthsWOValue": "{months, plural, =1 {ay} other {ay}}", - "Filter": "Filtre", - "Clear": "Temizle", - "Yesterday": "Dün", - "ThisWeek": "Bu hafta", - "ThisMonth": "Bu ay", - "ThisYear": "Bu yıl", - "EmojiStyle": "Emoji Stili", - "EmojiSystem": "Sistem Varsayılanı", - "EmojiNoto": "Noto Color" - } + "string": { + "EditBoxPlaceholder": "Metin yazın...", + "Ok": "Tamam", + "Cancel": "İptal", + "Save": "Kaydet", + "Publish": "Yayınla", + "SaveDraft": "Taslak kaydet", + "MinutesAgo": "{minutes, plural, =0 {bir dakikadan az önce} =1 {bir dakika önce} other {# dakika önce}}", + "HoursAgo": "{hours, plural, =0 {bir saatten az önce} =1 {bir saat önce} other {# saat önce}}", + "DaysAgo": "{days, plural, =0 {bugün} =1 {dün} other {# gün önce}}", + "MonthsAgo": "{months, plural, =0 {bu ay} =1 {bir ay önce} other {# ay önce}}", + "YearsAgo": "{years, plural, =0 {bu yıl} =1 {bir yıl önce} other {# yıl önce}}", + "Minutes": "{minutes, plural, =0 {bir dakikadan az} =1 {bir dakika} other {# dakika}}", + "Hours": "{hours, plural, =0 {bir saatten az} =1 {bir saat} other {# saat}}", + "Days": "{days, plural, =0 {bugün} =1 {1 gün} other {# gün}}", + "Weeks": "{weeks, plural, =0 {bu hafta} =1 {1 hafta} other {# hafta}}", + "Months": "{months, plural, =0 {bu ay} =1 {1 ay} other {# ay}}", + "Years": "{years, plural, =0 {bu yıl} =1 {bir yıl} other {# yıl}}", + "Before": "Önce", + "After": "Sonra", + "MinutesShort": "{value}dk", + "HoursShort": "{value}sa", + "DaysShort": "{value}g", + "ShowMore": "Daha fazla göster", + "ShowLess": "Daha az göster", + "Search": "Ara", + "SearchDots": "Ara...", + "SearchResults": "Arama Sonuçları", + "Suggested": "Önerilen", + "TimeTooltip": "{value}", + "SelectDate": "Tarih seç", + "None": "Hiçbiri", + "NotSelected": "Seçilmedi", + "Today": "Bugün", + "NoDate": "Tarih yok", + "StartDate": "Başlangıç tarihi", + "TargetDate": "Hedef tarih", + "Overdue": "Gecikmiş", + "DueDate": "Bitiş tarihi", + "AddDueDate": "Bitiş tarihi ekle", + "SetDueDate": "Bitiş tarihi belirle", + "EditDueDate": "Bitiş tarihini düzenle", + "SaveDueDate": "Bitiş tarihini kaydet", + "NeedsToBeCompletedByThisDate": "Bu tarihe kadar tamamlanmalı", + "DueDatePopupTitle": "Bitiş: {value}", + "DueDatePopupOverdueTitle": "Bitiş tarihiydi: {value}", + "DueDatePopupDescription": "{value, plural, =0 {Bugün} =1 {Yarın} other {# gün kaldı}}", + "DueDatePopupOverdueDescription": "{value, plural, =1 {1 gün gecikti} other {# gün gecikti}}", + "English": "English", + "Russian": "Русский", + "Portuguese": "Português", + "PortugueseBrazil": "Português (Brasil)", + "Spanish": "Español", + "Chinese": "中文", + "French": "Français", + "Italian": "Italiano", + "Czech": "Čeština", + "German": "Deutsch", + "Japanese": "日本語", + "Korean": "Korece", + "Turkish": "Türkçe", + "MinutesBefore": "{minutes, plural, =1 {bir dakika önce} other {# dakika önce}}", + "HoursBefore": "{hours, plural, =1 {bir saat önce} other {# saat önce}}", + "DaysBefore": "{days, plural, =1 {bir gün önce} other {# gün önce}}", + "WeeksBefore": "{weeks, plural, =1 {bir hafta önce} other {# hafta önce}}", + "MonthsBefore": "{months, plural, =1 {bir ay önce} other {# ay önce}}", + "MinutesAfter": "{minutes, plural, =1 {bir dakika sonra} other {# dakika sonra}}", + "HoursAfter": "{hours, plural, =1 {bir saat sonra} other {# saat sonra}}", + "DaysAfter": "{days, plural, =1 {bir gün sonra} other {# gün sonra}}", + "WeeksAfter": "{weeks, plural, =1 {bir hafta sonra} other {# hafta sonra}}", + "MonthsAfter": "{months, plural, =1 {bir ay sonra} other {# ay sonra}}", + "NoActionsDefined": "Uygulanabilir işlem yok", + "Incoming": "Gelen", + "HoursLabel": "Saat", + "Back": "Geri", + "Next": "İleri", + "DropdownDefaultLabel": "Öğe Seç", + "DD": "GG", + "MM": "AA", + "YYYY": "YYYY", + "HH": "SS", + "Remove": "Kaldır", + "NoResults": "Sonuç Yok", + "MoreCount": "{count} daha", + "Spacious": "Geniş", + "Compact": "Kompakt", + "ThemeLight": "Açık", + "ThemeDark": "Koyu", + "ThemeSystem": "Sistem", + "NoTimeZonesFound": "Zaman dilimi bulunamadı", + "Selected": "Seçildi:", + "Submit": "Gönder", + "NextStep": "Sonraki adım", + "TypeHere": "Buraya yazın...", + "NormalSize": "Normal boyut", + "FullSize": "Tam boyut", + "UseMaxWidth": "Maksimum genişlik", + "Sidebar": "Kenar çubuğu", + "FontSize": "Yazı boyutu", + "Language": "Dil", + "DaysWOValue": "{days, plural, =1 {gün} other {gün}}", + "WeeksWOValue": "{weeks, plural, =1 {hafta} other {hafta}}", + "MonthsWOValue": "{months, plural, =1 {ay} other {ay}}", + "Filter": "Filtre", + "Clear": "Temizle", + "Yesterday": "Dün", + "ThisWeek": "Bu hafta", + "ThisMonth": "Bu ay", + "ThisYear": "Bu yıl", + "EmojiStyle": "Emoji Stili", + "EmojiSystem": "Sistem Varsayılanı", + "EmojiNoto": "Noto Color" + } } diff --git a/packages/ui/lang/zh.json b/packages/ui/lang/zh.json index 125f774112..bbb476d00d 100644 --- a/packages/ui/lang/zh.json +++ b/packages/ui/lang/zh.json @@ -1,114 +1,115 @@ { - "string": { - "EditBoxPlaceholder": "输入文本...", - "Ok": "确定", - "Cancel": "取消", - "Save": "保存", - "Publish": "发布", - "SaveDraft": "保存草稿", - "MinutesAgo": "{minutes, plural, =0 {不到一分钟前} =1 {一分钟前} other {# 分钟前}}", - "HoursAgo": "{hours, plural, =0 {不到一小时前} =1 {一小时前} other {# 小时前}}", - "DaysAgo": "{days, plural, =0 {今天} =1 {昨天} other {# 天前}}", - "MonthsAgo": "{months, plural, =0 {这个月} =1 {一个月前} other {# 个月前}}", - "YearsAgo": "{years, plural, =0 {今年} =1 {一年前} other {# 年前}}", - "Minutes": "{minutes, plural, =0 {不到一分钟} =1 {一分钟} other {# 分钟}}", - "Hours": "{hours, plural, =0 {不到一小时} =1 {一小时} other {# 小时}}", - "Days": "{days, plural, =0 {今天} =1 {1 天} other {# 天}}", - "Weeks": "{weeks, plural, =0 {本周} =1 {1 周} other {# 周}}", - "Months": "{months, plural, =0 {本月} =1 {1 个月} other {# 个月}}", - "Years": "{years, plural, =0 {今年} =1 {一年} other {# 年}}", - "Before": "之前", - "After": "之后", - "MinutesShort": "{value} 分钟", - "HoursShort": "{value} 小时", - "DaysShort": "{value} 天", - "ShowMore": "显示更多", - "ShowLess": "显示更少", - "Search": "搜索", - "SearchDots": "搜索...", - "SearchResults": "搜寻结果", - "Suggested": "推荐", - "TimeTooltip": "{value}", - "SelectDate": "选择日期", - "None": "无", - "NotSelected": "未选择", - "Today": "今天", - "NoDate": "无日期", - "StartDate": "开始日期", - "TargetDate": "目标日期", - "Overdue": "过期", - "DueDate": "截止日期", - "AddDueDate": "添加截止日期", - "SetDueDate": "设置截止日期", - "EditDueDate": "编辑截止日期", - "SaveDueDate": "保存截止日期", - "NeedsToBeCompletedByThisDate": "需要在此日期前完成", - "DueDatePopupTitle": "截止于 {value}", - "DueDatePopupOverdueTitle": "原定于 {value}", - "DueDatePopupDescription": "{value, plural, =0 {今天} =1 {明天} other {剩余 # 天}}", - "DueDatePopupOverdueDescription": "{value, plural, =1 {过期 1 天} other {# 天过期}}", - "English": "English", - "Russian": "Русский", - "Portuguese": "Português", - "PortugueseBrazil": "Português (Brasil)", - "Spanish": "Español", - "Chinese": "中文", - "French": "Français", - "Italian": "Italiano", - "Czech": "Čeština", - "German": "Deutsch", - "Japanese": "日本語", - "Turkish": "Türkçe", - "MinutesBefore": "{minutes, plural, =1 {一分钟前} other {# 分钟前}}", - "HoursBefore": "{hours, plural, =1 {一小时前} other {# 小时前}}", - "DaysBefore": "{days, plural, =1 {一天前} other {# 天前}}", - "WeeksBefore": "{weeks, plural, =1 {一周前} other {# 周前}}", - "MonthsBefore": "{months, plural, =1 {一个月前} other {# 个月前}}", - "MinutesAfter": "{minutes, plural, =1 {一分钟后} other {# 分钟后}}", - "HoursAfter": "{hours, plural, =1 {一小时后} other {# 小时后}}", - "DaysAfter": "{days, plural, =1 {一天后} other {# 天后}}", - "WeeksAfter": "{weeks, plural, =1 {一周后} other {# 周后}}", - "MonthsAfter": "{months, plural, =1 {一个月后} other {# 个月后}}", - "NoActionsDefined": "无适用操作", - "Incoming": "传入", - "HoursLabel": "小时", - "Back": "返回", - "Next": "下一步", - "DropdownDefaultLabel": "选择项目", - "DD": "日", - "MM": "月", - "YYYY": "年", - "HH": "小时", - "Remove": "移走", - "NoResults": "没有结果", - "MoreCount": "还有 {count} 个", - "Spacious": "宽敞", - "Compact": "紧凑", - "ThemeLight": "浅色", - "ThemeDark": "深色", - "ThemeSystem": "系统", - "NoTimeZonesFound": "未找到时区", - "Selected": "已选:", - "Submit": "提交", - "NextStep": "下一步", - "TypeHere": "在此输入...", - "NormalSize": "正常尺寸", - "FullSize": "全尺寸", - "UseMaxWidth": "使用最大宽度", - "Sidebar": "侧边栏", - "FontSize": "字体大小", - "Language": "语言", - "DaysWOValue": "{days, plural, =1 {天} other {天}}", - "WeeksWOValue": "{weeks, plural, =1 {周} other {周}}", - "MonthsWOValue": "{months, plural, =1 {月} other {月}}", - "Filter": "过滤", - "Clear": "清除", - "Yesterday": "昨天", - "ThisWeek": "本周", - "ThisMonth": "本月", - "ThisYear": "今年", - "EmojiStyle": "表情样式", - "EmojiSystem": "系统默认", - "EmojiNoto": "Noto Color" - } + "string": { + "EditBoxPlaceholder": "输入文本...", + "Ok": "确定", + "Cancel": "取消", + "Save": "保存", + "Publish": "发布", + "SaveDraft": "保存草稿", + "MinutesAgo": "{minutes, plural, =0 {不到一分钟前} =1 {一分钟前} other {# 分钟前}}", + "HoursAgo": "{hours, plural, =0 {不到一小时前} =1 {一小时前} other {# 小时前}}", + "DaysAgo": "{days, plural, =0 {今天} =1 {昨天} other {# 天前}}", + "MonthsAgo": "{months, plural, =0 {这个月} =1 {一个月前} other {# 个月前}}", + "YearsAgo": "{years, plural, =0 {今年} =1 {一年前} other {# 年前}}", + "Minutes": "{minutes, plural, =0 {不到一分钟} =1 {一分钟} other {# 分钟}}", + "Hours": "{hours, plural, =0 {不到一小时} =1 {一小时} other {# 小时}}", + "Days": "{days, plural, =0 {今天} =1 {1 天} other {# 天}}", + "Weeks": "{weeks, plural, =0 {本周} =1 {1 周} other {# 周}}", + "Months": "{months, plural, =0 {本月} =1 {1 个月} other {# 个月}}", + "Years": "{years, plural, =0 {今年} =1 {一年} other {# 年}}", + "Before": "之前", + "After": "之后", + "MinutesShort": "{value} 分钟", + "HoursShort": "{value} 小时", + "DaysShort": "{value} 天", + "ShowMore": "显示更多", + "ShowLess": "显示更少", + "Search": "搜索", + "SearchDots": "搜索...", + "SearchResults": "搜寻结果", + "Suggested": "推荐", + "TimeTooltip": "{value}", + "SelectDate": "选择日期", + "None": "无", + "NotSelected": "未选择", + "Today": "今天", + "NoDate": "无日期", + "StartDate": "开始日期", + "TargetDate": "目标日期", + "Overdue": "过期", + "DueDate": "截止日期", + "AddDueDate": "添加截止日期", + "SetDueDate": "设置截止日期", + "EditDueDate": "编辑截止日期", + "SaveDueDate": "保存截止日期", + "NeedsToBeCompletedByThisDate": "需要在此日期前完成", + "DueDatePopupTitle": "截止于 {value}", + "DueDatePopupOverdueTitle": "原定于 {value}", + "DueDatePopupDescription": "{value, plural, =0 {今天} =1 {明天} other {剩余 # 天}}", + "DueDatePopupOverdueDescription": "{value, plural, =1 {过期 1 天} other {# 天过期}}", + "English": "English", + "Russian": "Русский", + "Portuguese": "Português", + "PortugueseBrazil": "Português (Brasil)", + "Spanish": "Español", + "Chinese": "中文", + "French": "Français", + "Italian": "Italiano", + "Czech": "Čeština", + "German": "Deutsch", + "Japanese": "日本語", + "Korean": "韩语", + "Turkish": "Türkçe", + "MinutesBefore": "{minutes, plural, =1 {一分钟前} other {# 分钟前}}", + "HoursBefore": "{hours, plural, =1 {一小时前} other {# 小时前}}", + "DaysBefore": "{days, plural, =1 {一天前} other {# 天前}}", + "WeeksBefore": "{weeks, plural, =1 {一周前} other {# 周前}}", + "MonthsBefore": "{months, plural, =1 {一个月前} other {# 个月前}}", + "MinutesAfter": "{minutes, plural, =1 {一分钟后} other {# 分钟后}}", + "HoursAfter": "{hours, plural, =1 {一小时后} other {# 小时后}}", + "DaysAfter": "{days, plural, =1 {一天后} other {# 天后}}", + "WeeksAfter": "{weeks, plural, =1 {一周后} other {# 周后}}", + "MonthsAfter": "{months, plural, =1 {一个月后} other {# 个月后}}", + "NoActionsDefined": "无适用操作", + "Incoming": "传入", + "HoursLabel": "小时", + "Back": "返回", + "Next": "下一步", + "DropdownDefaultLabel": "选择项目", + "DD": "日", + "MM": "月", + "YYYY": "年", + "HH": "小时", + "Remove": "移走", + "NoResults": "没有结果", + "MoreCount": "还有 {count} 个", + "Spacious": "宽敞", + "Compact": "紧凑", + "ThemeLight": "浅色", + "ThemeDark": "深色", + "ThemeSystem": "系统", + "NoTimeZonesFound": "未找到时区", + "Selected": "已选:", + "Submit": "提交", + "NextStep": "下一步", + "TypeHere": "在此输入...", + "NormalSize": "正常尺寸", + "FullSize": "全尺寸", + "UseMaxWidth": "使用最大宽度", + "Sidebar": "侧边栏", + "FontSize": "字体大小", + "Language": "语言", + "DaysWOValue": "{days, plural, =1 {天} other {天}}", + "WeeksWOValue": "{weeks, plural, =1 {周} other {周}}", + "MonthsWOValue": "{months, plural, =1 {月} other {月}}", + "Filter": "过滤", + "Clear": "清除", + "Yesterday": "昨天", + "ThisWeek": "本周", + "ThisMonth": "本月", + "ThisYear": "今年", + "EmojiStyle": "表情样式", + "EmojiSystem": "系统默认", + "EmojiNoto": "Noto Color" + } } diff --git a/packages/ui/src/components/internal/SettingsPopup.svelte b/packages/ui/src/components/internal/SettingsPopup.svelte index bacf469b22..18926bfefc 100644 --- a/packages/ui/src/components/internal/SettingsPopup.svelte +++ b/packages/ui/src/components/internal/SettingsPopup.svelte @@ -81,6 +81,7 @@ { id: 'cs', label: ui.string.Czech, logo: '🇨🇿' }, { id: 'de', label: ui.string.German, logo: '🇩🇪' }, { id: 'ja', label: ui.string.Japanese, logo: '🇯🇵' }, + { id: 'ko', label: ui.string.Korean, logo: '🇰🇷' }, { id: 'tr', label: ui.string.Turkish, logo: '🇹🇷' } ].filter((lang) => uiLangs.has(lang.id)) diff --git a/packages/ui/src/plugin.ts b/packages/ui/src/plugin.ts index 6e77e6fbec..cf078edf59 100644 --- a/packages/ui/src/plugin.ts +++ b/packages/ui/src/plugin.ts @@ -82,6 +82,7 @@ export const uis = plugin(uiId, { Czech: '' as IntlString, German: '' as IntlString, Japanese: '' as IntlString, + Korean: '' as IntlString, Turkish: '' as IntlString, PortugueseBrazil: '' as IntlString, MinutesBefore: '' as IntlString, diff --git a/plugins/achievement-assets/lang/ko.json b/plugins/achievement-assets/lang/ko.json new file mode 100644 index 0000000000..b3bdf3ec1c --- /dev/null +++ b/plugins/achievement-assets/lang/ko.json @@ -0,0 +1,8 @@ +{ + "string": { + "Achievements": "업적", + "EarliestAdopter": "초기 사용자", + "Epic": "에픽", + "Legendary": "전설" + } +} diff --git a/plugins/activity-assets/lang/ko.json b/plugins/activity-assets/lang/ko.json new file mode 100644 index 0000000000..0269084424 --- /dev/null +++ b/plugins/activity-assets/lang/ko.json @@ -0,0 +1,61 @@ +{ + "string": { + "Activity": "활동", + "Added": "추가됨", + "All": "전체", + "AllActivity": "모든 활동", + "Attributes": "속성", + "Changed": "변경됨", + "CollectionUpdated": "{collection} 업데이트", + "Created": "생성됨", + "DocAdded": "{_class} 추가", + "DocCreated": "{_class} 생성", + "DocDeleted": "{_class} 삭제", + "Edit": "편집", + "Edited": "편집됨", + "Emoji": "이모지", + "For": "대상", + "From": "보낸 사람", + "In": "위치", + "At": "시각", + "LastReply": "마지막 답글", + "New": "신규", + "NewestFirst": "최신순", + "Pinned": "고정됨", + "Reacted": "반응함", + "Reactions": "반응", + "Reaction": "반응", + "Removed": "제거됨", + "Replies": "답글", + "RepliesCount": "{replies, plural, =1 {답글 1개} other {답글 #개}}", + "Set": "설정함", + "To": "→", + "Unset": "설정 해제", + "Update": "업데이트", + "Updated": "업데이트됨", + "UpdatedCollection": "업데이트됨", + "Message": "메시지", + "Mentioned": "멘션됨", + "You": "나", + "Mentions": "멘션", + "MentionedYouIn": "{title}에서 나를 언급함", + "Messages": "메시지", + "Thread": "스레드", + "AddReaction": "반응 추가", + "SaveForLater": "나중에 보기", + "RemoveFromLater": "저장 목록에서 제거", + "ReactionNotificationTitle": "{title}에 새 반응", + "ReactionNotificationBody": "{senderName}: {reaction}", + "NewObject": "새 {object}", + "RemovedObject": "{object} 제거", + "ChangedObject": "{object} 변경", + "UnsetObject": "{object} 설정 해제", + "UpdatedObject": "{object} 업데이트", + "NewObjectType": "새 {type}: {title}", + "RemovedObjectType": "{type} 제거: {title}", + "AddedTag": "태그 추가: {title}", + "RemovedTag": "태그 제거: {title}", + "AttributeSetTo": "{name}을(를) {value}(으)로 설정", + "ValueTooLarge": "값이 너무 커서 표시할 수 없음" + } +} diff --git a/plugins/ai-assistant-assets/lang/ko.json b/plugins/ai-assistant-assets/lang/ko.json new file mode 100644 index 0000000000..0687c1146d --- /dev/null +++ b/plugins/ai-assistant-assets/lang/ko.json @@ -0,0 +1,13 @@ +{ + "string": { + "IntegrationLabel": "AI 어시스턴트", + "IntegrationDescription": "플랫폼 전반에서 일상적인 워크플로를 정리, 자동화, 최적화하는 AI 기반 개인 어시스턴트", + "ConfigLabel": "AI 어시스턴트", + "ConfigDescription": "AI 기반 개인 어시스턴트", + "Connect": "연결", + "Cancel": "취소", + "Status": "상태", + "FailedToConnect": "AI 어시스턴트 서비스를 사용할 수 없습니다", + "Configure": "AI 어시스턴트 설정" + } +} diff --git a/plugins/analytics-collector-assets/lang/ko.json b/plugins/analytics-collector-assets/lang/ko.json new file mode 100644 index 0000000000..db0f3ea71c --- /dev/null +++ b/plugins/analytics-collector-assets/lang/ko.json @@ -0,0 +1,22 @@ +{ + "string": { + "OnboardingChannelDescription": "사용자: {user}; 워크스페이스: {workspace}", + "Error": "오류: ", + "InProject": " 프로젝트에서 ", + "NavigateToSpecial": "{app}: {special} 열기", + "OpenSpecial": "{special} 열기 ", + "Set": "설정 ", + "To": " → ", + "Open": "열기 ", + "Workbench": "워크벤치: ", + "OnboardingChannel": "온보딩 채널", + "OnboardingChannels": "온보딩 채널", + "WorkspaceId": "워크스페이스 ID", + "WorkspaceName": "워크스페이스 이름", + "WorkspaceUrl": "워크스페이스 URL", + "Account": "계정", + "UserName": "사용자 이름", + "DisableAIReplies": "AI 답변 비활성화", + "ShowAIReplies": "AI 답변 표시" + } +} diff --git a/plugins/attachment-assets/lang/ko.json b/plugins/attachment-assets/lang/ko.json new file mode 100644 index 0000000000..5388462e13 --- /dev/null +++ b/plugins/attachment-assets/lang/ko.json @@ -0,0 +1,59 @@ +{ + "string": { + "UploadDropFilesHere": "파일을 업로드하거나 여기에 드롭하세요", + "NoAttachments": "첨부 파일 없음", + "NoParticipants": "추가된 참가자 없음", + "AddAttachment": "첨부 파일을 업로드했습니다", + "Attachments": "첨부 파일", + "Photos": "사진", + "File": "파일", + "Files": "파일", + "NoFiles": "파일 없음", + "ShowMoreAttachments": "더 보기", + "Type": "타입", + "Size": "크기", + "Photo": "사진", + "Date": "날짜", + "LastModified": "최근 수정", + "Name": "이름", + "FileBrowser": "파일 브라우저", + "FileBrowserFileCounter": "{results, plural, =1 {결과 1건} other {결과 #건}}", + "FileBrowserListView": "목록", + "FileBrowserGridView": "그리드", + "FileBrowserFilterFrom": "보낸 사람", + "FileBrowserFilterIn": "위치", + "FileBrowserFilterDate": "날짜", + "FileBrowserFilterFileType": "파일 타입", + "FileBrowserSort": "정렬", + "FileBrowserSortNewest": "최신순", + "FileBrowserSortOldest": "오래된순", + "FileBrowserSortAZ": "A → Z", + "FileBrowserSortZA": "Z → A", + "FileBrowserSortSmallest": "작은 크기순", + "FileBrowserSortBiggest": "큰 크기순", + "FileBrowserDateFilterAny": "전체 기간", + "FileBrowserDateFilterToday": "오늘", + "FileBrowserDateFilterYesterday": "어제", + "FileBrowserDateFilter7Days": "최근 7일", + "FileBrowserDateFilter30Days": "최근 30일", + "FileBrowserDateFilter3Months": "최근 3개월", + "FileBrowserDateFilter12Months": "최근 12개월", + "FileBrowserTypeFilterAny": "모든 파일 타입", + "FileBrowserTypeFilterImages": "이미지", + "FileBrowserTypeFilterAudio": "오디오", + "FileBrowserTypeFilterVideos": "비디오", + "FileBrowserTypeFilterPDFs": "PDF", + "AddAttachmentToSaved": "저장 목록에 첨부 파일 추가", + "RemoveAttachmentFromSaved": "저장 목록에서 첨부 파일 제거", + "DeleteFile": "파일 삭제", + "Description": "설명", + "Pinned": "중요", + "PinAttachment": "중요로 표시", + "UnPinAttachment": "중요 표시 해제", + "FilterAttachments": "첨부 파일", + "RemovedAttachment": "첨부 파일을 제거했습니다", + "ContentType": "콘텐츠 타입", + "OpenInWindow": "새 창에서 열기", + "Embeddings": "임베딩" + } +} diff --git a/plugins/billing-assets/lang/ko.json b/plugins/billing-assets/lang/ko.json new file mode 100644 index 0000000000..257708edff --- /dev/null +++ b/plugins/billing-assets/lang/ko.json @@ -0,0 +1,63 @@ +{ + "string": { + "Billing": "결제", + "Subscriptions": "구독", + "AllPlans": "모든 플랜", + "ActivePlan": "활성 플랜", + "ResourceUsage": "리소스 사용 현황", + "DriveSize": "파일 크기", + "DriveCount": "파일 수", + "OfficeSessionsDuration": "회의 시간", + "OfficeSessionsBandwidth": "회의 대역폭", + "OfficeEgressDuration": "녹화 시간", + "AI": "AI", + "TranscriptionTime": "전사 시간", + "TotalTokens": "총 토큰", + "Tier": "등급", + "StorageLimit": "스토리지 {limit} {unit}", + "TrafficLimit": "비디오/오디오 트래픽 {limit} {unit}", + "Common": "Common", + "CommonDescription": "Huly를 처음 시작하는 개인과 팀을 위한 플랜입니다.", + "Rare": "Rare", + "RareDescription": "개인 크리에이터, 프리랜서, 소규모 에이전시를 위한 플랜입니다.", + "Epic": "Epic", + "EpicDescription": "전문 크리에이티브 기업과 중소기업을 위한 플랜입니다.", + "Legendary": "Legendary", + "LegendaryDescription": "최대 기능이 필요한 대규모 팀에 적합한 플랜입니다.", + "UnlimitedUsers": "무제한 사용자", + "UnlimitedObjects": "무제한 Huly 객체", + "ChangePlan": "플랜 변경", + "Subscribe": "구독", + "Monthly": "월간", + "Active": "활성", + "NoActivePlan": "활성 플랜 없음", + "SelectPlanToBegin": "아래에서 플랜을 선택하여 시작하세요", + "SubscriptionEnds": "{date}까지", + "SubscriptionRenews": "다음 갱신: {date}", + "SubscriptionValidUntil": "{date}까지 유효", + "ProcessingPayment": "결제 처리 중...", + "Downgrade": "다운그레이드", + "CancelSubscription": "구독 취소", + "ConfirmUpgrade": "구독을 업그레이드하시겠습니까?", + "ConfirmDowngrade": "구독을 다운그레이드하시겠습니까?", + "ConfirmCancel": "구독을 취소하시겠습니까?", + "UpgradeDescription": "최대 ${amount}이 즉시 청구됩니다. 정확한 금액은 현재 청구 주기에 따라 달라집니다.", + "DowngradeDescription": "남은 구독 기간만큼 최대 ${amount}의 크레딧이 지급됩니다. 다운그레이드는 즉시 적용됩니다.", + "CancelDescription": "구독은 청구 주기 종료 시까지 유지됩니다.", + "UncancelSubscription": "구독 재활성화", + "ConfirmUncancel": "구독을 재활성화하시겠습니까?", + "UncancelDescription": "구독이 재활성화되어 현재 청구 주기 종료 후에도 계속 유지됩니다.", + "PriceDifference": "가격 차이: {amount}", + "DialogCancel": "취소", + "DialogConfirm": "확인", + "StorageUsage": "스토리지", + "TrafficUsage": "비디오/오디오 트래픽", + "Usage": "사용량", + "Of": "/", + "UpgradePlan": "플랜 업그레이드", + "LimitReached": "워크스페이스 한도에 도달했습니다. 일부 기능이 비활성화될 수 있습니다. 업그레이드하여 전체 기능을 다시 사용하세요.", + "RestrictedPlans": "워크스페이스 소유자 또는 결제 관리자만 구독 플랜을 변경할 수 있습니다", + "SubscriptionOperationFailed": "구독 작업에 실패했습니다", + "SubscriptionErrorMessage": "문제가 발생했습니다. 다시 시도하거나 고객 지원팀에 문의해 주세요." + } +} diff --git a/plugins/bitrix-assets/lang/ko.json b/plugins/bitrix-assets/lang/ko.json new file mode 100644 index 0000000000..9265d693ee --- /dev/null +++ b/plugins/bitrix-assets/lang/ko.json @@ -0,0 +1,18 @@ +{ + "string": { + "BitrixTokenUrl": "Bitrix24 토큰 URL", + "Bitrix": "", + "BitrixDesc": "Bitrix 24 연동", + "Settings": "설정", + "NotAllowed": "관리자 권한이 없어 허용되지 않습니다", + "BitrixEntityType": "엔티티 매핑", + "FieldMapping": "필드 매핑", + "AddField": "매핑 추가", + "Attribute": "속성", + "MapField": "매핑...", + "BitrixImport": "Bitrix와 동기화", + "AddMapping": "엔티티 매핑 추가", + "ConfigLabel": "Bitrix24", + "ConfigDescription": "Bitrix 24 연동 확장 기능" + } +} diff --git a/plugins/board-assets/lang/ko.json b/plugins/board-assets/lang/ko.json new file mode 100644 index 0000000000..88a01ea087 --- /dev/null +++ b/plugins/board-assets/lang/ko.json @@ -0,0 +1,107 @@ +{ + "string": { + "Completed": "완료됨", + "Name": "이름", + "CreateBoard": "보드 만들기", + "OpenCard": "카드 열기", + "CreateCard": "카드 만들기", + "CardName": "카드 이름", + "Cards": "카드", + "SelectBoard": "보드 선택", + "More": "더 보기...", + "Title": "제목", + "ManageBoardStatuses": "보드 상태 관리", + "BoardName": "보드", + "CardCreateLabel": "카드", + "CardPlaceholder": "카드 자리 표시자", + "Board": "보드", + "Boards": "보드", + "MyBoards": "내 보드", + "BoardApplication": "보드", + "Card": "카드", + "Assignee": "담당자", + "Description": "설명", + "DescriptionPlaceholder": "더 자세한 설명 추가...", + "Location": "장소", + "Members": "멤버", + "IsArchived": "보관됨", + "BoardCreateLabel": "보드", + "Settings": "설정", + "Suggested": "추천", + "Labels": "라벨", + "CreateLabel": "새 라벨 만들기", + "SearchLabels": "라벨 검색...", + "SelectColor": "색상 선택", + "NoColor": "색상 없음", + "NoColorInfo": "카드 앞면에는 표시되지 않습니다.", + "Checklists": "체크리스트", + "ChecklistDropdownNone": "(없음)", + "ShowDoneChecklistItems": "완료된 항목 표시 ({done})", + "HideDoneChecklistItems": "완료된 항목 숨기기", + "CopyChecklistFrom": "항목 복사...", + "Dates": "날짜", + "Attachments": "첨부 파일", + "AddAttachment": "첨부 파일 추가", + "DropFileToUpload": "파일을 놓아 업로드.", + "AttachFrom": "다음에서 첨부...", + "AttachmentTip": "팁: 파일을 카드에 끌어다 놓아 업로드할 수 있습니다.", + "Computer": "컴퓨터", + "CustomFields": "사용자 지정 필드", + "AddButton": "버튼 추가", + "Actions": "동작", + "Cover": "커버", + "Join": "참여", + "Move": "이동", + "Copy": "복사", + "MakeTemplate": "템플릿으로 만들기", + "Archive": "보관", + "SendToBoard": "보드로 보내기", + "Delete": "삭제", + "HideDetails": "세부 정보 숨기기", + "ShowDetails": "세부 정보 표시", + "NewList": "다른 리스트 추가", + "AddList": "리스트 추가", + "NewListPlaceholder": "리스트 제목 입력...", + "AddACard": "카드 추가", + "AddCard": "카드 추가", + "CardTitlePlaceholder": "카드 제목 입력...", + "MoveCard": "카드 이동", + "SelectDestination": "대상 선택", + "Create": "만들기", + "CreateDescription": "원하시면 줄마다 카드({number}개)를 만들 수 있습니다. 또는 긴 제목의 카드 1개로 만들 수도 있습니다.", + "CreateSingle": "카드 1개만", + "CreateMultiple": "카드 {number}개 만들기", + "Cancel": "취소", + "List": "리스트", + "Position": "위치", + "Current": "{label} (현재)", + "Save": "저장", + "Remove": "제거", + "NullDate": "M/D/YYYY", + "ViewProfile": "프로필 보기", + "RemoveFromCard": "카드에서 제거", + "LinkName": "링크 이름", + "Edit": "편집", + "Update": "업데이트", + "DeleteAttachment": "첨부 파일을 삭제하면 되돌릴 수 없습니다.", + "DeleteCard": "활동 피드의 모든 작업이 제거되며 카드를 다시 열 수 없습니다. 되돌릴 수 없습니다.", + "SearchMembers": "멤버 검색", + "Menu": "메뉴", + "ShowMenu": "메뉴 표시", + "ToArchive": "보관", + "CopyCard": "카드 복사", + "AlsoCopy": "유지...", + "CopyTo": "복사 대상...", + "NoResults": "결과 없음", + "SwitchToLists": "리스트 보기로 전환", + "SwitchToCards": "카드 보기로 전환", + "SearchArchive": "보관함 검색...", + "Size": "크기", + "RemoveCover": "커버 제거", + "DeleteChecklist": "체크리스트 삭제", + "DeleteChecklistConfirm": "체크리스트를 삭제하면 복구할 수 없습니다.", + "ConvertToCard": "카드로 변환", + "ConfigLabel": "보드", + "ConfigDescription": "칸반 보드를 관리하는 확장 기능." + } +} diff --git a/plugins/calendar-assets/lang/ko.json b/plugins/calendar-assets/lang/ko.json new file mode 100644 index 0000000000..47a4887efe --- /dev/null +++ b/plugins/calendar-assets/lang/ko.json @@ -0,0 +1,129 @@ +{ + "string": { + "ApplicationLabelCalendar": "캘린더", + "Calendars": "캘린더", + "Participants": "참석자", + "NoParticipants": "추가된 참석자가 없습니다", + "PersonsLabel": "{name}", + "AddDescription": "설명 추가", + "Date": "날짜", + "DueTo": "마감일", + "Description": "설명", + "Title": "제목", + "Location": "장소", + "Company": "회사", + "CreateCalendar": "캘린더 만들기", + "Calendar": "캘린더", + "Events": "일정", + "Event": "일정", + "ModeDay": "일", + "ModeWeek": "주", + "ModeMonth": "월", + "ModeYear": "년", + "Today": "오늘", + "TableView": "표", + "DueMinutes": "{minutes, plural, =0 {1분 미만} =1 {1분} other {#분}}", + "DueHours": "{hours, plural, =0 {1시간 미만} =1 {1시간} other {#시간}}", + "DueDays": "{days, plural, =0 {오늘} =1 {1일} other {#일}}", + "Reminder": "리마인더", + "ReminderTime": "리마인더 시각", + "RemindMeAt": "알림 시각", + "CreateReminder": "리마인더 만들기", + "CreatedReminder": "리마인더가 생성되었습니다", + "Reminders": "리마인더", + "Shift": "시프트", + "State": "상태", + "NoReminders": "리마인더 없음", + "AllDay": "종일", + "AndMore": "외 {count}건", + "CreateEvent": "일정 만들기", + "EventFor": "대상 일정: ", + "ConfigLabel": "캘린더", + "ConfigDescription": "일정이 포함된 캘린더를 보기 위한 확장 기능", + "HideDetails": "상세 정보 숨기기", + "ReccuringEvent": "반복 일정", + "ExternalParticipants": "외부 참석자", + "IntegrationDescr": "Google 캘린더와 일정 및 작업 동기화", + "Connect": "연결", + "RedirectGoogle": "Google 인증 페이지로 이동합니다. 모든 권한을 선택하세요.", + "ConnectCalendar": "Google 캘린더 계정 연결", + "EditRecEvent": "반복 일정 편집", + "RemoveRecEvent": "반복 일정 삭제", + "ThisEvent": "이 일정", + "ThisAndNext": "이 일정과 이후 일정", + "AllEvents": "모든 일정", + "EventTitlePlaceholder": "일정 제목", + "TimeZone": "시간대", + "Repeat": "반복", + "On": "요일", + "Every": "매", + "After": "이후", + "Ends": "종료", + "Never": "안 함", + "Day": "일", + "Week": "주", + "Month": "월", + "Year": "년", + "MondayShort": "월", + "TuesdayShort": "화", + "WednesdayShort": "수", + "ThursdayShort": "목", + "FridayShort": "금", + "SaturdayShort": "토", + "SundayShort": "일", + "OnUntil": "종료일", + "Times": "{count, plural, one {회} other {#회}}", + "AddParticipants": "참석자 추가", + "Sync": "동기화", + "Busy": "바쁨", + "AddReminder": "리마인더 추가", + "SeeAllNumberParticipants": "{value, plural, other {참석자 #명 모두 보기}}", + "SeeAllNumberReminders": "{value, plural, other {리마인더 #개 모두 보기}}", + "Visibility": "공개 범위", + "Private": "나에게만 표시", + "Public": "모두에게 표시", + "FreeBusy": "FreeBusy (예정 유무만)", + "DefaultVisibility": "기본 공개 범위", + "NotAllPermissions": "일부 권한이 허용되지 않았습니다", + "GooglePrivacy": "Huly가 Google API로부터 받은 정보를 다른 앱에 사용 및 전송하는 것은 제한적 사용 요건을 포함하여 Google API 서비스 사용자 데이터 정책을 따릅니다.", + "Value": "{value}", + "Schedule": "공개 예약", + "ScheduleNew": "일정 추가", + "ScheduleDeleteConfirm": "일정이 삭제됩니다. 진행하시겠습니까?", + "ScheduleShareLink": "링크 공유", + "ScheduleSharedLinkMessage": "

아래 링크를 공유하면 다른 사용자가 미팅을 예약할 수 있습니다:

{link}

", + "ScheduleAvailability": "예약 가능 시간", + "ScheduleUnavailable": "예약 불가", + "ScheduleTitlePlaceholder": "일정 제목", + "ScheduleAddPeriod": "시간대 추가", + "ScheduleRemovePeriod": "시간대 삭제", + "MeetingDuration": "미팅 시간", + "MeetingInterval": "미팅 사이 간격", + "CalDavAccess": "CalDAV 액세스", + "CalDavAccessPrompt": "CalDAV 프로토콜을 사용하면 개인 Huly 캘린더를 외부 캘린더 앱과 동기화할 수 있습니다. 이 계정과 표시된 비밀번호로 Huly CalDAV 서버를 캘린더 클라이언트에 등록하세요.", + "CalDavAccessEnable": "워크스페이스 {ws}의 개인 캘린더에 CalDAV 액세스 활성화", + "CalDavAccessServer": "CalDAV 서버", + "CalDavAccessAccount": "Huly 계정", + "CalDavAccessPassword": "비밀번호", + "CalDavAccessPasswordWarning": "이 비밀번호는 다시 확인할 수 없습니다. 안전한 곳에 보관해 주세요.", + "MeetingScheduledNotification": "미팅이 예약되었습니다", + "MeetingRescheduledNotification": "미팅 시간이 변경되었습니다", + "MeetingCanceledNotification": "미팅 취소됨: {title}", + "PrimaryCalendar": "기본 캘린더", + "Hidden": "숨김", + "Each": "매", + "OnThe": "의", + "First": "첫 번째", + "Second": "두 번째", + "Third": "세 번째", + "Fourth": "네 번째", + "Fifth": "다섯 번째", + "NextToLast": "마지막에서 두 번째", + "Last": "마지막", + "Weekday": "평일", + "WeekendDay": "주말", + "SynchronizedCalendars": "동기화된 캘린더", + "Account": "계정", + "NoCalendars": "동기화할 캘린더가 선택되지 않았습니다" + } +} diff --git a/plugins/card-assets/lang/cs.json b/plugins/card-assets/lang/cs.json index 372d34ef4b..a725b76d0a 100644 --- a/plugins/card-assets/lang/cs.json +++ b/plugins/card-assets/lang/cs.json @@ -84,6 +84,7 @@ "SingleColumn": "Jeden sloupec", "TwoColumns": "Dva sloupce", "Grid": "Mřížka", - "RichtextProperties": "Textová pole" + "RichtextProperties": "Textová pole", + "ShowAllVersions": "Ukázat všechny verze" } } diff --git a/plugins/card-assets/lang/de.json b/plugins/card-assets/lang/de.json index f6b77c6b6d..9bf7ff0c3f 100644 --- a/plugins/card-assets/lang/de.json +++ b/plugins/card-assets/lang/de.json @@ -84,6 +84,7 @@ "SingleColumn": "Einspaltig", "TwoColumns": "Zwei spaltig", "Grid": "Gitter", - "RichtextProperties": "Textfelder" + "RichtextProperties": "Textfelder", + "ShowAllVersions": "Alle Versionen anzeigen" } } diff --git a/plugins/card-assets/lang/en.json b/plugins/card-assets/lang/en.json index 717fb819ff..0c94f01369 100644 --- a/plugins/card-assets/lang/en.json +++ b/plugins/card-assets/lang/en.json @@ -84,6 +84,7 @@ "SingleColumn": "Single column", "TwoColumns": "Two columns", "Grid": "Grid", - "RichtextProperties": "Richtext Properties" + "RichtextProperties": "Richtext Properties", + "ShowAllVersions": "Show all versions" } } diff --git a/plugins/card-assets/lang/es.json b/plugins/card-assets/lang/es.json index 942269d68b..02a6c623ef 100644 --- a/plugins/card-assets/lang/es.json +++ b/plugins/card-assets/lang/es.json @@ -84,6 +84,7 @@ "SingleColumn": "Una columna", "TwoColumns": "Dos columnas", "Grid": "Cuadrícula", - "RichtextProperties": "Campos de texto" + "RichtextProperties": "Campos de texto", + "ShowAllVersions": "Mostrar todas las versiones" } } diff --git a/plugins/card-assets/lang/fr.json b/plugins/card-assets/lang/fr.json index 2272350cb3..00c20f1219 100644 --- a/plugins/card-assets/lang/fr.json +++ b/plugins/card-assets/lang/fr.json @@ -84,6 +84,7 @@ "SingleColumn": "Une colonne", "TwoColumns": "Deux colonnes", "Grid": "Grille", - "RichtextProperties": "Champs de texte" + "RichtextProperties": "Champs de texte", + "ShowAllVersions": "Toutes les versions" } } diff --git a/plugins/card-assets/lang/it.json b/plugins/card-assets/lang/it.json index fe56cec4d9..757878562f 100644 --- a/plugins/card-assets/lang/it.json +++ b/plugins/card-assets/lang/it.json @@ -84,6 +84,7 @@ "SingleColumn": "Una colonna", "TwoColumns": "Due colonne", "Grid": "Griglia", - "RichtextProperties": "Campo di testo" + "RichtextProperties": "Campo di testo", + "ShowAllVersions": "Tutte le versioni" } } diff --git a/plugins/card-assets/lang/ja.json b/plugins/card-assets/lang/ja.json index 8463868194..966760b5f6 100644 --- a/plugins/card-assets/lang/ja.json +++ b/plugins/card-assets/lang/ja.json @@ -84,6 +84,7 @@ "SingleColumn": "1列", "TwoColumns": "2列", "Grid": "グリッド", - "RichtextProperties": "リッチテキストフィールド" + "RichtextProperties": "リッチテキストフィールド", + "ShowAllVersions": "すべてのバージョンを表示" } } diff --git a/plugins/card-assets/lang/ko.json b/plugins/card-assets/lang/ko.json new file mode 100644 index 0000000000..74c2a4e997 --- /dev/null +++ b/plugins/card-assets/lang/ko.json @@ -0,0 +1,90 @@ +{ + "string": { + "Card": "카드", + "CardApplication": "카드", + "Cards": "카드", + "Content": "내용", + "CreateCard": "카드 만들기", + "AllowCreatingCards": "카드 만들기 허용", + "CreateMasterTag": "유형 만들기", + "CreateTag": "태그 만들기", + "MasterTag": "유형", + "MasterTags": "유형", + "Parent": "상위 카드", + "Tags": "태그", + "Tag": "태그", + "AddTag": "태그 추가", + "CardLibrary": "카드 라이브러리", + "MinimizeAll": "모두 최소화", + "ExpandAll": "모두 펼치기", + "DeleteTag": "태그 삭제", + "TagRelations": "태그 관계", + "DeleteTagConfirm": "이 태그를 삭제하시겠습니까? 관련된 모든 속성이 함께 삭제됩니다.", + "DeleteMasterTag": "유형 삭제", + "DeleteMasterTagConfirm": "이 타입을 삭제하시겠습니까? 이 타입에 연결된 모든 객체가 함께 삭제됩니다.", + "UnsetParent": "상위 해제", + "SetParent": "상위 설정", + "CreateChild": "하위 카드 만들기", + "Children": "하위 카드", + "Views": "뷰", + "CreateView": "뷰 만들기", + "EditView": "뷰 편집", + "SelectViewType": "뷰 유형 선택", + "Document": "문서", + "Documents": "문서", + "ChangeType": "유형 변경", + "ChangeTypeWarning": "경고: 카드의 타입을 변경하면 대상 타입에 없는 속성의 모든 데이터가 삭제됩니다. 이전 타입으로 되돌리면 속성 데이터를 복원할 수 있습니다. 카드 내용은 영향을 받지 않습니다.", + "MasterDetailViews": "마스터 디테일 뷰", + "SelectType": "유형 선택", + "CreateSpace": "스페이스 만들기", + "NumberTypes": "{count, plural, one {유형 #개} other {유형 #개}}", + "Labels": "라벨", + "Properties": "속성", + "NoChildren": "하위 카드 없음", + "ConfigDescription": "데이터베이스 형식 지식 관리용 확장 기능입니다.", + "AddCollaborators": "협업자 추가", + "CardTitle": "제목", + "Post": "게시", + "GetIndividualPublicLink": "개인 공개 링크 가져오기", + "ShowLess": "간략히 보기", + "CardContent": "무엇을 공유하시겠어요?", + "Feed": "피드", + "AllCards": "모든 카드", + "Favorites": "즐겨찾기", + "RemoveCard": "카드 제거", + "UpdateCard": "카드 업데이트", + "CreateCardPermission": "카드 만들기", + "AddTagPermission": "태그 추가", + "RemoveTag": "태그 제거", + "ForbidRemoveCard": "카드 제거 금지", + "ForbidUpdateCard": "카드 업데이트 금지", + "ForbidCreateCardPermission": "카드 만들기 금지", + "ForbidAddTagPermission": "태그 추가 금지", + "ForbidRemoveTag": "태그 제거 금지", + "Duplicate": "복제", + "Version": "버전", + "Versions": "버전", + "NewVersion": "새 버전", + "Versioning": "버전 관리", + "EnableVersioning": "버전 관리 사용", + "EnableVersioningConfirm": "버전 관리를 사용하시겠습니까?", + "NewVersionConfirmation": "새 버전을 만드시겠습니까?", + "RelationCopyDescr": "복사할 관계를 선택하세요.", + "Import": "가져오기", + "Export": "내보내기", + "CardUpdated": "카드가 업데이트되었습니다", + "CardCreated": "카드가 생성되었습니다", + "MyCards": "내 카드", + "GotoMyCards": "내 카드로 이동", + "LockSection": "섹션 잠금", + "UnLockSection": "섹션 잠금 해제", + "SectionLocked": "{section} 섹션이 잠겼습니다", + "SectionUnlocked": "{section} 섹션의 잠금이 해제되었습니다", + "LayoutAuto": "자동", + "SingleColumn": "1열", + "TwoColumns": "2열", + "Grid": "그리드", + "RichtextProperties": "리치 텍스트 속성", + "ShowAllVersions": "모든 버전 보기" + } +} diff --git a/plugins/card-assets/lang/pt-br.json b/plugins/card-assets/lang/pt-br.json index 1e6210575c..de422b51f9 100644 --- a/plugins/card-assets/lang/pt-br.json +++ b/plugins/card-assets/lang/pt-br.json @@ -84,6 +84,7 @@ "SingleColumn": "Uma coluna", "TwoColumns": "Duas colunas", "Grid": "Grade", - "RichtextProperties": "Campos de texto" + "RichtextProperties": "Campos de texto", + "ShowAllVersions": "Todas as versões" } } diff --git a/plugins/card-assets/lang/pt.json b/plugins/card-assets/lang/pt.json index d8740a0eae..dbd78c3fa9 100644 --- a/plugins/card-assets/lang/pt.json +++ b/plugins/card-assets/lang/pt.json @@ -84,6 +84,7 @@ "SingleColumn": "Uma coluna", "TwoColumns": "Duas colunas", "Grid": "Grade", - "RichtextProperties": "Campo de texto" + "RichtextProperties": "Campo de texto", + "ShowAllVersions": "Todas as versões" } } diff --git a/plugins/card-assets/lang/ru.json b/plugins/card-assets/lang/ru.json index 875525ae31..eab9141d3b 100644 --- a/plugins/card-assets/lang/ru.json +++ b/plugins/card-assets/lang/ru.json @@ -84,6 +84,7 @@ "SingleColumn": "Один столбец", "TwoColumns": "Два столбца", "Grid": "Сетка", - "RichtextProperties": "Текстовые поля" + "RichtextProperties": "Текстовые поля", + "ShowAllVersions": "Показывать все версии" } } diff --git a/plugins/card-assets/lang/tr.json b/plugins/card-assets/lang/tr.json index fac4c73e4d..99dd866e85 100644 --- a/plugins/card-assets/lang/tr.json +++ b/plugins/card-assets/lang/tr.json @@ -84,6 +84,7 @@ "SingleColumn": "Tek sütun", "TwoColumns": "İki sütun", "Grid": "Izgara", - "RichtextProperties": "Zengin metin alanları" + "RichtextProperties": "Zengin metin alanları", + "ShowAllVersions": "Tüm sürümleri göster" } } diff --git a/plugins/card-assets/lang/zh.json b/plugins/card-assets/lang/zh.json index 5b87423088..81a0a88366 100644 --- a/plugins/card-assets/lang/zh.json +++ b/plugins/card-assets/lang/zh.json @@ -84,6 +84,7 @@ "SingleColumn": "单列", "TwoColumns": "两列", "Grid": "网格", - "RichtextProperties": "富文本字段" + "RichtextProperties": "富文本字段", + "ShowAllVersions": "显示所有版本" } } diff --git a/plugins/card-resources/src/components/MarkupProperties.svelte b/plugins/card-resources/src/components/MarkupProperties.svelte index d36febf002..d0a6b1d8f4 100644 --- a/plugins/card-resources/src/components/MarkupProperties.svelte +++ b/plugins/card-resources/src/components/MarkupProperties.svelte @@ -33,7 +33,6 @@ const hierarchy = client.getHierarchy() function updateKeys (_class: Ref>, to: Ref> | undefined): void { - console.log('tag', _class, to) const filtredKeys = [...hierarchy.getAllAttributes(_class, to).entries()] .filter(([key, value]) => value.hidden !== true && value.type._class === core.class.TypeMarkup) .map(([key, attr]) => ({ key, attr })) @@ -64,14 +63,9 @@ {#each keys as key} -
+
+ diff --git a/plugins/text-editor-resources/src/components/extension/inlineComment.ts b/plugins/text-editor-resources/src/components/extension/inlineComment.ts index ca312793a5..6bd502ee43 100644 --- a/plugins/text-editor-resources/src/components/extension/inlineComment.ts +++ b/plugins/text-editor-resources/src/components/extension/inlineComment.ts @@ -34,6 +34,7 @@ import tippy, { type Instance } from 'tippy.js' import 'tippy.js/animations/shift-toward.css' import { type Doc as YDoc, type Map as YMap } from 'yjs' import { SvelteRenderer } from '../node-view' +import { hideTextEditorToolbar } from './toolbar/toolbar' export interface InlineCommentExtensionOptions { boundary?: HTMLElement @@ -946,6 +947,7 @@ function getReferenceRect (view: EditorView, from: number, to: number): DOMRect } export async function createInlineComment (editor: Editor, event: MouseEvent): Promise { + hideTextEditorToolbar(editor) editor.view.dispatch(setMeta(editor.state.tr, { newCommentRequested: true })) } diff --git a/plugins/text-editor-resources/src/components/extension/leftMenu.ts b/plugins/text-editor-resources/src/components/extension/leftMenu.ts index a48617b953..13e1dc54c3 100644 --- a/plugins/text-editor-resources/src/components/extension/leftMenu.ts +++ b/plugins/text-editor-resources/src/components/extension/leftMenu.ts @@ -31,6 +31,9 @@ export interface LeftMenuOptions { } function nodeDOMAtCoords (coords: { x: number, y: number }): Element | undefined { + if (!Number.isFinite(coords.x) || !Number.isFinite(coords.y)) { + return undefined + } return document .elementsFromPoint(coords.x, coords.y) .find((elem: Element) => elem.parentElement?.matches?.('.ProseMirror') === true) @@ -94,14 +97,16 @@ function LeftMenu (options: LeftMenuOptions): Plugin { const svgNs = 'http://www.w3.org/2000/svg' const icon = document.createElementNS(svgNs, 'svg') - const { className: iconClassName, ...restIconProps } = options.iconProps - icon.classList.add(iconClassName) + const { className: iconClassName, ...restIconProps } = options.iconProps ?? {} + if (iconClassName !== undefined) { + icon.classList.add(iconClassName) + } Object.entries(restIconProps).forEach(([key, value]) => { icon.setAttribute(key, value as string) }) const use = document.createElementNS(svgNs, 'use') - const href = getMetadata(options.icon) + const href = options.icon !== undefined ? getMetadata(options.icon) : undefined if (href !== undefined) { use.setAttributeNS('http://www.w3.org/1999/xlink', 'href', href) @@ -161,7 +166,12 @@ function LeftMenu (options: LeftMenuOptions): Plugin { y: event.clientY }) - if (!(node instanceof HTMLElement) || node.nodeName === 'HR') { + if ( + !(node instanceof HTMLElement) || + node.nodeName === 'HR' || + options.items === undefined || + options.items.length === 0 + ) { hideLeftMenu() return } diff --git a/plugins/text-editor-resources/src/components/extension/note.ts b/plugins/text-editor-resources/src/components/extension/note.ts index 28d1a1874d..65ec85e16f 100644 --- a/plugins/text-editor-resources/src/components/extension/note.ts +++ b/plugins/text-editor-resources/src/components/extension/note.ts @@ -7,6 +7,7 @@ import { NoteBaseExtension, type NoteKind, name as noteName } from '@hcengineeri import ConfigureNotePopup from '../note/ConfigureNotePopup.svelte' import DisplayNotePopup from '../note/DisplayNotePopup.svelte' +import { hideTextEditorToolbar } from './toolbar/toolbar' export interface NoteOptions { readonly: boolean @@ -195,6 +196,7 @@ export function displayNote (text: string, event: MouseEvent): void { } export async function configureNote (editor: Editor, event: MouseEvent): Promise { + hideTextEditorToolbar(editor) const attributes = editor.getAttributes(noteName) const text = attributes.title const kind = attributes.kind diff --git a/plugins/text-editor-resources/src/components/extension/shortcuts/linkKeymap.ts b/plugins/text-editor-resources/src/components/extension/shortcuts/linkKeymap.ts index 30e2aacf88..2dda211bb9 100644 --- a/plugins/text-editor-resources/src/components/extension/shortcuts/linkKeymap.ts +++ b/plugins/text-editor-resources/src/components/extension/shortcuts/linkKeymap.ts @@ -15,6 +15,8 @@ import { showPopup } from '@hcengineering/ui' import { Extension } from '@tiptap/core' + +import { hideTextEditorToolbar } from '../toolbar/toolbar' import { type MarkType } from '@tiptap/pm/model' import { Plugin, PluginKey } from '@tiptap/pm/state' import LinkPopup from '../../LinkPopup.svelte' @@ -30,6 +32,7 @@ export const LinkKeymapExtension = Extension.create({ const link = this.editor.getAttributes('link').href + hideTextEditorToolbar(this.editor) showPopup(LinkPopup, { link }, undefined, undefined, (newLink) => { if (newLink === '') { this.editor.chain().focus().extendMarkRange('link').unsetLink().run() diff --git a/plugins/text-editor-resources/src/components/extension/toolbar/toolbar.ts b/plugins/text-editor-resources/src/components/extension/toolbar/toolbar.ts index 30e63c3b37..136ac9adbd 100644 --- a/plugins/text-editor-resources/src/components/extension/toolbar/toolbar.ts +++ b/plugins/text-editor-resources/src/components/extension/toolbar/toolbar.ts @@ -475,6 +475,15 @@ export function getToolbarCursor (editorState: EditorState): ToolbarCursor return state?.cursor ?? null } +/** Dismiss the floating text toolbar (e.g. before opening a popup so it does not cover it). */ +export function hideTextEditorToolbar (editor: Editor): void { + const pluginState = getToolbarControlPluginState(editor.state) + if (pluginState?.cursor == null) { + return + } + editor.view.dispatch(updateCursor(editor.state.tr, null, pluginState, 'hide-for-popup')) +} + function resolveCursor (props: ResolveCursorProps): ToolbarCursor | null { const providers = props.state.providers diff --git a/plugins/text-editor-resources/src/kits/editor-kit.ts b/plugins/text-editor-resources/src/kits/editor-kit.ts index 7429987d4f..82669655cb 100644 --- a/plugins/text-editor-resources/src/kits/editor-kit.ts +++ b/plugins/text-editor-resources/src/kits/editor-kit.ts @@ -129,7 +129,7 @@ const StaticEditorKit = extensionKit( context: getActionContext(context) }), toc: e(ToCExtension, false), - leftMenu: e(LeftMenuExtension, false), + leftMenu: e(LeftMenuExtension), inlineCommands: e(InlineCommandsExtension, false), placeholder: e(I18nPlaceholderExtension, false), editorContext: e(EditorContextExtension, { diff --git a/plugins/text-editor-resources/src/utils.ts b/plugins/text-editor-resources/src/utils.ts index e01ea34e1d..8e0373d4a4 100644 --- a/plugins/text-editor-resources/src/utils.ts +++ b/plugins/text-editor-resources/src/utils.ts @@ -17,6 +17,7 @@ import { SelectPopup, showPopup, type PopupAlignment } from '@hcengineering/ui' import { type Editor, type Attribute } from '@tiptap/core' import { type ActionContext } from '@hcengineering/text-editor' +import { hideTextEditorToolbar } from './components/extension/toolbar/toolbar' import { mInsertTable } from './components/extensions' import LinkPopup from './components/LinkPopup.svelte' @@ -76,6 +77,7 @@ export async function isHeadingVisible (editor: Editor, ctx: ActionContext): Pro } export async function formatLink (editor: Editor): Promise { + hideTextEditorToolbar(editor) const link = editor.getAttributes('link').href // give editor some time to handle blur event diff --git a/plugins/time-assets/lang/ko.json b/plugins/time-assets/lang/ko.json new file mode 100644 index 0000000000..e8e874fe7e --- /dev/null +++ b/plugins/time-assets/lang/ko.json @@ -0,0 +1,63 @@ +{ + "string": { + "Planner": "플래너", + "Calendar": "캘린더", + "Agenda": "일정", + "Me": "나", + "Team": "팀", + "TeamPlanner": "팀 플래너", + "Today": "오늘", + "TodayColon": "오늘:", + "Tomorrow": "내일", + "Yesterday": "어제", + "Completed": "완료", + "Now": "지금", + "Scheduled": "예약됨", + "Schedule": "예약", + "WithoutProject": "프로젝트 없음", + "TotalGroupTime": "{days, plural, =0 {} other {#일}} {hours, plural, =0 {} other {#시간}} {minutes, plural, =0 {} other {#분}}", + "Tasks": "작업", + "WorkSlot": "작업 시간대", + "WorkItem": "작업 항목", + "Inbox": "수신함", + "All": "전체", + "AddToDo": "액션 아이템 추가", + "CreateToDo": "액션 아이템 추가, Enter 키로 저장", + "ToDos": "액션 아이템", + "Done": "완료", + "EditToDo": "액션 아이템 편집", + "Unplanned": "미계획", + "Planned": "계획됨", + "AddSlot": "시간대 추가", + "SetPriority": "우선순위 설정…", + "NoPriority": "우선순위 없음", + "LowPriority": "낮은 우선순위", + "MediumPriority": "보통 우선순위", + "HighPriority": "높은 우선순위", + "UrgentPriority": "긴급 우선순위", + "Low": "낮음", + "Medium": "보통", + "High": "높음", + "Urgent": "긴급", + "AddTo": "추가 위치", + "AddTitle": "제목 추가", + "MyWork": "내 작업", + "WeekCalendar": "주", + "DayCalendar": "일", + "GotoTimePlaning": "계획", + "GotoTimeTeamPlaning": "팀 계획", + "NewToDo": "새 액션 아이템", + "ToDo": "액션 아이템", + "ToDoColon": "액션 아이템:", + "Priority": "우선순위", + "CreatedToDo": "액션 아이템 생성됨", + "NewToDoDetails": "새 액션 아이템: {details}", + "MarkedAsDone": "완료됨", + "WorkSchedule": "근무 일정", + "SummaryDuration": "요약", + "UnassignToDo": "액션 아이템 담당자 해제", + "UnassignToDoConfirm": "이 할 일의 담당자를 해제하시겠습니까? 담당자의 플래너에서 할 일이 제거됩니다.", + "ReassignToDo": "액션 아이템 담당자 변경", + "ReassignToDoConfirm": "할 일의 담당자를 변경하시겠습니까? 현재 담당자의 플래너에서 할 일이 제거됩니다." + } +} diff --git a/plugins/tracker-assets/lang/ko.json b/plugins/tracker-assets/lang/ko.json new file mode 100644 index 0000000000..b89719af61 --- /dev/null +++ b/plugins/tracker-assets/lang/ko.json @@ -0,0 +1,279 @@ +{ + "string": { + "TrackerApplication": "트래커", + "Projects": "내 프로젝트", + "More": "더 보기", + "Default": "기본값", + "MakeDefault": "기본값으로 설정", + "Delete": "삭제", + "Open": "열기", + "Members": "멤버", + "Inbox": "수신함", + "MyIssues": "내 이슈", + "ViewIssue": "이슈 보기", + "IssueCreated": "이슈가 생성되었습니다", + "Issues": "이슈", + "Views": "뷰", + "Active": "활성", + "AllIssues": "모든 이슈", + "ActiveIssues": "활성 이슈", + "BacklogIssues": "백로그", + "Backlog": "백로그", + "Board": "보드", + "Components": "컴포넌트", + "AllComponents": "전체", + "BacklogComponents": "백로그", + "ActiveComponents": "활성", + "ClosedComponents": "완료", + "NewComponent": "새 컴포넌트", + "CreateComponent": "컴포넌트 생성", + "ComponentNamePlaceholder": "컴포넌트 이름", + "ComponentDescriptionPlaceholder": "설명 (선택)", + "ComponentLead": "리더", + "ComponentMembers": "멤버", + "StartDate": "시작일", + "TargetDate": "목표일", + "Planned": "계획됨", + "InProgress": "진행 중", + "Paused": "일시 중지", + "Completed": "완료", + "Canceled": "취소됨", + "CreateProject": "프로젝트 생성", + "NewProject": "새 프로젝트", + "ProjectTitle": "프로젝트 제목", + "ProjectTitlePlaceholder": "새 프로젝트", + "UsedInIssueIDs": "이슈 ID에 사용됨", + "Identifier": "식별자", + "Import": "가져오기", + "ProjectIdentifier": "프로젝트 식별자", + "IdentifierExists": "이미 존재하는 프로젝트 식별자입니다", + "ProjectIdentifierPlaceholder": "PRJCT", + "ChooseIcon": "아이콘 선택", + "AddIssue": "이슈 추가", + "NewIssue": "새 이슈", + "NewIssuePlaceholder": "새로 만들기", + "ResumeDraft": "초안 이어서 작성", + "SaveIssue": "이슈 생성", + "SetPriority": "우선순위 설정…", + "SetStatus": "상태 설정…", + "SelectIssue": "이슈 선택", + "Priority": "우선순위", + "NoPriority": "우선순위 없음", + "Urgent": "긴급", + "High": "높음", + "Medium": "보통", + "Low": "낮음", + "Unassigned": "미할당", + "Back": "뒤로", + "List": "목록", + "NumberLabels": "{count, plural, =0 {라벨 없음} =1 {라벨 1개} other {라벨 #개}}", + "CategoryBacklog": "백로그", + "CategoryUnstarted": "미착수", + "CategoryStarted": "진행 중", + "CategoryCompleted": "완료", + "CategoryCanceled": "취소됨", + "Title": "제목", + "Name": "이름", + "Description": "설명", + "Status": "상태", + "Number": "번호", + "Assignee": "담당자", + "AssignTo": "담당자 지정...", + "AssignedTo": "{value}에게 할당됨", + "Parent": "상위 이슈", + "SetParent": "상위 이슈 설정…", + "ChangeParent": "상위 이슈 변경…", + "RemoveParent": "상위 이슈 제거", + "OpenParent": "상위 이슈 열기", + "SubIssues": "하위 이슈", + "SubIssuesList": "하위 이슈 ({subIssues})", + "OpenSubIssues": "하위 이슈 열기", + "AddSubIssues": "하위 이슈 추가", + "BlockedBy": "차단됨", + "RelatedTo": "관련", + "Comments": "댓글", + "Attachments": "첨부 파일", + "Labels": "라벨", + "Component": "컴포넌트", + "Space": "", + "SetDueDate": "마감일 설정…", + "ChangeDueDate": "마감일 변경…", + "ModificationDate": "{value} 업데이트", + "Project": "프로젝트", + "Issue": "이슈", + "SubIssue": "하위 이슈", + "Document": "", + "DocumentIcon": "", + "DocumentColor": "", + "Rank": "순위", + "TypeIssuePriority": "이슈 우선순위", + "IssueTitlePlaceholder": "이슈 제목", + "SubIssueTitlePlaceholder": "하위 이슈 제목", + "IssueDescriptionPlaceholder": "설명 추가…", + "SubIssueDescriptionPlaceholder": "하위 이슈 설명 추가", + "AddIssueTooltip": "이슈 추가...", + "NewIssueDialogClose": "이 대화 상자를 닫으시겠습니까?", + "NewIssueDialogCloseNote": "모든 변경 사항이 손실됩니다", + "RemoveComponentDialogClose": "컴포넌트를 삭제하시겠습니까?", + "RemoveComponentDialogCloseNote": "이 컴포넌트를 삭제하시겠습니까? 이 작업은 되돌릴 수 없습니다", + "Grouping": "그룹화", + "Ordering": "정렬", + "CompletedIssues": "완료된 이슈", + "NoGrouping": "그룹화 없음", + "NoAssignee": "담당자 없음", + "LastUpdated": "최근 업데이트", + "DueDate": "마감일", + "Manual": "수동", + "All": "전체", + "PastWeek": "지난주", + "PastMonth": "지난달", + "CopyIssueUrl": "이슈 URL 복사", + "CopyIssueId": "이슈 ID 복사", + "CopyIssueBranch": "Git 브랜치 이름 복사", + "CopyIssueTitle": "이슈 제목 복사", + "AssetLabel": "자산", + "AddToComponent": "컴포넌트에 추가…", + "MoveToComponent": "컴포넌트로 이동…", + "NoComponent": "컴포넌트 없음", + "ComponentLeadTitle": "컴포넌트 리더", + "ComponentMembersTitle": "컴포넌트 멤버", + "ComponentLeadSearchPlaceholder": "컴포넌트 리더 설정…", + "ComponentMembersSearchPlaceholder": "컴포넌트 멤버 변경…", + "MoveToProject": "프로젝트로 이동", + "Duplicate": "복제", + "GotoIssues": "이슈로 이동", + "GotoActive": "활성 이슈로 이동", + "GotoBacklog": "백로그로 이동", + "GotoComponents": "컴포넌트로 이동", + "GotoMyIssues": "내 이슈로 이동", + "GotoTrackerApplication": "트래커로 전환", + "CreatedOne": "생성됨", + "MoveIssues": "이슈 이동", + "MoveIssuesDescription": "이슈를 이동할 프로젝트를 선택하세요", + "ManageAttributes": "속성 관리", + "KeepOriginalAttributes": "원래 속성 유지", + "KeepOriginalAttributesTooltip": "원래 이슈 상태와 컴포넌트가 새 프로젝트에 유지됨", + "SelectReplacement": "다음 항목은 새 프로젝트에서 사용할 수 없습니다. 대체 항목을 선택하세요.", + "MissingItem": "누락된 항목", + "Replacement": "대체", + "Original": "원본", + "OriginalDescription": "이 섹션의 항목은 새 프로젝트에 생성됩니다", + "Relations": "관계", + "RemoveRelation": "관계 제거...", + "AddBlockedBy": "차단됨으로 표시...", + "AddIsBlocking": "차단 중으로 표시...", + "AddRelatedIssue": "다른 이슈 참조...", + "RelatedIssue": "관련 이슈 {id} - {title}", + "BlockedIssue": "차단된 이슈 {id} - {title}", + "BlockingIssue": "차단 중인 이슈 {id} - {title}", + "BlockedBySearchPlaceholder": "차단 원인으로 표시할 이슈 검색...", + "IsBlockingSearchPlaceholder": "차단 중으로 표시할 이슈 검색...", + "RelatedIssueSearchPlaceholder": "참조할 이슈 검색...", + "Blocks": "차단 중", + "Related": "관련 이슈", + "RelatedIssues": "관련 이슈", + "EditIssue": "{title} 편집", + "EditWorkflowStatuses": "이슈 상태 편집", + "EditProject": "프로젝트 편집", + "DeleteProject": "프로젝트 삭제", + "ArchiveProjectName": "{name} 프로젝트를 보관하시겠습니까?", + "ArchiveProjectConfirm": "이 프로젝트를 보관하시겠습니까?", + "DeleteProjectConfirm": "이 프로젝트와 모든 이슈를 삭제하시겠습니까?", + "ProjectHasIssues": "이 프로젝트에는 기존 이슈가 있습니다. 보관하시겠습니까?", + "ManageWorkflowStatuses": "프로젝트 유형 관리", + "AddWorkflowStatus": "이슈 상태 추가", + "EditWorkflowStatus": "이슈 상태 편집", + "DeleteWorkflowStatus": "이슈 상태 삭제", + "DeleteWorkflowStatusConfirm": "\"{status}\" 상태를 삭제하시겠습니까?", + "DeleteWorkflowStatusErrorDescription": "\"{status}\" 상태에 {count, plural, =1 {이슈 1개} other {이슈 #개}}가 할당되어 있습니다. 이동할 상태를 선택하세요", + "Save": "저장", + "IncludeItemsThatMatch": "일치하는 항목 포함", + "AnyFilter": "필터 중 하나", + "AllFilters": "모든 필터", + "NoDescription": "설명 없음", + "SearchIssue": "작업 검색...", + "StatusHistory": "상태 이력", + "NewSubIssue": "하위 이슈 추가...", + "AddLabel": "라벨 추가", + "DeleteIssue": "{issueCount, plural, =1 {이슈} other {이슈 #개}} 삭제", + "DeleteIssueConfirm": "{issueCount, plural, =1 {이슈} other {이슈}}{subIssueCount, plural, =0 {} =1 {와 하위 이슈} other {와 하위 이슈}}를 삭제하시겠습니까?", + "Milestone": "마일스톤", + "NoMilestone": "마일스톤 없음", + "MoveToMilestone": "마일스톤 선택", + "Milestones": "마일스톤", + "AllMilestones": "전체", + "PlannedMilestones": "계획됨", + "ActiveMilestones": "활성", + "ClosedMilestones": "완료", + "AddToMilestone": "마일스톤에 추가", + "MilestoneNamePlaceholder": "마일스톤 이름", + "NewMilestone": "새 마일스톤", + "CreateMilestone": "생성", + "MoveAndDeleteMilestone": "이슈를 {newMilestone}(으)로 이동하고 {deleteMilestone} 삭제", + "MoveAndDeleteMilestoneConfirm": "마일스톤을 삭제하고 이슈를 다른 마일스톤으로 이동하시겠습니까?", + "Estimation": "예상 소요 시간", + "ReportedTime": "사용 시간", + "RemainingTime": "남은 시간", + "TimeSpendReports": "시간 사용 보고서", + "TimeSpendReport": "시간", + "TimeSpendReportAdd": "시간 보고서 추가", + "TimeSpendReportDate": "날짜", + "TimeSpendReportValue": "사용 시간", + "TimeSpendReportValueTooltip": "사용 시간(시간 단위)", + "TimeSpendReportDescription": "설명", + "TimeSpendDays": "{value}일", + "TimeSpendHours": "{value}시간", + "TimeSpendMinutes": "{value}분", + "ChildEstimation": "하위 이슈 예상치", + "ChildReportedTime": "하위 이슈 시간", + "CapacityValue": "{value}일 중", + "NewRelatedIssue": "새 관련 이슈", + "RelatedIssuesNotFound": "관련 이슈를 찾을 수 없습니다", + "AddedReference": "참조 추가됨", + "AddedAsBlocked": "차단됨으로 표시됨", + "AddedAsBlocking": "차단 중으로 표시됨", + "IssueTemplate": "템플릿", + "IssueTemplates": "템플릿", + "NewProcess": "새 템플릿", + "SaveProcess": "템플릿 저장", + "NoIssueTemplate": "템플릿 없음", + "TemplateReplace": "새 템플릿을 적용하시겠습니까?", + "TemplateReplaceConfirm": "모든 필드가 새 템플릿 값으로 덮어쓰여집니다", + "Apply": "적용", + "CurrentWorkDay": "현재 영업일", + "PreviousWorkDay": "이전 영업일", + "TimeReportDayTypeLabel": "시간 보고서 일자 유형 선택", + "DefaultAssignee": "이슈 기본 담당자", + "SevenHoursLength": "7시간", + "EightHoursLength": "8시간", + "HourLabel": "시간", + "MinuteLabel": "분", + "Saved": "저장됨...", + "CreatedIssue": "이슈 생성됨", + "CreatedSubIssue": "하위 이슈 생성됨", + "ChangeStatus": "상태 변경", + "ConfigLabel": "트래커", + "ConfigDescription": "작업 항목을 관리하고 모든 작업을 완료하기 위한 확장 기능입니다.", + "NoStatusFound": "일치하는 상태를 찾을 수 없습니다", + "CreateMissingStatus": "누락된 상태 생성", + "UnsetParent": "상위 이슈 설정이 해제됩니다", + "AllProjects": "모든 프로젝트", + "IssueNotificationTitle": "{issueTitle}", + "IssueNotificationBody": "{senderName}님이 업데이트했습니다", + "IssueNotificationChanged": "{senderName}님이 {property}을(를) 변경했습니다", + "IssueNotificationChangedProperty": "{senderName}님이 {property}을(를) \"{newValue}\"(으)로 변경했습니다", + "IssueNotificationMessage": "{senderName}: {message}", + "PreviousAssigned": "이전 담당자", + "IssueAssignedToYou": "나에게 할당됨", + "RelatedIssueTargetDescription": "클래스나 스페이스에 대한 관련 이슈의 기본 프로젝트", + "MapRelatedIssues": "관련 이슈의 기본 프로젝트 구성", + "DefaultIssueStatus": "기본 이슈 상태", + "IssueStatus": "상태", + "Extensions": "확장 기능", + "UnsetParentIssue": "상위 이슈 설정 해제", + "ForbidCreateProjectPermission": "프로젝트 생성 금지", + "ForbidCreateProjectPermissionDescription": "사용자의 새 프로젝트 생성을 금지", + "AllowCreatingIssues": "이슈 생성 허용" + }, + "status": {} +} diff --git a/plugins/training-assets/lang/ko.json b/plugins/training-assets/lang/ko.json new file mode 100644 index 0000000000..380b3d0d11 --- /dev/null +++ b/plugins/training-assets/lang/ko.json @@ -0,0 +1,104 @@ +{ + "string": { + "Active": "활성", + "All": "전체", + "Canceled": "취소됨", + "ChangeOwner": "소유자 변경", + "Completed": "완료", + "CreateNewVersion": "새 버전 만들기", + "Duplicate": "복제", + "IncomingRequestStateCanceled": "취소됨", + "IncomingRequestStateDraft": "초안", + "IncomingRequestStateFailed": "불합격", + "IncomingRequestStatePassed": "합격", + "IncomingRequestStatePending": "대기 중", + "NotSelected": "선택 안 함", + "Owner": "소유자", + "Permission_ChangeSomeoneElsesSentRequestOwner": "다른 사람이 보낸 교육훈련 요청의 소유자 변경", + "Permission_ChangeSomeoneElsesSentRequestOwner_Description": "모든 사용자의 교육훈련 요청 소유자를 변경할 수 있는 권한", + "Permission_ChangeSomeoneElsesTrainingOwner": "다른 사람이 소유한 교육훈련의 소유자 변경", + "Permission_ChangeSomeoneElsesTrainingOwner_Description": "다른 사용자가 소유한 교육훈련의 소유자를 변경할 수 있는 권한", + "Permission_CreateRequestOnSomeoneElsesTraining": "다른 사람이 소유한 교육훈련 할당", + "Permission_CreateRequestOnSomeoneElsesTraining_Description": "다른 사용자가 소유한 교육훈련을 할당(요청 생성)할 수 있는 권한", + "Permission_CreateTraining": "교육훈련 만들기", + "Permission_CreateTraining_Description": "새 교육훈련을 만들 수 있는 권한", + "Permission_ViewSomeoneElsesSentRequest": "다른 사람이 보낸 교육훈련 요청 보기", + "Permission_ViewSomeoneElsesSentRequest_Description": "다른 사용자가 보낸 교육훈련 요청을 볼 수 있는 권한", + "Permission_ViewSomeoneElsesTraineesResults": "다른 사람이 보낸 교육훈련 요청의 수강생 결과 보기", + "Permission_ViewSomeoneElsesTraineesResults_Description": "다른 사용자가 보낸 교육훈련의 수강생 결과를 볼 수 있는 권한", + "Permission_ViewSomeoneElsesTrainingOverview": "다른 사람이 소유한 교육훈련 보기", + "Permission_ViewSomeoneElsesTrainingOverview_Description": "다른 사용자가 소유한 교육훈련을 볼 수 있는 권한", + "Permission_ViewSomeoneElsesTrainingQuestions": "다른 사람이 소유한 교육훈련의 질문 보기", + "Permission_ViewSomeoneElsesTrainingQuestions_Description": "다른 사용자가 소유한 교육훈련의 질문을 볼 수 있는 권한", + "Revision": "개정", + "SentYouATrainingRequest": "님이 교육훈련 요청을 보냈습니다", + "State": "상태", + "Training": "교육훈련", + "TrainingApplication": "교육훈련", + "TrainingAttempt": "시도", + "TrainingAttemptAssessmentsPassed": "합격한 평가", + "TrainingAttemptAssessmentsTotal": "전체 평가", + "TrainingAttemptMyCurrentDraft": "내 현재 초안", + "TrainingAttemptMyLatestResult": "내 최근 결과", + "TrainingAttempts": "시도", + "TrainingAttemptStateDraft": "초안", + "TrainingAttemptStateFailed": "불합격", + "TrainingAttemptStatePassed": "합격", + "TrainingAttemptSubmit": "제출", + "TrainingAttemptSubmittedBy": "제출자", + "TrainingAttemptSubmittedDate": "제출일", + "TrainingAuthor": "작성자", + "TrainingCreate": "교육훈련 만들기", + "TrainingCreated": "교육훈련이 생성되었습니다", + "TrainingOverview": "개요", + "TrainingPassingScore": "합격 점수", + "TrainingPrefix": "접두사", + "TrainingQuestions": "질문", + "TrainingRelease": "릴리스", + "TrainingReleasedBy": "릴리스 담당자", + "TrainingReleasedOn": "릴리스 날짜", + "TrainingRequest": "교육훈련 요청", + "TrainingRequestAssign": "요청 할당", + "TrainingRequestAttempt": "시도 {index}/{total}", + "TrainingRequestCancel": "요청 취소", + "TrainingRequestCanceledBy": "취소자", + "TrainingRequestCanceledDate": "취소일", + "TrainingRequestCompletion": "완료", + "TrainingRequestDueDate": "마감일", + "TrainingRequestMaxAttempts": "최대 시도 횟수", + "TrainingRequestNoDueDate": "마감일 없음", + "TrainingRequestResults": "결과", + "TrainingRequestRoles": "역할", + "TrainingRequestRolesCount": "{count, plural, one {역할 #개} other {역할 #개}}", + "TrainingRequests": "요청", + "TrainingRequestTrainee": "수강생", + "TrainingRequestTrainees": "수강생", + "TrainingRetake": "재시도", + "TrainingSeqNumber": "번호", + "TrainingStart": "교육훈련 시작", + "TrainingStateArchived": "보관됨", + "TrainingStateDeleted": "삭제됨", + "TrainingStateDraft": "초안", + "TrainingStateReleased": "릴리스됨", + "TrainingTake": "교육훈련 수강", + "AllowToTakeTraining": "교육훈련 수강 허용", + "TrainingTitle": "제목", + "Trainings": "교육훈련", + "ViewAllTrainings": "모든 교육훈련", + "ViewAllTrainingsAll": "전체", + "ViewAllTrainingsArchived": "보관됨", + "ViewAllTrainingsDrafts": "초안", + "ViewAllTrainingsReleased": "릴리스됨", + "ViewIncomingRequests": "내 요청", + "ViewMyResults": "내 결과", + "ViewMyTrainings": "내 교육훈련", + "ViewMyTrainingsAll": "전체", + "ViewMyTrainingsArchived": "보관됨", + "ViewMyTrainingsDrafts": "초안", + "ViewMyTrainingsReleased": "릴리스됨", + "ViewSentRequests": "수강생 요청", + "ViewTraineesResults": "수강생 결과", + "ConfigLabel": "교육훈련", + "ConfigDescription": "교육훈련을 관리하기 위한 확장 기능" + } +} diff --git a/plugins/uploader-assets/lang/ko.json b/plugins/uploader-assets/lang/ko.json new file mode 100644 index 0000000000..b6356f8bee --- /dev/null +++ b/plugins/uploader-assets/lang/ko.json @@ -0,0 +1,15 @@ +{ + "string": { + "Cancel": "취소", + "Retry": "다시 시도", + "UploadFiles": "파일 업로드", + "UploadFolders": "폴더 업로드", + "UploadingTo": "{files, plural, =1 {파일 1개} other {파일 #개}} 업로드 중 — 대상:" + }, + "status": { + "Error": "오류", + "Waiting": "대기 중", + "Uploading": "업로드 중", + "Completed": "완료됨" + } +} diff --git a/plugins/view-assets/lang/ko.json b/plugins/view-assets/lang/ko.json new file mode 100644 index 0000000000..1977a129f8 --- /dev/null +++ b/plugins/view-assets/lang/ko.json @@ -0,0 +1,158 @@ +{ + "string": { + "Contains": "포함", + "NotContains": "포함하지 않음", + "MoveClass": "{class} 이동", + "SelectToMove": "{class}을(를) 이동할 {classLabel}을(를) 선택하세요.", + "Delete": "삭제", + "Move": "이동", + "Cancel": "취소", + "LabelYes": "예", + "LabelNo": "아니요", + "LabelNA": "해당 없음", + "ChooseAColor": "색상 선택", + "Table": "표", + "Role": "역할", + "DeleteObject": "객체 삭제", + "DeleteObjectConfirm": "{count, plural, =1 {이 객체를} other {객체 #개를}} 삭제하시겠습니까?", + "NoCreatePermissionTitle": "생성 권한이 없습니다", + "DeletePopupNoPermissionTitle": "삭제 권한이 없습니다.", + "DeletePopupNoPermissionLabel": "삭제하려면 아래 목록의 담당자에게 문의하세요.", + "DeletePopupCreatorLabel": "작성자 (직접 작성한 항목만 삭제 가능):", + "DeletePopupOwnerLabel": "소유자 (모두 삭제 가능):", + "Archive": "보관", + "ArchiveConfirm": "{count, plural, =1 {이 객체를} other {객체 #개를}} 보관하시겠습니까?", + "Open": "열기", + "OpenInNewTab": "새 탭에서 열기", + "Assignees": "담당자", + "Labels": "라벨", + "MoveLeft": "왼쪽으로 이동", + "MoveRight": "오른쪽으로 이동", + "MoveUp": "위로 이동", + "MoveDown": "아래로 이동", + "RestoreDefaults": "기본값 복원", + "SelectItem": "포커스된 항목 선택", + "SelectItemAll": "모든 항목 선택", + "SelectItemNone": "모든 항목 선택 해제", + "NumberItems": "{count, plural, =0 {항목 없음} =1 {항목 1개} other {항목 #개}}", + "Assigned": "할당됨", + "Created": "생성됨", + "Subscribed": "구독 중", + "ShowPreview": "문서 미리보기", + "ShowActions": "작업 팝업 표시", + "ActionPlaceholder": "검색 또는 명령어 실행...", + "General": "일반", + "Navigation": "탐색", + "Editor": "편집기", + "MarkdownFormatting": "서식", + "CustomizeView": "뷰 사용자 지정", + "Filter": "필터", + "ClearFilters": "필터 지우기", + "FilterLessThan": "미만", + "FilterGreaterThan": "초과", + "FilterIsNot": "아님", + "FilterIsEither": "임", + "FilterIsEitherPlural": "임", + "FilterStatesCount": "{value, plural, =1 {상태 1개} other {상태 #개}}", + "FilterUpdated": "필터가 업데이트되었습니다", + "FilterRemoved": "{count, plural, =1 {존재하지 않는 값 #개를} other {존재하지 않는 값 #개를}} 필터에서 제거했습니다", + "Before": "이전", + "After": "이후", + "Apply": "적용", + "Save": "저장", + "IncludeItemsThatMatch": "일치하는 항목 포함", + "AnyFilter": "필터 중 하나", + "AllFilters": "모든 필터", + "MatchCriteria": "조건 일치", + "DontMatchCriteria": "조건 불일치", + "View": "뷰", + "MarkupEditor": "서식 있는 콘텐츠 필드 편집", + "List": "목록", + "Grid": "그리드", + "Timeline": "타임라인", + "Select": "선택", + "NoGrouping": "그룹화 없음", + "Grouping": "그룹화", + "Ordering": "정렬", + "Manual": "수동", + "FilteredViews": "필터링된 뷰", + "NewFilteredView": "새 필터링된 뷰", + "FilteredViewName": "필터링된 뷰 이름", + "Then": "다음", + "ShowPreviewOnClick": "클릭하면 문서 인덱스 미리보기가 표시됩니다...", + "Shown": "{total, plural, =-1 {} other {필터링된 #개 항목 중}} {len}개 결과 표시 중", + "Total": "합계: {total, plural, other{#}}", + "ShowEmptyGroups": "빈 그룹 표시", + "Overdue": "기한 초과", + "Today": "오늘", + "Yesterday": "어제", + "ThisWeek": "이번 주", + "NextWeek": "다음 주", + "ThisMonth": "이번 달", + "NextMonth": "다음 달", + "NotSpecified": "지정 안 함", + "ExactDate": "정확한 날짜", + "BeforeDate": "날짜 이전", + "AfterDate": "날짜 이후", + "BetweenDates": "날짜 사이", + "AddSavedView": "저장된 뷰 추가", + "Public": "공개", + "Hide": "숨기기", + "Rename": "이름 변경", + "SaveAs": "다른 이름으로 저장", + "And": "그리고", + "Between": "범위", + "ShowColors": "색상 사용", + "Show": "표시", + "FilterArrayAll": "모두", + "FilterArrayAny": "하나 이상", + "Or": "또는", + "HyperlinkPlaceholder": "https://jappleseed.com", + "CopyToClipboard": "클립보드에 복사", + "CopyAll": "모두 복사", + "CopyDocumentMarkdown": "Markdown으로 복사", + "CopyAsMarkdownTable": "Markdown 표로 복사", + "TableCopiedToClipboard": "표를 클립보드에 복사했습니다", + "TableCopyFailed": "표를 클립보드에 복사하는 데 실패했습니다", + "PublicView": "공개", + "ChooseIcon": "아이콘 선택", + "IconColor": "아이콘 색상 선택", + "IconCategory": "아이콘", + "EmojiCategory": "이모지", + "Type": "유형", + "ToViewCommands": "사용 가능한 명령어 보기", + "UnArchive": "보관 해제", + "UnArchiveConfirm": "{count, plural, =1 {이 객체를} other {객체 #개를}} 보관 해제하시겠습니까?", + "Pin": "고정", + "Unpin": "고정 해제", + "Archived": "보관됨", + "MoreActions": "추가 작업", + "Leave": "나가기", + "Join": "참여", + "Copied": "복사됨", + "Title": "제목", + "HideArchived": "보관됨 숨기기", + "RemoveRelation": "관계 제거", + "RemoveRelationConfirmation": "관계를 제거하시겠습니까?", + "MasterDetail": "마스터-디테일", + "Tree": "트리", + "Document": "문서", + "Loading": "로딩 중...", + "NoRelations": "관계 없음", + "ReadOnlyWarningTitle": "✨ 익명 게스트 데모", + "ReadOnlyWarningMessage": "읽기 전용 모드입니다. 경로를 선택하세요. 이 워크스페이스에 게스트로 참여해 협업하거나, 직접 워크스페이스를 만들어 작업, 마감일, 팀까지 프로젝트 전체를 관리해 보세요!", + "ReadOnlyJoinWorkspace": "워크스페이스 참여", + "ReadOnlySignUp": "워크스페이스 만들기", + "PermissionWarningTitle": "✨ 액세스 권한 업그레이드!", + "PermissionWarningMessage": "현재 역할은 권한이 제한되어 있습니다. 이 기능과 다른 고급 기능을 사용하려면 워크스페이스 관리자에게 권한 업그레이드를 요청하세요!", + "Icon": "아이콘", + "Color": "색상", + "AutomationOnly": "자동화 전용", + "CopyLink": "링크 복사", + "ValueIsSet": "값이 설정됨", + "RoleLabel": "역할: {role}", + "ForbidAttributeChanges": "변경 금지: ", + "AllowAttributeChanges": "변경 허용: ", + "RelationshipTable": "추적 매트릭스" + } +} diff --git a/plugins/view-resources/src/components/HyperlinkEditor.svelte b/plugins/view-resources/src/components/HyperlinkEditor.svelte index 11e3bc9fc6..8c8b7645aa 100644 --- a/plugins/view-resources/src/components/HyperlinkEditor.svelte +++ b/plugins/view-resources/src/components/HyperlinkEditor.svelte @@ -64,7 +64,7 @@ {:else if value} {value} {:else} - + {/if} diff --git a/plugins/view-resources/src/components/MarkupEditor.svelte b/plugins/view-resources/src/components/MarkupEditor.svelte index 48737e1645..d7885bc114 100644 --- a/plugins/view-resources/src/components/MarkupEditor.svelte +++ b/plugins/view-resources/src/components/MarkupEditor.svelte @@ -19,6 +19,7 @@ import { Button, eventToHTMLElement, Label, showPopup } from '@hcengineering/ui' import MarkupEditorPopup from './MarkupEditorPopup.svelte' import { StyledTextBox } from '@hcengineering/text-editor-resources' + import type { EditorKitOptions } from '@hcengineering/text-editor-resources' import textEditorPlugin from '@hcengineering/text-editor' // export let label: IntlString @@ -31,6 +32,7 @@ // export let size: ButtonSize = 'x-large' export let justify: 'left' | 'center' = 'center' export let width: string | undefined = 'fit-content' + export let kitOptions: Partial = { reference: true, emoji: true } let shown: boolean = false @@ -44,7 +46,7 @@ height={value ? 'auto' : undefined} on:click={(ev) => { if (!shown && !readonly) { - showPopup(MarkupEditorPopup, { value }, eventToHTMLElement(ev), (res) => { + showPopup(MarkupEditorPopup, { value, kitOptions }, eventToHTMLElement(ev), (res) => { if (res != null) { value = res onChange(value) @@ -69,6 +71,7 @@ content={value} {placeholder} alwaysEdit + {kitOptions} mode={2} on:value={(e) => { onChange(e.detail) diff --git a/plugins/view-resources/src/components/MarkupEditorPopup.svelte b/plugins/view-resources/src/components/MarkupEditorPopup.svelte index fa966e2acd..185a7a1987 100644 --- a/plugins/view-resources/src/components/MarkupEditorPopup.svelte +++ b/plugins/view-resources/src/components/MarkupEditorPopup.svelte @@ -16,10 +16,12 @@