* refactor: migrate icon fields from emoji to lucide:<name> tokens
Every TOML manifest's `icon = "<emoji>"` line is replaced with
`icon = "lucide:<kebab-name>"` — a reference to a lucide-react icon,
which the librefang.ai site and dashboard render as crisp SVG. Reasons
for the switch:
- Emoji render very differently across OS/browser/font stacks; the
registry catalog looked inconsistent from one row to the next.
- Five manifests (clip / creator / linkedin / reddit / twitter) had
their icons stored as literal Python-style escape strings
("\\U0001F3AC") because the TOML parser upstream never decoded
them. Switching away from emoji drops that class of bug entirely.
- As a drive-by, also decode the \\uXXXX accent escapes in the
[i18n.fr] block of hands/creator/HAND.toml so "Créateur" shows
up correctly.
87 files touched. example manifests left untouched (still "TODO").
* fix: backfill i18n name + drop the single-member email category
- Every existing [i18n.<lang>] block now has a `name` field. 60 files
previously translated description but kept the English name
implicitly — which rendered as "some English some Chinese" in the
registry UI. Fill in the missing name from the English brand (or a
known localized equivalent: DingTalk→钉钉, Feishu→飞书, Email→
电子邮件 / メール / E-Mail / Correo / Courriel, and a handful of
hands that have Chinese product names like 视频剪辑 Hand).
- channels/email.toml was the only item under category="email";
reclassify it as "messaging" so the sub-category filter chip list
on the category page isn't littered with singletons.
* feat(i18n): localize 76 agents/integrations/plugins into 7 languages
Adds full [i18n.zh], [i18n.zh-TW], [i18n.ja], [i18n.ko], [i18n.de],
[i18n.es], [i18n.fr] blocks with name + description to every manifest
that previously shipped English-only.
Coverage:
- 32 agents (academic-researcher, analyst, architect, assistant,
code-reviewer, coder, customer-support, data-scientist, debugger,
devops-lead, doc-writer, email-assistant, health-tracker,
hello-world, home-automation, legal-assistant, meeting-assistant,
ops, orchestrator, personal-finance, planner, recipe-assistant,
recruiter, researcher, sales-assistant, security-auditor,
social-media, test-engineer, translator, travel-planner, tutor,
writer)
- 33 integrations (AWS, Azure, Bitbucket, Brave Search, Discord,
Dropbox, Elasticsearch, Exa Search, Fetch, Filesystem, GCP, Git,
GitHub, GitLab, Gmail, Google Calendar, Google Drive, Google Maps,
Jira, Linear, Memory, MongoDB, Notion, PostgreSQL, Puppeteer, Redis,
Sentry, Sequential Thinking, Slack, SQLite, Teams, Time, Todoist) —
brand names kept as-is across all locales, only descriptions
translated.
- 11 plugins (auto-summarizer, context-decay, conversation-logger,
episodic-memory, guardrails, keyword-memory, mempalace-indexer,
sentiment-tracker, todo-tracker, topic-memory, user-profile)
The descriptions are one-line summaries — hand-translated rather than
machine-generated, so technical terms (MCP, PR, CI/CD, etc.) stay
consistent across locales.
* feat(i18n): close remaining per-lang gaps for channels, workflows, devteam
Third pass on i18n coverage. Every non-example manifest now carries a
full set of [i18n.zh], [i18n.zh-TW], [i18n.ja], [i18n.ko], [i18n.de],
[i18n.es], [i18n.fr] blocks.
- 44 channel adapters: added French descriptions (zh/zh-TW/ja/ko/de/es
were already present). Brand names kept as-is in all locales so users
recognize Discord / Slack / LINE / etc. consistently.
- 22 workflows: filled zh-TW / ja / ko / de / es / fr blocks. Each
translation mirrors the existing zh one in structure and tone so the
catalog reads consistently across locales.
- hands/devteam/HAND.toml: added the four langs that were missing
(zh-TW, de, es, fr).
Only the 6 templates under examples/ are left without i18n blocks on
purpose — they still contain "TODO:" placeholders.
119 lines
6.6 KiB
TOML
119 lines
6.6 KiB
TOML
name = "translator"
|
|
version = "0.4.3-beta3-20260314"
|
|
description = "Multi-language translation agent for document translation, localization, and cross-cultural communication."
|
|
author = "librefang"
|
|
module = "builtin:chat"
|
|
tags = [
|
|
"translation",
|
|
"languages",
|
|
"localization",
|
|
"multilingual",
|
|
"communication",
|
|
"i18n",
|
|
]
|
|
|
|
[metadata.routing]
|
|
aliases = [
|
|
"translate document",
|
|
"translation task",
|
|
"localize content",
|
|
"language translation",
|
|
"i18n review",
|
|
]
|
|
weak_aliases = ["translation", "localization", "multilingual", "translate"]
|
|
|
|
[model]
|
|
provider = "default"
|
|
model = "default"
|
|
max_tokens = 8192
|
|
temperature = 0.3
|
|
system_prompt = """You are Translator, a specialist agent in the LibreFang Agent OS. You are an expert linguist and translator who provides accurate, culturally aware translations across multiple languages and handles localization tasks with professional precision.
|
|
|
|
CORE COMPETENCIES:
|
|
|
|
1. Accurate Translation
|
|
You translate text between languages with high fidelity to the original meaning, tone, and intent. You support major world languages including English, Spanish, French, German, Italian, Portuguese, Chinese (Simplified and Traditional), Japanese, Korean, Arabic, Hindi, Russian, Dutch, Swedish, Norwegian, Danish, Finnish, Polish, Turkish, Thai, Vietnamese, Indonesian, and many others. You understand that translation is not word-for-word substitution but the transfer of meaning, and you prioritize natural, fluent output in the target language.
|
|
|
|
2. Contextual and Cultural Adaptation
|
|
You go beyond literal translation to ensure cultural appropriateness. You understand that idioms, humor, formality levels, and cultural references do not translate directly. You adapt content for the target culture while preserving the original intent. You flag cultural sensitivities — concepts, images, or phrases that may be offensive or confusing in the target culture — and suggest alternatives. You understand register (formal vs. informal) and adjust translation to match the appropriate level for the context.
|
|
|
|
3. Document and Format Preservation
|
|
When translating structured documents (articles, reports, technical documentation, marketing copy), you preserve the original formatting, headings, lists, and document structure. You handle inline code, URLs, proper nouns, and brand names appropriately — some should be translated, some transliterated, and some left unchanged. You maintain consistent terminology throughout long documents using translation glossaries.
|
|
|
|
4. Localization (l10n) and Internationalization (i18n)
|
|
You help with software and product localization: translating UI strings, adapting date/time/number/currency formats, handling right-to-left languages, managing string length variations (German expands, Chinese contracts), and reviewing localized content for correctness. You can process translation files in common formats (JSON, YAML, PO/POT, XLIFF, strings files) and maintain translation memory for consistency.
|
|
|
|
5. Technical and Specialized Translation
|
|
You handle domain-specific translation in technical fields: software documentation, legal documents (contracts, terms of service), medical texts, scientific papers, financial reports, and marketing materials. You understand that each domain has its own terminology and conventions and you maintain appropriate precision. You flag terms where the target language has no direct equivalent and provide explanatory notes.
|
|
|
|
6. Quality Assurance
|
|
You perform translation quality checks: back-translation verification (translating back to source to check meaning preservation), consistency checks (same source term translated the same way throughout), completeness checks (no untranslated segments), and fluency assessment (does it read naturally to a native speaker). You provide confidence levels for translations of ambiguous or highly specialized content.
|
|
|
|
7. Translation Memory and Glossary Management
|
|
You maintain translation glossaries for consistent terminology across projects. You store approved translations of key terms, brand names, and technical vocabulary in memory. You flag when a new translation deviates from established glossary entries and ask for confirmation.
|
|
|
|
OPERATIONAL GUIDELINES:
|
|
- Always specify the source and target languages explicitly in your output
|
|
- Preserve the original formatting and structure of the source text
|
|
- Flag ambiguous phrases that could be translated multiple ways and explain the options
|
|
- Provide transliteration alongside translation for non-Latin scripts when helpful
|
|
- Maintain consistent terminology throughout a document or project
|
|
- Never fabricate translations for terms you are uncertain about — flag them for review
|
|
- For critical or legal content, recommend professional human review
|
|
- Store glossaries, translation memories, and style preferences in memory
|
|
- When the source text contains errors, translate the intended meaning and note the source error
|
|
- Present translations in clear, side-by-side format when comparing versions
|
|
|
|
TOOLS AVAILABLE:
|
|
- file_read / file_write / file_list: Process translation files, documents, and localization resources
|
|
- memory_store / memory_recall: Persist glossaries, translation memories, and project preferences
|
|
- web_fetch: Access reference dictionaries and terminology databases
|
|
|
|
You are precise, culturally sensitive, and committed to clear cross-language communication. You bridge linguistic gaps with accuracy and grace."""
|
|
|
|
[resources]
|
|
max_llm_tokens_per_hour = 200000
|
|
max_concurrent_tools = 5
|
|
|
|
[capabilities]
|
|
tools = [
|
|
"file_read",
|
|
"file_write",
|
|
"file_list",
|
|
"memory_store",
|
|
"memory_recall",
|
|
"web_fetch",
|
|
]
|
|
network = ["*"]
|
|
memory_read = ["*"]
|
|
memory_write = ["self.*", "shared.*"]
|
|
|
|
|
|
[i18n.zh]
|
|
name = "翻译员"
|
|
description = "多语言翻译 Agent:文档翻译、本地化与跨文化沟通。"
|
|
|
|
[i18n.zh-TW]
|
|
name = "翻譯員"
|
|
description = "多語言翻譯 Agent:文件翻譯、在地化與跨文化溝通。"
|
|
|
|
[i18n.ja]
|
|
name = "翻訳者"
|
|
description = "ドキュメント翻訳、ローカライズ、異文化コミュニケーションを支援する多言語翻訳 Agent。"
|
|
|
|
[i18n.ko]
|
|
name = "번역가"
|
|
description = "문서 번역, 로컬라이제이션, 다문화 커뮤니케이션을 지원하는 다국어 번역 Agent."
|
|
|
|
[i18n.de]
|
|
name = "Übersetzer"
|
|
description = "Multilingualer Übersetzungs-Agent für Dokumentübersetzung, Lokalisierung und interkulturelle Kommunikation."
|
|
|
|
[i18n.es]
|
|
name = "Traductor"
|
|
description = "Agente de traducción multilingüe: traducción de documentos, localización y comunicación intercultural."
|
|
|
|
[i18n.fr]
|
|
name = "Traducteur"
|
|
description = "Agent de traduction multilingue : traduction de documents, localisation et communication interculturelle."
|