@opencode-ai/ui 0.0.0-dev-18909 → 0.0.0-dev-202609021553
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{data-display/accordion → components}/accordion.d.ts +6 -6
- package/dist/components/avatar.d.ts +9 -0
- package/dist/components/button.d.ts +9 -0
- package/dist/components/card.d.ts +1 -1
- package/dist/{forms/checkbox → components}/checkbox.d.ts +2 -2
- package/dist/components/dialog.d.ts +12 -0
- package/dist/{data-display/diff-changes → components}/diff-changes.d.ts +1 -2
- package/dist/components/dropdown-menu.d.ts +80 -0
- package/dist/components/icon-button.d.ts +10 -0
- package/dist/{icons/icon/additional-icons.d.ts → components/icon.d.ts} +8 -8
- package/dist/components/keybind.d.ts +6 -0
- package/dist/components/list.d.ts +1 -1
- package/dist/{feedback/progress-circle → components}/progress-circle.d.ts +0 -2
- package/dist/components/radio-group.d.ts +16 -0
- package/dist/components/scroll-view.d.ts +3 -3
- package/dist/components/select.d.ts +21 -0
- package/dist/{forms/switch → components}/switch.d.ts +2 -4
- package/dist/{navigation/tabs → components}/tabs.d.ts +8 -15
- package/dist/components/tag.d.ts +5 -0
- package/dist/{typography/text-shimmer → components}/text-shimmer.d.ts +0 -1
- package/dist/components/toast.d.ts +56 -0
- package/dist/components/tooltip.d.ts +17 -0
- package/dist/context/i18n.d.ts +7 -10
- package/dist/context/marked-parser.d.ts +2 -1
- package/dist/hooks/use-filtered-list.d.ts +0 -9
- package/dist/i18n/ar.d.ts +2 -0
- package/dist/i18n/bg.d.ts +2 -0
- package/dist/i18n/br.d.ts +2 -0
- package/dist/i18n/bs.d.ts +2 -0
- package/dist/i18n/da.d.ts +2 -0
- package/dist/i18n/de.d.ts +2 -0
- package/dist/i18n/en.d.ts +1 -230
- package/dist/i18n/es.d.ts +2 -0
- package/dist/i18n/fr.d.ts +2 -0
- package/dist/i18n/ja.d.ts +2 -0
- package/dist/i18n/km.d.ts +2 -0
- package/dist/i18n/ko.d.ts +2 -0
- package/dist/i18n/lo.d.ts +2 -0
- package/dist/i18n/mk.d.ts +2 -0
- package/dist/i18n/mn.d.ts +2 -0
- package/dist/i18n/my.d.ts +2 -0
- package/dist/i18n/pl.d.ts +2 -0
- package/dist/i18n/ru.d.ts +2 -0
- package/dist/i18n/sr.d.ts +2 -0
- package/dist/i18n/tg.d.ts +2 -0
- package/dist/i18n/th.d.ts +2 -0
- package/dist/i18n/tr.d.ts +2 -0
- package/dist/i18n/zh.d.ts +2 -0
- package/dist/i18n/zht.d.ts +2 -0
- package/dist/v2/components/accordion-v2.d.ts +26 -0
- package/dist/{data-display/avatar/avatar.d.ts → v2/components/avatar-v2.d.ts} +1 -1
- package/dist/v2/components/badge-v2.d.ts +6 -0
- package/dist/v2/components/button-v2.d.ts +10 -0
- package/dist/v2/components/checkbox-v2.d.ts +10 -0
- package/dist/{overlays/dialog/dialog.d.ts → v2/components/dialog-v2.d.ts} +2 -1
- package/dist/v2/components/diff-changes-v2.d.ts +11 -0
- package/dist/v2/components/divider-v2.d.ts +5 -0
- package/dist/{forms/field/field.d.ts → v2/components/field-v2.d.ts} +10 -4
- package/dist/v2/components/icon-button-v2.d.ts +11 -0
- package/dist/{icons/icon → v2/components}/icon.d.ts +1 -24
- package/dist/v2/components/inline-input-v2.d.ts +21 -0
- package/dist/v2/components/keybind-v2.d.ts +7 -0
- package/dist/{data-display/line-comment/line-comment.d.ts → v2/components/line-comment-v2.d.ts} +9 -9
- package/dist/v2/components/loader-v2.d.ts +3 -0
- package/dist/v2/components/menu-v2.d.ts +52 -0
- package/dist/v2/components/progress-circle-v2.d.ts +8 -0
- package/dist/{data-display/project-avatar/project-avatar.d.ts → v2/components/project-avatar-v2.d.ts} +1 -1
- package/dist/v2/components/radio-v2.d.ts +16 -0
- package/dist/{navigation/segmented-control/segmented-control.d.ts → v2/components/segmented-control-v2.d.ts} +5 -5
- package/dist/{forms/select/select.d.ts → v2/components/select-v2.d.ts} +6 -4
- package/dist/v2/components/split-button-v2.d.ts +5 -0
- package/dist/v2/components/switch-v2.d.ts +7 -0
- package/dist/v2/components/tabs-v2.d.ts +34 -0
- package/dist/{forms/text-input/text-input.d.ts → v2/components/text-input-v2.d.ts} +3 -3
- package/dist/v2/components/text-shimmer-v2.d.ts +9 -0
- package/dist/v2/components/textarea-v2.d.ts +7 -0
- package/dist/v2/components/toast-v2.d.ts +57 -0
- package/dist/v2/components/tooltip-v2.d.ts +13 -0
- package/dist/v2/components/wordmark-v2.d.ts +2 -0
- package/package.json +34 -140
- package/src/{data-display/accordion → components}/accordion.css +31 -5
- package/src/{data-display/accordion → components}/accordion.tsx +14 -14
- package/src/components/animated-number.css +11 -29
- package/src/components/animated-number.tsx +2 -2
- package/src/components/avatar.css +49 -0
- package/src/components/avatar.tsx +55 -0
- package/src/components/button.css +194 -0
- package/src/{actions/button → components}/button.tsx +11 -10
- package/src/components/card.css +23 -2
- package/src/components/card.tsx +4 -4
- package/src/{forms/checkbox → components}/checkbox.css +7 -1
- package/src/{forms/checkbox → components}/checkbox.tsx +13 -13
- package/src/components/collapsible.tsx +2 -2
- package/src/components/dialog.css +181 -0
- package/src/components/dialog.tsx +72 -0
- package/src/{data-display/diff-changes → components}/diff-changes.css +19 -22
- package/src/components/diff-changes.tsx +115 -0
- package/src/components/dock-surface.css +9 -2
- package/src/components/dropdown-menu.css +135 -0
- package/src/components/dropdown-menu.tsx +308 -0
- package/src/components/icon-button.css +181 -0
- package/src/components/icon-button.tsx +29 -0
- package/src/components/icon.css +39 -0
- package/src/{icons/icon/additional-icons.ts → components/icon.tsx} +74 -8
- package/src/components/image-preview.tsx +2 -3
- package/src/components/keybind.css +18 -0
- package/src/components/keybind.tsx +20 -0
- package/src/components/list.css +5 -5
- package/src/components/list.tsx +5 -7
- package/src/components/popover.tsx +2 -3
- package/src/components/progress-circle.css +16 -0
- package/src/components/progress-circle.tsx +64 -0
- package/src/components/radio-group.css +187 -0
- package/src/components/radio-group.tsx +83 -0
- package/src/components/scroll-view.tsx +20 -5
- package/src/components/select.css +201 -0
- package/src/components/select.tsx +174 -0
- package/src/components/sticky-accordion-header.tsx +1 -1
- package/src/components/switch.css +136 -0
- package/src/components/switch.tsx +29 -0
- package/src/{navigation/tabs → components}/tabs.css +229 -39
- package/src/components/tabs.tsx +126 -0
- package/src/components/tag.css +37 -0
- package/src/components/tag.tsx +22 -0
- package/src/components/text-field.tsx +4 -12
- package/src/{typography/text-shimmer → components}/text-shimmer.css +1 -2
- package/src/{typography/text-shimmer → components}/text-shimmer.tsx +0 -1
- package/src/components/toast.css +236 -0
- package/src/components/toast.tsx +185 -0
- package/src/components/tooltip.css +74 -0
- package/src/components/tooltip.tsx +163 -0
- package/src/context/dialog.tsx +0 -1
- package/src/context/i18n.tsx +14 -17
- package/src/context/marked-parser.tsx +13 -3
- package/src/hooks/create-auto-scroll.tsx +0 -20
- package/src/i18n/am.ts +9 -7
- package/src/i18n/ar.ts +9 -7
- package/src/i18n/az.ts +9 -7
- package/src/i18n/bg.ts +9 -7
- package/src/i18n/bn.ts +9 -7
- package/src/i18n/br.ts +9 -7
- package/src/i18n/bs.ts +9 -7
- package/src/i18n/ca.ts +9 -7
- package/src/i18n/cs.ts +9 -7
- package/src/i18n/da.ts +9 -7
- package/src/i18n/de.ts +3 -1
- package/src/i18n/dv.ts +9 -7
- package/src/i18n/dz.ts +7 -5
- package/src/i18n/el.ts +9 -7
- package/src/i18n/en.ts +11 -46
- package/src/i18n/es.ts +8 -6
- package/src/i18n/et.ts +9 -7
- package/src/i18n/fa.ts +9 -7
- package/src/i18n/fi.ts +9 -7
- package/src/i18n/fo.ts +9 -7
- package/src/i18n/fr.ts +8 -6
- package/src/i18n/hi.ts +9 -7
- package/src/i18n/hr.ts +9 -7
- package/src/i18n/hu.ts +9 -7
- package/src/i18n/hy.ts +9 -7
- package/src/i18n/id.ts +9 -7
- package/src/i18n/is.ts +9 -7
- package/src/i18n/it.ts +9 -7
- package/src/i18n/ja.ts +9 -7
- package/src/i18n/ka.ts +9 -7
- package/src/i18n/km.ts +9 -7
- package/src/i18n/ko.ts +9 -7
- package/src/i18n/lo.ts +9 -7
- package/src/i18n/lt.ts +9 -7
- package/src/i18n/lv.ts +9 -7
- package/src/i18n/mk.ts +9 -7
- package/src/i18n/mn.ts +9 -7
- package/src/i18n/ms.ts +9 -7
- package/src/i18n/my.ts +9 -7
- package/src/i18n/ne.ts +9 -7
- package/src/i18n/nl.ts +9 -7
- package/src/i18n/no.ts +9 -7
- package/src/i18n/pa.ts +9 -7
- package/src/i18n/pl.ts +9 -7
- package/src/i18n/ro.ts +9 -7
- package/src/i18n/ru.ts +9 -7
- package/src/i18n/si.ts +9 -7
- package/src/i18n/sk.ts +9 -7
- package/src/i18n/sl.ts +9 -7
- package/src/i18n/sq.ts +9 -7
- package/src/i18n/sr.ts +9 -7
- package/src/i18n/sv.ts +9 -7
- package/src/i18n/tg.ts +9 -7
- package/src/i18n/th.ts +9 -7
- package/src/i18n/tk.ts +9 -7
- package/src/i18n/tr.ts +9 -7
- package/src/i18n/uk.ts +9 -7
- package/src/i18n/ur.ts +9 -7
- package/src/i18n/uz.ts +9 -7
- package/src/i18n/vi.ts +9 -7
- package/src/i18n/zh.ts +9 -7
- package/src/i18n/zht.ts +9 -7
- package/src/styles/base.css +0 -5
- package/src/styles/index.css +20 -4
- package/src/styles/tailwind/colors.css +0 -1
- package/src/styles/tailwind/index.css +1 -18
- package/src/styles/theme.css +2 -2
- package/src/theme/context.tsx +11 -19
- package/src/theme/themes/oc-2.json +1 -3
- package/src/theme/v2/foreground.ts +0 -1
- package/src/theme/v2/mapping.ts +0 -4
- package/src/v2/components/accordion-v2.css +139 -0
- package/src/v2/components/accordion-v2.tsx +86 -0
- package/src/{data-display/avatar/avatar.tsx → v2/components/avatar-v2.tsx} +1 -1
- package/src/{data-display/badge/badge.css → v2/components/badge-v2.css} +0 -19
- package/src/{data-display/badge/badge.tsx → v2/components/badge-v2.tsx} +4 -6
- package/src/v2/components/button-v2.tsx +35 -0
- package/src/v2/components/checkbox-v2.css +184 -0
- package/src/v2/components/checkbox-v2.tsx +65 -0
- package/src/{overlays/dialog/dialog.css → v2/components/dialog-v2.css} +0 -3
- package/src/{overlays/dialog/dialog.tsx → v2/components/dialog-v2.tsx} +13 -11
- package/src/v2/components/diff-changes-v2.css +26 -0
- package/src/{data-display/diff-changes/diff-changes.tsx → v2/components/diff-changes-v2.tsx} +2 -7
- package/src/{layout/divider/divider.tsx → v2/components/divider-v2.tsx} +3 -3
- package/src/{forms/field/field.css → v2/components/field-v2.css} +1 -1
- package/src/{forms/field/field.tsx → v2/components/field-v2.tsx} +11 -9
- package/src/v2/components/icon-button-v2.tsx +37 -0
- package/src/{icons/icon → v2/components}/icon.tsx +9 -50
- package/src/v2/components/inline-input-v2.css +225 -0
- package/src/v2/components/inline-input-v2.tsx +107 -0
- package/src/{data-display/keybind/keybind.css → v2/components/keybind-v2.css} +1 -1
- package/src/{data-display/keybind/keybind.tsx → v2/components/keybind-v2.tsx} +3 -3
- package/src/{data-display/line-comment/line-comment.css → v2/components/line-comment-v2.css} +4 -4
- package/src/{data-display/line-comment/line-comment.tsx → v2/components/line-comment-v2.tsx} +15 -17
- package/src/{feedback/loader/loader.tsx → v2/components/loader-v2.tsx} +2 -2
- package/src/{navigation/menu/menu.css → v2/components/menu-v2.css} +2 -123
- package/src/{navigation/menu/menu.tsx → v2/components/menu-v2.tsx} +32 -96
- package/src/v2/components/progress-circle-v2.css +13 -0
- package/src/v2/components/progress-circle-v2.tsx +52 -0
- package/src/{data-display/project-avatar/project-avatar.tsx → v2/components/project-avatar-v2.tsx} +1 -1
- package/src/{forms/radio/radio.tsx → v2/components/radio-v2.tsx} +20 -30
- package/src/{navigation/segmented-control/segmented-control.css → v2/components/segmented-control-v2.css} +1 -1
- package/src/{navigation/segmented-control/segmented-control.tsx → v2/components/segmented-control-v2.tsx} +8 -9
- package/src/{forms/select/select.css → v2/components/select-v2.css} +8 -2
- package/src/{forms/select/select.tsx → v2/components/select-v2.tsx} +32 -38
- package/src/{actions/split-button/split-button.css → v2/components/split-button-v2.css} +6 -1
- package/src/{actions/split-button/split-button.tsx → v2/components/split-button-v2.tsx} +4 -4
- package/src/{forms/switch/switch.css → v2/components/switch-v2.css} +0 -110
- package/src/v2/components/switch-v2.tsx +28 -0
- package/src/{navigation/tabs/tabs-current.css → v2/components/tabs-v2.css} +10 -25
- package/src/v2/components/tabs-v2.tsx +149 -0
- package/src/{forms/text-input/text-input.css → v2/components/text-input-v2.css} +1 -1
- package/src/{forms/text-input/text-input.tsx → v2/components/text-input-v2.tsx} +4 -4
- package/src/v2/components/text-shimmer-v2.css +125 -0
- package/src/v2/components/text-shimmer-v2.tsx +63 -0
- package/src/{forms/textarea/textarea.tsx → v2/components/textarea-v2.tsx} +3 -3
- package/src/{feedback/toast/toast.tsx → v2/components/toast-v2.tsx} +58 -60
- package/src/{overlays/tooltip/tooltip.css → v2/components/tooltip-v2.css} +0 -26
- package/src/{overlays/tooltip/tooltip.tsx → v2/components/tooltip-v2.tsx} +17 -24
- package/src/{typography/wordmark/wordmark.tsx → v2/components/wordmark-v2.tsx} +1 -1
- package/src/{styles/tokens → v2/styles}/theme.css +14 -18
- package/dist/actions/button/button.d.ts +0 -10
- package/dist/actions/icon-button/icon-button.d.ts +0 -11
- package/dist/actions/split-button/split-button.d.ts +0 -5
- package/dist/context/marked-base.d.ts +0 -3
- package/dist/data-display/badge/badge.d.ts +0 -7
- package/dist/data-display/keybind/keybind.d.ts +0 -7
- package/dist/feedback/loader/loader.d.ts +0 -3
- package/dist/feedback/toast/toast.d.ts +0 -57
- package/dist/forms/radio/radio.d.ts +0 -16
- package/dist/forms/textarea/textarea.d.ts +0 -7
- package/dist/i18n/he.d.ts +0 -197
- package/dist/layout/divider/divider.d.ts +0 -5
- package/dist/navigation/menu/menu.d.ts +0 -59
- package/dist/overlays/tooltip/tooltip.d.ts +0 -15
- package/dist/typography/wordmark/wordmark.d.ts +0 -2
- package/src/actions/icon-button/icon-button.tsx +0 -32
- package/src/context/marked-base.tsx +0 -27
- package/src/feedback/progress-circle/progress-circle.css +0 -28
- package/src/feedback/progress-circle/progress-circle.tsx +0 -64
- package/src/forms/switch/switch.tsx +0 -34
- package/src/i18n/he.ts +0 -199
- package/src/icons/icon/icon.css +0 -3
- package/src/navigation/tabs/tabs.tsx +0 -194
- /package/dist/{forms/inline-input → components}/inline-input.d.ts +0 -0
- /package/dist/{navigation → v2/components}/tab-state-indicator.d.ts +0 -0
- /package/src/{forms/inline-input → components}/inline-input.css +0 -0
- /package/src/{forms/inline-input → components}/inline-input.tsx +0 -0
- /package/src/{data-display/avatar/avatar.css → v2/components/avatar-v2.css} +0 -0
- /package/src/{actions/button/button.css → v2/components/button-v2.css} +0 -0
- /package/src/{layout/divider/divider.css → v2/components/divider-v2.css} +0 -0
- /package/src/{styles/file-tree.css → v2/components/file-tree-v2.css} +0 -0
- /package/src/{actions/icon-button/icon-button.css → v2/components/icon-button-v2.css} +0 -0
- /package/src/{feedback/loader/loader.css → v2/components/loader-v2.css} +0 -0
- /package/src/{data-display/project-avatar/project-avatar.css → v2/components/project-avatar-v2.css} +0 -0
- /package/src/{forms/radio/radio.css → v2/components/radio-v2.css} +0 -0
- /package/src/{navigation → v2/components}/tab-state-indicator.tsx +0 -0
- /package/src/{forms/textarea/textarea.css → v2/components/textarea-v2.css} +0 -0
- /package/src/{feedback/toast/toast.css → v2/components/toast-v2.css} +0 -0
- /package/src/{styles/tokens → v2/styles}/colors.css +0 -0
- /package/src/{styles/tokens/index.css → v2/styles/tailwind.css} +0 -0
package/src/context/i18n.tsx
CHANGED
|
@@ -1,24 +1,26 @@
|
|
|
1
1
|
import { createContext, useContext, type Accessor, type ParentProps } from "solid-js"
|
|
2
2
|
import { I18nProvider } from "@kobalte/core/i18n"
|
|
3
3
|
import { dict as en } from "../i18n/en"
|
|
4
|
-
import type { Key, LocaleKey, PluralCategory, PluralKey, PluralLookupKey } from "../i18n/en"
|
|
5
4
|
|
|
6
|
-
export type UiI18nKey =
|
|
7
|
-
|
|
8
|
-
export
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
5
|
+
export type UiI18nKey = keyof typeof en
|
|
6
|
+
|
|
7
|
+
export const UI_PLURAL_KEYS = [
|
|
8
|
+
"ui.sessionTurn.diffs.changed",
|
|
9
|
+
"ui.messagePart.context.read",
|
|
10
|
+
"ui.messagePart.context.search",
|
|
11
|
+
"ui.messagePart.context.list",
|
|
12
|
+
] as const
|
|
13
|
+
export type UiI18nPluralKey = (typeof UI_PLURAL_KEYS)[number]
|
|
14
|
+
export type UiPluralCategory = "zero" | "one" | "two" | "few" | "many" | "other"
|
|
15
|
+
export type UiI18nPluralLookupKey = `${UiI18nPluralKey}.${UiPluralCategory}`
|
|
12
16
|
|
|
13
17
|
export type UiI18nParams = Record<string, string | number | boolean>
|
|
14
|
-
export type UiTranslate = <Value extends string>(key: UiTranslationKey<Value>, params?: UiI18nParams) => string
|
|
15
18
|
|
|
16
19
|
export type UiI18n = {
|
|
17
20
|
locale: Accessor<string>
|
|
18
21
|
layoutLocale?: Accessor<string>
|
|
19
|
-
t:
|
|
22
|
+
t: (key: UiI18nKey, params?: UiI18nParams) => string
|
|
20
23
|
plural: (key: UiI18nPluralKey, count: number, params?: UiI18nParams) => string
|
|
21
|
-
pluralForm?: (key: UiI18nPluralKey, category: UiPluralCategory, params?: UiI18nParams) => string
|
|
22
24
|
}
|
|
23
25
|
|
|
24
26
|
const rules = new Map<string, Intl.PluralRules>()
|
|
@@ -48,16 +50,11 @@ function resolveTemplate(text: string, params?: UiI18nParams) {
|
|
|
48
50
|
const fallback: UiI18n = {
|
|
49
51
|
locale: () => "en",
|
|
50
52
|
t: (key, params) => {
|
|
51
|
-
const value = en[key
|
|
53
|
+
const value = en[key] ?? String(key)
|
|
52
54
|
return resolveTemplate(value, params)
|
|
53
55
|
},
|
|
54
56
|
plural: (key, count, params) =>
|
|
55
|
-
fallback.
|
|
56
|
-
pluralForm: (key, category, params) => {
|
|
57
|
-
const values = en as Partial<Record<UiI18nLocaleKey, string>>
|
|
58
|
-
const value = values[pluralKey(key, category)] ?? values[`${key}.other`] ?? `${key}.other`
|
|
59
|
-
return resolveTemplate(value, params)
|
|
60
|
-
},
|
|
57
|
+
fallback.t(pluralKey(key, pluralCategory(fallback.locale(), count)), { ...params, count }),
|
|
61
58
|
}
|
|
62
59
|
|
|
63
60
|
const Context = createContext<UiI18n>(fallback)
|
|
@@ -1,10 +1,20 @@
|
|
|
1
1
|
import katex from "katex"
|
|
2
|
-
import type
|
|
2
|
+
import { Marked, type MarkedExtension, type Tokens } from "marked"
|
|
3
3
|
import markedShiki from "marked-shiki"
|
|
4
|
-
import { createMarkdownBase } from "./marked-base"
|
|
5
4
|
|
|
6
5
|
export function createMarkdownParser(highlight: (code: string, language: string) => string | Promise<string>) {
|
|
7
|
-
return
|
|
6
|
+
return new Marked(
|
|
7
|
+
{
|
|
8
|
+
renderer: {
|
|
9
|
+
link({ href, title, text }) {
|
|
10
|
+
const titleAttr = title ? ` title="${title}"` : ""
|
|
11
|
+
return `<a href="${href}"${titleAttr} class="external-link" target="_blank" rel="noopener noreferrer">${text}</a>`
|
|
12
|
+
},
|
|
13
|
+
},
|
|
14
|
+
},
|
|
15
|
+
katexExtension,
|
|
16
|
+
markedShiki({ highlight }),
|
|
17
|
+
)
|
|
8
18
|
}
|
|
9
19
|
|
|
10
20
|
const inlineMathRegex = /^\\\(((?:\\.|[^\\\n])*?)\\\)/
|
|
@@ -186,26 +186,6 @@ export function createAutoScroll(options: AutoScrollOptions) {
|
|
|
186
186
|
},
|
|
187
187
|
)
|
|
188
188
|
|
|
189
|
-
createEffect(() => {
|
|
190
|
-
const el = store.scrollRef
|
|
191
|
-
if (!el) return
|
|
192
|
-
const root = el.closest("main")
|
|
193
|
-
if (!root) return
|
|
194
|
-
let connected = el.isConnected
|
|
195
|
-
const contains = (node: Node) => node === el || (node instanceof Element && node.contains(el))
|
|
196
|
-
const observer = new MutationObserver((records) => {
|
|
197
|
-
records.forEach((record) => {
|
|
198
|
-
if ([...record.removedNodes].some(contains)) connected = false
|
|
199
|
-
if (!record.addedNodes.length || ![...record.addedNodes].some(contains)) return
|
|
200
|
-
const reattached = !connected
|
|
201
|
-
connected = true
|
|
202
|
-
if (reattached) scrollToBottom(false)
|
|
203
|
-
})
|
|
204
|
-
})
|
|
205
|
-
observer.observe(root, { childList: true })
|
|
206
|
-
onCleanup(() => observer.disconnect())
|
|
207
|
-
})
|
|
208
|
-
|
|
209
189
|
createEffect(
|
|
210
190
|
on(options.working, (working: boolean) => {
|
|
211
191
|
settling = false
|
package/src/i18n/am.ts
CHANGED
|
@@ -10,7 +10,7 @@ export const dict: Record<string, string> = {
|
|
|
10
10
|
"ui.sessionReview.change.added": "ተጨማሪ",
|
|
11
11
|
"ui.sessionReview.change.removed": "ተወግዷል",
|
|
12
12
|
"ui.sessionReview.change.modified": "የተሻሻለው",
|
|
13
|
-
"ui.sessionReview.image.loading": "በመጫን
|
|
13
|
+
"ui.sessionReview.image.loading": "በመጫን ላይ...",
|
|
14
14
|
"ui.sessionReview.image.placeholder": "ምስል",
|
|
15
15
|
"ui.sessionReview.largeDiff.title": "ለመሰራት በጣም ትልቅ ልዩነት",
|
|
16
16
|
"ui.sessionReview.largeDiff.meta": "ገደብ፡ {{limit}} መስመሮች ተለውጠዋል። የአሁኑ፡ {{current}} መስመሮች ተለውጠዋል።",
|
|
@@ -28,7 +28,7 @@ export const dict: Record<string, string> = {
|
|
|
28
28
|
"ui.sessionReviewV2.empty.noGit.title": "ምንም ክትትል የሚደረግባቸው ለውጦች የሉም",
|
|
29
29
|
"ui.sessionReviewV2.empty.noGit.description": "በዚህ ፕሮጀክት ላይ ለውጦችን ይከታተሉ፣ ይገምግሙ እና ይቀልብሱ",
|
|
30
30
|
"ui.sessionReviewV2.empty.noGit.action": "Git ማከማቻ ፍጠር",
|
|
31
|
-
"ui.sessionReviewV2.empty.noGit.actionLoading": "Git ማከማቻ በመፍጠር
|
|
31
|
+
"ui.sessionReviewV2.empty.noGit.actionLoading": "Git ማከማቻ በመፍጠር ላይ...",
|
|
32
32
|
"ui.sessionReviewV2.empty.changes.title": "አሁን ምንም ለውጥ የለም",
|
|
33
33
|
"ui.sessionReviewV2.empty.changes.description": "የፕሮጀክት ለውጦች እዚህ ይታያሉ",
|
|
34
34
|
"ui.sessionReview.openFile": "ክፍት ፋይል",
|
|
@@ -37,7 +37,7 @@ export const dict: Record<string, string> = {
|
|
|
37
37
|
"ui.fileMedia.kind.image": "ምስል",
|
|
38
38
|
"ui.fileMedia.kind.audio": "ድምጽ",
|
|
39
39
|
"ui.fileMedia.state.removed": "{{kind}}ፋይል ተወግዷል።",
|
|
40
|
-
"ui.fileMedia.state.loading": "በመጫን ላይ {{kind}}
|
|
40
|
+
"ui.fileMedia.state.loading": "በመጫን ላይ {{kind}}...",
|
|
41
41
|
"ui.fileMedia.state.error": "{{kind}}ን መጫን አልተቻለም።",
|
|
42
42
|
"ui.fileMedia.state.unavailable": "{{kind}} ቅድመ እይታ አይገኝም።",
|
|
43
43
|
"ui.fileMedia.binary.title": "ሁለትዮሽ ፋይል",
|
|
@@ -68,7 +68,7 @@ export const dict: Record<string, string> = {
|
|
|
68
68
|
"ui.sessionTurn.error.freeUsageExceeded": "ነፃ አጠቃቀም ታልፏል",
|
|
69
69
|
"ui.sessionTurn.error.addCredits": "ክሬዲት አክል",
|
|
70
70
|
"dialog.usageExceeded.freeTier.title": "ነፃ ገደብ ላይ ደርሷል",
|
|
71
|
-
"dialog.usageExceeded.freeTier.description": "
|
|
71
|
+
"dialog.usageExceeded.freeTier.description": "ለምርጥ ክፍት ምንጭ ሞዴሎች ታማኝ መዳረሻ ለማግኘት በወር $10 ለOpenCode Go ይመዝገቡ።",
|
|
72
72
|
"dialog.usageExceeded.freeTier.actionLabel": "ለደንበኝነት ይመዝገቡ",
|
|
73
73
|
"dialog.usageExceeded.accountRateLimit.title": "የሂድ ገደብ ላይ ደርሷል",
|
|
74
74
|
"dialog.usageExceeded.accountRateLimit.description":
|
|
@@ -114,8 +114,8 @@ export const dict: Record<string, string> = {
|
|
|
114
114
|
"ui.promptInput.dropFiles": "ለማያያዝ ፋይሎችን ጣል",
|
|
115
115
|
"ui.promptInput.removeAttachment": "ዓባሪን አስወግድ",
|
|
116
116
|
"ui.promptInput.label": "ፕሮምፕት",
|
|
117
|
-
"ui.promptInput.placeholder.shell": "የሼል ትዕዛዝ
|
|
118
|
-
"ui.promptInput.placeholder.normal": "ማንኛውንም ነገር ይጠይቁ፣ {{slash}} ለትእዛዞች፣ {{at}}
|
|
117
|
+
"ui.promptInput.placeholder.shell": "የሼል ትዕዛዝ አስገባ...",
|
|
118
|
+
"ui.promptInput.placeholder.normal": "ማንኛውንም ነገር ይጠይቁ፣ {{slash}} ለትእዛዞች፣ {{at}} ለአውድ...",
|
|
119
119
|
"ui.promptInput.add": "ምስሎችን እና ፋይሎችን አክል",
|
|
120
120
|
"ui.promptInput.attachments": "ምስሎች እና ፋይሎች",
|
|
121
121
|
"ui.promptInput.context": "አውድ",
|
|
@@ -142,6 +142,8 @@ export const dict: Record<string, string> = {
|
|
|
142
142
|
"ui.tool.websearch.provider": "{{provider}}ድር ፍለጋ",
|
|
143
143
|
"ui.tool.shell": "ሼል",
|
|
144
144
|
"ui.tool.patch": "Patch",
|
|
145
|
+
"ui.tool.todos": "የሚደረጉ ነገሮች",
|
|
146
|
+
"ui.tool.todos.read": "ወደ-ድርጊት አንብብ",
|
|
145
147
|
"ui.tool.questions": "ጥያቄዎች",
|
|
146
148
|
"ui.tool.questions.numbered": "ጥያቄዎች {{number}}",
|
|
147
149
|
"ui.tool.agent": "{{type}} ወኪል",
|
|
@@ -190,5 +192,5 @@ export const dict: Record<string, string> = {
|
|
|
190
192
|
"ui.question.review.notAnswered": "(አልተመለሰም)",
|
|
191
193
|
"ui.question.multiHint": "የሚመለከተውን ሁሉንም መልሶች ይምረጡ",
|
|
192
194
|
"ui.question.singleHint": "አንድ መልስ ምረጥ",
|
|
193
|
-
"ui.question.custom.placeholder": "መልስዎን
|
|
195
|
+
"ui.question.custom.placeholder": "መልስዎን ይተይቡ...",
|
|
194
196
|
}
|
package/src/i18n/ar.ts
CHANGED
|
@@ -13,7 +13,7 @@ export const dict = {
|
|
|
13
13
|
"ui.sessionReview.change.added": "مضاف",
|
|
14
14
|
"ui.sessionReview.change.removed": "محذوف",
|
|
15
15
|
"ui.sessionReview.change.modified": "معدل",
|
|
16
|
-
"ui.sessionReview.image.loading": "جارٍ
|
|
16
|
+
"ui.sessionReview.image.loading": "جارٍ التحميل...",
|
|
17
17
|
"ui.sessionReview.image.placeholder": "صورة",
|
|
18
18
|
"ui.sessionReview.largeDiff.title": "الفروقات أكبر من أن تُعرض",
|
|
19
19
|
"ui.sessionReview.largeDiff.meta": "الحد: {{limit}} سطرًا معدّلًا. حاليًا: {{current}} سطرًا معدّلًا.",
|
|
@@ -31,13 +31,13 @@ export const dict = {
|
|
|
31
31
|
"ui.sessionReviewV2.empty.noGit.title": "لا توجد تغييرات متتبعة",
|
|
32
32
|
"ui.sessionReviewV2.empty.noGit.description": "تتبع التغييرات في هذا المشروع وراجعها وتراجع عنها",
|
|
33
33
|
"ui.sessionReviewV2.empty.noGit.action": "إنشاء مستودع Git",
|
|
34
|
-
"ui.sessionReviewV2.empty.noGit.actionLoading": "جارٍ إنشاء مستودع Git
|
|
34
|
+
"ui.sessionReviewV2.empty.noGit.actionLoading": "جارٍ إنشاء مستودع Git...",
|
|
35
35
|
"ui.sessionReviewV2.empty.changes.title": "لا توجد تغييرات في الملفات بعد",
|
|
36
36
|
"ui.sessionReviewV2.empty.changes.description": "ستظهر تغييرات المشروع هنا",
|
|
37
37
|
"ui.fileMedia.kind.image": "صورة",
|
|
38
38
|
"ui.fileMedia.kind.audio": "صوت",
|
|
39
39
|
"ui.fileMedia.state.removed": "تمت إزالة {{kind}}",
|
|
40
|
-
"ui.fileMedia.state.loading": "جارٍ تحميل {{kind}}
|
|
40
|
+
"ui.fileMedia.state.loading": "جارٍ تحميل {{kind}}...",
|
|
41
41
|
"ui.fileMedia.state.error": "تعذر تحميل {{kind}}.",
|
|
42
42
|
"ui.fileMedia.state.unavailable": "معاينة {{kind}} غير متاحة.",
|
|
43
43
|
"ui.fileMedia.binary.title": "ملف ثنائي",
|
|
@@ -77,7 +77,7 @@ export const dict = {
|
|
|
77
77
|
|
|
78
78
|
"dialog.usageExceeded.freeTier.title": "تم الوصول إلى الحد المجاني",
|
|
79
79
|
"dialog.usageExceeded.freeTier.description":
|
|
80
|
-
"اشترك في OpenCode Go للحصول على وصول موثوق إلى أفضل النماذج مفتوحة
|
|
80
|
+
"اشترك في OpenCode Go مقابل $10/شهر للحصول على وصول موثوق إلى أفضل النماذج مفتوحة المصدر.",
|
|
81
81
|
"dialog.usageExceeded.freeTier.actionLabel": "اشترك",
|
|
82
82
|
"dialog.usageExceeded.accountRateLimit.title": "تم الوصول إلى حد Go",
|
|
83
83
|
"dialog.usageExceeded.accountRateLimit.description":
|
|
@@ -136,8 +136,8 @@ export const dict = {
|
|
|
136
136
|
"ui.promptInput.dropFiles": "أفلت الملفات لإرفاقها",
|
|
137
137
|
"ui.promptInput.removeAttachment": "إزالة المرفق",
|
|
138
138
|
"ui.promptInput.label": "الموجّه",
|
|
139
|
-
"ui.promptInput.placeholder.shell": "أدخل أمر shell
|
|
140
|
-
"ui.promptInput.placeholder.normal": "اسأل عن أي شيء، {{slash}} للأوامر، {{at}}
|
|
139
|
+
"ui.promptInput.placeholder.shell": "أدخل أمر shell...",
|
|
140
|
+
"ui.promptInput.placeholder.normal": "اسأل عن أي شيء، {{slash}} للأوامر، {{at}} للسياق...",
|
|
141
141
|
"ui.promptInput.add": "إضافة صور وملفات",
|
|
142
142
|
"ui.promptInput.attachments": "الصور والملفات",
|
|
143
143
|
"ui.promptInput.context": "السياق",
|
|
@@ -167,6 +167,8 @@ export const dict = {
|
|
|
167
167
|
"ui.tool.websearch.provider": "{{provider}} بحث الويب",
|
|
168
168
|
"ui.tool.shell": "Shell",
|
|
169
169
|
"ui.tool.patch": "تطبيق رقعة",
|
|
170
|
+
"ui.tool.todos": "المهام",
|
|
171
|
+
"ui.tool.todos.read": "قراءة المهام",
|
|
170
172
|
"ui.tool.questions": "أسئلة",
|
|
171
173
|
"ui.tool.questions.numbered": "أسئلة {{number}}",
|
|
172
174
|
"ui.tool.agent": "وكيل {{type}}",
|
|
@@ -215,7 +217,7 @@ export const dict = {
|
|
|
215
217
|
"ui.question.review.notAnswered": "(لم تتم الإجابة)",
|
|
216
218
|
"ui.question.multiHint": "حدد كل ما ينطبق",
|
|
217
219
|
"ui.question.singleHint": "حدد إجابة واحدة",
|
|
218
|
-
"ui.question.custom.placeholder": "اكتب
|
|
220
|
+
"ui.question.custom.placeholder": "اكتب إجابتك...",
|
|
219
221
|
|
|
220
222
|
"ui.fileSearch.placeholder": "بحث",
|
|
221
223
|
"ui.fileSearch.previousMatch": "المطابقة السابقة",
|
package/src/i18n/az.ts
CHANGED
|
@@ -10,7 +10,7 @@ export const dict: Record<string, string> = {
|
|
|
10
10
|
"ui.sessionReview.change.added": "Əlavə edildi",
|
|
11
11
|
"ui.sessionReview.change.removed": "Silindi",
|
|
12
12
|
"ui.sessionReview.change.modified": "Dəyişdirildi",
|
|
13
|
-
"ui.sessionReview.image.loading": "Yüklənir
|
|
13
|
+
"ui.sessionReview.image.loading": "Yüklənir...",
|
|
14
14
|
"ui.sessionReview.image.placeholder": "Şəkil",
|
|
15
15
|
"ui.sessionReview.largeDiff.title": "Fərq göstərmək üçün çox böyükdür",
|
|
16
16
|
"ui.sessionReview.largeDiff.meta": "Limit: {{limit}} dəyişmiş sətir. Cari: {{current}} dəyişmiş sətir.",
|
|
@@ -28,7 +28,7 @@ export const dict: Record<string, string> = {
|
|
|
28
28
|
"ui.sessionReviewV2.empty.noGit.title": "İzlənən dəyişiklik yoxdur",
|
|
29
29
|
"ui.sessionReviewV2.empty.noGit.description": "Bu layihədə dəyişiklikləri izləyin, nəzərdən keçirin və ləğv edin",
|
|
30
30
|
"ui.sessionReviewV2.empty.noGit.action": "Git repozitoriyası yarat",
|
|
31
|
-
"ui.sessionReviewV2.empty.noGit.actionLoading": "Git repozitoriyası yaradılır
|
|
31
|
+
"ui.sessionReviewV2.empty.noGit.actionLoading": "Git repozitoriyası yaradılır...",
|
|
32
32
|
"ui.sessionReviewV2.empty.changes.title": "Hələ heç bir fayl dəyişikliyi yoxdur",
|
|
33
33
|
"ui.sessionReviewV2.empty.changes.description": "Layihə dəyişiklikləri burada görünəcək",
|
|
34
34
|
"ui.sessionReview.openFile": "Faylı aç",
|
|
@@ -37,7 +37,7 @@ export const dict: Record<string, string> = {
|
|
|
37
37
|
"ui.fileMedia.kind.image": "şəkil",
|
|
38
38
|
"ui.fileMedia.kind.audio": "səs",
|
|
39
39
|
"ui.fileMedia.state.removed": "{{kind}} faylı silindi.",
|
|
40
|
-
"ui.fileMedia.state.loading": "{{kind}} yüklənir
|
|
40
|
+
"ui.fileMedia.state.loading": "{{kind}} yüklənir...",
|
|
41
41
|
"ui.fileMedia.state.error": "{{kind}} yüklənə bilmədi.",
|
|
42
42
|
"ui.fileMedia.state.unavailable": "{{kind}} önbaxışı mövcud deyil.",
|
|
43
43
|
"ui.fileMedia.binary.title": "İkili fayl",
|
|
@@ -69,7 +69,7 @@ export const dict: Record<string, string> = {
|
|
|
69
69
|
"ui.sessionTurn.error.addCredits": "Kredit əlavə et",
|
|
70
70
|
"dialog.usageExceeded.freeTier.title": "Pulsuz limitə çatdınız",
|
|
71
71
|
"dialog.usageExceeded.freeTier.description":
|
|
72
|
-
"Ayda $
|
|
72
|
+
"Ayda $10 olan OpenCode Go abunəliyi ilə ən yaxşı açıq mənbəli modellərə etibarlı giriş əldə edin.",
|
|
73
73
|
"dialog.usageExceeded.freeTier.actionLabel": "Abunə ol",
|
|
74
74
|
"dialog.usageExceeded.accountRateLimit.title": "Go limitinə çatdınız",
|
|
75
75
|
"dialog.usageExceeded.accountRateLimit.description":
|
|
@@ -115,8 +115,8 @@ export const dict: Record<string, string> = {
|
|
|
115
115
|
"ui.promptInput.dropFiles": "Əlavə etmək üçün faylları buraxın",
|
|
116
116
|
"ui.promptInput.removeAttachment": "Əlavəni sil",
|
|
117
117
|
"ui.promptInput.label": "Prompt",
|
|
118
|
-
"ui.promptInput.placeholder.shell": "Shell əmrini daxil edin
|
|
119
|
-
"ui.promptInput.placeholder.normal": "İstədiyinizi soruşun, {{slash}} əmrlər üçün, {{at}} kontekst üçün
|
|
118
|
+
"ui.promptInput.placeholder.shell": "Shell əmrini daxil edin...",
|
|
119
|
+
"ui.promptInput.placeholder.normal": "İstədiyinizi soruşun, {{slash}} əmrlər üçün, {{at}} kontekst üçün...",
|
|
120
120
|
"ui.promptInput.add": "Şəkil və fayllar əlavə edin",
|
|
121
121
|
"ui.promptInput.attachments": "Şəkillər və fayllar",
|
|
122
122
|
"ui.promptInput.context": "Kontekst",
|
|
@@ -143,6 +143,8 @@ export const dict: Record<string, string> = {
|
|
|
143
143
|
"ui.tool.websearch.provider": "{{provider}} Veb axtarışı",
|
|
144
144
|
"ui.tool.shell": "Shell",
|
|
145
145
|
"ui.tool.patch": "Patch",
|
|
146
|
+
"ui.tool.todos": "Tapşırıqlar",
|
|
147
|
+
"ui.tool.todos.read": "Tapşırıqları oxu",
|
|
146
148
|
"ui.tool.questions": "Suallar",
|
|
147
149
|
"ui.tool.questions.numbered": "Suallar {{number}}",
|
|
148
150
|
"ui.tool.agent": "{{type}} Agent",
|
|
@@ -191,5 +193,5 @@ export const dict: Record<string, string> = {
|
|
|
191
193
|
"ui.question.review.notAnswered": "(cavablanmayıb)",
|
|
192
194
|
"ui.question.multiHint": "Uyğun gələn bütün cavabları seçin",
|
|
193
195
|
"ui.question.singleHint": "Bir cavab seçin",
|
|
194
|
-
"ui.question.custom.placeholder": "Cavabınızı yazın
|
|
196
|
+
"ui.question.custom.placeholder": "Cavabınızı yazın...",
|
|
195
197
|
}
|
package/src/i18n/bg.ts
CHANGED
|
@@ -10,7 +10,7 @@ export const dict = {
|
|
|
10
10
|
"ui.sessionReview.change.added": "Добавено",
|
|
11
11
|
"ui.sessionReview.change.removed": "Премахнато",
|
|
12
12
|
"ui.sessionReview.change.modified": "Променен",
|
|
13
|
-
"ui.sessionReview.image.loading": "
|
|
13
|
+
"ui.sessionReview.image.loading": "Зареждане...",
|
|
14
14
|
"ui.sessionReview.image.placeholder": "Изображение",
|
|
15
15
|
"ui.sessionReview.largeDiff.title": "Разликата е твърде голяма за изобразяване",
|
|
16
16
|
"ui.sessionReview.largeDiff.meta": "Ограничение: {{limit}} променени редове. Текущи: {{current}} променени редове.",
|
|
@@ -28,7 +28,7 @@ export const dict = {
|
|
|
28
28
|
"ui.sessionReviewV2.empty.noGit.title": "Няма проследени промени",
|
|
29
29
|
"ui.sessionReviewV2.empty.noGit.description": "Проследявайте, преглеждайте и отменяйте промените в този проект",
|
|
30
30
|
"ui.sessionReviewV2.empty.noGit.action": "Създайте Git хранилище",
|
|
31
|
-
"ui.sessionReviewV2.empty.noGit.actionLoading": "Създаване на Git
|
|
31
|
+
"ui.sessionReviewV2.empty.noGit.actionLoading": "Създаване на Git хранилище...",
|
|
32
32
|
"ui.sessionReviewV2.empty.changes.title": "Все още няма промени във файла",
|
|
33
33
|
"ui.sessionReviewV2.empty.changes.description": "Промените в проекта ще се появят тук",
|
|
34
34
|
"ui.sessionReview.openFile": "Отворете файла",
|
|
@@ -37,7 +37,7 @@ export const dict = {
|
|
|
37
37
|
"ui.fileMedia.kind.image": "изображение",
|
|
38
38
|
"ui.fileMedia.kind.audio": "аудио",
|
|
39
39
|
"ui.fileMedia.state.removed": "Премахнат {{kind}} файл.",
|
|
40
|
-
"ui.fileMedia.state.loading": "Зарежда се {{kind}}
|
|
40
|
+
"ui.fileMedia.state.loading": "Зарежда се {{kind}}...",
|
|
41
41
|
"ui.fileMedia.state.error": "Не може да се зареди {{kind}}.",
|
|
42
42
|
"ui.fileMedia.state.unavailable": "{{kind}} предварителен преглед не е наличен.",
|
|
43
43
|
"ui.fileMedia.binary.title": "Двоичен файл",
|
|
@@ -69,7 +69,7 @@ export const dict = {
|
|
|
69
69
|
"ui.sessionTurn.error.addCredits": "Добавете кредити",
|
|
70
70
|
"dialog.usageExceeded.freeTier.title": "Безплатният лимит е достигнат",
|
|
71
71
|
"dialog.usageExceeded.freeTier.description":
|
|
72
|
-
"Абонирайте се за OpenCode Go за надежден достъп до най-добрите модели с отворен
|
|
72
|
+
"Абонирайте се за OpenCode Go за надежден достъп до най-добрите модели с отворен код за $10/месец.",
|
|
73
73
|
"dialog.usageExceeded.freeTier.actionLabel": "Абонирайте се",
|
|
74
74
|
"dialog.usageExceeded.accountRateLimit.title": "Лимитът за движение е достигнат",
|
|
75
75
|
"dialog.usageExceeded.accountRateLimit.description":
|
|
@@ -115,8 +115,8 @@ export const dict = {
|
|
|
115
115
|
"ui.promptInput.dropFiles": "Пуснете файлове за прикачване",
|
|
116
116
|
"ui.promptInput.removeAttachment": "Премахване на прикачения файл",
|
|
117
117
|
"ui.promptInput.label": "подкана",
|
|
118
|
-
"ui.promptInput.placeholder.shell": "Въведете команда shell
|
|
119
|
-
"ui.promptInput.placeholder.normal": "Попитайте каквото и да е, {{slash}} за команди, {{at}} за
|
|
118
|
+
"ui.promptInput.placeholder.shell": "Въведете команда shell...",
|
|
119
|
+
"ui.promptInput.placeholder.normal": "Попитайте каквото и да е, {{slash}} за команди, {{at}} за контекст...",
|
|
120
120
|
"ui.promptInput.add": "Добавете изображения и файлове",
|
|
121
121
|
"ui.promptInput.attachments": "Изображения и файлове",
|
|
122
122
|
"ui.promptInput.context": "Контекст",
|
|
@@ -143,6 +143,8 @@ export const dict = {
|
|
|
143
143
|
"ui.tool.websearch.provider": "{{provider}} Търсене в мрежата",
|
|
144
144
|
"ui.tool.shell": "Shell",
|
|
145
145
|
"ui.tool.patch": "Patch",
|
|
146
|
+
"ui.tool.todos": "Задачи",
|
|
147
|
+
"ui.tool.todos.read": "Прочетете задачи",
|
|
146
148
|
"ui.tool.questions": "Въпроси",
|
|
147
149
|
"ui.tool.questions.numbered": "Въпроси {{number}}",
|
|
148
150
|
"ui.tool.agent": "{{type}} Агент",
|
|
@@ -191,5 +193,5 @@ export const dict = {
|
|
|
191
193
|
"ui.question.review.notAnswered": "(без отговор)",
|
|
192
194
|
"ui.question.multiHint": "Изберете всички приложими отговори",
|
|
193
195
|
"ui.question.singleHint": "Изберете един отговор",
|
|
194
|
-
"ui.question.custom.placeholder": "Въведете вашия
|
|
196
|
+
"ui.question.custom.placeholder": "Въведете вашия отговор...",
|
|
195
197
|
}
|
package/src/i18n/bn.ts
CHANGED
|
@@ -10,7 +10,7 @@ export const dict: Record<string, string> = {
|
|
|
10
10
|
"ui.sessionReview.change.added": "যোগ করা হয়েছে",
|
|
11
11
|
"ui.sessionReview.change.removed": "সরানো হয়েছে",
|
|
12
12
|
"ui.sessionReview.change.modified": "পরিবর্তিত",
|
|
13
|
-
"ui.sessionReview.image.loading": "লোড
|
|
13
|
+
"ui.sessionReview.image.loading": "লোড হচ্ছে...",
|
|
14
14
|
"ui.sessionReview.image.placeholder": "ছবি",
|
|
15
15
|
"ui.sessionReview.largeDiff.title": "রেন্ডার করার জন্য পার্থক্য খুব বড়",
|
|
16
16
|
"ui.sessionReview.largeDiff.meta":
|
|
@@ -30,7 +30,7 @@ export const dict: Record<string, string> = {
|
|
|
30
30
|
"ui.sessionReviewV2.empty.noGit.description":
|
|
31
31
|
"এই প্রকল্পের পরিবর্তনগুলি ট্র্যাক করুন, পর্যালোচনা করুন এবং পূর্বাবস্থায় ফেরান৷",
|
|
32
32
|
"ui.sessionReviewV2.empty.noGit.action": "Git সংগ্রহস্থল তৈরি করুন",
|
|
33
|
-
"ui.sessionReviewV2.empty.noGit.actionLoading": "Git সংগ্রহস্থল তৈরি করা
|
|
33
|
+
"ui.sessionReviewV2.empty.noGit.actionLoading": "Git সংগ্রহস্থল তৈরি করা হচ্ছে...",
|
|
34
34
|
"ui.sessionReviewV2.empty.changes.title": "এখনো কোনো ফাইল পরিবর্তন করা হয়নি",
|
|
35
35
|
"ui.sessionReviewV2.empty.changes.description": "প্রকল্প পরিবর্তন এখানে প্রদর্শিত হবে",
|
|
36
36
|
"ui.sessionReview.openFile": "ফাইল খুলুন",
|
|
@@ -39,7 +39,7 @@ export const dict: Record<string, string> = {
|
|
|
39
39
|
"ui.fileMedia.kind.image": "ইমেজ",
|
|
40
40
|
"ui.fileMedia.kind.audio": "অডিও",
|
|
41
41
|
"ui.fileMedia.state.removed": "{{kind}} ফাইল সরানো হয়েছে।",
|
|
42
|
-
"ui.fileMedia.state.loading": "{{kind}} লোড
|
|
42
|
+
"ui.fileMedia.state.loading": "{{kind}} লোড হচ্ছে...",
|
|
43
43
|
"ui.fileMedia.state.error": "{{kind}} লোড করতে অক্ষম৷",
|
|
44
44
|
"ui.fileMedia.state.unavailable": "{{kind}} পূর্বরূপ অনুপলব্ধ৷",
|
|
45
45
|
"ui.fileMedia.binary.title": "বাইনারি ফাইল",
|
|
@@ -71,7 +71,7 @@ export const dict: Record<string, string> = {
|
|
|
71
71
|
"ui.sessionTurn.error.addCredits": "ক্রেডিট যোগ করুন",
|
|
72
72
|
"dialog.usageExceeded.freeTier.title": "বিনামূল্যের সীমা পৌঁছেছে",
|
|
73
73
|
"dialog.usageExceeded.freeTier.description":
|
|
74
|
-
"
|
|
74
|
+
"সেরা ওপেন-সোর্স মডেলগুলিতে নির্ভরযোগ্য অ্যাক্সেসের জন্য $10/মাসে OpenCode Go-তে সদস্যতা নিন৷",
|
|
75
75
|
"dialog.usageExceeded.freeTier.actionLabel": "সদস্যতা",
|
|
76
76
|
"dialog.usageExceeded.accountRateLimit.title": "যাওয়ার সীমা পৌঁছে গেছে",
|
|
77
77
|
"dialog.usageExceeded.accountRateLimit.description":
|
|
@@ -117,8 +117,8 @@ export const dict: Record<string, string> = {
|
|
|
117
117
|
"ui.promptInput.dropFiles": "সংযুক্ত করতে ফাইল ড্রপ করুন",
|
|
118
118
|
"ui.promptInput.removeAttachment": "সংযুক্তি সরান",
|
|
119
119
|
"ui.promptInput.label": "প্রম্পট",
|
|
120
|
-
"ui.promptInput.placeholder.shell": "শেল কমান্ড
|
|
121
|
-
"ui.promptInput.placeholder.normal": "কিছু জিজ্ঞাসা করুন, {{slash}} কমান্ডের জন্য, {{at}}
|
|
120
|
+
"ui.promptInput.placeholder.shell": "শেল কমান্ড লিখুন...",
|
|
121
|
+
"ui.promptInput.placeholder.normal": "কিছু জিজ্ঞাসা করুন, {{slash}} কমান্ডের জন্য, {{at}} প্রসঙ্গে...",
|
|
122
122
|
"ui.promptInput.add": "ছবি এবং ফাইল যোগ করুন",
|
|
123
123
|
"ui.promptInput.attachments": "ছবি এবং ফাইল",
|
|
124
124
|
"ui.promptInput.context": "প্রসঙ্গ",
|
|
@@ -145,6 +145,8 @@ export const dict: Record<string, string> = {
|
|
|
145
145
|
"ui.tool.websearch.provider": "{{provider}} Web Search",
|
|
146
146
|
"ui.tool.shell": "শেল",
|
|
147
147
|
"ui.tool.patch": "প্যাচ",
|
|
148
|
+
"ui.tool.todos": "করণীয়",
|
|
149
|
+
"ui.tool.todos.read": "করণীয় পড়ুন",
|
|
148
150
|
"ui.tool.questions": "প্রশ্ন",
|
|
149
151
|
"ui.tool.questions.numbered": "প্রশ্ন {{number}}",
|
|
150
152
|
"ui.tool.agent": "{{type}} এজেন্ট",
|
|
@@ -193,5 +195,5 @@ export const dict: Record<string, string> = {
|
|
|
193
195
|
"ui.question.review.notAnswered": "(উত্তর দেওয়া হয়নি)",
|
|
194
196
|
"ui.question.multiHint": "প্রযোজ্য সমস্ত উত্তর নির্বাচন করুন",
|
|
195
197
|
"ui.question.singleHint": "একটি উত্তর নির্বাচন করুন",
|
|
196
|
-
"ui.question.custom.placeholder": "আপনার উত্তর টাইপ
|
|
198
|
+
"ui.question.custom.placeholder": "আপনার উত্তর টাইপ করুন...",
|
|
197
199
|
}
|
package/src/i18n/br.ts
CHANGED
|
@@ -13,7 +13,7 @@ export const dict = {
|
|
|
13
13
|
"ui.sessionReview.change.added": "Adicionado",
|
|
14
14
|
"ui.sessionReview.change.removed": "Removido",
|
|
15
15
|
"ui.sessionReview.change.modified": "Modificado",
|
|
16
|
-
"ui.sessionReview.image.loading": "Carregando
|
|
16
|
+
"ui.sessionReview.image.loading": "Carregando...",
|
|
17
17
|
"ui.sessionReview.image.placeholder": "Imagem",
|
|
18
18
|
"ui.sessionReview.largeDiff.title": "Diff grande demais para renderizar",
|
|
19
19
|
"ui.sessionReview.largeDiff.meta": "Limite: {{limit}} linhas alteradas. Atual: {{current}} linhas alteradas.",
|
|
@@ -31,13 +31,13 @@ export const dict = {
|
|
|
31
31
|
"ui.sessionReviewV2.empty.noGit.title": "Nenhuma alteração rastreada",
|
|
32
32
|
"ui.sessionReviewV2.empty.noGit.description": "Rastreie, revise e desfaça alterações neste projeto",
|
|
33
33
|
"ui.sessionReviewV2.empty.noGit.action": "Criar repositório Git",
|
|
34
|
-
"ui.sessionReviewV2.empty.noGit.actionLoading": "Criando repositório Git
|
|
34
|
+
"ui.sessionReviewV2.empty.noGit.actionLoading": "Criando repositório Git...",
|
|
35
35
|
"ui.sessionReviewV2.empty.changes.title": "Nenhuma alteração em arquivos ainda",
|
|
36
36
|
"ui.sessionReviewV2.empty.changes.description": "As alterações do projeto aparecerão aqui",
|
|
37
37
|
"ui.fileMedia.kind.image": "imagem",
|
|
38
38
|
"ui.fileMedia.kind.audio": "áudio",
|
|
39
39
|
"ui.fileMedia.state.removed": "Arquivo de {{kind}} removido.",
|
|
40
|
-
"ui.fileMedia.state.loading": "Carregando {{kind}}
|
|
40
|
+
"ui.fileMedia.state.loading": "Carregando {{kind}}...",
|
|
41
41
|
"ui.fileMedia.state.error": "Não foi possível carregar {{kind}}.",
|
|
42
42
|
"ui.fileMedia.state.unavailable": "Pré-visualização de {{kind}} indisponível.",
|
|
43
43
|
"ui.fileMedia.binary.title": "Arquivo binário",
|
|
@@ -74,7 +74,7 @@ export const dict = {
|
|
|
74
74
|
|
|
75
75
|
"dialog.usageExceeded.freeTier.title": "Limite gratuito atingido",
|
|
76
76
|
"dialog.usageExceeded.freeTier.description":
|
|
77
|
-
"Assine o OpenCode Go para ter acesso confiável aos melhores modelos de código aberto
|
|
77
|
+
"Assine o OpenCode Go por $10/mês para ter acesso confiável aos melhores modelos de código aberto.",
|
|
78
78
|
"dialog.usageExceeded.freeTier.actionLabel": "Assinar",
|
|
79
79
|
"dialog.usageExceeded.accountRateLimit.title": "Limite do Go atingido",
|
|
80
80
|
"dialog.usageExceeded.accountRateLimit.description":
|
|
@@ -124,8 +124,8 @@ export const dict = {
|
|
|
124
124
|
"ui.promptInput.dropFiles": "Solte os arquivos para anexá-los",
|
|
125
125
|
"ui.promptInput.removeAttachment": "Remover anexo",
|
|
126
126
|
"ui.promptInput.label": "Prompt",
|
|
127
|
-
"ui.promptInput.placeholder.shell": "Digite um comando do shell
|
|
128
|
-
"ui.promptInput.placeholder.normal": "Pergunte qualquer coisa, {{slash}} para comandos, {{at}} para contexto
|
|
127
|
+
"ui.promptInput.placeholder.shell": "Digite um comando do shell...",
|
|
128
|
+
"ui.promptInput.placeholder.normal": "Pergunte qualquer coisa, {{slash}} para comandos, {{at}} para contexto...",
|
|
129
129
|
"ui.promptInput.add": "Adicionar imagens e arquivos",
|
|
130
130
|
"ui.promptInput.attachments": "Imagens e arquivos",
|
|
131
131
|
"ui.promptInput.context": "Contexto",
|
|
@@ -155,6 +155,8 @@ export const dict = {
|
|
|
155
155
|
"ui.tool.websearch.provider": "{{provider}} Pesquisa na web",
|
|
156
156
|
"ui.tool.shell": "Shell",
|
|
157
157
|
"ui.tool.patch": "Patch",
|
|
158
|
+
"ui.tool.todos": "Tarefas",
|
|
159
|
+
"ui.tool.todos.read": "Ler tarefas",
|
|
158
160
|
"ui.tool.questions": "Perguntas",
|
|
159
161
|
"ui.tool.questions.numbered": "Perguntas {{number}}",
|
|
160
162
|
"ui.tool.agent": "Agente {{type}}",
|
|
@@ -203,7 +205,7 @@ export const dict = {
|
|
|
203
205
|
"ui.question.review.notAnswered": "(não respondida)",
|
|
204
206
|
"ui.question.multiHint": "Selecione todas que se aplicam",
|
|
205
207
|
"ui.question.singleHint": "Selecione uma resposta",
|
|
206
|
-
"ui.question.custom.placeholder": "Digite sua resposta
|
|
208
|
+
"ui.question.custom.placeholder": "Digite sua resposta...",
|
|
207
209
|
|
|
208
210
|
"ui.fileSearch.placeholder": "Localizar",
|
|
209
211
|
"ui.fileSearch.previousMatch": "Ocorrência anterior",
|
package/src/i18n/bs.ts
CHANGED
|
@@ -17,7 +17,7 @@ export const dict = {
|
|
|
17
17
|
"ui.sessionReview.change.added": "Dodano",
|
|
18
18
|
"ui.sessionReview.change.removed": "Uklonjeno",
|
|
19
19
|
"ui.sessionReview.change.modified": "Izmijenjeno",
|
|
20
|
-
"ui.sessionReview.image.loading": "Učitavanje
|
|
20
|
+
"ui.sessionReview.image.loading": "Učitavanje...",
|
|
21
21
|
"ui.sessionReview.image.placeholder": "Slika",
|
|
22
22
|
"ui.sessionReview.largeDiff.title": "Diff je prevelik za prikaz",
|
|
23
23
|
"ui.sessionReview.largeDiff.meta": "Limit: {{limit}} izmijenjenih linija. Trenutno: {{current}} izmijenjenih linija.",
|
|
@@ -35,13 +35,13 @@ export const dict = {
|
|
|
35
35
|
"ui.sessionReviewV2.empty.noGit.title": "Nema praćenih promjena",
|
|
36
36
|
"ui.sessionReviewV2.empty.noGit.description": "Prati, pregledaj i poništi promjene u ovom projektu",
|
|
37
37
|
"ui.sessionReviewV2.empty.noGit.action": "Kreiraj Git repozitorij",
|
|
38
|
-
"ui.sessionReviewV2.empty.noGit.actionLoading": "Kreiranje Git repozitorija
|
|
38
|
+
"ui.sessionReviewV2.empty.noGit.actionLoading": "Kreiranje Git repozitorija...",
|
|
39
39
|
"ui.sessionReviewV2.empty.changes.title": "Još nema izmjena u datotekama",
|
|
40
40
|
"ui.sessionReviewV2.empty.changes.description": "Promjene projekta će se prikazati ovdje",
|
|
41
41
|
"ui.fileMedia.kind.image": "slika",
|
|
42
42
|
"ui.fileMedia.kind.audio": "audio",
|
|
43
43
|
"ui.fileMedia.state.removed": "Uklonjena datoteka vrste {{kind}}.",
|
|
44
|
-
"ui.fileMedia.state.loading": "Učitavanje datoteke vrste {{kind}}
|
|
44
|
+
"ui.fileMedia.state.loading": "Učitavanje datoteke vrste {{kind}}...",
|
|
45
45
|
"ui.fileMedia.state.error": "Nije moguće učitati datoteku vrste {{kind}}.",
|
|
46
46
|
"ui.fileMedia.state.unavailable": "Pregled datoteke vrste {{kind}} nije dostupan.",
|
|
47
47
|
"ui.fileMedia.binary.title": "Binarna datoteka",
|
|
@@ -78,7 +78,7 @@ export const dict = {
|
|
|
78
78
|
|
|
79
79
|
"dialog.usageExceeded.freeTier.title": "Dostignut besplatan limit",
|
|
80
80
|
"dialog.usageExceeded.freeTier.description":
|
|
81
|
-
"Pretplati se na OpenCode Go za pouzdan pristup najboljim modelima otvorenog koda
|
|
81
|
+
"Pretplati se na OpenCode Go za $10/mjesec i ostvari pouzdan pristup najboljim modelima otvorenog koda.",
|
|
82
82
|
"dialog.usageExceeded.freeTier.actionLabel": "Pretplati se",
|
|
83
83
|
"dialog.usageExceeded.accountRateLimit.title": "Dostignut Go limit",
|
|
84
84
|
"dialog.usageExceeded.accountRateLimit.description":
|
|
@@ -128,8 +128,8 @@ export const dict = {
|
|
|
128
128
|
"ui.promptInput.dropFiles": "Ispusti datoteke da ih priložiš",
|
|
129
129
|
"ui.promptInput.removeAttachment": "Ukloni prilog",
|
|
130
130
|
"ui.promptInput.label": "Upit",
|
|
131
|
-
"ui.promptInput.placeholder.shell": "Unesi shell komandu
|
|
132
|
-
"ui.promptInput.placeholder.normal": "Pitaj bilo šta, {{slash}} za komande, {{at}} za kontekst
|
|
131
|
+
"ui.promptInput.placeholder.shell": "Unesi shell komandu...",
|
|
132
|
+
"ui.promptInput.placeholder.normal": "Pitaj bilo šta, {{slash}} za komande, {{at}} za kontekst...",
|
|
133
133
|
"ui.promptInput.add": "Dodaj slike i datoteke",
|
|
134
134
|
"ui.promptInput.attachments": "Slike i datoteke",
|
|
135
135
|
"ui.promptInput.context": "Kontekst",
|
|
@@ -159,6 +159,8 @@ export const dict = {
|
|
|
159
159
|
"ui.tool.websearch.provider": "{{provider}} Pretraga weba",
|
|
160
160
|
"ui.tool.shell": "Shell",
|
|
161
161
|
"ui.tool.patch": "Patch",
|
|
162
|
+
"ui.tool.todos": "Lista zadataka",
|
|
163
|
+
"ui.tool.todos.read": "Čitanje liste zadataka",
|
|
162
164
|
"ui.tool.questions": "Pitanja",
|
|
163
165
|
"ui.tool.questions.numbered": "Pitanja {{number}}",
|
|
164
166
|
"ui.tool.agent": "{{type}} agent",
|
|
@@ -207,7 +209,7 @@ export const dict = {
|
|
|
207
209
|
"ui.question.review.notAnswered": "(nije odgovoreno)",
|
|
208
210
|
"ui.question.multiHint": "Odaberi sve primjenjive odgovore",
|
|
209
211
|
"ui.question.singleHint": "Odaberi jedan odgovor",
|
|
210
|
-
"ui.question.custom.placeholder": "Unesi svoj odgovor
|
|
212
|
+
"ui.question.custom.placeholder": "Unesi svoj odgovor...",
|
|
211
213
|
|
|
212
214
|
"ui.fileSearch.placeholder": "Pronađi",
|
|
213
215
|
"ui.fileSearch.previousMatch": "Prethodno",
|
package/src/i18n/ca.ts
CHANGED
|
@@ -10,7 +10,7 @@ export const dict: Record<string, string> = {
|
|
|
10
10
|
"ui.sessionReview.change.added": "Afegit",
|
|
11
11
|
"ui.sessionReview.change.removed": "Eliminat",
|
|
12
12
|
"ui.sessionReview.change.modified": "Modificat",
|
|
13
|
-
"ui.sessionReview.image.loading": "Carregant
|
|
13
|
+
"ui.sessionReview.image.loading": "Carregant...",
|
|
14
14
|
"ui.sessionReview.image.placeholder": "Imatge",
|
|
15
15
|
"ui.sessionReview.largeDiff.title": "La diferència és massa gran per renderitzar-la",
|
|
16
16
|
"ui.sessionReview.largeDiff.meta": "Límit: {{limit}} línies canviades. Actual: {{current}} línies canviades.",
|
|
@@ -28,7 +28,7 @@ export const dict: Record<string, string> = {
|
|
|
28
28
|
"ui.sessionReviewV2.empty.noGit.title": "No hi ha canvis de seguiment",
|
|
29
29
|
"ui.sessionReviewV2.empty.noGit.description": "Feu el seguiment, reviseu i desfeu els canvis d'aquest projecte",
|
|
30
30
|
"ui.sessionReviewV2.empty.noGit.action": "Crea un repositori Git",
|
|
31
|
-
"ui.sessionReviewV2.empty.noGit.actionLoading": "S'està creant un repositori Git
|
|
31
|
+
"ui.sessionReviewV2.empty.noGit.actionLoading": "S'està creant un repositori Git...",
|
|
32
32
|
"ui.sessionReviewV2.empty.changes.title": "Encara no hi ha canvis de fitxer",
|
|
33
33
|
"ui.sessionReviewV2.empty.changes.description": "Els canvis del projecte apareixeran aquí",
|
|
34
34
|
"ui.sessionReview.openFile": "Obre el fitxer",
|
|
@@ -37,7 +37,7 @@ export const dict: Record<string, string> = {
|
|
|
37
37
|
"ui.fileMedia.kind.image": "imatge",
|
|
38
38
|
"ui.fileMedia.kind.audio": "àudio",
|
|
39
39
|
"ui.fileMedia.state.removed": "S'ha eliminat el fitxer {{kind}}.",
|
|
40
|
-
"ui.fileMedia.state.loading": "S'està carregant {{kind}}
|
|
40
|
+
"ui.fileMedia.state.loading": "S'està carregant {{kind}}...",
|
|
41
41
|
"ui.fileMedia.state.error": "No es pot carregar {{kind}}.",
|
|
42
42
|
"ui.fileMedia.state.unavailable": "{{kind}} previsualització no disponible.",
|
|
43
43
|
"ui.fileMedia.binary.title": "Fitxer binari",
|
|
@@ -70,7 +70,7 @@ export const dict: Record<string, string> = {
|
|
|
70
70
|
"ui.sessionTurn.error.addCredits": "Afegeix crèdits",
|
|
71
71
|
"dialog.usageExceeded.freeTier.title": "S'ha arribat al límit gratuït",
|
|
72
72
|
"dialog.usageExceeded.freeTier.description":
|
|
73
|
-
"Subscriviu-vos a OpenCode Go per
|
|
73
|
+
"Subscriviu-vos a OpenCode Go per 10 dòlars al mes i obteniu accés fiable als millors models de codi obert.",
|
|
74
74
|
"dialog.usageExceeded.freeTier.actionLabel": "Subscriu-te",
|
|
75
75
|
"dialog.usageExceeded.accountRateLimit.title": "S'ha assolit el límit de Go",
|
|
76
76
|
"dialog.usageExceeded.accountRateLimit.description":
|
|
@@ -119,8 +119,8 @@ export const dict: Record<string, string> = {
|
|
|
119
119
|
"ui.promptInput.dropFiles": "Deixeu fitxers per adjuntar-los",
|
|
120
120
|
"ui.promptInput.removeAttachment": "Elimina el fitxer adjunt",
|
|
121
121
|
"ui.promptInput.label": "Indicació",
|
|
122
|
-
"ui.promptInput.placeholder.shell": "Introduïu una ordre de l'intèrpret d'ordres
|
|
123
|
-
"ui.promptInput.placeholder.normal": "Pregunteu qualsevol cosa, {{slash}} per ordres, {{at}} per context
|
|
122
|
+
"ui.promptInput.placeholder.shell": "Introduïu una ordre de l'intèrpret d'ordres...",
|
|
123
|
+
"ui.promptInput.placeholder.normal": "Pregunteu qualsevol cosa, {{slash}} per ordres, {{at}} per context...",
|
|
124
124
|
"ui.promptInput.add": "Afegeix imatges i fitxers",
|
|
125
125
|
"ui.promptInput.attachments": "Imatges i fitxers",
|
|
126
126
|
"ui.promptInput.context": "Context",
|
|
@@ -147,6 +147,8 @@ export const dict: Record<string, string> = {
|
|
|
147
147
|
"ui.tool.websearch.provider": "{{provider}} Cerca web",
|
|
148
148
|
"ui.tool.shell": "Shell",
|
|
149
149
|
"ui.tool.patch": "Pedaç",
|
|
150
|
+
"ui.tool.todos": "Coses pendents",
|
|
151
|
+
"ui.tool.todos.read": "Llegir tasques pendents",
|
|
150
152
|
"ui.tool.questions": "Preguntes",
|
|
151
153
|
"ui.tool.questions.numbered": "Preguntes {{number}}",
|
|
152
154
|
"ui.tool.agent": "{{type}} Agent",
|
|
@@ -195,5 +197,5 @@ export const dict: Record<string, string> = {
|
|
|
195
197
|
"ui.question.review.notAnswered": "(no contestat)",
|
|
196
198
|
"ui.question.multiHint": "Seleccioneu totes les respostes aplicables",
|
|
197
199
|
"ui.question.singleHint": "Seleccioneu una resposta",
|
|
198
|
-
"ui.question.custom.placeholder": "Escriu la teva resposta
|
|
200
|
+
"ui.question.custom.placeholder": "Escriu la teva resposta...",
|
|
199
201
|
}
|