auricui-skill 0.0.0-stage → 0.1.2

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.
Files changed (362) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +29 -2
  3. package/bin/install.mjs +66 -0
  4. package/package.json +29 -4
  5. package/skill/SKILL.md +64 -0
  6. package/skill/agents/openai.yaml +4 -0
  7. package/skill/assets/examples/ApprovalCard.tsx +8 -0
  8. package/skill/assets/examples/BasicApp.tsx +38 -0
  9. package/skill/assets/examples/BriefingCard.tsx +8 -0
  10. package/skill/assets/examples/ChatControls.tsx +49 -0
  11. package/skill/assets/examples/ChatPanel.tsx +73 -0
  12. package/skill/assets/examples/Checkbox.tsx +13 -0
  13. package/skill/assets/examples/Combobox.tsx +14 -0
  14. package/skill/assets/examples/Drawer.tsx +10 -0
  15. package/skill/assets/examples/MemoryCard.tsx +9 -0
  16. package/skill/assets/examples/MessageList.tsx +8 -0
  17. package/skill/assets/examples/Theme.tsx +14 -0
  18. package/skill/assets/examples/ToolCall.tsx +8 -0
  19. package/skill/assets/examples/Tree.tsx +15 -0
  20. package/skill/assets/examples/examples.css +11 -0
  21. package/skill/assets/library/auricui-0.1.0-preview.1.tgz +0 -0
  22. package/skill/assets/library/auricui-0.1.0-preview.3.tgz +0 -0
  23. package/skill/assets/library/auricui-0.1.0-preview.4.tgz +0 -0
  24. package/skill/assets/upstream/LICENSE +21 -0
  25. package/skill/assets/upstream/apps/desktop/chat/src/App.tsx +1099 -0
  26. package/skill/assets/upstream/apps/desktop/chat/src/app-bridge.ts +154 -0
  27. package/skill/assets/upstream/apps/desktop/chat/src/chat.css +1812 -0
  28. package/skill/assets/upstream/apps/desktop/chat/src/components/AddSkill.tsx +223 -0
  29. package/skill/assets/upstream/apps/desktop/chat/src/components/AgentActivityRow.tsx +716 -0
  30. package/skill/assets/upstream/apps/desktop/chat/src/components/AgentIcons.tsx +46 -0
  31. package/skill/assets/upstream/apps/desktop/chat/src/components/AttachmentCard.tsx +34 -0
  32. package/skill/assets/upstream/apps/desktop/chat/src/components/AttachmentPreview.tsx +331 -0
  33. package/skill/assets/upstream/apps/desktop/chat/src/components/BalanceNotice.tsx +22 -0
  34. package/skill/assets/upstream/apps/desktop/chat/src/components/BrandLogo.tsx +35 -0
  35. package/skill/assets/upstream/apps/desktop/chat/src/components/ComposerCard.tsx +182 -0
  36. package/skill/assets/upstream/apps/desktop/chat/src/components/ConversationSessionBar.tsx +292 -0
  37. package/skill/assets/upstream/apps/desktop/chat/src/components/CopyDiagnostics.tsx +24 -0
  38. package/skill/assets/upstream/apps/desktop/chat/src/components/Divider.tsx +47 -0
  39. package/skill/assets/upstream/apps/desktop/chat/src/components/FileChangesList.tsx +119 -0
  40. package/skill/assets/upstream/apps/desktop/chat/src/components/Markdown.tsx +198 -0
  41. package/skill/assets/upstream/apps/desktop/chat/src/components/ModelPopover.tsx +280 -0
  42. package/skill/assets/upstream/apps/desktop/chat/src/components/NoticeCard.tsx +87 -0
  43. package/skill/assets/upstream/apps/desktop/chat/src/components/Popover.tsx +195 -0
  44. package/skill/assets/upstream/apps/desktop/chat/src/components/PreviewFrame.tsx +129 -0
  45. package/skill/assets/upstream/apps/desktop/chat/src/components/ProjectConversation.tsx +852 -0
  46. package/skill/assets/upstream/apps/desktop/chat/src/components/ProjectStarters.tsx +118 -0
  47. package/skill/assets/upstream/apps/desktop/chat/src/components/Tooltip.tsx +191 -0
  48. package/skill/assets/upstream/apps/desktop/chat/src/components/TurnLog.tsx +583 -0
  49. package/skill/assets/upstream/apps/desktop/chat/src/components/TurnQuestionCard.tsx +133 -0
  50. package/skill/assets/upstream/apps/desktop/chat/src/components/dock-pane-bar.ts +14 -0
  51. package/skill/assets/upstream/apps/desktop/chat/src/components/project-version.ts +37 -0
  52. package/skill/assets/upstream/apps/desktop/chat/src/components/prompt-editor/MentionMenuPlugin.tsx +372 -0
  53. package/skill/assets/upstream/apps/desktop/chat/src/components/prompt-editor/PromptEditor.tsx +476 -0
  54. package/skill/assets/upstream/apps/desktop/chat/src/components/prompt-editor/PromptPill.tsx +399 -0
  55. package/skill/assets/upstream/apps/desktop/chat/src/components/prompt-editor/PromptReferenceNode.tsx +164 -0
  56. package/skill/assets/upstream/apps/desktop/chat/src/components/prompt-editor/index.ts +31 -0
  57. package/skill/assets/upstream/apps/desktop/chat/src/components/prompt-editor/mention-menu.ts +206 -0
  58. package/skill/assets/upstream/apps/desktop/chat/src/components/prompt-editor/prompt-text.ts +171 -0
  59. package/skill/assets/upstream/apps/desktop/chat/src/components/useStickToBottom.ts +320 -0
  60. package/skill/assets/upstream/apps/desktop/chat/src/components/useTicker.ts +55 -0
  61. package/skill/assets/upstream/apps/desktop/chat/src/i18n/index.ts +42 -0
  62. package/skill/assets/upstream/apps/desktop/chat/src/i18n/locales/en-US.ts +408 -0
  63. package/skill/assets/upstream/apps/desktop/chat/src/i18n/locales/es.ts +407 -0
  64. package/skill/assets/upstream/apps/desktop/chat/src/i18n/locales/ja.ts +407 -0
  65. package/skill/assets/upstream/apps/desktop/chat/src/i18n/locales/ko.ts +403 -0
  66. package/skill/assets/upstream/apps/desktop/chat/src/i18n/locales/words.ts +6 -0
  67. package/skill/assets/upstream/apps/desktop/chat/src/i18n/locales/zh-CN.ts +407 -0
  68. package/skill/assets/upstream/apps/desktop/chat/src/i18n/lookup.ts +12 -0
  69. package/skill/assets/upstream/apps/desktop/chat/src/lib/agent-activity-runs.ts +154 -0
  70. package/skill/assets/upstream/apps/desktop/chat/src/lib/agent-menu-rows.ts +41 -0
  71. package/skill/assets/upstream/apps/desktop/chat/src/lib/agent-refs.ts +105 -0
  72. package/skill/assets/upstream/apps/desktop/chat/src/lib/agent-transcript.ts +440 -0
  73. package/skill/assets/upstream/apps/desktop/chat/src/lib/asset-lists.ts +75 -0
  74. package/skill/assets/upstream/apps/desktop/chat/src/lib/attachment-place.ts +17 -0
  75. package/skill/assets/upstream/apps/desktop/chat/src/lib/balance.ts +16 -0
  76. package/skill/assets/upstream/apps/desktop/chat/src/lib/chat-layer.ts +10 -0
  77. package/skill/assets/upstream/apps/desktop/chat/src/lib/chat-menu.ts +18 -0
  78. package/skill/assets/upstream/apps/desktop/chat/src/lib/chat-store.ts +101 -0
  79. package/skill/assets/upstream/apps/desktop/chat/src/lib/composer-attachments.ts +189 -0
  80. package/skill/assets/upstream/apps/desktop/chat/src/lib/desktop-attachments.ts +178 -0
  81. package/skill/assets/upstream/apps/desktop/chat/src/lib/desktop-bridge.ts +291 -0
  82. package/skill/assets/upstream/apps/desktop/chat/src/lib/developer.ts +39 -0
  83. package/skill/assets/upstream/apps/desktop/chat/src/lib/esc-stop.ts +23 -0
  84. package/skill/assets/upstream/apps/desktop/chat/src/lib/file-changes.ts +32 -0
  85. package/skill/assets/upstream/apps/desktop/chat/src/lib/live-activity.ts +20 -0
  86. package/skill/assets/upstream/apps/desktop/chat/src/lib/local-agent-run.ts +1174 -0
  87. package/skill/assets/upstream/apps/desktop/chat/src/lib/local-sessions.ts +25 -0
  88. package/skill/assets/upstream/apps/desktop/chat/src/lib/model-calls.ts +87 -0
  89. package/skill/assets/upstream/apps/desktop/chat/src/lib/pretty-json.ts +12 -0
  90. package/skill/assets/upstream/apps/desktop/chat/src/lib/preview-top.ts +15 -0
  91. package/skill/assets/upstream/apps/desktop/chat/src/lib/project-resources.ts +66 -0
  92. package/skill/assets/upstream/apps/desktop/chat/src/lib/project-sessions.ts +66 -0
  93. package/skill/assets/upstream/apps/desktop/chat/src/lib/project-versions.ts +116 -0
  94. package/skill/assets/upstream/apps/desktop/chat/src/lib/ref-pictures.ts +119 -0
  95. package/skill/assets/upstream/apps/desktop/chat/src/lib/relative-time.ts +46 -0
  96. package/skill/assets/upstream/apps/desktop/chat/src/lib/skill-pages.ts +29 -0
  97. package/skill/assets/upstream/apps/desktop/chat/src/lib/step-file.ts +23 -0
  98. package/skill/assets/upstream/apps/desktop/chat/src/lib/structural-share.ts +52 -0
  99. package/skill/assets/upstream/apps/desktop/chat/src/lib/studio-film.ts +44 -0
  100. package/skill/assets/upstream/apps/desktop/chat/src/lib/studio-transfer.ts +40 -0
  101. package/skill/assets/upstream/apps/desktop/chat/src/lib/unprompted.ts +27 -0
  102. package/skill/assets/upstream/apps/desktop/chat/src/lib/upload-limits.ts +53 -0
  103. package/skill/assets/upstream/apps/desktop/chat/src/mount.tsx +19 -0
  104. package/skill/assets/upstream/apps/desktop/chat/src/state/local-agent-store.ts +296 -0
  105. package/skill/assets/upstream/apps/desktop/chat/src/studio-refs.ts +307 -0
  106. package/skill/assets/upstream/apps/desktop/package.json +51 -0
  107. package/skill/assets/upstream/apps/desktop/shell/bridge.ts +415 -0
  108. package/skill/assets/upstream/apps/desktop/shell/index.html +27 -0
  109. package/skill/assets/upstream/apps/desktop/shell/main.tsx +17 -0
  110. package/skill/assets/upstream/apps/desktop/shell/shell.css +17 -0
  111. package/skill/assets/upstream/apps/desktop/shell/vite.config.ts +65 -0
  112. package/skill/assets/upstream/apps/desktop/src/agent-definitions.mjs +31 -0
  113. package/skill/assets/upstream/packages/openfilm/LICENSE +21 -0
  114. package/skill/assets/upstream/packages/openfilm/package.json +88 -0
  115. package/skill/assets/upstream/packages/openfilm/src/film-doc.d.mts +125 -0
  116. package/skill/assets/upstream/packages/openfilm/src/film-doc.mjs +986 -0
  117. package/skill/assets/upstream/packages/openfilm/src/overrides.mjs +73 -0
  118. package/skill/assets/upstream/packages/openfilm/src/timeline.mjs +1280 -0
  119. package/skill/assets/upstream/packages/openfilm/studio/server/bridge.js +209 -0
  120. package/skill/assets/upstream/packages/openfilm/studio/server/film-subtitle.mjs +785 -0
  121. package/skill/assets/upstream/packages/openfilm/studio/server/ops.mjs +403 -0
  122. package/skill/assets/upstream/packages/openfilm/studio/server/stage.js +1649 -0
  123. package/skill/assets/upstream/packages/openfilm/studio/server/track-layout.mjs +43 -0
  124. package/skill/assets/upstream/packages/openfilm/studio/ui/src/App.tsx +156 -0
  125. package/skill/assets/upstream/packages/openfilm/studio/ui/src/api.ts +328 -0
  126. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/AudioMeters.tsx +188 -0
  127. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/BlockThumbs.tsx +84 -0
  128. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/BlockWaveform.tsx +201 -0
  129. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/BrandLoadingScreen.tsx +56 -0
  130. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/BrandLogo.tsx +25 -0
  131. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/Card.tsx +89 -0
  132. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/ColorPicker.tsx +204 -0
  133. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/ConfirmDialog.tsx +96 -0
  134. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/ContextMenu.tsx +422 -0
  135. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/DesktopDialog.tsx +271 -0
  136. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/ExamplesGallery.tsx +372 -0
  137. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/FilmFullscreenBar.tsx +147 -0
  138. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/FilmInspector.tsx +2310 -0
  139. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/FilmStageSelect.tsx +3296 -0
  140. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/FocusNav.tsx +28 -0
  141. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/FontFamilyPicker.tsx +293 -0
  142. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/FramePicker.tsx +69 -0
  143. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/InspectorPanel.tsx +25 -0
  144. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/Launcher.tsx +38 -0
  145. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/LayersPanel.tsx +277 -0
  146. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/LiveTime.tsx +101 -0
  147. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/MediaPool.tsx +1413 -0
  148. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/MediaPreview.tsx +188 -0
  149. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/MenuSelect.tsx +161 -0
  150. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/MgOutline.tsx +24 -0
  151. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/OperationHistory.tsx +184 -0
  152. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/PaneDivider.tsx +292 -0
  153. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/PasteAttrsDialog.tsx +69 -0
  154. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/PlaybackMenu.tsx +110 -0
  155. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/Popover.tsx +159 -0
  156. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/ProjectCover.tsx +60 -0
  157. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/ProjectHistoryControls.tsx +748 -0
  158. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/ProjectLayoutMenu.tsx +82 -0
  159. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/ProjectMenu.tsx +111 -0
  160. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/ProjectSources.tsx +587 -0
  161. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/ProjectView.tsx +3222 -0
  162. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/ProjectsLibrary.tsx +567 -0
  163. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/ProjectsView.tsx +1593 -0
  164. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/PropertiesSection.tsx +418 -0
  165. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/ResourceInspector.tsx +100 -0
  166. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/SelectionToolbar.tsx +157 -0
  167. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/SkillsLibrary.tsx +504 -0
  168. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/SourcePreview.tsx +464 -0
  169. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/SpendAsks.tsx +88 -0
  170. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/StageMaskOverlay.tsx +299 -0
  171. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/StageTransformFrame.tsx +246 -0
  172. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/SubtitleInspector.module.css +46 -0
  173. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/SubtitleInspector.tsx +884 -0
  174. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/SubtitleOverlay.tsx +148 -0
  175. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/SubtitleRow.tsx +419 -0
  176. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/TabStrip.tsx +188 -0
  177. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/Timeline.tsx +4911 -0
  178. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/TimelineMarkers.tsx +329 -0
  179. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/Toast.tsx +55 -0
  180. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/Tooltip.tsx +193 -0
  181. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/UpdateButton.tsx +104 -0
  182. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/ViewerBar.tsx +98 -0
  183. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/WhatsNew.tsx +147 -0
  184. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/dock-pane-bar.ts +16 -0
  185. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/export/ExportCenter.tsx +1502 -0
  186. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/export/ExportTray.tsx +284 -0
  187. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/film-stage-hit.ts +18 -0
  188. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/inspector-fields.tsx +863 -0
  189. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/inspector-look.tsx +1357 -0
  190. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/player-controls/controls-bar.tsx +397 -0
  191. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/player-controls/transport.tsx +294 -0
  192. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/replace-drop.ts +20 -0
  193. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/settings/AgentsSection.tsx +613 -0
  194. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/settings/CustomServices.tsx +104 -0
  195. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/settings/DiagnosticsGroup.tsx +202 -0
  196. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/settings/ModelsSection.tsx +179 -0
  197. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/settings/ProviderMark.tsx +24 -0
  198. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/settings/ProvidersSection.tsx +177 -0
  199. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/settings/SettingsModal.tsx +511 -0
  200. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/settings/SettingsSelect.tsx +84 -0
  201. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/settings/ShortcutsSection.tsx +291 -0
  202. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/settings/StorageGroup.tsx +119 -0
  203. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/settings/theme.ts +47 -0
  204. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/settings/ui.tsx +139 -0
  205. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/settings/use-settings.ts +10 -0
  206. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/stage-menu.tsx +283 -0
  207. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/timeline-head-extras.tsx +91 -0
  208. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/typing-target.ts +45 -0
  209. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/use-editor-tools.tsx +408 -0
  210. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/use-page-changes.ts +48 -0
  211. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/use-project-history.ts +113 -0
  212. package/skill/assets/upstream/packages/openfilm/studio/ui/src/components/useBlockDrag.ts +639 -0
  213. package/skill/assets/upstream/packages/openfilm/studio/ui/src/editor/Preview.tsx +426 -0
  214. package/skill/assets/upstream/packages/openfilm/studio/ui/src/editor/player.ts +558 -0
  215. package/skill/assets/upstream/packages/openfilm/studio/ui/src/editor/preview-frames.ts +36 -0
  216. package/skill/assets/upstream/packages/openfilm/studio/ui/src/editor/steps.ts +36 -0
  217. package/skill/assets/upstream/packages/openfilm/studio/ui/src/editor/undo.ts +156 -0
  218. package/skill/assets/upstream/packages/openfilm/studio/ui/src/editor/use-film.ts +212 -0
  219. package/skill/assets/upstream/packages/openfilm/studio/ui/src/editor/use-preview-renders.ts +89 -0
  220. package/skill/assets/upstream/packages/openfilm/studio/ui/src/globals.css +559 -0
  221. package/skill/assets/upstream/packages/openfilm/studio/ui/src/i18n/en.ts +1901 -0
  222. package/skill/assets/upstream/packages/openfilm/studio/ui/src/i18n/es.ts +1900 -0
  223. package/skill/assets/upstream/packages/openfilm/studio/ui/src/i18n/index.ts +130 -0
  224. package/skill/assets/upstream/packages/openfilm/studio/ui/src/i18n/ja.ts +1900 -0
  225. package/skill/assets/upstream/packages/openfilm/studio/ui/src/i18n/ko.ts +1896 -0
  226. package/skill/assets/upstream/packages/openfilm/studio/ui/src/i18n/words.ts +6 -0
  227. package/skill/assets/upstream/packages/openfilm/studio/ui/src/i18n/zh-CN.ts +1901 -0
  228. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/agent-row.ts +21 -0
  229. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/asset-timeline.ts +469 -0
  230. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/audio-levels.ts +60 -0
  231. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/batch-map.ts +28 -0
  232. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/browser.ts +10 -0
  233. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/canvas-fit.ts +116 -0
  234. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/chat-marks.ts +114 -0
  235. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/clip-attrs.ts +102 -0
  236. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/clip-fade.ts +70 -0
  237. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/clip-look.ts +520 -0
  238. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/clip-mask.ts +536 -0
  239. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/clip-replace.ts +60 -0
  240. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/component-props.ts +128 -0
  241. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/context-length.ts +12 -0
  242. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/desktop-build.ts +44 -0
  243. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/diagnostics.ts +68 -0
  244. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/double-press.ts +22 -0
  245. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/dropped-overrides.ts +139 -0
  246. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/export-jobs.ts +191 -0
  247. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/export-spec.ts +261 -0
  248. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/field-input.ts +155 -0
  249. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/film-clip-edits.ts +82 -0
  250. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/film-frame.ts +134 -0
  251. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/film-overrides.ts +107 -0
  252. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/film-shape.ts +172 -0
  253. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/film.ts +80 -0
  254. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/font-menu.ts +236 -0
  255. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/font-styles.ts +129 -0
  256. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/freeze-frame.ts +49 -0
  257. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/host.ts +438 -0
  258. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/inspect-scrub.ts +26 -0
  259. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/keymap-store.ts +74 -0
  260. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/keymap.ts +529 -0
  261. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/layers-tree.ts +133 -0
  262. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/look.ts +83 -0
  263. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/loudness.ts +58 -0
  264. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/markers.ts +152 -0
  265. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/media-bar.ts +58 -0
  266. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/media-folders.ts +45 -0
  267. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/media-place.ts +102 -0
  268. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/media-queue.ts +107 -0
  269. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/media-selection.ts +64 -0
  270. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/menu-position.ts +77 -0
  271. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/mg-transform.ts +111 -0
  272. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/mixed.ts +3 -0
  273. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/page-changes.ts +45 -0
  274. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/picture-files.ts +19 -0
  275. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/preview-prefs.ts +46 -0
  276. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/preview-renders.ts +71 -0
  277. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/project-delete.ts +20 -0
  278. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/project-folders.ts +144 -0
  279. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/project-history.ts +188 -0
  280. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/project-sources.ts +283 -0
  281. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/projects-page.ts +40 -0
  282. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/provider-marks.ts +35 -0
  283. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/providers.ts +163 -0
  284. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/resource-drag.ts +131 -0
  285. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/retry-image.ts +17 -0
  286. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/saved-insert.ts +40 -0
  287. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/saved.ts +125 -0
  288. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/selection-toolbar.ts +158 -0
  289. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/shortcut-hint.ts +21 -0
  290. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/similar-layers.ts +46 -0
  291. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/solo.ts +19 -0
  292. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/stage-clip.ts +60 -0
  293. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/stage-crop.ts +232 -0
  294. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/stage-gesture.ts +277 -0
  295. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/stage-layers.ts +71 -0
  296. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/stage-mask.ts +176 -0
  297. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/stage-measure.ts +53 -0
  298. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/stage-types.ts +155 -0
  299. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/studio-refs.ts +248 -0
  300. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/studio-version.ts +41 -0
  301. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/subtitle-cues.ts +238 -0
  302. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/subtitles.ts +263 -0
  303. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/tab-menu.ts +6 -0
  304. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/template-controls.ts +131 -0
  305. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/theme-changes.ts +31 -0
  306. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/thumb-cache.ts +63 -0
  307. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/thumb-cell.ts +8 -0
  308. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/thumb-frame.ts +76 -0
  309. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/thumb-pick.ts +42 -0
  310. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/timecode.ts +161 -0
  311. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/timeline-clipboard.ts +279 -0
  312. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/timeline-drag.ts +589 -0
  313. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/timeline-edit.ts +1138 -0
  314. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/timeline-keys.ts +63 -0
  315. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/timeline-layout.ts +1038 -0
  316. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/timeline-nav.ts +160 -0
  317. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/timeline-prefs.ts +73 -0
  318. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/timeline-split.ts +40 -0
  319. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/timeline-view.ts +105 -0
  320. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/title.ts +39 -0
  321. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/track-heights.ts +55 -0
  322. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/track-lock.ts +27 -0
  323. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/transitions.ts +459 -0
  324. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/type-metrics.ts +83 -0
  325. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/use-film-subtitles.ts +111 -0
  326. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/use-fonts.ts +181 -0
  327. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/use-loaded-thumbs.ts +91 -0
  328. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/use-subtitle-edits.ts +134 -0
  329. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/use-subtitle-font.ts +51 -0
  330. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/use-subtitle-style.ts +68 -0
  331. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/waveform-columns.ts +48 -0
  332. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/web-update.ts +41 -0
  333. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/whats-new.ts +401 -0
  334. package/skill/assets/upstream/packages/openfilm/studio/ui/src/lib/workspace-resources.ts +373 -0
  335. package/skill/assets/upstream/packages/openfilm/studio/ui/src/main.tsx +10 -0
  336. package/skill/assets/upstream/packages/openfilm/studio/ui/vite.config.ts +12 -0
  337. package/skill/assets/upstream/packages/shared/package.json +45 -0
  338. package/skill/assets/upstream/packages/shared/src/agent-activity.ts +263 -0
  339. package/skill/assets/upstream/packages/shared/src/contract.ts +285 -0
  340. package/skill/assets/upstream/packages/shared/src/index.ts +17 -0
  341. package/skill/assets/upstream/packages/shared/src/markdown-blocks.ts +252 -0
  342. package/skill/assets/upstream/packages/shared/src/modality.ts +4 -0
  343. package/skill/assets/upstream/packages/shared/src/prompt-reference.ts +113 -0
  344. package/skill/assets/upstream/packages/shared/src/title.ts +76 -0
  345. package/skill/assets/upstream/packages/shared/src/turn.ts +68 -0
  346. package/skill/assets/upstream/packages/shared/src/video.ts +26 -0
  347. package/skill/references/agent-components.md +33 -0
  348. package/skill/references/api-index.json +2693 -0
  349. package/skill/references/chat-components.md +65 -0
  350. package/skill/references/components.md +23 -0
  351. package/skill/references/core-components.md +44 -0
  352. package/skill/references/dependencies.md +22 -0
  353. package/skill/references/esm-package.md +48 -0
  354. package/skill/references/integration.md +43 -0
  355. package/skill/references/library-manifest.json +12 -0
  356. package/skill/references/source-manifest.json +325 -0
  357. package/skill/references/studio-components.md +24 -0
  358. package/skill/references/theme-motion.md +49 -0
  359. package/skill/references/troubleshooting.md +27 -0
  360. package/skill/references/verification.md +13 -0
  361. package/skill/scripts/check_dependencies.py +109 -0
  362. package/skill/scripts/inspect_api.py +60 -0
