@danhachuel/thunderbolt 0.6.69 → 0.6.71

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/app/main.py CHANGED
@@ -5105,73 +5105,174 @@ def render_videos():
5105
5105
  st.rerun()
5106
5106
 
5107
5107
 
5108
- def render_music_backlog() -> None:
5109
- """Render the independent audio-only queue; it never reads the video pipeline."""
5110
- st.subheader("Music Backlog")
5111
- st.caption("Fila independente de geração de áudio por Suno AI ou Google Lyria. Não inclui tarefas, worker ou progresso de vídeo.")
5112
- st.caption(f"As músicas são guardadas em `{STORAGE / 'music'}`.")
5108
+ def _music_backlog_records() -> list[dict[str, Any]]:
5109
+ """Combine generated music tasks with audio files imported into storage/music."""
5113
5110
  tasks = list_music_tasks()
5114
- active = [task for task in tasks if str(task.get("state") or "") == "doing"]
5115
- if active:
5116
- st.info(f"Geração musical em execução · {len(active)} tarefa(s) de áudio.")
5117
- if not tasks:
5118
- st.info("Nenhuma música criada.")
5119
- return
5120
- known_states = ["to_do", "doing", "blocked", "done", "failed", "cancelled"]
5121
- extra_states = sorted({str(task.get("state") or "unknown") for task in tasks if str(task.get("state") or "unknown") not in known_states})
5122
- state_filter = st.selectbox("Filtrar por estado", ["Todos", *known_states, *extra_states], key="music_backlog_state_filter")
5111
+ records: list[dict[str, Any]] = []
5112
+ registered_paths: set[str] = set()
5123
5113
  for task in tasks:
5124
- if state_filter != "Todos" and task.get("state") != state_filter:
5114
+ record = dict(task)
5115
+ record["source_type"] = "created"
5116
+ audio_path = Path(str(record.get("audio_path") or "")) if record.get("audio_path") else None
5117
+ if audio_path:
5118
+ registered_paths.add(str(audio_path.resolve()))
5119
+ records.append(record)
5120
+ for music_file in list_music_files():
5121
+ if str(music_file.resolve()) in registered_paths:
5125
5122
  continue
5126
- with st.container(border=True):
5127
- cols = st.columns([2.2, 1, 1, 1.2, 1.8])
5128
- with cols[0]:
5129
- st.write(f"**{task.get('title') or 'Música sem título'}**")
5130
- st.caption(f"Provider: {'Google Lyria' if str(task.get('provider') or '').casefold() == 'lyria' else 'Suno AI'}")
5131
- st.caption(str(task.get('id') or ''))
5132
- music_path = str(task.get("audio_path") or "").strip()
5133
- if music_path and Path(music_path).is_file():
5134
- music_file = Path(music_path)
5135
- st.success("Música pronta; pode continuar para o destino configurado.")
5136
- st.download_button(
5137
- "Descarregar música",
5138
- data=music_file.read_bytes(),
5139
- file_name=music_file.name,
5140
- mime="audio/mpeg",
5141
- key=f"music_backlog_download_{task['id']}",
5142
- use_container_width=True,
5143
- )
5144
- elif music_path:
5145
- st.caption(f"Música registada: {music_path}")
5146
- else:
5147
- st.caption("A música será disponibilizada quando a etapa de geração terminar.")
5148
- with cols[1]:
5149
- st.caption("Tipo")
5150
- st.write("Áudio")
5151
- with cols[2]:
5152
- st.write({"music_generation": "Geração musical", "completed": "Concluída", "failed": "Falha"}.get(str(task.get("stage") or ""), "Na fila"))
5153
- with cols[3]:
5154
- state = str(task.get("state") or "unknown").strip().lower()
5155
- progress = _video_task_progress(task)
5156
- st.caption("Estado")
5157
- st.write(state or "—")
5158
- st.caption(VIDEO_TASK_STATE_LABELS.get(state, state.replace("_", " ").capitalize() or "Desconhecido"))
5159
- st.progress(progress, text=f"{progress}%")
5160
- if task.get("error"):
5161
- st.error(str(task.get("error") or "")[:500])
5162
- with cols[4]:
5163
- state = str(task.get("state") or "")
5123
+ records.append({
5124
+ "id": f"imported_{hashlib.sha1(str(music_file.resolve()).encode('utf-8')).hexdigest()[:12]}",
5125
+ "title": get_display_name("music", music_file, music_file.stem),
5126
+ "provider": "imported",
5127
+ "stage": "imported",
5128
+ "state": "done",
5129
+ "progress": 100,
5130
+ "audio_path": str(music_file),
5131
+ "source_type": "imported",
5132
+ "created_at": datetime.fromtimestamp(music_file.stat().st_mtime, timezone.utc).isoformat(timespec="seconds"),
5133
+ })
5134
+ return records
5135
+
5136
+
5137
+ def _music_lyrics_records() -> list[dict[str, Any]]:
5138
+ """Return persisted music-lyrics documents that still exist on disk."""
5139
+ records: list[dict[str, Any]] = []
5140
+ for document in list_script_documents():
5141
+ if str(document.get("document_type") or "").strip() != "music_lyrics":
5142
+ continue
5143
+ path = Path(str(document.get("path") or ""))
5144
+ if path.is_file():
5145
+ records.append({**document, "path": str(path), "title": get_display_name("music_lyrics", path, str(document.get("title") or path.stem))})
5146
+ return records
5147
+
5148
+
5149
+ def _render_music_file_card(record: dict[str, Any]) -> None:
5150
+ music_path = Path(str(record.get("audio_path") or ""))
5151
+ record_id = str(record.get("id") or music_path.name)
5152
+ title = get_display_name("music", music_path, str(record.get("title") or music_path.stem)) if music_path else str(record.get("title") or "Música sem título")
5153
+ with st.container(border=True):
5154
+ cols = st.columns([2.2, 1, 1, 1.2, 1.8])
5155
+ with cols[0]:
5156
+ st.write(f"**{title}**")
5157
+ source_type = "Música criada" if str(record.get("source_type") or "") == "created" else "Música importada"
5158
+ st.caption(source_type)
5159
+ if str(record.get("provider") or "").casefold() not in {"", "imported"}:
5160
+ provider = "Google Lyria" if str(record.get("provider") or "").casefold() == "lyria" else "Suno AI"
5161
+ st.caption(f"Provider: {provider}")
5162
+ st.caption(record_id)
5163
+ if music_path.is_file():
5164
+ st.download_button(
5165
+ "Descarregar música",
5166
+ data=music_path.read_bytes(),
5167
+ file_name=music_path.name,
5168
+ mime=mimetypes.guess_type(music_path.name)[0] or "audio/mpeg",
5169
+ key=f"music_backlog_download_{record_id}",
5170
+ use_container_width=True,
5171
+ )
5172
+ edit_key = _render_library_name_editor("music", music_path, title)
5173
+ with st.columns([0.2, 0.8])[0]:
5174
+ _render_card_pencil(edit_key)
5175
+ else:
5176
+ st.caption(f"Música registada: {music_path}")
5177
+ with cols[1]:
5178
+ st.caption("Tipo")
5179
+ st.write("Áudio")
5180
+ with cols[2]:
5181
+ stage = str(record.get("stage") or "")
5182
+ st.write({"music_generation": "Geração musical", "completed": "Concluída", "failed": "Falha", "imported": "Importada"}.get(stage, "Na fila"))
5183
+ with cols[3]:
5184
+ state = str(record.get("state") or "unknown").strip().lower()
5185
+ progress = _video_task_progress(record)
5186
+ st.caption("Estado")
5187
+ st.write(state or "—")
5188
+ st.caption(VIDEO_TASK_STATE_LABELS.get(state, state.replace("_", " ").capitalize() or "Desconhecido"))
5189
+ st.progress(progress, text=f"{progress}%")
5190
+ if record.get("error"):
5191
+ st.error(str(record.get("error") or "")[:500])
5192
+ with cols[4]:
5193
+ if str(record.get("source_type") or "") == "created":
5194
+ state = str(record.get("state") or "")
5164
5195
  start_col, stop_col = st.columns(2)
5165
5196
  with start_col:
5166
- if st.button("Start", key=f"music_backlog_start_{task['id']}", use_container_width=True, disabled=state not in {"to_do", "blocked", "failed"}):
5167
- run_music_task(str(task["id"]), read_json("settings.json", {}))
5197
+ if st.button("Start", key=f"music_backlog_start_{record_id}", use_container_width=True, disabled=state not in {"to_do", "blocked", "failed"}):
5198
+ run_music_task(record_id, read_json("settings.json", {}))
5168
5199
  st.rerun()
5169
5200
  with stop_col:
5170
- if st.button("Stop", key=f"music_backlog_stop_{task['id']}", use_container_width=True, disabled=state != "doing"):
5171
- transition_music_task(str(task["id"]), "blocked")
5201
+ if st.button("Stop", key=f"music_backlog_stop_{record_id}", use_container_width=True, disabled=state != "doing"):
5202
+ transition_music_task(record_id, "blocked")
5172
5203
  st.rerun()
5173
5204
 
5174
5205
 
5206
+ def _render_lyrics_card(record: dict[str, Any]) -> None:
5207
+ path = Path(str(record.get("path") or ""))
5208
+ if not path.is_file():
5209
+ return
5210
+ record_id = str(record.get("id") or hashlib.sha1(str(path.resolve()).encode("utf-8")).hexdigest()[:12])
5211
+ title = str(record.get("title") or path.stem)
5212
+ content = read_script_document(record)
5213
+ with st.container(border=True):
5214
+ title_col, download_col, edit_col = st.columns([3.2, 1.3, 0.6])
5215
+ with title_col:
5216
+ st.write(f"**{title}**")
5217
+ st.caption("Lyrics")
5218
+ with download_col:
5219
+ st.download_button("Descarregar lyrics", data=path.read_bytes(), file_name=path.name, mime="text/markdown", key=f"music_lyrics_download_{record_id}", use_container_width=True)
5220
+ with edit_col:
5221
+ edit_key = _render_library_name_editor("music_lyrics", path, title)
5222
+ _render_card_pencil(edit_key)
5223
+ with st.expander("Ver lyrics", expanded=False):
5224
+ st.code(content or path.read_text(encoding="utf-8"), language="markdown")
5225
+
5226
+
5227
+ def render_music_backlog() -> None:
5228
+ """List generated and imported music, plus locally stored lyrics."""
5229
+ st.subheader("Music Backlog")
5230
+ st.caption("Fila independente de geração e importação de áudio por Suno AI ou Google Lyria. Não inclui tarefas, worker ou progresso de vídeo.")
5231
+ st.caption(f"As músicas são guardadas em `{STORAGE / 'music'}`.")
5232
+ music_tab, lyrics_tab = st.tabs(["Músicas", "Lyrics"])
5233
+ with music_tab:
5234
+ with st.form("music_backlog_upload_form", clear_on_submit=True):
5235
+ uploaded_music = st.file_uploader("Adicionar músicas à pasta acima", type=["mp3", "wav", "m4a", "aac", "flac", "ogg"], accept_multiple_files=True, key="music_backlog_upload")
5236
+ upload_music = st.form_submit_button("Guardar músicas", type="primary", use_container_width=True)
5237
+ if upload_music and uploaded_music:
5238
+ for uploaded in uploaded_music:
5239
+ store_music_file(uploaded.name, uploaded.getvalue())
5240
+ st.success(f"{len(uploaded_music)} música(s) guardada(s) em `{STORAGE / 'music'}`.")
5241
+ st.rerun()
5242
+ records = _music_backlog_records()
5243
+ active = [record for record in records if str(record.get("state") or "") == "doing"]
5244
+ if active:
5245
+ st.info(f"Geração musical em execução · {len(active)} tarefa(s) de áudio.")
5246
+ if not records:
5247
+ st.info("Nenhuma música criada ou importada.")
5248
+ else:
5249
+ known_states = ["to_do", "doing", "blocked", "done", "failed", "cancelled"]
5250
+ extra_states = sorted({str(record.get("state") or "unknown") for record in records if str(record.get("state") or "unknown") not in known_states})
5251
+ state_filter = st.selectbox("Filtrar por estado", ["Todos", *known_states, *extra_states], key="music_backlog_state_filter")
5252
+ for record in records:
5253
+ if state_filter != "Todos" and record.get("state") != state_filter:
5254
+ continue
5255
+ _render_music_file_card(record)
5256
+ with lyrics_tab:
5257
+ st.caption(f"As lyrics são guardadas em `{script_storage_path()}` no formato Markdown local do Thunderbolt.")
5258
+ with st.form("music_backlog_lyrics_upload_form", clear_on_submit=True):
5259
+ uploaded_lyrics = st.file_uploader("Adicionar lyrics", type=["md", "txt"], key="music_backlog_lyrics_upload")
5260
+ upload_lyrics = st.form_submit_button("Guardar lyrics", use_container_width=True)
5261
+ if upload_lyrics and uploaded_lyrics:
5262
+ content = uploaded_lyrics.getvalue().decode("utf-8", errors="replace").strip()
5263
+ if content:
5264
+ save_script_document({"title": Path(uploaded_lyrics.name).stem, "document_type": "music_lyrics", "content": content})
5265
+ st.success("Lyrics guardadas.")
5266
+ st.rerun()
5267
+ else:
5268
+ st.warning("O ficheiro de lyrics está vazio.")
5269
+ lyrics = _music_lyrics_records()
5270
+ if not lyrics:
5271
+ st.info("Nenhuma lyrics guardada.")
5272
+ for record in lyrics:
5273
+ _render_lyrics_card(record)
5274
+
5275
+
5175
5276
  def _thumbnail_editor_context(record: dict[str, Any]) -> tuple[dict[str, Any], dict[str, Any]]:
5176
5277
  """Resolve the persisted task channel/Blueprint without requiring either one to remain registered."""
5177
5278
  channel_id = str(record.get("channel_id") or "").strip()
@@ -9006,7 +9107,7 @@ def main():
9006
9107
  ("Geração de Conteúdo IA", ":material/auto_awesome:", "Geração de Conteúdo IA"),
9007
9108
  ("Motion Control", ":material/motion_photos_on:", "Motion Control"),
9008
9109
  ("UGC Products", ":material/shopping_bag:", "UGC Products"),
9009
- ("Redes Sociais", ":material/share:", "Redes Sociais"),
9110
+ ("Contas Instagram", ":material/share:", "Contas Instagram"),
9010
9111
  ]
