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,1900 @@
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) ? 'el Explorador de archivos'
5
+ : typeof navigator !== 'undefined' && /^mac/i.test(navigator.platform) ? 'el Finder' : 'el gestor de archivos';
6
+ /* the system's trash, by its name there */
7
+ const TRASH = typeof navigator !== 'undefined' && /^win/i.test(navigator.platform) ? 'la Papelera de reciclaje'
8
+ : typeof navigator !== 'undefined' && /^mac/i.test(navigator.platform) ? 'la Papelera' : 'la papelera';
9
+
10
+ export const es: Words = {
11
+ nav: {
12
+ projects: 'Proyectos',
13
+ desktop: 'Escritorio',
14
+ },
15
+ /* the app window's tabs (TabStrip), a new tab's launcher, and the examples (ExamplesGallery) */
16
+ tabs: { label: 'Pestañas', new: 'Abrir un proyecto', close: 'Cerrar pestaña', closeOthers: 'Cerrar las demás pestañas', closeRight: 'Cerrar las pestañas a la derecha' },
17
+ launcher: { projects: 'Proyectos', examples: 'Ejemplos' },
18
+ gallery: {
19
+ chooseCover: "Elegir portada",
20
+ changeCover: "Cambiar portada",
21
+ removeCover: "Quitar portada",
22
+ coverSaving: "Guardando…",
23
+ coverInvalid: "Elige una imagen PNG, JPEG o WebP válida de hasta 5 MB.",
24
+ title: 'Ejemplos',
25
+ community: 'Comunidad',
26
+ discoverNote: 'Películas hechas con OpenFilm, para empezar con ellas o aprender de cómo están hechas.',
27
+ noSkills: 'Aún no tienes skills propias. Guarda tu marca, el estilo de una serie o tu apertura de siempre como skill, y cada película podrá seguirla. Añade una desde un enlace o una carpeta, o pide al agente que guarde como skill una película que te guste.',
28
+ all: 'Todo',
29
+ workflow: 'Flujos de trabajo',
30
+ style: 'Estilos',
31
+ skillKinds: 'Hay dos tipos de skills:\n· Las tuyas guardan lo que solo tú sabes: tu marca, el estilo de tu serie, tu apertura y cierre de siempre. Ninguna IA puede adivinarlos; guárdalos una vez y cada película podrá usarlos.\n· Las de OpenFilm son formas ya hechas de crear un tipo de película, para empezar rápido. Cuanto mejor sea la IA, menos las necesitarás.',
32
+ search: 'Buscar skills',
33
+ noMatch: 'Ninguna skill coincide.',
34
+ aboutSkills: 'Sobre las skills',
35
+ fromFolder: 'Carpeta',
36
+ made: 'Hecha por ti',
37
+ skills: 'Skills',
38
+ loading: 'Leyendo los ejemplos…',
39
+ empty: 'No hay ejemplos que mostrar. Se leen de GitHub: revisa la conexión.',
40
+ start: 'Empezar con este',
41
+ startNew: 'Empezar una película nueva con este',
42
+ startHow: 'Una copia se convierte en un proyecto tuyo nuevo, con el código listo para cambiar.',
43
+ reference: 'Usar como referencia en esta película',
44
+ referencePart: 'Usar esta parte como referencia',
45
+ referenceHow: 'Va en tu mensaje. El agente lee cómo está hecho (sus páginas y tiempos) y lo sigue en tu película.',
46
+ referenceNote: 'Elige un ejemplo, o una parte, para que el agente lo siga',
47
+ parts: 'Partes',
48
+ whole: 'La película entera',
49
+ partsHint: 'Haz clic en una parte o arrastra sobre la barra para un tramo.',
50
+ viewSource: 'Ver en GitHub',
51
+ back: 'Atrás',
52
+ installed: 'Instaladas',
53
+ discover: 'Descubrir',
54
+ mineHint: 'En tu carpeta Skills',
55
+ fromOpenFilm: 'De OpenFilm',
56
+ officialHint: 'Instaladas desde Descubrir',
57
+ projectHint: 'Guardadas con esta película',
58
+ noneInstalled: 'Aún no hay ninguna. Encuentra las de OpenFilm en',
59
+ fromAgent: 'De {name}',
60
+ agentHint: 'Las de tu agente. Desactivadas hasta que actives una.',
61
+ removeTitle: `¿Mover «{name}» a ${TRASH}?`,
62
+ removeHint: `Los agentes dejarán de usarla. Puedes recuperarla de ${TRASH}.`,
63
+ remove: `Mover a ${TRASH}`,
64
+ tryNow: 'Probar',
65
+ tryOff: 'Actívala para probarla',
66
+ details: 'Detalles',
67
+ uninstall: 'Desinstalar',
68
+ offLine: 'Desactivada. Los agentes no la usan.',
69
+ installedOne: 'Instalada',
70
+ install: 'Instalar',
71
+ more: 'Más',
72
+ turnOn: 'Activar {name}',
73
+ turnOff: 'Desactivar {name}',
74
+ skillOff: 'Desactivada. Ningún agente la usará hasta que la vuelvas a activar.',
75
+ mine: 'Tuya',
76
+ project: 'Este proyecto',
77
+ addSkill: 'Añadir una skill',
78
+ cat: { launch: 'Lanzamientos', explainer: 'Explicaciones', slides: 'Diapositivas a vídeo', captions: 'Subtítulos y títulos', ads: 'Anuncios', commerce: 'Puntos de venta', music: 'Música' },
79
+ },
80
+ /* the app's update, ready to install (Studio's top bar, in an app that has updates: lib/host.ts `update`) */
81
+ update: {
82
+ restart: 'Reiniciar para actualizar',
83
+ ready: 'OpenFilm {version} está listo. Reinicia para actualizar ahora, o se instalará al salir y la próxima vez se abrirá la nueva versión.',
84
+ agentBusy: 'Un agente sigue trabajando. Reinicia cuando termine.',
85
+ exporting: 'Hay una exportación en curso. Reinicia cuando termine.',
86
+ installFailed: 'No se pudo instalar OpenFilm {version}. Sal de OpenFilm y vuelve a abrirlo para instalarlo.',
87
+ installing: 'Reiniciando…',
88
+ webUpdate: 'Actualizar',
89
+ webAvailable: 'Ya está OpenFilm {version}. Studio se reinicia con ella y las páginas abiertas vuelven solas.',
90
+ webUpdating: 'Actualizando…',
91
+ webExporting: 'Hay una exportación en curso. Actualiza cuando termine.',
92
+ webMaking: 'Se está generando contenido. Actualiza cuando termine.',
93
+ webFailed: 'No se pudo actualizar: {error}',
94
+ },
95
+ whatsNew: {
96
+ eyebrow: 'Actualizado',
97
+ title: 'Novedades de OpenFilm {version}',
98
+ close: 'Cerrar',
99
+ changelog: 'Registro completo de cambios',
100
+ ok: 'Entendido',
101
+ kind: {
102
+ new: 'Nuevo',
103
+ improved: 'Mejorado',
104
+ fixed: 'Corregido',
105
+ },
106
+ },
107
+ host: {
108
+ refer: 'Mencionar en el chat',
109
+ regionHint: 'Arrastra un recuadro para mencionarlo en el chat',
110
+ rangeDrag: 'Arrástralo al chat · I y O marcan los extremos · X lo quita',
111
+ },
112
+ selectionBar: {
113
+ toolbar: 'Herramientas de la selección',
114
+ addToChat: 'Añadir al chat',
115
+ oneClip: '1 clip',
116
+ clips: '{n} clips',
117
+ layers: '{n} capas',
118
+ plusRange: '{what} + rango',
119
+ range: 'Rango',
120
+ mute: 'Silenciar',
121
+ unmute: 'Activar sonido',
122
+ noSound: 'No hay sonido que silenciar',
123
+ more: 'Más',
124
+ crop: 'Recortar',
125
+ mask: 'Máscara',
126
+ playRange: 'Reproducir rango',
127
+ clearRange: 'Quitar rango',
128
+ splitSelected: 'Dividir los clips seleccionados en el cabezal',
129
+ splitNone: 'El cabezal no está sobre un clip seleccionado',
130
+ },
131
+ desktop: {
132
+ title: 'OpenFilm para escritorio',
133
+ tagline: 'Tu agente y tu película, uno al lado del otro.',
134
+ intro: 'Studio como app de escritorio, con tu agente en un chat junto a la película y conectado a cada parte del editor. Pide, mira cómo llega cada cambio y retoca lo que quieras a mano.',
135
+ worksWith: 'Funciona con',
136
+ orOwnKey: 'o tu propia clave de API',
137
+ features: {
138
+ sync: { title: 'Conectado al editor en ambos sentidos', body: 'Pon un clip, una capa, una zona de la imagen o un archivo en tu mensaje, y haz clic en cualquier clip que nombre tu agente para ir a él en Studio.' },
139
+ live: { title: 'Cambios en directo', body: 'Cada edición aparece en la imagen y en la línea de tiempo en cuanto se escribe. Ajústala a mano o vuelve atrás en el historial de versiones.' },
140
+ drop: { title: 'Suelta tus medios', body: 'Arrastra metraje, imágenes o sonido al chat: van directos a la carpeta de la película, listos para usar.' },
141
+ agents: { title: 'Cualquier agente, a un clic', body: 'Claude Code, Codex, Copilot, Cursor y más, detectados en tu ordenador. Cámbialos en el chat o usa tu propia clave de API.' },
142
+ speed: { title: 'Vista previa y exportación más rápidas', body: 'Un motor de renderizado fijo para una reproducción fluida, y exportaciones con el codificador de vídeo por hardware de tu ordenador cuando lo tiene.' },
143
+ setup: { title: 'Sin terminal ni dependencias', body: 'Nada de Node, npm ni versiones de paquetes: ffmpeg y el renderizador vienen incluidos y probados con Studio.' },
144
+ updates: { title: 'Siempre al día', body: 'Las actualizaciones se descargan en segundo plano y se instalan al reiniciar, nunca en mitad de una exportación o una respuesta.' },
145
+ history: { title: 'Cada película guarda sus chats', body: 'Se abre en tu última película con sus conversaciones, para que tú y tu agente sigáis donde lo dejasteis.' },
146
+ },
147
+ picture: {
148
+ clip: 'Título · 0:02–0:06',
149
+ ask: 'Haz este título más grande y más lento.',
150
+ reply: 'Hecho: el título es un 20 % más grande y entra suavemente en un segundo.',
151
+ },
152
+ status: 'Gratis · Sin necesidad de cuenta',
153
+ downloadFor: 'Descargar para {system}',
154
+ otherSystems: 'Para macOS y Windows',
155
+ getIt: 'Consíguelo para macOS o Windows',
156
+ close: 'Cerrar',
157
+ },
158
+ connection: {
159
+ lost: 'Se perdió la conexión con Studio. Reconectando…',
160
+ gone: 'Studio se ha detenido. Ejecuta esto en una terminal o pide a tu agente que vuelva a abrir OpenFilm: esta página se reconecta sola.',
161
+ goneApp: 'Studio se ha detenido. Cierra y vuelve a abrir la app OpenFilm para recuperarlo.',
162
+ copied: 'Copiado',
163
+ lockedTitle: 'Este navegador no ha entrado en Studio',
164
+ lockedBody: 'Studio está en marcha, pero solo deja entrar a un navegador que lo abrió una vez con su clave. Abre la dirección completa que mostró `openfilm open` (o `pnpm dev`), la que lleva ?key=; después, este navegador puede usar la dirección de Studio tal cual.',
165
+ lockedHow: 'Para obtenerla de nuevo, ejecuta',
166
+ },
167
+ projects: {
168
+ newProject: 'Nuevo proyecto',
169
+ localProjectFailed: 'No se pudo crear el proyecto. Inténtalo de nuevo.',
170
+ loadFailed: 'No se pudieron cargar tus proyectos.',
171
+ loadRetry: 'Reintentar',
172
+ revealFolder: `Mostrar en ${FILES}`,
173
+ folderAll: 'Todos',
174
+ folderUp: 'Subir un nivel',
175
+ untitledFolder: 'Carpeta sin título',
176
+ folderCount: '{n} proyectos',
177
+ folderCountOne: '1 proyecto',
178
+ newFolder: 'Nueva carpeta',
179
+ openFolder: 'Abrir carpeta…',
180
+ openFolderFailed: 'No se pudo abrir esa carpeta: {error}',
181
+ dropFolder: 'Suelta una carpeta para abrirla como proyecto.',
182
+ folderNamePlaceholder: 'Nombre de la carpeta',
183
+ renameFolder: 'Cambiar nombre de la carpeta',
184
+ deleteFolder: 'Eliminar carpeta',
185
+ deleteFolderHint: `Elimina la carpeta y mueve los {n} proyectos que contiene a ${TRASH}, desde donde puedes recuperarlos.`,
186
+ deleteFolderHintOne: `Elimina la carpeta y mueve el proyecto que contiene a ${TRASH}, desde donde puedes recuperarlo.`,
187
+ deleteFolderHintEmpty: 'Elimina la carpeta. No contiene ningún proyecto.',
188
+ renameTaken: '“{name}” ya está en uso: ya hay una carpeta con ese nombre. Elige otro.',
189
+ moveToTitle: 'Mover «{name}»',
190
+ moveHint: 'Elige adónde va.',
191
+ move: 'Mover',
192
+ moveTo: 'Mover a…',
193
+ hereNow: 'Aquí ahora',
194
+ newFolderName: 'Nombre de la carpeta nueva',
195
+ moveToFolder: 'Mover a carpeta',
196
+ changeCover: 'Cambiar portada…',
197
+ restoreCover: 'Usar la portada automática',
198
+ coverFromFrame: 'Usar este fotograma como portada',
199
+ setAsCover: 'Usar como portada del proyecto',
200
+ coverSet: 'Portada establecida',
201
+ coverFailed: 'No se pudo usar como portada.',
202
+ creating: 'Creando proyecto',
203
+ opening: 'Abriendo proyecto',
204
+ missing: 'Carpeta no encontrada',
205
+ missingOpen: 'La carpeta de este proyecto ya no está: se movió, se renombró o se eliminó. Puedes quitarlo de la lista.',
206
+ agentRunning: 'Agente en marcha',
207
+ agentRunningRename: 'Hay un agente trabajando en este proyecto. Detenlo antes de cambiarle el nombre al proyecto.',
208
+ exportRunningRename: 'Este proyecto tiene una exportación en curso o en cola. Espera a que termine o cancélala antes de cambiarle el nombre.',
209
+ agentRunningDelete: 'Un agente está trabajando en este proyecto. Detenlo primero y luego elimina el proyecto.',
210
+ agentRunningDeleteMany: 'Un agente está trabajando en {n} de estos proyectos. Detenlo primero y luego elimínalos.',
211
+ removeFromList: 'Quitar de la lista',
212
+ removeTitle: '¿Quitar de la lista?',
213
+ removeDesc: 'Su carpeta ya no existe, y todo lo que guarda un proyecto (versiones, chats) estaba en ella, así que no queda nada que borrar. Esto lo quita de la lista.',
214
+ removeAlso: 'Los proyectos cuya carpeta ya no existe solo se quitan de la lista.',
215
+ getFromGitHub: 'Obtener de GitHub…',
216
+ importFrom: 'Importar desde',
217
+ locate: 'Localizar…',
218
+ locateTitle: 'Localizar «{name}»',
219
+ locateFailed: 'No se pudo usar esa carpeta: {error}',
220
+ locateNoFilm: 'No hay film.html en esa carpeta. Elige la carpeta donde está ahora el proyecto.',
221
+ startFilmTitle: 'No hay ninguna película en esta carpeta',
222
+ startFilmDesc: 'No hay film.html en «{name}». ¿Empezar una película nueva ahí?',
223
+ startFilm: 'Empezar una película nueva',
224
+ browse: {
225
+ title: 'Abrir carpeta',
226
+ pathLabel: 'Ruta de la carpeta',
227
+ go: 'Ir',
228
+ up: 'Subir',
229
+ places: 'Lugares',
230
+ recent: 'Recientes',
231
+ place: {
232
+ home: 'Inicio',
233
+ library: 'Proyectos',
234
+ desktop: 'Escritorio',
235
+ documents: 'Documentos',
236
+ downloads: 'Descargas',
237
+ movies: 'Películas',
238
+ videos: 'Vídeos',
239
+ },
240
+ empty: 'No hay carpetas aquí',
241
+ more: 'Solo se muestran las primeras 1000 carpetas.',
242
+ film: 'Película',
243
+ hasFilm: 'Esta carpeta tiene una película.',
244
+ noFilm: 'Aquí no hay film.html: al abrir esta carpeta empieza una película nueva en ella.',
245
+ locateNoFilm: 'Aquí no hay film.html. Elige la carpeta donde está ahora el proyecto.',
246
+ open: 'Abrir',
247
+ startHere: 'Empezar una película aquí',
248
+ useFolder: 'Usar esta carpeta',
249
+ error: {
250
+ outside: 'Aquí solo se muestran carpetas de tu carpeta personal. Abrir sigue abriendo la ruta que escribiste.',
251
+ denied: 'No tienes permiso para abrir esta carpeta.',
252
+ notFound: 'Esa carpeta no existe.',
253
+ file: 'Eso es un archivo, no una carpeta.',
254
+ },
255
+ },
256
+ fetch: {
257
+ title: 'Obtener de GitHub',
258
+ urlLabel: 'Dirección de un repositorio o de una carpeta suya',
259
+ placeholder: 'https://github.com/owner/repo/tree/main/folder',
260
+ hint: 'Studio lo copia en tu biblioteca de proyectos sin su historial de git (.git), así que la copia es un proyecto tuyo.',
261
+ get: 'Obtener',
262
+ cancel: 'Cancelar',
263
+ retry: 'Reintentar',
264
+ left: 'Quedan unos {time}',
265
+ close: 'Cerrar',
266
+ phase: {
267
+ lookup: 'Obteniendo la lista de archivos…',
268
+ download: 'Descargando…',
269
+ checkout: 'Escribiendo archivos…',
270
+ copy: 'Abriendo…',
271
+ },
272
+ error: {
273
+ url: 'No es la dirección de un repositorio ni de una carpeta suya.',
274
+ host: 'Studio obtiene películas de github.com y gitlab.com, por https.',
275
+ access: 'No se encontró, o es privado. Revisa la dirección. Un repositorio privado necesita que git en este equipo haya iniciado sesión con una cuenta con acceso.',
276
+ network: 'No se pudo conectar con GitHub. Revisa tu conexión a internet.',
277
+ ref: 'Esa rama o etiqueta no está en el repositorio.',
278
+ noFolder: 'Esa carpeta no está en el repositorio.',
279
+ noFilm: 'No hay film.html en esa carpeta, así que no es una película de OpenFilm.',
280
+ tooBig: 'Es demasiado grande, así que se detuvo.',
281
+ timeout: 'No llegó nada durante un rato, así que se detuvo. Revisa tu conexión a internet y vuelve a intentarlo.',
282
+ git: 'Este necesita git: es privado o no está en GitHub. Instala git y vuelve a intentarlo.',
283
+ },
284
+ },
285
+ examples: {
286
+ title: 'Ejemplos',
287
+ show: 'Mostrar ejemplos',
288
+ hide: 'Ocultar ejemplos',
289
+ open: 'Abrir',
290
+ },
291
+ },
292
+ library: {
293
+ noMatches: 'Ningún proyecto coincide con la búsqueda',
294
+ searchPlaceholder: 'Buscar',
295
+ sortLabel: 'Ordenar',
296
+ sortRecent: 'Abiertos recientemente',
297
+ sortNewest: 'Más recientes',
298
+ sortOldest: 'Más antiguos',
299
+ sortDuration: 'Más largos',
300
+ sortTitle: 'Nombre (A–Z)',
301
+ viewLabel: 'Vista',
302
+ viewCards: 'Vista de tarjetas',
303
+ viewList: 'Vista de lista',
304
+ select: 'Seleccionar',
305
+ selectedCount: '{n} seleccionados',
306
+ selectAll: 'Seleccionar todo',
307
+ deselectAll: 'Deseleccionar todo',
308
+ deleteSelected: 'Eliminar',
309
+ cancelSelect: 'Cancelar',
310
+ toggleSelect: 'Seleccionar elemento',
311
+ },
312
+ projectMenu: {
313
+ more: 'Más',
314
+ open: 'Abrir',
315
+ rename: 'Cambiar nombre',
316
+ export: 'Exportar',
317
+ history: 'Historial de versiones',
318
+ delete: 'Eliminar',
319
+ },
320
+ exportDialog: {
321
+ close: 'Cerrar',
322
+ },
323
+ exportCenter: {
324
+ fpsProject: "proyecto",
325
+ title: 'Exportar',
326
+ dest: {
327
+ social: 'Redes sociales',
328
+ video: 'Archivo de video',
329
+ gif: 'GIF',
330
+ audio: 'Audio',
331
+ subtitles: 'Subtítulos',
332
+ images: 'Imágenes',
333
+ slides: 'Diapositivas y PDF',
334
+ project: 'Proyecto',
335
+ alpha: 'Recursos con transparencia',
336
+ nle: 'Proyecto de edición',
337
+ },
338
+ destHint: {
339
+ social: 'Ajustes preestablecidos para cada plataforma',
340
+ video: 'Códec, tamaño y calidad',
341
+ gif: 'Para documentos, correo, READMEs',
342
+ audio: 'Mezcla o stems por separado',
343
+ subtitles: 'SRT, WebVTT, transcripción',
344
+ images: 'Póster y fotogramas de cada plano',
345
+ slides: 'Una diapositiva por plano',
346
+ project: 'El proyecto entero, para pasarlo',
347
+ alpha: 'Alfa para AE, Final Cut, web',
348
+ nle: '{app}, Final Cut Pro, Premiere Pro, DaVinci Resolve',
349
+ },
350
+ destDesc: {
351
+ social: 'Elige una o más plataformas. Cada una recibe la forma, el tamaño y la velocidad de fotogramas adecuados, y se exportan de una vez.',
352
+ video: 'Un solo video con control total sobre códec, encuadre, resolución y calidad.',
353
+ gif: 'Una imagen animada en bucle. Mantenlo corto y pequeño: los GIF crecen rápido.',
354
+ audio: 'La banda sonora mezclada, o la voz, la música y los efectos como archivos separados para tu propia mezcla.',
355
+ subtitles: 'Archivos de subtítulos para YouTube, reproductores y traductores, o una transcripción en texto plano.',
356
+ images: 'El póster, o un fotograma por plano para miniaturas y publicaciones en redes.',
357
+ slides: 'Una presentación o PDF con una diapositiva por plano, lista para presentar o imprimir.',
358
+ project: 'El proyecto en sí —su película, páginas y medios, y las partes que elijas— como un zip o una carpeta que se abre en OpenFilm.',
359
+ alpha: 'Video con fondo transparente (la película entera o un solo elemento) para superponerlo en tus propias ediciones, apps y sitios web.',
360
+ nle: 'La propia línea de tiempo, lista para seguir editando: un borrador de {app} o un XML que importa tu editor, cada página como un clip con alfa, y tu metraje y sonidos en sus propias pistas.',
361
+ },
362
+ group: {
363
+ landscape: 'Horizontal 16:9',
364
+ vertical: 'Vertical 9:16',
365
+ feed: 'Feed',
366
+ },
367
+ quality: 'Calidad',
368
+ qStandard: 'Estándar',
369
+ qHigh: 'Alta',
370
+ qMaster: 'Máster',
371
+ burnSubtitles: 'Incrustar subtítulos',
372
+ subsAuto: 'Según la plataforma',
373
+ subsOn: 'Todas',
374
+ subsOff: 'Ninguna',
375
+ socialHint: 'Una película que no coincide con la forma de una plataforma se ajusta con bandas, nunca se recorta. Los feeds verticales llevan subtítulos incrustados por defecto porque la mayoría de la gente los ve sin sonido.',
376
+ tooLong: 'Supera el límite de {max}',
377
+ codec: 'Códec',
378
+ codecHint: {
379
+ h264: 'Se reproduce en todas partes. La opción segura.',
380
+ hevc: 'La misma calidad, un 40 % más pequeño. Dispositivos más recientes.',
381
+ vp9: 'WebM con transparencia, para la web.',
382
+ prores422hq: 'Máster de edición para Premiere, Final Cut, Resolve.',
383
+ prores4444: 'Con transparencia, para composición y After Effects.',
384
+ png: 'Un PNG por fotograma con alfa, para 3D y motores de juego.',
385
+ hevc_alpha: 'Transparencia que las apps de Apple y Safari reproducen de forma nativa.',
386
+ },
387
+ notOnThisComputer: 'El ffmpeg de este equipo no puede generarlo',
388
+ frame: 'Encuadre',
389
+ frameNative: 'Original',
390
+ fillContain: 'Ajustar con bandas',
391
+ fillCover: 'Rellenar y recortar',
392
+ resolution: 'Resolución',
393
+ fps: 'Velocidad de fotogramas',
394
+ fpsSource: 'origen',
395
+ audio: 'Sonido',
396
+ includeAudio: 'Incluir sonido',
397
+ subtitles: 'Subtítulos',
398
+ burnIn: 'Incrustar los subtítulos en la imagen',
399
+ noSidecar: 'Sin archivo',
400
+ gifWidth: 'Tamaño',
401
+ gifHint: 'Consejo: elige un intervalo de pocos segundos. Un GIF de 10 segundos a 640 px suele ocupar unos pocos MB.',
402
+ format: 'Formato',
403
+ audioHint: {
404
+ wav: 'Sin pérdida, para editar',
405
+ m4a: 'Pequeño y de alta calidad',
406
+ mp3: 'Se reproduce en todas partes',
407
+ },
408
+ contents: 'Contenido',
409
+ audioMix: 'Mezcla completa',
410
+ audioStems: 'Stems por separado',
411
+ stem: {
412
+ voice: 'Voz',
413
+ music: 'Música',
414
+ sfx: 'Efectos de sonido',
415
+ footage: 'Sonido del metraje',
416
+ },
417
+ stemsHint: 'Los stems se exportan sin ducking, para que puedas reequilibrarlos en tu editor.',
418
+ transcript: 'Transcripción',
419
+ subsHint: {
420
+ srt: 'Funciona casi en todas partes',
421
+ vtt: 'Reproductores web, YouTube, LMS',
422
+ txt: 'Texto plano para documentos y traducción',
423
+ },
424
+ captionCount: '{n} líneas de subtítulos en esta película.',
425
+ poster: 'Póster',
426
+ posterAt: 'Exportar el fotograma en {time}',
427
+ posterMiddle: 'Exportar el fotograma central',
428
+ sceneStills: 'Fotogramas de los planos',
429
+ sceneStillsDesc: 'Una imagen del centro de cada plano ({n} planos), en un ZIP.',
430
+ stills: 'Fotogramas de los planos',
431
+ sequence: 'secuencia',
432
+ slidesHint: {
433
+ pptx: 'Se abre en PowerPoint, Keynote y Google Slides',
434
+ pdf: 'Para imprimir y compartir',
435
+ },
436
+ range: 'Intervalo',
437
+ rangeAll: 'Película completa',
438
+ rangePart: 'Una parte',
439
+ rangeFrom: 'Desde',
440
+ rangeTo: 'Hasta',
441
+ saveTo: 'Guardar en',
442
+ fileName: 'Nombre',
443
+ change: 'Cambiar…',
444
+ pickTitle: 'Elige dónde guardar las exportaciones',
445
+ pickButton: 'Elegir',
446
+ summary: '{n} archivo(s) · {dur}',
447
+ approx: 'aprox.',
448
+ emptyFilm: 'La película está vacía: añade primero un clip.',
449
+ missingMedia: 'Faltan {n} archivos de medios: {files}. Vuelve a vincularlos primero: clic derecho en el clip rojo de la línea de tiempo.',
450
+ pickPreset: 'Elige al menos una plataforma.',
451
+ noCaptions: 'Esta película no tiene subtítulos.',
452
+ noAudio: 'Esta película no tiene sonido.',
453
+ noFolder: 'Elige primero dónde guardar.',
454
+ engineDown: 'El motor local no responde. Reinicia OpenFilm e inténtalo de nuevo.',
455
+ engineDesktop: 'Se renderiza en este equipo con codificación por hardware. No se sube nada.',
456
+ queueing: 'Iniciando…',
457
+ export: 'Exportar',
458
+ exportN: 'Exportar {n} archivos',
459
+ alphaSource: 'Qué exportar',
460
+ alphaWhole: 'Película completa',
461
+ alphaWholeHint: 'sin fondo',
462
+ alphaNoBlocks: 'Esta película no tiene páginas que exportar por separado.',
463
+ alphaCodecHint: {
464
+ prores4444: 'After Effects, Premiere, Final Cut, DaVinci Resolve',
465
+ hevc_alpha: 'Final Cut, Keynote, Safari, apps de iOS; mucho más pequeño que ProRes',
466
+ vp9: 'Sitios web: Chrome, Firefox y Edge lo reproducen sobre la página',
467
+ png: 'Motores de juego, 3D, Nuke: cualquier programa lo lee',
468
+ },
469
+ alphaScale: 'Tamaño',
470
+ alphaHint: 'Solo se conserva lo que dibuja la película; se quita el fondo del escenario. Si un elemento pinta su propio fondo a pantalla completa, la exportación saldrá opaca: pon ese fondo en su propio clip.',
471
+ nleFor: 'Para',
472
+ nleDraftTitle: 'Borrador de {app}',
473
+ nleSrt: 'Incluir subtítulos (SRT)',
474
+ nleSubs: 'Incluir subtítulos',
475
+ nleHintFinalCut: 'Crea una carpeta con el FCPXML y una carpeta de medios. En Final Cut Pro: Archivo › Importar › XML. Los subtítulos llegan como clips de título, con una copia SRT. Final Cut Pro solo existe para Mac: en Windows o Linux, mueve la carpeta a un Mac y vuelve a enlazar.',
476
+ nleHintPremiere: 'Crea una carpeta con el XML y una carpeta de medios. En Premiere Pro: Archivo › Importar. Deja la carpeta donde está o vuelve a vincular los medios tras moverla.',
477
+ nleHintResolve: 'Crea una carpeta con el XML y una carpeta de medios. En DaVinci Resolve: Archivo › Importar › Línea de tiempo. Deja la carpeta donde está o vuelve a vincular los medios tras moverla.',
478
+ nleHintDraft: 'Crea un borrador en la carpeta de borradores de {app}, así aparece en su pantalla de inicio (si {app} está abierto, reinícialo). Las páginas llegan como clips con alfa y los subtítulos como una pista de texto.',
479
+ nleHintDraftNone: '{app} no está en este equipo: el borrador se crea en la carpeta de exportación. Muévelo a la carpeta de borradores de {app} (Ajustes › Ubicación de borradores).',
480
+ nleAudio: 'Sonido en la línea de tiempo',
481
+ nleAudioClips: 'Clips separados',
482
+ nleAudioStems: 'Stems mezclados',
483
+ nleAlpha: 'Codificación de las páginas',
484
+ nleAlphaAuto: 'Automático',
485
+ nleAlphaHint: {
486
+ auto: 'Cada página revisada fotograma a fotograma: una opaca en H.264, ligera y fluida; una con cualquier transparencia en PNG sin pérdida',
487
+ png: 'Sin pérdida, idéntico píxel a píxel. Tamaño moderado; funciona en Mac y Windows',
488
+ prores: 'Un máster de edición: ProRes 422 HQ para una página opaca, 4444 para una con transparencia. Muy pesado',
489
+ prores4444: 'El formato máster de los editores. Muy pesado: unos 2,8 GB por minuto a 1080p',
490
+ },
491
+ projectZip: 'Zip',
492
+ projectZipHint: 'Un solo archivo, fácil de enviar o subir.',
493
+ projectFolder: 'Carpeta',
494
+ projectFolderHint: 'Una copia de la carpeta del proyecto, lista para abrir.',
495
+ projectPart: {
496
+ work: 'El trabajo',
497
+ history: 'Historial de versiones',
498
+ chat: 'Conversaciones',
499
+ logs: 'Registros de depuración',
500
+ },
501
+ projectPartHint: {
502
+ work: 'La película, sus páginas y código, los medios, el estilo de subtítulos.',
503
+ history: 'Cada commit y rama, para que quien lo reciba pueda volver atrás.',
504
+ chat: 'El chat sobre este proyecto y las sesiones del agente. Privado: desactivado por defecto.',
505
+ logs: 'Cada solicitud enviada al modelo, completa. Privado: desactivado por defecto.',
506
+ },
507
+ projectPartNone: 'Este proyecto no tiene.',
508
+ projectHint: 'Las cachés nunca se incluyen: OpenFilm las vuelve a crear al abrir el proyecto.',
509
+ },
510
+ exportTray: {
511
+ running: 'Exportando {n}…',
512
+ finished: 'Exportaciones terminadas',
513
+ failedOne: 'La exportación falló',
514
+ studioStopped: 'Studio se detuvo durante la exportación y no se terminó. Vuelve a exportarla.',
515
+ failedAll: 'Las exportaciones fallaron',
516
+ cancelledOne: 'Se canceló la exportación',
517
+ cancelledAll: 'Se cancelaron las exportaciones',
518
+ countDone: '{n} terminadas',
519
+ countCancelled: '{n} canceladas',
520
+ countFailed: '{n} fallidas',
521
+ took: 'hecho en {time}',
522
+ fileGone: 'Ese archivo ya no está donde se exportó: se movió o se eliminó.',
523
+ expand: 'Expandir',
524
+ collapse: 'Contraer',
525
+ close: 'Cerrar',
526
+ cancel: 'Cancelar',
527
+ open: 'Abrir',
528
+ reveal: `Mostrar en ${FILES}`,
529
+ queued: 'En espera…',
530
+ phase: {
531
+ preparing: 'Preparando',
532
+ audio: 'Mezclando sonido',
533
+ rendering: 'Renderizando',
534
+ encoding: 'Codificando',
535
+ finishing: 'Finalizando',
536
+ copying: 'Copiando',
537
+ },
538
+ eta: 'restantes',
539
+ files: '{n} archivos',
540
+ cancelled: 'Cancelada',
541
+ cancelling: 'Cancelando…',
542
+ failed: 'La exportación falló',
543
+ draftsRefused: "La carpeta de borradores rechazó la escritura (suele hacerlo el software de seguridad), así que el borrador está en la carpeta de exportación: muévelo a {folder}.",
544
+ diskFull: 'El disco está lleno. Libera espacio y vuelve a exportar.',
545
+ notTransparent: 'No hay píxeles transparentes: este elemento pinta su propio fondo.',
546
+ },
547
+ player: {
548
+ playTitle: 'Reproducir (espacio / k)',
549
+ pauseTitle: 'Pausa (espacio / k)',
550
+ captionsTitle: 'Subtítulos (c)',
551
+ exitFullscreenTitle: 'Salir de pantalla completa (f)',
552
+ muteTitle: 'Silenciar (m)',
553
+ unmuteTitle: 'Activar sonido (m)',
554
+ volume: 'Volumen',
555
+ settings: 'Configuración',
556
+ speed: 'Velocidad de reproducción',
557
+ speedNormal: 'Normal',
558
+ seek: 'Buscar',
559
+ },
560
+ project: {
561
+ projects: 'Proyectos',
562
+ previewStageMount: 'Dibujando el primer fotograma',
563
+ dropOnPicture: 'Suelta para colocarlo en la película en el cabezal de reproducción',
564
+ editsUndone: 'Un cambio externo a Studio (tu agente guardando film.html) deshizo {n} de tus ediciones.',
565
+ editsUndoneShort: 'Ediciones deshechas: {n}',
566
+ editsRestore: 'Restaurarlas',
567
+ editsLeaveOut: 'Descartarlas',
568
+ previewFailed: 'No se pudo dibujar la vista previa.',
569
+ previewBrowser: 'Esta página usa algo que tu navegador no tiene. Las películas se dibujan y exportan con Chromium: abre Studio en Chrome o Edge.',
570
+ previewMissing: 'Falta el medio: {file} · clic derecho en el clip para revincular',
571
+ filmEmptyHint: 'Arrastra medios a la línea de tiempo para empezar tu película, o pide a tu agente que haga una.',
572
+ filmBroken: 'Ahora mismo no se puede leer film.html, así que Studio muestra la película tal como estaba, y las ediciones de aquí no se pueden guardar hasta que se corrija:',
573
+ filmNotReady: 'El video aún no está listo',
574
+ filmCannotExport: 'La película no se puede exportar mientras no se pueda dibujar:',
575
+ untitled: 'Sin título',
576
+ appMenu: 'Configuración',
577
+ close: 'Cerrar',
578
+ deleteFailed: 'No se pudo eliminar. Inténtalo de nuevo.',
579
+ renameFailed: 'No se pudo cambiar el nombre. Inténtalo de nuevo.',
580
+ },
581
+ history: {
582
+ stepFade: 'Fundido',
583
+ stepTransition: 'Transición añadida',
584
+ stepTransitionResize: 'Duración de la transición',
585
+ stepTransitionRemove: 'Transición quitada',
586
+ stepDuplicate: "Duplicar",
587
+ stepDuplicated: "Duplicado {clip}",
588
+ undo: 'Deshacer',
589
+ redo: 'Rehacer',
590
+ sessionEmpty: 'Aún no hay ediciones manuales',
591
+ opsTitle: 'Historial de edición',
592
+ opsHint: 'Sin versiones · se borra al salir',
593
+ stepMove: 'Mover / recortar',
594
+ stepTransform: 'Transformar',
595
+ stepStyle: 'Estilo',
596
+ stepVolume: 'Volumen',
597
+ stepTrackOrder: 'Orden de pistas',
598
+ stepTrackFlag: 'Activar/desactivar pista',
599
+ stepLocked: 'Bloqueada {track}',
600
+ stepUnlocked: 'Desbloqueada {track}',
601
+ stepHid: 'Ocultada {track}',
602
+ stepShowed: 'Mostrada {track}',
603
+ stepMuted: 'Silenciada {track}',
604
+ stepUnmuted: 'Sonido activado en {track}',
605
+ stepRemove: 'Eliminar',
606
+ stepRemoved: 'Eliminado {clip}',
607
+ stepMoved: 'Movido {clip}',
608
+ stepTrimmed: 'Recortado {clip}',
609
+ stepSplit: 'Dividido {clip}',
610
+ stepDetachAudio: 'Audio separado de {clip}',
611
+ stepRippleTrimmed: 'Recorte con desplazamiento de {clip}',
612
+ stepGapClosed: 'Hueco cerrado',
613
+ stepGapsClosed: 'Huecos de una pista cerrados',
614
+ stepMainClosed: 'Pista principal cerrada',
615
+ stepLinked: '{clip} vinculado',
616
+ stepUnlinked: '{clip} desvinculado',
617
+ stepSpeed: 'Velocidad de {clip} cambiada',
618
+ stepPaste: 'Pegar',
619
+ stepDrop: 'Añadir recurso',
620
+ stepEdit: 'Editar',
621
+ stepRestoreEdits: 'Mis ediciones, rehechas',
622
+ stepSubtitleTimed: 'Subtítulo retemporizado',
623
+ stepSubtitleSplit: 'Subtítulo dividido',
624
+ stepSubtitleMerged: 'Subtítulos unidos',
625
+ stepSubtitleRemoved: 'Subtítulo eliminado',
626
+ stepSubtitleText: 'Subtítulo editado',
627
+ stepSubtitleAdded: 'Subtítulo añadido',
628
+ stepMarker: 'Marcadores cambiados',
629
+ stepNormalized: "Sonoridad normalizada a {clip} LUFS",
630
+ stepFroze: "Fotograma de {clip} congelado",
631
+ stepReplaced: "{clip} reemplazado",
632
+ justNow: 'ahora mismo',
633
+ minutesAgo: 'hace {n} min',
634
+ hoursAgo: 'hace {n} h',
635
+ daysAgo: 'hace {n} d',
636
+ },
637
+ versions: {
638
+ title: 'Historial de versiones',
639
+ close: 'Cerrar',
640
+ working: 'Trabajando…',
641
+ branchOf: 'Rama: {branch}',
642
+ branches: 'Ramas',
643
+ branchCount: '{n} ramas',
644
+ branchCountOne: '1 rama',
645
+ newBranch: 'Nueva rama',
646
+ newBranchTitle: 'Nueva rama',
647
+ newBranchBody: 'Empieza donde está “{branch}” ahora. Tus cambios sin confirmar vienen con ella.',
648
+ newBranchBodyClean: 'Empieza donde está “{branch}” ahora.',
649
+ newBranchFromTitle: 'Nueva rama desde “{name}”',
650
+ newBranchFromBody: 'Empieza en esta versión; “{branch}” queda como está.',
651
+ branchName: 'Nombre de la rama',
652
+ create: 'Crear',
653
+ switchTitle: '¿Cambiar a “{name}”?',
654
+ switchBody: 'Tienes cambios sin confirmar en “{branch}”.',
655
+ leaveChanges: 'Dejarlos en {branch}',
656
+ bringChanges: 'Llevarlos a {name}',
657
+ cancel: 'Cancelar',
658
+ rename: 'Renombrar',
659
+ renameTitle: 'Renombrar “{name}”',
660
+ save: 'Guardar',
661
+ delete: 'Eliminar',
662
+ deleteTitle: '¿Eliminar la rama “{name}”?',
663
+ deleteBody: 'La rama se va. Sus versiones siguen en cada otra rama que las tenga.',
664
+ deleteForceTitle: '¿Eliminar “{name}” y sus versiones?',
665
+ deleteForceBody: '{n} versiones de “{name}” no están en ninguna otra rama. Si la eliminas, se pierden para siempre.',
666
+ deleteForceBodyOne: '1 versión de “{name}” no está en ninguna otra rama. Si la eliminas, se pierde para siempre.',
667
+ deleteForce: 'Eliminar igualmente',
668
+ mergeInto: 'Fusionar en {branch}',
669
+ mergeTitle: 'Fusionar “{name}” en “{branch}”',
670
+ mergeBody: 'Lo hecho en “{name}” entra en “{branch}”.',
671
+ mergeMessage: 'Fusionar {name}',
672
+ mergeConfirm: 'Fusionar',
673
+ mergeConflictTitle: '“{name}” y “{branch}” cambiaron lo mismo',
674
+ mergeConflictBody: 'Elige qué versión gana donde difieren. Todo lo demás de ambas se conserva.',
675
+ keepOurs: 'Quedarse con {branch}',
676
+ keepTheirs: 'Usar {name}',
677
+ nothingToMerge: '“{branch}” ya tiene todo lo de “{name}”.',
678
+ current: 'Actual',
679
+ parked: 'cambios guardados aquí',
680
+ parkedStuck: 'Los cambios guardados en esta rama chocan ahora con ella, así que siguen apartados.',
681
+ changesTitle: 'Cambios sin confirmar',
682
+ noChanges: 'Todo está confirmado',
683
+ firstCommitHint: 'Aún no hay nada confirmado. Una confirmación guarda la película tal como está, para que siempre puedas volver.',
684
+ messagePlaceholder: 'Describe esta versión (obligatorio)',
685
+ commit: 'Confirmar',
686
+ discard: 'Descartar cambios',
687
+ discardTitle: '¿Descartar todos los cambios sin confirmar?',
688
+ discardBody: `La película vuelve a su última confirmación. Los archivos añadidos desde entonces van a ${TRASH}.`,
689
+ historyOf: 'Historial · {branch}',
690
+ restore: 'Restaurar esta versión',
691
+ restoreTitle: '¿Restaurar “{name}”?',
692
+ restoreBody: 'La película pasa a ser esta versión, como cambios sin confirmar: confírmalos para quedártela o descártalos para volver.',
693
+ restoreDirtyBody: `Tienes cambios sin confirmar. Restaurar los descarta primero (los archivos añadidos van a ${TRASH}).`,
694
+ restoreDiscard: 'Descartar y restaurar',
695
+ restoreConfirm: 'Restaurar',
696
+ restoredMessage: 'Vuelta a “{name}”',
697
+ branchFrom: 'Nueva rama desde aquí',
698
+ moreActions: 'Más',
699
+ scenesAdded: '{n} escenas añadidas',
700
+ scenesAddedOne: '1 escena añadida',
701
+ scenesEdited: '{n} escenas editadas',
702
+ scenesEditedOne: '1 escena editada',
703
+ scenesRemoved: '{n} escenas quitadas',
704
+ scenesRemovedOne: '1 escena quitada',
705
+ soundsAdded: '{n} sonidos añadidos',
706
+ soundsAddedOne: '1 sonido añadido',
707
+ soundsEdited: '{n} sonidos editados',
708
+ soundsEditedOne: '1 sonido editado',
709
+ soundsRemoved: '{n} sonidos quitados',
710
+ soundsRemovedOne: '1 sonido quitado',
711
+ look: 'Cambió el aspecto',
712
+ same: 'Sin cambios en la película',
713
+ errorDirty: 'Primero confirma o descarta los cambios sin confirmar.',
714
+ errorNothing: 'No hay nada que confirmar.',
715
+ errorCarry: 'Tus cambios chocan con lo que tiene esa rama. Mejor déjalos en esta rama.',
716
+ errorExists: 'Ya existe una rama con ese nombre.',
717
+ errorName: 'Ese nombre no sirve para una rama.',
718
+ errorMessage: 'Primero describe la versión.',
719
+ errorCurrent: 'Ya estás en esa rama.',
720
+ errorUnavailable: 'El historial de versiones no está disponible ahora. Inténtalo más tarde.',
721
+ errorGeneric: 'No se pudo hacer. Inténtalo de nuevo.',
722
+ progressScan: 'Leyendo los archivos de la película… {done} de {total}',
723
+ progressStore: 'Guardando los medios… {done} de {total}',
724
+ progressWrite: 'Escribiendo archivos… {done} de {total}',
725
+ progressMigrate: 'Actualizando el historial del proyecto… {done} de {total}',
726
+ heldFiles: 'En el historial: {n} archivos que usa la película',
727
+ heldFilesOne: 'En el historial: 1 archivo que usa la película',
728
+ ignoredFiles: 'Fuera del historial: {n} archivos que la película no usa',
729
+ ignoredFilesOne: 'Fuera del historial: 1 archivo que la película no usa',
730
+ },
731
+ stageMenu: {
732
+ align: 'Alinear',
733
+ lock: 'Bloquear',
734
+ unlock: 'Desbloquear',
735
+ lockedHint: 'Bloqueado: desbloquéalo para moverlo o editarlo',
736
+ hideAll: 'Ocultar',
737
+ showAll: 'Mostrar',
738
+ editText: 'Editar texto',
739
+ replacePicture: 'Reemplazar imagen',
740
+ pictureOwn: 'Volver a su imagen',
741
+ duplicate: 'Duplicar',
742
+ front: 'Traer al frente',
743
+ back: 'Enviar al fondo',
744
+ arrangeHint: 'Esta capa no está posicionada, así que no se puede reordenar',
745
+ arrangeAlone: 'No se superpone con nada, así que su orden no se ve',
746
+ arrangeBlocked: 'No se puede reordenar: lo que hay colocado dentro se movería',
747
+ arrangeFrontAlready: 'Ya está delante de lo que se superpone',
748
+ arrangeBackAlready: 'Ya está detrás de lo que se superpone',
749
+ hide: 'Ocultar',
750
+ show: 'Mostrar',
751
+ reset: 'Restablecer ajustes',
752
+ resetNone: 'Aún no hay nada ajustado a mano',
753
+ selectParent: 'Seleccionar elemento superior',
754
+ selectClip: 'Seleccionar todo el clip',
755
+ copyText: 'Copiar texto',
756
+ resetTransform: 'Restablecer transformación',
757
+ },
758
+ stageCrop: {
759
+ bar: 'Recorte',
760
+ free: 'Libre',
761
+ original: 'Original',
762
+ cancel: 'Cancelar',
763
+ cancelHint: 'Dejar el recorte como estaba (Esc)',
764
+ done: 'Listo',
765
+ doneHint: 'Aplicar el recorte (Intro)',
766
+ },
767
+ stageMask: {
768
+ move: 'Mover la máscara',
769
+ resize: 'Cambiar el tamaño de la máscara',
770
+ turn: 'Girar la máscara',
771
+ feather: 'Difuminado: arrastra hacia fuera',
772
+ },
773
+ assets: {
774
+ kindPage: 'Página',
775
+ catImage: 'Imágenes',
776
+ catVideo: 'Video',
777
+ catOther: 'Otros',
778
+ newFolder: 'Nueva carpeta',
779
+ newFolderFailed: 'No se pudo crear la carpeta',
780
+ rename: 'Cambiar nombre',
781
+ renameFailed: 'No se pudo cambiar el nombre',
782
+ renameTaken: 'Ese nombre ya está en uso',
783
+ renameKind: '“{from}” no se puede renombrar como “{to}”: la extensión indica qué es un archivo, y esta la cambiaría. Mantén una extensión del mismo tipo.',
784
+ delete: 'Eliminar',
785
+ deleteConfirmTitle: '¿Eliminar este recurso?',
786
+ deleteConfirm: `Se mueve a ${TRASH}, desde donde puedes recuperarlo.`,
787
+ deleteAlsoClip: `Se mueve a ${TRASH}, desde donde puedes recuperarlo. También se quita el clip que lo usa en la línea de tiempo.`,
788
+ deleteAlsoClips: `Se mueve a ${TRASH}, desde donde puedes recuperarlo. También se quitan los {n} clips que lo usan en la línea de tiempo.`,
789
+ deleteFailed: 'No se pudo eliminar',
790
+ extractAudio: 'Extraer el audio como archivo nuevo',
791
+ extractAudioFailed: 'No se pudo extraer el sonido de ese video',
792
+ download: 'Descargar',
793
+ props: 'Propiedades',
794
+ propType: 'Tipo',
795
+ propSize: 'Tamaño',
796
+ propDuration: 'Duración',
797
+ propDimensions: 'Dimensiones',
798
+ propFps: 'Velocidad de fotogramas',
799
+ propModified: 'Modificado',
800
+ propLinked: "Guardado en",
801
+ propProxy: "Proxy",
802
+ kindAudio: 'Audio',
803
+ uploadFailed: 'Error al importar, inténtalo de nuevo',
804
+ unreadable: '“{name}” se importó, pero no se puede leer como imagen, video o sonido ({why}). Revisa el archivo o importa otra copia.',
805
+ imported: 'Se importaron {n} archivo(s) a Medios',
806
+ },
807
+ saved: {
808
+ title: 'Guardados',
809
+ back: 'Volver a los medios del proyecto',
810
+ add: 'Añadir a Guardados',
811
+ addTogether: 'Añadir {n} clips a Guardados como uno',
812
+ addEach: 'Añadir cada uno a Guardados',
813
+ added: 'Añadido a Guardados',
814
+ addedMany: '{n} añadidos a Guardados',
815
+ failed: 'No se pudo añadir a Guardados: {error}',
816
+ emptyTitle: 'Aún no hay nada en Guardados',
817
+ emptyBody: 'Guardados es tuyo en todos los proyectos. Sube o suelta aquí archivos de cualquier tipo, o haz clic derecho en un clip de la línea de tiempo y elige Añadir a Guardados.',
818
+ component: 'Componente',
819
+ kind_clip: 'Clip',
820
+ kind_group: 'Clips',
821
+ kind_page: 'Página',
822
+ },
823
+ media: {
824
+ insertSource: "Insertar en el cabezal",
825
+ overwriteSource: "Sobrescribir en el cabezal",
826
+ results: 'Resultados',
827
+ moveFailed: 'No se pudo mover ahí.',
828
+ moveAskTitle: 'Algunas rutas no se pueden actualizar',
829
+ moveAskBody: 'Al mover una página, Studio reescribe los enlaces que puede leer. Estos se construyen mientras la página se ejecuta, así que seguirán apuntando al sitio anterior: revísalos después o pide a tu agente que los corrija.',
830
+ moveAskConfirm: 'Mover igualmente',
831
+ viewGrid: 'Ver en cuadrícula',
832
+ viewList: 'Ver en lista',
833
+ moveTaken: '{folder} ya tiene un archivo llamado “{name}”. Cambia antes el nombre de uno de ellos.',
834
+ emptyFolder: 'Esta carpeta está vacía',
835
+ deleteFolderTitle: '¿Eliminar la carpeta "{name}"?',
836
+ cannotPreview: 'Este archivo no se puede previsualizar aquí.',
837
+ scrub: 'Posición',
838
+ search: 'Buscar medios',
839
+ searchShort: "Buscar",
840
+ clearSearch: 'Borrar búsqueda',
841
+ sort: 'Ordenar',
842
+ import: 'Importar medios',
843
+ upload: 'Subir',
844
+ filter: 'Mostrar',
845
+ filter_all: 'Todo',
846
+ filter_video: 'Video',
847
+ filter_image: 'Imágenes',
848
+ filter_audio: 'Audio',
849
+ filter_page: 'Páginas',
850
+ filter_other: "Otros",
851
+ dismiss: 'Descartar',
852
+ emptyTitle: 'Aún no hay medios',
853
+ emptyBody: "Importa video, imágenes, sonido o cualquier otro archivo, o suéltalos aquí. Todo lo que tu agente guarde en este proyecto también aparece aquí.",
854
+ noMatch: 'Nada coincide con la búsqueda.',
855
+ copyPath: 'Copiar ruta',
856
+ dropHint: 'Suelta para importar a este proyecto',
857
+ sort_name: 'Nombre',
858
+ sort_time: 'Fecha de incorporación',
859
+ sort_duration: 'Duración',
860
+ sort_type: 'Tipo',
861
+ moveTo: "Mover a",
862
+ moveHere: "Ya está aquí",
863
+ deleteMany: "Eliminar {n} elementos",
864
+ deleteManyTitle: "¿Eliminar {n} elementos?",
865
+ deleteManyConfirm: `Se mueven a ${TRASH}, desde donde puedes recuperarlos.`,
866
+ deleteManyAlsoClip: `Se mueven a ${TRASH}, desde donde puedes recuperarlos. También se quita el clip que usa uno de ellos en la línea de tiempo.`,
867
+ deleteManyAlsoClips: `Se mueven a ${TRASH}, desde donde puedes recuperarlos. También se quitan los {n} clips que los usan en la línea de tiempo.`,
868
+ importFiles: "Importar archivos…",
869
+ importFilesNote: "Se copia en el proyecto",
870
+ linkFiles: "Vincular archivos…",
871
+ linkFilesNote: "Se quedan donde están, en un NAS u otro disco",
872
+ linkFolder: "Vincular una carpeta…",
873
+ pickImport: "Elige los archivos que importar",
874
+ pickLink: "Elige los archivos que vincular",
875
+ pickLinkFolder: "Elige la carpeta que vincular",
876
+ pickRelink: "¿Dónde está ahora?",
877
+ noDialog: "Este sistema no tiene un diálogo de archivos que Studio pueda abrir. Suelta los archivos aquí.",
878
+ revealOriginal: "Mostrar el original",
879
+ relink: "Volver a vincular…",
880
+ relinkFailed: "No se pudo vincular ahí",
881
+ collect: "Copiar al proyecto",
882
+ collectNote: "El original se queda donde está",
883
+ collectFailed: "No se pudo copiar al proyecto",
884
+ linkMissing: "No encontrado",
885
+ linkedFrom: "Vinculado desde {path}",
886
+ proxy: "Proxy",
887
+ proxyMaking: "Creando el proxy… {p} %",
888
+ proxyWaiting: "Proxy en espera",
889
+ proxyFailed: "No se pudo crear el proxy: se reproduce el original",
890
+ proxyReady: "Listo: el visor lo reproduce",
891
+ },
892
+ assetsPane: {
893
+ show: 'Mostrar recursos',
894
+ hide: 'Ocultar recursos',
895
+ },
896
+ layers: {
897
+ movesGroup: 'Se mueve todo {name}',
898
+ title: 'Capas',
899
+ showPane: 'Mostrar capas',
900
+ hidePane: 'Ocultar capas',
901
+ resize: 'Ajustar capas / visor',
902
+ empty: 'No hay nada en la imagen en este momento. Lleva el cabezal a un clip.',
903
+ expand: 'Expandir',
904
+ collapse: 'Contraer',
905
+ hide: 'Ocultar',
906
+ show: 'Mostrar',
907
+ lock: 'Bloquear',
908
+ unlock: 'Desbloquear',
909
+ notNow: 'No está en la imagen en este momento',
910
+ restackFailed: 'No se pudo reordenar esa capa. Puede que la imagen haya cambiado; inténtalo de nuevo.',
911
+ },
912
+ viewer: {
913
+ stats: '{fps} fotogramas/s · {late} con retraso',
914
+ statsRendered: 'desde un render',
915
+ loopRange: "Reproducir el rango en bucle",
916
+ loopFilm: "Bucle",
917
+ play: 'Reproducir',
918
+ pause: 'Pausa',
919
+ frameCustom: 'Personalizado',
920
+ ratioOriginal: 'Original',
921
+ ratioPhone: 'Móvil 5,8″',
922
+ frameCustomW: 'Ancho',
923
+ frameCustomH: 'Alto',
924
+ frameCustomApply: 'Usar esta proporción',
925
+ frameCustomRange: 'De 1:4 a 4:1',
926
+ fullscreen: 'Pantalla completa',
927
+ playback: 'Reproducción',
928
+ speed: 'Velocidad',
929
+ },
930
+ inspector: {
931
+ fades: 'Fundidos',
932
+ fadeIn: 'Fundido de entrada',
933
+ fadeOut: 'Fundido de salida',
934
+ transition: 'Transición',
935
+ transitionLength: 'Duración',
936
+ transitionRemove: 'Quitar transición',
937
+ trackLocked: "En una pista bloqueada: desbloquéala en la línea de tiempo para cambiarlo.",
938
+ frameRate: "Fotogramas por segundo",
939
+ frameRateFootage: "Tomado del metraje. Lo usan el código de tiempo, los pasos de fotograma y la tasa por defecto al exportar.",
940
+ frameRateNote: "Lo usan el código de tiempo, los pasos de fotograma y la tasa por defecto al exportar.",
941
+ panel: 'Inspector',
942
+ show: 'Mostrar inspector',
943
+ hide: 'Ocultar inspector',
944
+ resize: 'Redimensionar visor / inspector',
945
+ empty: 'Haz clic en cualquier cosa de la imagen (una línea de texto, una imagen, una forma) o en un clip de la línea de tiempo.',
946
+ appearance: 'Apariencia',
947
+ typography: 'Tipografía',
948
+ content: 'Texto',
949
+ fontSize: 'Tamaño',
950
+ fontWeight: 'Grosor',
951
+ fontFamily: 'Fuente',
952
+ fontSearch: 'Buscar fuentes',
953
+ fontUse: 'Usar “{name}”',
954
+ fontNone: 'Ninguna fuente coincide',
955
+ fontGroupLatin: 'Latinas',
956
+ fontGroupZh: 'Chino',
957
+ fontGroupJa: 'Japonés',
958
+ fontGroupKo: 'Coreano',
959
+ fontGroupProject: 'En este proyecto',
960
+ fontGroupRecent: 'Recientes',
961
+ fontElsewhere: 'otra página',
962
+ fontMissing: 'No instalada: la imagen usa una fuente alternativa',
963
+ fontLoading: 'Cargando fuentes…',
964
+ fontSizes: 'Tamaños comunes',
965
+ weightItalic: '{name} cursiva',
966
+ color: 'Color',
967
+ fill: 'Relleno',
968
+ opacity: 'Opacidad',
969
+ letterSpacing: 'Espaciado entre letras',
970
+ lineHeight: 'Interlineado',
971
+ textAlign: 'Alineación',
972
+ width: 'Ancho',
973
+ height: 'Alto',
974
+ radius: 'Radio',
975
+ fit: 'Cómo llena la imagen su caja',
976
+ fitContain: 'Ajustar',
977
+ fitCover: 'Rellenar',
978
+ fitFill: 'Estirar',
979
+ cropTop: 'Recorte superior',
980
+ cropBottom: 'Recorte inferior',
981
+ cropLeft: 'Recorte izquierdo',
982
+ cropRight: 'Recorte derecho',
983
+ shadow: 'Sombra',
984
+ custom: 'Personalizado',
985
+ blend: 'Modo de fusión',
986
+ clipCss: 'CSS personalizado',
987
+ clipCssEmpty: 'Una propiedad por línea, p. ej. filter: saturate(1.2)',
988
+ mapTextShared: 'Compartido por las {n} copias',
989
+ multi: '{n} clips seleccionados',
990
+ multiLayers: '{n} capas seleccionadas',
991
+ multiLayersHint: 'Arrástralas en la imagen para moverlas juntas, desplázalas con las flechas del teclado o haz clic derecho para alinearlas. Haz clic en una para cambiarla por separado.',
992
+ kindPage: 'Página',
993
+ kindVideo: 'Video',
994
+ kindAudio: 'Audio',
995
+ kindCaption: 'Subtítulos',
996
+ x: 'X',
997
+ y: 'Y',
998
+ scale: 'Escala',
999
+ rotate: 'Rotación',
1000
+ resetTransform: 'Restablecer transformación',
1001
+ at: 'Inicio',
1002
+ duration: 'Duración',
1003
+ inPoint: 'Punto de entrada',
1004
+ inPointWhole: 'El clip reproduce todo su archivo. Acórtalo para mover el punto de entrada.',
1005
+ speed: 'Velocidad',
1006
+ speedLimit: 'Más lento que {n}× choca con el clip siguiente. En la pista principal, el imán de la línea de tiempo lo empuja.',
1007
+ speedTooSlow: 'Más lento que {n}× choca con el clip siguiente de su pista.',
1008
+ sound: 'Sonido',
1009
+ gainDb: 'Volumen',
1010
+ pageChanges: 'Cambios dentro de la página',
1011
+ templateOffPicture: 'Lleva el cabezal a este clip para ver sus valores.',
1012
+ props: 'Propiedades',
1013
+ propsEmpty: 'Selecciona una capa de esta página y pulsa ◇ junto a su texto, su imagen o su apariencia para hacerla una propiedad.',
1014
+ propsAdd: 'Añadir una propiedad de las variables de la página',
1015
+ propsNoVars: 'Esta página no tiene variables',
1016
+ propsResetAll: 'Restablecer todo',
1017
+ propReset: 'Volver al valor predeterminado',
1018
+ propRename: 'Renombrar',
1019
+ propRenameHint: 'Doble clic para renombrar; clic derecho para más',
1020
+ propRemove: 'Quitar propiedad',
1021
+ propText: 'Texto',
1022
+ propShowName: 'Mostrar {name}',
1023
+ propBound: 'Propiedad «{name}»: haz clic para quitarla',
1024
+ propMakeText: 'Hacer del texto una propiedad',
1025
+ propMakePicture: 'Hacer de la imagen una propiedad',
1026
+ propMakeShow: 'Hacer de mostrar u ocultar una propiedad',
1027
+ picture: 'Imagen',
1028
+ templatePictureReplace: 'Reemplazar imagen',
1029
+ templatePictureComputer: 'Desde este ordenador…',
1030
+ pageChangeLost: 'Ya no está en la página',
1031
+ pageChangeRemove: 'Deshacer este cambio',
1032
+ pageChangeText: 'texto',
1033
+ pageChangeMoved: 'movido',
1034
+ pageChangeScaled: 'redimensionado',
1035
+ pageChangeRotated: 'girado',
1036
+ noEdit: 'Este clip no se puede editar',
1037
+ kindText: 'Texto',
1038
+ kindImage: 'Imagen',
1039
+ kindShape: 'Forma',
1040
+ kindBox: 'Caja',
1041
+ dismiss: 'Descartar',
1042
+ scope: 'Aplicar a',
1043
+ scopeOne: 'Esta copia (n.º {i})',
1044
+ scopeAll: 'Las {n} copias',
1045
+ scopeThis: "Este texto",
1046
+ scopeSimilar: "Todos los iguales",
1047
+ scopeSimilarIn: "Todos los iguales · {n}",
1048
+ scopeSimilarHint: "Su aspecto (color, tamaño, fuente…) pasa a todos los textos iguales de la película: la misma etiqueta y clases, en todas las páginas. Las palabras y la posición de cada uno se mantienen.",
1049
+ timing: 'Tiempo',
1050
+ mixed: 'Varios',
1051
+ clearOverride: 'Quitar mis cambios de estilo',
1052
+ offsetX: 'Desplazamiento X',
1053
+ offsetY: 'Desplazamiento Y',
1054
+ resetPosition: 'Restablecer posición',
1055
+ background: 'Fondo',
1056
+ auto: 'Automático',
1057
+ alignLeft: 'Alinear a la izquierda',
1058
+ alignHCenter: 'Alinear centros horizontales',
1059
+ alignRight: 'Alinear a la derecha',
1060
+ alignTop: 'Alinear arriba',
1061
+ alignVCenter: 'Alinear centros verticales',
1062
+ alignBottom: 'Alinear abajo',
1063
+ editOnCanvas: 'Haz doble clic en el texto de la imagen para editarlo ahí mismo.',
1064
+ aspectLocked: 'Escala proporcional',
1065
+ aspectFree: 'Escala libre',
1066
+ position: 'Posición y tamaño',
1067
+ cropFill: 'Recorte y relleno',
1068
+ cropStart: 'Recortar',
1069
+ cropShape: 'Recortar a una proporción',
1070
+ cropFree: 'Libre',
1071
+ cropOriginal: 'Original',
1072
+ cropCustom: 'Recortado con una forma propia: cámbiala en Avanzado.',
1073
+ mask: 'Máscara',
1074
+ maskShape: 'Forma de la máscara',
1075
+ maskShapes: {
1076
+ none: 'Ninguna',
1077
+ linear: 'Lineal',
1078
+ mirror: 'Espejo',
1079
+ ellipse: 'Círculo',
1080
+ rect: 'Rectángulo',
1081
+ star: 'Estrella',
1082
+ heart: 'Corazón',
1083
+ },
1084
+ maskX: 'Centro X de la máscara',
1085
+ maskY: 'Centro Y de la máscara',
1086
+ maskW: 'Ancho de la máscara',
1087
+ maskH: 'Alto de la máscara',
1088
+ maskBand: 'Ancho de la banda',
1089
+ maskFeather: 'Difuminado',
1090
+ maskInvert: 'Invertir',
1091
+ maskEditOnPicture: 'Editar en la imagen',
1092
+ maskRemove: 'Quitar la máscara',
1093
+ maskCustom: 'Una máscara propia: cámbiala en Avanzado.',
1094
+ framing: 'Imagen dentro de su caja',
1095
+ framingX: 'Posición horizontal',
1096
+ framingY: 'Posición vertical',
1097
+ resetSection: 'Restablecer',
1098
+ blendShort: 'Fusión',
1099
+ blendModes: {
1100
+ normal: 'Normal',
1101
+ multiply: 'Multiplicar',
1102
+ screen: 'Trama',
1103
+ overlay: 'Superponer',
1104
+ darken: 'Oscurecer',
1105
+ lighten: 'Aclarar',
1106
+ 'color-dodge': 'Sobreexponer color',
1107
+ 'color-burn': 'Subexponer color',
1108
+ 'soft-light': 'Luz suave',
1109
+ 'hard-light': 'Luz fuerte',
1110
+ difference: 'Diferencia',
1111
+ exclusion: 'Exclusión',
1112
+ hue: 'Tono',
1113
+ saturation: 'Saturación',
1114
+ color: 'Color',
1115
+ luminosity: 'Luminosidad',
1116
+ },
1117
+ adjust: 'Ajustes',
1118
+ adjustCustom: 'Su filtro está escrito a mano: cámbialo en Avanzado.',
1119
+ adjustKeys: {
1120
+ brightness: 'Brillo',
1121
+ contrast: 'Contraste',
1122
+ saturate: 'Saturación',
1123
+ hue: 'Tono',
1124
+ blur: 'Desenfoque',
1125
+ grayscale: 'Escala de grises',
1126
+ },
1127
+ effects: 'Efectos',
1128
+ effectAdd: 'Añadir un efecto',
1129
+ effectRemove: 'Quitar',
1130
+ effectCustom: 'escrito a mano, en Avanzado',
1131
+ effectsNone: 'Ninguno todavía: añade una sombra, un desenfoque o bordes difuminados con +.',
1132
+ shadowX: 'Sombra X',
1133
+ shadowY: 'Sombra Y',
1134
+ shadowBlur: 'Desenfoque de la sombra',
1135
+ shadowColor: 'Color de la sombra',
1136
+ stroke: 'Trazo',
1137
+ strokeAdd: 'Añadir trazo',
1138
+ strokePosition: 'Posición del trazo',
1139
+ strokePositions: { inside: 'Interior', center: 'Centro', outside: 'Exterior' },
1140
+ strokeCut: 'Un recorte, una máscara o los bordes difuminados cortan lo que se dibuja fuera del borde: elige Interior para verlo entero.',
1141
+ fillAdd: 'Añadir relleno',
1142
+ fillRemove: 'Quitar relleno',
1143
+ innerShadow: 'Sombra interior',
1144
+ layerBlur: 'Desenfoque de capa',
1145
+ backgroundBlur: 'Desenfoque de fondo',
1146
+ shadowSpread: 'Extensión',
1147
+ cornersEach: 'Esquinas independientes',
1148
+ cornersCropped: 'Un recorte redondea todas sus esquinas por igual',
1149
+ corners: { 'top-left': 'Arriba a la izquierda', 'top-right': 'Arriba a la derecha', 'bottom-right': 'Abajo a la derecha', 'bottom-left': 'Abajo a la izquierda' },
1150
+ textDecoration: 'Decoración',
1151
+ decorations: { none: 'Ninguna', underline: 'Subrayado', lineThrough: 'Tachado' },
1152
+ strokeWidth: 'Grosor del trazo',
1153
+ strokeStyle: 'Estilo del trazo',
1154
+ strokeColor: 'Color del trazo',
1155
+ strokeStyles: {
1156
+ solid: 'Continuo',
1157
+ dashed: 'Discontinuo',
1158
+ dotted: 'Punteado',
1159
+ },
1160
+ fade: 'Difuminar bordes',
1161
+ fadeSides: 'Bordes que se difuminan',
1162
+ fadeSize: 'Tamaño del difuminado',
1163
+ fadeSide: {
1164
+ top: 'Borde superior',
1165
+ right: 'Borde derecho',
1166
+ bottom: 'Borde inferior',
1167
+ left: 'Borde izquierdo',
1168
+ },
1169
+ textCase: 'Mayúsculas',
1170
+ caseNone: 'Como se escribió',
1171
+ caseUpper: 'Mayúsculas',
1172
+ caseLower: 'Minúsculas',
1173
+ caseTitle: 'Tipo título',
1174
+ alignTextLeft: 'Alinear texto a la izquierda',
1175
+ alignTextCenter: 'Centrar texto',
1176
+ alignTextRight: 'Alinear texto a la derecha',
1177
+ alignTextJustify: 'Justificar texto',
1178
+ advanced: 'Avanzado',
1179
+ classes: 'Clases',
1180
+ classesEmpty: 'Clases de los estilos de la película, p. ej. card',
1181
+ timeUnit: 'Mostrar los tiempos en',
1182
+ timeTimecode: 'Código de tiempo (30 fotogramas por segundo, como el reproductor)',
1183
+ timeSeconds: 'Segundos',
1184
+ sourceBar: 'Archivo de origen',
1185
+ slipHint: 'Arrastra para reproducir otra parte del archivo en el mismo lugar; arrastra un extremo para recortar',
1186
+ trimHead: 'Recortar el inicio',
1187
+ trimTail: 'Recortar el final',
1188
+ distributeH: 'Distribuir horizontalmente',
1189
+ distributeV: 'Distribuir verticalmente',
1190
+ film: 'Película',
1191
+ stage: 'Escenario',
1192
+ stageShape: 'Forma del escenario',
1193
+ redesignOpen: 'Pedir al agente que la componga para este lienzo',
1194
+ redesignBody: 'Pega estas palabras en el chat: tu agente vuelve a componer cada página y clip para el lienzo actual.',
1195
+ redesignAsk: 'El lienzo de esta película ahora es {ratio} ({size}). Vuelve a componer cada página y clip para él y revisa cada escena con look.',
1196
+ redesignCopy: 'Copiar la petición',
1197
+ redesignCopied: 'Copiada: pégala en el chat',
1198
+ filmInfo: 'Contenido',
1199
+ tracks: 'Pistas',
1200
+ clipsCount: 'Clips',
1201
+ pageChangeStyled: 'estilo cambiado',
1202
+ weights: {
1203
+ w100: 'Fina',
1204
+ w200: 'Extra fina',
1205
+ w300: 'Ligera',
1206
+ w400: 'Normal',
1207
+ w500: 'Media',
1208
+ w600: 'Seminegrita',
1209
+ w700: 'Negrita',
1210
+ w800: 'Extra negrita',
1211
+ w900: 'Black',
1212
+ },
1213
+ },
1214
+ colorPicker: {
1215
+ close: 'Cerrar',
1216
+ eyedropper: 'Tomar un color de la pantalla',
1217
+ hex: 'Hex',
1218
+ recent: 'Recientes',
1219
+ },
1220
+ layout: {
1221
+ title: 'Diseño',
1222
+ assets: 'Recursos',
1223
+ layers: 'Capas',
1224
+ timeline: 'Línea de tiempo',
1225
+ inspector: 'Inspector',
1226
+ },
1227
+ timeline: {
1228
+ renameTrack: "Cambiar nombre de la pista",
1229
+ mediaMissing: 'Medio no encontrado',
1230
+ mediaMissingHint: 'El archivo ya no está en el proyecto. Haz clic derecho para volver a vincularlo.',
1231
+ menuRelink: 'Volver a vincular medio',
1232
+ menuRelinkPick: 'Elegir un archivo…',
1233
+ mediaCannotPlay: 'Este clip no se puede reproducir en la app. El resto de la película no se ve afectado.',
1234
+ noLength: 'sin duración',
1235
+ noLengthHint: 'Este clip no tiene duración: no reproduce tiempo propio (una imagen, o una página sin duración) ni aporta ninguno. Arrastra su final para indicar cuánto dura.',
1236
+ mediaReconnecting: 'Reconectando con este clip… volverá por sí solo.',
1237
+ resize: 'Redimensionar línea de tiempo',
1238
+ seek: 'Arrastrar el cabezal de reproducción',
1239
+ split: 'Dividir',
1240
+ subtitles: 'Subtítulos',
1241
+ subtitlesNone: 'Aún no hay subtítulos: aparecen cuando la película tiene voz',
1242
+ subtitlesMakeOne: 'Crear subtítulos: un clip de voz aún no tiene transcripción',
1243
+ subtitlesMake: 'Crear subtítulos: {n} clips con voz aún no tienen transcripción',
1244
+ subtitlesMaking: 'Creando subtítulos…',
1245
+ subtitlesConnect: 'Para crear subtítulos hace falta un servicio de transcripción: conecta uno en Configuración (el logotipo de OpenFilm, arriba a la izquierda) → Proveedores',
1246
+ subtitlesFailed: 'No se pudieron crear los subtítulos: {error}',
1247
+ subtitleLines: 'Líneas',
1248
+ subtitleLineAt: 'La línea en {time}',
1249
+ subtitleLineGo: 'Ir a {time}',
1250
+ subtitleLineInLanguage: 'La línea en {time}, en {lang}',
1251
+ subtitleLineUntranslated: 'Aún sin traducir',
1252
+ subtitleLinesMakeOne: 'Crear subtítulos para un clip de voz sin transcripción o con una desactualizada',
1253
+ subtitleLinesMake: 'Crear subtítulos para {n} clips sin transcripción o con una desactualizada',
1254
+ subtitleStyle: 'Estilo de subtítulos',
1255
+ subtitleLanguageGroup: 'Idioma de los subtítulos',
1256
+ subtitleLanguageOriginal: 'Original',
1257
+ subtitleLanguageOriginalNamed: 'Original · {lang}',
1258
+ subtitleLanguageTranslate: 'Traducir a',
1259
+ subtitleLanguageShow: 'Mostrar',
1260
+ subtitleShowTranslation: 'Traducción',
1261
+ subtitleShowBoth: 'Original + traducción',
1262
+ subtitleTranslating: 'Traduciendo las voces a {lang}…',
1263
+ subtitleTranslateFailed: 'No se pudo traducir ahora mismo.',
1264
+ subtitleTranslateNetwork: 'No se pudo conectar con el servicio de traducción.',
1265
+ subtitleTranslateRetry: 'Reintentar',
1266
+ subtitleTranslateConnect: 'Conecta un servicio de traducción en Configuración (el logotipo de OpenFilm, arriba a la izquierda) → Proveedores.',
1267
+ subtitleSize: 'Tamaño',
1268
+ subtitleLook: {
1269
+ outline: 'Con contorno (predeterminado)',
1270
+ bar: 'Barra de fondo',
1271
+ bold: 'Negrita, contorno grueso',
1272
+ yellow: 'Amarillo',
1273
+ clean: 'Sin contorno',
1274
+ },
1275
+ subtitleFontGroup: 'Texto',
1276
+ subtitleEffectGroup: 'Efectos',
1277
+ subtitleKaraoke: 'Resaltado de palabras',
1278
+ subtitleKaraokeMode: 'Estilo',
1279
+ subtitleKaraokeBox: 'Caja de resaltado',
1280
+ subtitleKaraokeColor: 'Color',
1281
+ subtitleKaraokePop: 'Salto',
1282
+ subtitleFade: 'Fundido de entrada y salida',
1283
+ subtitleKaraokeTint: 'Color de resaltado',
1284
+ subtitleFamily: 'Tipo de letra',
1285
+ subtitleFamilyDefault: 'Predeterminado',
1286
+ subtitleWeight: 'Grosor',
1287
+ subtitleItalic: 'Cursiva',
1288
+ subtitleUpper: 'Mayúsculas',
1289
+ subtitleTracking: 'Espaciado',
1290
+ subtitleLeading: 'Interlineado',
1291
+ subtitleInkGroup: 'Color',
1292
+ subtitleFill: 'Relleno',
1293
+ subtitleStroke: 'Contorno',
1294
+ subtitleShadow: 'Sombra',
1295
+ subtitleBlur: 'Desenfoque',
1296
+ subtitleOffsetY: 'Caída',
1297
+ subtitleBox: 'Caja',
1298
+ subtitleOpacity: 'Opacidad',
1299
+ subtitleRadius: 'Esquinas',
1300
+ subtitleLayoutGroup: 'Diseño',
1301
+ subtitleAlign: 'Alinear',
1302
+ subtitleAlignLeft: 'Izquierda',
1303
+ subtitleAlignCenter: 'Centro',
1304
+ subtitleAlignRight: 'Derecha',
1305
+ subtitleWidth: 'Ancho máximo',
1306
+ subtitleReset: 'Restablecer',
1307
+ subtitleDrag: 'Arrástralo en la imagen para moverlo.',
1308
+ subtitleSaved: 'Este estilo se guarda con el proyecto y las exportaciones lo usan.',
1309
+ removeBlock: 'Eliminar',
1310
+ rippleRemove: 'Eliminar con desplazamiento',
1311
+ menuSplitHere: 'Dividir en el cabezal de reproducción',
1312
+ menuDetachAudio: 'Separar audio',
1313
+ menuDetachAudioNone: 'Este video no tiene sonido',
1314
+ menuCopy: 'Copiar',
1315
+ menuPaste: 'Pegar',
1316
+ menuPasteEmpty: 'Aún no hay nada copiado',
1317
+ menuSplitOutside: 'El cabezal de reproducción no está sobre este clip: muévelo donde quieras el corte',
1318
+ menuCopyNone: 'Este clip no está en film.html, así que no se puede cambiar aquí',
1319
+ menuExportClip: 'Exportar este clip',
1320
+ menuExportNoId: 'Este clip no está en film.html, así que no se puede exportar',
1321
+ modeSelect: 'Seleccionar',
1322
+ modeSplit: 'Dividir',
1323
+ applying: 'Guardando film.html…',
1324
+ emptyStudio: 'Arrastra recursos aquí para empezar tu película, o pide a tu agente que haga una.',
1325
+ zoomIn: 'Acercar',
1326
+ zoomOut: 'Alejar',
1327
+ zoomFit: 'Ajustar al ancho',
1328
+ zoom: 'Zoom',
1329
+ snap: 'Ajuste',
1330
+ snapOn: 'Activado: se ajusta a los bordes de los clips, al cabezal y a los marcadores',
1331
+ snapOff: 'Desactivado: se coloca justo donde lo sueltas',
1332
+ mainTrack: 'Pista principal',
1333
+ magnet: 'Imán de la pista principal',
1334
+ magnetOn: 'Activado: los clips de la pista principal quedan seguidos, sin huecos',
1335
+ magnetOff: 'Desactivado: los clips de la pista principal se quedan donde los pones',
1336
+ linkage: 'Vinculación',
1337
+ linkageOn: 'Activada: títulos, superposiciones y sonido se mueven con el clip de la pista principal que tienen debajo, y se van con él',
1338
+ linkageOff: 'Desactivada: editar la pista principal solo mueve la pista principal',
1339
+ previewAxis: 'Eje de vista previa',
1340
+ previewAxisOn: 'Activado: la imagen sigue al puntero sobre la línea de tiempo',
1341
+ previewAxisOff: 'Desactivado: la imagen se queda en el cabezal',
1342
+ rippleShort: 'Había clips en otra pista: quedan {s} s abiertos para que todo siga sincronizado.',
1343
+ menuCloseGap: 'Cerrar hueco',
1344
+ menuCloseGaps: 'Cerrar todos los huecos de esta pista',
1345
+ menuRippleStart: 'Recortar inicio hasta el cabezal y desplazar',
1346
+ menuRippleEnd: 'Recortar final hasta el cabezal y desplazar',
1347
+ menuLink: 'Vincular',
1348
+ menuUnlink: 'Desvincular',
1349
+ tip: {
1350
+ trim: 'Recorte',
1351
+ ripple: 'Desplazar',
1352
+ sourceEnd: 'Fin del medio',
1353
+ },
1354
+ trackLocked: 'Pista bloqueada',
1355
+ dropNotClip: 'Este recurso no se puede poner en la línea de tiempo',
1356
+ dropFromComputer: 'Archivo nuevo',
1357
+ editFail: 'Ese cambio no se aplicó',
1358
+ removeFail: 'No se pudo eliminar',
1359
+ splitFail: 'No se pudo dividir',
1360
+ detachFail: 'No se pudo separar el audio de ese clip',
1361
+ pasteGone: 'El clip copiado ya no está en la película',
1362
+ lockTrack: 'Bloquear pista',
1363
+ unlockTrack: 'Desbloquear pista',
1364
+ hideTrack: 'Desactivar esta pista: sin imagen ni sonido',
1365
+ showTrack: 'Volver a activar esta pista',
1366
+ muteTrack: 'Desactivar el sonido original',
1367
+ unmuteTrack: 'Activar el sonido original',
1368
+ muteSoundTrack: 'Silenciar pista',
1369
+ unmuteSoundTrack: 'Activar sonido de la pista',
1370
+ },
1371
+ /* the timeline's audio and editing tools: meters, solo, markers, loudness, freeze frame, replace, track heights */
1372
+ editorTools: {
1373
+ meters: "Medidores de audio",
1374
+ metersClip: "Saturado: el sonido llegó a 0 dB. Haz clic para reiniciar",
1375
+ metersPeak: "Pico más alto reciente, dBFS",
1376
+ solo: "Solo: escucha solo esta pista, solo aquí (⌥-clic: solo esta)",
1377
+ unsolo: "Dejar de escuchar esta pista en solo",
1378
+ resizeTrack: "Arrastra para cambiar la altura de la pista · doble clic: su altura habitual",
1379
+ markerAdd: "Añadir marcador",
1380
+ markerAddClip: "Añadir marcador en el clip",
1381
+ markerAddedOn: "Marcador añadido en {clip}",
1382
+ markerColor: "Color",
1383
+ markerDelete: "Eliminar marcador",
1384
+ markerName: "Nombre del marcador",
1385
+ markerUntitled: "Marcador",
1386
+ colors: {
1387
+ blue: "Azul",
1388
+ green: "Verde",
1389
+ yellow: "Amarillo",
1390
+ orange: "Naranja",
1391
+ red: "Rojo",
1392
+ purple: "Morado",
1393
+ },
1394
+ trackHeight: "Altura de la pista",
1395
+ allTracksHeight: "Altura de todas las pistas",
1396
+ size: {
1397
+ small: "Pequeña",
1398
+ medium: "Mediana",
1399
+ large: "Grande",
1400
+ },
1401
+ normalize: "Normalizar sonoridad",
1402
+ target: {
1403
+ web: "{lufs} LUFS · vídeo web",
1404
+ podcast: "{lufs} LUFS · pódcast",
1405
+ broadcast: "{lufs} LUFS · emisión",
1406
+ },
1407
+ normalizeNone: "No hay sonido que normalizar en la selección",
1408
+ normalizing: "Midiendo la sonoridad…",
1409
+ normalized: "{n} clips normalizados a {target} LUFS",
1410
+ normalizedOne: "{clip}: {from} LUFS → {target} LUFS (volumen {pct} %)",
1411
+ normalizeShort: "{clip} no llega a {target} LUFS: al 500 % queda en {lufs} LUFS",
1412
+ normalizeSilent: "{clip} no tiene sonido que medir",
1413
+ normalizeFail: "No se pudo medir {clip}: {reason}",
1414
+ freeze: "Congelar fotograma",
1415
+ freezeOutside: "Pon primero el cabezal sobre este clip",
1416
+ freezeFail: "No se pudo hacer una imagen de ese fotograma: {reason}",
1417
+ replace: "Reemplazar por…",
1418
+ replaceNone: "Ningún archivo del proyecto puede ocupar su lugar",
1419
+ replaceKind: "Una imagen se reemplaza por una imagen, un sonido por un sonido",
1420
+ replaceShort: "El archivo nuevo es más corto: el clip dura {s} s menos",
1421
+ replaceButton: "Reemplazar",
1422
+ replaceFromComputer: "Desde tu ordenador…",
1423
+ replacePick: "Elige un archivo para reemplazar el clip",
1424
+ },
1425
+ /* a clip's attributes copied onto others (lib/clip-attrs, components/PasteAttrsDialog) */
1426
+ clipAttrs: {
1427
+ title: 'Pegar atributos',
1428
+ picture: 'Imagen',
1429
+ sound: 'Audio',
1430
+ place: 'Posición y tamaño',
1431
+ blend: 'Fusión (opacidad, modo de fusión)',
1432
+ volume: 'Volumen',
1433
+ fade: 'Fundido de entrada / salida',
1434
+ paste: 'Pegar',
1435
+ copy: 'Copiar atributos',
1436
+ pasteMenu: 'Pegar atributos…',
1437
+ copied: 'Atributos copiados: selecciona clips y pulsa ⌘⇧V para pegarlos',
1438
+ nothing: 'Primero copia los atributos de un clip (⌘⇧C)',
1439
+ selectFirst: 'Primero selecciona un clip',
1440
+ },
1441
+ transitions: {
1442
+ dissolve: 'Disolvencia cruzada',
1443
+ 'dip-black': 'Fundido a negro',
1444
+ 'dip-white': 'Fundido a blanco',
1445
+ 'fade-in': 'Fundido de entrada',
1446
+ 'fade-out': 'Fundido de salida',
1447
+ crossfade: 'Fundido cruzado de audio',
1448
+ remove: 'Quitar transición',
1449
+ atCut: 'Transición',
1450
+ locked: 'Un clip que cambia está en una pista bloqueada',
1451
+ none: 'Ahí no hay ningún corte: selecciona un clip o pon el cabezal junto a un corte',
1452
+ short: 'Los clips son demasiado cortos',
1453
+ mark: '{kind} · {s} s — arrastra un borde para cambiar la duración; Supr la quita',
1454
+ handle: '{what}: {s} s — arrastra hacia dentro para fundir (⌥: solo este clip)',
1455
+ fadeTip: '{what} {s} s',
1456
+ },
1457
+ subtitleRow: {
1458
+ editOnTimeline: 'Editar en la línea de tiempo',
1459
+ showRow: 'Mostrar los subtítulos como una fila en la línea de tiempo, para ajustarlos, dividirlos y unirlos',
1460
+ hideRow: 'Ocultar la fila de subtítulos de la línea de tiempo',
1461
+ name: 'Subtítulos',
1462
+ add: 'Añadir un subtítulo en el cabezal',
1463
+ hide: 'Ocultar la pista de subtítulos',
1464
+ hideNote: 'Vuelve a mostrarla en Estilo de subtítulos › Editar en la línea de tiempo.',
1465
+ split: 'Dividir en el cabezal',
1466
+ splitWhere: 'Pon el cabezal dentro del subtítulo, lejos de sus bordes',
1467
+ merge: 'Unir con el siguiente',
1468
+ mergeWhy: 'Solo con el siguiente subtítulo de la misma voz',
1469
+ edit: 'Editar texto',
1470
+ delete: 'Eliminar',
1471
+ newText: 'Nuevo subtítulo',
1472
+ nothingHeard: 'No se oye nada en el cabezal: un subtítulo es lo que dice una voz o un vídeo',
1473
+ noRoom: 'Aquí no cabe un subtítulo',
1474
+ gone: 'Ese subtítulo ya no está',
1475
+ notNext: 'Estos dos subtítulos no están seguidos',
1476
+ },
1477
+ confirm: {
1478
+ ok: 'Confirmar',
1479
+ deleteTitle: '¿Eliminar este proyecto?',
1480
+ deleteDesc: `Su carpeta, con la película y todo lo que contiene, se mueve a ${TRASH}.`,
1481
+ deleteManyTitle: '¿Eliminar estos {n} proyectos?',
1482
+ deleteManyDesc: `Sus carpetas, con las películas y todo lo que contienen, se mueven a ${TRASH}.`,
1483
+ delete: 'Eliminar',
1484
+ cancel: 'Cancelar',
1485
+ },
1486
+ /* what an agent's `openfilm get` asks before it spends (see SpendAsks) */
1487
+ asks: {
1488
+ videoTitle: 'Tu agente quiere crear un clip de video',
1489
+ videoNote: 'El video es el tipo de medio más caro de crear.',
1490
+ make: 'Crearlo',
1491
+ skip: 'Omitir',
1492
+ balanceTitle: '{provider}: saldo insuficiente',
1493
+ balanceBody: '{provider} no tiene saldo suficiente para esto. Recárgalo allí o cambia a otro servicio y vuelve a intentarlo.',
1494
+ manage: 'Gestionar',
1495
+ close: 'Cerrar',
1496
+ },
1497
+ settings: {
1498
+ title: 'Configuración',
1499
+ done: 'Hecho',
1500
+ search: 'Buscar',
1501
+ noResults: 'Ningún ajuste coincide',
1502
+ groups: {
1503
+ help: 'Ayuda',
1504
+ },
1505
+ links: {
1506
+ github: 'GitHub',
1507
+ examples: 'Ejemplos',
1508
+ site: 'Sitio web',
1509
+ },
1510
+ sections: {
1511
+ agents: 'Agentes',
1512
+ providers: 'Proveedores',
1513
+ models: 'Servicios',
1514
+ developer: 'Desarrollador',
1515
+ general: 'General',
1516
+ shortcuts: 'Atajos de teclado',
1517
+ advanced: 'Avanzado',
1518
+ },
1519
+ appearance: {
1520
+ group: 'Apariencia',
1521
+ theme: 'Tema',
1522
+ light: 'Claro',
1523
+ dark: 'Oscuro',
1524
+ system: 'Sistema',
1525
+ language: 'Idioma',
1526
+ languageSystem: 'Igual que el sistema',
1527
+ themeHint: 'Claro, oscuro o igual que el sistema.',
1528
+ languageHint: 'El idioma en que se muestra OpenFilm.',
1529
+ },
1530
+ storage: {
1531
+ group: 'Almacenamiento',
1532
+ projects: 'Carpeta de proyectos',
1533
+ projectsPick: 'Elige la carpeta de proyectos',
1534
+ pickButton: 'Elegir',
1535
+ change: 'Cambiar…',
1536
+ show: 'Abrir',
1537
+ reset: 'Usar la predeterminada',
1538
+ save: 'Guardar',
1539
+ free: '{size} libres en este disco',
1540
+ moveTitle: '¿Mover también tus proyectos?',
1541
+ moveDesc: 'Hay {count} proyectos en {from}. Muévelos a {to} o déjalos donde están: seguirán en la lista de proyectos.',
1542
+ moveYes: 'Mover proyectos',
1543
+ moveNo: 'Dejarlos',
1544
+ moved: 'Se movieron {count} proyectos.',
1545
+ moveFailed: 'No se pudieron mover y siguen donde estaban: {names}',
1546
+ },
1547
+ playback: {
1548
+ group: "Reproducción",
1549
+ proxies: "Proxies para el metraje pesado",
1550
+ proxiesHint: "El metraje de más de 1080p (4K, por ejemplo), o lento de decodificar (ProRes, HEVC, 10 bits), se reproduce desde una copia ligera hecha en segundo plano. Las exportaciones siempre usan los originales.",
1551
+ proxySize: "Tamaño del proxy",
1552
+ proxySizeHint: "Más pequeño se reproduce con más fluidez; más grande se ve más nítido en el visor.",
1553
+ },
1554
+ advanced: {
1555
+ intro: "Ya están ajustados para la mejor experiencia. Normalmente no hace falta cambiarlos.",
1556
+ fitPages: "Dibujar las páginas al tamaño del visor",
1557
+ fitPagesHint: "El canvas y el 3D de las páginas web se dibujan al tamaño con que los muestra el visor: se ven igual y se reproducen con más fluidez. Desactivado: al tamaño completo de la película. Las exportaciones siempre se dibujan a tamaño completo.",
1558
+ renders: "Renderizar lo que se reproduce con retraso",
1559
+ rendersHint: "Un tramo que el visor no puede reproducir a velocidad completa se renderiza en segundo plano cuando se detiene la película, y desde entonces se reproduce con fluidez.",
1560
+ },
1561
+ about: {
1562
+ group: 'Acerca de',
1563
+ check: 'Buscar actualizaciones',
1564
+ checking: 'Comprobando…',
1565
+ failed: 'No se pudo contactar con npm. Inténtalo más tarde.',
1566
+ newer: 'Ya está disponible OpenFilm {version}.',
1567
+ upToDate: 'Está al día.',
1568
+ source: 'Se ejecuta desde el código fuente: git pull lo actualiza.',
1569
+ off: 'Aquí no se buscan actualizaciones (OPENFILM_NO_UPDATE_CHECK).',
1570
+ never: 'Aún no se ha comprobado.',
1571
+ inApp: 'Studio se actualiza con la app de escritorio: OpenFilm → Check for Updates…',
1572
+ howTitle: 'Actualizar',
1573
+ how: 'Pulsa Actualizar, ejecuta esto o pídele a tu agente que actualice OpenFilm: Studio se reinicia con la nueva versión.',
1574
+ appOff: 'Esta versión se ejecuta desde el código fuente y no se actualiza sola; la app instalada sí.',
1575
+ appChecked: 'Comprobado {time}.',
1576
+ appDownloading: 'Descargando OpenFilm {version}…',
1577
+ appStaging: 'Preparando OpenFilm {version}…',
1578
+ appRetry: 'Reintentar',
1579
+ whatsNew: 'Novedades de esta versión',
1580
+ appOffline: 'No se pudo conectar con el servicio de actualizaciones. Revisa tu conexión.',
1581
+ appUnavailable: 'Las actualizaciones no están disponibles ahora. Inténtalo más tarde.',
1582
+ appFailed: 'No se pudo completar la actualización. Inténtalo más tarde.',
1583
+ },
1584
+ report: {
1585
+ title: 'Informe de diagnóstico',
1586
+ hint: 'Lo que OpenFilm encuentra en este equipo y en este navegador, los agentes y los problemas de la última semana, para pegarlo en un issue. Las rutas de tu carpeta personal aparecen como ~; sin claves, cuentas ni proyectos.',
1587
+ copy: 'Copiar informe',
1588
+ making: 'Comprobando…',
1589
+ copied: 'Copiado',
1590
+ failed: 'No se pudo crear el informe. Inténtalo de nuevo.',
1591
+ select: 'Tu navegador no dejó que Studio lo copiara: selecciona el informe de abajo y cópialo.',
1592
+ group: 'Diagnóstico',
1593
+ export: 'Archivo de diagnóstico',
1594
+ exportHint: 'Todo lo demás que explica por qué algo falló, en un zip en tu carpeta de exportaciones: el informe, los problemas de las últimas dos semanas, los registros y cómo fueron los turnos que fallaron. Revísalo antes de adjuntarlo a un issue.',
1595
+ exportButton: 'Exportar',
1596
+ exporting: 'Exportando…',
1597
+ exported: 'Se exportó {name}; se muestra en su carpeta.',
1598
+ exportFailed: 'No se pudo escribir el archivo. Inténtalo de nuevo.',
1599
+ conversations: 'Incluir lo que se dijo en los turnos fallidos',
1600
+ conversationsHint: 'Desactivado, de cada turno fallido el archivo solo dice cómo fue: el agente y el modelo, cuándo empezó y terminó cada paso, el tipo de cada herramienta y si funcionó, los avisos del agente y el error. Nunca tus mensajes, las respuestas del agente, comandos, nombres de archivo ni nada de tus archivos.',
1601
+ problems: 'Problemas recientes',
1602
+ problemsHint: 'Lo que falló en las últimas dos semanas, lo más reciente primero. Solo se guarda en este equipo.',
1603
+ noProblems: 'No hubo problemas en las últimas dos semanas.',
1604
+ more: 'Ver los {count}',
1605
+ conversationsOn: 'Activado: el próximo archivo también tendrá lo que se dijo en los turnos fallidos, lo que se listó al activarlo. Desactívalo para dejarlo fuera.',
1606
+ addsTitle: 'Al activarlo se añade, de los últimos cinco turnos que fallaron en las dos últimas semanas:',
1607
+ adds1: 'Tus mensajes, tal como los escribiste (las imágenes que adjuntaste quedan fuera).',
1608
+ adds2: 'Las respuestas del agente y su razonamiento.',
1609
+ adds3: 'El título, el comando, la entrada y la salida de cada paso, que pueden tener nombres y contenido de tus archivos y lo que imprimieron los comandos.',
1610
+ adds4: 'Las preguntas que te hizo el agente y tus respuestas.',
1611
+ adds5: 'Las instrucciones con las que empezó el agente, incluidas las tuyas de su configuración.',
1612
+ addsKept: 'Se sigue quitando: tu carpeta personal (se ve como ~), claves, tokens y direcciones de correo. No se envía nada: el archivo se queda en este equipo hasta que lo adjuntes.',
1613
+ addsWho: 'Cualquiera que vea dónde lo adjuntas puede leerlo, también en un issue público de GitHub. Envíalo solo donde quieras.',
1614
+ addsYes: 'Incluirlos',
1615
+ addsNo: 'Cancelar',
1616
+ exportedHas: 'Contiene:',
1617
+ partReport: 'El informe de diagnóstico',
1618
+ partProblems: 'Los problemas de las dos últimas semanas',
1619
+ partLogs: 'El final de {count} registros de Studio y la app',
1620
+ partTurns: 'Cómo fueron {count} turnos fallidos, sin lo que se dijo',
1621
+ partTurnsWords: '{count} turnos fallidos, con lo que se dijo',
1622
+ partCodex: 'Los avisos y errores del propio Codex en torno a sus problemas',
1623
+ },
1624
+ agents: {
1625
+ intro: 'Los agentes que puede usar el chat. Codex, Claude Code y los demás de Tus agentes son tuyos, con la cuenta iniciada en este equipo: para usar otra cuenta, cámbiala en el propio agente y luego desconéctalo y vuelve a conectarlo aquí. Tu propia clave usa modelos que configuras tú, cada uno con su propio servicio.',
1626
+ byokName: 'Tu propia clave',
1627
+ groupYours: 'Tus agentes',
1628
+ groupMore: 'Otros agentes que puedes usar',
1629
+ recommended: 'Recomendado',
1630
+ recommendedHint: 'La forma más barata: con la suscripción que ya tienes',
1631
+ ready: 'Conectado',
1632
+ off: 'No conectado',
1633
+ signedOut: 'Sin sesión iniciada',
1634
+ waiting: 'Esperando a que inicies sesión…',
1635
+ waitingHint: 'Termina de iniciar sesión en la ventana que se abrió y vuelve aquí.',
1636
+ waitingHintMinimax: 'Termina de iniciar sesión en la ventana que se abrió y vuelve aquí. Una cuenta internacional de MiniMax no puede elegir su sitio ahí: en una terminal, ejecuta mcode login --region global y luego pulsa Volver a empezar.',
1637
+ waitingHintCodebuddy: 'Termina de iniciar sesión en la ventana que se abrió y vuelve aquí. Esa ventana es de CodeBuddy y su título es CodeBuddy, no OpenFilm ni una terminal.',
1638
+ startAgain: 'Volver a empezar',
1639
+ missing: 'No está instalado en este equipo',
1640
+ claudeSetup: 'Abre una vez la pestaña Code de la app de Claude para instalar Claude Code',
1641
+ locate: 'Elegir…',
1642
+ locateTitle: 'Elige el programa de {name}',
1643
+ locateButton: 'Usar este',
1644
+ chosenAt: 'Usando el programa que elegiste: {path}',
1645
+ automatic: 'Detectarlo automáticamente',
1646
+ notAProgram: 'Ese archivo no es un programa que este equipo pueda abrir. Elige el programa del agente (en Windows, el archivo .exe o .cmd).',
1647
+ appOnly: 'La app {app} está instalada, pero para conectar hace falta el agente de línea de comandos de {name}.',
1648
+ installing: 'Instalando en una ventana de terminal… OpenFilm lo encontrará al terminar.',
1649
+ installConfirm: 'OpenFilm abre una ventana de terminal y ejecuta el instalador oficial de {name}:',
1650
+ installRun: 'Ejecutar instalador',
1651
+ notTheAgentApp: 'Esto es un editor o una app de escritorio, no el agente de línea de comandos de {name}. Para conectar hace falta el agente de línea de comandos de {name}.',
1652
+ notCursorAgent: 'Esto no es el agente de línea de comandos de Cursor, que se instala en una carpeta cursor-agent. Para conectar hace falta el agente de línea de comandos de Cursor.',
1653
+ didNotStart: 'No se pudo iniciar desde ahí:',
1654
+ unreadable: 'No puede leer su propia configuración, así que no puede iniciarse. Corrige lo que indica en su archivo de configuración o actualízalo:',
1655
+ whyMissing: '¿Por qué no se encuentra?',
1656
+ searching: 'Buscando…',
1657
+ hintChosenMissing: 'El programa que elegiste ya no está. Elígelo de nuevo o vuelve a detectarlo automáticamente.',
1658
+ hintWsl: 'Está instalado en WSL (Linux en Windows), que OpenFilm no puede usar. Instálalo también en Windows y vuelve.',
1659
+ hintUnusable: 'Se encontraron archivos con su nombre, pero ninguno se puede iniciar. Usa Elegir… para seleccionar el programa.',
1660
+ hintNone: 'No está en ninguna de las carpetas revisadas. Si {program} funciona en tu terminal, busca allí dónde está («where {program}» en Windows, «which {program}» en Mac) y elige ese archivo con Elegir….',
1661
+ hintFound: 'Encontrado: {path}',
1662
+ reportNote: 'Si sigue sin encontrarse, copia el informe y envíalo con un issue. Incluye rutas de carpetas de este equipo.',
1663
+ copyReport: 'Copiar informe',
1664
+ copied: 'Copiado',
1665
+ close: 'Cerrar',
1666
+ needsKey: 'Sin configurar',
1667
+ unavailable: 'Aún no disponible: llegará en una actualización',
1668
+ checking: 'Comprobando…',
1669
+ connect: 'Conectar',
1670
+ disconnect: 'Desconectar',
1671
+ disconnectHint: 'Deja de usarlo en OpenFilm; su sesión se mantiene. Para usar otra cuenta, cambia de cuenta en {name} y vuelve a conectarlo.',
1672
+ accountChatgpt: 'Cuenta de ChatGPT',
1673
+ accountApiKey: 'Clave de API',
1674
+ accountConsole: 'Anthropic Console',
1675
+ usage: 'Uso',
1676
+ usageLoading: 'Leyendo lo que queda del plan…',
1677
+ usageFiveHour: '5 horas',
1678
+ usageWeek: 'Esta semana',
1679
+ usageWindow: '{hours} horas',
1680
+ usageUsed: '{percent}% usado',
1681
+ usageResets: 'se renueva {time}',
1682
+ signIn: 'Iniciar sesión',
1683
+ install: 'Instalar',
1684
+ setUpKey: 'Configurar',
1685
+ change: 'Cambiar',
1686
+ showInChat: 'Mostrar en el chat',
1687
+ showHint: 'Solo los agentes activados aparecen en el chat.',
1688
+ failed: 'No ha funcionado. Inténtalo de nuevo.',
1689
+ format: 'Formato de API',
1690
+ address: 'Dirección',
1691
+ model: 'Modelo',
1692
+ modelPlaceholder: 'El nombre del modelo, como lo llama el servicio',
1693
+ addModel: 'Añadir un modelo',
1694
+ name: 'Nombre',
1695
+ namePlaceholder: 'El que se muestra en el chat (el del modelo, si se deja vacío)',
1696
+ edit: 'Editar',
1697
+ done: 'Listo',
1698
+ keySame: 'Déjalo vacío para usar la clave de {name}',
1699
+ removeModel: 'Quitar {name}',
1700
+ efforts: 'Esfuerzo de razonamiento',
1701
+ effortStart: 'Empieza en',
1702
+ effortHint: 'Marca los esfuerzos que admite este modelo: el chat ofrece esos. Automático no envía ninguno, así decide el servicio.',
1703
+ effortLevels: { auto: 'Automático', off: 'Sin razonar', minimal: 'Mínimo', low: 'Bajo', medium: 'Medio', high: 'Alto', xhigh: 'Muy alto', max: 'Máximo' },
1704
+ context: 'Longitud de contexto',
1705
+ contextHint: 'En tokens, según la documentación del servicio del modelo. Vacío: 128K.',
1706
+ contextBad: 'Un número entero de tokens, de 32.000 a 10.000.000.',
1707
+ key: 'Clave de API',
1708
+ keyPlaceholder: 'Pega tu clave de API',
1709
+ keyKept: 'Clave terminada en {last4} (déjalo vacío para conservarla)',
1710
+ byokNote: 'Cada modelo tiene que poder leer imágenes: el agente mira sus propios fotogramas. Tus claves se quedan en este equipo y cada una solo se envía a su servicio.',
1711
+ byokRules: 'Sus reglas son el AGENTS.md (o CLAUDE.md) de la carpeta del proyecto. Uno guardado en otro sitio, en una carpeta superior o con los ajustes del agente, no se lee.',
1712
+ save: 'Comprobar y guardar',
1713
+ checkingKey: 'Comprobando…',
1714
+ cancel: 'Cancelar',
1715
+ mcpSummary: 'Tus servidores MCP: {on} de {n} en uso en OpenFilm',
1716
+ mcpManage: 'Elegir',
1717
+ mcpDone: 'Listo',
1718
+ mcpNote: 'Los servidores MCP que añadiste tú a {agent} están desactivados en OpenFilm hasta que actives uno. Los suyos propios siempre están activos.',
1719
+ mcpAllow: 'Usar {name} en OpenFilm',
1720
+ skillsSummary: 'Tus skills: {on} de {n} en uso en OpenFilm',
1721
+ skillsNote: 'Las skills que instalaste tú en {agent} están desactivadas en OpenFilm hasta que actives una, para que las películas salgan igual cada vez. Las suyas propias siempre están activas.',
1722
+ skillsAllow: 'Usar {name} en OpenFilm',
1723
+ skillsUnfiltered: '{agent} usa tus {n} skills en OpenFilm, como en su propia app.',
1724
+ mcpUnfiltered: '{agent} usa tus {n} servidores MCP en OpenFilm, como en su propia app.',
1725
+ },
1726
+ developer: {
1727
+ playbackGroup: 'Reproducción',
1728
+ playbackStats: 'Mostrar estadísticas de reproducción',
1729
+ playbackStatsHint: 'Mientras se reproduce la película, la esquina del visor muestra cuántos fotogramas de la película dibuja por segundo, cuántas veces por segundo la pantalla no recibió un fotograma nuevo y si un tramo se reproduce desde su render.',
1730
+ intro: 'Para saber qué falló y exactamente qué hizo un agente y por qué: nada de esto cambia lo que hacen los agentes.',
1731
+ group: 'Cada turno',
1732
+ changes: 'Mostrar lo que cambió cada turno',
1733
+ changesHint: 'Bajo cada respuesta, los archivos que el turno añadió, eliminó o cambió, con las líneas añadidas y quitadas. Haz clic en un archivo para ver sus líneas cambiadas.',
1734
+ logs: 'Mostrar el registro de cada turno',
1735
+ logsHint: 'En el chat, cada turno tiene un botón Registro: la petición y la sesión en que se ejecutó, cada herramienta con su entrada y su salida, cada pregunta y respuesta, y cómo terminó, tal como lo envió el agente.',
1736
+ where: 'Cada turno se registra esté o no activado, en la carpeta .film/logs del proyecto, solo en este ordenador.',
1737
+ releaseGroup: 'Versiones',
1738
+ previewWhatsNew: 'Novedades',
1739
+ previewWhatsNewHint: 'Muestra las notas de {version} tal como se ven tras actualizar.',
1740
+ preview: 'Vista previa',
1741
+ },
1742
+ shortcuts: {
1743
+ hint: "Las teclas siguen tu sistema operativo y se pausan mientras escribes. Elige un esquema para usar las teclas de otro editor, o cambia cualquier tecla en un esquema personalizado.",
1744
+ addMedia: "Añadir el medio elegido a la línea de tiempo",
1745
+ deselect: 'Deseleccionar',
1746
+ nudge: 'Mover el elemento seleccionado 1 px',
1747
+ nudgeFast: 'Mover el elemento seleccionado 10 px',
1748
+ editText: 'Editar el texto seleccionado',
1749
+ commitText: 'Aplicar la edición de texto',
1750
+ cancelText: 'Cancelar la edición de texto / deseleccionar',
1751
+ splitModeAll: 'Con la herramienta de corte, haz clic con ella pulsada: se cortan todas las pistas ahí',
1752
+ editModeSwap: 'Mantén al soltar un clip: se intercala y lo que sigue se desplaza',
1753
+ copyDrag: 'Arrastra un clip con ella pulsada: una copia va donde lo sueltas y el clip se queda',
1754
+ customName: "Personalizado {n}",
1755
+ scheme: "Esquema de atajos",
1756
+ restore: "Restablecer valores",
1757
+ save: "Guardar",
1758
+ cancel: "Cancelar",
1759
+ recording: "Pulsa las teclas…",
1760
+ change: "Haz clic para cambiar",
1761
+ editCopy: "Haz clic para cambiarlo en una copia",
1762
+ none: "Ninguno",
1763
+ clear: "Quitar teclas",
1764
+ replace: "Reemplazar",
1765
+ copied: "{from} viene incluido, así que se copió en {to}. Tus cambios se guardan ahí.",
1766
+ started: "{to} empieza como una copia de {from}.",
1767
+ full: "Los tres esquemas personalizados están en uso. Elige uno para cambiar sus teclas.",
1768
+ conflict: "{keys} ya se usa para \"{action}\". ¿Reemplazarlo?",
1769
+ fixed: "Estas teclas no se pueden cambiar.",
1770
+ saveFailed: "No se pudieron guardar los atajos: {error}",
1771
+ shuttleHold: "Retroceder / avanzar un fotograma (mantén la tecla de detener)",
1772
+ tabs: { timeline: "Línea de tiempo", player: "Reproductor", basic: "Básico", other: "Otros" },
1773
+ /* the editor's actions (lib/keymap ACTIONS) */
1774
+ actions: {
1775
+ "split": "Dividir en el cabezal",
1776
+ "split-all": "Dividir todas las pistas",
1777
+ "select-mode": "Herramienta de selección",
1778
+ "split-mode": "Herramienta de división",
1779
+ "ripple-start": "Recorte de rizo del inicio",
1780
+ "ripple-end": "Recorte de rizo del final",
1781
+ "select-left": "Seleccionar todo a la izquierda",
1782
+ "select-right": "Seleccionar todo a la derecha",
1783
+ "nudge-back": "Mover clips 1 fotograma a la izquierda",
1784
+ "nudge-forward": "Mover clips 1 fotograma a la derecha",
1785
+ "toggle-magnet": "Activar / desactivar el imán de la pista principal",
1786
+ "toggle-snap": "Activar / desactivar el ajuste",
1787
+ "toggle-linkage": "Activar / desactivar la vinculación",
1788
+ "toggle-preview-axis": "Activar / desactivar el eje de vista previa",
1789
+ "zoom-in": "Acercar",
1790
+ "zoom-out": "Alejar",
1791
+ "zoom-reset": "Restablecer zoom",
1792
+ "zoom-fit": "Ajustar el zoom a toda la película",
1793
+ "add-marker": "Añadir marcador",
1794
+ "next-marker": "Marcador siguiente",
1795
+ "prev-marker": "Marcador anterior",
1796
+ "speed": "Velocidad del clip",
1797
+ "detach-audio": "Separar audio",
1798
+ "play-pause": "Reproducir / pausar",
1799
+ "play-range": "Reproducir de entrada a salida",
1800
+ "loop": "Reproducción en bucle",
1801
+ "shuttle-back": "Reproducir hacia atrás",
1802
+ "shuttle-stop": "Detener",
1803
+ "shuttle-forward": "Reproducir hacia delante",
1804
+ "frame-back": "Retroceder 1 fotograma",
1805
+ "frame-forward": "Avanzar 1 fotograma",
1806
+ "jump-back": "Retroceder 10 fotogramas",
1807
+ "jump-forward": "Avanzar 10 fotogramas",
1808
+ "prev-cut": "Corte anterior",
1809
+ "next-cut": "Corte siguiente",
1810
+ "start": "Ir al inicio",
1811
+ "end": "Ir al final",
1812
+ "mark-in": "Marcar entrada",
1813
+ "mark-out": "Marcar salida",
1814
+ "clear-range": "Borrar entrada y salida",
1815
+ "range-clip": "Marcar los clips seleccionados",
1816
+ "go-in": "Ir a la entrada",
1817
+ "go-out": "Ir a la salida",
1818
+ "insert-source": "Insertar desde el visor de origen",
1819
+ "overwrite-source": "Sobrescribir desde el visor de origen",
1820
+ "undo": "Deshacer",
1821
+ "redo": "Rehacer",
1822
+ "cut": "Cortar",
1823
+ "copy": "Copiar",
1824
+ "paste": "Pegar en el cabezal",
1825
+ "duplicate": "Duplicar",
1826
+ "remove": "Eliminar",
1827
+ "ripple-delete": "Eliminar con desplazamiento",
1828
+ "select-all": "Seleccionar todo",
1829
+ "copy-attrs": "Copiar atributos",
1830
+ "paste-attrs": "Pegar atributos",
1831
+ "refer": "Añadir al chat",
1832
+ },
1833
+ },
1834
+ providers: {
1835
+ desc: 'De dónde vienen las voces, la música, los efectos de sonido, las transcripciones, las imágenes y el video. OpenFilm crea y edita películas sin ninguno de ellos: conecta uno cuando tu agente necesite medios. Cuál crea cada tipo de medio se elige en Servicios.',
1836
+ groupRecommended: 'Recomendados',
1837
+ groupMore: 'Más proveedores',
1838
+ connect: 'Conectar',
1839
+ disconnect: 'Desconectar',
1840
+ connected: 'Conectado',
1841
+ and: 'y',
1842
+ keyNote: 'Tu clave paga directamente al servicio. Se queda en este equipo y solo se envía a su propio servicio.',
1843
+ getKey: 'Obtener una clave de {name}',
1844
+ key: 'Clave',
1845
+ region: 'Región (eastus, …)',
1846
+ azureNote: "Locución. Cada servicio de Azure tiene su propia clave y la región de su recurso: las dos están en la página Claves y punto de conexión del recurso.",
1847
+ pasteKey: 'Pega tu clave de API de {name}',
1848
+ save: 'Guardar',
1849
+ cancel: 'Cancelar',
1850
+ keyEnding: 'Clave terminada en {last4}',
1851
+ useEnv: 'Usar la clave de ${env}',
1852
+ own: {
1853
+ title: "Servicios personalizados",
1854
+ note: "Servicios que no están arriba, tantos como quieras: uno que ejecutes en este ordenador o uno en línea (tu propia voz, un servidor de transcripción, una API que no está en la lista), con cualquier interfaz. OpenFilm no los llama por sí mismo: tu agente lee tu descripción y los llama, y sus claves se quedan en este ordenador, fuera de la vista del agente. También puedes hablarle de un servicio en el chat; si necesita clave, añádelo aquí para que la clave no aparezca en la conversación.",
1855
+ add: "Añadir un servicio personalizado",
1856
+ edit: "Editar",
1857
+ remove: "Quitar",
1858
+ name: "Nombre",
1859
+ namePlaceholder: "p. ej. Mi voz",
1860
+ url: "Dirección",
1861
+ key: "Clave",
1862
+ keyOptional: "Opcional",
1863
+ keyKeep: "Déjala vacía para conservar la clave que termina en {last4}",
1864
+ removeKey: "Quitar la clave",
1865
+ what: "Descripción",
1866
+ whatPlaceholder: "p. ej. Lee un guion con mi voz: POST /tts con {\"text\": \"…\"} devuelve un WAV. O solo su documentación de API: https://…",
1867
+ },
1868
+ verbs: {
1869
+ tts: 'Locución',
1870
+ voice: 'Voces',
1871
+ music: 'Música',
1872
+ sfx: 'Efectos de sonido',
1873
+ asr: 'Transcripción',
1874
+ image: 'Imágenes',
1875
+ 'image-search': 'Búsqueda de imágenes',
1876
+ video: 'Video',
1877
+ translate: 'Traducción de subtítulos',
1878
+ 'web-search': 'Búsqueda web',
1879
+ },
1880
+ },
1881
+ models: {
1882
+ desc: 'Qué servicio crea cada tipo de medio: un modelo de un proveedor conectado. Al conectar un proveedor se rellenan los tipos que no tienen ninguno; puedes cambiar cualquiera aquí.',
1883
+ nothing: 'Aún no hay nada conectado. Conecta un proveedor para elegir sus modelos.',
1884
+ goConnect: 'Conectar un proveedor',
1885
+ none: 'Ninguno',
1886
+ connectNamed: 'Conectar {names}',
1887
+ about: {
1888
+ tts: 'Lee un guion en voz alta y encuentra voces para leerlo',
1889
+ music: 'Crea una banda sonora a partir de una descripción',
1890
+ sfx: 'Crea un sonido a partir de una descripción',
1891
+ asr: 'Transcribe lo que se dice, palabra por palabra, para los subtítulos',
1892
+ image: 'Crea una imagen a partir de una descripción',
1893
+ 'image-search': 'Busca imágenes en la web',
1894
+ video: 'Crea un clip de video a partir de una descripción o una imagen',
1895
+ translate: 'Traduce los subtítulos a otro idioma',
1896
+ 'web-search': 'Busca en la web y lee sus páginas',
1897
+ },
1898
+ },
1899
+ },
1900
+ };