@@ -0,0 +1,1896 @@
1
+ import type { Words } from './words.ts';
2
+
3
+ /** what the system's file manager is called here */
4
+ const FILES = typeof navigator !== 'undefined' && /^win/i.test(navigator.platform) ? '파일 탐색기'
5
+ : typeof navigator !== 'undefined' && /^mac/i.test(navigator.platform) ? 'Finder' : '파일';
6
+
7
+ export const ko: Words = {
8
+ nav: {
9
+ projects: '프로젝트',
10
+ desktop: '데스크톱',
11
+ },
12
+ /* the app window's tabs (TabStrip), a new tab's launcher, and the examples (ExamplesGallery) */
13
+ tabs: { label: '탭', new: '프로젝트 열기', close: '탭 닫기', closeOthers: '다른 탭 닫기', closeRight: '오른쪽 탭 닫기' },
14
+ launcher: { projects: '내 프로젝트', examples: '예시' },
15
+ gallery: {
16
+ chooseCover: "표지 선택",
17
+ changeCover: "표지 변경",
18
+ removeCover: "표지 제거",
19
+ coverSaving: "저장 중…",
20
+ coverInvalid: "5 MB 이하의 올바른 PNG, JPEG 또는 WebP 이미지를 선택하세요.",
21
+ title: '예시',
22
+ community: '커뮤니티',
23
+ discoverNote: 'OpenFilm으로 만든 영상. 여기서 시작하거나 만든 방식을 참고하세요.',
24
+ noSkills: '아직 내 스킬이 없습니다. 브랜드, 시리즈의 분위기, 늘 쓰는 오프닝을 스킬로 저장하면 모든 영상이 그것을 따를 수 있습니다. 링크나 폴더로 추가하거나, 마음에 드는 영상을 에이전트에게 스킬로 저장해 달라고 하세요.',
25
+ all: '전체',
26
+ workflow: '작업',
27
+ style: '스타일',
28
+ skillKinds: '스킬은 두 가지입니다.\n· 내 스킬: 브랜드, 시리즈의 분위기, 늘 쓰는 오프닝과 엔딩처럼 당신만 아는 것을 저장합니다. AI가 아무리 똑똑해도 추측할 수 없으니, 한 번 저장해 두면 모든 영상에 쓸 수 있습니다.\n· OpenFilm의 스킬: 어떤 종류의 영상을 빠르게 만드는 기성 방법입니다. AI가 똑똑해질수록 점점 덜 필요해집니다.',
29
+ search: '스킬 검색',
30
+ noMatch: '일치하는 스킬이 없습니다.',
31
+ aboutSkills: '스킬에 대해',
32
+ fromFolder: '폴더',
33
+ made: '직접 만든 스킬',
34
+ skills: '스킬',
35
+ loading: '예시를 읽는 중…',
36
+ empty: '표시할 예시가 없습니다. 예시는 GitHub에서 읽어 옵니다. 연결을 확인하세요.',
37
+ start: '이것으로 시작',
38
+ startNew: '이것으로 새 영상 시작',
39
+ startHow: '복사본이 새 프로젝트가 되고, 소스를 바로 바꿀 수 있습니다.',
40
+ reference: '이 영상에서 참고',
41
+ referencePart: '이 부분 참고',
42
+ referenceHow: '메시지에 들어갑니다. 에이전트가 만든 방식(페이지와 타이밍)을 읽고 당신의 영상에 적용합니다.',
43
+ referenceNote: '예시나 그 일부를 골라 에이전트가 참고하게 하세요',
44
+ parts: '구간',
45
+ whole: '전체',
46
+ partsHint: '구간을 클릭하거나 막대 위를 드래그해 범위를 고르세요.',
47
+ viewSource: 'GitHub에서 보기',
48
+ back: '뒤로',
49
+ installed: '설치됨',
50
+ discover: '찾아보기',
51
+ mineHint: '내 Skills 폴더',
52
+ fromOpenFilm: 'OpenFilm 제공',
53
+ officialHint: '찾아보기에서 설치',
54
+ projectHint: '이 영상과 함께 저장',
55
+ noneInstalled: '아직 설치한 스킬이 없습니다. OpenFilm 스킬 보기:',
56
+ fromAgent: '{name} 제공',
57
+ agentHint: '에이전트 자체 스킬. 켠 것만 사용합니다.',
58
+ removeTitle: '「{name}」을(를) 휴지통으로 옮길까요?',
59
+ removeHint: '에이전트가 더 이상 쓰지 않습니다. 휴지통에서 되돌릴 수 있습니다.',
60
+ remove: '휴지통으로 이동',
61
+ tryNow: '사용해 보기',
62
+ tryOff: '켜야 사용해 볼 수 있습니다',
63
+ details: '자세히',
64
+ uninstall: '제거',
65
+ offLine: '꺼짐. 에이전트가 쓰지 않습니다.',
66
+ installedOne: '설치됨',
67
+ install: '설치',
68
+ more: '더 보기',
69
+ turnOn: '{name} 켜기',
70
+ turnOff: '{name} 끄기',
71
+ skillOff: '꺼져 있습니다. 다시 켜기 전까지 에이전트는 이 스킬을 쓰지 않습니다.',
72
+ mine: '내 스킬',
73
+ project: '이 프로젝트',
74
+ addSkill: '스킬 추가',
75
+ cat: { launch: '제품 출시', explainer: '해설', slides: '슬라이드를 영상으로', captions: '자막과 타이틀', ads: '광고', commerce: '판매 포인트', music: '음악' },
76
+ },
77
+ /* the app's update, ready to install (Studio's top bar, in an app that has updates: lib/host.ts `update`) */
78
+ update: {
79
+ restart: '재시작하여 업데이트',
80
+ ready: 'OpenFilm {version} 준비가 끝났습니다. 지금 재시작해 업데이트하거나, 종료할 때 자동으로 설치되어 다음에 열면 새 버전이 됩니다.',
81
+ agentBusy: '에이전트가 아직 작업 중입니다. 끝난 뒤 재시작하세요.',
82
+ exporting: '내보내는 중입니다. 끝난 뒤 재시작하세요.',
83
+ installFailed: 'OpenFilm {version}을(를) 설치하지 못했습니다. OpenFilm을 종료했다가 다시 열면 설치됩니다.',
84
+ installing: '재시작하는 중…',
85
+ webUpdate: '업데이트',
86
+ webAvailable: 'OpenFilm {version}이(가) 나왔습니다. Studio가 새 버전으로 다시 시작되고, 열려 있던 페이지는 자동으로 돌아옵니다.',
87
+ webUpdating: '업데이트 중…',
88
+ webExporting: '내보내는 중입니다. 끝난 뒤에 업데이트하세요.',
89
+ webMaking: '미디어를 만드는 중입니다. 끝난 뒤에 업데이트하세요.',
90
+ webFailed: '업데이트하지 못했습니다: {error}',
91
+ },
92
+ whatsNew: {
93
+ eyebrow: '업데이트됨',
94
+ title: 'OpenFilm {version}의 새로운 기능',
95
+ close: '닫기',
96
+ changelog: '전체 변경 내역',
97
+ ok: '확인',
98
+ kind: {
99
+ new: '새 기능',
100
+ improved: '개선',
101
+ fixed: '수정',
102
+ },
103
+ },
104
+ host: {
105
+ refer: '채팅에서 참조',
106
+ regionHint: '상자를 드래그해 채팅에서 참조',
107
+ rangeDrag: '채팅으로 드래그 · I와 O로 양 끝 설정 · X로 해제',
108
+ },
109
+ selectionBar: {
110
+ toolbar: '선택 항목 도구',
111
+ addToChat: '채팅에 추가',
112
+ oneClip: '클립 1개',
113
+ clips: '클립 {n}개',
114
+ layers: '레이어 {n}개',
115
+ plusRange: '{what} + 구간',
116
+ range: '구간',
117
+ mute: '음소거',
118
+ unmute: '음소거 해제',
119
+ noSound: '음소거할 소리가 없습니다',
120
+ more: '더 보기',
121
+ crop: '자르기',
122
+ mask: '마스크',
123
+ playRange: '구간 재생',
124
+ clearRange: '구간 해제',
125
+ splitSelected: '선택한 클립을 재생 헤드에서 분할',
126
+ splitNone: '재생 헤드가 선택한 클립 위에 없습니다',
127
+ },
128
+ desktop: {
129
+ title: '데스크톱용 OpenFilm',
130
+ tagline: '에이전트와 영상을 나란히.',
131
+ intro: 'Studio를 데스크톱 앱으로. 에이전트와의 대화가 영상 옆에 있고 편집기의 모든 부분과 연결됩니다. 요청하고, 변경을 지켜보고, 직접 고칠 수도 있습니다.',
132
+ worksWith: '지원',
133
+ orOwnKey: '또는 내 API 키',
134
+ features: {
135
+ sync: { title: '편집기와 양방향 연결', body: '클립, 레이어, 화면 영역, 미디어 파일을 메시지에 넣으세요. 에이전트가 언급한 클립은 클릭 한 번으로 Studio의 해당 위치로 이동합니다.' },
136
+ live: { title: '변경 사항 실시간 반영', body: '모든 편집이 작성되는 즉시 화면과 타임라인에 나타납니다. 직접 다듬거나 버전 기록에서 되돌릴 수 있습니다.' },
137
+ drop: { title: '미디어는 끌어다 놓기만', body: '영상, 이미지, 사운드를 채팅에 끌어다 놓으면 바로 영상 폴더에 들어가 쓸 수 있습니다.' },
138
+ agents: { title: '주요 에이전트를 자유롭게 전환', body: 'Claude Code, Codex, Copilot, Cursor 등 컴퓨터에 있는 에이전트를 자동으로 찾습니다. 채팅에서 바꾸거나 내 API 키를 쓸 수 있습니다.' },
139
+ speed: { title: '더 빠른 미리보기와 내보내기', body: '고정된 렌더링 엔진으로 재생이 부드럽고, 하드웨어 비디오 인코더가 있으면 내보내기에 사용합니다.' },
140
+ setup: { title: '터미널도, 의존성 관리도 필요 없음', body: 'Node, npm, 패키지 버전을 관리할 필요가 없습니다. ffmpeg와 렌더러가 내장되어 Studio와 함께 테스트되었습니다.' },
141
+ updates: { title: '항상 최신 상태', body: '업데이트는 백그라운드에서 받아 재시작할 때 설치되며, 내보내기나 답변 도중에는 끼어들지 않습니다.' },
142
+ history: { title: '영상마다 대화 보관', body: '마지막 영상이 대화와 함께 열려, 에이전트와 멈춘 곳에서 이어 갑니다.' },
143
+ },
144
+ picture: {
145
+ clip: '타이틀 · 0:02–0:06',
146
+ ask: '이 타이틀을 더 크게 하고 천천히 나오게 해 줘.',
147
+ reply: '완료: 타이틀을 20% 키우고 1초에 걸쳐 부드럽게 들어오게 했습니다.',
148
+ },
149
+ status: '무료 · 계정 필요 없음',
150
+ downloadFor: '{system}용 다운로드',
151
+ otherSystems: 'macOS 및 Windows용',
152
+ getIt: 'macOS 또는 Windows용 받기',
153
+ close: '닫기',
154
+ },
155
+ connection: {
156
+ lost: 'Studio와의 연결이 끊겼습니다. 다시 연결하는 중…',
157
+ gone: 'Studio가 멈췄습니다. 터미널에서 이 명령을 실행하거나 에이전트에게 OpenFilm을 다시 열어 달라고 하세요. 이 페이지는 자동으로 다시 연결됩니다.',
158
+ goneApp: 'Studio가 멈췄습니다. OpenFilm 앱을 종료했다가 다시 열면 복구됩니다.',
159
+ copied: '복사됨',
160
+ lockedTitle: '이 브라우저는 Studio에 로그인되어 있지 않습니다',
161
+ lockedBody: 'Studio는 실행 중이지만, 키가 붙은 주소로 한 번 연 브라우저만 받아들입니다. `openfilm open`(개발 중에는 `pnpm dev`)이 출력한 ?key= 가 붙은 전체 주소를 여세요. 한 번 열면 이 브라우저는 Studio 주소를 그대로 쓸 수 있습니다.',
162
+ lockedHow: '주소를 다시 받으려면 실행',
163
+ },
164
+ projects: {
165
+ newProject: '새 프로젝트',
166
+ localProjectFailed: '프로젝트를 만들지 못했습니다. 다시 시도하세요.',
167
+ loadFailed: '프로젝트를 불러오지 못했습니다.',
168
+ loadRetry: '다시 시도',
169
+ revealFolder: `${FILES}에서 보기`,
170
+ folderAll: '전체',
171
+ folderUp: '한 단계 위로',
172
+ untitledFolder: '제목 없는 폴더',
173
+ folderCount: '프로젝트 {n}개',
174
+ folderCountOne: '프로젝트 1개',
175
+ newFolder: '새 폴더',
176
+ openFolder: '폴더 열기…',
177
+ openFolderFailed: '이 폴더를 열 수 없습니다: {error}',
178
+ dropFolder: '폴더를 끌어다 놓으면 프로젝트로 열립니다.',
179
+ folderNamePlaceholder: '폴더 이름',
180
+ renameFolder: '폴더 이름 변경',
181
+ deleteFolder: '폴더 삭제',
182
+ deleteFolderHint: '폴더를 삭제하고 안에 있는 프로젝트 {n}개를 휴지통으로 옮깁니다. 휴지통에서 되살릴 수 있습니다.',
183
+ deleteFolderHintOne: '폴더를 삭제하고 안에 있는 프로젝트를 휴지통으로 옮깁니다. 휴지통에서 되살릴 수 있습니다.',
184
+ deleteFolderHintEmpty: '폴더를 삭제합니다. 폴더 안에 프로젝트가 없습니다.',
185
+ renameTaken: '“{name}”은(는) 이미 사용 중인 폴더 이름입니다. 다른 이름을 선택하세요.',
186
+ moveToTitle: '「{name}」 이동',
187
+ moveHint: '옮길 위치를 고르세요.',
188
+ move: '이동',
189
+ moveTo: '이동…',
190
+ hereNow: '현재 위치',
191
+ newFolderName: '새 폴더 이름',
192
+ moveToFolder: '폴더로 이동',
193
+ changeCover: '커버 변경…',
194
+ restoreCover: '자동 커버로 되돌리기',
195
+ coverFromFrame: '현재 화면을 커버로 설정',
196
+ setAsCover: '프로젝트 커버로 설정',
197
+ coverSet: '커버를 설정했습니다',
198
+ coverFailed: '커버로 사용할 수 없습니다.',
199
+ creating: '프로젝트 만드는 중',
200
+ opening: '프로젝트 여는 중',
201
+ missing: '폴더를 찾을 수 없음',
202
+ missingOpen: '이 프로젝트의 폴더가 더 이상 없습니다. 이동되었거나, 이름이 바뀌었거나, 삭제되었습니다. 목록에서 제거할 수 있습니다.',
203
+ agentRunning: '에이전트 실행 중',
204
+ agentRunningRename: '이 프로젝트에서 에이전트가 실행 중입니다. 먼저 중지한 다음 프로젝트 이름을 변경하세요.',
205
+ exportRunningRename: '이 프로젝트에 실행 중이거나 대기 중인 내보내기가 있습니다. 완료될 때까지 기다리거나 취소한 다음 프로젝트 이름을 변경하세요.',
206
+ agentRunningDelete: '이 프로젝트에서 에이전트가 실행 중입니다. 먼저 중지한 다음 프로젝트를 삭제하세요.',
207
+ agentRunningDeleteMany: '{n}개 프로젝트에서 에이전트가 실행 중입니다. 먼저 중지한 다음 삭제하세요.',
208
+ removeFromList: '목록에서 제거',
209
+ removeTitle: '목록에서 제거할까요?',
210
+ removeDesc: '폴더가 이미 없고, 프로젝트가 보관하는 모든 것(버전 기록, 대화)은 그 안에 있었으므로 지울 파일이 남아 있지 않습니다. 목록에서 제거합니다.',
211
+ removeAlso: '폴더가 없어진 프로젝트는 목록에서만 제거됩니다.',
212
+ getFromGitHub: 'GitHub에서 가져오기…',
213
+ importFrom: '가져오기',
214
+ locate: '위치 찾기…',
215
+ locateTitle: '“{name}” 위치 찾기',
216
+ locateFailed: '이 폴더를 사용할 수 없습니다: {error}',
217
+ locateNoFilm: '이 폴더에는 film.html이 없습니다. 프로젝트가 지금 있는 폴더를 선택하세요.',
218
+ startFilmTitle: '이 폴더에는 필름이 없습니다',
219
+ startFilmDesc: '“{name}”에 film.html이 없습니다. 여기서 새 필름을 시작할까요?',
220
+ startFilm: '새 필름 시작',
221
+ browse: {
222
+ title: '폴더 열기',
223
+ pathLabel: '폴더 경로',
224
+ go: '이동',
225
+ up: '위로',
226
+ places: '위치',
227
+ recent: '최근',
228
+ place: {
229
+ home: '홈',
230
+ library: '프로젝트',
231
+ desktop: '데스크탑',
232
+ documents: '문서',
233
+ downloads: '다운로드',
234
+ movies: '동영상',
235
+ videos: '비디오',
236
+ },
237
+ empty: '폴더가 없습니다',
238
+ more: '처음 1,000개의 폴더만 표시됩니다.',
239
+ film: '필름',
240
+ hasFilm: '이 폴더에는 필름이 있습니다.',
241
+ noFilm: '여기에는 film.html이 없습니다. 이 폴더를 열면 새 필름이 시작됩니다.',
242
+ locateNoFilm: '여기에는 film.html이 없습니다. 프로젝트가 지금 있는 폴더를 선택하세요.',
243
+ open: '열기',
244
+ startHere: '여기서 필름 시작',
245
+ useFolder: '이 폴더 사용',
246
+ error: {
247
+ outside: '여기에는 홈 폴더 안의 폴더만 표시됩니다. 열기는 입력한 경로를 그대로 엽니다.',
248
+ denied: '이 폴더를 열 권한이 없습니다.',
249
+ notFound: '이 폴더가 없습니다.',
250
+ file: '폴더가 아니라 파일입니다.',
251
+ },
252
+ },
253
+ fetch: {
254
+ title: 'GitHub에서 가져오기',
255
+ urlLabel: '저장소 또는 그 안의 폴더 주소',
256
+ placeholder: 'https://github.com/owner/repo/tree/main/folder',
257
+ hint: 'Studio는 git 기록(.git) 없이 프로젝트 라이브러리에 복사합니다. 복사본은 내 프로젝트가 됩니다.',
258
+ get: '가져오기',
259
+ cancel: '취소',
260
+ retry: '다시 시도',
261
+ left: '약 {time} 남음',
262
+ close: '닫기',
263
+ phase: {
264
+ lookup: '파일 목록을 가져오는 중…',
265
+ download: '다운로드하는 중…',
266
+ checkout: '파일을 쓰는 중…',
267
+ copy: '여는 중…',
268
+ },
269
+ error: {
270
+ url: '저장소 또는 그 안의 폴더 주소가 아닙니다.',
271
+ host: 'Studio는 https로 github.com과 gitlab.com에서 필름을 가져옵니다.',
272
+ access: '찾을 수 없거나 비공개입니다. 주소를 확인하세요. 비공개 저장소는 이 컴퓨터의 git이 접근 권한이 있는 계정으로 로그인되어 있어야 합니다.',
273
+ network: 'GitHub에 연결할 수 없습니다. 인터넷 연결을 확인하세요.',
274
+ ref: '저장소에 그 브랜치나 태그가 없습니다.',
275
+ noFolder: '저장소에 그 폴더가 없습니다.',
276
+ noFilm: '그 폴더에는 film.html이 없어서 OpenFilm 필름이 아닙니다.',
277
+ tooBig: '너무 커서 가져오기를 멈췄습니다.',
278
+ timeout: '한동안 아무것도 받지 못해 멈췄습니다. 인터넷 연결을 확인한 뒤 다시 시도하세요.',
279
+ git: '비공개이거나 GitHub에 없는 저장소라 git이 필요합니다. git을 설치한 뒤 다시 시도하세요.',
280
+ },
281
+ },
282
+ examples: {
283
+ title: '예제',
284
+ show: '예제 보기',
285
+ hide: '예제 숨기기',
286
+ open: '열기',
287
+ },
288
+ },
289
+ library: {
290
+ noMatches: '검색과 일치하는 프로젝트가 없습니다',
291
+ searchPlaceholder: '검색',
292
+ sortLabel: '정렬',
293
+ sortRecent: '최근 연 항목',
294
+ sortNewest: '최신순',
295
+ sortOldest: '오래된 순',
296
+ sortDuration: '길이순',
297
+ sortTitle: '이름(가나다순)',
298
+ viewLabel: '보기',
299
+ viewCards: '카드 보기',
300
+ viewList: '목록 보기',
301
+ select: '선택',
302
+ selectedCount: '{n}개 선택됨',
303
+ selectAll: '모두 선택',
304
+ deselectAll: '모두 선택 해제',
305
+ deleteSelected: '삭제',
306
+ cancelSelect: '취소',
307
+ toggleSelect: '항목 선택',
308
+ },
309
+ projectMenu: {
310
+ more: '더 보기',
311
+ open: '열기',
312
+ rename: '이름 변경',
313
+ export: '내보내기',
314
+ history: '버전 기록',
315
+ delete: '삭제',
316
+ },
317
+ exportDialog: {
318
+ close: '닫기',
319
+ },
320
+ exportCenter: {
321
+ fpsProject: "프로젝트",
322
+ title: '내보내기',
323
+ dest: {
324
+ social: '소셜 플랫폼',
325
+ video: '비디오 파일',
326
+ gif: 'GIF',
327
+ audio: '오디오',
328
+ subtitles: '자막',
329
+ images: '이미지',
330
+ slides: '슬라이드 및 PDF',
331
+ project: '프로젝트',
332
+ alpha: '투명 에셋',
333
+ nle: '편집 프로젝트',
334
+ },
335
+ destHint: {
336
+ social: '모든 플랫폼용 사전 설정',
337
+ video: '코덱, 크기, 품질',
338
+ gif: '문서, 이메일, README용',
339
+ audio: '믹스 또는 개별 스템',
340
+ subtitles: 'SRT, WebVTT, 대본',
341
+ images: '포스터 및 샷 스틸',
342
+ slides: '샷마다 슬라이드 1장',
343
+ project: '프로젝트 전체를 전달',
344
+ alpha: 'AE, Final Cut, 웹용 알파',
345
+ nle: '{app}, Final Cut Pro, Premiere Pro, DaVinci Resolve',
346
+ },
347
+ destDesc: {
348
+ social: '플랫폼을 하나 이상 선택하세요. 각 플랫폼에 맞는 화면 비율, 크기, 프레임 레이트로 한 번에 내보냅니다.',
349
+ video: '코덱, 프레임, 해상도, 품질을 모두 직접 설정하는 단일 비디오.',
350
+ gif: '반복 재생되는 움직이는 이미지. 짧고 작게 유지하세요. GIF는 용량이 금방 커집니다.',
351
+ audio: '믹스된 사운드트랙, 또는 직접 믹스할 수 있도록 음성, 음악, 효과음을 개별 파일로.',
352
+ subtitles: 'YouTube, 플레이어, 번역가를 위한 자막 파일, 또는 일반 텍스트 대본.',
353
+ images: '포스터, 또는 썸네일과 소셜 게시물용으로 샷마다 스틸 1장.',
354
+ slides: '샷마다 슬라이드 1장으로 된 프레젠테이션 또는 PDF. 바로 발표하거나 인쇄할 수 있습니다.',
355
+ project: '프로젝트 자체(영상, 페이지, 미디어, 선택한 부분)를 OpenFilm에서 바로 열 수 있는 zip 또는 폴더로 내보냅니다.',
356
+ alpha: '배경이 투명한 비디오(영상 전체 또는 요소 하나). 내 편집, 앱, 웹사이트에 레이어로 겹쳐 쓸 수 있습니다.',
357
+ nle: '계속 편집할 수 있는 타임라인 그 자체: {app} 초안 또는 편집 프로그램에서 가져올 수 있는 XML, 알파가 포함된 클립으로 된 각 페이지, 개별 트랙에 놓인 영상과 사운드.',
358
+ },
359
+ group: {
360
+ landscape: '가로 16:9',
361
+ vertical: '세로 9:16',
362
+ feed: '피드',
363
+ },
364
+ quality: '품질',
365
+ qStandard: '표준',
366
+ qHigh: '높음',
367
+ qMaster: '마스터',
368
+ burnSubtitles: '자막 입히기',
369
+ subsAuto: '플랫폼별',
370
+ subsOn: '전체',
371
+ subsOff: '없음',
372
+ socialHint: '플랫폼 화면 비율과 맞지 않는 영상은 잘라내지 않고 레터박스로 맞춥니다. 대부분 소리를 끄고 보기 때문에 세로 피드에는 기본적으로 자막을 입힙니다.',
373
+ tooLong: '{max} 제한보다 깁니다',
374
+ codec: '코덱',
375
+ codecHint: {
376
+ h264: '어디서나 재생됩니다. 안전한 기본값.',
377
+ hevc: '같은 품질에 약 40% 더 작습니다. 최신 기기용.',
378
+ vp9: '투명도가 있는 WebM, 웹용.',
379
+ prores422hq: 'Premiere, Final Cut, Resolve용 편집 마스터.',
380
+ prores4444: '투명도 포함, 합성 및 After Effects용.',
381
+ png: '프레임마다 알파가 포함된 PNG 1장, 3D 및 게임 엔진용.',
382
+ hevc_alpha: 'Apple 앱과 Safari에서 기본 재생되는 투명도.',
383
+ },
384
+ notOnThisComputer: '이 컴퓨터의 ffmpeg로는 만들 수 없습니다',
385
+ frame: '프레임',
386
+ frameNative: '원본',
387
+ fillContain: '레터박스로 맞추기',
388
+ fillCover: '채우고 자르기',
389
+ resolution: '해상도',
390
+ fps: '프레임 레이트',
391
+ fpsSource: '소스',
392
+ audio: '사운드',
393
+ includeAudio: '사운드 포함',
394
+ subtitles: '자막',
395
+ burnIn: '자막을 화면에 입히기',
396
+ noSidecar: '파일 없음',
397
+ gifWidth: '크기',
398
+ gifHint: '팁: 몇 초 정도의 구간을 선택하세요. 640px의 10초 GIF는 보통 몇 MB입니다.',
399
+ format: '형식',
400
+ audioHint: {
401
+ wav: '무손실, 편집용',
402
+ m4a: '작은 용량, 고품질',
403
+ mp3: '어디서나 재생',
404
+ },
405
+ contents: '내용',
406
+ audioMix: '전체 믹스',
407
+ audioStems: '개별 스템',
408
+ stem: {
409
+ voice: '음성',
410
+ music: '음악',
411
+ sfx: '효과음',
412
+ footage: '영상 소리',
413
+ },
414
+ stemsHint: '스템은 더킹 없이 내보내므로 편집 프로그램에서 밸런스를 다시 맞출 수 있습니다.',
415
+ transcript: '대본',
416
+ subsHint: {
417
+ srt: '거의 모든 곳에서 사용 가능',
418
+ vtt: '웹 플레이어, YouTube, LMS',
419
+ txt: '문서 및 번역용 일반 텍스트',
420
+ },
421
+ captionCount: '이 영상에 자막 {n}줄이 있습니다.',
422
+ poster: '포스터',
423
+ posterAt: '{time} 프레임 내보내기',
424
+ posterMiddle: '중간 프레임 내보내기',
425
+ sceneStills: '샷 스틸',
426
+ sceneStillsDesc: '각 샷의 중간에서 이미지 1장씩({n}개 샷), ZIP으로 압축.',
427
+ stills: '샷 스틸',
428
+ sequence: '시퀀스',
429
+ slidesHint: {
430
+ pptx: 'PowerPoint, Keynote, Google Slides에서 열림',
431
+ pdf: '인쇄 및 공유용',
432
+ },
433
+ range: '범위',
434
+ rangeAll: '영상 전체',
435
+ rangePart: '일부 구간',
436
+ rangeFrom: '시작',
437
+ rangeTo: '끝',
438
+ saveTo: '저장 위치',
439
+ fileName: '이름',
440
+ change: '변경…',
441
+ pickTitle: '내보내기 저장 위치 선택',
442
+ pickButton: '선택',
443
+ summary: '파일 {n}개 · {dur}',
444
+ approx: '약',
445
+ emptyFilm: '영상이 비어 있습니다. 먼저 클립을 추가하세요.',
446
+ missingMedia: '미디어 파일 {n}개가 없습니다: {files}. 먼저 타임라인의 빨간 클립을 오른쪽 클릭해 다시 연결하세요.',
447
+ pickPreset: '플랫폼을 하나 이상 선택하세요.',
448
+ noCaptions: '이 영상에는 자막이 없습니다.',
449
+ noAudio: '이 영상에는 사운드가 없습니다.',
450
+ noFolder: '먼저 저장 위치를 선택하세요.',
451
+ engineDown: '로컬 엔진이 응답하지 않습니다. OpenFilm을 다시 시작한 뒤 다시 시도하세요.',
452
+ engineDesktop: '이 컴퓨터에서 하드웨어 인코딩으로 렌더링합니다. 아무것도 업로드되지 않습니다.',
453
+ queueing: '시작하는 중…',
454
+ export: '내보내기',
455
+ exportN: '파일 {n}개 내보내기',
456
+ alphaSource: '내보낼 대상',
457
+ alphaWhole: '영상 전체',
458
+ alphaWholeHint: '배경 제거됨',
459
+ alphaNoBlocks: '이 영상에는 따로 내보낼 페이지가 없습니다.',
460
+ alphaCodecHint: {
461
+ prores4444: 'After Effects, Premiere, Final Cut, DaVinci Resolve',
462
+ hevc_alpha: 'Final Cut, Keynote, Safari, iOS 앱. ProRes보다 훨씬 작습니다',
463
+ vp9: '웹사이트: Chrome, Firefox, Edge에서 페이지 위에 재생됩니다',
464
+ png: '게임 엔진, 3D, Nuke 등 어디서나 읽을 수 있습니다',
465
+ },
466
+ alphaScale: '크기',
467
+ alphaHint: '영상이 그리는 것만 남기고 스테이지 배경은 제거됩니다. 요소가 화면 전체에 자체 배경을 칠하면 불투명하게 내보내집니다. 그 배경은 별도 클립으로 분리하세요.',
468
+ nleFor: '대상',
469
+ nleDraftTitle: '{app} 초안',
470
+ nleSrt: '자막 포함(SRT)',
471
+ nleSubs: '자막 포함',
472
+ nleHintFinalCut: 'FCPXML과 미디어 폴더가 담긴 폴더를 만듭니다. Final Cut Pro에서: 파일 › 가져오기 › XML. 자막은 타이틀 클립으로 들어오고 SRT 사본도 함께 저장됩니다. Final Cut Pro는 Mac 전용입니다. Windows나 Linux에서는 폴더를 Mac으로 옮긴 뒤 다시 연결하세요.',
473
+ nleHintPremiere: 'XML과 미디어 폴더가 들어 있는 폴더를 만듭니다. Premiere Pro에서: 파일 › 가져오기. 폴더를 그 자리에 두거나, 옮긴 뒤에는 미디어를 다시 연결하세요.',
474
+ nleHintResolve: 'XML과 미디어 폴더가 들어 있는 폴더를 만듭니다. DaVinci Resolve에서: 파일 › 가져오기 › 타임라인. 폴더를 그 자리에 두거나, 옮긴 뒤에는 미디어를 다시 연결하세요.',
475
+ nleHintDraft: '{app}의 초안 폴더에 바로 만들어서 {app} 홈 화면에 나타납니다({app}이 열려 있으면 다시 시작하세요). 페이지는 알파가 포함된 클립으로, 자막은 텍스트 트랙으로 들어갑니다.',
476
+ nleHintDraftNone: '이 컴퓨터에서 {app}을 찾지 못했습니다. 초안은 내보내기 폴더에 만들어집니다. {app}의 초안 폴더(설정 › 초안 위치)로 옮기세요.',
477
+ nleAudio: '타임라인의 사운드',
478
+ nleAudioClips: '개별 클립',
479
+ nleAudioStems: '믹스된 스템',
480
+ nleAlpha: '페이지 인코딩',
481
+ nleAlphaAuto: '자동',
482
+ nleAlphaHint: {
483
+ auto: '페이지마다 모든 프레임을 확인합니다. 불투명하면 H.264(작고 재생이 매끄러움), 조금이라도 투명하면 무손실 PNG',
484
+ png: '무손실이라 픽셀 하나까지 같습니다. 용량은 보통이고 Mac과 Windows 모두에서 쓸 수 있습니다',
485
+ prores: '편집용 마스터: 불투명한 페이지는 ProRes 422 HQ, 투명한 페이지는 4444. 용량이 매우 큽니다',
486
+ prores4444: '편집 프로그램 공통의 마스터 형식. 용량이 매우 큽니다: 1080p 기준 1분에 약 2.8GB',
487
+ },
488
+ projectZip: 'Zip',
489
+ projectZipHint: '파일 하나로, 보내거나 업로드하기 쉽습니다.',
490
+ projectFolder: '폴더',
491
+ projectFolderHint: '프로젝트 폴더의 사본으로, 바로 열 수 있습니다.',
492
+ projectPart: {
493
+ work: '작업물',
494
+ history: '버전 기록',
495
+ chat: '대화',
496
+ logs: '디버그 로그',
497
+ },
498
+ projectPartHint: {
499
+ work: '영상, 페이지와 코드, 미디어, 자막 스타일.',
500
+ history: '모든 커밋과 브랜치. 받는 사람도 이전 버전으로 돌아갈 수 있습니다.',
501
+ chat: '이 프로젝트의 채팅과 에이전트 세션. 개인적인 내용이라 기본적으로 꺼져 있습니다.',
502
+ logs: '모델에 보낸 요청 전체. 개인적인 내용이라 기본적으로 꺼져 있습니다.',
503
+ },
504
+ projectPartNone: '이 프로젝트에는 아직 없습니다.',
505
+ projectHint: '캐시는 포함되지 않습니다. 프로젝트를 열면 OpenFilm이 다시 만듭니다.',
506
+ },
507
+ exportTray: {
508
+ running: '{n}개 내보내는 중…',
509
+ finished: '내보내기 완료',
510
+ failedOne: '내보내기에 실패했습니다',
511
+ studioStopped: '내보내는 도중 Studio가 멈춰 완료되지 않았습니다. 다시 내보내세요.',
512
+ failedAll: '내보내기에 모두 실패했습니다',
513
+ cancelledOne: '내보내기가 취소되었습니다',
514
+ cancelledAll: '내보내기가 모두 취소되었습니다',
515
+ countDone: '{n}개 완료',
516
+ countCancelled: '{n}개 취소됨',
517
+ countFailed: '{n}개 실패',
518
+ took: '{time} 소요',
519
+ fileGone: '파일이 내보낸 위치에 더 이상 없습니다. 이동되었거나 삭제되었습니다.',
520
+ expand: '펼치기',
521
+ collapse: '접기',
522
+ close: '닫기',
523
+ cancel: '취소',
524
+ open: '열기',
525
+ reveal: `${FILES}에서 보기`,
526
+ queued: '대기 중…',
527
+ phase: {
528
+ preparing: '준비 중',
529
+ audio: '사운드 믹싱 중',
530
+ rendering: '렌더링 중',
531
+ encoding: '인코딩 중',
532
+ finishing: '마무리 중',
533
+ copying: '복사 중',
534
+ },
535
+ eta: '남음',
536
+ files: '파일 {n}개',
537
+ cancelled: '취소됨',
538
+ cancelling: '취소하는 중…',
539
+ failed: '내보내기 실패',
540
+ draftsRefused: "초안 폴더에 쓰기가 거부되어(보안 소프트웨어 때문인 경우가 많습니다) 초안은 내보내기 폴더에 있습니다. {folder}(으)로 옮기세요.",
541
+ diskFull: '디스크 공간이 부족합니다. 공간을 확보한 뒤 다시 내보내세요.',
542
+ notTransparent: '투명한 픽셀이 없습니다. 이 요소가 자체 배경을 칠하고 있습니다.',
543
+ },
544
+ player: {
545
+ playTitle: '재생 (space / k)',
546
+ pauseTitle: '일시 정지 (space / k)',
547
+ captionsTitle: '자막 (c)',
548
+ exitFullscreenTitle: '전체 화면 종료 (f)',
549
+ muteTitle: '음소거 (m)',
550
+ unmuteTitle: '음소거 해제 (m)',
551
+ volume: '볼륨',
552
+ settings: '설정',
553
+ speed: '재생 속도',
554
+ speedNormal: '보통',
555
+ seek: '탐색',
556
+ },
557
+ project: {
558
+ projects: '프로젝트',
559
+ previewStageMount: '첫 프레임을 그리는 중',
560
+ dropOnPicture: '놓으면 재생 헤드 위치에 영상으로 넣습니다',
561
+ editsUndone: 'Studio 외부의 변경(에이전트가 film.html을 저장함)으로 내 편집 {n}개가 되돌려졌습니다.',
562
+ editsUndoneShort: '되돌려진 편집: {n}',
563
+ editsRestore: '복원',
564
+ editsLeaveOut: '제외',
565
+ previewFailed: '미리보기를 그릴 수 없습니다.',
566
+ previewBrowser: '이 페이지는 현재 브라우저가 지원하지 않는 기능을 사용합니다. 영상은 Chromium으로 그리고 내보내므로 Studio를 Chrome이나 Edge에서 여세요.',
567
+ previewMissing: '미디어 없음: {file} · 클립 오른쪽 클릭으로 다시 연결',
568
+ filmEmptyHint: '미디어를 타임라인으로 끌어와 영상을 시작하거나, 에이전트에게 만들어 달라고 요청하세요.',
569
+ filmBroken: '지금은 film.html을 읽을 수 없어 Studio가 마지막 상태의 영상을 보여 줍니다. 문제가 해결될 때까지 여기서 한 편집은 저장할 수 없습니다:',
570
+ filmNotReady: '비디오가 아직 준비되지 않았습니다',
571
+ filmCannotExport: '영상을 그릴 수 없는 동안에는 내보낼 수 없습니다:',
572
+ untitled: '제목 없음',
573
+ appMenu: '설정',
574
+ close: '닫기',
575
+ deleteFailed: '삭제하지 못했습니다. 다시 시도하세요.',
576
+ renameFailed: '이름을 변경하지 못했습니다. 다시 시도하세요.',
577
+ },
578
+ history: {
579
+ stepFade: '페이드',
580
+ stepTransition: '전환 효과 추가',
581
+ stepTransitionResize: '전환 효과 길이',
582
+ stepTransitionRemove: '전환 효과 제거',
583
+ stepDuplicate: "복제",
584
+ stepDuplicated: "{clip} 복제",
585
+ undo: '실행 취소',
586
+ redo: '다시 실행',
587
+ sessionEmpty: '아직 직접 한 편집이 없습니다',
588
+ opsTitle: '편집 기록',
589
+ opsHint: '버전으로 저장되지 않음 · 종료 시 지워짐',
590
+ stepMove: '이동 / 트리밍',
591
+ stepTransform: '변형',
592
+ stepStyle: '스타일',
593
+ stepVolume: '볼륨',
594
+ stepTrackOrder: '트랙 순서',
595
+ stepTrackFlag: '트랙 전환',
596
+ stepLocked: '{track} 잠금',
597
+ stepUnlocked: '{track} 잠금 해제',
598
+ stepHid: '{track} 숨김',
599
+ stepShowed: '{track} 표시',
600
+ stepMuted: '{track} 음소거',
601
+ stepUnmuted: '{track} 음소거 해제',
602
+ stepRemove: '삭제',
603
+ stepRemoved: '{clip} 삭제',
604
+ stepMoved: '{clip} 이동',
605
+ stepTrimmed: '{clip} 트리밍',
606
+ stepSplit: '{clip} 분할',
607
+ stepDetachAudio: '{clip}의 오디오 분리',
608
+ stepRippleTrimmed: '{clip} 리플 트림',
609
+ stepGapClosed: '간격 메움',
610
+ stepGapsClosed: '트랙의 간격을 메움',
611
+ stepMainClosed: '메인 트랙을 메움',
612
+ stepLinked: '{clip} 연결',
613
+ stepUnlinked: '{clip} 연결 해제',
614
+ stepSpeed: '{clip} 속도 변경',
615
+ stepPaste: '붙여넣기',
616
+ stepDrop: '에셋 추가',
617
+ stepEdit: '편집',
618
+ stepRestoreEdits: '내 편집 다시 적용',
619
+ stepSubtitleTimed: '자막 타이밍 변경',
620
+ stepSubtitleSplit: '자막 분할',
621
+ stepSubtitleMerged: '자막 병합',
622
+ stepSubtitleRemoved: '자막 삭제',
623
+ stepSubtitleText: '자막 편집',
624
+ stepSubtitleAdded: '자막 추가',
625
+ stepMarker: '마커 변경',
626
+ stepNormalized: "라우드니스를 {clip} LUFS로 정규화",
627
+ stepFroze: "{clip}의 프레임 고정",
628
+ stepReplaced: "{clip} 바꿈",
629
+ justNow: '방금',
630
+ minutesAgo: '{n}분 전',
631
+ hoursAgo: '{n}시간 전',
632
+ daysAgo: '{n}일 전',
633
+ },
634
+ versions: {
635
+ title: '버전 기록',
636
+ close: '닫기',
637
+ working: '처리 중…',
638
+ branchOf: '브랜치: {branch}',
639
+ branches: '브랜치',
640
+ branchCount: '브랜치 {n}개',
641
+ branchCountOne: '브랜치 1개',
642
+ newBranch: '새 브랜치',
643
+ newBranchTitle: '새 브랜치',
644
+ newBranchBody: '“{branch}”의 지금 위치에서 시작합니다. 커밋하지 않은 변경도 함께 옮겨집니다.',
645
+ newBranchBodyClean: '“{branch}”의 지금 위치에서 시작합니다.',
646
+ newBranchFromTitle: '“{name}”에서 새 브랜치',
647
+ newBranchFromBody: '이 버전에서 시작합니다. “{branch}”는 그대로 둡니다.',
648
+ branchName: '브랜치 이름',
649
+ create: '만들기',
650
+ switchTitle: '“{name}”(으)로 전환할까요?',
651
+ switchBody: '“{branch}”에 커밋하지 않은 변경이 있습니다.',
652
+ leaveChanges: '{branch}에 두기',
653
+ bringChanges: '{name}(으)로 가져가기',
654
+ cancel: '취소',
655
+ rename: '이름 바꾸기',
656
+ renameTitle: '“{name}” 이름 바꾸기',
657
+ save: '저장',
658
+ delete: '삭제',
659
+ deleteTitle: '브랜치 “{name}”을(를) 삭제할까요?',
660
+ deleteBody: '브랜치가 삭제됩니다. 다른 브랜치에 있는 버전은 그대로 남습니다.',
661
+ deleteForceTitle: '“{name}”과(와) 그 버전을 삭제할까요?',
662
+ deleteForceBody: '“{name}”의 버전 {n}개는 다른 어떤 브랜치에도 없습니다. 삭제하면 되돌릴 수 없습니다.',
663
+ deleteForceBodyOne: '“{name}”의 버전 1개는 다른 어떤 브랜치에도 없습니다. 삭제하면 되돌릴 수 없습니다.',
664
+ deleteForce: '그래도 삭제',
665
+ mergeInto: '{branch}에 병합',
666
+ mergeTitle: '“{name}”을(를) “{branch}”에 병합',
667
+ mergeBody: '“{name}”에서 한 작업이 “{branch}”에 들어옵니다.',
668
+ mergeMessage: '{name} 병합',
669
+ mergeConfirm: '병합',
670
+ mergeConflictTitle: '“{name}”과(와) “{branch}”가 같은 부분을 바꿨습니다',
671
+ mergeConflictBody: '서로 다른 부분에서 어느 쪽을 남길지 고르세요. 나머지는 양쪽 모두 유지됩니다.',
672
+ keepOurs: '{branch} 쪽 유지',
673
+ keepTheirs: '{name} 쪽 사용',
674
+ nothingToMerge: '“{branch}”에 “{name}”의 내용이 이미 모두 있습니다.',
675
+ current: '현재',
676
+ parked: '여기 남겨 둔 변경 있음',
677
+ parkedStuck: '이 브랜치에 남겨 둔 변경이 지금 내용과 충돌해 아직 보관 중입니다.',
678
+ changesTitle: '커밋하지 않은 변경',
679
+ noChanges: '모두 커밋됨',
680
+ firstCommitHint: '아직 커밋이 없습니다. 커밋하면 지금 영상이 버전으로 남아 언제든 돌아올 수 있습니다.',
681
+ messagePlaceholder: '이 버전 설명 (필수)',
682
+ commit: '커밋',
683
+ discard: '변경 버리기',
684
+ discardTitle: '커밋하지 않은 변경을 모두 버릴까요?',
685
+ discardBody: '영상이 마지막 커밋으로 돌아갑니다. 그 뒤에 추가한 파일은 휴지통으로 이동합니다.',
686
+ historyOf: '기록 · {branch}',
687
+ restore: '이 버전으로 되돌리기',
688
+ restoreTitle: '“{name}”(으)로 되돌릴까요?',
689
+ restoreBody: '영상이 이 버전이 되고, 커밋하지 않은 변경으로 표시됩니다. 커밋하면 남고, 버리면 지금으로 돌아옵니다.',
690
+ restoreDirtyBody: '커밋하지 않은 변경이 있습니다. 되돌리기 전에 먼저 버립니다 (추가한 파일은 휴지통으로 이동).',
691
+ restoreDiscard: '버리고 되돌리기',
692
+ restoreConfirm: '되돌리기',
693
+ restoredMessage: '“{name}”(으)로 되돌림',
694
+ branchFrom: '여기서 새 브랜치',
695
+ moreActions: '더 보기',
696
+ scenesAdded: '장면 {n}개 추가',
697
+ scenesAddedOne: '장면 1개 추가',
698
+ scenesEdited: '장면 {n}개 수정',
699
+ scenesEditedOne: '장면 1개 수정',
700
+ scenesRemoved: '장면 {n}개 삭제',
701
+ scenesRemovedOne: '장면 1개 삭제',
702
+ soundsAdded: '소리 {n}개 추가',
703
+ soundsAddedOne: '소리 1개 추가',
704
+ soundsEdited: '소리 {n}개 수정',
705
+ soundsEditedOne: '소리 1개 수정',
706
+ soundsRemoved: '소리 {n}개 삭제',
707
+ soundsRemovedOne: '소리 1개 삭제',
708
+ look: '화면이 바뀜',
709
+ same: '영상 변경 없음',
710
+ errorDirty: '먼저 커밋하지 않은 변경을 커밋하거나 버리세요.',
711
+ errorNothing: '커밋할 변경이 없습니다.',
712
+ errorCarry: '변경이 그 브랜치 내용과 충돌합니다. 이 브랜치에 남겨 두세요.',
713
+ errorExists: '같은 이름의 브랜치가 이미 있습니다.',
714
+ errorName: '브랜치 이름으로 쓸 수 없습니다.',
715
+ errorMessage: '먼저 버전을 설명하세요.',
716
+ errorCurrent: '지금 그 브랜치에 있습니다.',
717
+ errorUnavailable: '지금은 버전 기록을 사용할 수 없습니다. 잠시 후 다시 시도하세요.',
718
+ errorGeneric: '완료하지 못했습니다. 다시 시도하세요.',
719
+ progressScan: '영상의 파일을 읽는 중… {done}/{total}',
720
+ progressStore: '미디어를 보관하는 중… {done}/{total}',
721
+ progressWrite: '파일을 쓰는 중… {done}/{total}',
722
+ progressMigrate: '이 프로젝트의 기록을 업데이트하는 중… {done}/{total}',
723
+ heldFiles: '기록에 포함: 영상이 쓰는 파일 {n}개',
724
+ heldFilesOne: '기록에 포함: 영상이 쓰는 파일 1개',
725
+ ignoredFiles: '기록에 없음: 영상이 쓰지 않는 파일 {n}개',
726
+ ignoredFilesOne: '기록에 없음: 영상이 쓰지 않는 파일 1개',
727
+ },
728
+ stageMenu: {
729
+ align: '정렬',
730
+ lock: '잠금',
731
+ unlock: '잠금 해제',
732
+ lockedHint: '잠겨 있음. 이동하거나 편집하려면 잠금을 해제하세요',
733
+ hideAll: '숨기기',
734
+ showAll: '표시',
735
+ editText: '텍스트 편집',
736
+ replacePicture: '이미지 바꾸기',
737
+ pictureOwn: '원래 이미지로',
738
+ duplicate: '복제',
739
+ front: '맨 앞으로 가져오기',
740
+ back: '맨 뒤로 보내기',
741
+ arrangeHint: '이 레이어는 위치가 지정되지 않아 순서를 바꿀 수 없습니다',
742
+ arrangeAlone: '겹치는 요소가 없어 순서 변화가 보이지 않습니다',
743
+ arrangeBlocked: '순서를 바꿀 수 없습니다: 안에 배치된 요소가 움직입니다',
744
+ arrangeFrontAlready: '이미 겹친 요소들 맨 앞에 있습니다',
745
+ arrangeBackAlready: '이미 겹친 요소들 맨 뒤에 있습니다',
746
+ hide: '숨기기',
747
+ show: '표시',
748
+ reset: '조정 초기화',
749
+ resetNone: '아직 직접 조정한 것이 없습니다',
750
+ selectParent: '상위 요소 선택',
751
+ selectClip: '클립 전체 선택',
752
+ copyText: '텍스트 복사',
753
+ resetTransform: '변형 초기화',
754
+ },
755
+ stageCrop: {
756
+ bar: '자르기',
757
+ free: '자유',
758
+ original: '원본 비율',
759
+ cancel: '취소',
760
+ cancelHint: '자르기를 원래대로 두기 (Esc)',
761
+ done: '완료',
762
+ doneHint: '자르기 적용 (Enter)',
763
+ },
764
+ stageMask: {
765
+ move: '마스크 이동',
766
+ resize: '마스크 크기 조절',
767
+ turn: '마스크 회전',
768
+ feather: '페더: 바깥쪽으로 드래그',
769
+ },
770
+ assets: {
771
+ kindPage: '페이지',
772
+ catImage: '이미지',
773
+ catVideo: '비디오',
774
+ catOther: '기타',
775
+ newFolder: '새 폴더',
776
+ newFolderFailed: '폴더를 만들 수 없습니다',
777
+ rename: '이름 변경',
778
+ renameFailed: '이름을 변경할 수 없습니다',
779
+ renameTaken: '이미 사용 중인 이름입니다',
780
+ renameKind: '“{from}”의 이름을 “{to}”(으)로 바꿀 수 없습니다. 확장자는 파일의 종류를 나타내는데, 이렇게 바꾸면 종류가 달라집니다. 같은 종류의 확장자를 유지하세요.',
781
+ delete: '삭제',
782
+ deleteConfirmTitle: '이 에셋을 삭제할까요?',
783
+ deleteConfirm: '휴지통으로 옮겨지며, 휴지통에서 되살릴 수 있습니다.',
784
+ deleteAlsoClip: '휴지통으로 옮겨지며, 휴지통에서 되살릴 수 있습니다. 타임라인에서 이 에셋을 사용하는 클립도 제거됩니다.',
785
+ deleteAlsoClips: '휴지통으로 옮겨지며, 휴지통에서 되살릴 수 있습니다. 타임라인에서 이 에셋을 사용하는 클립 {n}개도 제거됩니다.',
786
+ deleteFailed: '삭제할 수 없습니다',
787
+ extractAudio: '오디오를 새 파일로 추출',
788
+ extractAudioFailed: '이 비디오에서 소리를 추출하지 못했습니다',
789
+ download: '다운로드',
790
+ props: '속성',
791
+ propType: '유형',
792
+ propSize: '크기',
793
+ propDuration: '길이',
794
+ propDimensions: '크기(픽셀)',
795
+ propFps: '프레임 레이트',
796
+ propModified: '수정한 날짜',
797
+ propLinked: "보관 위치",
798
+ propProxy: "프록시",
799
+ kindAudio: '오디오',
800
+ uploadFailed: '가져오기에 실패했습니다. 다시 시도하세요',
801
+ unreadable: '“{name}”을(를) 가져왔지만 이미지, 비디오 또는 사운드로 읽을 수 없습니다({why}). 파일을 확인하거나 다른 사본을 가져오세요.',
802
+ imported: '파일 {n}개를 미디어로 가져왔습니다',
803
+ },
804
+ saved: {
805
+ title: '보관함',
806
+ back: '프로젝트 미디어로 돌아가기',
807
+ add: '보관함에 추가',
808
+ addTogether: '클립 {n}개를 하나로 보관함에 추가',
809
+ addEach: '하나씩 보관함에 추가',
810
+ added: '보관함에 추가했습니다',
811
+ addedMany: '{n}개를 보관함에 추가했습니다',
812
+ failed: '보관함에 추가하지 못했습니다: {error}',
813
+ emptyTitle: '보관함이 아직 비어 있습니다',
814
+ emptyBody: '보관함은 모든 프로젝트에서 쓸 수 있습니다. 어떤 파일이든 업로드하거나 끌어다 놓고, 타임라인의 클립을 오른쪽 클릭해 보관함에 추가할 수도 있습니다.',
815
+ component: '컴포넌트',
816
+ kind_clip: '클립',
817
+ kind_group: '클립 묶음',
818
+ kind_page: '페이지',
819
+ },
820
+ media: {
821
+ insertSource: "재생 헤드에 삽입",
822
+ overwriteSource: "재생 헤드에 덮어쓰기",
823
+ results: '결과',
824
+ moveFailed: '그곳으로 옮길 수 없습니다.',
825
+ moveAskTitle: '일부 경로는 자동으로 바꿀 수 없습니다',
826
+ moveAskBody: '페이지를 옮기면 Studio가 읽을 수 있는 링크를 고쳐 씁니다. 아래 항목은 실행 중에 만들어지므로 이전 위치를 계속 가리킵니다. 옮긴 뒤 확인하거나 에이전트에게 고쳐 달라고 하세요.',
827
+ moveAskConfirm: '그래도 옮기기',
828
+ viewGrid: '격자로 보기',
829
+ viewList: '목록으로 보기',
830
+ moveTaken: '{folder}에 이미 “{name}”(이)라는 파일이 있습니다. 먼저 둘 중 하나의 이름을 바꾸세요.',
831
+ emptyFolder: '이 폴더는 비어 있습니다',
832
+ deleteFolderTitle: '“{name}” 폴더를 삭제할까요?',
833
+ cannotPreview: '이 파일은 여기서 미리 볼 수 없습니다.',
834
+ scrub: '위치',
835
+ search: '미디어 검색',
836
+ searchShort: "검색",
837
+ clearSearch: '검색 지우기',
838
+ sort: '정렬',
839
+ import: '미디어 가져오기',
840
+ upload: '업로드',
841
+ filter: '표시',
842
+ filter_all: '전체',
843
+ filter_video: '비디오',
844
+ filter_image: '이미지',
845
+ filter_audio: '오디오',
846
+ filter_page: '페이지',
847
+ filter_other: "기타",
848
+ dismiss: '닫기',
849
+ emptyTitle: '아직 미디어가 없습니다',
850
+ emptyBody: "비디오, 이미지, 사운드 등 어떤 파일이든 가져오거나 여기에 끌어다 놓으세요. 에이전트가 이 프로젝트에 저장한 것도 여기에 나타납니다.",
851
+ noMatch: '검색과 일치하는 항목이 없습니다.',
852
+ copyPath: '경로 복사',
853
+ dropHint: '놓으면 이 프로젝트로 가져옵니다',
854
+ sort_name: '이름',
855
+ sort_time: '추가한 날짜',
856
+ sort_duration: '길이',
857
+ sort_type: '유형',
858
+ moveTo: "이동",
859
+ moveHere: "이미 여기에 있습니다",
860
+ deleteMany: "항목 {n}개 삭제",
861
+ deleteManyTitle: "항목 {n}개를 삭제할까요?",
862
+ deleteManyConfirm: "휴지통으로 옮겨지며, 휴지통에서 되살릴 수 있습니다.",
863
+ deleteManyAlsoClip: "휴지통으로 옮겨지며, 휴지통에서 되살릴 수 있습니다. 타임라인에서 이 중 하나를 사용하는 클립도 제거됩니다.",
864
+ deleteManyAlsoClips: "휴지통으로 옮겨지며, 휴지통에서 되살릴 수 있습니다. 타임라인에서 이 항목들을 사용하는 클립 {n}개도 제거됩니다.",
865
+ importFiles: "파일 가져오기…",
866
+ importFilesNote: "프로젝트에 사본을 넣습니다",
867
+ linkFiles: "파일 연결…",
868
+ linkFilesNote: "NAS나 다른 디스크 등 원래 위치에 그대로 둡니다",
869
+ linkFolder: "폴더 연결…",
870
+ pickImport: "가져올 파일 선택",
871
+ pickLink: "연결할 파일 선택",
872
+ pickLinkFolder: "연결할 폴더 선택",
873
+ pickRelink: "지금 어디에 있나요?",
874
+ noDialog: "이 시스템에는 Studio가 열 수 있는 파일 대화상자가 없습니다. 파일을 여기에 끌어다 놓으세요.",
875
+ revealOriginal: "원본 보기",
876
+ relink: "다시 연결…",
877
+ relinkFailed: "그곳에 연결할 수 없습니다",
878
+ collect: "프로젝트로 복사",
879
+ collectNote: "원본은 그대로 남습니다",
880
+ collectFailed: "프로젝트로 복사할 수 없습니다",
881
+ linkMissing: "찾을 수 없음",
882
+ linkedFrom: "{path}에서 연결됨",
883
+ proxy: "프록시",
884
+ proxyMaking: "프록시 만드는 중… {p}%",
885
+ proxyWaiting: "프록시 대기 중",
886
+ proxyFailed: "프록시를 만들 수 없어 원본으로 재생합니다",
887
+ proxyReady: "준비됨: 뷰어에서 재생합니다",
888
+ },
889
+ assetsPane: {
890
+ show: '에셋 표시',
891
+ hide: '에셋 숨기기',
892
+ },
893
+ layers: {
894
+ movesGroup: '{name} 전체가 이동',
895
+ title: '레이어',
896
+ showPane: '레이어 표시',
897
+ hidePane: '레이어 숨기기',
898
+ resize: '레이어 / 뷰어 너비 조정',
899
+ empty: '지금 화면에 아무것도 없습니다. 재생 헤드를 클립 위로 옮기세요.',
900
+ expand: '펼치기',
901
+ collapse: '접기',
902
+ hide: '숨기기',
903
+ show: '표시',
904
+ lock: '잠금',
905
+ unlock: '잠금 해제',
906
+ notNow: '지금은 화면에 없습니다',
907
+ restackFailed: '이 레이어의 순서를 바꾸지 못했습니다. 화면이 바뀌었을 수 있으니 다시 시도하세요.',
908
+ },
909
+ viewer: {
910
+ stats: '{fps} 프레임/초 · 지연 {late}',
911
+ statsRendered: '렌더링에서 재생',
912
+ loopRange: "범위 반복 재생",
913
+ loopFilm: "반복 재생",
914
+ play: '재생',
915
+ pause: '일시 정지',
916
+ frameCustom: '사용자 지정',
917
+ ratioOriginal: '원본',
918
+ ratioPhone: '5.8인치',
919
+ frameCustomW: '너비',
920
+ frameCustomH: '높이',
921
+ frameCustomApply: '이 비율 사용',
922
+ frameCustomRange: '1:4부터 4:1까지',
923
+ fullscreen: '전체 화면',
924
+ playback: '재생 설정',
925
+ speed: '재생 속도',
926
+ },
927
+ inspector: {
928
+ fades: '페이드',
929
+ fadeIn: '페이드 인',
930
+ fadeOut: '페이드 아웃',
931
+ transition: '전환 효과',
932
+ transitionLength: '길이',
933
+ transitionRemove: '전환 효과 제거',
934
+ trackLocked: "잠긴 트랙에 있습니다: 바꾸려면 타임라인에서 트랙 잠금을 해제하세요.",
935
+ frameRate: "프레임 레이트",
936
+ frameRateFootage: "영상에서 가져왔습니다. 타임코드, 프레임 이동, 내보내기 기본 레이트에 쓰입니다.",
937
+ frameRateNote: "타임코드, 프레임 이동, 내보내기 기본 레이트에 쓰입니다.",
938
+ panel: '인스펙터',
939
+ show: '인스펙터 표시',
940
+ hide: '인스펙터 숨기기',
941
+ resize: '뷰어 / 인스펙터 크기 조정',
942
+ empty: '화면의 무엇이든(텍스트 한 줄, 이미지, 도형) 또는 타임라인의 클립을 클릭하세요.',
943
+ appearance: '모양',
944
+ typography: '타이포그래피',
945
+ content: '텍스트',
946
+ fontSize: '크기',
947
+ fontWeight: '굵기',
948
+ fontFamily: '글꼴',
949
+ fontSearch: '글꼴 검색',
950
+ fontUse: '“{name}” 사용',
951
+ fontNone: '일치하는 글꼴 없음',
952
+ fontGroupLatin: '라틴',
953
+ fontGroupZh: '중국어',
954
+ fontGroupJa: '일본어',
955
+ fontGroupKo: '한국어',
956
+ fontGroupProject: '이 프로젝트',
957
+ fontGroupRecent: '최근 사용',
958
+ fontElsewhere: '다른 페이지',
959
+ fontMissing: '설치되지 않음 — 화면은 대체 글꼴을 사용합니다',
960
+ fontLoading: '글꼴 불러오는 중…',
961
+ fontSizes: '자주 쓰는 크기',
962
+ weightItalic: '{name} 이탤릭',
963
+ color: '색상',
964
+ fill: '채우기',
965
+ opacity: '불투명도',
966
+ letterSpacing: '자간',
967
+ lineHeight: '행간',
968
+ textAlign: '정렬',
969
+ width: '너비',
970
+ height: '높이',
971
+ radius: '모서리 반경',
972
+ fit: '이미지가 상자를 채우는 방식',
973
+ fitContain: '맞추기',
974
+ fitCover: '채우기',
975
+ fitFill: '늘이기',
976
+ cropTop: '위쪽 자르기',
977
+ cropBottom: '아래쪽 자르기',
978
+ cropLeft: '왼쪽 자르기',
979
+ cropRight: '오른쪽 자르기',
980
+ shadow: '그림자',
981
+ custom: '사용자 지정',
982
+ blend: '블렌드 모드',
983
+ clipCss: '사용자 지정 CSS',
984
+ clipCssEmpty: '한 줄에 속성 하나씩, 예: filter: saturate(1.2)',
985
+ mapTextShared: '사본 {n}개가 모두 공유',
986
+ multi: '클립 {n}개 선택됨',
987
+ multiLayers: '레이어 {n}개 선택됨',
988
+ multiLayersHint: '화면에서 드래그해 함께 이동하거나, 화살표 키로 미세 이동하거나, 마우스 오른쪽 버튼을 클릭해 정렬하세요. 하나만 바꾸려면 그것을 클릭하세요.',
989
+ kindPage: '페이지',
990
+ kindVideo: '비디오',
991
+ kindAudio: '오디오',
992
+ kindCaption: '자막',
993
+ x: 'X',
994
+ y: 'Y',
995
+ scale: '비율',
996
+ rotate: '회전',
997
+ resetTransform: '변형 초기화',
998
+ at: '시작',
999
+ duration: '길이',
1000
+ inPoint: '시작 지점',
1001
+ inPointWhole: '클립이 파일 전체를 재생하고 있습니다. 시작 지점을 옮기려면 먼저 줄이세요.',
1002
+ speed: '속도',
1003
+ speedLimit: '{n}×보다 느리면 다음 클립과 겹칩니다. 메인 트랙에서는 타임라인의 자석이 뒤 클립을 밀어냅니다.',
1004
+ speedTooSlow: '{n}×보다 느리면 같은 트랙의 다음 클립과 겹칩니다.',
1005
+ sound: '사운드',
1006
+ gainDb: '볼륨',
1007
+ pageChanges: '페이지 안의 변경 사항',
1008
+ templateOffPicture: '재생 헤드를 이 클립 위로 옮기면 지금 값이 보입니다.',
1009
+ props: '속성',
1010
+ propsEmpty: '이 페이지에서 레이어를 선택하고 텍스트, 이미지, 모양 옆의 ◇를 누르면 속성이 됩니다.',
1011
+ propsAdd: '페이지 변수에서 속성 추가',
1012
+ propsNoVars: '이 페이지에는 변수가 없습니다',
1013
+ propsResetAll: '모두 되돌리기',
1014
+ propReset: '기본값으로',
1015
+ propRename: '이름 바꾸기',
1016
+ propRenameHint: '더블클릭으로 이름 바꾸기, 오른쪽 클릭으로 더 보기',
1017
+ propRemove: '속성 제거',
1018
+ propText: '텍스트',
1019
+ propShowName: '{name} 표시',
1020
+ propBound: '속성 “{name}”: 클릭하면 제거',
1021
+ propMakeText: '텍스트를 속성으로',
1022
+ propMakePicture: '이미지를 속성으로',
1023
+ propMakeShow: '표시/숨기기를 속성으로',
1024
+ picture: '이미지',
1025
+ templatePictureReplace: '이미지 바꾸기',
1026
+ templatePictureComputer: '이 컴퓨터에서…',
1027
+ pageChangeLost: '더 이상 페이지에 없음',
1028
+ pageChangeRemove: '이 변경 취소',
1029
+ pageChangeText: '텍스트',
1030
+ pageChangeMoved: '이동됨',
1031
+ pageChangeScaled: '크기 조정됨',
1032
+ pageChangeRotated: '회전됨',
1033
+ noEdit: '이 클립은 편집할 수 없습니다',
1034
+ kindText: '텍스트',
1035
+ kindImage: '이미지',
1036
+ kindShape: '도형',
1037
+ kindBox: '상자',
1038
+ dismiss: '닫기',
1039
+ scope: '적용 대상',
1040
+ scopeOne: '이 사본(#{i})',
1041
+ scopeAll: '사본 {n}개 모두',
1042
+ scopeThis: "이 텍스트",
1043
+ scopeSimilar: "같은 종류 모두",
1044
+ scopeSimilarIn: "같은 종류 모두 · {n}",
1045
+ scopeSimilarHint: "모양(색, 크기, 글꼴 등)을 필름의 같은 종류 텍스트(태그와 클래스가 같은 것, 모든 페이지)에 적용합니다. 글자와 위치는 각자 그대로입니다.",
1046
+ timing: '타이밍',
1047
+ mixed: '혼합',
1048
+ clearOverride: '스타일 변경 지우기',
1049
+ offsetX: 'X 오프셋',
1050
+ offsetY: 'Y 오프셋',
1051
+ resetPosition: '위치 초기화',
1052
+ background: '배경',
1053
+ auto: '자동',
1054
+ alignLeft: '왼쪽 정렬',
1055
+ alignHCenter: '수평 가운데 정렬',
1056
+ alignRight: '오른쪽 정렬',
1057
+ alignTop: '위쪽 정렬',
1058
+ alignVCenter: '수직 가운데 정렬',
1059
+ alignBottom: '아래쪽 정렬',
1060
+ editOnCanvas: '화면에서 텍스트를 더블 클릭하면 그 자리에서 편집할 수 있습니다.',
1061
+ aspectLocked: '비율 유지',
1062
+ aspectFree: '자유롭게 크기 조정',
1063
+ position: '위치와 크기',
1064
+ cropFill: '자르기와 채우기',
1065
+ cropStart: '자르기',
1066
+ cropShape: '비율로 자르기',
1067
+ cropFree: '자유',
1068
+ cropOriginal: '원본 비율',
1069
+ cropCustom: '직접 정한 모양으로 잘려 있습니다. "고급"에서 바꾸세요.',
1070
+ mask: '마스크',
1071
+ maskShape: '마스크 모양',
1072
+ maskShapes: {
1073
+ none: '없음',
1074
+ linear: '선형',
1075
+ mirror: '미러',
1076
+ ellipse: '원',
1077
+ rect: '사각형',
1078
+ star: '별',
1079
+ heart: '하트',
1080
+ },
1081
+ maskX: '마스크 중심 X',
1082
+ maskY: '마스크 중심 Y',
1083
+ maskW: '마스크 너비',
1084
+ maskH: '마스크 높이',
1085
+ maskBand: '띠 너비',
1086
+ maskFeather: '페더',
1087
+ maskInvert: '반전',
1088
+ maskEditOnPicture: '화면에서 편집',
1089
+ maskRemove: '마스크 없애기',
1090
+ maskCustom: '직접 작성한 마스크입니다. "고급"에서 바꾸세요.',
1091
+ framing: '상자 안 그림 위치',
1092
+ framingX: '가로 위치',
1093
+ framingY: '세로 위치',
1094
+ resetSection: '재설정',
1095
+ blendShort: '혼합',
1096
+ blendModes: {
1097
+ normal: '표준',
1098
+ multiply: '곱하기',
1099
+ screen: '스크린',
1100
+ overlay: '오버레이',
1101
+ darken: '어둡게 하기',
1102
+ lighten: '밝게 하기',
1103
+ 'color-dodge': '색상 닷지',
1104
+ 'color-burn': '색상 번',
1105
+ 'soft-light': '소프트 라이트',
1106
+ 'hard-light': '하드 라이트',
1107
+ difference: '차이',
1108
+ exclusion: '제외',
1109
+ hue: '색조',
1110
+ saturation: '채도',
1111
+ color: '색상',
1112
+ luminosity: '광도',
1113
+ },
1114
+ adjust: '조정',
1115
+ adjustCustom: '필터가 직접 작성되어 있습니다. "고급"에서 바꾸세요.',
1116
+ adjustKeys: {
1117
+ brightness: '밝기',
1118
+ contrast: '대비',
1119
+ saturate: '채도',
1120
+ hue: '색조',
1121
+ blur: '흐림',
1122
+ grayscale: '흑백',
1123
+ },
1124
+ effects: '효과',
1125
+ effectAdd: '효과 추가',
1126
+ effectRemove: '제거',
1127
+ effectCustom: '직접 작성됨, "고급" 참고',
1128
+ effectsNone: '아직 없음: +로 그림자, 흐림, 가장자리 페이드를 추가하세요.',
1129
+ shadowX: '그림자 X',
1130
+ shadowY: '그림자 Y',
1131
+ shadowBlur: '그림자 흐림',
1132
+ shadowColor: '그림자 색',
1133
+ stroke: '테두리',
1134
+ strokeAdd: '테두리 추가',
1135
+ strokePosition: '테두리 위치',
1136
+ strokePositions: { inside: '안쪽', center: '가운데', outside: '바깥쪽' },
1137
+ strokeCut: '자르기, 마스크, 가장자리 페이드는 가장자리 바깥에 그려진 테두리를 잘라냅니다. 모두 보이려면 안쪽을 고르세요.',
1138
+ fillAdd: '채우기 추가',
1139
+ fillRemove: '채우기 제거',
1140
+ innerShadow: '내부 그림자',
1141
+ layerBlur: '레이어 흐림',
1142
+ backgroundBlur: '배경 흐림',
1143
+ shadowSpread: '퍼짐',
1144
+ cornersEach: '모서리 개별 설정',
1145
+ cornersCropped: '자르기는 모든 모서리를 같게 둥글립니다',
1146
+ corners: { 'top-left': '왼쪽 위', 'top-right': '오른쪽 위', 'bottom-right': '오른쪽 아래', 'bottom-left': '왼쪽 아래' },
1147
+ textDecoration: '장식',
1148
+ decorations: { none: '없음', underline: '밑줄', lineThrough: '취소선' },
1149
+ strokeWidth: '테두리 두께',
1150
+ strokeStyle: '테두리 모양',
1151
+ strokeColor: '테두리 색',
1152
+ strokeStyles: {
1153
+ solid: '실선',
1154
+ dashed: '파선',
1155
+ dotted: '점선',
1156
+ },
1157
+ fade: '가장자리 페이드',
1158
+ fadeSides: '페이드할 가장자리',
1159
+ fadeSize: '페이드 범위',
1160
+ fadeSide: {
1161
+ top: '위쪽',
1162
+ right: '오른쪽',
1163
+ bottom: '아래쪽',
1164
+ left: '왼쪽',
1165
+ },
1166
+ textCase: '대소문자',
1167
+ caseNone: '입력한 대로',
1168
+ caseUpper: '모두 대문자',
1169
+ caseLower: '모두 소문자',
1170
+ caseTitle: '첫 글자 대문자',
1171
+ alignTextLeft: '텍스트 왼쪽 정렬',
1172
+ alignTextCenter: '텍스트 가운데 정렬',
1173
+ alignTextRight: '텍스트 오른쪽 정렬',
1174
+ alignTextJustify: '양쪽 정렬',
1175
+ advanced: '고급',
1176
+ classes: '클래스',
1177
+ classesEmpty: '필름 스타일의 클래스, 예: card',
1178
+ timeUnit: '시간 표시',
1179
+ timeTimecode: '타임코드 (초당 30프레임, 플레이어와 같음)',
1180
+ timeSeconds: '초',
1181
+ sourceBar: '원본 파일',
1182
+ slipHint: '드래그하면 같은 자리에서 파일의 다른 부분을 재생, 끝을 드래그하면 트리밍',
1183
+ trimHead: '시작 트리밍',
1184
+ trimTail: '끝 트리밍',
1185
+ distributeH: '가로 균등 분배',
1186
+ distributeV: '세로 균등 분배',
1187
+ film: '필름',
1188
+ stage: '스테이지',
1189
+ stageShape: '스테이지 비율',
1190
+ redesignOpen: '이 캔버스에 맞게 다시 배치해 달라고 하기',
1191
+ redesignBody: '이 문장을 채팅에 붙여 넣으면 에이전트가 지금 캔버스에 맞게 모든 페이지와 클립을 다시 배치합니다.',
1192
+ redesignAsk: '이 영상의 캔버스가 이제 {ratio}({size})입니다. 여기에 맞게 모든 페이지와 클립을 다시 배치하고 look으로 각 장면을 확인해 줘.',
1193
+ redesignCopy: '요청 복사',
1194
+ redesignCopied: '복사됨: 채팅에 붙여 넣으세요',
1195
+ filmInfo: '내용',
1196
+ tracks: '트랙',
1197
+ clipsCount: '클립',
1198
+ pageChangeStyled: '스타일 변경',
1199
+ weights: {
1200
+ w100: 'Thin',
1201
+ w200: 'Extra Light',
1202
+ w300: 'Light',
1203
+ w400: 'Regular',
1204
+ w500: 'Medium',
1205
+ w600: 'Semi Bold',
1206
+ w700: 'Bold',
1207
+ w800: 'Extra Bold',
1208
+ w900: 'Black',
1209
+ },
1210
+ },
1211
+ colorPicker: {
1212
+ close: '닫기',
1213
+ eyedropper: '화면에서 색상 선택',
1214
+ hex: 'Hex',
1215
+ recent: '최근',
1216
+ },
1217
+ layout: {
1218
+ title: '레이아웃',
1219
+ assets: '에셋',
1220
+ layers: '레이어',
1221
+ timeline: '타임라인',
1222
+ inspector: '인스펙터',
1223
+ },
1224
+ timeline: {
1225
+ renameTrack: "트랙 이름 바꾸기",
1226
+ mediaMissing: '미디어를 찾을 수 없음',
1227
+ mediaMissingHint: '파일이 더 이상 프로젝트에 없습니다. 마우스 오른쪽 버튼을 클릭해 다시 연결하세요.',
1228
+ menuRelink: '미디어 다시 연결',
1229
+ menuRelinkPick: '파일 선택…',
1230
+ mediaCannotPlay: '이 클립은 앱에서 재생할 수 없습니다. 영상의 나머지 부분에는 영향이 없습니다.',
1231
+ noLength: '길이 없음',
1232
+ noLengthHint: '이 클립에는 길이가 없습니다. 자체 재생 시간이 없는 클립(이미지 또는 길이가 지정되지 않은 페이지)이라 길이를 정할 수 없습니다. 끝을 끌어서 재생 시간을 정하세요.',
1233
+ mediaReconnecting: '이 클립에 다시 연결하는 중… 곧 자동으로 돌아옵니다.',
1234
+ resize: '타임라인 크기 조정',
1235
+ seek: '재생 헤드 드래그',
1236
+ split: '분할',
1237
+ subtitles: '자막',
1238
+ subtitlesNone: '아직 자막이 없습니다. 영상에 음성이 생기면 나타납니다',
1239
+ subtitlesMakeOne: '자막 만들기: 음성 클립 1개에 아직 대본이 없습니다',
1240
+ subtitlesMake: '자막 만들기: 음성이 있는 클립 {n}개에 아직 대본이 없습니다',
1241
+ subtitlesMaking: '자막 만드는 중…',
1242
+ subtitlesConnect: '자막을 만들려면 음성 인식 서비스가 필요합니다. 설정(왼쪽 위 OpenFilm 로고) → 제공업체에서 연결하세요',
1243
+ subtitlesFailed: '자막을 만들지 못했습니다: {error}',
1244
+ subtitleLines: '자막 줄',
1245
+ subtitleLineAt: '{time}의 자막',
1246
+ subtitleLineGo: '{time}(으)로 이동',
1247
+ subtitleLineInLanguage: '{time}의 자막, {lang}',
1248
+ subtitleLineUntranslated: '아직 번역되지 않음',
1249
+ subtitleLinesMakeOne: '대본이 없거나 오래된 음성 클립 1개의 자막 만들기',
1250
+ subtitleLinesMake: '대본이 없거나 오래된 클립 {n}개의 자막 만들기',
1251
+ subtitleStyle: '자막 스타일',
1252
+ subtitleLanguageGroup: '자막 언어',
1253
+ subtitleLanguageOriginal: '원문',
1254
+ subtitleLanguageOriginalNamed: '원문 · {lang}',
1255
+ subtitleLanguageTranslate: '번역할 언어',
1256
+ subtitleLanguageShow: '표시',
1257
+ subtitleShowTranslation: '번역',
1258
+ subtitleShowBoth: '원문 + 번역',
1259
+ subtitleTranslating: '음성을 {lang}(으)로 번역하는 중…',
1260
+ subtitleTranslateFailed: '지금은 번역할 수 없습니다.',
1261
+ subtitleTranslateNetwork: '번역 서비스에 연결할 수 없습니다.',
1262
+ subtitleTranslateRetry: '다시 시도',
1263
+ subtitleTranslateConnect: '설정(왼쪽 위 OpenFilm 로고) → 제공업체에서 번역 서비스를 연결하세요.',
1264
+ subtitleSize: '크기',
1265
+ subtitleLook: {
1266
+ outline: '외곽선(기본값)',
1267
+ bar: '배경 막대',
1268
+ bold: '굵게, 두꺼운 외곽선',
1269
+ yellow: '노란색',
1270
+ clean: '외곽선 없음',
1271
+ },
1272
+ subtitleFontGroup: '글꼴',
1273
+ subtitleEffectGroup: '효과',
1274
+ subtitleKaraoke: '단어 강조',
1275
+ subtitleKaraokeMode: '스타일',
1276
+ subtitleKaraokeBox: '강조 상자',
1277
+ subtitleKaraokeColor: '색상',
1278
+ subtitleKaraokePop: '팝',
1279
+ subtitleFade: '페이드 인·아웃',
1280
+ subtitleKaraokeTint: '강조 색상',
1281
+ subtitleFamily: '서체',
1282
+ subtitleFamilyDefault: '기본값',
1283
+ subtitleWeight: '굵기',
1284
+ subtitleItalic: '기울임꼴',
1285
+ subtitleUpper: '대문자',
1286
+ subtitleTracking: '자간',
1287
+ subtitleLeading: '행간',
1288
+ subtitleInkGroup: '색상',
1289
+ subtitleFill: '채우기',
1290
+ subtitleStroke: '외곽선',
1291
+ subtitleShadow: '그림자',
1292
+ subtitleBlur: '흐림',
1293
+ subtitleOffsetY: '그림자 거리',
1294
+ subtitleBox: '상자',
1295
+ subtitleOpacity: '불투명도',
1296
+ subtitleRadius: '모서리',
1297
+ subtitleLayoutGroup: '레이아웃',
1298
+ subtitleAlign: '정렬',
1299
+ subtitleAlignLeft: '왼쪽',
1300
+ subtitleAlignCenter: '가운데',
1301
+ subtitleAlignRight: '오른쪽',
1302
+ subtitleWidth: '최대 너비',
1303
+ subtitleReset: '초기화',
1304
+ subtitleDrag: '화면에서 드래그해 이동하세요.',
1305
+ subtitleSaved: '이 스타일은 프로젝트에 저장되며 내보내기에도 사용됩니다.',
1306
+ removeBlock: '삭제',
1307
+ rippleRemove: '리플 삭제',
1308
+ menuSplitHere: '재생 헤드에서 분할',
1309
+ menuDetachAudio: '오디오 분리',
1310
+ menuDetachAudioNone: '이 비디오에는 소리가 없습니다',
1311
+ menuCopy: '복사',
1312
+ menuPaste: '붙여넣기',
1313
+ menuPasteEmpty: '아직 복사한 항목이 없습니다',
1314
+ menuSplitOutside: '재생 헤드가 이 클립 위에 있지 않습니다. 자를 위치로 옮기세요',
1315
+ menuCopyNone: '이 클립은 film.html에 없으므로 여기서 변경할 수 없습니다',
1316
+ menuExportClip: '이 클립 내보내기',
1317
+ menuExportNoId: '이 클립은 film.html에 없으므로 내보낼 수 없습니다',
1318
+ modeSelect: '선택',
1319
+ modeSplit: '분할',
1320
+ applying: 'film.html 저장 중…',
1321
+ emptyStudio: '에셋을 여기로 끌어와 영상을 시작하거나, 에이전트에게 만들어 달라고 요청하세요.',
1322
+ zoomIn: '확대',
1323
+ zoomOut: '축소',
1324
+ zoomFit: '너비에 맞추기',
1325
+ zoom: '확대/축소',
1326
+ snap: '스냅',
1327
+ snapOn: '켬: 클립 가장자리, 재생 헤드, 마커에 스냅합니다',
1328
+ snapOff: '끔: 손을 놓은 자리에 그대로 놓입니다',
1329
+ mainTrack: '메인 트랙',
1330
+ magnet: '메인 트랙 자석',
1331
+ magnetOn: '켬: 메인 트랙의 클립이 빈틈 없이 이어집니다',
1332
+ magnetOff: '끔: 메인 트랙의 클립이 놓은 자리에 그대로 있습니다',
1333
+ linkage: '연동',
1334
+ linkageOn: '켬: 자막, 오버레이, 소리가 아래 메인 트랙 클립과 함께 움직이고 함께 삭제됩니다',
1335
+ linkageOff: '끔: 메인 트랙을 편집하면 메인 트랙만 움직입니다',
1336
+ previewAxis: '미리보기 축',
1337
+ previewAxisOn: '켬: 타임라인 위 포인터를 따라 화면이 움직입니다',
1338
+ previewAxisOff: '끔: 화면이 재생 헤드 위치에 머뭅니다',
1339
+ rippleShort: '다른 트랙의 클립이 막고 있습니다: 동기를 유지하려고 {s}초 간격이 남았습니다.',
1340
+ menuCloseGap: '간격 메우기',
1341
+ menuCloseGaps: '이 트랙의 간격 모두 메우기',
1342
+ menuRippleStart: '재생 헤드까지 시작 리플 트림',
1343
+ menuRippleEnd: '재생 헤드부터 끝 리플 트림',
1344
+ menuLink: '연결',
1345
+ menuUnlink: '연결 해제',
1346
+ tip: {
1347
+ trim: '트림',
1348
+ ripple: '리플',
1349
+ sourceEnd: '소스의 끝입니다',
1350
+ },
1351
+ trackLocked: '트랙 잠김',
1352
+ dropNotClip: '이 에셋은 타임라인에 놓을 수 없습니다',
1353
+ dropFromComputer: '새 파일',
1354
+ editFail: '변경이 적용되지 않았습니다',
1355
+ removeFail: '삭제하지 못했습니다',
1356
+ splitFail: '분할하지 못했습니다',
1357
+ detachFail: '이 클립의 오디오를 분리하지 못했습니다',
1358
+ pasteGone: '복사한 클립이 더 이상 필름에 없습니다',
1359
+ lockTrack: '트랙 잠금',
1360
+ unlockTrack: '트랙 잠금 해제',
1361
+ hideTrack: '이 트랙 끄기: 화면과 소리 없음',
1362
+ showTrack: '이 트랙 다시 켜기',
1363
+ muteTrack: '원본 소리 끄기',
1364
+ unmuteTrack: '원본 소리 켜기',
1365
+ muteSoundTrack: '트랙 음소거',
1366
+ unmuteSoundTrack: '트랙 음소거 해제',
1367
+ },
1368
+ /* the timeline's audio and editing tools: meters, solo, markers, loudness, freeze frame, replace, track heights */
1369
+ editorTools: {
1370
+ meters: "오디오 미터",
1371
+ metersClip: "클리핑: 소리가 0 dB에 닿았습니다. 클릭하여 초기화",
1372
+ metersPeak: "최근 최대 피크, dBFS",
1373
+ solo: "솔로: 이 트랙만 듣기, 여기서만 (⌥ 클릭: 이 트랙만)",
1374
+ unsolo: "이 트랙 솔로 해제",
1375
+ resizeTrack: "드래그하여 트랙 높이 조절 · 더블 클릭: 기본 높이",
1376
+ markerAdd: "마커 추가",
1377
+ markerAddClip: "클립에 마커 추가",
1378
+ markerAddedOn: "{clip}에 마커를 추가했습니다",
1379
+ markerColor: "색상",
1380
+ markerDelete: "마커 삭제",
1381
+ markerName: "마커 이름",
1382
+ markerUntitled: "마커",
1383
+ colors: {
1384
+ blue: "파랑",
1385
+ green: "초록",
1386
+ yellow: "노랑",
1387
+ orange: "주황",
1388
+ red: "빨강",
1389
+ purple: "보라",
1390
+ },
1391
+ trackHeight: "트랙 높이",
1392
+ allTracksHeight: "모든 트랙의 높이",
1393
+ size: {
1394
+ small: "작게",
1395
+ medium: "보통",
1396
+ large: "크게",
1397
+ },
1398
+ normalize: "라우드니스 정규화",
1399
+ target: {
1400
+ web: "{lufs} LUFS · 웹 영상",
1401
+ podcast: "{lufs} LUFS · 팟캐스트",
1402
+ broadcast: "{lufs} LUFS · 방송",
1403
+ },
1404
+ normalizeNone: "선택 항목에 정규화할 소리가 없습니다",
1405
+ normalizing: "라우드니스 측정 중…",
1406
+ normalized: "클립 {n}개를 {target} LUFS로 정규화했습니다",
1407
+ normalizedOne: "{clip}: {from} LUFS → {target} LUFS (볼륨 {pct}%)",
1408
+ normalizeShort: "{clip}은(는) {target} LUFS에 도달할 수 없습니다: 500%에서 {lufs} LUFS",
1409
+ normalizeSilent: "{clip}에는 측정할 소리가 없습니다",
1410
+ normalizeFail: "{clip}을(를) 측정할 수 없습니다: {reason}",
1411
+ freeze: "프레임 고정",
1412
+ freezeOutside: "먼저 재생 헤드를 이 클립 위에 두세요",
1413
+ freezeFail: "이 프레임을 스틸 이미지로 만들 수 없습니다: {reason}",
1414
+ replace: "다음으로 바꾸기…",
1415
+ replaceNone: "프로젝트에 대신할 수 있는 파일이 없습니다",
1416
+ replaceKind: "화면은 화면으로, 소리는 소리로 바꿉니다",
1417
+ replaceShort: "새 파일이 더 짧아 클립이 {s}초 짧아졌습니다",
1418
+ replaceButton: "바꾸기",
1419
+ replaceFromComputer: "이 컴퓨터에서…",
1420
+ replacePick: "클립을 바꿀 파일 선택",
1421
+ },
1422
+ /* a clip's attributes copied onto others (lib/clip-attrs, components/PasteAttrsDialog) */
1423
+ clipAttrs: {
1424
+ title: '속성 붙여넣기',
1425
+ picture: '화면',
1426
+ sound: '오디오',
1427
+ place: '위치와 크기',
1428
+ blend: '혼합 (불투명도, 혼합 모드)',
1429
+ volume: '볼륨',
1430
+ fade: '페이드 인 / 페이드 아웃',
1431
+ paste: '붙여넣기',
1432
+ copy: '속성 복사',
1433
+ pasteMenu: '속성 붙여넣기…',
1434
+ copied: '속성을 복사했습니다: 클립을 선택하고 ⌘⇧V로 붙여넣으세요',
1435
+ nothing: '먼저 클립의 속성을 복사하세요 (⌘⇧C)',
1436
+ selectFirst: '먼저 클립을 선택하세요',
1437
+ },
1438
+ transitions: {
1439
+ dissolve: '크로스 디졸브',
1440
+ 'dip-black': '검정으로 딥',
1441
+ 'dip-white': '흰색으로 딥',
1442
+ 'fade-in': '페이드 인',
1443
+ 'fade-out': '페이드 아웃',
1444
+ crossfade: '오디오 크로스페이드',
1445
+ remove: '전환 효과 제거',
1446
+ atCut: '전환 효과',
1447
+ locked: '바꿀 클립이 잠긴 트랙에 있습니다',
1448
+ none: '그곳에는 컷이 없습니다. 클립을 선택하거나 재생 헤드를 컷 옆에 두세요',
1449
+ short: '클립이 너무 짧습니다',
1450
+ mark: '{kind} · {s}초 — 가장자리를 끌어 길이 변경, Delete로 제거',
1451
+ handle: '{what}: {s}초 — 안쪽으로 끌어 페이드 (⌥: 이 클립만)',
1452
+ fadeTip: '{what} {s}초',
1453
+ },
1454
+ subtitleRow: {
1455
+ editOnTimeline: '타임라인에서 편집',
1456
+ showRow: '자막을 타임라인에 한 줄로 표시해 타이밍을 맞추고 나누고 합치기',
1457
+ hideRow: '타임라인의 자막 줄 숨기기',
1458
+ name: '자막',
1459
+ add: '재생 헤드 위치에 자막 추가',
1460
+ hide: '자막 트랙 숨기기',
1461
+ hideNote: '‘자막 스타일 › 타임라인에서 편집’에서 다시 켤 수 있습니다.',
1462
+ split: '재생 헤드에서 분할',
1463
+ splitWhere: '재생 헤드를 자막 안쪽, 양 끝에서 떨어진 곳에 두세요',
1464
+ merge: '다음 자막과 병합',
1465
+ mergeWhy: '같은 목소리의 다음 자막과만 병합할 수 있습니다',
1466
+ edit: '텍스트 편집',
1467
+ delete: '삭제',
1468
+ newText: '새 자막',
1469
+ nothingHeard: '재생 헤드 위치에서 들리는 것이 없습니다: 자막은 목소리나 동영상이 하는 말입니다',
1470
+ noRoom: '여기에는 자막을 넣을 자리가 없습니다',
1471
+ gone: '그 자막은 더 이상 없습니다',
1472
+ notNext: '이 두 자막은 붙어 있지 않습니다',
1473
+ },
1474
+ confirm: {
1475
+ ok: '확인',
1476
+ deleteTitle: '이 프로젝트를 삭제할까요?',
1477
+ deleteDesc: '영상과 그 안의 모든 것이 들어 있는 폴더가 휴지통으로 옮겨집니다.',
1478
+ deleteManyTitle: '이 프로젝트 {n}개를 삭제할까요?',
1479
+ deleteManyDesc: '영상과 그 안의 모든 것이 들어 있는 폴더들이 휴지통으로 옮겨집니다.',
1480
+ delete: '삭제',
1481
+ cancel: '취소',
1482
+ },
1483
+ asks: {
1484
+ videoTitle: '에이전트가 비디오 클립을 만들려고 합니다',
1485
+ videoNote: '비디오는 가장 비용이 많이 드는 미디어입니다.',
1486
+ make: '만들기',
1487
+ skip: '건너뛰기',
1488
+ balanceTitle: '{provider}: 잔액 부족',
1489
+ balanceBody: '{provider}의 잔액이 부족합니다. 그곳에서 충전하거나 다른 서비스로 바꾼 뒤 다시 시도하세요.',
1490
+ manage: '관리',
1491
+ close: '닫기',
1492
+ },
1493
+ settings: {
1494
+ title: '설정',
1495
+ done: '완료',
1496
+ search: '검색',
1497
+ noResults: '일치하는 설정이 없습니다',
1498
+ groups: {
1499
+ help: '도움말',
1500
+ },
1501
+ links: {
1502
+ github: 'GitHub',
1503
+ examples: '예제',
1504
+ site: '웹사이트',
1505
+ },
1506
+ sections: {
1507
+ agents: '에이전트',
1508
+ providers: '제공업체',
1509
+ models: '서비스',
1510
+ developer: '개발자',
1511
+ general: '일반',
1512
+ shortcuts: '키보드 단축키',
1513
+ advanced: '고급',
1514
+ },
1515
+ appearance: {
1516
+ group: '모양',
1517
+ theme: '테마',
1518
+ light: '라이트',
1519
+ dark: '다크',
1520
+ system: '시스템',
1521
+ language: '언어',
1522
+ languageSystem: '시스템 설정 따르기',
1523
+ themeHint: '라이트, 다크 또는 시스템 설정을 따릅니다.',
1524
+ languageHint: 'OpenFilm 화면에 표시되는 언어.',
1525
+ },
1526
+ storage: {
1527
+ group: '저장 위치',
1528
+ projects: '프로젝트 위치',
1529
+ projectsPick: '프로젝트 위치 선택',
1530
+ pickButton: '선택',
1531
+ change: '변경…',
1532
+ show: '열기',
1533
+ reset: '기본값으로',
1534
+ save: '저장',
1535
+ free: '이 디스크 남은 공간 {size}',
1536
+ moveTitle: '기존 프로젝트도 옮길까요?',
1537
+ moveDesc: '{from}에 프로젝트 {count}개가 있습니다. {to}(으)로 옮기거나 원래 위치에 둘 수 있습니다. 그대로 두어도 프로젝트 목록에서 열 수 있습니다.',
1538
+ moveYes: '프로젝트 옮기기',
1539
+ moveNo: '그대로 두기',
1540
+ moved: '프로젝트 {count}개를 옮겼습니다.',
1541
+ moveFailed: '옮기지 못해 원래 위치에 남은 프로젝트: {names}',
1542
+ },
1543
+ playback: {
1544
+ group: "재생",
1545
+ proxies: "무거운 영상에 프록시 사용",
1546
+ proxiesHint: "1080p를 넘거나(4K 등) 디코딩이 무거운(ProRes, HEVC, 10비트) 영상은 백그라운드에서 만든 가벼운 사본으로 재생합니다. 내보내기에는 항상 원본을 씁니다.",
1547
+ proxySize: "프록시 크기",
1548
+ proxySizeHint: "작을수록 더 부드럽게 재생되고, 클수록 뷰어에서 더 선명합니다.",
1549
+ },
1550
+ advanced: {
1551
+ intro: "최적의 환경으로 설정되어 있어 보통은 바꿀 필요가 없습니다.",
1552
+ fitPages: "웹 페이지를 뷰어 크기로 그리기",
1553
+ fitPagesHint: "웹 페이지의 Canvas와 3D를 뷰어에 보이는 크기로 그립니다. 보기에는 같고 더 부드럽게 재생됩니다. 끄면 영상의 전체 크기로 그립니다. 내보내기는 항상 전체 크기입니다.",
1554
+ renders: "느리게 재생되는 구간 렌더링",
1555
+ rendersHint: "뷰어가 제 속도로 재생하지 못하는 구간은 재생을 멈춘 뒤 백그라운드에서 렌더링되고, 그 뒤로는 부드럽게 재생됩니다.",
1556
+ },
1557
+ about: {
1558
+ group: '정보',
1559
+ check: '업데이트 확인',
1560
+ checking: '확인 중…',
1561
+ failed: 'npm에 연결할 수 없습니다. 잠시 후 다시 시도하세요.',
1562
+ newer: 'OpenFilm {version}이(가) 나왔습니다.',
1563
+ upToDate: '최신 버전입니다.',
1564
+ source: '소스에서 실행 중입니다. git pull로 업데이트하세요.',
1565
+ off: '여기서는 업데이트 확인이 꺼져 있습니다(OPENFILM_NO_UPDATE_CHECK).',
1566
+ never: '아직 확인하지 않았습니다.',
1567
+ inApp: 'Studio는 데스크톱 앱과 함께 업데이트됩니다: OpenFilm → Check for Updates…',
1568
+ howTitle: '업데이트',
1569
+ how: '"업데이트"를 누르거나, 이 명령을 실행하거나, 에이전트에게 OpenFilm 업데이트를 맡기세요. Studio가 새 버전으로 다시 시작됩니다.',
1570
+ appOff: '소스에서 실행 중인 개발 빌드라 자동으로 업데이트되지 않습니다. 설치된 앱은 자동으로 업데이트됩니다.',
1571
+ appChecked: '마지막 확인: {time}.',
1572
+ appDownloading: 'OpenFilm {version} 다운로드 중…',
1573
+ appStaging: 'OpenFilm {version} 준비 중…',
1574
+ appRetry: '다시 시도',
1575
+ whatsNew: '이번 버전의 새로운 기능',
1576
+ appOffline: '업데이트 서비스에 연결할 수 없습니다. 연결을 확인하세요.',
1577
+ appUnavailable: '지금은 업데이트를 사용할 수 없습니다. 나중에 다시 시도하세요.',
1578
+ appFailed: '업데이트를 완료하지 못했습니다. 나중에 다시 시도하세요.',
1579
+ },
1580
+ report: {
1581
+ title: '진단 보고서',
1582
+ hint: 'OpenFilm이 이 컴퓨터와 이 브라우저에서 확인한 내용, 에이전트, 최근 일주일의 문제입니다. 이슈에 붙여 넣으세요. 홈 폴더 안의 경로는 ~로 표시되며, 키, 계정, 프로젝트는 포함되지 않습니다.',
1583
+ copy: '보고서 복사',
1584
+ making: '확인 중…',
1585
+ copied: '복사됨',
1586
+ failed: '보고서를 만들지 못했습니다. 다시 시도해 주세요.',
1587
+ select: '브라우저가 복사를 허용하지 않았습니다. 아래 보고서를 선택해 복사하세요.',
1588
+ group: '진단',
1589
+ export: '진단 파일',
1590
+ exportHint: '문제의 원인을 알려 주는 나머지 정보를 내보내기 폴더에 zip 하나로 만듭니다. 보고서, 최근 2주의 문제, 로그, 실패한 턴의 진행 과정이 들어 있습니다. 이슈에 첨부하기 전에 확인하세요.',
1591
+ exportButton: '내보내기',
1592
+ exporting: '내보내는 중…',
1593
+ exported: '{name}을(를) 내보내고 폴더에 표시했습니다.',
1594
+ exportFailed: '파일을 쓰지 못했습니다. 다시 시도해 주세요.',
1595
+ conversations: '실패한 턴의 대화 포함',
1596
+ conversationsHint: '끄면, 실패한 각 턴에 대해 파일에는 진행 과정만 들어갑니다. 사용한 에이전트와 모델, 각 단계의 시작과 끝 시각, 각 도구의 종류와 성공 여부, 에이전트의 알림과 오류입니다. 메시지, 에이전트의 답변, 명령, 파일 이름이나 파일 내용은 전혀 들어가지 않습니다.',
1597
+ problems: '최근 문제',
1598
+ problemsHint: '최근 2주 동안 생긴 문제입니다. 최신 순으로 표시합니다. 이 컴퓨터에만 저장됩니다.',
1599
+ noProblems: '최근 2주 동안 문제가 없습니다.',
1600
+ more: '모두 보기 ({count}개)',
1601
+ conversationsOn: '켜짐: 다음에 내보내는 파일에는 실패한 턴의 대화도 들어갑니다(켤 때 목록으로 보여 준 내용). 빼려면 끄세요.',
1602
+ addsTitle: '켜면 최근 2주 동안 마지막으로 실패한 턴 5개에 대해 다음 내용이 추가됩니다:',
1603
+ adds1: '보낸 메시지 원문(첨부한 이미지는 들어가지 않습니다).',
1604
+ adds2: '에이전트의 답변과 생각 과정.',
1605
+ adds3: '각 단계의 제목, 명령, 입력과 출력. 파일 이름과 내용, 명령이 출력한 내용이 들어 있을 수 있습니다.',
1606
+ adds4: '에이전트가 한 질문과 사용자의 답변.',
1607
+ adds5: '에이전트가 시작할 때 받은 지시. 에이전트 설정에 직접 적은 지시도 포함됩니다.',
1608
+ addsKept: '계속 빠지는 것: 홈 폴더(~로 표시), 키, 토큰, 이메일 주소. 어디로도 전송되지 않습니다. 직접 첨부하기 전까지 파일은 이 컴퓨터에만 있습니다.',
1609
+ addsWho: '첨부한 곳을 볼 수 있는 사람은 누구나 읽을 수 있습니다. 공개 GitHub 이슈도 마찬가지입니다. 보낼 곳에만 보내세요.',
1610
+ addsYes: '포함하기',
1611
+ addsNo: '취소',
1612
+ exportedHas: '들어 있는 내용:',
1613
+ partReport: '진단 보고서',
1614
+ partProblems: '최근 2주의 문제',
1615
+ partLogs: 'Studio와 앱 로그 {count}개의 마지막 부분',
1616
+ partTurns: '실패한 턴 {count}개의 진행 과정(대화 없음)',
1617
+ partTurnsWords: '실패한 턴 {count}개(대화 포함)',
1618
+ partCodex: '문제 전후로 Codex가 직접 남긴 경고와 오류',
1619
+ },
1620
+ agents: {
1621
+ intro: '채팅에서 쓸 수 있는 에이전트입니다. Codex, Claude Code 등 「내 에이전트」는 나의 것이며 이 컴퓨터에 로그인된 계정을 사용합니다. 다른 계정을 쓰려면 에이전트에서 계정을 바꾼 뒤 여기서 연결을 끊고 다시 연결하세요. 내 키는 직접 설정한 모델로 실행되며, 모델마다 다른 서비스를 쓸 수 있습니다.',
1622
+ byokName: '내 키',
1623
+ groupYours: '내 에이전트',
1624
+ groupMore: '그 밖에 쓸 수 있는 에이전트',
1625
+ recommended: '추천',
1626
+ recommendedHint: '가장 저렴한 방법: 이미 쓰고 있는 구독으로 사용',
1627
+ ready: '연결됨',
1628
+ off: '연결 안 됨',
1629
+ signedOut: '로그인하지 않음',
1630
+ waiting: '로그인을 기다리는 중…',
1631
+ waitingHint: '열린 창에서 로그인을 완료한 뒤 돌아오세요.',
1632
+ waitingHintMinimax: '열린 창에서 로그인을 완료한 뒤 돌아오세요. 해외 MiniMax 계정은 그 창에서 사이트를 고를 수 없습니다. 터미널에서 mcode login --region global 을 실행한 뒤 다시 시작을 누르세요.',
1633
+ waitingHintCodebuddy: '열린 창에서 로그인을 완료한 뒤 돌아오세요. 이 창은 CodeBuddy 자체 창이며 제목이 CodeBuddy입니다(OpenFilm이나 터미널이 아닙니다).',
1634
+ startAgain: '다시 시작',
1635
+ missing: '이 컴퓨터에 설치되어 있지 않음',
1636
+ claudeSetup: 'Claude 앱의 Code 탭을 한 번 열면 Claude Code가 설치됩니다',
1637
+ locate: '직접 선택…',
1638
+ locateTitle: '{name} 프로그램 선택',
1639
+ locateButton: '이것 사용',
1640
+ chosenAt: '선택한 프로그램 사용 중: {path}',
1641
+ automatic: '자동 감지로 되돌리기',
1642
+ notAProgram: '이 컴퓨터에서 실행할 수 있는 프로그램이 아닙니다. 에이전트 프로그램 자체를 선택하세요(Windows에서는 .exe 또는 .cmd 파일).',
1643
+ appOnly: '{app} 앱은 설치되어 있지만, 연결하려면 {name}의 명령줄 에이전트가 필요합니다.',
1644
+ installing: '터미널 창에서 설치하는 중… 끝나면 OpenFilm이 찾습니다.',
1645
+ installConfirm: 'OpenFilm이 터미널 창을 열고 {name}의 공식 설치 프로그램을 실행합니다:',
1646
+ installRun: '설치 프로그램 실행',
1647
+ notTheAgentApp: '이것은 편집기나 데스크톱 앱이며, {name}의 명령줄 에이전트가 아닙니다. 연결하려면 {name}의 명령줄 에이전트가 필요합니다.',
1648
+ notCursorAgent: '이것은 Cursor의 명령줄 에이전트가 아닙니다(cursor-agent 폴더에 설치됩니다). 연결하려면 Cursor의 명령줄 에이전트가 필요합니다.',
1649
+ didNotStart: '여기서 실행하지 못했습니다:',
1650
+ unreadable: '자체 설정을 읽지 못해 시작할 수 없습니다. 설정 파일에서 지적된 부분을 고치거나 업데이트하세요:',
1651
+ whyMissing: '왜 찾지 못하나요?',
1652
+ searching: '찾는 중…',
1653
+ hintChosenMissing: '선택한 프로그램이 더 이상 없습니다. 다시 선택하거나 자동 감지로 되돌리세요.',
1654
+ hintWsl: 'WSL(Windows의 Linux)에 설치되어 있어 OpenFilm에서 사용할 수 없습니다. Windows에도 설치한 뒤 돌아오세요.',
1655
+ hintUnusable: '같은 이름의 파일은 찾았지만 실행할 수 있는 것이 없습니다. “직접 선택…”으로 프로그램 자체를 선택하세요.',
1656
+ hintNone: '검색한 폴더 어디에도 없습니다. 터미널에서 {program}이(가) 실행된다면 그곳에서 위치를 확인하고(Windows는 “where {program}”, Mac은 “which {program}”) 그 파일을 “직접 선택…”으로 선택하세요.',
1657
+ hintFound: '찾았습니다: {path}',
1658
+ reportNote: '그래도 찾지 못하면 보고서를 복사해 issue에 첨부해 보내 주세요. 이 컴퓨터의 폴더 경로가 포함됩니다.',
1659
+ copyReport: '보고서 복사',
1660
+ copied: '복사됨',
1661
+ close: '닫기',
1662
+ needsKey: '설정되지 않음',
1663
+ unavailable: '아직 사용할 수 없습니다. 업데이트로 제공될 예정입니다',
1664
+ checking: '확인 중…',
1665
+ connect: '연결',
1666
+ disconnect: '연결 해제',
1667
+ disconnectHint: 'OpenFilm에서 사용을 멈춥니다. 로그인은 그대로입니다. 다른 계정을 쓰려면 {name}에서 계정을 바꾼 뒤 다시 연결하세요.',
1668
+ accountChatgpt: 'ChatGPT 계정',
1669
+ accountApiKey: 'API 키',
1670
+ accountConsole: 'Anthropic Console',
1671
+ usage: '사용량',
1672
+ usageLoading: '남은 사용량을 읽는 중…',
1673
+ usageFiveHour: '5시간',
1674
+ usageWeek: '이번 주',
1675
+ usageWindow: '{hours}시간',
1676
+ usageUsed: '{percent}% 사용',
1677
+ usageResets: '{time} 초기화',
1678
+ signIn: '로그인',
1679
+ install: '설치',
1680
+ setUpKey: '설정',
1681
+ change: '변경',
1682
+ showInChat: '채팅에 표시',
1683
+ showHint: '켜 둔 에이전트만 채팅에 표시됩니다.',
1684
+ failed: '실패했습니다. 다시 시도하세요.',
1685
+ format: 'API 형식',
1686
+ address: '주소',
1687
+ model: '모델',
1688
+ modelPlaceholder: '서비스에서 쓰는 모델 이름',
1689
+ addModel: '모델 추가',
1690
+ name: '이름',
1691
+ namePlaceholder: '채팅에 표시되는 이름(비워 두면 모델 이름)',
1692
+ edit: '편집',
1693
+ done: '완료',
1694
+ keySame: '비워 두면 "{name}"의 키를 사용합니다',
1695
+ removeModel: '{name} 삭제',
1696
+ efforts: '추론 강도',
1697
+ effortStart: '시작 강도',
1698
+ effortHint: '이 모델이 지원하는 추론 강도를 체크하세요. 채팅에는 체크한 것만 나옵니다. "자동"은 아무것도 보내지 않고 서비스에 맡깁니다.',
1699
+ effortLevels: { auto: '자동', off: '끔', minimal: '최소', low: '낮음', medium: '중간', high: '높음', xhigh: '매우 높음', max: '최대' },
1700
+ context: '컨텍스트 길이',
1701
+ contextHint: '토큰 수입니다. 모델 서비스 문서에 나온 값을 입력하세요. 비워 두면 128K입니다.',
1702
+ contextBad: '32,000~10,000,000 사이의 토큰 수를 정수로 입력하세요.',
1703
+ key: 'API 키',
1704
+ keyPlaceholder: 'API 키 붙여넣기',
1705
+ keyKept: '{last4}(으)로 끝나는 키(유지하려면 비워 두세요)',
1706
+ byokNote: '모든 모델이 이미지를 읽을 수 있어야 합니다. 에이전트가 직접 만든 프레임을 확인하기 때문입니다. 키는 이 컴퓨터에만 저장되며 각자의 서비스로만 전송됩니다.',
1707
+ byokRules: '따르는 규칙은 프로젝트 폴더에 있는 AGENTS.md(또는 CLAUDE.md)뿐입니다. 상위 폴더나 에이전트 설정 폴더 등 다른 곳에 둔 파일은 읽지 않습니다.',
1708
+ save: '확인 후 저장',
1709
+ checkingKey: '확인 중…',
1710
+ cancel: '취소',
1711
+ mcpSummary: '내 MCP 서버: {n}개 중 {on}개를 OpenFilm에서 사용',
1712
+ mcpManage: '선택',
1713
+ mcpDone: '완료',
1714
+ mcpNote: '{agent}에 직접 추가한 MCP 서버는 켜기 전에는 OpenFilm에서 사용하지 않습니다. {agent} 자체 서버는 항상 사용됩니다.',
1715
+ mcpAllow: 'OpenFilm에서 {name} 사용',
1716
+ skillsSummary: '내 스킬: {n}개 중 {on}개를 OpenFilm에서 사용',
1717
+ skillsNote: '{agent}에 직접 설치한 스킬은 매번 같은 결과가 나오도록 켜기 전에는 OpenFilm에서 사용하지 않습니다. {agent} 자체 스킬은 항상 사용됩니다.',
1718
+ skillsAllow: 'OpenFilm에서 {name} 사용',
1719
+ skillsUnfiltered: '{agent}는 자체 앱에서처럼 OpenFilm에서도 내 스킬 {n}개를 모두 사용합니다.',
1720
+ mcpUnfiltered: '{agent}는 자체 앱에서처럼 OpenFilm에서도 내 MCP 서버 {n}개를 모두 사용합니다.',
1721
+ },
1722
+ developer: {
1723
+ playbackGroup: '재생',
1724
+ playbackStats: '재생 통계 표시',
1725
+ playbackStatsHint: '재생 중 뷰어 모서리에 초당 그린 영상 프레임 수, 화면이 새 프레임을 받지 못한 횟수, 렌더링된 구간을 재생 중인지를 표시합니다.',
1726
+ intro: '무엇이 잘못되었는지, 에이전트가 무엇을 왜 했는지 정확히 확인하기 위한 기능입니다. 에이전트의 동작은 바뀌지 않습니다.',
1727
+ group: '각 턴',
1728
+ changes: '각 턴의 변경 사항 보기',
1729
+ changesHint: '각 답변 아래에 이번 턴에서 추가·삭제·변경된 파일과 늘고 줄어든 줄 수를 보여 줍니다. 파일을 누르면 변경된 줄을 볼 수 있습니다.',
1730
+ logs: '각 턴의 로그 보기',
1731
+ logsHint: '채팅의 모든 턴에 로그 버튼이 생깁니다. 프롬프트와 실행된 세션, 각 도구 호출의 입력과 출력, 모든 질문과 답변, 끝난 방식을 에이전트가 보낸 그대로 볼 수 있습니다.',
1732
+ where: '이 설정과 관계없이 모든 턴은 프로젝트의 .film/logs 폴더에 기록됩니다(이 컴퓨터에만).',
1733
+ releaseGroup: '릴리스',
1734
+ previewWhatsNew: '새로운 기능 안내',
1735
+ previewWhatsNewHint: '업데이트 후 보이는 그대로 {version}의 안내를 보여 줍니다.',
1736
+ preview: '미리 보기',
1737
+ },
1738
+ shortcuts: {
1739
+ hint: "키는 운영 체제에 따르며, 입력하는 동안에는 작동하지 않습니다. 스킴을 고르면 다른 편집 프로그램의 키를 쓸 수 있고, 사용자 지정 스킴에서는 어떤 키든 바꿀 수 있습니다.",
1740
+ addMedia: "선택한 미디어를 타임라인에 추가",
1741
+ deselect: '선택 해제',
1742
+ nudge: '선택한 요소를 1px 이동',
1743
+ nudgeFast: '선택한 요소를 10px 이동',
1744
+ editText: '선택한 텍스트 편집',
1745
+ commitText: '텍스트 편집 적용',
1746
+ cancelText: '텍스트 편집 취소 / 선택 해제',
1747
+ splitModeAll: '분할 도구에서 누른 채 클릭: 모든 트랙을 그 자리에서 분할',
1748
+ editModeSwap: '클립을 놓을 때 누르기: 사이에 끼워 넣고 뒤 클립을 밀어냄',
1749
+ copyDrag: '누른 채 클립 드래그: 놓은 자리에 복사본, 원래 클립은 그대로',
1750
+ customName: "사용자 지정 {n}",
1751
+ scheme: "단축키 스킴",
1752
+ restore: "기본값 복원",
1753
+ save: "저장",
1754
+ cancel: "취소",
1755
+ recording: "키를 누르세요…",
1756
+ change: "클릭하여 변경",
1757
+ editCopy: "클릭하여 사본에서 변경",
1758
+ none: "없음",
1759
+ clear: "키 제거",
1760
+ replace: "바꾸기",
1761
+ copied: "{from}은(는) 기본 제공 스킴이라 {to}에 복사했습니다. 변경 사항은 그곳에 저장됩니다.",
1762
+ started: "{to}은(는) {from}의 사본으로 시작합니다.",
1763
+ full: "사용자 지정 스킴 세 개가 모두 사용 중입니다. 키를 바꾸려면 그중 하나를 선택하세요.",
1764
+ conflict: "{keys}은(는) 이미 \"{action}\"에 사용 중입니다. 바꿀까요?",
1765
+ fixed: "이 키들은 바꿀 수 없습니다.",
1766
+ saveFailed: "단축키를 저장하지 못했습니다: {error}",
1767
+ shuttleHold: "1프레임 뒤로 / 앞으로 (정지 키를 누른 채)",
1768
+ tabs: { timeline: "타임라인", player: "플레이어", basic: "기본", other: "기타" },
1769
+ /* the editor's actions (lib/keymap ACTIONS) */
1770
+ actions: {
1771
+ "split": "재생 헤드에서 분할",
1772
+ "split-all": "모든 트랙 분할",
1773
+ "select-mode": "선택 도구",
1774
+ "split-mode": "분할 도구",
1775
+ "ripple-start": "시작 리플 트림",
1776
+ "ripple-end": "끝 리플 트림",
1777
+ "select-left": "왼쪽 모두 선택",
1778
+ "select-right": "오른쪽 모두 선택",
1779
+ "nudge-back": "클립을 1프레임 왼쪽으로",
1780
+ "nudge-forward": "클립을 1프레임 오른쪽으로",
1781
+ "toggle-magnet": "메인 트랙 자석 켜기 / 끄기",
1782
+ "toggle-snap": "스냅 켜기 / 끄기",
1783
+ "toggle-linkage": "연동 켜기 / 끄기",
1784
+ "toggle-preview-axis": "미리보기 축 켜기 / 끄기",
1785
+ "zoom-in": "확대",
1786
+ "zoom-out": "축소",
1787
+ "zoom-reset": "확대/축소 초기화",
1788
+ "zoom-fit": "전체가 보이게 확대/축소",
1789
+ "add-marker": "마커 추가",
1790
+ "next-marker": "다음 마커",
1791
+ "prev-marker": "이전 마커",
1792
+ "speed": "클립 속도",
1793
+ "detach-audio": "오디오 분리",
1794
+ "play-pause": "재생 / 일시 정지",
1795
+ "play-range": "시작점에서 끝점까지 재생",
1796
+ "loop": "반복 재생",
1797
+ "shuttle-back": "역재생",
1798
+ "shuttle-stop": "정지",
1799
+ "shuttle-forward": "재생",
1800
+ "frame-back": "1프레임 뒤로",
1801
+ "frame-forward": "1프레임 앞으로",
1802
+ "jump-back": "10프레임 뒤로",
1803
+ "jump-forward": "10프레임 앞으로",
1804
+ "prev-cut": "이전 컷",
1805
+ "next-cut": "다음 컷",
1806
+ "start": "처음으로 이동",
1807
+ "end": "끝으로 이동",
1808
+ "mark-in": "시작점 지정",
1809
+ "mark-out": "끝점 지정",
1810
+ "clear-range": "시작점과 끝점 지우기",
1811
+ "range-clip": "선택한 클립으로 시작점과 끝점 설정",
1812
+ "go-in": "시작점으로 이동",
1813
+ "go-out": "끝점으로 이동",
1814
+ "insert-source": "소스 뷰어에서 삽입",
1815
+ "overwrite-source": "소스 뷰어에서 덮어쓰기",
1816
+ "undo": "실행 취소",
1817
+ "redo": "다시 실행",
1818
+ "cut": "잘라내기",
1819
+ "copy": "복사",
1820
+ "paste": "재생 헤드에 붙여넣기",
1821
+ "duplicate": "복제",
1822
+ "remove": "삭제",
1823
+ "ripple-delete": "리플 삭제",
1824
+ "select-all": "모두 선택",
1825
+ "copy-attrs": "속성 복사",
1826
+ "paste-attrs": "속성 붙여넣기",
1827
+ "refer": "채팅에 추가",
1828
+ },
1829
+ },
1830
+ providers: {
1831
+ desc: '음성, 음악, 효과음, 대본, 이미지, 비디오를 가져오는 곳입니다. OpenFilm은 이 서비스 없이도 영상을 만들고 편집합니다. 에이전트에게 미디어가 필요할 때 연결하세요. 각 미디어에 무엇을 쓸지는 「서비스」에서 고릅니다.',
1832
+ groupRecommended: '추천',
1833
+ groupMore: '더 많은 제공업체',
1834
+ connect: '연결',
1835
+ disconnect: '연결 해제',
1836
+ connected: '연결됨',
1837
+ and: '및',
1838
+ keyNote: '내 키로 서비스에 직접 결제합니다. 키는 이 컴퓨터에만 저장되며 해당 서비스로만 전송됩니다.',
1839
+ getKey: '{name} 키 받기',
1840
+ key: '키',
1841
+ region: '지역(eastus 등)',
1842
+ azureNote: "내레이션. Azure의 각 서비스는 자체 키와 리소스가 있는 지역을 씁니다. 둘 다 리소스의 '키 및 엔드포인트' 페이지에 있습니다.",
1843
+ pasteKey: '{name} API 키 붙여넣기',
1844
+ save: '저장',
1845
+ cancel: '취소',
1846
+ keyEnding: '{last4}(으)로 끝나는 키',
1847
+ useEnv: '환경 변수 ${env}의 키 사용',
1848
+ own: {
1849
+ title: "사용자 지정 서비스",
1850
+ note: "위 목록에 없는 서비스를 개수 제한 없이 추가할 수 있습니다. 이 컴퓨터에서 실행하는 것이든 온라인이든 괜찮습니다(내 목소리, 음성 인식 서버, 목록에 없는 API 등). 인터페이스는 자유입니다. OpenFilm이 직접 호출하지는 않습니다. 에이전트가 설명을 읽고 호출하며, 키는 이 컴퓨터에 남고 에이전트에게는 보이지 않습니다. 여기에 추가하지 않고 채팅에서 에이전트에게 알려 줄 수도 있습니다. 키가 필요한 서비스는 여기에 추가하면 키가 대화에 나오지 않습니다.",
1851
+ add: "사용자 지정 서비스 추가",
1852
+ edit: "편집",
1853
+ remove: "삭제",
1854
+ name: "이름",
1855
+ namePlaceholder: "예: 내 목소리",
1856
+ url: "주소",
1857
+ key: "키",
1858
+ keyOptional: "선택 사항",
1859
+ keyKeep: "비워 두면 끝자리가 {last4}인 키를 유지합니다",
1860
+ removeKey: "키 삭제",
1861
+ what: "설명",
1862
+ whatPlaceholder: "예: 대본을 내 목소리로 읽음: POST /tts에 {\"text\": \"…\"}를 보내면 WAV를 반환. API 문서 주소만 적어도 됩니다: https://…",
1863
+ },
1864
+ verbs: {
1865
+ tts: '보이스오버',
1866
+ voice: '음성',
1867
+ music: '음악',
1868
+ sfx: '효과음',
1869
+ asr: '음성 인식',
1870
+ image: '이미지',
1871
+ 'image-search': '이미지 검색',
1872
+ video: '비디오',
1873
+ translate: '자막 번역',
1874
+ 'web-search': '웹 검색',
1875
+ },
1876
+ },
1877
+ models: {
1878
+ desc: '각 종류의 미디어를 어떤 서비스로 만들지 정합니다: 연결한 제공업체의 모델 중에서 고릅니다. 제공업체를 연결하면 아직 지정되지 않은 종류가 채워지며, 여기서 언제든 바꿀 수 있습니다.',
1879
+ nothing: '아직 연결된 것이 없습니다. 제공업체를 연결하고 모델을 선택하세요.',
1880
+ goConnect: '제공업체 연결',
1881
+ none: '없음',
1882
+ connectNamed: '{names} 연결',
1883
+ about: {
1884
+ tts: '대본을 읽고, 읽을 음성을 찾습니다',
1885
+ music: '설명으로 사운드트랙을 만듭니다',
1886
+ sfx: '설명으로 소리를 만듭니다',
1887
+ asr: '자막용으로 말한 내용을 단어 단위로 받아 적습니다',
1888
+ image: '설명으로 이미지를 만듭니다',
1889
+ 'image-search': '웹에서 이미지를 찾습니다',
1890
+ video: '설명이나 이미지로 비디오 클립을 만듭니다',
1891
+ translate: '자막을 다른 언어로 번역합니다',
1892
+ 'web-search': '웹을 검색하고 페이지를 읽습니다',
1893
+ },
1894
+ },
1895
+ },
1896
+ };