Merge staging-new

Signed-off-by: Artem Savchenko <armisav@gmail.com>
This commit is contained in:
Artem Savchenko
2026-05-10 09:13:23 +07:00
203 changed files with 7159 additions and 1869 deletions
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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:
+9
View File
@@ -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
+1 -1
View File
@@ -412,7 +412,7 @@ export async function configurePlatform (onWorkbenchConnect?: () => Promise<void
const languages =
myBranding.languages !== undefined && 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)
-17
View File
@@ -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:
+2 -2
View File
@@ -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",
+1 -1
View File
@@ -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)
@@ -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": "버전"
}
}
@@ -668,6 +668,7 @@ export interface Version extends Doc {
export interface MigrationState extends Doc {
plugin: string
state: string
durationMs?: number
}
/**
@@ -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<MigrationState> = {
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)
@@ -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입니다"
}
}
+34 -17
View File
@@ -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,
+42 -1
View File
@@ -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<void> {
await iterator.close()
}
}
async function addShowAllVersionsViewOption (client: MigrationUpgradeClient): Promise<void> {
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]
}
})
}
}
}
+3 -2
View File
@@ -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<boolean>>,
CheckOldMessagesSectionVisibility: '' as Resource<(doc: Card) => Promise<boolean>>,
CheckCommunicationMessagesSectionVisibility: '' as Resource<(doc: Card) => Promise<boolean>>
CheckCommunicationMessagesSectionVisibility: '' as Resource<(doc: Card) => Promise<boolean>>,
ShowAllVersions: '' as Resource<(value: any, query: DocumentQuery<Doc>) => DocumentQuery<Doc>>
}
})
+14
View File
@@ -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
+3 -2
View File
@@ -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?: Doc) => Promise<string>>,
ChannelIdentifierProvider: '' as Resource<(client: Client, ref: Ref<Doc>, doc?: Doc) => Promise<string>>,
SetPersonStore: '' as Resource<(manager: DocManager<any>) => void>,
PersonFilterFunction: '' as Resource<(doc: Doc, target: Doc) => boolean>
PersonFilterFunction: '' as Resource<(doc: Doc, target: Doc) => boolean>,
HideInactive: '' as Resource<(value: any, query: DocumentQuery<Doc>) => DocumentQuery<Doc>>
},
resolver: {
LocationData: '' as Resource<(loc: Location) => Promise<LocationData>>
+22
View File
@@ -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,
{
+1
View File
@@ -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)
+15 -1
View File
@@ -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
)
+1 -1
View File
@@ -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
)
+26
View File
@@ -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
)
}
+19 -1
View File
@@ -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,
+8
View File
@@ -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
})
+64
View File
@@ -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": "파일 크기가 너무 큽니다"
}
}
+112 -111
View File
@@ -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"
}
}
+113 -112
View File
@@ -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"
}
}
+113 -112
View File
@@ -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"
}
}
+113 -112
View File
@@ -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"
}
}
+113 -112
View File
@@ -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"
}
}
+113 -112
View File
@@ -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"
}
}
+1
View File
@@ -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 {#時間前}}",
+115
View File
@@ -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"
}
}
+113 -112
View File
@@ -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"
}
}
+113 -112
View File
@@ -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"
}
}
+113 -112
View File
@@ -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"
}
}
+113 -112
View File
@@ -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"
}
}
+113 -112
View File
@@ -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"
}
}
@@ -81,6 +81,7 @@
{ id: 'cs', label: ui.string.Czech, logo: '&#x1F1E8;&#x1F1FF;' },
{ id: 'de', label: ui.string.German, logo: '&#x1F1E9;&#x1F1EA;' },
{ id: 'ja', label: ui.string.Japanese, logo: '&#x1F1EF;&#x1F1F5;' },
{ id: 'ko', label: ui.string.Korean, logo: '&#x1F1F0;&#x1F1F7;' },
{ id: 'tr', label: ui.string.Turkish, logo: '&#x1F1F9;&#x1F1F7;' }
].filter((lang) => uiLangs.has(lang.id))
+1
View File
@@ -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,
+8
View File
@@ -0,0 +1,8 @@
{
"string": {
"Achievements": "업적",
"EarliestAdopter": "초기 사용자",
"Epic": "에픽",
"Legendary": "전설"
}
}
+61
View File
@@ -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": "값이 너무 커서 표시할 수 없음"
}
}
+13
View File
@@ -0,0 +1,13 @@
{
"string": {
"IntegrationLabel": "AI 어시스턴트",
"IntegrationDescription": "플랫폼 전반에서 일상적인 워크플로를 정리, 자동화, 최적화하는 AI 기반 개인 어시스턴트",
"ConfigLabel": "AI 어시스턴트",
"ConfigDescription": "AI 기반 개인 어시스턴트",
"Connect": "연결",
"Cancel": "취소",
"Status": "상태",
"FailedToConnect": "AI 어시스턴트 서비스를 사용할 수 없습니다",
"Configure": "AI 어시스턴트 설정"
}
}
@@ -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 답변 표시"
}
}
+59
View File
@@ -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": "임베딩"
}
}
+63
View File
@@ -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": "문제가 발생했습니다. 다시 시도하거나 고객 지원팀에 문의해 주세요."
}
}
+18
View File
@@ -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 연동 확장 기능"
}
}
+107
View File
@@ -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": "칸반 보드를 관리하는 확장 기능."
}
}
+129
View File
@@ -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로부터 받은 정보를 다른 앱에 사용 및 전송하는 것은 제한적 사용 요건을 포함하여 <a href=\"https://developers.google.com/terms/api-services-user-data-policy#additional_requirements_for_specific_api_scopes\" target=\"_blank\">Google API 서비스 사용자 데이터 정책</a>을 따릅니다.",
"Value": "{value}",
"Schedule": "공개 예약",
"ScheduleNew": "일정 추가",
"ScheduleDeleteConfirm": "일정이 삭제됩니다. 진행하시겠습니까?",
"ScheduleShareLink": "링크 공유",
"ScheduleSharedLinkMessage": "<p>아래 링크를 공유하면 다른 사용자가 미팅을 예약할 수 있습니다:</p><p><a href=\"{link}\" target=\"_blank\">{link}</a></p>",
"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": "동기화할 캘린더가 선택되지 않았습니다"
}
}
+2 -1
View File
@@ -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"
}
}
+2 -1
View File
@@ -84,6 +84,7 @@
"SingleColumn": "Einspaltig",
"TwoColumns": "Zwei spaltig",
"Grid": "Gitter",
"RichtextProperties": "Textfelder"
"RichtextProperties": "Textfelder",
"ShowAllVersions": "Alle Versionen anzeigen"
}
}
+2 -1
View File
@@ -84,6 +84,7 @@
"SingleColumn": "Single column",
"TwoColumns": "Two columns",
"Grid": "Grid",
"RichtextProperties": "Richtext Properties"
"RichtextProperties": "Richtext Properties",
"ShowAllVersions": "Show all versions"
}
}
+2 -1
View File
@@ -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"
}
}
+2 -1
View File
@@ -84,6 +84,7 @@
"SingleColumn": "Une colonne",
"TwoColumns": "Deux colonnes",
"Grid": "Grille",
"RichtextProperties": "Champs de texte"
"RichtextProperties": "Champs de texte",
"ShowAllVersions": "Toutes les versions"
}
}
+2 -1
View File
@@ -84,6 +84,7 @@
"SingleColumn": "Una colonna",
"TwoColumns": "Due colonne",
"Grid": "Griglia",
"RichtextProperties": "Campo di testo"
"RichtextProperties": "Campo di testo",
"ShowAllVersions": "Tutte le versioni"
}
}
+2 -1
View File
@@ -84,6 +84,7 @@
"SingleColumn": "1列",
"TwoColumns": "2列",
"Grid": "グリッド",
"RichtextProperties": "リッチテキストフィールド"
"RichtextProperties": "リッチテキストフィールド",
"ShowAllVersions": "すべてのバージョンを表示"
}
}
+90
View File
@@ -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": "모든 버전 보기"
}
}
+2 -1
View File
@@ -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"
}
}
+2 -1
View File
@@ -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"
}
}
+2 -1
View File
@@ -84,6 +84,7 @@
"SingleColumn": "Один столбец",
"TwoColumns": "Два столбца",
"Grid": "Сетка",
"RichtextProperties": "Текстовые поля"
"RichtextProperties": "Текстовые поля",
"ShowAllVersions": "Показывать все версии"
}
}
+2 -1
View File
@@ -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"
}
}
+2 -1
View File
@@ -84,6 +84,7 @@
"SingleColumn": "单列",
"TwoColumns": "两列",
"Grid": "网格",
"RichtextProperties": "富文本字段"
"RichtextProperties": "富文本字段",
"ShowAllVersions": "显示所有版本"
}
}
@@ -33,7 +33,6 @@
const hierarchy = client.getHierarchy()
function updateKeys (_class: Ref<Class<Doc>>, to: Ref<Class<Doc>> | 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 @@
</script>
{#each keys as key}
<div class="px-4 w-full">
<div class="w-full mt-2">
<span>
<Label label={key.attr.label} />
{#if tag}
<span class="text-xs">
(<Label label={tag.label} />)
</span>
{/if}
</span>
<MarkupEditor
value={getValue(doc, key.key)}
@@ -34,6 +34,7 @@
import Lock from './icons/Lock.svelte'
import Unlock from './icons/Unlock.svelte'
import card from '../plugin'
import MarkupProperties from './MarkupProperties.svelte'
export let value: Card
export let readonly: boolean = false
@@ -115,6 +116,7 @@
</div>
<ExpandCollapse isExpanded={!isCollapsed}>
<CardAttributes object={value} _class={value._class} {readonly} {ignoreKeys} {fourRows} showCollaborators />
<MarkupProperties doc={value} {readonly} tag={undefined} />
</ExpandCollapse>
<style lang="scss">
@@ -36,6 +36,7 @@
import Lock from './icons/Lock.svelte'
import Unlock from './icons/Unlock.svelte'
import card from '../plugin'
import MarkupProperties from './MarkupProperties.svelte'
export let value: Card
export let tag: Tag
@@ -126,6 +127,7 @@
</div>
<ExpandCollapse isExpanded={!isCollapsed}>
<CardAttributes object={value} _class={tag._id} to={tag.extends} {readonly} {ignoreKeys} />
<MarkupProperties doc={value} {readonly} {tag} />
</ExpandCollapse>
<style lang="scss">
@@ -25,13 +25,14 @@
export let width: string | undefined = undefined
export let kind: ButtonKind | undefined = undefined
export let size: ButtonSize | undefined = undefined
export let parent: Ref<MasterTag> = card.class.Card
export let disabled: boolean = false
const client = getClient()
const hierarchy = client.getHierarchy()
function filterClasses (): [DropdownIntlItem, DropdownIntlItem[]][] {
const descendants = hierarchy.getDescendants(card.class.Card).filter((p) => p !== card.class.Card)
const descendants = hierarchy.getDescendants(parent).filter((p) => p !== parent)
const added = new Set<Ref<Class<Doc>>>()
const base = new Map<Ref<Class<Doc>>, Class<Doc>[]>()
for (const _id of descendants) {
@@ -1,43 +0,0 @@
<!--
// Copyright © 2025 Hardcore Engineering Inc.
//
// Licensed under the Eclipse Public License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. You may
// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//
// See the License for the specific language governing permissions and
// limitations under the License.
-->
<script lang="ts">
import { Card } from '@hcengineering/card'
import { Doc, Mixin } from '@hcengineering/core'
import { getDocMixins } from '@hcengineering/view-resources'
import { createEventDispatcher, onMount } from 'svelte'
import MarkupProperties from '../MarkupProperties.svelte'
export let readonly: boolean = false
export let doc: Card
export let hidden: boolean = false
const dispatch = createEventDispatcher()
let mixins: Array<Mixin<Doc>> = []
$: mixins = getDocMixins(doc)
onMount(() => {
dispatch('loaded')
})
</script>
{#if !hidden}
<div class="w-full flex flex-col flex-gap-4">
<MarkupProperties {doc} {readonly} tag={undefined} on:update />
{#each mixins as mixin}
<MarkupProperties {doc} {readonly} tag={mixin} on:update />
{/each}
</div>
{/if}
@@ -62,6 +62,7 @@
showHeader={false}
disabled={false}
isCard
showAll
>
<div slot="header">
<ButtonIcon
@@ -15,10 +15,20 @@
<script lang="ts">
import { createEventDispatcher } from 'svelte'
import core, { AnyAttribute, Association, AssociationQuery, Class, Client, Doc, Ref, Type } from '@hcengineering/core'
import { Asset, getEmbeddedLabel, IntlString } from '@hcengineering/platform'
import core, {
AnyAttribute,
Association,
AssociationQuery,
Class,
Client,
Doc,
Ref,
TxOperations,
Type
} from '@hcengineering/core'
import { Asset, getEmbeddedLabel, IntlString, translate } from '@hcengineering/platform'
import { getAttributePresenterClass, getClient, hasResource } from '@hcengineering/presentation'
import { resizeObserver } from '@hcengineering/ui'
import { Loading, resizeObserver } from '@hcengineering/ui'
import view, { BuildModelKey, Viewlet } from '@hcengineering/view'
import {
buildConfigLookup,
@@ -62,20 +72,8 @@
}
}
function getAssoctiationLabel (client: Client, param: string): IntlString {
const model = client.getModel()
const associations = param.split('$associations.')
const resultLabels = associations
.map((r) => {
const parts = r.split('_')
if (parts.length !== 2) return ''
const assoc = model.findObject(parts[0] as Ref<Association>)
if (assoc === undefined) return ''
return parts[1] === '1' ? assoc.nameA : assoc.nameB
})
.filter((it) => it.length > 0)
return getEmbeddedLabel(resultLabels.join(' › '))
function getAssociationLabel (client: TxOperations, param: string): IntlString {
return getKeyLabel(client, viewlet.attachTo, param, undefined)
}
function getBaseConfig (viewlet: Viewlet): Config[] {
@@ -93,7 +91,7 @@
type: 'attribute',
value: param,
enabled: true,
label: getAssoctiationLabel(client, param),
label: getAssociationLabel(client, param),
_class: viewlet.attachTo,
icon: clazz.icon
}
@@ -232,7 +230,7 @@
return false
}
function getConfig (viewlet: Viewlet): Config[] {
async function getConfig (viewlet: Viewlet): Promise<Config[]> {
const result = getBaseConfig(viewlet)
if (viewlet.configOptions?.strict !== true) {
const allAttributes = hierarchy.getAllAttributes(viewlet.attachTo)
@@ -248,10 +246,14 @@
})
}
addAssociations(result, viewlet.attachTo)
await addAssociations(result, viewlet.attachTo)
}
function addAssociations (result: Config[], _class: Ref<Class<Doc>>, parents: AssociationQuery[] = []): void {
async function addAssociations (
result: Config[],
_class: Ref<Class<Doc>>,
parents: AssociationQuery[] = []
): Promise<void> {
const ancestors = new Set(hierarchy.getAncestors(_class))
const parent = hierarchy.getParentClass(_class)
const parentMixins = hierarchy
@@ -270,24 +272,24 @@
const associationsB = client.getModel().findAllSync(core.class.Association, { classA: { $in: allClasses } })
const associationsA = client.getModel().findAllSync(core.class.Association, { classB: { $in: allClasses } })
associationsB.forEach((a) => {
processAssociation(a, 'b', result, parents)
})
associationsA.forEach((a) => {
processAssociation(a, 'a', result, parents)
})
for (const a of associationsB) {
await processAssociation(a, 'b', result, parents)
}
for (const a of associationsA) {
await processAssociation(a, 'a', result, parents)
}
}
function getParentsString (parents: AssociationQuery[]): string {
return parents.map(([assocId, direction]) => `$associations.${assocId}_${direction === 1 ? 'a' : 'b'}`).join('.')
}
function processAssociation (
async function processAssociation (
association: Association,
direction: 'a' | 'b',
result: Config[],
parents: AssociationQuery[]
): void {
): Promise<void> {
const associationName = `$associations.${association._id}_${direction}`
const resultName = parents.length > 0 ? `${getParentsString(parents)}.${associationName}` : associationName
@@ -326,7 +328,50 @@
return key === resultName
})
if ((exists as AttributeConfig)?.enabled) {
addAssociations(result, targetClass, [...parents, [association._id, direction === 'a' ? 1 : -1]])
await addAssociations(result, targetClass, [...parents, [association._id, direction === 'a' ? 1 : -1]])
await addAssociationAttributes(result, targetClass, resultName, fullLabel)
}
}
async function addAssociationAttributes (
result: Config[],
targetClass: Ref<Class<Doc>>,
associationKey: string,
associationLabel: string
): Promise<void> {
const allAttributes = hierarchy.getAllAttributes(targetClass)
for (const [, attribute] of allAttributes) {
if (attribute.hidden || attribute.label === undefined) continue
if (hierarchy.isDerived(attribute.type._class, core.class.Collection)) continue
const { attrClass, category } = getAttributePresenterClass(hierarchy, attribute.type)
const mixin =
category === 'object'
? view.mixin.ObjectPresenter
: category === 'collection'
? view.mixin.CollectionPresenter
: view.mixin.AttributePresenter
const presenter = hierarchy.classHierarchyMixin(
attrClass,
mixin,
(m) => hasResource(m.presenter) ?? false
)?.presenter
if (presenter === undefined) continue
const fieldKey = `${associationKey}.${attribute.name}`
const fieldLabel = getAssociationLabel(client, fieldKey)
const translatedLabel = await translate(fieldLabel, {})
const clazz = hierarchy.getClass(targetClass)
const newValue: AttributeConfig = {
type: 'attribute',
value: fieldKey,
label: getEmbeddedLabel(associationLabel + ' > ' + translatedLabel),
enabled: false,
_class: targetClass,
icon: clazz.icon
}
if (!isExist(result, newValue)) {
result.push(newValue)
}
}
}
@@ -338,20 +383,24 @@
<div class="menu-space" />
<div class="scroll">
<div class="box">
{#if citems !== undefined}
<ViewletClassSettings
{viewlet}
items={citems}
on:restoreDefaults={() => {
// TODO UBERF-9639: restore defaults
}}
on:save={(event) => {
viewlet.config = event.detail
viewlet = viewlet
dispatch('update', event.detail)
}}
/>
{/if}
{#await citems}
<Loading />
{:then items}
{#if items !== undefined}
<ViewletClassSettings
{viewlet}
{items}
on:restoreDefaults={() => {
// TODO UBERF-9639: restore defaults
}}
on:save={(event) => {
viewlet.config = event.detail
viewlet = viewlet
dispatch('update', event.detail)
}}
/>
{/if}
{/await}
</div>
</div>
<div class="menu-space" />
+10 -1
View File
@@ -16,6 +16,7 @@ import core, {
import { getResource } from '@hcengineering/platform'
import { getClient } from '@hcengineering/presentation'
import view from '@hcengineering/view'
import { deepEqual } from 'fast-equals'
import card from './plugin'
export async function importModule (json: string): Promise<void> {
@@ -27,7 +28,15 @@ export async function importModule (json: string): Promise<void> {
const h = client.getHierarchy()
const apply = client.apply('Import')
for (const elem of data) {
if (m.findObject(elem._id) !== undefined) continue
const existing = m.findObject(elem._id)
if (existing !== undefined) {
const newData = stripData(elem)
const oldData = stripData(existing)
if (!deepEqual(newData, oldData)) {
await apply.updateDoc(elem._class, existing.space, elem._id, newData)
}
continue
}
if (h.isDerived(elem._class, core.class.AttachedDoc)) {
const attachedDoc = elem as AttachedDoc
await apply.addCollection(
+5 -5
View File
@@ -37,7 +37,8 @@ import {
cardFactory,
duplicateCard,
checkChildrenSectionVisibility,
createChildAction
createChildAction,
showAllVersions
} from './utils'
import { formatCardValue } from './cardTableFormatter'
import CardGridView from './components/CardGridView.svelte'
@@ -77,7 +78,6 @@ import PropertiesCardSection from './components/sections/PropertiesSection.svelt
import RelationsCardSection from './components/sections/RelationsSection.svelte'
import CardCommunicatiomMessages from './components/sections/CardCommunicatiomMessages.svelte'
import OldMessagesCardSection from './components/sections/OldMessagesCardSection.svelte'
import MarkupPropertiesCardSection from './components/sections/MarkupPropertiesSection.svelte'
import FavoriteCardPresenter from './components/FavoriteCardPresenter.svelte'
import CardTagsColored from './components/CardTagsColored.svelte'
@@ -150,8 +150,7 @@ export default async (): Promise<Resources> => ({
PropertiesSection: PropertiesCardSection,
RelationsSection: RelationsCardSection,
OldMessagesSection: OldMessagesCardSection,
CommunicationMessagesSection: CardCommunicatiomMessages,
MarkupPropertiesSection: MarkupPropertiesCardSection
CommunicationMessagesSection: CardCommunicatiomMessages
},
completion: {
CardQuery: queryCard
@@ -179,6 +178,7 @@ export default async (): Promise<Resources> => ({
GetSpaceAccessPublicLink: getSpaceAccessPublicLink,
CanGetSpaceAccessPublicLink: canGetSpaceAccessPublicLink,
CardFactory: cardFactory,
FormatCardMarkdownValue: formatCardValue
FormatCardMarkdownValue: formatCardValue,
ShowAllVersions: showAllVersions
}
})
-1
View File
@@ -83,7 +83,6 @@ export default mergeIds(cardId, card, {
ChildrenSection: '' as AnyComponent,
ContentSection: '' as AnyComponent,
PropertiesSection: '' as AnyComponent,
MarkupPropertiesSection: '' as AnyComponent,
RelationsSection: '' as AnyComponent,
CommunicationMessagesSection: '' as AnyComponent,
OldMessagesSection: '' as AnyComponent
+7
View File
@@ -778,6 +778,13 @@ export function canUnlockSection (space: Ref<Space>, store: PermissionsStore): b
return !store.restrictedSpaces.has(space)
}
export function showAllVersions (value: any, query: DocumentQuery<Doc>): DocumentQuery<Doc> {
if (value === true) {
return { ...query, isLatest: { $in: [true, false] } }
}
return query
}
export const viewStore = writable<Record<Ref<MasterTag>, string>>(
JSON.parse(localStorage.getItem('card.layout') ?? '{}')
)
+2 -2
View File
@@ -214,14 +214,14 @@ const cardPlugin = plugin(cardId, {
LockSection: '' as IntlString,
UnLockSection: '' as IntlString,
SectionLocked: '' as IntlString,
SectionUnlocked: '' as IntlString
SectionUnlocked: '' as IntlString,
ShowAllVersions: '' as IntlString
},
section: {
Attachments: '' as Ref<CardSection>,
Children: '' as Ref<CardSection>,
Content: '' as Ref<CardSection>,
Properties: '' as Ref<CardSection>,
MarkupProperties: '' as Ref<CardSection>,
Relations: '' as Ref<CardSection>,
OldMessages: '' as Ref<CardSection>,
CommunicationMessages: '' as Ref<CardSection>
+19
View File
@@ -0,0 +1,19 @@
{
"string": {
"Channel": "채널",
"Channels": "채널",
"Chat": "채팅",
"Description": "설명",
"Loading": "로딩 중...",
"MessageIn": "메시지 #{title}",
"Thread": "스레드",
"Threads": "스레드",
"Title": "제목",
"All": "모든 업데이트",
"Inbox": "수신함",
"ReactedToYourMessage": "내 메시지에 반응함",
"ClearAll": "모두 지우기",
"InboxIsClear": "수신함이 비어 있습니다",
"YouDontHaveAnyNewMessages": "새 메시지가 없습니다"
}
}
+138
View File
@@ -0,0 +1,138 @@
{
"string": {
"ApplicationLabelChunter": "채팅",
"LeftComment": "님이 댓글을 남겼습니다",
"Channels": "채널",
"DirectMessages": "다이렉트 메시지",
"CreateChannel": "새 채널",
"NewDirectMessage": "새 다이렉트 메시지",
"ChannelName": "이름",
"ChannelNamePlaceholder": "채널",
"ChannelDescription": "설명",
"Channel": "채널",
"DirectMessage": "다이렉트 메시지",
"EditUpdate": "저장...",
"EditCancel": "취소",
"Comments": "댓글",
"About": "정보",
"Members": "멤버",
"NoMembers": "멤버 없음",
"MentionedIn": "님이 다음에서 언급함: ",
"Mentioned": "멘션됨",
"ContactInfo": "연락처 정보",
"Content": "내용",
"Comment": "댓글",
"Message": "메시지",
"MessageOn": "메시지 위치",
"On": "에서",
"Reference": "참조",
"Chat": "채팅",
"In": "위치",
"MentionNotification": "멘션",
"Topic": "주제",
"Thread": "스레드",
"Threads": "스레드",
"New": "새로 만들기",
"MarkUnread": "읽지 않음으로 표시",
"GetNewReplies": "새 답글 알림 받기",
"TurnOffReplies": "답글 알림 끄기",
"PinMessage": "메시지 고정",
"UnpinMessage": "메시지 고정 해제",
"Pinned": "고정됨",
"EditMessage": "메시지 편집",
"Edited": "편집됨",
"DeleteMessage": "메시지 삭제",
"AndYou": "{participants, plural, =0 {나만} other {외 나}}",
"ShowMoreReplies": "답글 {count}개 더 보기",
"Settings": "설정",
"ArchiveChannel": "채널 보관",
"UnarchiveChannel": "채널 보관 해제",
"ArchiveConfirm": "채널을 보관하면 모든 멤버에게 보관됩니다.<br/><br/>아무도 메시지를 보낼 수 없지만 채널 기록은 계속 볼 수 있습니다.<br/><br/>검색으로 채널 내용을 찾을 수 있고,<br/>필요하면 언제든 보관을 해제할 수 있습니다.\n",
"UnarchiveConfirm": "채널 보관을 해제하시겠습니까?",
"AddToSaved": "저장됨에 추가",
"RemoveFromSaved": "저장됨에서 제거",
"EmptySavedHeader": "나중에 다시 볼 메시지를 추가하세요",
"EmptySavedText": "할 일을 정리하거나 나중에 처리할 내용을 저장해 두세요. 저장한 항목은 본인만 볼 수 있으니 자유롭게 활용하세요.",
"SharedBy": "{name}님이 {time}에 공유함",
"LeaveChannel": "채널 나가기",
"ChannelBrowser": "채널 브라우저",
"Saved": "저장됨",
"ConvertToPrivate": "비공개 채널로 전환",
"MessagesBrowser": "메시지 브라우저",
"CreateBy": "작성자",
"ThreadMessage": "스레드 메시지",
"ChunterBrowser": "브라우저",
"Messages": "메시지",
"NoResults": "결과 없음",
"CopyLink": "링크 복사",
"FilterBacklinks": "백링크",
"DM": "다이렉트 메시지",
"DMNotification": "님이 메시지를 보냈습니다",
"ConfigLabel": "채팅",
"ConfigDescription": "텍스트 커뮤니케이션을 위한 확장 기능",
"LastMessage": "마지막 메시지",
"You": "나",
"YouHaveJoinedTheConversation": "대화에 참여했습니다",
"NoMessages": "아직 메시지가 없습니다",
"DirectNotificationTitle": "{senderName}",
"DirectNotificationBody": "{message}",
"MessageNotificationBody": "{senderName}: {message}",
"AddCommentPlaceholder": "댓글 추가...",
"Reacted": "반응함",
"Docs": "문서",
"NewestFirst": "최신순",
"ReplyToThread": "스레드에 답글",
"SentMessage": "메시지 전송됨",
"Direct": "다이렉트",
"RepliedToThread": "님이 스레드에 답글을 남겼습니다",
"RepliedTo": "다음에 답글: {message}",
"AllChannels": "모든 채널",
"AllContacts": "모든 연락처",
"NewChannel": "새 채널",
"TopicOptional": "주제 (선택)",
"Visibility": "공개 설정",
"Public": "공개",
"Private": "비공개",
"NewDirectChat": "새 다이렉트 채팅",
"AddMembers": "멤버 추가",
"PinnedCount": "{count}개 고정됨",
"LoadingHistory": "기록 로딩 중...",
"UnpinChannels": "모든 채널 고정 해제",
"ArchiveActivityConfirmationTitle": "모든 활동 채널을 보관하시겠습니까?",
"ArchiveActivityConfirmationMessage": "모든 활동 채널을 보관하시겠습니까? 이 작업은 되돌릴 수 없습니다.",
"CloseConversation": "대화 닫기",
"Starred": "즐겨찾기",
"DeleteStarred": "즐겨찾기 삭제",
"StarChannel": "채널 즐겨찾기",
"StarConversation": "대화 즐겨찾기",
"UnstarChannel": "채널 즐겨찾기 해제",
"UnstarConversation": "대화 즐겨찾기 해제",
"JoinChannelHeader": "시작하려면 \"참여\"를 클릭하세요.",
"JoinChannelText": "참여하면 모든 메시지를 읽고 토론에 참여할 수 있습니다.",
"NoMessagesInChannel": "아직 메시지가 없습니다",
"SendMessagesInChannel": "첫 메시지를 보내 대화를 시작하세요",
"LatestMessages": "↓ 최신 메시지",
"Joined": "참여",
"Left": "나감",
"Added": "추가됨",
"Removed": "제거됨",
"CreatedChannelOn": "{date}에 이 채널을 만들었습니다",
"ChannelMessages": "채널 메시지",
"JoinChannel": "채널 참여",
"YouJoinedChannel": "채널에 참여했습니다",
"AndMore": "외 {count}건",
"IsTyping": "{count, plural, =1 {입력 중...} other {여러 명이 입력 중...}}",
"ThreadIn": "{name}의 스레드",
"TranslateMessage": "메시지 번역",
"Translate": "번역",
"ShowOriginal": "원문 표시",
"Translating": "번역 중...",
"StartConversation": "대화 시작",
"ViewingThreadFromArchivedChannel": "보관된 채널의 스레드를 보고 있습니다",
"ViewingArchivedChannel": "보관된 채널을 보고 있습니다",
"OpenChatInSidebar": "사이드바에서 채팅 열기",
"ResolveThread": "해결",
"NoThreadsYet": "아직 스레드가 없습니다.",
"SummarizeMessages": "내용 요약"
}
}
+98
View File
@@ -0,0 +1,98 @@
{
"string": {
"Messages": "메시지",
"FirstMessages": "첫 메시지",
"LatestMessages": "최신 메시지",
"Subscribe": "구독",
"Unsubscribe": "구독 취소",
"File": "파일",
"Files": "파일",
"Added": "추가됨",
"All": "전체 ({count})",
"Attach": "첨부",
"Cancel": "취소",
"Edit": "편집",
"Edited": "편집됨",
"Emoji": "이모지",
"HoursAgo": "{hours, plural, =0 {1시간 미만 전} =1 {1시간 전} other {#시간 전}}",
"JustNow": "방금 전",
"LastReply": "마지막 답글",
"Mention": "멘션",
"MinutesAgo": "{minutes, plural, =0 {1분 미만 전} =1 {1분 전} other {#분 전}}",
"MonthAt": "{month} · {time}",
"New": "새 메시지",
"Removed": "제거됨",
"RepliesCount": "{count, plural, =0 {답글 없음} =1 {답글 1개} other {답글 #개}}",
"Reply": "답글",
"Send": "전송",
"Set": "설정",
"ShowFormatting": "서식 표시",
"To": "받는 사람",
"Today": "오늘",
"Unset": "해제",
"WeekdayAt": "{weekday} · {time}",
"YearAt": "{year} · {time}",
"Yesterday": "어제",
"YesterdayAt": "어제 · {time}",
"AndMore": "외 {count}개",
"IsTyping": "{count, plural, =1 {입력 중} other {입력 중}}...",
"IsThinking": "{count, plural, =1 {생각 중} other {생각 중}}...",
"Loading": "로딩 중...",
"MessageIn": "#{title}의 메시지",
"ThreadWasRemoved": "이 스레드는 삭제되었습니다.",
"MessageWasRemoved": "이 메시지는 삭제되었습니다.",
"JoinedThe": "참여함",
"LeftThe": "나감",
"Translating": "번역 중...",
"ShowOriginal": "원본 표시 중",
"AddReaction": "반응 추가",
"ReplyInThread": "스레드에 답글",
"TranslateMessage": "메시지 번역",
"ShowOriginalMessage": "원본 메시지 보기",
"EditMessage": "메시지 편집",
"RemoveMessage": "메시지 삭제",
"CreateCard": "카드 만들기",
"MessageAlreadyHasCardAttached": "이 메시지에는 이미 카드가 첨부되어 있습니다.",
"CreatePoll": "설문 만들기",
"Poll": "설문",
"QuestionIsRequired": "질문을 입력하세요.",
"AnswerIsRequired": "답변을 입력하세요.",
"OptionIsRequired": "옵션을 입력하세요.",
"StartDateMustBeInTheFuture": "시작일은 미래 날짜여야 합니다.",
"EndDateMustBeInTheFuture": "종료일은 미래 날짜여야 합니다.",
"Question": "질문",
"AskQuestion": "질문하기",
"PollOptions": "설문 옵션",
"Option": "옵션",
"AnonymousVoting": "익명 투표",
"MultipleChoice": "복수 선택",
"QuizMode": "퀴즈 모드",
"StartTime": "시작 시간",
"EndTime": "종료 시간",
"OpenPoll": "설문 열기",
"RetractVote": "투표 취소",
"Quiz": "퀴즈",
"VotesCount": "{count, plural, =0 {투표 없음} =1 {1표} other {#표}}",
"Vote": "투표하기",
"ShowResults": "결과 보기",
"Ended": "종료됨",
"StartsAt": "{date}에 시작",
"EndsAt": "{date}에 종료",
"StartsTomorrow": "내일 {date}에 시작",
"EndsTomorrow": "내일 {date}에 종료",
"PollResults": "설문 결과",
"Polls": "설문",
"TotalVotes": "총 투표수",
"Voted": "투표함",
"VotedFor": "투표 대상",
"RevokedVote": "투표 취소됨",
"AnonymousQuiz": "익명 퀴즈",
"Direct": "다이렉트",
"Directs": "다이렉트",
"Members": "멤버",
"Translate": "번역",
"WriteMessageEllipsis": "메시지 입력...",
"EditMessageEllipsis": "메시지 편집...",
"ArrowDownMessages": "↓ 최신 메시지"
}
}
+2 -1
View File
@@ -149,6 +149,7 @@
"WorkspaceStatusIn1Hour": "Za 1 hodinu",
"WorkspaceStatusIn4Hours": "Za 4 hodiny",
"WorkspaceStatusEndOfDay": "Do konce dne",
"WorkspaceStatusPickDate": "Vyberte datum"
"WorkspaceStatusPickDate": "Vyberte datum",
"HideInactive": "Skrýt neaktivní"
}
}
+2 -1
View File
@@ -149,6 +149,7 @@
"WorkspaceStatusIn1Hour": "In 1 Stunde",
"WorkspaceStatusIn4Hours": "In 4 Stunden",
"WorkspaceStatusEndOfDay": "Ende des Tages",
"WorkspaceStatusPickDate": "Datum wählen"
"WorkspaceStatusPickDate": "Datum wählen",
"HideInactive": "Inaktive ausblenden"
}
}
+2 -1
View File
@@ -149,6 +149,7 @@
"WorkspaceStatusIn1Hour": "In 1 hour",
"WorkspaceStatusIn4Hours": "In 4 hours",
"WorkspaceStatusEndOfDay": "End of day",
"WorkspaceStatusPickDate": "Choose date"
"WorkspaceStatusPickDate": "Choose date",
"HideInactive": "Hide inactive"
}
}
+2 -1
View File
@@ -149,6 +149,7 @@
"WorkspaceStatusIn1Hour": "En 1 hora",
"WorkspaceStatusIn4Hours": "En 4 horas",
"WorkspaceStatusEndOfDay": "Fin del día",
"WorkspaceStatusPickDate": "Elegir fecha"
"WorkspaceStatusPickDate": "Elegir fecha",
"HideInactive": "Ocultar inactivos"
}
}
+2 -1
View File
@@ -149,6 +149,7 @@
"WorkspaceStatusIn1Hour": "Dans 1 heure",
"WorkspaceStatusIn4Hours": "Dans 4 heures",
"WorkspaceStatusEndOfDay": "Fin de journée",
"WorkspaceStatusPickDate": "Choisir une date"
"WorkspaceStatusPickDate": "Choisir une date",
"HideInactive": "Masquer les inactifs"
}
}
+2 -1
View File
@@ -149,6 +149,7 @@
"WorkspaceStatusIn1Hour": "Tra 1 ora",
"WorkspaceStatusIn4Hours": "Tra 4 ore",
"WorkspaceStatusEndOfDay": "Fine giornata",
"WorkspaceStatusPickDate": "Scegli data"
"WorkspaceStatusPickDate": "Scegli data",
"HideInactive": "Nascondi inattivi"
}
}
+2 -1
View File
@@ -149,6 +149,7 @@
"WorkspaceStatusIn1Hour": "1時間後",
"WorkspaceStatusIn4Hours": "4時間後",
"WorkspaceStatusEndOfDay": "今日の終わりまで",
"WorkspaceStatusPickDate": "日付を選択"
"WorkspaceStatusPickDate": "日付を選択",
"HideInactive": "非アクティブを非表示"
}
}
+154
View File
@@ -0,0 +1,154 @@
{
"string": {
"Apply": "적용",
"Contacts": "연락처",
"Persons": "개인",
"Organizations": "회사",
"CreatePerson": "개인",
"CreateOrganization": "회사",
"OrganizationNamePlaceholder": "회사명",
"OrganizationsNamePlaceholder": "회사",
"PersonFirstNamePlaceholder": "이름",
"PersonLastNamePlaceholder": "성",
"PersonLocationPlaceholder": "위치",
"PersonsNamePlaceholder": "폴더",
"Name": "이름",
"SelectFolder": "폴더 선택",
"OrganizationsFolder": "회사 폴더",
"PersonsFolder": "개인 폴더",
"ContactCreateLabel": "연락처 만들기",
"SearchEmployee": "직원 검색...",
"SearchPerson": "개인 검색...",
"SearchOrganization": "회사 검색...",
"ContactInfo": "연락처 정보",
"Contact": "연락처",
"Location": "위치",
"Channel": "연락처 레코드",
"ChannelProvider": "채널 제공자",
"Person": "개인",
"Organization": "회사",
"Employee": "직원",
"DeleteEmployee": "직원 삭제",
"DeleteEmployeeDescr": "워크스페이스에서 직원을 삭제하시겠습니까?",
"Value": "값",
"FullDescription": "상세 설명",
"Phone": "전화번호",
"LinkedIn": "LinkedIn",
"GitHub": "GitHub",
"Twitter": "X",
"Google": "Google",
"Telegram": "Telegram",
"PhonePlaceholder": "+1 555 333 7777",
"LinkedInPlaceholder": "https://linkedin.com/in/jappleseed",
"AtPlaceHolder": "@appleseed",
"FacebookPlaceholder": "https://fb.com/jappleseed",
"Facebook": "Facebook",
"HomepagePlaceholder": "https://jappleseed.com",
"Homepage": "홈페이지",
"SocialLinks": "소셜 링크",
"ViewActivity": "활동 보기",
"PersonAlreadyExists": "이미 존재하는 연락처입니다...",
"Status": "상태",
"SetStatus": "상태 설정",
"ClearStatus": "상태 지우기",
"SaveStatus": "저장",
"Cancel": "취소",
"StatusDueDate": "마감일",
"NoExpire": "기한 없음",
"TypeLabel": "유형",
"StatusDueDateTooltip": "{date}까지",
"CopyToClipboard": "복사",
"ViewFullProfile": "전체 프로필 보기",
"Member": "멤버",
"Members": "멤버",
"NoMembers": "추가된 멤버가 없습니다",
"AddMember": "멤버 추가",
"KickEmployee": "직원 강제 퇴출",
"KickEmployeeDescr": "워크스페이스에서 직원을 강제 퇴출하시겠습니까? 이 작업은 되돌릴 수 없습니다",
"ResendInvite": "초대 다시 보내기",
"ResendInviteDescr": "이 사용자에게 워크스페이스 초대를 다시 보내시겠습니까?",
"Email": "이메일",
"CreateEmployee": "직원",
"Inactive": "비활성",
"Active": "활성",
"Role": "역할",
"Birthday": "생일",
"UseImage": "첨부 사진",
"UseGravatar": "Gravatar",
"UseColor": "색상",
"NotSpecified": "지정 안 함",
"Whatsapp": "Whatsapp",
"WhatsappPlaceholder": "Whatsapp",
"Skype": "Skype",
"SkypePlaceholder": "Skype",
"Profile": "프로필",
"ProfilePlaceholder": "프로필...",
"CurrentEmployee": "현재 직원",
"MergePersons": "연락처 병합",
"MergePersonsFrom": "원본 연락처",
"MergePersonsTo": "최종 연락처",
"SelectAvatar": "아바타 선택",
"Avatar": "아바타",
"AvatarProvider": "아바타 제공자",
"GravatarsManaged": "Gravatar 관리 중",
"Through": "을(를) 통해",
"AddMembersHeader": "{value}에 멤버 추가:",
"Assigned": "할당됨",
"Unassigned": "미할당",
"CategoryCurrentUser": "현재 사용자",
"CategoryOther": "기타",
"NumberMembers": "{count, plural, =0 {멤버 없음} =1 {멤버 1명} other {멤버 #명}}",
"Position": "직책",
"ConfigLabel": "연락처",
"ConfigDescription": "직원과 개인 및 회사 연락처 정보를 보관하기 위한 확장 기능입니다.",
"HasMessagesIn": "에 메시지 있음",
"HasNewMessagesIn": "에 새 메시지 있음",
"Employees": "직원",
"People": "사람",
"For": "수신자",
"SelectUsers": "사용자 선택",
"AddGuest": "게스트 추가",
"ViewProfile": "프로필 보기",
"Viber": "Viber",
"ViberPlaceholder": "Viber",
"SocialId": "소셜 ID",
"SocialIds": "소셜 ID",
"Type": "유형",
"Confirmed": "확인됨",
"UserProfile": "사용자 프로필",
"DeactivatedAccount": "비활성화된 계정",
"LocalTime": "현지 시간",
"Everyone": "모두",
"Here": "여기",
"EveryoneDescription": "이 {title}의 모든 멤버에게 알림",
"HereDescription": "이 {title}의 온라인 멤버 모두에게 알림",
"Guest": "게스트",
"Deleted": "삭제됨",
"CannotMerge": "오류: 글로벌 개인은 병합할 수 없습니다",
"AutoTranslation": "자동 번역",
"TranslateTo": "번역 대상",
"DontTranslate": "번역 안 함",
"SelectLanguage": "언어 선택",
"SelectLanguages": "언어 선택",
"WorkspaceStatusNote": "사용자 상태",
"WorkspaceStatusUntil": "표시 기한",
"WorkspaceStatusMenu": "내 상태",
"WorkspaceStatusSetYour": "상태 설정",
"WorkspaceStatusUpdateYour": "상태 업데이트",
"WorkspaceStatusMessage": "현재 상태는?",
"WorkspaceStatusAway": "자리 비움",
"WorkspaceStatusVacation": "휴가 중",
"WorkspaceStatusOutSick": "병가",
"WorkspaceStatusClear": "상태 지우기",
"WorkspaceStatusSave": "저장",
"WorkspaceStatusQuickPick": "빠른 상태",
"WorkspaceStatusComposeHint": "짧은 메모 추가 (선택)",
"WorkspaceStatusClearUntil": "날짜 지우기",
"WorkspaceStatusDoNotClear": "상태 자동 해제 안 함",
"WorkspaceStatusIn30Min": "30분 후",
"WorkspaceStatusIn1Hour": "1시간 후",
"WorkspaceStatusIn4Hours": "4시간 후",
"WorkspaceStatusEndOfDay": "오늘 종료",
"WorkspaceStatusPickDate": "날짜 선택"
}
}
+2 -1
View File
@@ -149,6 +149,7 @@
"WorkspaceStatusIn1Hour": "Em 1 hora",
"WorkspaceStatusIn4Hours": "Em 4 horas",
"WorkspaceStatusEndOfDay": "Fim do dia",
"WorkspaceStatusPickDate": "Escolher data"
"WorkspaceStatusPickDate": "Escolher data",
"HideInactive": "Ocultar inativos"
}
}
+2 -1
View File
@@ -149,6 +149,7 @@
"WorkspaceStatusIn1Hour": "Em 1 hora",
"WorkspaceStatusIn4Hours": "Em 4 horas",
"WorkspaceStatusEndOfDay": "Fim do dia",
"WorkspaceStatusPickDate": "Escolher data"
"WorkspaceStatusPickDate": "Escolher data",
"HideInactive": "Ocultar inativos"
}
}
+2 -1
View File
@@ -149,6 +149,7 @@
"WorkspaceStatusIn1Hour": "Через 1 час",
"WorkspaceStatusIn4Hours": "Через 4 часа",
"WorkspaceStatusEndOfDay": "До конца дня",
"WorkspaceStatusPickDate": "Выбрать дату"
"WorkspaceStatusPickDate": "Выбрать дату",
"HideInactive": "Скрыть неактивных"
}
}
+2 -1
View File
@@ -149,6 +149,7 @@
"WorkspaceStatusIn1Hour": "1 saat içinde",
"WorkspaceStatusIn4Hours": "4 saat içinde",
"WorkspaceStatusEndOfDay": "Gün sonu",
"WorkspaceStatusPickDate": "Tarih seç"
"WorkspaceStatusPickDate": "Tarih seç",
"HideInactive": "Etkin olmayanları gizle"
}
}
+2 -1
View File
@@ -149,6 +149,7 @@
"WorkspaceStatusIn1Hour": "1 小时后",
"WorkspaceStatusIn4Hours": "4 小时后",
"WorkspaceStatusEndOfDay": "今天结束",
"WorkspaceStatusPickDate": "选择日期"
"WorkspaceStatusPickDate": "选择日期",
"HideInactive": "隐藏非活跃"
}
}
+3 -1
View File
@@ -150,6 +150,7 @@ import {
getCurrentEmployeePosition,
getPersonTooltip,
grouppingPersonManager,
hideInactive,
permissionsStore,
resolveLocation,
resolveLocationData
@@ -469,7 +470,8 @@ export default async (): Promise<Resources> => ({
ChannelTitleProvider: channelTitleProvider,
ChannelIdentifierProvider: channelIdentifierProvider,
CanResendInvitation: canResendInvitation,
CanMergePersons: canMergePersons
CanMergePersons: canMergePersons,
HideInactive: hideInactive
},
resolver: {
Location: resolveLocation,
+1
View File
@@ -28,6 +28,7 @@ import {
export default mergeIds(contactId, contact, {
string: {
HideInactive: '' as IntlString,
Apply: '' as IntlString,
CreatePerson: '' as IntlString,
OrganizationNamePlaceholder: '' as IntlString,
+4
View File
@@ -886,3 +886,7 @@ export function getPersonByPersonRefStore (
): Readable<Map<Ref<Person>, Readonly<Person>>> {
return contactCacheStoreManager.getPersonByPersonRefStore(personRefs)
}
export function hideInactive (value: any, query: DocumentQuery<Doc>): DocumentQuery<Doc> {
return value === true ? { ...query, active: true } : query
}
@@ -0,0 +1,285 @@
{
"string": {
"ID": "ID",
"Code": "코드",
"Number": "번호",
"Category": "카테고리",
"CollaborativeDocument": "공동 편집 문서",
"ControlledDocument": "관리 문서",
"Requests": "요청",
"EffectiveDate": "발효일",
"PlannedEffectiveDate": "예정 발효일",
"Rank": "순위",
"DocumentRequest": "요청",
"DocumentReviewRequest": "문서 검토 요청",
"DocumentApprovalRequest": "문서 승인 요청",
"ControlledStatus": "관리 상태",
"Categories": "카테고리",
"Guidance": "안내",
"Required": "필수",
"Description": "설명",
"Major": "메이저",
"Minor": "마이너",
"Patch": "패치",
"ValidationWorkflow": "검증 워크플로",
"Creator": "생성자",
"ChangeOwner": "문서 소유자 변경",
"ChangeOwnerHintBeginning": "",
"ChangeOwnerHintEnd": "의 소유 권한을 다른 사용자에게 이전합니다.",
"ChangeOwnerWarning": "이 작업 후에는 이 문서를 편집할 수 없습니다.",
"SelectOwner": "새 소유자 선택",
"CreateDocument": "새 문서 생성",
"CreateTemplate": "새 템플릿 생성",
"Documents": "문서",
"Document": "문서",
"NewDocumentDialogClose": "이 대화 상자를 닫으시겠습니까?",
"NewDocumentCloseNote": "모든 변경 사항이 손실됩니다",
"Cancel": "취소",
"EditorPlaceholder": "입력하여 편집 시작...",
"Version": "버전",
"TemplateVersion": "템플릿 버전",
"VersionValue": "v{major}.{minor}",
"SearchDocument": "문서 검색...",
"CreateEnVersion": "검토용 버전 생성",
"Approvers": "승인자",
"ExternalApprovers": "외부 승인자",
"CoAuthors": "공동 작성자",
"Status": "상태",
"TemplateName": "템플릿 이름",
"DocumentApplication": "관리 문서",
"MyDocuments": "내 문서",
"Library": "라이브러리",
"Labels": "라벨",
"Author": "작성자",
"Review": "검토",
"Approval": "승인",
"Reviewer": "검토자",
"Approver": "승인자",
"DeleteCategory": "카테고리를 삭제하시겠습니까?",
"DeleteCategoryHint": "이 작업은 되돌릴 수 없습니다",
"DeleteCategoryWarning": "사용 중이므로 카테고리를 삭제할 수 없습니다",
"Latest": "최신",
"Draft": "초안",
"Reviewers": "검토자",
"ViewMode": "보기 중",
"EditMode": "편집 중",
"ComparisonMode": "비교 중",
"Compare": "비교:",
"Against": "대상:",
"ComparisonModeNotSupported": "비교 모드는 지원되지 않습니다.",
"CreateDraft": "초안 생성",
"SendForApproval": "승인 요청",
"SendForReview": "검토 요청",
"CompleteReview": "검토 완료하기",
"Approve": "승인",
"Reject": "반려",
"ConfirmApproval": "승인 확인",
"ConfirmRejection": "반려 확인",
"ProvideRejectionReason": "반려 사유 입력...",
"RejectionReason": "반려 사유",
"ConfirmReviewCompletion": "검토 완료 확인",
"ConfirmApprovalSubmission": "승인 요청 확인",
"ConfirmReviewSubmission": "검토 요청 확인",
"AddApprovalTitle": "승인자에게 문서 전송",
"AddApprovalDescription1": "승인 요청을 위해 문서가 다음 요건을 충족해야 합니다:",
"AddApprovalDescription2": "상태가 '초안' 또는 '검토 완료'",
"AddApprovalDescription3": "미해결 댓글 없음",
"AddApprovalDescription4": "교육훈련이 계획된 경우, 교육훈련 상태가 '릴리스됨'",
"NoApprovalsDescription": "이 버전의 문서에는 승인 내역이 없습니다",
"CurrentVersion": "현재 버전",
"DocumentTemplate": "템플릿",
"DocumentTemplates": "템플릿",
"DocumentCode": "문서 코드",
"TemplateCode": "템플릿 코드",
"DocumentCodePlaceholder": "DOC-1",
"DocumentPrefixPlaceholder": "DOC",
"DocumentPrefix": "문서 접두사",
"DocumentTemplateCreateLabel": "템플릿",
"DocumentCategoryCreateLabel": "카테고리",
"CreateDocumentCategory": "카테고리 생성",
"DocumentCategoryAlreadyExists": "이미 존재하는 카테고리입니다: \"{title}\". ",
"DocumentCategoryCodeAlreadyExists": "이미 사용 중인 코드입니다: \"{code}\". ",
"AttachmentsMax": "허용되는 최대 첨부 파일 수",
"Resolve": "해결",
"Unresolve": "미해결",
"Pending": "대기 중",
"Resolved": "해결됨",
"ShowResolved": "해결된 댓글 표시",
"Ordering": "순서",
"Title": "제목",
"Effective": "유효",
"Archived": "보관됨",
"Deleted": "삭제됨",
"MetaAbstract": "개요",
"Obsolete": "폐기",
"MakeDocumentObsolete": "폐기로 표시",
"MakeDocumentObsoleteDialog": "{count, plural, =0 {문서} other {문서}} 폐기로 표시",
"MakeDocumentObsoleteConfirm": "정말 다음 문서를 폐기로 표시하시겠습니까: {titles}?",
"ContentTab": "콘텐츠",
"TeamTab": "팀",
"MetaTab": "메타데이터",
"ChangeControlTab": "변경 관리",
"ReleaseTab": "릴리스",
"HistoryTab": "이력",
"ModificationDate": "수정일",
"Modified": "수정됨",
"Owner": "소유자",
"AssignedTo": "담당자",
"Unassigned": "미할당",
"Untitled": "제목 없음",
"Copy": "복사",
"AccessWorkarea": "작업 영역 접근",
"EffectiveLibrary": "유효 라이브러리",
"WorkingLibrary": "작업 라이브러리",
"CreateDraftQmsDocuments": "QMS 문서 초안 생성",
"OwnDocumentAskReviewGetApproval": "QMS 문서를 소유하고, 검토를 요청하여 승인 받기",
"ApproveDocuments": "문서 승인",
"ReassignOwnershipToAnotherUser": "다른 사용자에게 소유권 재할당",
"MakeDocumentEffective": "문서 발효 처리",
"CreateDraftQmsTemplates": "QMS 템플릿 초안 생성",
"ChangeControl": "변경 관리",
"ReviewInterval": "검토 주기",
"SelectReviewers": "검토자 선택",
"SelectApprovers": "승인자 선택",
"RequestsToReviewTheDoc": "님이 문서 검토를 요청합니다",
"RequestsToApproveTheDoc": "님이 문서 승인을 요청합니다",
"Parent": "상위",
"Template": "템플릿",
"GeneralInfo": "기본 정보",
"InProgress": "진행 중",
"EditDescription": "설명 편집",
"EditGuidance": "안내 편집",
"NewDocument": "새 문서",
"NewDocumentCategory": "새 카테고리",
"NewDocumentTemplate": "새 템플릿",
"LocationStepTitle": "위치",
"TemplateStepTitle": "템플릿",
"InfoStepTitle": "정보",
"TeamStepTitle": "팀",
"TitleAndDescr": "제목 및 설명",
"Reason": "사유",
"AbstractPlaceholder": "이 문서는 어떤 내용인가요? 누가 언제 필요로 하나요? ...",
"NewDocCreation": "새 문서 생성",
"NewTemplateCreation": "새 템플릿 생성",
"NewTemplatePlaceholder": "이 템플릿은 어떤 내용인가요? 올바른 사용 방법을 설명하세요...",
"CustomReason": "사용자 지정",
"ReasonPlaceholder": "사유 입력...",
"EditDocument": "문서 편집",
"Key": "키",
"CommentsSequence": "댓글 시퀀스",
"Email": "이메일",
"Password": "비밀번호",
"FieldIsEmpty": "{field}이(가) 비어 있습니다",
"ValidatingCredentials": "인증 정보 확인 중...",
"GeneralDocumentation": "사내 문서",
"TechnicalDocumentation": "기술 문서",
"UnsortedTemplates": "분류되지 않은 템플릿",
"Project": "프로젝트",
"Projects": "프로젝트",
"ExternalSpace": "프로젝트 스페이스",
"DocumentSpaceType": "문서 스페이스 유형",
"EffectiveImmediately": "승인 즉시",
"EffectiveOn": "발효일 지정",
"PeriodicReviewToBeCompleted": "정기 검토 완료 기한",
"MonthsAfterEffectiveDate": "발효일로부터 개월 후",
"ToBePassedWithin": "통과 기한",
"AttemptsAnd": "회 시도 및",
"DaysAfterEffectiveDate": "발효일로부터의 일수",
"Index": "인덱스",
"Path": "경로",
"CreateChildDocument": "하위 문서 생성",
"CreateChildTemplate": "하위 템플릿 생성",
"All": "전체",
"Space": "스페이스",
"SelectParent": "문서의 상위 객체 선택",
"PrefixInUse": "이 접두사는 이미 사용 중입니다:",
"CodeInUse": "이 코드는 이미 사용 중입니다:",
"ChangeCode": "코드 변경",
"ChangePrefix": "접두사 변경",
"MarkDocAsDeleted": "문서를 삭제됨으로 표시",
"MarkDocsAsDeleted": "여러 문서를 삭제됨으로 표시",
"MarkDocAsDeletedConfirm": "정말 다음 문서를 삭제됨으로 표시하시겠습니까: {titles}?",
"ArchiveDocs": "{count, plural, =0 {문서} other {문서}} 보관",
"ArchiveDocsConfirm": "정말 다음 문서를 보관하시겠습니까: {titles}?",
"DocumentInHierarchy": "계층 내 문서",
"FirstDraftVersion": "이 문서의 첫 번째 초안 버전입니다. 아직 이력이 없습니다.",
"FirstOrNotAvailable": "이 문서의 첫 번째 사용 가능한 버전입니다. 아직 이력이 없거나 사용할 수 없습니다.",
"EffectiveDocumentLifecycle": "유효 문서 라이프사이클",
"ReasonAndImpact": "사유 및 영향",
"ImpactAnalysis": "영향 분석",
"ImpactedDocuments": "영향받는 문서",
"CreateDocumentFailed": "문서 생성에 실패했습니다",
"CreateDocumentTemplateFailed": "템플릿 생성에 실패했습니다",
"TryAgain": "다시 시도해 주세요",
"DescribeChanges": "변경 내용 설명...",
"DescribeReason": "변경 사유 설명...",
"DescribeImpact": "영향 범위 설명...",
"AddDocument": "문서 추가",
"NoDocuments": "문서 없음",
"SysTemplate": "시스템 템플릿",
"DocumentTrainingDueDays": "기한(일)",
"DocumentTrainingEnabled": "활성화됨",
"Own": "소유",
"Snapshot": "스냅샷",
"Snapshots": "스냅샷",
"ControlledSnapshot": "관리 스냅샷",
"Name": "이름",
"DraftRevision": "초안 리비전",
"CreateNewDraft": "새 버전 초안 작성",
"RestoreDraft": "초안 복원",
"ChangeSeverity": "심각도 변경",
"Reference": "참조",
"History": "이력",
"Signatories": "서명자",
"Page": "페이지 ",
"Of": " / ",
"CreatedFromTemplate": "템플릿에서 생성: ",
"ViewAll": "모두 보기",
"Readonly": "읽기 전용",
"NewDocumentSpace": "새 문서 스페이스",
"EditDocumentSpace": "문서 스페이스 편집",
"DocSpaceDescriptionPlaceholder": "스페이스 설명...",
"Members": "멤버",
"CreateOrgSpace": "조직 스페이스 생성",
"ReviewDocumentPermission": "문서 검토",
"ReviewDocumentDescription": "사용자에게 문서를 검토할 권한을 부여",
"ApproveDocumentPermission": "문서 승인",
"ApproveDocumentDescription": "사용자에게 문서를 승인할 권한을 부여",
"ArchiveDocumentPermission": "문서 보관",
"ArchiveDocumentDescription": "사용자에게 문서를 보관할 권한을 부여",
"CoAuthorDocumentPermission": "문서 공동 작성",
"CoAuthorDocumentDescription": "사용자에게 문서를 공동 작성할 권한을 부여",
"CreateDocumentPermission": "문서 생성",
"CreateDocumentDescription": "사용자에게 문서를 생성할 권한을 부여",
"UpdateDocumentOwnerPermission": "문서 소유자 업데이트",
"UpdateDocumentOwnerDescription": "사용자에게 문서 소유자를 업데이트할 권한을 부여",
"CreateDocumentCategoryPermission": "문서 카테고리 생성",
"CreateDocumentCategoryDescription": "사용자에게 문서 카테고리를 생성할 권한을 부여",
"UpdateDocumentCategoryPermission": "문서 카테고리 업데이트",
"UpdateDocumentCategoryDescription": "사용자에게 문서 카테고리를 업데이트할 권한을 부여",
"DeleteDocumentCategoryPermission": "문서 카테고리 삭제",
"DeleteDocumentCategoryDescription": "사용자에게 문서 카테고리를 삭제할 권한을 부여",
"ConfigLabel": "관리 문서",
"ConfigDescription": "관리 문서 관리용 확장 기능",
"Transfer": "이전",
"TransferWarning": "이 작업 후에는 일부 팀원이 이 문서를 보거나 편집할 수 없게 될 수 있습니다.",
"TransferDocuments": "관리 문서 이전",
"TransferDocumentsHint": "선택한 스페이스로 이전할 문서:",
"CreateFolder": "새 폴더 생성",
"RenameFolder": "폴더 이름 변경",
"CreateChildFolder": "하위 폴더 생성",
"LatestVersionHint": "최신",
"CannotDeleteFolder": "폴더를 삭제할 수 없습니다",
"CannotDeleteFolderHint": "폴더를 삭제하기 전에 모든 하위 문서를 다른 위치로 이동하세요.",
"AllDocumentSpaces": "모든 문서 스페이스"
},
"controlledDocStates": {
"Empty": "",
"Approved": "승인됨",
"InApproval": "승인 중",
"InReview": "검토 중",
"Reviewed": "검토 완료",
"Rejected": "반려됨",
"ToReview": "검토 대기"
}
}
+2 -1
View File
@@ -131,7 +131,8 @@ export const documentsPlugin = plugin(documentsId, {
PrintProjectDocument: '' as Ref<Action<Doc, { signed: boolean }>>,
OpenDocument: '' as Ref<Action<Doc, { signed: boolean }>>,
OpenDocumentInNewTab: '' as Ref<Action<Doc, { signed: boolean }>>,
CopyAsMarkdownTable: '' as Ref<Action<Doc, any>>
CopyAsMarkdownTable: '' as Ref<Action<Doc, any>>,
CopyDocumentMarkdown: '' as Ref<Action<Doc, any>>
},
function: {
CanChangeDocumentOwner: '' as Resource<(doc?: Doc | Doc[]) => Promise<boolean>>,
+11 -9
View File
@@ -41,15 +41,17 @@
"prettier-plugin-svelte": "^3.4.0"
},
"dependencies": {
"@hcengineering/platform": "workspace:^0.7.423",
"@hcengineering/core": "workspace:^0.7.423",
"@hcengineering/view": "workspace:^0.7.423",
"@hcengineering/converter": "workspace:^0.7.423",
"@hcengineering/presentation": "workspace:^0.7.423",
"@hcengineering/ui": "workspace:^0.7.423",
"@hcengineering/theme": "workspace:^0.7.423",
"@hcengineering/contact": "workspace:^0.7.423",
"@hcengineering/view-resources": "workspace:^0.7.423",
"@hcengineering/platform": "workspace:^0.7.20",
"@hcengineering/core": "workspace:^0.7.26",
"@hcengineering/view": "workspace:^0.7.0",
"@hcengineering/converter": "workspace:^0.7.0",
"@hcengineering/presentation": "workspace:^0.7.0",
"@hcengineering/ui": "workspace:^0.7.0",
"@hcengineering/theme": "workspace:^0.7.0",
"@hcengineering/contact": "workspace:^0.7.0",
"@hcengineering/view-resources": "workspace:^0.7.0",
"@hcengineering/text": "workspace:^0.7.19",
"@hcengineering/text-markdown": "workspace:^0.7.21",
"svelte": "^4.2.20"
}
}
@@ -49,6 +49,7 @@ jest.mock('@hcengineering/view-resources', () => ({
copyMarkdown: jest.fn(),
buildModel: jest.fn(),
buildConfigLookup: jest.fn(() => ({})),
buildConfigAssociation: jest.fn(),
getObjectLinkFragment: jest.fn()
}))
@@ -15,6 +15,15 @@
import { isIntlString, extractObjectTitleOrName } from '../formatter/utils'
jest.mock('@hcengineering/presentation', () => ({
getClient: jest.fn(() => ({
getModel: jest.fn(() => ({
findObject: jest.fn()
})),
getHierarchy: jest.fn()
}))
}))
jest.mock('@hcengineering/platform', () => {
const actual = jest.requireActual('@hcengineering/platform')
return {
@@ -26,6 +26,10 @@ jest.mock('@hcengineering/platform', () => {
}
})
jest.mock('@hcengineering/presentation', () => ({
getClient: jest.fn()
}))
jest.mock('../data/personLoader', () => ({
loadPersonName: jest.fn(async (personId: string) => personId)
}))
@@ -16,6 +16,15 @@
import type { AttributeModel } from '@hcengineering/view'
import { modelToConfig } from '../model/tableModel'
jest.mock('@hcengineering/presentation', () => ({
getClient: jest.fn(() => ({
getModel: jest.fn(() => ({
findObject: jest.fn()
})),
getHierarchy: jest.fn()
}))
}))
jest.mock('@hcengineering/view-resources', () => ({
buildModel: jest.fn(),
buildConfigLookup: jest.fn()
@@ -13,9 +13,9 @@
// limitations under the License.
//
import type { Hierarchy, PersonId } from '@hcengineering/core'
import { getName, getPersonByPersonId, getPersonByPersonRef } from '@hcengineering/contact'
import { type Doc, type Hierarchy, type PersonId, type Ref } from '@hcengineering/core'
import { getClient } from '@hcengineering/presentation'
import { getName, getPersonByPersonId } from '@hcengineering/contact'
/**
* Load person display name by PersonId with optional caching
@@ -48,3 +48,35 @@ export async function loadPersonName (
return personId
}
/**
* Load person display name by Person Ref (Person document ID)
*/
export async function loadPersonNameByRef (
personRef: Ref<Doc>,
hierarchy: Hierarchy,
userCache?: Map<string, string>
): Promise<string> {
if (userCache !== undefined) {
const cachedName = userCache.get(personRef)
if (cachedName !== undefined) {
return cachedName
}
}
try {
const client = getClient()
const person = await getPersonByPersonRef(client, personRef as any)
if (person !== null) {
const name = getName(hierarchy, person)
if (userCache !== undefined) {
userCache.set(personRef, name)
}
return name
}
} catch (error) {
console.warn('Failed to lookup user name for Person Ref:', personRef, error)
}
return personRef
}

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