9011
9112
  growth_items = [
9012
9113
  ("Analista Growth Youtube", ":material/analytics:", "Analista Growth Youtube"),
@@ -9075,7 +9176,7 @@ def main():
9075
9176
  "Pipeline Vídeos": "/pipeline-videos", "Criação de Vídeos": "/pipeline-videos/criacao", "Criação de Shorts": "/pipeline-videos/shorts", "Backlog Vídeos": "/pipeline-videos/backlog", "Roteiros": "/pipeline-videos/roteiros", "Thumbnails": "/pipeline-videos/thumbnails", "Upload": "/pipeline-videos/upload", "Update Youtube Vídeos": "/pipeline-videos/update-youtube",
9076
9177
  "Pipeline Música": "/pipeline-musica", "Criação de Músicas": "/pipeline-musica/criacao", "Music Backlog": "/pipeline-musica/backlog", "Vozes Personalizadas": "/pipeline-musica/vozes-personalizadas", "Upload Música": "/pipeline-musica/upload",
9077
9178
  "Canais/Perfis (Vídeos)": "/canais-perfis-videos", "Canais YouTube": "/canais-perfis-videos/canais-youtube", "Canais Tiktok": "/canais-perfis-videos/canais-tiktok", "Blueprints Youtube": "/canais-perfis-videos/blueprints-youtube", "Thumbnail Blueprints": "/canais-perfis-videos/thumbnail-blueprints", "Brandings Youtube": "/canais-perfis-videos/brandings-youtube", "Contas TikTok": "/canais-perfis-videos/contas-tiktok", "Prompt Masters": "/canais-perfis-videos/prompt-masters", "Facebook Pages": "/canais-perfis-videos/facebook-pages",
9078
- "AI Influencers": "/ai-influencers", "Personagens": "/ai-influencers/personagens", "Geração de Conteúdo IA": "/ai-influencers/geracao-conteudo", "Motion Control": "/ai-influencers/motion-control", "UGC Products": "/ai-influencers/ugc-products", "Redes Sociais": "/ai-influencers/redes-sociais",
9179
+ "AI Influencers": "/ai-influencers", "Personagens": "/ai-influencers/personagens", "Geração de Conteúdo IA": "/ai-influencers/geracao-conteudo", "Motion Control": "/ai-influencers/motion-control", "UGC Products": "/ai-influencers/ugc-products", "Contas Instagram": "/ai-influencers/redes-sociais",
9079
9180
  "Edição": "/edicao", "Limpador de Metadados": "/edicao/limpador-metadados", "Cortes": "/edicao/cortes", "Editor Python": "/edicao/editor-python", "Download Mídia": "/edicao/download-midia",
9080
9181
  "Growth": "/growth", "Analista Growth Youtube": "/growth/youtube", "Analista Growth Tiktok": "/growth/tiktok", "Analista Growth Instagram": "/growth/instagram", "Analista Facebook Pages": "/growth/facebook-pages", "Analista Bilibili": "/growth/bilibili",
9081
9182
  "Documentação": "/documentacao", "Tutorial Meta": "/documentacao/meta", "Tutorial Supabase": "/documentacao/supabase", "Tutorial Kaggle": "/documentacao/kaggle", "Tutorial Apify": "/documentacao/apify", "Tutorial YouTube Video-Upload Frontend": "/documentacao/youtube-video-upload-frontend", "Tutorial OAuth do Google": "/documentacao/oauth-google", "Tutorial YouTube Data API Key (Public Data)": "/documentacao/youtube-data-api-key",
@@ -9189,7 +9290,7 @@ def main():
9189
9290
  "Geração de Conteúdo IA": lambda: render_ai_influencer_content(read_json("settings.json", {})),
9190
9291
  "Motion Control": lambda: render_motion_control(read_json("settings.json", {})),
9191
9292
  "UGC Products": lambda: render_ugc_products(read_json("settings.json", {})),
9192
- "Redes Sociais": lambda: render_social_networks(read_json("settings.json", {})),
9293
+ "Contas Instagram": lambda: render_social_networks(read_json("settings.json", {})),
9193
9294
  "Analista Growth Youtube": render_growth_youtube,
9194
9295
  "Analista Growth Tiktok": render_growth_tiktok,
9195
9296
  "Analista Growth Instagram": render_growth_instagram,
@@ -566,7 +566,7 @@ def _render_instagram_card(profile: dict[str, Any], characters: list[dict[str, A
566
566
 
567
567
 
568
568
  def render_social_networks(settings: dict[str, Any]) -> None:
569
- st.title("Redes Sociais")
569
+ st.title("Contas Instagram")
570
570
  st.caption("Cadastre contas Instagram através de pesquisa pública e associe cada conta a um Personagem de AI Influencers.")
571
571
  search_tab, accounts_tab = st.tabs(["Pesquisa pública Instagram", "Contas Instagram"])
572
572
  with search_tab:
@@ -628,7 +628,7 @@ def render_social_networks(settings: dict[str, Any]) -> None:
628
628
  profile_data.update({"name": name, "bio": bio, "bio_raw": bio, "post_count": _metric_input(posts), "subscriber_count": _metric_input(followers), "following_count": _metric_input(following)})
629
629
  profile_data["country"] = _normalise_country(country)
630
630
  _save_public_profile(profile_data, country=profile_data["country"], language=language, character_id=selected_character)
631
- st.success("Conta Instagram cadastrada em Redes Sociais.")
631
+ st.success("Conta Instagram cadastrada em Contas Instagram.")
632
632
  for key in ("social_instagram_result", "social_instagram_ok", "social_instagram_message"):
633
633
  st.session_state.pop(key, None)
634
634
  st.rerun()
@@ -115,7 +115,7 @@ _CORE_UI_TEXT_KEYS = (
115
115
  "Início", "Niche Finder", "Pipeline", "Pipeline TikTok", "Automação", "Edição", "AI Influencers", "Configurações",
116
116
  "Criação de Vídeos", "Criação de Músicas", "Roteiros", "Upload", "Prompts Master", "Contas TikTok", "Automação Youtube",
117
117
  "Niche Finder Kaggle", "Niche Finder Apify", "Limpador de Metadados", "Cortes", "Editor Python", "Download Mídia",
118
- "Personagens", "Redes Sociais", "Tutorial Meta", "Tutorial Supabase", "Canais Youtube", "Blueprints Youtube", "MCP", "Contas Google", "API Tiktok",
118
+ "Personagens", "Contas Instagram", "Tutorial Meta", "Tutorial Supabase", "Canais Youtube", "Blueprints Youtube", "MCP", "Contas Google", "API Tiktok",
119
119
  "Configuração API", "Notificações", "Interface local para operação e automação de conteúdo faceless", "Canais", "activos",
120
120
  "Tarefas", "total registado", "A fazer", "na pipeline", "Em execução", "a decorrer", "Concluídos", "artefactos prontos",
121
121
  "Falhas", "requerem atenção", "Filas locais e dependências da cascata", "Niche", "Blueprints", "Brand", "Script", "Title",
@@ -126,31 +126,31 @@ _CORE_UI_TEXT_KEYS = (
126
126
  UI_TRANSLATIONS: dict[str, dict[str, str]] = {
127
127
  "pt": {key: key for key in _CORE_UI_TEXT_KEYS},
128
128
  "en": {
129
- "Início": "Home", "Niche Finder": "Niche Finder", "Pipeline": "Pipeline", "Pipeline TikTok": "TikTok Pipeline", "Automação": "Automation", "Edição": "Editing", "AI Influencers": "AI Influencers", "Configurações": "Settings", "Criação de Vídeos": "Video Creation", "Criação de Músicas": "Music Creation", "Roteiros": "Scripts", "Upload": "Upload", "Prompts Master": "Prompt Masters", "Contas TikTok": "TikTok Accounts", "Automação Youtube": "YouTube Automation", "Niche Finder Kaggle": "Niche Finder Kaggle", "Niche Finder Apify": "Niche Finder Apify", "Limpador de Metadados": "Metadata Cleaner", "Cortes": "Cuts", "Editor Python": "Python Editor", "Download Mídia": "Media Download", "Personagens": "Characters", "Redes Sociais": "Social Networks", "Tutorial Meta": "Meta Tutorial", "Canais Youtube": "YouTube Channels", "Blueprints Youtube": "YouTube Blueprints", "MCP": "MCP", "Contas Google": "Google Accounts", "Configuração API": "API Configuration", "Notificações": "Notifications", "Interface local para operação e automação de conteúdo faceless": "Local interface for faceless content operation and automation", "Canais": "Channels", "activos": "active", "Tarefas": "Tasks", "total registado": "total registered", "A fazer": "To do", "na pipeline": "in pipeline", "Em execução": "Running", "a decorrer": "in progress", "Concluídos": "Completed", "artefactos prontos": "ready artifacts", "Falhas": "Failures", "requerem atenção": "need attention", "Filas locais e dependências da cascata": "Local queues and cascade dependencies", "Niche": "Niche", "Blueprints": "Blueprints", "Brand": "Brand", "Script": "Script", "Title": "Title", "Thumbnail": "Thumbnail", "Video": "Video", "Edit": "Edit", "fila": "queue", "na biblioteca": "in library", "tarefa(s) na fila": "task(s) in queue", "Language": "Language", "Theme": "Theme", "Dark": "Dark", "Light": "Light",
129
+ "Início": "Home", "Niche Finder": "Niche Finder", "Pipeline": "Pipeline", "Pipeline TikTok": "TikTok Pipeline", "Automação": "Automation", "Edição": "Editing", "AI Influencers": "AI Influencers", "Configurações": "Settings", "Criação de Vídeos": "Video Creation", "Criação de Músicas": "Music Creation", "Roteiros": "Scripts", "Upload": "Upload", "Prompts Master": "Prompt Masters", "Contas TikTok": "TikTok Accounts", "Automação Youtube": "YouTube Automation", "Niche Finder Kaggle": "Niche Finder Kaggle", "Niche Finder Apify": "Niche Finder Apify", "Limpador de Metadados": "Metadata Cleaner", "Cortes": "Cuts", "Editor Python": "Python Editor", "Download Mídia": "Media Download", "Personagens": "Characters", "Contas Instagram": "Social Networks", "Tutorial Meta": "Meta Tutorial", "Canais Youtube": "YouTube Channels", "Blueprints Youtube": "YouTube Blueprints", "MCP": "MCP", "Contas Google": "Google Accounts", "Configuração API": "API Configuration", "Notificações": "Notifications", "Interface local para operação e automação de conteúdo faceless": "Local interface for faceless content operation and automation", "Canais": "Channels", "activos": "active", "Tarefas": "Tasks", "total registado": "total registered", "A fazer": "To do", "na pipeline": "in pipeline", "Em execução": "Running", "a decorrer": "in progress", "Concluídos": "Completed", "artefactos prontos": "ready artifacts", "Falhas": "Failures", "requerem atenção": "need attention", "Filas locais e dependências da cascata": "Local queues and cascade dependencies", "Niche": "Niche", "Blueprints": "Blueprints", "Brand": "Brand", "Script": "Script", "Title": "Title", "Thumbnail": "Thumbnail", "Video": "Video", "Edit": "Edit", "fila": "queue", "na biblioteca": "in library", "tarefa(s) na fila": "task(s) in queue", "Language": "Language", "Theme": "Theme", "Dark": "Dark", "Light": "Light",
130
130
  },
131
131
  "zh": {
132
- "Início": "首页", "Niche Finder": "利基搜索", "Pipeline": "视频流程", "Pipeline TikTok": "TikTok 流程", "Automação": "自动化", "Edição": "编辑", "AI Influencers": "AI 影响者", "Configurações": "设置", "Criação de Vídeos": "视频创作", "Criação de Músicas": "音乐创作", "Roteiros": "脚本", "Upload": "上传", "Prompts Master": "主提示词", "Contas TikTok": "TikTok 账户", "Automação Youtube": "YouTube 自动化", "Niche Finder Kaggle": "Kaggle 利基搜索", "Niche Finder Apify": "Apify 利基搜索", "Limpador de Metadados": "元数据清理器", "Cortes": "剪辑", "Editor Python": "Python 编辑器", "Download Mídia": "媒体下载", "Personagens": "角色", "Redes Sociais": "社交网络", "Tutorial Meta": "Meta 教程", "Canais Youtube": "YouTube 频道", "Blueprints Youtube": "YouTube 蓝图", "MCP": "MCP", "Contas Google": "Google 账户", "Configuração API": "API 配置", "Notificações": "通知", "Interface local para operação e automação de conteúdo faceless": "无脸内容运营与自动化本地界面", "Canais": "频道", "activos": "活跃", "Tarefas": "任务", "total registado": "已登记总数", "A fazer": "待处理", "na pipeline": "在流程中", "Em execução": "执行中", "a decorrer": "正在进行", "Concluídos": "已完成", "artefactos prontos": "成品已就绪", "Falhas": "失败", "requerem atenção": "需要关注", "Filas locais e dependências da cascata": "本地队列和级联依赖", "Niche": "利基", "Blueprints": "蓝图", "Brand": "品牌", "Script": "脚本", "Title": "标题", "Thumbnail": "缩略图", "Video": "视频", "Edit": "编辑", "fila": "队列", "na biblioteca": "在库中", "tarefa(s) na fila": "队列中的任务", "Language": "语言", "Theme": "主题", "Dark": "深色", "Light": "浅色",
132
+ "Início": "首页", "Niche Finder": "利基搜索", "Pipeline": "视频流程", "Pipeline TikTok": "TikTok 流程", "Automação": "自动化", "Edição": "编辑", "AI Influencers": "AI 影响者", "Configurações": "设置", "Criação de Vídeos": "视频创作", "Criação de Músicas": "音乐创作", "Roteiros": "脚本", "Upload": "上传", "Prompts Master": "主提示词", "Contas TikTok": "TikTok 账户", "Automação Youtube": "YouTube 自动化", "Niche Finder Kaggle": "Kaggle 利基搜索", "Niche Finder Apify": "Apify 利基搜索", "Limpador de Metadados": "元数据清理器", "Cortes": "剪辑", "Editor Python": "Python 编辑器", "Download Mídia": "媒体下载", "Personagens": "角色", "Contas Instagram": "社交网络", "Tutorial Meta": "Meta 教程", "Canais Youtube": "YouTube 频道", "Blueprints Youtube": "YouTube 蓝图", "MCP": "MCP", "Contas Google": "Google 账户", "Configuração API": "API 配置", "Notificações": "通知", "Interface local para operação e automação de conteúdo faceless": "无脸内容运营与自动化本地界面", "Canais": "频道", "activos": "活跃", "Tarefas": "任务", "total registado": "已登记总数", "A fazer": "待处理", "na pipeline": "在流程中", "Em execução": "执行中", "a decorrer": "正在进行", "Concluídos": "已完成", "artefactos prontos": "成品已就绪", "Falhas": "失败", "requerem atenção": "需要关注", "Filas locais e dependências da cascata": "本地队列和级联依赖", "Niche": "利基", "Blueprints": "蓝图", "Brand": "品牌", "Script": "脚本", "Title": "标题", "Thumbnail": "缩略图", "Video": "视频", "Edit": "编辑", "fila": "队列", "na biblioteca": "在库中", "tarefa(s) na fila": "队列中的任务", "Language": "语言", "Theme": "主题", "Dark": "深色", "Light": "浅色",
133
133
  },
134
134
  "de": {
135
- "Início": "Startseite", "Niche Finder": "Nischenfinder", "Pipeline": "Pipeline", "Pipeline TikTok": "TikTok-Pipeline", "Automação": "Automatisierung", "Edição": "Bearbeitung", "AI Influencers": "KI-Influencer", "Configurações": "Einstellungen", "Criação de Vídeos": "Videoerstellung", "Criação de Músicas": "Musikerstellung", "Roteiros": "Skripte", "Upload": "Upload", "Prompts Master": "Prompt Masters", "Contas TikTok": "TikTok-Konten", "Automação Youtube": "YouTube-Automatisierung", "Niche Finder Kaggle": "Kaggle-Nischenfinder", "Niche Finder Apify": "Apify-Nischenfinder", "Limpador de Metadados": "Metadatenbereinigung", "Cortes": "Schnitte", "Editor Python": "Python-Editor", "Download Mídia": "Mediendownload", "Personagens": "Figuren", "Redes Sociais": "Soziale Netzwerke", "Tutorial Meta": "Meta-Tutorial", "Canais Youtube": "YouTube-Kanäle", "Blueprints Youtube": "YouTube-Blueprints", "MCP": "MCP", "Contas Google": "Google-Konten", "Configuração API": "API-Konfiguration", "Notificações": "Benachrichtigungen", "Interface local para operação e automação de conteúdo faceless": "Lokale Oberfläche für den Betrieb und die Automatisierung von Faceless-Inhalten", "Canais": "Kanäle", "activos": "aktiv", "Tarefas": "Aufgaben", "total registado": "insgesamt registriert", "A fazer": "Offen", "na pipeline": "in der Pipeline", "Em execução": "In Ausführung", "a decorrer": "in Bearbeitung", "Concluídos": "Abgeschlossen", "artefactos prontos": "fertige Artefakte", "Falhas": "Fehler", "requerem atenção": "benötigen Aufmerksamkeit", "Filas locais e dependências da cascata": "Lokale Warteschlangen und Abhängigkeiten", "Niche": "Nische", "Blueprints": "Blueprints", "Brand": "Marke", "Script": "Skript", "Title": "Titel", "Thumbnail": "Thumbnail", "Video": "Video", "Edit": "Bearbeitung", "fila": "Warteschlange", "na biblioteca": "in der Bibliothek", "tarefa(s) na fila": "Aufgabe(n) in der Warteschlange", "Language": "Sprache", "Theme": "Thema", "Dark": "Dunkel", "Light": "Hell",
135
+ "Início": "Startseite", "Niche Finder": "Nischenfinder", "Pipeline": "Pipeline", "Pipeline TikTok": "TikTok-Pipeline", "Automação": "Automatisierung", "Edição": "Bearbeitung", "AI Influencers": "KI-Influencer", "Configurações": "Einstellungen", "Criação de Vídeos": "Videoerstellung", "Criação de Músicas": "Musikerstellung", "Roteiros": "Skripte", "Upload": "Upload", "Prompts Master": "Prompt Masters", "Contas TikTok": "TikTok-Konten", "Automação Youtube": "YouTube-Automatisierung", "Niche Finder Kaggle": "Kaggle-Nischenfinder", "Niche Finder Apify": "Apify-Nischenfinder", "Limpador de Metadados": "Metadatenbereinigung", "Cortes": "Schnitte", "Editor Python": "Python-Editor", "Download Mídia": "Mediendownload", "Personagens": "Figuren", "Contas Instagram": "Soziale Netzwerke", "Tutorial Meta": "Meta-Tutorial", "Canais Youtube": "YouTube-Kanäle", "Blueprints Youtube": "YouTube-Blueprints", "MCP": "MCP", "Contas Google": "Google-Konten", "Configuração API": "API-Konfiguration", "Notificações": "Benachrichtigungen", "Interface local para operação e automação de conteúdo faceless": "Lokale Oberfläche für den Betrieb und die Automatisierung von Faceless-Inhalten", "Canais": "Kanäle", "activos": "aktiv", "Tarefas": "Aufgaben", "total registado": "insgesamt registriert", "A fazer": "Offen", "na pipeline": "in der Pipeline", "Em execução": "In Ausführung", "a decorrer": "in Bearbeitung", "Concluídos": "Abgeschlossen", "artefactos prontos": "fertige Artefakte", "Falhas": "Fehler", "requerem atenção": "benötigen Aufmerksamkeit", "Filas locais e dependências da cascata": "Lokale Warteschlangen und Abhängigkeiten", "Niche": "Nische", "Blueprints": "Blueprints", "Brand": "Marke", "Script": "Skript", "Title": "Titel", "Thumbnail": "Thumbnail", "Video": "Video", "Edit": "Bearbeitung", "fila": "Warteschlange", "na biblioteca": "in der Bibliothek", "tarefa(s) na fila": "Aufgabe(n) in der Warteschlange", "Language": "Sprache", "Theme": "Thema", "Dark": "Dunkel", "Light": "Hell",
136
136
  },
137
137
  "vi": {
138
- "Início": "Trang chủ", "Niche Finder": "Tìm ngách", "Pipeline": "Quy trình", "Pipeline TikTok": "Quy trình TikTok", "Automação": "Tự động hóa", "Edição": "Chỉnh sửa", "AI Influencers": "Người ảnh hưởng AI", "Configurações": "Cài đặt", "Criação de Vídeos": "Tạo video", "Criação de Músicas": "Tạo nhạc", "Roteiros": "Kịch bản", "Upload": "Tải lên", "Prompts Master": "Prompt Master", "Contas TikTok": "Tài khoản TikTok", "Automação Youtube": "Tự động hóa YouTube", "Niche Finder Kaggle": "Tìm ngách Kaggle", "Niche Finder Apify": "Tìm ngách Apify", "Limpador de Metadados": "Trình dọn siêu dữ liệu", "Cortes": "Cắt", "Editor Python": "Trình soạn thảo Python", "Download Mídia": "Tải phương tiện", "Personagens": "Nhân vật", "Redes Sociais": "Mạng xã hội", "Tutorial Meta": "Hướng dẫn Meta", "Canais Youtube": "Kênh YouTube", "Blueprints Youtube": "Blueprint YouTube", "MCP": "MCP", "Contas Google": "Tài khoản Google", "Configuração API": "Cấu hình API", "Notificações": "Thông báo", "Interface local para operação e automação de conteúdo faceless": "Giao diện cục bộ để vận hành và tự động hóa nội dung faceless", "Canais": "Kênh", "activos": "đang hoạt động", "Tarefas": "Tác vụ", "total registado": "tổng số đã đăng ký", "A fazer": "Cần làm", "na pipeline": "trong quy trình", "Em execução": "Đang chạy", "a decorrer": "đang diễn ra", "Concluídos": "Đã hoàn tất", "artefactos prontos": "sản phẩm đã sẵn sàng", "Falhas": "Lỗi", "requerem atenção": "cần chú ý", "Filas locais e dependências da cascata": "Hàng đợi cục bộ và các phụ thuộc", "Niche": "Ngách", "Blueprints": "Blueprint", "Brand": "Thương hiệu", "Script": "Kịch bản", "Title": "Tiêu đề", "Thumbnail": "Ảnh thu nhỏ", "Video": "Video", "Edit": "Chỉnh sửa", "fila": "hàng đợi", "na biblioteca": "trong thư viện", "tarefa(s) na fila": "tác vụ trong hàng đợi", "Language": "Ngôn ngữ", "Theme": "Chủ đề", "Dark": "Tối", "Light": "Sáng",
138
+ "Início": "Trang chủ", "Niche Finder": "Tìm ngách", "Pipeline": "Quy trình", "Pipeline TikTok": "Quy trình TikTok", "Automação": "Tự động hóa", "Edição": "Chỉnh sửa", "AI Influencers": "Người ảnh hưởng AI", "Configurações": "Cài đặt", "Criação de Vídeos": "Tạo video", "Criação de Músicas": "Tạo nhạc", "Roteiros": "Kịch bản", "Upload": "Tải lên", "Prompts Master": "Prompt Master", "Contas TikTok": "Tài khoản TikTok", "Automação Youtube": "Tự động hóa YouTube", "Niche Finder Kaggle": "Tìm ngách Kaggle", "Niche Finder Apify": "Tìm ngách Apify", "Limpador de Metadados": "Trình dọn siêu dữ liệu", "Cortes": "Cắt", "Editor Python": "Trình soạn thảo Python", "Download Mídia": "Tải phương tiện", "Personagens": "Nhân vật", "Contas Instagram": "Mạng xã hội", "Tutorial Meta": "Hướng dẫn Meta", "Canais Youtube": "Kênh YouTube", "Blueprints Youtube": "Blueprint YouTube", "MCP": "MCP", "Contas Google": "Tài khoản Google", "Configuração API": "Cấu hình API", "Notificações": "Thông báo", "Interface local para operação e automação de conteúdo faceless": "Giao diện cục bộ để vận hành và tự động hóa nội dung faceless", "Canais": "Kênh", "activos": "đang hoạt động", "Tarefas": "Tác vụ", "total registado": "tổng số đã đăng ký", "A fazer": "Cần làm", "na pipeline": "trong quy trình", "Em execução": "Đang chạy", "a decorrer": "đang diễn ra", "Concluídos": "Đã hoàn tất", "artefactos prontos": "sản phẩm đã sẵn sàng", "Falhas": "Lỗi", "requerem atenção": "cần chú ý", "Filas locais e dependências da cascata": "Hàng đợi cục bộ và các phụ thuộc", "Niche": "Ngách", "Blueprints": "Blueprint", "Brand": "Thương hiệu", "Script": "Kịch bản", "Title": "Tiêu đề", "Thumbnail": "Ảnh thu nhỏ", "Video": "Video", "Edit": "Chỉnh sửa", "fila": "hàng đợi", "na biblioteca": "trong thư viện", "tarefa(s) na fila": "tác vụ trong hàng đợi", "Language": "Ngôn ngữ", "Theme": "Chủ đề", "Dark": "Tối", "Light": "Sáng",
139
139
  },
140
140
  "tr": {
141
- "Início": "Ana sayfa", "Niche Finder": "Niş Bulucu", "Pipeline": "Akış", "Pipeline TikTok": "TikTok Akışı", "Automação": "Otomasyon", "Edição": "Düzenleme", "AI Influencers": "Yapay Zekâ Etkileyicileri", "Configurações": "Ayarlar", "Criação de Vídeos": "Video Oluşturma", "Criação de Músicas": "Müzik Oluşturma", "Roteiros": "Senaryolar", "Upload": "Yükleme", "Prompts Master": "Prompt Master", "Contas TikTok": "TikTok Hesapları", "Automação Youtube": "YouTube Otomasyonu", "Niche Finder Kaggle": "Kaggle Niş Bulucu", "Niche Finder Apify": "Apify Niş Bulucu", "Limpador de Metadados": "Meta Veri Temizleyici", "Cortes": "Kesitler", "Editor Python": "Python Editörü", "Download Mídia": "Medya İndirme", "Personagens": "Karakterler", "Redes Sociais": "Sosyal Ağlar", "Tutorial Meta": "Meta Eğitimi", "Canais Youtube": "YouTube Kanalları", "Blueprints Youtube": "YouTube Blueprint'leri", "MCP": "MCP", "Contas Google": "Google Hesapları", "Configuração API": "API Yapılandırması", "Notificações": "Bildirimler", "Interface local para operação e automação de conteúdo faceless": "Faceless içerik operasyonu ve otomasyonu için yerel arayüz", "Canais": "Kanallar", "activos": "aktif", "Tarefas": "Görevler", "total registado": "kayıtlı toplam", "A fazer": "Yapılacak", "na pipeline": "akışta", "Em execução": "Çalışıyor", "a decorrer": "devam ediyor", "Concluídos": "Tamamlandı", "artefactos prontos": "hazır çıktılar", "Falhas": "Hatalar", "requerem atenção": "dikkat gerekiyor", "Filas locais e dependências da cascata": "Yerel kuyruklar ve bağımlılıklar", "Niche": "Niş", "Blueprints": "Blueprint", "Brand": "Marka", "Script": "Senaryo", "Title": "Başlık", "Thumbnail": "Küçük resim", "Video": "Video", "Edit": "Düzenle", "fila": "kuyruk", "na biblioteca": "kütüphanede", "tarefa(s) na fila": "kuyruktaki görev(ler)", "Language": "Dil", "Theme": "Tema", "Dark": "Koyu", "Light": "Açık",
141
+ "Início": "Ana sayfa", "Niche Finder": "Niş Bulucu", "Pipeline": "Akış", "Pipeline TikTok": "TikTok Akışı", "Automação": "Otomasyon", "Edição": "Düzenleme", "AI Influencers": "Yapay Zekâ Etkileyicileri", "Configurações": "Ayarlar", "Criação de Vídeos": "Video Oluşturma", "Criação de Músicas": "Müzik Oluşturma", "Roteiros": "Senaryolar", "Upload": "Yükleme", "Prompts Master": "Prompt Master", "Contas TikTok": "TikTok Hesapları", "Automação Youtube": "YouTube Otomasyonu", "Niche Finder Kaggle": "Kaggle Niş Bulucu", "Niche Finder Apify": "Apify Niş Bulucu", "Limpador de Metadados": "Meta Veri Temizleyici", "Cortes": "Kesitler", "Editor Python": "Python Editörü", "Download Mídia": "Medya İndirme", "Personagens": "Karakterler", "Contas Instagram": "Sosyal Ağlar", "Tutorial Meta": "Meta Eğitimi", "Canais Youtube": "YouTube Kanalları", "Blueprints Youtube": "YouTube Blueprint'leri", "MCP": "MCP", "Contas Google": "Google Hesapları", "Configuração API": "API Yapılandırması", "Notificações": "Bildirimler", "Interface local para operação e automação de conteúdo faceless": "Faceless içerik operasyonu ve otomasyonu için yerel arayüz", "Canais": "Kanallar", "activos": "aktif", "Tarefas": "Görevler", "total registado": "kayıtlı toplam", "A fazer": "Yapılacak", "na pipeline": "akışta", "Em execução": "Çalışıyor", "a decorrer": "devam ediyor", "Concluídos": "Tamamlandı", "artefactos prontos": "hazır çıktılar", "Falhas": "Hatalar", "requerem atenção": "dikkat gerekiyor", "Filas locais e dependências da cascata": "Yerel kuyruklar ve bağımlılıklar", "Niche": "Niş", "Blueprints": "Blueprint", "Brand": "Marka", "Script": "Senaryo", "Title": "Başlık", "Thumbnail": "Küçük resim", "Video": "Video", "Edit": "Düzenle", "fila": "kuyruk", "na biblioteca": "kütüphanede", "tarefa(s) na fila": "kuyruktaki görev(ler)", "Language": "Dil", "Theme": "Tema", "Dark": "Koyu", "Light": "Açık",
142
142
  },
143
143
  "ru": {
144
- "Início": "Главная", "Niche Finder": "Поиск ниши", "Pipeline": "Конвейер", "Pipeline TikTok": "Конвейер TikTok", "Automação": "Автоматизация", "Edição": "Редактирование", "AI Influencers": "ИИ-инфлюенсеры", "Configurações": "Настройки", "Criação de Vídeos": "Создание видео", "Criação de Músicas": "Создание музыки", "Roteiros": "Сценарии", "Upload": "Загрузка", "Prompts Master": "Мастер-промпты", "Contas TikTok": "Аккаунты TikTok", "Automação Youtube": "Автоматизация YouTube", "Niche Finder Kaggle": "Поиск ниши Kaggle", "Niche Finder Apify": "Поиск ниши Apify", "Limpador de Metadados": "Очистка метаданных", "Cortes": "Нарезка", "Editor Python": "Редактор Python", "Download Mídia": "Загрузка медиа", "Personagens": "Персонажи", "Redes Sociais": "Социальные сети", "Tutorial Meta": "Руководство Meta", "Canais Youtube": "Каналы YouTube", "Blueprints Youtube": "Blueprint YouTube", "MCP": "MCP", "Contas Google": "Аккаунты Google", "Configuração API": "Настройка API", "Notificações": "Уведомления", "Interface local para operação e automação de conteúdo faceless": "Локальный интерфейс для работы и автоматизации faceless-контента", "Canais": "Каналы", "activos": "активны", "Tarefas": "Задачи", "total registado": "всего зарегистрировано", "A fazer": "К выполнению", "na pipeline": "в конвейере", "Em execução": "Выполняются", "a decorrer": "в процессе", "Concluídos": "Завершены", "artefactos prontos": "готовые материалы", "Falhas": "Ошибки", "requerem atenção": "требуют внимания", "Filas locais e dependências da cascata": "Локальные очереди и зависимости конвейера", "Niche": "Ниша", "Blueprints": "Blueprints", "Brand": "Бренд", "Script": "Сценарий", "Title": "Заголовок", "Thumbnail": "Миниатюра", "Video": "Видео", "Edit": "Монтаж", "fila": "очередь", "na biblioteca": "в библиотеке", "tarefa(s) na fila": "задач в очереди", "Language": "Язык", "Theme": "Тема", "Dark": "Тёмная", "Light": "Светлая",
144
+ "Início": "Главная", "Niche Finder": "Поиск ниши", "Pipeline": "Конвейер", "Pipeline TikTok": "Конвейер TikTok", "Automação": "Автоматизация", "Edição": "Редактирование", "AI Influencers": "ИИ-инфлюенсеры", "Configurações": "Настройки", "Criação de Vídeos": "Создание видео", "Criação de Músicas": "Создание музыки", "Roteiros": "Сценарии", "Upload": "Загрузка", "Prompts Master": "Мастер-промпты", "Contas TikTok": "Аккаунты TikTok", "Automação Youtube": "Автоматизация YouTube", "Niche Finder Kaggle": "Поиск ниши Kaggle", "Niche Finder Apify": "Поиск ниши Apify", "Limpador de Metadados": "Очистка метаданных", "Cortes": "Нарезка", "Editor Python": "Редактор Python", "Download Mídia": "Загрузка медиа", "Personagens": "Персонажи", "Contas Instagram": "Социальные сети", "Tutorial Meta": "Руководство Meta", "Canais Youtube": "Каналы YouTube", "Blueprints Youtube": "Blueprint YouTube", "MCP": "MCP", "Contas Google": "Аккаунты Google", "Configuração API": "Настройка API", "Notificações": "Уведомления", "Interface local para operação e automação de conteúdo faceless": "Локальный интерфейс для работы и автоматизации faceless-контента", "Canais": "Каналы", "activos": "активны", "Tarefas": "Задачи", "total registado": "всего зарегистрировано", "A fazer": "К выполнению", "na pipeline": "в конвейере", "Em execução": "Выполняются", "a decorrer": "в процессе", "Concluídos": "Завершены", "artefactos prontos": "готовые материалы", "Falhas": "Ошибки", "requerem atenção": "требуют внимания", "Filas locais e dependências da cascata": "Локальные очереди и зависимости конвейера", "Niche": "Ниша", "Blueprints": "Blueprints", "Brand": "Бренд", "Script": "Сценарий", "Title": "Заголовок", "Thumbnail": "Миниатюра", "Video": "Видео", "Edit": "Монтаж", "fila": "очередь", "na biblioteca": "в библиотеке", "tarefa(s) na fila": "задач в очереди", "Language": "Язык", "Theme": "Тема", "Dark": "Тёмная", "Light": "Светлая",
145
145
  },
146
146
  "es": {
147
- "Início": "Inicio", "Niche Finder": "Buscador de nichos", "Pipeline": "Flujo", "Pipeline TikTok": "Flujo de TikTok", "Automação": "Automatización", "Edição": "Edición", "AI Influencers": "Influencers de IA", "Configurações": "Configuración", "Criação de Vídeos": "Creación de vídeos", "Criação de Músicas": "Creación de música", "Roteiros": "Guiones", "Upload": "Subir", "Prompts Master": "Prompts maestros", "Contas TikTok": "Cuentas de TikTok", "Automação Youtube": "Automatización de YouTube", "Niche Finder Kaggle": "Buscador de nichos Kaggle", "Niche Finder Apify": "Buscador de nichos Apify", "Limpador de Metadados": "Limpiador de metadatos", "Cortes": "Cortes", "Editor Python": "Editor de Python", "Download Mídia": "Descargar medios", "Personagens": "Personajes", "Redes Sociais": "Redes sociales", "Tutorial Meta": "Tutorial de Meta", "Canais Youtube": "Canales de YouTube", "Blueprints Youtube": "Blueprints de YouTube", "MCP": "MCP", "Contas Google": "Cuentas de Google", "Configuração API": "Configuración de API", "Notificações": "Notificaciones", "Interface local para operação e automação de conteúdo faceless": "Interfaz local para operar y automatizar contenido faceless", "Canais": "Canales", "activos": "activos", "Tarefas": "Tareas", "total registado": "total registrado", "A fazer": "Pendiente", "na pipeline": "en el flujo", "Em execução": "En ejecución", "a decorrer": "en curso", "Concluídos": "Completados", "artefactos prontos": "artefactos listos", "Falhas": "Fallos", "requerem atenção": "requieren atención", "Filas locais e dependências da cascata": "Colas locales y dependencias del flujo", "Niche": "Nicho", "Blueprints": "Blueprints", "Brand": "Marca", "Script": "Guion", "Title": "Título", "Thumbnail": "Miniatura", "Video": "Vídeo", "Edit": "Edición", "fila": "cola", "na biblioteca": "en la biblioteca", "tarefa(s) na fila": "tarea(s) en la cola", "Language": "Idioma", "Theme": "Tema", "Dark": "Oscuro", "Light": "Claro",
147
+ "Início": "Inicio", "Niche Finder": "Buscador de nichos", "Pipeline": "Flujo", "Pipeline TikTok": "Flujo de TikTok", "Automação": "Automatización", "Edição": "Edición", "AI Influencers": "Influencers de IA", "Configurações": "Configuración", "Criação de Vídeos": "Creación de vídeos", "Criação de Músicas": "Creación de música", "Roteiros": "Guiones", "Upload": "Subir", "Prompts Master": "Prompts maestros", "Contas TikTok": "Cuentas de TikTok", "Automação Youtube": "Automatización de YouTube", "Niche Finder Kaggle": "Buscador de nichos Kaggle", "Niche Finder Apify": "Buscador de nichos Apify", "Limpador de Metadados": "Limpiador de metadatos", "Cortes": "Cortes", "Editor Python": "Editor de Python", "Download Mídia": "Descargar medios", "Personagens": "Personajes", "Contas Instagram": "Redes sociales", "Tutorial Meta": "Tutorial de Meta", "Canais Youtube": "Canales de YouTube", "Blueprints Youtube": "Blueprints de YouTube", "MCP": "MCP", "Contas Google": "Cuentas de Google", "Configuração API": "Configuración de API", "Notificações": "Notificaciones", "Interface local para operação e automação de conteúdo faceless": "Interfaz local para operar y automatizar contenido faceless", "Canais": "Canales", "activos": "activos", "Tarefas": "Tareas", "total registado": "total registrado", "A fazer": "Pendiente", "na pipeline": "en el flujo", "Em execução": "En ejecución", "a decorrer": "en curso", "Concluídos": "Completados", "artefactos prontos": "artefactos listos", "Falhas": "Fallos", "requerem atenção": "requieren atención", "Filas locais e dependências da cascata": "Colas locales y dependencias del flujo", "Niche": "Nicho", "Blueprints": "Blueprints", "Brand": "Marca", "Script": "Guion", "Title": "Título", "Thumbnail": "Miniatura", "Video": "Vídeo", "Edit": "Edición", "fila": "cola", "na biblioteca": "en la biblioteca", "tarefa(s) na fila": "tarea(s) en la cola", "Language": "Idioma", "Theme": "Tema", "Dark": "Oscuro", "Light": "Claro",
148
148
  },
149
149
  "id": {
150
- "Início": "Beranda", "Niche Finder": "Pencari Niche", "Pipeline": "Alur", "Pipeline TikTok": "Alur TikTok", "Automação": "Otomatisasi", "Edição": "Penyuntingan", "AI Influencers": "Influencer AI", "Configurações": "Pengaturan", "Criação de Vídeos": "Pembuatan video", "Criação de Músicas": "Pembuatan musik", "Roteiros": "Skrip", "Upload": "Unggah", "Prompts Master": "Prompt Master", "Contas TikTok": "Akun TikTok", "Automação Youtube": "Otomatisasi YouTube", "Niche Finder Kaggle": "Pencari Niche Kaggle", "Niche Finder Apify": "Pencari Niche Apify", "Limpador de Metadados": "Pembersih metadata", "Cortes": "Potongan", "Editor Python": "Editor Python", "Download Mídia": "Unduh media", "Personagens": "Karakter", "Redes Sociais": "Jejaring sosial", "Tutorial Meta": "Tutorial Meta", "Canais Youtube": "Kanal YouTube", "Blueprints Youtube": "Blueprint YouTube", "MCP": "MCP", "Contas Google": "Akun Google", "Configuração API": "Konfigurasi API", "Notificações": "Notifikasi", "Interface local para operação e automação de conteúdo faceless": "Antarmuka lokal untuk operasi dan otomatisasi konten faceless", "Canais": "Kanal", "activos": "aktif", "Tarefas": "Tugas", "total registado": "total terdaftar", "A fazer": "Perlu dilakukan", "na pipeline": "dalam alur", "Em execução": "Berjalan", "a decorrer": "sedang berlangsung", "Concluídos": "Selesai", "artefactos prontos": "artefak siap", "Falhas": "Kegagalan", "requerem atenção": "perlu perhatian", "Filas locais e dependências da cascata": "Antrean lokal dan dependensi alur", "Niche": "Niche", "Blueprints": "Blueprint", "Brand": "Merek", "Script": "Skrip", "Title": "Judul", "Thumbnail": "Thumbnail", "Video": "Video", "Edit": "Edit", "fila": "antrean", "na biblioteca": "di pustaka", "tarefa(s) na fila": "tugas dalam antrean", "Language": "Bahasa", "Theme": "Tema", "Dark": "Gelap", "Light": "Terang",
150
+ "Início": "Beranda", "Niche Finder": "Pencari Niche", "Pipeline": "Alur", "Pipeline TikTok": "Alur TikTok", "Automação": "Otomatisasi", "Edição": "Penyuntingan", "AI Influencers": "Influencer AI", "Configurações": "Pengaturan", "Criação de Vídeos": "Pembuatan video", "Criação de Músicas": "Pembuatan musik", "Roteiros": "Skrip", "Upload": "Unggah", "Prompts Master": "Prompt Master", "Contas TikTok": "Akun TikTok", "Automação Youtube": "Otomatisasi YouTube", "Niche Finder Kaggle": "Pencari Niche Kaggle", "Niche Finder Apify": "Pencari Niche Apify", "Limpador de Metadados": "Pembersih metadata", "Cortes": "Potongan", "Editor Python": "Editor Python", "Download Mídia": "Unduh media", "Personagens": "Karakter", "Contas Instagram": "Jejaring sosial", "Tutorial Meta": "Tutorial Meta", "Canais Youtube": "Kanal YouTube", "Blueprints Youtube": "Blueprint YouTube", "MCP": "MCP", "Contas Google": "Akun Google", "Configuração API": "Konfigurasi API", "Notificações": "Notifikasi", "Interface local para operação e automação de conteúdo faceless": "Antarmuka lokal untuk operasi dan otomatisasi konten faceless", "Canais": "Kanal", "activos": "aktif", "Tarefas": "Tugas", "total registado": "total terdaftar", "A fazer": "Perlu dilakukan", "na pipeline": "dalam alur", "Em execução": "Berjalan", "a decorrer": "sedang berlangsung", "Concluídos": "Selesai", "artefactos prontos": "artefak siap", "Falhas": "Kegagalan", "requerem atenção": "perlu perhatian", "Filas locais e dependências da cascata": "Antrean lokal dan dependensi alur", "Niche": "Niche", "Blueprints": "Blueprint", "Brand": "Merek", "Script": "Skrip", "Title": "Judul", "Thumbnail": "Thumbnail", "Video": "Video", "Edit": "Edit", "fila": "antrean", "na biblioteca": "di pustaka", "tarefa(s) na fila": "tugas dalam antrean", "Language": "Bahasa", "Theme": "Tema", "Dark": "Gelap", "Light": "Terang",
151
151
  },
152
152
  "it": {
153
- "Início": "Home", "Niche Finder": "Trova nicchia", "Pipeline": "Pipeline", "Pipeline TikTok": "Pipeline TikTok", "Automação": "Automazione", "Edição": "Modifica", "AI Influencers": "Influencer AI", "Configurações": "Impostazioni", "Criação de Vídeos": "Creazione video", "Criação de Músicas": "Creazione musicale", "Roteiros": "Script", "Upload": "Caricamento", "Prompts Master": "Prompt Master", "Contas TikTok": "Account TikTok", "Automação Youtube": "Automazione YouTube", "Niche Finder Kaggle": "Trova nicchia Kaggle", "Niche Finder Apify": "Trova nicchia Apify", "Limpador de Metadados": "Pulizia metadati", "Cortes": "Tagli", "Editor Python": "Editor Python", "Download Mídia": "Download media", "Personagens": "Personaggi", "Redes Sociais": "Social network", "Tutorial Meta": "Tutorial Meta", "Canais Youtube": "Canali YouTube", "Blueprints Youtube": "Blueprint YouTube", "MCP": "MCP", "Contas Google": "Account Google", "Configuração API": "Configurazione API", "Notificações": "Notifiche", "Interface local para operação e automação de conteúdo faceless": "Interfaccia locale per la gestione e l'automazione di contenuti faceless", "Canais": "Canali", "activos": "attivi", "Tarefas": "Attività", "total registado": "totale registrato", "A fazer": "Da fare", "na pipeline": "nella pipeline", "Em execução": "In esecuzione", "a decorrer": "in corso", "Concluídos": "Completati", "artefactos prontos": "artefatti pronti", "Falhas": "Errori", "requerem atenção": "richiedono attenzione", "Filas locais e dependências da cascata": "Code locali e dipendenze della pipeline", "Niche": "Nicchia", "Blueprints": "Blueprint", "Brand": "Brand", "Script": "Script", "Title": "Titolo", "Thumbnail": "Miniatura", "Video": "Video", "Edit": "Modifica", "fila": "coda", "na biblioteca": "nella libreria", "tarefa(s) na fila": "attività in coda", "Language": "Lingua", "Theme": "Tema", "Dark": "Scuro", "Light": "Chiaro",
153
+ "Início": "Home", "Niche Finder": "Trova nicchia", "Pipeline": "Pipeline", "Pipeline TikTok": "Pipeline TikTok", "Automação": "Automazione", "Edição": "Modifica", "AI Influencers": "Influencer AI", "Configurações": "Impostazioni", "Criação de Vídeos": "Creazione video", "Criação de Músicas": "Creazione musicale", "Roteiros": "Script", "Upload": "Caricamento", "Prompts Master": "Prompt Master", "Contas TikTok": "Account TikTok", "Automação Youtube": "Automazione YouTube", "Niche Finder Kaggle": "Trova nicchia Kaggle", "Niche Finder Apify": "Trova nicchia Apify", "Limpador de Metadados": "Pulizia metadati", "Cortes": "Tagli", "Editor Python": "Editor Python", "Download Mídia": "Download media", "Personagens": "Personaggi", "Contas Instagram": "Social network", "Tutorial Meta": "Tutorial Meta", "Canais Youtube": "Canali YouTube", "Blueprints Youtube": "Blueprint YouTube", "MCP": "MCP", "Contas Google": "Account Google", "Configuração API": "Configurazione API", "Notificações": "Notifiche", "Interface local para operação e automação de conteúdo faceless": "Interfaccia locale per la gestione e l'automazione di contenuti faceless", "Canais": "Canali", "activos": "attivi", "Tarefas": "Attività", "total registado": "totale registrato", "A fazer": "Da fare", "na pipeline": "nella pipeline", "Em execução": "In esecuzione", "a decorrer": "in corso", "Concluídos": "Completati", "artefactos prontos": "artefatti pronti", "Falhas": "Errori", "requerem atenção": "richiedono attenzione", "Filas locais e dependências da cascata": "Code locali e dipendenze della pipeline", "Niche": "Nicchia", "Blueprints": "Blueprint", "Brand": "Brand", "Script": "Script", "Title": "Titolo", "Thumbnail": "Miniatura", "Video": "Video", "Edit": "Modifica", "fila": "coda", "na biblioteca": "nella libreria", "tarefa(s) na fila": "attività in coda", "Language": "Lingua", "Theme": "Tema", "Dark": "Scuro", "Light": "Chiaro",
154
154
  },
155
155
  }
156
156
 
@@ -837,7 +837,7 @@ _CONTENT_TRANSLATION_ROWS = (
837
837
  ("Configuração API", "Configuração API", "API Configuration", "API 配置", "API-Konfiguration", "Cấu hình API", "API Yapılandırması", "Конфигурация API", "Configuración de API", "Konfigurasi API", "Configurazione API"),
838
838
  ("AI Influencers", "AI Influencers", "AI Influencers", "AI 影响者", "KI-Influencer", "Người ảnh hưởng AI", "Yapay Zekâ Etkileyicileri", "ИИ-инфлюенсеры", "Influencers de IA", "Influencer AI", "AI Influencer"),
839
839
  ("Personagens", "Personagens", "Characters", "角色", "Figuren", "Nhân vật", "Karakterler", "Персонажи", "Personajes", "Karakter", "Personaggi"),
840
- ("Redes Sociais", "Redes Sociais", "Social Networks", "社交网络", "Soziale Netzwerke", "Mạng xã hội", "Sosyal Ağlar", "Социальные сети", "Redes sociales", "Jejaring sosial", "Social network"),
840
+ ("Contas Instagram", "Contas Instagram", "Social Networks", "社交网络", "Soziale Netzwerke", "Mạng xã hội", "Sosyal Ağlar", "Социальные сети", "Redes sociales", "Jejaring sosial", "Social network"),
841
841
  ("Produza e guarde roteiros de vídeos ou letras de músicas a partir dos Blueprints do Thunderbolt.", "Produza e guarde roteiros de vídeos ou letras de músicas a partir dos Blueprints do Thunderbolt.", "Create and save video scripts or song lyrics from Thunderbolt Blueprints.", "根据 Thunderbolt 蓝图创建并保存视频脚本或歌词。", "Erstellen und speichern Sie Videoskripte oder Songtexte aus Thunderbolt-Blueprints.", "Tạo và lưu kịch bản video hoặc lời bài hát từ Blueprint Thunderbolt.", "Thunderbolt Blueprint'lerinden video senaryoları veya şarkı sözleri oluşturun ve kaydedin.", "Создавайте и сохраняйте сценарии видео или тексты песен на основе Blueprint Thunderbolt.", "Cree y guarde guiones de vídeo o letras de canciones a partir de los Blueprints de Thunderbolt.", "Buat dan simpan skrip video atau lirik lagu dari Blueprint Thunderbolt.", "Crea e salva script video o testi di canzoni dai Blueprint Thunderbolt."),
842
842
  ("Filas locais e dependências da cascata", "Filas locais e dependências da cascata", "Local queues and cascade dependencies", "本地队列和级联依赖", "Lokale Warteschlangen und Abhängigkeiten", "Hàng đợi cục bộ và các phụ thuộc", "Yerel kuyruklar ve bağımlılıklar", "Локальные очереди и зависимости каскада", "Colas locales y dependencias en cascada", "Antrean lokal dan dependensi berantai", "Code locali e dipendenze a cascata"),
843
843
  ("Biblioteca local lida directamente de `{BLUEPRINTS}`", "Biblioteca local lida directamente de `{BLUEPRINTS}`", "Local library read directly from `{BLUEPRINTS}`", "直接读取 `{BLUEPRINTS}` 的本地库", "Lokale Bibliothek direkt aus `{BLUEPRINTS}` gelesen", "Thư viện cục bộ đọc trực tiếp từ `{BLUEPRINTS}`", "`{BLUEPRINTS}` konumundan doğrudan okunan yerel kitaplık", "Локальная библиотека, читаемая из `{BLUEPRINTS}`", "Biblioteca local leída directamente de `{BLUEPRINTS}`", "Pustaka lokal dibaca langsung dari `{BLUEPRINTS}`", "Libreria locale letta direttamente da `{BLUEPRINTS}`"),
@@ -1372,19 +1372,19 @@ for _language_code, _api_test_values in _API_TEST_TRANSLATIONS.items():
1372
1372
  # locale must translate the application chrome without changing video options.
1373
1373
  _NEW_UI_TRANSLATIONS: dict[str, dict[str, str]] = {
1374
1374
  "pl": {
1375
- "Início": "Strona główna", "Niche Finder": "Wyszukiwarka nisz", "Pipeline": "Potok", "Pipeline TikTok": "Potok TikTok", "Automação": "Automatyzacja", "Edição": "Edycja", "AI Influencers": "Influencerzy AI", "Configurações": "Ustawienia", "Criação de Vídeos": "Tworzenie wideo", "Criação de Músicas": "Tworzenie muzyki", "Roteiros": "Scenariusze", "Upload": "Przesyłanie", "Prompts Master": "Mistrzowie promptów", "Contas TikTok": "Konta TikTok", "Automação Youtube": "Automatyzacja YouTube", "Niche Finder Kaggle": "Wyszukiwarka nisz Kaggle", "Niche Finder Apify": "Wyszukiwarka nisz Apify", "Limpador de Metadados": "Czyścik metadanych", "Cortes": "Cięcia", "Editor Python": "Edytor Pythona", "Download Mídia": "Pobieranie multimediów", "Personagens": "Postacie", "Redes Sociais": "Sieci społecznościowe", "Tutorial Meta": "Samouczek Meta", "Tutorial Supabase": "Samouczek Supabase", "Canais Youtube": "Kanały YouTube", "Blueprints Youtube": "Blueprinty YouTube", "Contas Google": "Konta Google", "Configuração API": "Konfiguracja API", "Notificações": "Powiadomienia", "Interface local para operação e automação de conteúdo faceless": "Lokalny interfejs do obsługi i automatyzacji treści faceless", "Canais": "Kanały", "activos": "aktywne", "Tarefas": "Zadania", "total registado": "łącznie zarejestrowano", "A fazer": "Do zrobienia", "na pipeline": "w potoku", "Em execução": "Uruchomione", "a decorrer": "w toku", "Concluídos": "Ukończone", "artefactos prontos": "gotowe artefakty", "Falhas": "Błędy", "requerem atenção": "wymagają uwagi", "Filas locais e dependências da cascata": "Lokalne kolejki i zależności potoku", "Niche": "Nisza", "Blueprints": "Blueprinty", "Brand": "Marka", "Script": "Scenariusz", "Title": "Tytuł", "Thumbnail": "Miniatura", "Video": "Wideo", "Edit": "Edytuj", "fila": "kolejka", "na biblioteca": "w bibliotece", "tarefa(s) na fila": "zadanie(a) w kolejce", "Language": "Język", "Theme": "Motyw", "Dark": "Ciemny", "Light": "Jasny",
1375
+ "Início": "Strona główna", "Niche Finder": "Wyszukiwarka nisz", "Pipeline": "Potok", "Pipeline TikTok": "Potok TikTok", "Automação": "Automatyzacja", "Edição": "Edycja", "AI Influencers": "Influencerzy AI", "Configurações": "Ustawienia", "Criação de Vídeos": "Tworzenie wideo", "Criação de Músicas": "Tworzenie muzyki", "Roteiros": "Scenariusze", "Upload": "Przesyłanie", "Prompts Master": "Mistrzowie promptów", "Contas TikTok": "Konta TikTok", "Automação Youtube": "Automatyzacja YouTube", "Niche Finder Kaggle": "Wyszukiwarka nisz Kaggle", "Niche Finder Apify": "Wyszukiwarka nisz Apify", "Limpador de Metadados": "Czyścik metadanych", "Cortes": "Cięcia", "Editor Python": "Edytor Pythona", "Download Mídia": "Pobieranie multimediów", "Personagens": "Postacie", "Contas Instagram": "Sieci społecznościowe", "Tutorial Meta": "Samouczek Meta", "Tutorial Supabase": "Samouczek Supabase", "Canais Youtube": "Kanały YouTube", "Blueprints Youtube": "Blueprinty YouTube", "Contas Google": "Konta Google", "Configuração API": "Konfiguracja API", "Notificações": "Powiadomienia", "Interface local para operação e automação de conteúdo faceless": "Lokalny interfejs do obsługi i automatyzacji treści faceless", "Canais": "Kanały", "activos": "aktywne", "Tarefas": "Zadania", "total registado": "łącznie zarejestrowano", "A fazer": "Do zrobienia", "na pipeline": "w potoku", "Em execução": "Uruchomione", "a decorrer": "w toku", "Concluídos": "Ukończone", "artefactos prontos": "gotowe artefakty", "Falhas": "Błędy", "requerem atenção": "wymagają uwagi", "Filas locais e dependências da cascata": "Lokalne kolejki i zależności potoku", "Niche": "Nisza", "Blueprints": "Blueprinty", "Brand": "Marka", "Script": "Scenariusz", "Title": "Tytuł", "Thumbnail": "Miniatura", "Video": "Wideo", "Edit": "Edytuj", "fila": "kolejka", "na biblioteca": "w bibliotece", "tarefa(s) na fila": "zadanie(a) w kolejce", "Language": "Język", "Theme": "Motyw", "Dark": "Ciemny", "Light": "Jasny",
1376
1376
  "LLM — providers e modelos": "LLM — dostawcy i modele", "Adicionar provider LLM": "Dodaj dostawcę LLM", "Provider LLM": "Dostawca LLM", "Configurar Novo Provedor LLM": "Skonfiguruj nowego dostawcę LLM", "API key": "Klucz API", "Modelo": "Model", "Base URL": "Bazowy adres URL", "Modelo manual": "Model ręczny", "Escrever modelo manualmente": "Wpisz model ręcznie", "Provider activo": "Dostawca aktywny", "LLM Telegram": "LLM Telegram", "Testar chamada API": "Testuj wywołanie API", "Consultar modelos": "Pobierz modele", "Salvar": "Zapisz", "Remover cartão": "Usuń kartę", "Último teste:": "Ostatni test:", "Teste API:": "Test API:", "Missing key": "Brak klucza", "Missing configuration": "Brak konfiguracji", "Configured": "Skonfigurowano", "Local / sem API key": "Lokalny / bez klucza API", "Este provider não exige API key.": "Ten dostawca nie wymaga klucza API.", "Prioridade": "Priorytet", "Ordem de tentativa do pool LLM: 1 é o primeiro; em falha elegível, seguem-se as prioridades seguintes.": "Użyj tej karty jako głównego dostawcy do generowania tematów, scenariuszy, tytułów i słów kluczowych.", "Usar este cartão exclusivamente para o roteamento de notificações Telegram. Apenas um cartão pode ficar seleccionado.": "Używaj tej karty wyłącznie do kierowania powiadomień Telegram. Tylko jedna karta może być wybrana.", "Account Id": "Identyfikator konta", "Gateway Id": "Identyfikator bramy", "Api Version": "Wersja API", "Endpoint gerido pelo provider: ": "Punkt końcowy zarządzany przez dostawcę: ", "Endpoint OpenAI-compatible deste provider; só aparece quando é configurável.": "Punkt końcowy zgodny z OpenAI; widoczny tylko wtedy, gdy można go skonfigurować.", "ID do modelo usado pelo endpoint Chat Completions.": "Identyfikator modelu używanego przez punkt końcowy Chat Completions.", "Niche Finder — Kaggle": "Wyszukiwarka nisz — Kaggle", "Niche Finder — Apify": "Wyszukiwarka nisz — Apify", "Arquivos Base": "Pliki bazowe", "Pipeline Vídeos": "Potok wideo", "Canais e Perfis de Vídeos": "Kanały i profile wideo", "Canais/Perfis (Vídeos)": "Kanały i profile wideo", "Canais YouTube": "Kanały YouTube", "Prompt Masters": "Mistrzowie promptów", "Backlog Vídeos": "Backlog wideo", "Thumbnails": "Miniatury", "Música": "Muzyka", "Upload Música": "Prześlij muzykę", "Geração de Conteúdo IA": "Generowanie treści AI", "Growth": "Rozwój", "Analista Growth Youtube": "Analityk rozwoju YouTube", "Analista Growth Tiktok": "Analityk rozwoju TikTok", "Analista Growth Instagram": "Analityk rozwoju Instagram", "Documentação": "Dokumentacja", "Tutorial Kaggle": "Samouczek Kaggle", "Tutorial Apify": "Samouczek Apify", "Pipeline Música": "Potok muzyki", "módulos disponíveis": "dostępne moduły", "Esta é uma chave API global do YouTube: aplica-se a todas as contas Google/YouTube e a todo o sistema. Não é associada a uma conta específica, não faz parte dos documentos de cookies/credenciais e não é editada no separador API Keys.": "To jest globalny klucz API YouTube: dotyczy wszystkich kont Google/YouTube i całego systemu. Nie jest przypisany do konkretnego konta, nie należy do dokumentów cookie/poświadczeń i nie jest edytowany w zakładce Klucze API.", "Chave global usada pelo Upload directo para todas as contas Google/YouTube. Guarde-a na configuração global, separada dos documentos de cookies.": "Globalny klucz używany przez bezpośrednie przesyłanie dla wszystkich kont Google/YouTube. Zapisz go w konfiguracji globalnej, oddzielnie od dokumentów cookie.", "Guardar INNERTUBE_API_KEY global": "Zapisz globalny INNERTUBE_API_KEY", "INNERTUBE_API_KEY global guardada para todas as contas Google/YouTube e para todo o sistema.": "Globalny INNERTUBE_API_KEY zapisany dla wszystkich kont Google/YouTube i całego systemu.", "Gerar tópico, roteiro e palavras-chave com IA": "Generuj temat, scenariusz i słowa kluczowe za pomocą AI", "A gerar tópico, roteiro e palavras-chave com IA…": "Generowanie tematu, scenariusza i słów kluczowych za pomocą AI…", "Tema, roteiro e palavras-chave gerados com IA.": "Temat, scenariusz i słowa kluczowe wygenerowane przez AI.", "Preencha o campo Video Subject ou use o botão de geração automática abaixo das keywords.": "Wypełnij pole Video Subject albo użyj przycisku automatycznego generowania pod słowami kluczowymi.", "Refazer thumbnail": "Utwórz miniaturę ponownie", "Salvar rascunho": "Zapisz wersję roboczą", "Rascunho guardado localmente": "Wersja robocza zapisana lokalnie", "Thumbnail refeita com sucesso.": "Miniatura została utworzona ponownie.", "Ver prompt da thumbnail": "Zobacz prompt miniatury", "Sem imagem": "Brak obrazu", "Imagem ainda não gerada": "Obraz nie został jeszcze wygenerowany", "Palavras-chave": "Słowa kluczowe", "Título do rascunho": "Tytuł wersji roboczej", "Gerar de Rascunho": "Generuj z wersji roboczej", "Roteiros guardados": "Zapisane scenariusze", "Seleccione um roteiro": "Wybierz scenariusz", "Configurações a completar": "Ustawienia do uzupełnienia", "Configurações de vídeo": "Ustawienia wideo", "Configurações de áudio": "Ustawienia audio", "Configurações de legendas": "Ustawienia napisów", "Continuar criação": "Kontynuuj tworzenie", "Gerar apenas o vídeo": "Generuj tylko wideo", "Seleccione um canal para continuar.": "Wybierz kanał, aby kontynuować.", "Ainda não existem roteiros guardados.": "Nie ma jeszcze zapisanych scenariuszy.", "Histórico guardado": "Zapisana historia", "Rascunho local": "Lokalna wersja robocza", "Origem": "Źródło", "Brandings": "Brandingi", "Pesquisa pública": "Wyszukiwanie publiczne", "Cadastro manual": "Rejestracja ręczna", "Contas cadastradas": "Zarejestrowane konta", "Biblioteca": "Biblioteka", "Importar do YouTube": "Importuj z YouTube", "Canais em lote gmail": "Kanały zbiorcze Gmail", "Criar vídeo": "Utwórz wideo", "Vídeos": "Wideo", "Novo roteiro/letra": "Nowy scenariusz/tekst", "Clusters encontrados": "Znalezione klastry", "Regras de associação": "Reguły powiązań", "Dados analisados": "Przeanalizowane dane", "Upload ficheiro": "Prześlij plik", "URL de vídeo": "Adres URL wideo", "Vídeos gerados": "Wygenerowane wideo", "Pasta local": "Folder lokalny", "Código Python": "Kod Python", "Upload convencional": "Zwykłe przesyłanie", "Upload directo": "Przesyłanie bezpośrednie", "Postiz": "Postiz", "Upload-Post": "Upload-Post", "API Keys": "Klucze API", "Teste de Voz": "Test głosu", "Serviços e modelos": "Usługi i modele", "Fontes de Materiais": "Źródła materiałów", "Client MCP": "Klient MCP", "Servidor MCP": "Serwer MCP", "Skill": "Umiejętność", "Guia de configuração do Supabase para automações com n8n.": "Przewodnik konfiguracji Supabase dla automatyzacji z n8n.", "Adicionar fonte de materiais": "Dodaj źródło materiałów", "Provedor de materiais": "Dostawca materiałów", "Configurar Nova Fonte de Materiais": "Skonfiguruj nowe źródło materiałów", "Fonte activa": "Źródło aktywne", "Usar esta fonte na pipeline": "Używaj tego źródła w potoku", "Esta fonte não usa API key.": "To źródło nie używa klucza API.", "A testar chamada API…": "Testowanie wywołania API…", "Último teste: API Key OK": "Ostatni test: klucz API OK", "Último teste: falta configuração": "Ostatni test: brak konfiguracji", "Último teste: requer autorização ou endpoint seguro": "Ostatni test: wymagana dodatkowa autoryzacja lub bezpieczny punkt końcowy", "Último teste: chamada falhou": "Ostatni test: wywołanie nie powiodło się", "Testar credenciais TTS e música": "Testuj dane uwierzytelniające TTS i muzyki", "Facebook Pages": "Strony Facebook", "Motion Control": "Sterowanie ruchem", "UGC Products": "Produkty UGC",
1377
1377
  },
1378
1378
  "ga": {
1379
- "Início": "Baile", "Niche Finder": "Aimsitheoir nideoga", "Pipeline": "Píblíne", "Pipeline TikTok": "Píblíne TikTok", "Automação": "Uathoibriú", "Edição": "Eagarthóireacht", "AI Influencers": "Tionchair AI", "Configurações": "Socruithe", "Criação de Vídeos": "Cruthú físeán", "Criação de Músicas": "Cruthú ceoil", "Roteiros": "Scripteanna", "Upload": "Uaslódáil", "Prompts Master": "Máistrí leideanna", "Contas TikTok": "Cuntais TikTok", "Automação Youtube": "Uathoibriú YouTube", "Niche Finder Kaggle": "Aimsitheoir nideoga Kaggle", "Niche Finder Apify": "Aimsitheoir nideoga Apify", "Limpador de Metadados": "Glantóir meiteashonraí", "Cortes": "Ciorruithe", "Editor Python": "Eagarthóir Python", "Download Mídia": "Íoslódáil meán", "Personagens": "Carachtair", "Redes Sociais": "Líonraí sóisialta", "Tutorial Meta": "Teagasc Meta", "Tutorial Supabase": "Teagasc Supabase", "Canais Youtube": "Cainéil YouTube", "Blueprints Youtube": "Blueprints YouTube", "Contas Google": "Cuntais Google", "Configuração API": "Cumraíocht API", "Notificações": "Fógraí", "Interface local para operação e automação de conteúdo faceless": "Comhéadan logánta chun inneachar faceless a oibriú agus a uathoibriú", "Canais": "Cainéil", "activos": "gníomhach", "Tarefas": "Tascanna", "total registado": "iomlán cláraithe", "A fazer": "Le déanamh", "na pipeline": "sa phíblíne", "Em execução": "Ar siúl", "a decorrer": "ar bun", "Concluídos": "Críochnaithe", "artefactos prontos": "déantáin réidh", "Falhas": "Teipeanna", "requerem atenção": "teastaíonn aird", "Filas locais e dependências da cascata": "Scuainí logánta agus spleáchais na píblíne", "Niche": "Nideoige", "Blueprints": "Blueprints", "Brand": "Branda", "Script": "Script", "Title": "Teideal", "Thumbnail": "Mionsamhail", "Video": "Físeán", "Edit": "Cuir in eagar", "fila": "scuaine", "na biblioteca": "sa leabharlann", "tarefa(s) na fila": "tasc(anna) sa scuaine", "Language": "Teanga", "Theme": "Téama", "Dark": "Dorcha", "Light": "Geal",
1379
+ "Início": "Baile", "Niche Finder": "Aimsitheoir nideoga", "Pipeline": "Píblíne", "Pipeline TikTok": "Píblíne TikTok", "Automação": "Uathoibriú", "Edição": "Eagarthóireacht", "AI Influencers": "Tionchair AI", "Configurações": "Socruithe", "Criação de Vídeos": "Cruthú físeán", "Criação de Músicas": "Cruthú ceoil", "Roteiros": "Scripteanna", "Upload": "Uaslódáil", "Prompts Master": "Máistrí leideanna", "Contas TikTok": "Cuntais TikTok", "Automação Youtube": "Uathoibriú YouTube", "Niche Finder Kaggle": "Aimsitheoir nideoga Kaggle", "Niche Finder Apify": "Aimsitheoir nideoga Apify", "Limpador de Metadados": "Glantóir meiteashonraí", "Cortes": "Ciorruithe", "Editor Python": "Eagarthóir Python", "Download Mídia": "Íoslódáil meán", "Personagens": "Carachtair", "Contas Instagram": "Líonraí sóisialta", "Tutorial Meta": "Teagasc Meta", "Tutorial Supabase": "Teagasc Supabase", "Canais Youtube": "Cainéil YouTube", "Blueprints Youtube": "Blueprints YouTube", "Contas Google": "Cuntais Google", "Configuração API": "Cumraíocht API", "Notificações": "Fógraí", "Interface local para operação e automação de conteúdo faceless": "Comhéadan logánta chun inneachar faceless a oibriú agus a uathoibriú", "Canais": "Cainéil", "activos": "gníomhach", "Tarefas": "Tascanna", "total registado": "iomlán cláraithe", "A fazer": "Le déanamh", "na pipeline": "sa phíblíne", "Em execução": "Ar siúl", "a decorrer": "ar bun", "Concluídos": "Críochnaithe", "artefactos prontos": "déantáin réidh", "Falhas": "Teipeanna", "requerem atenção": "teastaíonn aird", "Filas locais e dependências da cascata": "Scuainí logánta agus spleáchais na píblíne", "Niche": "Nideoige", "Blueprints": "Blueprints", "Brand": "Branda", "Script": "Script", "Title": "Teideal", "Thumbnail": "Mionsamhail", "Video": "Físeán", "Edit": "Cuir in eagar", "fila": "scuaine", "na biblioteca": "sa leabharlann", "tarefa(s) na fila": "tasc(anna) sa scuaine", "Language": "Teanga", "Theme": "Téama", "Dark": "Dorcha", "Light": "Geal",
1380
1380
  "LLM — providers e modelos": "LLM — soláthraithe agus samhlacha", "Adicionar provider LLM": "Cuir soláthraí LLM leis", "Provider LLM": "Soláthraí LLM", "Configurar Novo Provedor LLM": "Cumraigh soláthraí nua LLM", "API key": "Eochair API", "Modelo": "Samhail", "Base URL": "URL bonn", "Modelo manual": "Samhail láimhe", "Escrever modelo manualmente": "Scríobh an tsamhail de láimh", "Provider activo": "Soláthraí gníomhach", "LLM Telegram": "LLM Telegram", "Testar chamada API": "Tástáil glao API", "Consultar modelos": "Faigh samhlacha", "Salvar": "Sábháil", "Remover cartão": "Bain cárta", "Último teste:": "An tástáil is déanaí:", "Teste API:": "Tástáil API:", "Missing key": "Eochair ar iarraidh", "Missing configuration": "Cumraíocht ar iarraidh", "Configured": "Cumraithe", "Local / sem API key": "Logánta / gan eochair API", "Este provider não exige API key.": "Níl eochair API ag teastáil ón soláthraí seo.", "Prioridade": "Príomh-LLM", "Ordem de tentativa do pool LLM: 1 é o primeiro; em falha elegível, seguem-se as prioridades seguintes.": "Úsáid an cárta seo mar phríomhsholáthraí chun topaicí, scripteanna, teidil agus eochairfhocail a ghiniúint.", "Usar este cartão exclusivamente para o roteamento de notificações Telegram. Apenas um cartão pode ficar seleccionado.": "Úsáid an cárta seo go heisiach chun fógraí Telegram a ródú. Ní féidir ach cárta amháin a roghnú.", "Account Id": "Aitheantas cuntais", "Gateway Id": "Aitheantas geata", "Api Version": "Leagan API", "Endpoint gerido pelo provider: ": "Críochphointe á bhainistiú ag an soláthraí: ", "Endpoint OpenAI-compatible deste provider; só aparece quando é configurável.": "Críochphointe atá comhoiriúnach le OpenAI; taispeántar é nuair is féidir é a chumrú.", "ID do modelo usado pelo endpoint Chat Completions.": "Aitheantas na samhla a úsáideann críochphointe Chat Completions.", "Niche Finder — Kaggle": "Aimsitheoir nideoga — Kaggle", "Niche Finder — Apify": "Aimsitheoir nideoga — Apify", "Arquivos Base": "Comhaid bhunúsacha", "Pipeline Vídeos": "Píblíne físeáin", "Canais e Perfis de Vídeos": "Cainéil agus próifílí físeáin", "Canais/Perfis (Vídeos)": "Cainéil agus próifílí físeáin", "Canais YouTube": "Cainéil YouTube", "Prompt Masters": "Máistrí leideanna", "Backlog Vídeos": "Riaráiste físeáin", "Thumbnails": "Mionsamhlacha", "Música": "Ceol", "Upload Música": "Uaslódáil ceol", "Geração de Conteúdo IA": "Giniúint inneachair AI", "Growth": "Fás", "Analista Growth Youtube": "Anailísí fáis YouTube", "Analista Growth Tiktok": "Anailísí fáis TikTok", "Analista Growth Instagram": "Anailísí fáis Instagram", "Documentação": "Doiciméadú", "Tutorial Kaggle": "Teagasc Kaggle", "Tutorial Apify": "Teagasc Apify", "Pipeline Música": "Píblíne ceoil", "módulos disponíveis": "modúil ar fáil", "Esta é uma chave API global do YouTube: aplica-se a todas as contas Google/YouTube e a todo o sistema. Não é associada a uma conta específica, não faz parte dos documentos de cookies/credenciais e não é editada no separador API Keys.": "Is eochair API dhomhanda YouTube í seo: baineann sí le gach cuntas Google/YouTube agus leis an gcóras ar fad. Ní bhaineann sí le cuntas ar leith, ní cuid de dhoiciméid fianán/dintiúr í agus ní chuirtear in eagar í sa chluaisín Eochracha API.", "Chave global usada pelo Upload directo para todas as contas Google/YouTube. Guarde-a na configuração global, separada dos documentos de cookies.": "Eochair dhomhanda a úsáideann an tUaslódáil díreach do gach cuntas Google/YouTube. Sábháil sa chumraíocht dhomhanda í, scartha ó na doiciméid fianán.", "Guardar INNERTUBE_API_KEY global": "Sábháil INNERTUBE_API_KEY domhanda", "INNERTUBE_API_KEY global guardada para todas as contas Google/YouTube e para todo o sistema.": "INNERTUBE_API_KEY domhanda sábháilte do gach cuntas Google/YouTube agus don chóras ar fad.", "Gerar tópico, roteiro e palavras-chave com IA": "Gin topaic, script agus eochairfhocail le AI", "A gerar tópico, roteiro e palavras-chave com IA…": "Topaic, script agus eochairfhocail á nginiúint le AI…", "Tema, roteiro e palavras-chave gerados com IA.": "Topaic, script agus eochairfhocail ginte le AI.", "Preencha o campo Video Subject ou use o botão de geração automática abaixo das keywords.": "Líon an réimse Video Subject nó úsáid an cnaipe giniúna uathoibríoch faoi na heochairfhocail.", "Refazer thumbnail": "Athchruthaigh an mionsamhail", "Salvar rascunho": "Sábháil dréacht", "Rascunho guardado localmente": "Dréacht sábháilte go logánta", "Thumbnail refeita com sucesso.": "Athchruthaíodh an mionsamhail go rathúil.", "Ver prompt da thumbnail": "Féach ar leid na mionsamhla", "Sem imagem": "Gan íomhá", "Imagem ainda não gerada": "Níor gineadh íomhá fós", "Palavras-chave": "Eochairfhocail", "Título do rascunho": "Teideal an dréachta", "Gerar de Rascunho": "Gin ón dréacht", "Roteiros guardados": "Scripteanna sábháilte", "Seleccione um roteiro": "Roghnaigh script", "Configurações a completar": "Cumraíochtaí le comhlánú", "Configurações de vídeo": "Cumraíochtaí físeáin", "Configurações de áudio": "Cumraíochtaí fuaime", "Configurações de legendas": "Cumraíochtaí fotheideal", "Continuar criação": "Lean den chruthú", "Gerar apenas o vídeo": "Gin an físeán amháin", "Seleccione um canal para continuar.": "Roghnaigh cainéal chun leanúint ar aghaidh.", "Ainda não existem roteiros guardados.": "Níl aon scripteanna sábháilte ann fós.", "Histórico guardado": "Stair shábháilte", "Rascunho local": "Dréacht logánta", "Origem": "Foinse", "Brandings": "Brandálacha", "Pesquisa pública": "Cuardach poiblí", "Cadastro manual": "Clárú láimhe", "Contas cadastradas": "Cuntais chláraithe", "Biblioteca": "Leabharlann", "Importar do YouTube": "Iompórtáil ó YouTube", "Canais em lote gmail": "Cainéil bhaisc Gmail", "Criar vídeo": "Cruthaigh físeán", "Vídeos": "Físeáin", "Novo roteiro/letra": "Script/liric nua", "Clusters encontrados": "Braislí aimsithe", "Regras de associação": "Rialacha comhlachais", "Dados analisados": "Sonraí anailísithe", "Upload ficheiro": "Uaslódáil comhad", "URL de vídeo": "URL físeáin", "Vídeos gerados": "Físeáin ginte", "Pasta local": "Fillteán logánta", "Código Python": "Cód Python", "Upload convencional": "Uaslódáil traidisiúnta", "Upload directo": "Uaslódáil díreach", "API Keys": "Eochracha API", "Teste de Voz": "Tástáil gutha", "Serviços e modelos": "Seirbhísí agus samhlacha", "Fontes de Materiais": "Foinsí ábhair", "Client MCP": "Cliant MCP", "Servidor MCP": "Freastalaí MCP", "Skill": "Scil", "Guia de configuração do Supabase para automações com n8n.": "Treoir chumraíochta Supabase le haghaidh uathoibrithe le n8n.", "Adicionar fonte de materiais": "Cuir foinse ábhair leis", "Provedor de materiais": "Soláthraí ábhair", "Configurar Nova Fonte de Materiais": "Cumraigh foinse nua ábhair", "Fonte activa": "Foinse ghníomhach", "Usar esta fonte na pipeline": "Úsáid an fhoinse seo sa phíblíne", "Esta fonte não usa API key.": "Ní úsáideann an fhoinse seo eochair API.", "A testar chamada API…": "Glao API á thástáil…", "Último teste: API Key OK": "An tástáil is déanaí: eochair API ceart", "Último teste: falta configuração": "An tástáil is déanaí: cumraíocht ar iarraidh", "Último teste: requer autorização ou endpoint seguro": "An tástáil is déanaí: údarú breise nó críochphointe sábháilte de dhíth", "Último teste: chamada falhou": "An tástáil is déanaí: theip ar an nglao", "Testar credenciais TTS e música": "Tástáil dintiúr TTS agus ceoil", "Facebook Pages": "Leathanaigh Facebook", "Motion Control": "Rialú gluaisne", "UGC Products": "Táirgí UGC",
1381
1381
  },
1382
1382
  "ar": {
1383
- "Início": "الصفحة الرئيسية", "Niche Finder": "باحث المجالات", "Pipeline": "خط الإنتاج", "Pipeline TikTok": "خط إنتاج TikTok", "Automação": "الأتمتة", "Edição": "التحرير", "AI Influencers": "مؤثرو الذكاء الاصطناعي", "Configurações": "الإعدادات", "Criação de Vídeos": "إنشاء الفيديو", "Criação de Músicas": "إنشاء الموسيقى", "Roteiros": "السيناريوهات", "Upload": "رفع", "Prompts Master": "محرّكات المطالبات", "Contas TikTok": "حسابات TikTok", "Automação Youtube": "أتمتة YouTube", "Niche Finder Kaggle": "باحث المجالات — Kaggle", "Niche Finder Apify": "باحث المجالات — Apify", "Limpador de Metadados": "منظف البيانات الوصفية", "Cortes": "القصاصات", "Editor Python": "محرر Python", "Download Mídia": "تنزيل الوسائط", "Personagens": "الشخصيات", "Redes Sociais": "الشبكات الاجتماعية", "Tutorial Meta": "دليل Meta", "Tutorial Supabase": "دليل Supabase", "Canais Youtube": "قنوات YouTube", "Blueprints Youtube": "مخططات YouTube", "Contas Google": "حسابات Google", "Configuração API": "إعداد API", "Notificações": "الإشعارات", "Interface local para operação e automação de conteúdo faceless": "واجهة محلية لتشغيل وأتمتة المحتوى دون ظهور", "Canais": "القنوات", "activos": "نشطة", "Tarefas": "المهام", "total registado": "الإجمالي المسجل", "A fazer": "قيد التنفيذ", "na pipeline": "في خط الإنتاج", "Em execução": "قيد التشغيل", "a decorrer": "جارٍ", "Concluídos": "مكتملة", "artefactos prontos": "النتائج الجاهزة", "Falhas": "الأخطاء", "requerem atenção": "تتطلب الانتباه", "Filas locais e dependências da cascata": "قوائم الانتظار المحلية وتبعيات خط الإنتاج", "Niche": "مجال", "Blueprints": "المخططات", "Brand": "العلامة التجارية", "Script": "السيناريو", "Title": "العنوان", "Thumbnail": "الصورة المصغرة", "Video": "الفيديو", "Edit": "تحرير", "fila": "قائمة الانتظار", "na biblioteca": "في المكتبة", "tarefa(s) na fila": "مهمة/مهام في قائمة الانتظار", "Language": "اللغة", "Theme": "السمة", "Dark": "داكن", "Light": "فاتح",
1383
+ "Início": "الصفحة الرئيسية", "Niche Finder": "باحث المجالات", "Pipeline": "خط الإنتاج", "Pipeline TikTok": "خط إنتاج TikTok", "Automação": "الأتمتة", "Edição": "التحرير", "AI Influencers": "مؤثرو الذكاء الاصطناعي", "Configurações": "الإعدادات", "Criação de Vídeos": "إنشاء الفيديو", "Criação de Músicas": "إنشاء الموسيقى", "Roteiros": "السيناريوهات", "Upload": "رفع", "Prompts Master": "محرّكات المطالبات", "Contas TikTok": "حسابات TikTok", "Automação Youtube": "أتمتة YouTube", "Niche Finder Kaggle": "باحث المجالات — Kaggle", "Niche Finder Apify": "باحث المجالات — Apify", "Limpador de Metadados": "منظف البيانات الوصفية", "Cortes": "القصاصات", "Editor Python": "محرر Python", "Download Mídia": "تنزيل الوسائط", "Personagens": "الشخصيات", "Contas Instagram": "الشبكات الاجتماعية", "Tutorial Meta": "دليل Meta", "Tutorial Supabase": "دليل Supabase", "Canais Youtube": "قنوات YouTube", "Blueprints Youtube": "مخططات YouTube", "Contas Google": "حسابات Google", "Configuração API": "إعداد API", "Notificações": "الإشعارات", "Interface local para operação e automação de conteúdo faceless": "واجهة محلية لتشغيل وأتمتة المحتوى دون ظهور", "Canais": "القنوات", "activos": "نشطة", "Tarefas": "المهام", "total registado": "الإجمالي المسجل", "A fazer": "قيد التنفيذ", "na pipeline": "في خط الإنتاج", "Em execução": "قيد التشغيل", "a decorrer": "جارٍ", "Concluídos": "مكتملة", "artefactos prontos": "النتائج الجاهزة", "Falhas": "الأخطاء", "requerem atenção": "تتطلب الانتباه", "Filas locais e dependências da cascata": "قوائم الانتظار المحلية وتبعيات خط الإنتاج", "Niche": "مجال", "Blueprints": "المخططات", "Brand": "العلامة التجارية", "Script": "السيناريو", "Title": "العنوان", "Thumbnail": "الصورة المصغرة", "Video": "الفيديو", "Edit": "تحرير", "fila": "قائمة الانتظار", "na biblioteca": "في المكتبة", "tarefa(s) na fila": "مهمة/مهام في قائمة الانتظار", "Language": "اللغة", "Theme": "السمة", "Dark": "داكن", "Light": "فاتح",
1384
1384
  "LLM — providers e modelos": "LLM — المزوّدون والنماذج", "Adicionar provider LLM": "إضافة مزوّد LLM", "Provider LLM": "مزوّد LLM", "Configurar Novo Provedor LLM": "إعداد مزوّد LLM جديد", "API key": "مفتاح API", "Modelo": "النموذج", "Base URL": "عنوان URL الأساسي", "Modelo manual": "نموذج يدوي", "Escrever modelo manualmente": "اكتب النموذج يدوياً", "Provider activo": "المزوّد النشط", "LLM Telegram": "LLM Telegram", "Testar chamada API": "اختبار استدعاء API", "Consultar modelos": "جلب النماذج", "Salvar": "حفظ", "Remover cartão": "إزالة البطاقة", "Último teste:": "آخر اختبار:", "Teste API:": "اختبار API:", "Missing key": "المفتاح مفقود", "Missing configuration": "الإعداد مفقود", "Configured": "تم الإعداد", "Local / sem API key": "محلي / بلا مفتاح API", "Este provider não exige API key.": "هذا المزوّد لا يتطلب مفتاح API.", "Prioridade": "LLM الرئيسي", "Ordem de tentativa do pool LLM: 1 é o primeiro; em falha elegível, seguem-se as prioridades seguintes.": "استخدم هذه البطاقة كمزوّد رئيسي لإنشاء الموضوعات والسيناريوهات والعناوين والكلمات المفتاحية.", "Usar este cartão exclusivamente para o roteamento de notificações Telegram. Apenas um cartão pode ficar seleccionado.": "استخدم هذه البطاقة حصرياً لتوجيه إشعارات Telegram. يمكن تحديد بطاقة واحدة فقط.", "Account Id": "معرّف الحساب", "Gateway Id": "معرّف البوابة", "Api Version": "إصدار API", "Endpoint gerido pelo provider: ": "نقطة النهاية التي يديرها المزوّد: ", "Endpoint OpenAI-compatible deste provider; só aparece quando é configurável.": "نقطة نهاية متوافقة مع OpenAI؛ تظهر فقط عند إمكانية إعدادها.", "ID do modelo usado pelo endpoint Chat Completions.": "معرّف النموذج المستخدم في نقطة نهاية Chat Completions.", "Arquivos Base": "الملفات الأساسية", "Pipeline Vídeos": "خط إنتاج الفيديو", "Canais e Perfis de Vídeos": "قنوات وملفات الفيديو", "Canais/Perfis (Vídeos)": "قنوات وملفات الفيديو", "Canais YouTube": "قنوات YouTube", "Facebook Pages": "صفحات Facebook", "Prompt Masters": "محرّكات المطالبات", "Backlog Vídeos": "تراكم الفيديوهات", "Thumbnails": "الصور المصغرة", "Música": "الموسيقى", "Upload Música": "رفع الموسيقى", "Geração de Conteúdo IA": "إنشاء محتوى بالذكاء الاصطناعي", "Motion Control": "التحكم بالحركة", "UGC Products": "منتجات UGC", "Growth": "النمو", "Analista Growth Youtube": "محلل نمو YouTube", "Analista Growth Tiktok": "محلل نمو TikTok", "Analista Growth Instagram": "محلل نمو Instagram", "Documentação": "التوثيق", "Tutorial Kaggle": "دليل Kaggle", "Tutorial Apify": "دليل Apify", "Pipeline Música": "خط إنتاج الموسيقى", "módulos disponíveis": "الوحدات المتاحة", "Guardar INNERTUBE_API_KEY global": "حفظ INNERTUBE_API_KEY العام", "Gerar tópico, roteiro e palavras-chave com IA": "إنشاء الموضوع والسيناريو والكلمات المفتاحية بالذكاء الاصطناعي", "A gerar tópico, roteiro e palavras-chave com IA…": "جارٍ إنشاء الموضوع والسيناريو والكلمات المفتاحية بالذكاء الاصطناعي…", "Tema, roteiro e palavras-chave gerados com IA.": "تم إنشاء الموضوع والسيناريو والكلمات المفتاحية بالذكاء الاصطناعي.", "Preencha o campo Video Subject ou use o botão de geração automática abaixo das keywords.": "املأ حقل Video Subject أو استخدم زر الإنشاء التلقائي أسفل الكلمات المفتاحية.", "Refazer thumbnail": "إعادة إنشاء الصورة المصغرة", "Salvar rascunho": "حفظ المسودة", "Rascunho guardado localmente": "تم حفظ المسودة محلياً", "Thumbnail refeita com sucesso.": "تمت إعادة إنشاء الصورة المصغرة بنجاح.", "Ver prompt da thumbnail": "عرض مطالبة الصورة المصغرة", "Sem imagem": "لا توجد صورة", "Imagem ainda não gerada": "لم يتم إنشاء الصورة بعد", "Palavras-chave": "الكلمات المفتاحية", "Título do rascunho": "عنوان المسودة", "Gerar de Rascunho": "الإنشاء من مسودة", "Roteiros guardados": "السيناريوهات المحفوظة", "Seleccione um roteiro": "اختر سيناريو", "Configurações a completar": "إعدادات يجب إكمالها", "Configurações de vídeo": "إعدادات الفيديو", "Configurações de áudio": "إعدادات الصوت", "Configurações de legendas": "إعدادات الترجمة", "Continuar criação": "متابعة الإنشاء", "Gerar apenas o vídeo": "إنشاء الفيديو فقط", "Seleccione um canal para continuar.": "اختر قناة للمتابعة.", "Ainda não existem roteiros guardados.": "لا توجد سيناريوهات محفوظة بعد.", "Histórico guardado": "السجل المحفوظ", "Rascunho local": "مسودة محلية", "Origem": "المصدر", "Brandings": "الهوية البصرية", "Pesquisa pública": "بحث عام", "Cadastro manual": "تسجيل يدوي", "Contas cadastradas": "الحسابات المسجلة", "Biblioteca": "المكتبة", "Importar do YouTube": "استيراد من YouTube", "Canais em lote gmail": "قنوات Gmail المجمعة", "Criar vídeo": "إنشاء فيديو", "Vídeos": "الفيديوهات", "Novo roteiro/letra": "سيناريو/كلمات جديدة", "Clusters encontrados": "العناقيد المكتشفة", "Regras de associação": "قواعد الارتباط", "Dados analisados": "البيانات المحللة", "Upload ficheiro": "رفع ملف", "URL de vídeo": "رابط الفيديو", "Vídeos gerados": "الفيديوهات المنشأة", "Pasta local": "المجلد المحلي", "Código Python": "كود Python", "Upload convencional": "رفع تقليدي", "Upload directo": "رفع مباشر", "Postiz": "Postiz", "Upload-Post": "Upload-Post", "API Keys": "مفاتيح API", "Teste de Voz": "اختبار الصوت", "Serviços e modelos": "الخدمات والنماذج", "Fontes de Materiais": "مصادر الوسائط", "Client MCP": "عميل MCP", "Servidor MCP": "خادم MCP", "Skill": "المهارة", "Guia de configuração do Supabase para automações com n8n.": "دليل إعداد Supabase للأتمتة باستخدام n8n.", "Adicionar fonte de materiais": "إضافة مصدر وسائط", "Provedor de materiais": "مزوّد الوسائط", "Configurar Nova Fonte de Materiais": "إعداد مصدر وسائط جديد", "Fonte activa": "المصدر النشط", "Usar esta fonte na pipeline": "استخدم هذا المصدر في خط الإنتاج", "Esta fonte não usa API key.": "لا يستخدم هذا المصدر مفتاح API.", "A testar chamada API…": "جارٍ اختبار استدعاء API…", "Último teste: API Key OK": "آخر اختبار: مفتاح API صالح", "Último teste: falta configuração": "آخر اختبار: الإعداد مفقود", "Último teste: requer autorização ou endpoint seguro": "آخر اختبار: يلزم تفويض إضافي أو نقطة نهاية آمنة", "Último teste: chamada falhou": "آخر اختبار: فشل الاستدعاء", "Testar credenciais TTS e música": "اختبار بيانات اعتماد TTS والموسيقى",
1385
1385
  },
1386
1386
  "he": {
1387
- "Início": "דף הבית", "Niche Finder": "מאתר נישות", "Pipeline": "צינור עבודה", "Pipeline TikTok": "צינור TikTok", "Automação": "אוטומציה", "Edição": "עריכה", "AI Influencers": "משפיעני AI", "Configurações": "הגדרות", "Criação de Vídeos": "יצירת וידאו", "Criação de Músicas": "יצירת מוזיקה", "Roteiros": "תסריטים", "Upload": "העלאה", "Prompts Master": "מאסטרים של פרומפטים", "Contas TikTok": "חשבונות TikTok", "Automação Youtube": "אוטומציית YouTube", "Niche Finder Kaggle": "מאתר נישות Kaggle", "Niche Finder Apify": "מאתר נישות Apify", "Limpador de Metadados": "מנקה מטא־נתונים", "Cortes": "חיתוכים", "Editor Python": "עורך Python", "Download Mídia": "הורדת מדיה", "Personagens": "דמויות", "Redes Sociais": "רשתות חברתיות", "Tutorial Meta": "מדריך Meta", "Tutorial Supabase": "מדריך Supabase", "Canais Youtube": "ערוצי YouTube", "Blueprints Youtube": "שרטוטי YouTube", "Contas Google": "חשבונות Google", "Configuração API": "הגדרת API", "Notificações": "התראות", "Interface local para operação e automação de conteúdo faceless": "ממשק מקומי להפעלה ולאוטומציה של תוכן ללא הופעה", "Canais": "ערוצים", "activos": "פעילים", "Tarefas": "משימות", "total registado": "סה״כ רשומים", "A fazer": "לביצוע", "na pipeline": "בצינור העבודה", "Em execução": "בהרצה", "a decorrer": "בתהליך", "Concluídos": "הושלמו", "artefactos prontos": "תוצרים מוכנים", "Falhas": "כשלים", "requerem atenção": "דורשים תשומת לב", "Filas locais e dependências da cascata": "תורים מקומיים ותלויות בצינור", "Niche": "נישה", "Blueprints": "שרטוטים", "Brand": "מותג", "Script": "תסריט", "Title": "כותרת", "Thumbnail": "תמונה ממוזערת", "Video": "וידאו", "Edit": "עריכה", "fila": "תור", "na biblioteca": "בספרייה", "tarefa(s) na fila": "משימה/משימות בתור", "Language": "שפה", "Theme": "ערכת נושא", "Dark": "כהה", "Light": "בהיר",
1387
+ "Início": "דף הבית", "Niche Finder": "מאתר נישות", "Pipeline": "צינור עבודה", "Pipeline TikTok": "צינור TikTok", "Automação": "אוטומציה", "Edição": "עריכה", "AI Influencers": "משפיעני AI", "Configurações": "הגדרות", "Criação de Vídeos": "יצירת וידאו", "Criação de Músicas": "יצירת מוזיקה", "Roteiros": "תסריטים", "Upload": "העלאה", "Prompts Master": "מאסטרים של פרומפטים", "Contas TikTok": "חשבונות TikTok", "Automação Youtube": "אוטומציית YouTube", "Niche Finder Kaggle": "מאתר נישות Kaggle", "Niche Finder Apify": "מאתר נישות Apify", "Limpador de Metadados": "מנקה מטא־נתונים", "Cortes": "חיתוכים", "Editor Python": "עורך Python", "Download Mídia": "הורדת מדיה", "Personagens": "דמויות", "Contas Instagram": "רשתות חברתיות", "Tutorial Meta": "מדריך Meta", "Tutorial Supabase": "מדריך Supabase", "Canais Youtube": "ערוצי YouTube", "Blueprints Youtube": "שרטוטי YouTube", "Contas Google": "חשבונות Google", "Configuração API": "הגדרת API", "Notificações": "התראות", "Interface local para operação e automação de conteúdo faceless": "ממשק מקומי להפעלה ולאוטומציה של תוכן ללא הופעה", "Canais": "ערוצים", "activos": "פעילים", "Tarefas": "משימות", "total registado": "סה״כ רשומים", "A fazer": "לביצוע", "na pipeline": "בצינור העבודה", "Em execução": "בהרצה", "a decorrer": "בתהליך", "Concluídos": "הושלמו", "artefactos prontos": "תוצרים מוכנים", "Falhas": "כשלים", "requerem atenção": "דורשים תשומת לב", "Filas locais e dependências da cascata": "תורים מקומיים ותלויות בצינור", "Niche": "נישה", "Blueprints": "שרטוטים", "Brand": "מותג", "Script": "תסריט", "Title": "כותרת", "Thumbnail": "תמונה ממוזערת", "Video": "וידאו", "Edit": "עריכה", "fila": "תור", "na biblioteca": "בספרייה", "tarefa(s) na fila": "משימה/משימות בתור", "Language": "שפה", "Theme": "ערכת נושא", "Dark": "כהה", "Light": "בהיר",
1388
1388
  "LLM — providers e modelos": "LLM — ספקים ומודלים", "Adicionar provider LLM": "הוסף ספק LLM", "Provider LLM": "ספק LLM", "Configurar Novo Provedor LLM": "הגדרת ספק LLM חדש", "API key": "מפתח API", "Modelo": "מודל", "Base URL": "כתובת URL בסיסית", "Modelo manual": "מודל ידני", "Escrever modelo manualmente": "כתיבת מודל ידנית", "Provider activo": "ספק פעיל", "LLM Telegram": "LLM Telegram", "Testar chamada API": "בדיקת קריאת API", "Consultar modelos": "קבלת מודלים", "Salvar": "שמירה", "Remover cartão": "הסרת כרטיס", "Último teste:": "בדיקה אחרונה:", "Teste API:": "בדיקת API:", "Missing key": "מפתח חסר", "Missing configuration": "הגדרה חסרה", "Configured": "מוגדר", "Local / sem API key": "מקומי / ללא מפתח API", "Este provider não exige API key.": "ספק זה אינו דורש מפתח API.", "Prioridade": "LLM ראשי", "Ordem de tentativa do pool LLM: 1 é o primeiro; em falha elegível, seguem-se as prioridades seguintes.": "השתמש בכרטיס זה כספק הראשי ליצירת נושאים, תסריטים, כותרות ומילות מפתח.", "Usar este cartão exclusivamente para o roteamento de notificações Telegram. Apenas um cartão pode ficar seleccionado.": "השתמש בכרטיס זה אך ורק לניתוב התראות Telegram. ניתן לבחור כרטיס אחד בלבד.", "Account Id": "מזהה חשבון", "Gateway Id": "מזהה שער", "Api Version": "גרסת API", "Endpoint gerido pelo provider: ": "נקודת קצה בניהול הספק: ", "Endpoint OpenAI-compatible deste provider; só aparece quando é configurável.": "נקודת קצה תואמת OpenAI; מוצגת רק כאשר ניתן להגדירה.", "ID do modelo usado pelo endpoint Chat Completions.": "מזהה המודל שבו משתמשת נקודת הקצה Chat Completions.", "Arquivos Base": "קבצי בסיס", "Pipeline Vídeos": "צינור וידאו", "Canais e Perfis de Vídeos": "ערוצי ופרופילי וידאו", "Canais/Perfis (Vídeos)": "ערוצי ופרופילי וידאו", "Canais YouTube": "ערוצי YouTube", "Facebook Pages": "דפי Facebook", "Prompt Masters": "מאסטרים של פרומפטים", "Backlog Vídeos": "צבר וידאו", "Thumbnails": "תמונות ממוזערות", "Música": "מוזיקה", "Upload Música": "העלאת מוזיקה", "Geração de Conteúdo IA": "יצירת תוכן AI", "Motion Control": "בקרת תנועה", "UGC Products": "מוצרי UGC", "Growth": "צמיחה", "Analista Growth Youtube": "אנליסט צמיחת YouTube", "Analista Growth Tiktok": "אנליסט צמיחת TikTok", "Analista Growth Instagram": "אנליסט צמיחת Instagram", "Documentação": "תיעוד", "Tutorial Kaggle": "מדריך Kaggle", "Tutorial Apify": "מדריך Apify", "Pipeline Música": "צינור מוזיקה", "módulos disponíveis": "מודולים זמינים", "Guardar INNERTUBE_API_KEY global": "שמירת INNERTUBE_API_KEY גלובלי", "Gerar tópico, roteiro e palavras-chave com IA": "יצירת נושא, תסריט ומילות מפתח בעזרת AI", "A gerar tópico, roteiro e palavras-chave com IA…": "יוצר נושא, תסריט ומילות מפתח בעזרת AI…", "Tema, roteiro e palavras-chave gerados com IA.": "הנושא, התסריט ומילות המפתח נוצרו בעזרת AI.", "Preencha o campo Video Subject ou use o botão de geração automática abaixo das keywords.": "מלא את השדה Video Subject או השתמש בלחצן היצירה האוטומטית שמתחת למילות המפתח.", "Refazer thumbnail": "יצירת תמונה ממוזערת מחדש", "Salvar rascunho": "שמירת טיוטה", "Rascunho guardado localmente": "הטיוטה נשמרה מקומית", "Thumbnail refeita com sucesso.": "התמונה הממוזערת נוצרה מחדש בהצלחה.", "Ver prompt da thumbnail": "צפייה בפרומפט התמונה הממוזערת", "Sem imagem": "אין תמונה", "Imagem ainda não gerada": "התמונה עדיין לא נוצרה", "Palavras-chave": "מילות מפתח", "Título do rascunho": "כותרת הטיוטה", "Gerar de Rascunho": "יצירה מטיוטה", "Roteiros guardados": "תסריטים שמורים", "Seleccione um roteiro": "בחירת תסריט", "Configurações a completar": "הגדרות להשלמה", "Configurações de vídeo": "הגדרות וידאו", "Configurações de áudio": "הגדרות שמע", "Configurações de legendas": "הגדרות כתוביות", "Continuar criação": "המשך יצירה", "Gerar apenas o vídeo": "יצירת הווידאו בלבד", "Seleccione um canal para continuar.": "בחר ערוץ כדי להמשיך.", "Ainda não existem roteiros guardados.": "עדיין אין תסריטים שמורים.", "Histórico guardado": "היסטוריה שמורה", "Rascunho local": "טיוטה מקומית", "Origem": "מקור", "Brandings": "מיתוגים", "Pesquisa pública": "חיפוש ציבורי", "Cadastro manual": "רישום ידני", "Contas cadastradas": "חשבונות רשומים", "Biblioteca": "ספרייה", "Importar do YouTube": "ייבוא מ-YouTube", "Canais em lote gmail": "ערוצי Gmail באצווה", "Criar vídeo": "יצירת וידאו", "Vídeos": "סרטונים", "Novo roteiro/letra": "תסריט/מילים חדשים", "Clusters encontrados": "אשכולות שנמצאו", "Regras de associação": "כללי שיוך", "Dados analisados": "נתונים שנותחו", "Upload ficheiro": "העלאת קובץ", "URL de vídeo": "כתובת URL של וידאו", "Vídeos gerados": "סרטונים שנוצרו", "Pasta local": "תיקייה מקומית", "Código Python": "קוד Python", "Upload convencional": "העלאה רגילה", "Upload directo": "העלאה ישירה", "API Keys": "מפתחות API", "Teste de Voz": "בדיקת קול", "Serviços e modelos": "שירותים ומודלים", "Fontes de Materiais": "מקורות מדיה", "Client MCP": "לקוח MCP", "Servidor MCP": "שרת MCP", "Skill": "מיומנות", "Guia de configuração do Supabase para automações com n8n.": "מדריך להגדרת Supabase לאוטומציות עם n8n.", "Adicionar fonte de materiais": "הוספת מקור מדיה", "Provedor de materiais": "ספק מדיה", "Configurar Nova Fonte de Materiais": "הגדרת מקור מדיה חדש", "Fonte activa": "מקור פעיל", "Usar esta fonte na pipeline": "שימוש במקור זה בצינור", "Esta fonte não usa API key.": "מקור זה אינו משתמש במפתח API.", "A testar chamada API…": "בודק קריאת API…", "Último teste: API Key OK": "בדיקה אחרונה: מפתח API תקין", "Último teste: falta configuração": "בדיקה אחרונה: חסרה הגדרה", "Último teste: requer autorização ou endpoint seguro": "בדיקה אחרונה: נדרש אישור נוסף או נקודת קצה בטוחה", "Último teste: chamada falhou": "בדיקה אחרונה: הקריאה נכשלה", "Testar credenciais TTS e música": "בדיקת פרטי הגישה של TTS ומוזיקה",
1389
1389
  },
1390
1390
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@danhachuel/thunderbolt",
3
- "version": "0.6.69",
3
+ "version": "0.6.71",
4
4
  "description": "Thunderbolt — interface local para operação de canais faceless e motor MoneyPrinterTurbo",
5
5
  "license": "MIT",
6
6
  "main": "scripts/cli.mjs",