Files
OmniRoute/bin/cli/locales/km.json
Diego Rodrigues de Sa e Souza 9d9284417c fix(cli): translate the CLI for every locale (38 catalogs were nearly empty) (#13892)
sync-ui-keys --catalog=cli + blocking i18n:check-keys:cli gate; 65 CLI catalogs synced (52,000 strings, 0 __MISSING__, all 830 keys, placeholders verified). ⚠️ base-red inherited: #12732
2026-09-16 12:27:59 -03:00

1341 lines
98 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"common": {
"error": "កំហុស៖ {message}",
"serverOffline": "ម៉ាស៊ីនមេ OmniRoute មិនដំណើរការ។ ចាប់ផ្ដើមវាដោយ៖ omniroute serve",
"authRequired": "ទាមទារការផ្ទៀងផ្ទាត់អត្តសញ្ញាណ។ កំណត់ OMNIROUTE_API_KEY ឬដំណើរការ៖ omniroute setup",
"rateLimited": "បានលើសដែនកំណត់អត្រា។ សាកល្បងម្ដងទៀតក្រោយ {seconds}s។",
"timeout": "សំណើបានអស់ពេលក្រោយ {ms}ms។",
"success": "រួចរាល់។",
"yes": "បាទ/ចាស",
"no": "ទេ",
"confirm": "តើអ្នកប្រាកដទេ? (បាទ/ចាស/ទេ)",
"dryRun": "[dry-run] នឹង {action}",
"cancelled": "បានបោះបង់។",
"jsonOpt": "បញ្ចេញលទ្ធផលជា JSON",
"yesOpt": "រំលងសារស្នើឱ្យបញ្ជាក់"
},
"setup": {
"title": "ការដំឡើង OmniRoute",
"passwordPrompt": "ពាក្យសម្ងាត់អ្នកគ្រប់គ្រង",
"providerPrompt": "អ្នកផ្ដល់សេវាលំនាំដើម (ទុកទទេដើម្បីរំលង)",
"done": "ការដំឡើងបានបញ្ចប់",
"passwordSet": "បានកំណត់ពាក្យសម្ងាត់អ្នកគ្រប់គ្រង",
"providerSet": "បានកំណត់រចនាសម្ព័ន្ធអ្នកផ្ដល់សេវា៖ {name}",
"testingProvider": "កំពុងសាកល្បងការតភ្ជាប់អ្នកផ្ដល់សេវា៖ {name}",
"testPassed": "ការសាកល្បងអ្នកផ្ដល់សេវាបានជោគជ័យ",
"testFailed": "ការសាកល្បងអ្នកផ្ដល់សេវាបានបរាជ័យ៖ {error}",
"loginEnabled": "ការចូល៖ បានបើក (បានធ្វើបច្ចុប្បន្នភាពពាក្យសម្ងាត់)",
"loginDisabled": "ការចូល៖ បានបិទ",
"providerInfo": "អ្នកផ្ដល់សេវា៖ {info}",
"opencode": "ដំឡើង និងកំណត់រចនាសម្ព័ន្ធ @omniroute/opencode-plugin ដែលបានភ្ជាប់មកជាមួយ សម្រាប់ OpenCode"
},
"doctor": {
"title": "ការវិនិច្ឆ័យ OmniRoute",
"dbOk": "មូលដ្ឋានទិន្នន័យ៖ ដំណើរការល្អ ({path})",
"dbMissing": "មូលដ្ឋានទិន្នន័យ៖ មិនទាន់បានចាប់ផ្ដើម — ដំណើរការ `omniroute setup`",
"portOk": "ច្រក {port}៖ អាចប្រើបាន",
"portConflict": "ច្រក {port}៖ កំពុងត្រូវបានប្រើដោយដំណើរការផ្សេង",
"encryptionOk": "សោអ៊ិនគ្រីប៖ បានកំណត់រចនាសម្ព័ន្ធ",
"encryptionMissing": "បាត់សោអ៊ិនគ្រីប — ដំណើរការ `omniroute setup`",
"allGood": "ការត្រួតពិនិត្យទាំងអស់បានជោគជ័យ។",
"warnings": "មានការព្រមានចំនួន {count} — សូមមើលខាងលើ។"
},
"providers": {
"title": "អ្នកផ្ដល់សេវា",
"noProviders": "មិនមានអ្នកផ្ដល់សេវាដែលបានកំណត់រចនាសម្ព័ន្ធទេ។ ដំណើរការ៖ omniroute setup",
"testing": "កំពុងសាកល្បង {name}...",
"available": "មានអ្នកផ្ដល់សេវាចំនួន {count} អាចប្រើបាន",
"connected": "បានតភ្ជាប់",
"disconnected": "បានផ្តាច់ការតភ្ជាប់",
"validationFailed": "ការផ្ទៀងផ្ទាត់បានបរាជ័យ៖ {error}",
"metrics": {
"description": "បង្ហាញរង្វាស់ប្រសិទ្ធភាពរបស់អ្នកផ្តល់សេវា (រយៈពេលឆ្លើយតប អត្រាជោគជ័យ និងថ្លៃចំណាយ)",
"provider": "ត្រងតាម ID របស់អ្នកផ្តល់សេវា",
"connection_id": "ត្រងតាម ID ការតភ្ជាប់",
"period": "រយៈពេល៖ 1h|6h|24h|7d|30d (លំនាំដើម៖ 24h)",
"metric": "ផ្តោតលើវាលរង្វាស់ជាក់លាក់មួយ",
"sort": "តម្រៀបតាមវាល (លំដាប់ចុះ)",
"limit": "ចំនួនជួរអតិបរមា (លំនាំដើម៖ 50)",
"watch": "ផ្ទុកឡើងវិញរៀងរាល់ 5s (របៀបផ្ទាល់)",
"compare": "ID អ្នកផ្តល់សេវាដែលបំបែកដោយសញ្ញាក្បៀស ដើម្បីប្រៀបធៀបផ្ទឹមគ្នា"
},
"metric_single": {
"description": "ទទួលបានតម្លៃរង្វាស់តែមួយសម្រាប់ការតភ្ជាប់ជាក់លាក់"
},
"rotate": {
"description": "ប្តូរ upstream API key សម្រាប់ការតភ្ជាប់របស់អ្នកផ្តល់សេវា",
"newKeyOpt": "តម្លៃ API key ថ្មី (គួរជៀសវាង៖ សូមប្រើ --from-env)",
"fromEnvOpt": "អាន key ថ្មីពីអថេរបរិស្ថាន VAR",
"oauthOpt": "ចាប់ផ្តើមលំហូរផ្ទៀងផ្ទាត់ OAuth ឡើងវិញជំនួសវិញ",
"skipTestOpt": "រំលងការធ្វើតេស្តការតភ្ជាប់បន្ទាប់ពីប្តូរ",
"dryRunOpt": "បង្ហាញអ្វីដែលនឹងផ្លាស់ប្តូរដោយមិនរក្សាទុក",
"confirmPrompt": "ជំនួស API key សម្រាប់ការតភ្ជាប់ \"{name}\" ({id}) មែនទេ? [y/N]",
"dryRunResult": "[dry-run] នឹងប្តូរ key សម្រាប់ \"{name}\" ({id})។ មិនមានការផ្លាស់ប្តូរណាមួយត្រូវបានធ្វើឡើយ។",
"oauthHint": "ការតភ្ជាប់ OAuth — ដំណើរការ៖ omniroute oauth {provider}",
"envVarEmpty": "អថេរបរិស្ថាន {var} មិនទាន់បានកំណត់ ឬទទេ។",
"success": "បានប្តូរ key សម្រាប់ \"{name}\"។ ដំណើរការ `providers test {id}` ដើម្បីផ្ទៀងផ្ទាត់។",
"testPassed": "ការធ្វើតេស្តបន្ទាប់ពីប្តូរបានជោគជ័យ។",
"testFailed": "ការធ្វើតេស្តបន្ទាប់ពីប្តូរបានបរាជ័យ៖ {error}"
},
"status": {
"description": "បង្ហាញស្ថានភាព key សម្រាប់ការតភ្ជាប់របស់អ្នកផ្តល់សេវាទាំងអស់ (អាយុកាល ការផុតកំណត់ និងរយៈពេលរង់ចាំ)",
"providerOpt": "ត្រងតាមឈ្មោះអ្នកផ្តល់សេវា",
"header": "ID អ្នកផ្តល់សេវា ឈ្មោះ ស្ថានភាពផុតកំណត់ ស្ថានភាពតេស្ត រយៈពេលរង់ចាំដល់",
"noData": "មិនមានទិន្នន័យការតភ្ជាប់របស់អ្នកផ្តល់សេវាទេ។",
"requiresServer": "providers status តម្រូវឱ្យម៉ាស៊ីនមេ OmniRoute កំពុងដំណើរការ។"
}
},
"keys": {
"title": "សោ API",
"addDescription": "បន្ថែម ឬធ្វើបច្ចុប្បន្នភាព API key សម្រាប់អ្នកផ្តល់សេវា",
"listDescription": "រាយ API keys ដែលបានកំណត់រចនាសម្ព័ន្ធទាំងអស់",
"removeDescription": "លុប API key សម្រាប់អ្នកផ្តល់សេវា",
"regenerateDescription": "បង្កើត OmniRoute API key ឡើងវិញ",
"revokeDescription": "ដកហូត OmniRoute API key",
"revealDescription": "បង្ហាញតម្លៃ API key ដែលមិនបានបិទបាំង",
"usageDescription": "បង្ហាញការប្រើប្រាស់ថ្មីៗសម្រាប់ API key",
"usageLimitOpt": "ចំនួនសំណើថ្មីៗ",
"rotateDescription": "បង្កើត key ថ្មី និងធ្វើឱ្យ key ចាស់លែងមានសុពលភាព",
"graceOpt": "រយៈពេលអនុគ្រោះ (ms) មុនពេលសោចាស់ត្រូវបានធ្វើឱ្យអសុពលភាព",
"stdinOpt": "អានសោ API ពី stdin ជំនួសឱ្យអាគុយម៉ង់",
"added": "បានបន្ថែមសោសម្រាប់ {provider}។",
"removed": "បានដកសោចេញ។",
"listed": "សោចំនួន {count}។",
"noKeys": "មិនមានសោដែលបានកំណត់រចនាសម្ព័ន្ធទេ។",
"noUsage": "រកមិនឃើញទិន្នន័យការប្រើប្រាស់ទេ។",
"confirmRemove": "ដកសោ {id} ចេញឬ?",
"confirmRegenerate": "បង្កើតសោ {id} ឡើងវិញឬ?",
"confirmRevoke": "ដកហូតសោ {id} ឬ?",
"confirmRotate": "ប្ដូរសោ {id} ឬ? (សោចាស់នឹងត្រូវបានធ្វើឱ្យអសុពលភាពបន្ទាប់ពីរយៈពេលអនុគ្រោះ)",
"regenerated": "បានបង្កើតឡើងវិញ។ សោថ្មី៖ {key}",
"revoked": "បានដកហូតសោ {id}។",
"rotated": "បានប្ដូរសោ {id}។ ID សោថ្មី៖ {newId}",
"revealWarning": "⚠ វានឹងបង្ហាញសោពេញលេញដោយគ្មានការបិទបាំង។ សូមប្រាកដថាអេក្រង់របស់អ្នកមានភាពឯកជន។",
"providerRequired": "តម្រូវឱ្យមានអ្នកផ្តល់សេវា។",
"keyRequired": "តម្រូវឱ្យមានសោ API។",
"stdinEmpty": "មិនមានសោ API ដែលបានផ្ដល់តាមរយៈ stdin ទេ។",
"unknownProvider": "អ្នកផ្តល់សេវាដែលមិនស្គាល់៖ {provider}",
"policy": {
"title": "គោលការណ៍សោ",
"showDescription": "បង្ហាញគោលការណ៍កម្រិតអត្រា/ថ្លៃចំណាយសម្រាប់សោមួយ",
"setDescription": "កំណត់គោលការណ៍កម្រិតអត្រា/ថ្លៃចំណាយសម្រាប់សោមួយ",
"rateLimitOpt": "ចំនួនសំណើអតិបរមាក្នុងមួយនាទី",
"maxCostOpt": "ថ្លៃចំណាយអតិបរមាក្នុងមួយថ្ងៃ (USD)",
"allowedModelsOpt": "បញ្ជីម៉ូដែលដែលអនុញ្ញាត បំបែកដោយសញ្ញាក្បៀស",
"nothingToSet": "មិនមានវាលគោលការណ៍ដែលបានផ្ដល់ទេ។ ប្រើ --rate-limit, --max-cost ឬ --allowed-models។",
"updated": "បានធ្វើបច្ចុប្បន្នភាពគោលការណ៍។"
},
"expiration": {
"title": "ការផុតកំណត់សោ",
"listDescription": "រាយបញ្ជីសោដែលជិតផុតកំណត់",
"daysOpt": "បង្ហាញសោដែលនឹងផុតកំណត់ក្នុងរយៈពេល N ថ្ងៃ",
"none": "មិនមានសោដែលនឹងផុតកំណត់ក្នុងរយៈពេល {days} ថ្ងៃទេ។",
"listTitle": "សោដែលនឹងផុតកំណត់ក្នុងរយៈពេល {days} ថ្ងៃ៖"
}
},
"authExport": {
"description": "នាំចេញព័ត៌មានសម្ងាត់របស់អ្នកផ្តល់សេវាដែលបានឌិគ្រីប (សម្រាប់តែក្នុងមូលដ្ឋាន លទ្ធផលជាអត្ថបទធម្មតា)",
"idOpt": "នាំចេញតែការតភ្ជាប់ដែលត្រូវគ្នានឹង id/ឈ្មោះ/អ្នកផ្តល់សេវានេះប៉ុណ្ណោះ",
"formatOpt": "ទម្រង់លទ្ធផល៖ json ឬ env",
"outOpt": "សរសេរលទ្ធផលទៅឯកសារជំនួសឱ្យ stdout (សរសេរដោយមានសិទ្ធិ 0600)",
"forceOpt": "បញ្ជាក់ថាអ្នកយល់ថាវានឹងបោះពុម្ព/សរសេរព័ត៌មានសម្ងាត់ជាអត្ថបទធម្មតា",
"warning": "⚠ វានឹងបោះពុម្ព/សរសេរសោ API និងថូខឹន OAuth ដែលបានឌិគ្រីបជាអត្ថបទធម្មតា។ សូមប្រាកដថាអេក្រង់ ប្រវត្តិ shell និងឯកសារលទ្ធផលណាមួយរបស់អ្នកនៅតែមានភាពឯកជន។",
"confirmHeading": "⚠ ការព្រមាន៖ វានាំចេញព័ត៌មានសម្ងាត់របស់អ្នកផ្តល់សេវាដែលបានឌិគ្រីបជាអត្ថបទធម្មតា",
"confirmBody": "ពាក្យបញ្ជានេះឌិគ្រីប និងបោះពុម្ព/សរសេរ apiKey, accessToken, refreshToken និង\nidToken សម្រាប់ការតភ្ជាប់ដែលបានជ្រើសរើស។ ចាត់ទុកលទ្ធផលនេះជាព័ត៌មានសម្ងាត់។",
"confirmFooter": "ដើម្បីបញ្ជាក់ សូមដំណើរការ៖\n omniroute auth export --force",
"missingKey": "ត្រូវការ STORAGE_ENCRYPTION_KEY ដើម្បីនាំចេញព័ត៌មានសម្ងាត់។",
"notFound": "រកមិនឃើញការតភ្ជាប់៖ {id}",
"invalidFormat": "ទម្រង់មិនត្រឹមត្រូវ៖ {format}។ សូមប្រើ json ឬ env។"
},
"stream": {
"description": "ស្ទ្រីមការឆ្លើយតបនៃការជជែក ជាមួយរបៀបត្រួតពិនិត្យ SSE",
"file": "អានប្រយោគបញ្ជាពីឯកសារ",
"stdin": "អានប្រយោគបញ្ជាពី stdin",
"model": "លេខសម្គាល់ម៉ូដែល (លំនាំដើម៖ auto)",
"system": "ប្រយោគបញ្ជាប្រព័ន្ធ",
"combo": "បង្ខំឱ្យប្រើ combo ជាក់លាក់តាមឈ្មោះ",
"max_tokens": "ចំនួន token អតិបរមាក្នុងការឆ្លើយតប",
"responses_api": "ប្រើ /v1/responses ជំនួសឱ្យ /v1/chat/completions",
"raw": "បង្ហាញបន្ទាត់ SSE ដើមតាមដែលបានទទួល",
"debug": "បង្ហាញព័ត៌មានពេលវេលានៃ chunk នីមួយៗទៅ stderr",
"save": "រក្សាទុកព្រឹត្តិការណ៍ SSE ទាំងអស់ទៅក្នុងឯកសារ .jsonl",
"error": {
"empty_prompt": "កំហុស៖ ត្រូវការប្រយោគបញ្ជា (អាគុយម៉ង់តាមទីតាំង, --file ឬ --stdin)"
}
},
"usage": {
"description": "ការវិភាគការប្រើប្រាស់ ថវិកា កូតា និងកំណត់ហេតុ",
"analytics": {
"description": "បង្ហាញការវិភាគការប្រើប្រាស់សរុប",
"period": "ចន្លោះពេល៖ 1d|7d|30d|90d|ytd|all (លំនាំដើម៖ 30d)",
"provider": "ត្រងតាមលេខសម្គាល់ provider"
},
"budget": {
"description": "គ្រប់គ្រងថវិកាចំណាយ",
"set": {
"scope": "វិសាលភាពថវិកា (លំនាំដើម៖ global)",
"period": "រយៈពេលថវិកា៖ daily|weekly|monthly (លំនាំដើម៖ monthly)"
}
},
"quota": {
"description": "បង្ហាញការប្រើប្រាស់កូតារបស់ provider",
"provider": "ត្រងតាមលេខសម្គាល់ provider",
"check": "បង្ហាញថាតើមានកូតាសម្រាប់សំណើថ្មីឬអត់"
},
"logs": {
"description": "បង្ហាញកំណត់ហេតុការហៅសំណើ",
"limit": "ចំនួនធាតុកំណត់ហេតុដែលត្រូវត្រឡប់ (លំនាំដើម៖ 100)",
"search": "សំណួរស្វែងរកសម្រាប់ត្រងកំណត់ហេតុ",
"since": "ត្រឡប់កំណត់ហេតុចាប់តាំងពីត្រាពេលវេលានេះ",
"follow": "តាមដានធាតុកំណត់ហេតុថ្មីៗជាបន្តបន្ទាប់",
"api_key": "ត្រងកំណត់ហេតុតាម API key"
},
"utilization": {
"description": "បង្ហាញរង្វាស់ការប្រើប្រាស់ API key",
"api_key": "ត្រងតាម API key"
},
"history": {
"description": "បង្ហាញប្រវត្តិសំណើ",
"limit": "ចំនួនធាតុប្រវត្តិ (លំនាំដើម៖ 100)"
},
"proxy_logs": {
"description": "បង្ហាញកំណត់ហេតុសំណើកម្រិត proxy",
"limit": "ចំនួនធាតុកំណត់ហេតុ proxy (លំនាំដើម៖ 100)"
}
},
"cost": {
"description": "បង្ហាញរបាយការណ៍ចំណាយដែលបែងចែកតាម provider, model, combo ឬ API key",
"period": "ចន្លោះពេល៖ 1d|7d|30d|90d|ytd|all (លំនាំដើម៖ 30d)",
"since": "កាលបរិច្ឆេទចាប់ផ្តើម (ទម្រង់ ISO ឧ. 2026-01-01) — សរសេរជាន់លើ --period",
"until": "កាលបរិច្ឆេទបញ្ចប់ (ទម្រង់ ISO)",
"group_by": "ដាក់លទ្ធផលជាក្រុមតាម៖ provider|model|api-key|combo|day (លំនាំដើម៖ provider)",
"api_key_filter": "ត្រងតាម API key ជាក់លាក់មួយ",
"limit": "ចំនួនជួរអតិបរមាដែលត្រូវបង្ហាញ (លំនាំដើម៖ 100)"
},
"simulate": {
"description": "ការក្លែងធ្វើការកំណត់ផ្លូវបែបសាកល្បង — បង្ហាញថា provider ណាខ្លះនឹងត្រូវបានជ្រើសរើស ដោយមិនហៅទៅ upstream",
"file": "ផ្ទុក request body ពេញលេញពីឯកសារ JSON",
"model": "Model ID (លំនាំដើម៖ auto)",
"combo": "បង្ខំឱ្យប្រើ combo ជាក់លាក់មួយតាមឈ្មោះ",
"reasoning": "កម្រិតនៃការវែកញែក (low|medium|high)",
"thinking": "ថវិកា token សម្រាប់ការគិតបន្ថែម",
"explain": "បោះពុម្ពមែកធាង fallback និងចន្លោះតម្លៃទៅ stderr",
"noCombo": "រកមិនឃើញ combo ដែលត្រូវគ្នា។ កំណត់រចនាសម្ព័ន្ធមួយដោយប្រើ៖ omniroute combo create"
},
"chat": {
"description": "ផ្ញើ chat prompt មួយលើកទៅ OmniRoute",
"file": "អាន prompt ពីឯកសារ",
"stdin": "អាន prompt ពី stdin",
"system": "ប្រូមប្រព័ន្ធ",
"model": "Model ID (លំនាំដើម៖ auto)",
"max_tokens": "ចំនួន token អតិបរមាក្នុងការឆ្លើយតប",
"temperature": "សីតុណ្ហភាព sampling (02)",
"top_p": "ការធ្វើ Top-p nucleus sampling",
"reasoning_effort": "កម្រិតនៃការវែកញែក (low|medium|high)",
"thinking_budget": "ថវិកា token សម្រាប់ការគិតបន្ថែម",
"combo": "បង្ខំឱ្យប្រើ combo ជាក់លាក់មួយតាមឈ្មោះ",
"responses_api": "ប្រើ /v1/responses ជំនួសឱ្យ /v1/chat/completions",
"stream": "បញ្ជូនការឆ្លើយតបជាបន្តបន្ទាប់",
"no_history": "កុំរក្សាទុកទៅ ~/.omniroute/cli-history.jsonl",
"error": {
"empty_prompt": "កំហុស៖ តម្រូវឱ្យមាន prompt (positional arg, --file ឬ --stdin)"
}
},
"serve": {
"description": "ចាប់ផ្តើមម៉ាស៊ីនមេ OmniRoute (សកម្មភាពលំនាំដើម)",
"starting": "កំពុងចាប់ផ្តើមម៉ាស៊ីនមេ OmniRoute នៅលើ port {port}...",
"ready": "រួចរាល់នៅ http://localhost:{port}",
"stopping": "កំពុងបញ្ឈប់ម៉ាស៊ីនមេ (PID {pid})...",
"stopped": "ម៉ាស៊ីនមេបានឈប់ហើយ។",
"notRunning": "ម៉ាស៊ីនមេមិនកំពុងដំណើរការទេ។",
"port": "Port សម្រាប់ស្តាប់ (លំនាំដើម៖ 20128)",
"no_open": "កុំបើក browser ដោយស្វ័យប្រវត្តិ",
"daemon": "ដំណើរការម៉ាស៊ីនមេជា daemon ផ្ទៃខាងក្រោយ",
"log": "បង្ហាញ log របស់ម៉ាស៊ីនមេនៅក្នុងបន្ទាត់",
"no_recovery": "បិទការចាប់ផ្តើមឡើងវិញដោយស្វ័យប្រវត្តិពេលគាំង (របៀប debugging)",
"max_restarts": "ចំនួនអតិបរមានៃការចាប់ផ្តើមឡើងវិញបន្ទាប់ពីគាំងក្នុងរយៈពេល 30s មុនពេលបោះបង់ (លំនាំដើម៖ 2)",
"tray": "ចាប់ផ្ដើមក្នុងថាសប្រព័ន្ធ (សម្រាប់កុំព្យូទ័រលើតុប៉ុណ្ណោះ និងត្រូវជ្រើសរើសបើក)",
"no_tray": "បិទរូបតំណាងថាសប្រព័ន្ធ",
"ready_timeout": "រយៈពេលអស់ពេលនៃការត្រួតពិនិត្យភាពរួចរាល់ គិតជាមិល្លីវិនាទី (ក៏អាចប្រើ OMNIROUTE_READY_TIMEOUT_MS ផងដែរ, លំនាំដើម 60000)",
"tls_cert": "ផ្លូវទៅកាន់វិញ្ញាបនបត្រ TLS (PEM) សម្រាប់បម្រើ HTTPS (ក៏ជា OMNIROUTE_TLS_CERT ផងដែរ)",
"tls_key": "ផ្លូវទៅកាន់សោឯកជន TLS (PEM) សម្រាប់បម្រើ HTTPS (ក៏ជា OMNIROUTE_TLS_KEY ផងដែរ)"
},
"backup": {
"title": "ការបម្រុងទុក",
"description": "បង្កើតច្បាប់ចម្លងបម្រុងទុកនៃទិន្នន័យ OmniRoute",
"creating": "កំពុងបង្កើតច្បាប់ចម្លងបម្រុងទុក...",
"done": "បានរក្សាទុកច្បាប់ចម្លងបម្រុងទុកទៅ {path}",
"noFiles": "គ្មានឯកសារសម្រាប់បម្រុងទុកទេ (មូលដ្ឋានទិន្នន័យមិនទាន់ត្រូវបានចាប់ផ្ដើម)",
"failed": "ការបម្រុងទុកបានបរាជ័យ៖ {error}",
"restoring": "កំពុងស្ដារពី {path}...",
"restored": "ការស្ដារបានបញ្ចប់។",
"restoreDescription": "ស្ដារពីច្បាប់ចម្លងបម្រុងទុក",
"listTitle": "ច្បាប់ចម្លងបម្រុងទុកដែលមាន",
"noBackups": "រកមិនឃើញច្បាប់ចម្លងបម្រុងទុកទេ។",
"notFound": "រកមិនឃើញច្បាប់ចម្លងបម្រុងទុក៖ {name}",
"confirmRestore": "សរសេរជាន់លើទិន្នន័យបច្ចុប្បន្នដោយប្រើច្បាប់ចម្លងបម្រុងទុកពី {ts} មែនទេ?",
"createDescription": "បង្កើតច្បាប់ចម្លងបម្រុងទុកនៃទិន្នន័យ OmniRoute",
"nameOpt": "ឈ្មោះច្បាប់ចម្លងបម្រុងទុកផ្ទាល់ខ្លួន",
"cloudOpt": "ផ្ទុកច្បាប់ចម្លងបម្រុងទុកឡើងទៅកន្លែងផ្ទុកលើពពក",
"encryptOpt": "អ៊ិនគ្រីបច្បាប់ចម្លងបម្រុងទុកដោយប្រើ AES-256-GCM",
"keyFileOpt": "ផ្លូវទៅកាន់ឯកសារដែលមានឃ្លាសម្ងាត់សម្រាប់ការអ៊ិនគ្រីប",
"excludeOpt": "មិនរួមបញ្ចូលឯកសារដែលត្រូវនឹងលំនាំ (អាចធ្វើម្ដងទៀតបាន)",
"retentionOpt": "រក្សាទុកតែច្បាប់ចម្លងបម្រុងទុក N ចុងក្រោយ",
"passphrasePrompt": "ឃ្លាសម្ងាត់សម្រាប់ការអ៊ិនគ្រីប៖",
"noPassphrase": "ត្រូវការឃ្លាសម្ងាត់សម្រាប់ច្បាប់ចម្លងបម្រុងទុកដែលបានអ៊ិនគ្រីប។",
"cloudFailed": "ការព្រមាន៖ ការផ្ទុកឡើងទៅពពកបានបរាជ័យ។ ច្បាប់ចម្លងបម្រុងទុកក្នុងម៉ាស៊ីនត្រូវបានរក្សាទុក។",
"cloudUploaded": "បានផ្ទុកច្បាប់ចម្លងបម្រុងទុកឡើងទៅពពក៖ {url}",
"auto": {
"title": "កាលវិភាគបម្រុងទុក",
"enableDescription": "បើកការបម្រុងទុកដោយស្វ័យប្រវត្តិតាមកាលវិភាគ",
"disableDescription": "បិទការបម្រុងទុកដោយស្វ័យប្រវត្តិតាមកាលវិភាគ",
"statusDescription": "បង្ហាញស្ថានភាពកាលវិភាគបម្រុងទុកបច្ចុប្បន្ន",
"cronOpt": "កន្សោម Cron សម្រាប់កាលវិភាគ (លំនាំដើម៖ រៀងរាល់ថ្ងៃនៅម៉ោង 3 ព្រឹក)",
"enabled": "បានបើកការបម្រុងទុកដោយស្វ័យប្រវត្តិ (cron: {cron})។",
"hint": "កាលវិភាគនេះត្រូវបានអានដោយ omniroute serve នៅពេលចាប់ផ្ដើម។",
"disabled": "បានបិទការបម្រុងទុកដោយស្វ័យប្រវត្តិ។",
"notConfigured": "មិនមានកាលវិភាគបម្រុងទុកដែលបានកំណត់ទេ។"
}
},
"health": {
"description": "ពិនិត្យសុខភាពម៉ាស៊ីនមេ និងស្ថានភាពសមាសភាគ",
"noServer": "ម៉ាស៊ីនមេមិនកំពុងដំណើរការទេ។ ចាប់ផ្ដើមដោយ៖ omniroute serve",
"title": "សុខភាព",
"status": "ស្ថានភាព៖ {status}",
"uptime": "រយៈពេលដំណើរការ៖ {uptime}",
"requests": "សំណើ (24 ម៉ោង)៖ {count}",
"cost": "ចំណាយ (24 ម៉ោង)៖ ${cost}"
},
"quota": {
"description": "បង្ហាញការប្រើប្រាស់កូតារបស់អ្នកផ្តល់សេវា",
"noServer": "ម៉ាស៊ីនមេមិនកំពុងដំណើរការទេ។ ចាប់ផ្តើមដោយ៖ omniroute serve",
"noData": "មិនមានព័ត៌មានអំពីកូតាទេ។"
},
"cache": {
"description": "គ្រប់គ្រងឃ្លាំងសម្ងាត់នៃការឆ្លើយតប",
"noServer": "ម៉ាស៊ីនមេមិនកំពុងដំណើរការទេ។ ចាប់ផ្តើមដោយ៖ omniroute serve",
"cleared": "បានសម្អាតឃ្លាំងសម្ងាត់។",
"clearFailed": "មិនអាចសម្អាតឃ្លាំងសម្ងាត់បានទេ។"
},
"redis": {
"description": "បើកដំណើរការកុងតឺន័រ Redis មូលដ្ឋានដោយចុចតែម្តង (Podman ឬ Docker) សម្រាប់ឃ្លាំងសម្ងាត់ និងការតាមដានកូតារបស់ OmniRoute"
},
"test": {
"description": "សាកល្បងការតភ្ជាប់ទៅអ្នកផ្តល់សេវា",
"noServer": "ម៉ាស៊ីនមេមិនកំពុងដំណើរការទេ។ ចាប់ផ្តើមដោយ៖ omniroute serve",
"testing": "កំពុងសាកល្បង {provider} / {model}...",
"passed": "ការតភ្ជាប់បានជោគជ័យ!",
"failed": "ការតភ្ជាប់បានបរាជ័យ៖ {error}",
"allProvidersOpt": "សាកល្បងអ្នកផ្តល់សេវាដែលបានកំណត់រចនាសម្ព័ន្ធទាំងអស់",
"latencyOpt": "បង្ហាញរង្វាស់ភាពយឺតយ៉ាវ (មធ្យម/អប្បបរមា/អតិបរមា ជា ms)",
"repeatOpt": "ធ្វើតេស្តម្តងទៀត N ដង ហើយប្រមូលផ្តុំលទ្ធផល",
"compareOpt": "ម៉ូដែលដែលបំបែកដោយសញ្ញាក្បៀសសម្រាប់ប្រៀបធៀប (ឧ. gpt-4o,claude-3-5-sonnet)",
"saveOpt": "រក្សាទុកលទ្ធផលទៅក្នុងឯកសារ JSON",
"saved": "បានរក្សាទុកលទ្ធផលទៅ {path}",
"compareTitle": "ការប្រៀបធៀបម៉ូដែល",
"compareMinTwo": "ត្រូវការយ៉ាងហោចណាស់ពីរម៉ូដែលសម្រាប់ --compare (បំបែកដោយសញ្ញាក្បៀស)",
"noProviders": "មិនមានអ្នកផ្តល់សេវាដែលបានកំណត់រចនាសម្ព័ន្ធទេ។ បន្ថែមមួយដោយ៖ omniroute keys add"
},
"update": {
"checking": "កំពុងពិនិត្យរកបច្ចុប្បន្នភាព...",
"upToDate": "បានធ្វើបច្ចុប្បន្នភាពរួចហើយ ({version})។",
"available": "មានបច្ចុប្បន្នភាពថ្មី៖ {current} → {latest}",
"installing": "កំពុងដំឡើង {latest}...",
"done": "បានធ្វើបច្ចុប្បន្នភាពទៅ {latest}។ ចាប់ផ្តើមម៉ាស៊ីនមេឡើងវិញដើម្បីអនុវត្ត។"
},
"mcp": {
"title": "ម៉ាស៊ីនមេ MCP",
"running": "ម៉ាស៊ីនមេ MCP កំពុងដំណើរការ ({transport})",
"stopped": "ម៉ាស៊ីនមេ MCP បានឈប់ដំណើរការ។",
"restarted": "ម៉ាស៊ីនមេ MCP បានចាប់ផ្តើមឡើងវិញ។",
"stoppedHint": "ដំណើរការ `omniroute mcp enable` ដើម្បីបើកវា។",
"enabled": "ម៉ាស៊ីនមេ MCP ត្រូវបានបើក។",
"disabled": "ម៉ាស៊ីនមេ MCP ត្រូវបានបិទ។",
"enable": {
"description": "បើកម៉ាស៊ីនមេ MCP",
"transport": "មធ្យោបាយបញ្ជូនដែលត្រូវប្រើ៖ stdio|sse|streamable-http"
},
"disable": {
"description": "បិទម៉ាស៊ីនមេ MCP"
},
"call": {
"description": "ហៅប្រើឧបករណ៍ MCP ដោយផ្ទាល់",
"args": "អាប់ជិចអាគុយម៉ង់ JSON (ក្នុងបន្ទាត់)",
"args_file": "ផ្លូវទៅកាន់ឯកសារអាគុយម៉ង់ JSON",
"stream": "ប្រើ endpoint ស្ទ្រីម (/api/mcp/stream)",
"scope": "វិសាលភាពដែលត្រូវការ (អាចប្រើម្តងហើយម្តងទៀត ឧ. read:health)"
},
"scopes": {
"description": "រាយបញ្ជីវិសាលភាព MCP ដែលមាន",
"tool": "បង្ហាញវិសាលភាពដែលតម្រូវដោយឧបករណ៍ជាក់លាក់មួយ"
},
"tools": {
"description": "ពិនិត្យមើលឧបករណ៍ MCP",
"list": {
"description": "រាយបញ្ជីឧបករណ៍ MCP ទាំងអស់",
"scope": "ត្រងតាមវិសាលភាព"
},
"info": {
"description": "បង្ហាញទិន្នន័យមេតាសម្រាប់ឧបករណ៍ MCP មួយ"
},
"schema": {
"description": "បង្ហាញគ្រោងការណ៍ JSON បញ្ចូល/លទ្ធផល សម្រាប់ឧបករណ៍ MCP មួយ",
"io": "ប្រភេទគ្រោងការណ៍៖ input|output (លំនាំដើម៖ input)"
}
},
"audit": {
"description": "កំណត់ហេតុសវនកម្ម MCP (ឈ្មោះកាត់សម្រាប់ audit --source mcp)"
}
},
"a2a": {
"skills": {
"description": "រាយបញ្ជីជំនាញ A2A ដែលមានពីប័ណ្ណភ្នាក់ងារ"
},
"invoke": {
"description": "ហៅប្រើជំនាញ A2A ហើយត្រឡប់លេខសម្គាល់កិច្ចការ",
"input": "វត្ថុបញ្ចូល JSON",
"input_file": "ផ្លូវទៅកាន់ឯកសារបញ្ចូល JSON",
"wait": "រង់ចាំការបញ្ចប់កិច្ចការមុនពេលត្រឡប់",
"timeout": "រយៈពេលអតិបរមារង់ចាំការបញ្ចប់គិតជា ms (លំនាំដើម៖ 60000)"
},
"tasks": {
"description": "គ្រប់គ្រងកិច្ចការ A2A",
"list": {
"status": "ត្រងតាមស្ថានភាព",
"skill": "ត្រងតាមលេខសម្គាល់ជំនាញ"
},
"watch": {
"description": "ពិនិត្យស្ថានភាពកិច្ចការជាបន្តបន្ទាប់រហូតដល់បញ្ចប់"
},
"stream": {
"description": "ស្ទ្រីមព្រឹត្តិការណ៍ប្រតិបត្តិកិច្ចការតាមរយៈ SSE"
},
"logs": {
"description": "បង្ហាញសារ និងវត្ថុបង្កើតរបស់កិច្ចការ"
}
}
},
"policy": {
"description": "គ្រប់គ្រងគោលការណ៍ផ្តល់សិទ្ធិរបស់ OmniRoute",
"list": {
"description": "រាយបញ្ជីគោលការណ៍",
"kind": "ត្រងតាមប្រភេទ (allow|deny|rate-limit|cost-cap)",
"scope": "ត្រងតាមវិសាលភាព (global|api-key|provider)"
},
"get": {
"description": "ទទួលព័ត៌មានលម្អិតអំពីគោលការណ៍តាមលេខសម្គាល់"
},
"create": {
"description": "បង្កើតគោលការណ៍ពីឯកសារ JSON",
"file": "ផ្លូវទៅកាន់ឯកសារ JSON របស់គោលការណ៍"
},
"update": {
"description": "ធ្វើបច្ចុប្បន្នភាពគោលការណ៍ពីឯកសារ JSON",
"file": "ផ្លូវទៅកាន់ឯកសារ JSON របស់គោលការណ៍"
},
"delete": {
"description": "លុបគោលការណ៍តាមលេខសម្គាល់",
"yes": "រំលងសំណួរបញ្ជាក់"
},
"evaluate": {
"description": "សាកល្បងវាយតម្លៃគោលការណ៍ដោយមិនអនុវត្តជាក់ស្តែង (exit 0=allowed, 4=denied)",
"api_key": "API key ដែលត្រូវវាយតម្លៃ",
"action": "សកម្មភាពដែលត្រូវពិនិត្យ (ឧ. chat, embed, admin)",
"resource": "ផ្លូវ ឬអត្តសញ្ញាណសម្គាល់ធនធាន",
"context": "បរិបទបន្ថែមជាវត្ថុ JSON"
},
"export": {
"description": "នាំចេញគោលការណ៍ទាំងអស់ទៅឯកសារ JSON"
},
"import": {
"description": "នាំចូលគោលការណ៍ពីឯកសារ JSON",
"overwrite": "សរសេរជាន់លើគោលការណ៍ដែលមានស្រាប់ និងមានលេខសម្គាល់ដូចគ្នា"
}
},
"compression": {
"description": "កំណត់រចនាសម្ព័ន្ធ និងពិនិត្យបំពង់ដំណើរការបង្ហាប់របស់ OmniRoute",
"status": {
"description": "បង្ហាញស្ថានភាព និងការកំណត់បង្ហាប់បច្ចុប្បន្ន"
},
"configure": {
"description": "កំណត់រចនាសម្ព័ន្ធការកំណត់បង្ហាប់",
"engine": "ម៉ាស៊ីនបង្ហាប់ (caveman|rtk|hybrid|none)",
"caveman_agg": "កម្រិតខ្លាំងរបស់ Caveman 0.01.0",
"rtk_budget": "កញ្ចប់ថវិកាថូខឹន RTK",
"language_pack": "កញ្ចប់ភាសាដែលត្រូវធ្វើឱ្យសកម្ម"
},
"engine": {
"description": "ទទួលយក ឬកំណត់ម៉ាស៊ីនបង្ហាប់សកម្ម"
},
"combos": {
"description": "គ្រប់គ្រងស្ថិតិបន្សំបង្ហាប់"
},
"rules": {
"description": "គ្រប់គ្រងច្បាប់បង្ហាប់",
"add": {
"pattern": "លំនាំដែលត្រូវផ្គូផ្គង (regex ឬ field:pattern)",
"action": "សកម្មភាព៖ drop|shrink|replace"
}
},
"language_packs": {
"description": "រាយបញ្ជីកញ្ចប់ភាសាសម្រាប់ការបង្ហាប់ដែលមាន"
},
"preview": {
"description": "មើលឥទ្ធិពលនៃការបង្ហាប់លើសំណើជាមុន",
"file": "ផ្លូវទៅកាន់ឯកសារ JSON របស់សំណើ"
}
},
"tunnel": {
"title": "ផ្លូវរូងក្រោមដី",
"listDescription": "រាយបញ្ជីផ្លូវរូងក្រោមដីសកម្ម",
"createDescription": "បង្កើតផ្លូវរូងក្រោមដី",
"created": "បានបង្កើតផ្លូវរូងក្រោមដី៖ {url}",
"stopped": "បានបញ្ឈប់ផ្លូវរូងក្រោមដី។",
"confirmStop": "បញ្ឈប់ផ្លូវរូងក្រោមដី {id}?",
"stopDescription": "បញ្ឈប់ផ្លូវរូងក្រោមដីមួយ",
"statusDescription": "បង្ហាញស្ថានភាពលម្អិតរបស់ផ្លូវរូងក្រោមដី",
"logsDescription": "បង្ហាញកំណត់ហេតុសម្រាប់ផ្លូវរូងក្រោមដី",
"infoDescription": "បង្ហាញព័ត៌មានលម្អិតអំពីការកំណត់រចនាសម្ព័ន្ធផ្លូវរូងក្រោមដី",
"rotateDescription": "បង្កើត URL ផ្លូវរូងក្រោមដីថ្មី",
"tailOpt": "ចំនួនបន្ទាត់កំណត់ហេតុដែលត្រូវបង្ហាញ",
"typeRequired": "តម្រូវឱ្យមានប្រភេទផ្លូវរូងក្រោមដី។",
"noLogs": "មិនមានកំណត់ហេតុទេ។",
"notAvailable": "ព័ត៌មានផ្លូវរូងក្រោមដីមិនមានទេ។",
"noTunnels": "មិនមានផ្លូវរូងក្រោមដីសកម្មទេ។",
"infoTitle": "ព័ត៌មានផ្លូវរូងក្រោមដី៖ {type}",
"rotated": "បានប្ដូរ URL ផ្លូវរូងក្រោមដី៖ {url}",
"confirmRotate": "ប្ដូរផ្លូវរូងក្រោមដី {type}? (URL ថ្មីនឹងត្រូវបានបង្កើត)"
},
"stop": {
"description": "បញ្ឈប់ម៉ាស៊ីនមេ OmniRoute",
"stopping": "កំពុងបញ្ឈប់ម៉ាស៊ីនមេ (PID {pid})...",
"stopped": "បានបញ្ឈប់ម៉ាស៊ីនមេ។",
"notRunning": "មិនមានម៉ាស៊ីនមេកំពុងដំណើរការទេ។",
"portFallback": "រកមិនឃើញឯកសារ PID ទេ កំពុងព្យាយាមបញ្ឈប់តាមរយៈច្រក..."
},
"restart": {
"description": "ចាប់ផ្ដើមម៉ាស៊ីនមេ OmniRoute ឡើងវិញ",
"restarting": "កំពុងចាប់ផ្តើមម៉ាស៊ីនមេ OmniRoute ឡើងវិញ..."
},
"dashboard": {
"description": "បើកផ្ទាំងគ្រប់គ្រង OmniRoute ក្នុងកម្មវិធីរុករក",
"opening": "កំពុងបើកផ្ទាំងគ្រប់គ្រងនៅ {url}",
"urlOnly": "បង្ហាញតែ URL របស់ផ្ទាំងគ្រប់គ្រង ដោយមិនបើកកម្មវិធីរុករក",
"tui": "បើកផ្ទាំងគ្រប់គ្រង TUI អន្តរកម្ម (ចំណុចប្រទាក់ស្ថានីយ មាន 7 ផ្ទាំង)"
},
"models": {
"description": "រាយបញ្ជីម៉ូដែលដែលអាចប្រើបាន (តម្រូវឱ្យម៉ាស៊ីនមេកំពុងដំណើរការ)",
"search": "ត្រងម៉ូដែលតាមលេខសម្គាល់ ឈ្មោះ អ្នកផ្តល់សេវា ឬការពិពណ៌នា",
"noServer": "ម៉ាស៊ីនមេមិនកំពុងដំណើរការទេ។ ចាប់ផ្តើមដោយ៖ omniroute serve",
"noModels": "រកមិនឃើញម៉ូដែលទេ។"
},
"audit": {
"description": "ចូលប្រើកំណត់ហេតុសវនកម្មអនុលោមភាព និង MCP",
"source": "ប្រភពកំណត់ហេតុ៖ all|compliance|mcp (លំនាំដើម៖ all)",
"since": "ត្រឡប់ធាតុចាប់ពីត្រាពេលវេលានេះ (ISO 8601)",
"until": "ត្រឡប់ធាតុរហូតដល់ត្រាពេលវេលានេះ (ISO 8601)",
"tail": {
"description": "បង្ហាញធាតុកំណត់ហេតុសវនកម្មថ្មីៗ",
"follow": "តាមដានធាតុថ្មីជាបន្តបន្ទាប់ (ពិនិត្យរៀងរាល់ 2 វិនាទី)",
"limit": "ចំនួនធាតុអតិបរមាដែលត្រូវបង្ហាញ (លំនាំដើម៖ 100)"
},
"search": {
"description": "ស្វែងរកធាតុកំណត់ហេតុសវនកម្មតាមពាក្យគន្លឹះ",
"limit": "ចំនួនលទ្ធផលអតិបរមា (លំនាំដើម៖ 200)",
"actor": "ត្រងតាមលេខសម្គាល់តួអង្គ",
"action": "ត្រងតាមឈ្មោះសកម្មភាព"
},
"export": {
"description": "នាំចេញកំណត់ហេតុសវនកម្មទៅឯកសារ",
"format": "ទម្រង់លទ្ធផល៖ jsonl|csv (លំនាំដើម៖ jsonl)"
},
"stats": {
"description": "បង្ហាញស្ថិតិកំណត់ហេតុសវនកម្ម",
"period": "រយៈពេល៖ 1d|7d|30d (លំនាំដើម៖ 7d)"
},
"get": {
"description": "ទទួលយកធាតុកំណត់ហេតុសវនកម្មមួយតាមលេខសម្គាល់"
}
},
"skills": {
"description": "គ្រប់គ្រងជំនាញ OmniRoute (sandbox, builtin, custom, hybrid, skillssh)",
"list": {
"description": "រាយបញ្ជីជំនាញដែលបានដំឡើង",
"type": "ត្រងតាមប្រភេទ (sandbox|custom|builtin|hybrid|skillssh)",
"enabled": "បង្ហាញតែជំនាញដែលបានបើក",
"disabled": "បង្ហាញតែជំនាញដែលបានបិទ",
"api_key": "ត្រងតាមសោ API"
},
"get": {
"description": "ទទួលយកព័ត៌មានលម្អិតអំពីជំនាញតាមលេខសម្គាល់"
},
"install": {
"description": "ដំឡើងជំនាញពីឯកសារ ឬ URL",
"from_file": "ផ្លូវទៅកាន់ឯកសារកំណត់និយមន័យជំនាញ JSON",
"from_url": "URL នៃនិយមន័យជំនាញពីចម្ងាយ",
"type": "ប្រភេទជំនាញ (sandbox|custom|hybrid)",
"enable": "បើកជំនាញបន្ទាប់ពីដំឡើង"
},
"enable": {
"description": "បើកជំនាញតាមលេខសម្គាល់"
},
"disable": {
"description": "បិទជំនាញតាមលេខសម្គាល់",
"yes": "រំលងសារស្នើសុំការបញ្ជាក់"
},
"delete": {
"description": "លុបជំនាញតាម ID",
"yes": "រំលងសារបញ្ជាក់"
},
"execute": {
"description": "ប្រតិបត្តិជំនាញតាម ID",
"input": "វត្ថុបញ្ចូល JSON",
"input_file": "ផ្លូវទៅកាន់ឯកសារបញ្ចូល JSON",
"timeout": "រយៈពេលកំណត់សម្រាប់ការប្រតិបត្តិគិតជា ms (លំនាំដើម៖ 30000)"
},
"executions": {
"description": "រាយបញ្ជីប្រវត្តិប្រតិបត្តិជំនាញ",
"skill": "ត្រងតាម ID ជំនាញ",
"limit": "ចំនួនលទ្ធផលអតិបរមា (លំនាំដើម៖ 50)",
"status": "ត្រងតាមស្ថានភាព (running|completed|failed)"
},
"skillssh": {
"description": "គ្រប់គ្រងជំនាញដែលបានដំឡើងតាម SSH"
},
"marketplace": {
"description": "រុករក និងដំឡើងជំនាញពីទីផ្សារ"
},
"mp": {
"search": {
"description": "ស្វែងរកកញ្ចប់ក្នុងទីផ្សារ",
"category": "ត្រងតាមប្រភេទ",
"tag": "ត្រងតាមស្លាក",
"limit": "ចំនួនលទ្ធផលអតិបរមា (លំនាំដើម៖ 30)",
"sort": "តម្រៀបតាម៖ downloads|rating|recent"
},
"info": {
"description": "បង្ហាញព័ត៌មានលម្អិតអំពីកញ្ចប់ និងឯកសារ readme"
},
"install": {
"description": "ដំឡើងកញ្ចប់ពីទីផ្សារ",
"version": "កំណែកញ្ចប់ (លំនាំដើម៖ latest)",
"enable": "បើកដំណើរការបន្ទាប់ពីដំឡើង",
"yes": "រំលងសារបញ្ជាក់"
},
"categories": {
"description": "រាយបញ្ជីប្រភេទក្នុងទីផ្សារ"
},
"featured": {
"description": "បង្ហាញកញ្ចប់ពិសេសក្នុងទីផ្សារ"
}
}
},
"memory": {
"description": "គ្រប់គ្រងអង្គចងចាំការសន្ទនារបស់ OmniRoute (FTS5 + vector)",
"search": {
"description": "ស្វែងរកធាតុអង្គចងចាំតាមសំណួរបែបសទិសន័យ",
"type": "ត្រងតាមប្រភេទអង្គចងចាំ (user|feedback|project|reference)",
"limit": "ចំនួនលទ្ធផលអតិបរមា (លំនាំដើម៖ 20)",
"api_key": "ត្រងតាម API key",
"token_budget": "កំណត់ចំនួន token សរុបក្នុងលទ្ធផល"
},
"add": {
"description": "បន្ថែមធាតុអង្គចងចាំថ្មី",
"content": "ខ្លឹមសារអត្ថបទនៃអង្គចងចាំ",
"file": "អានខ្លឹមសារពីឯកសារ",
"type": "ប្រភេទអង្គចងចាំ (លំនាំដើម៖ user)",
"metadata": "វត្ថុទិន្នន័យមេតា JSON",
"api_key": "ភ្ជាប់ជាមួយ API key"
},
"clear": {
"description": "លុបធាតុអង្គចងចាំដែលត្រូវនឹងតម្រង",
"type": "ត្រងតាមប្រភេទ",
"older": "លុបធាតុដែលចាស់ជាងរយៈពេល (30d, 6m, 1y)",
"api_key": "ត្រងតាម API key",
"yes": "រំលងសារជំរុញឱ្យបញ្ជាក់"
},
"list": {
"description": "រាយធាតុអង្គចងចាំដោយមិនប្រើចំណាត់ថ្នាក់ស្វែងរក",
"type": "ត្រងតាមប្រភេទ",
"limit": "ចំនួនលទ្ធផលអតិបរមា (លំនាំដើម៖ 100)",
"api_key": "ត្រងតាម API key"
},
"get": {
"description": "ទទួលយកធាតុអង្គចងចាំមួយតាម ID"
},
"delete": {
"description": "លុបធាតុអង្គចងចាំមួយតាម ID",
"yes": "រំលងសារជំរុញឱ្យបញ្ជាក់"
},
"health": {
"description": "បង្ហាញស្ថានភាពប្រព័ន្ធរងអង្គចងចាំ (FTS5 + Qdrant)"
}
},
"oauth": {
"description": "គ្រប់គ្រងការតភ្ជាប់ទៅកាន់អ្នកផ្តល់សេវា OAuth",
"providers": {
"description": "រាយអ្នកផ្តល់សេវាដែលគាំទ្រ OAuth និងប្រភេទលំហូររបស់ពួកគេ"
},
"start": {
"description": "ចាប់ផ្តើមលំហូរផ្តល់សិទ្ធិ OAuth សម្រាប់អ្នកផ្តល់សេវា",
"provider": "ID របស់អ្នកផ្តល់សេវា (gemini, copilot, cursor, …)",
"no_browser": "បោះពុម្ពតែ URL ប៉ុណ្ណោះ — កុំបើកកម្មវិធីរុករក",
"import_system": "នាំចូលព័ត៌មានសម្ងាត់ដោយស្វ័យប្រវត្តិពីការកំណត់រចនាសម្ព័ន្ធប្រព័ន្ធមូលដ្ឋាន",
"social": "អ្នកផ្តល់សេវាចូលតាមបណ្ដាញសង្គម (google|github) — តម្រូវឱ្យមានសម្រាប់ kiro",
"timeout": "រយៈពេលអតិបរមាសម្រាប់រង់ចាំការផ្តល់សិទ្ធិ គិតជា ms (លំនាំដើម៖ 300000)"
},
"status": {
"description": "រាយការតភ្ជាប់ OAuth ដែលសកម្ម",
"provider": "ត្រងតាម ID របស់អ្នកផ្តល់សេវា"
},
"revoke": {
"description": "ដកហូតការតភ្ជាប់ OAuth",
"provider": "ID របស់អ្នកផ្តល់សេវាដែលត្រូវដកហូត",
"connection_id": "ដកហូតការតភ្ជាប់ជាក់លាក់មួយតាម ID",
"yes": "រំលងសារជំរុញឱ្យបញ្ជាក់"
}
},
"cloud": {
"description": "គ្រប់គ្រងកិច្ចការភ្នាក់ងារ AI លើ cloud (codex, devin, jules)",
"agents": {
"description": "រាយភ្នាក់ងារ cloud ដែលមាន"
},
"agent": {
"description": "គ្រប់គ្រងកិច្ចការរបស់ភ្នាក់ងារ cloud {agent}",
"auth": {
"description": "ផ្តល់សិទ្ធិឱ្យ {agent} តាមរយៈ OAuth"
}
},
"task": {
"description": "គ្រប់គ្រងកិច្ចការរបស់ភ្នាក់ងារ cloud",
"create": {
"description": "បង្កើតកិច្ចការភ្នាក់ងារថ្មី",
"title": "ចំណងជើងកិច្ចការ (លំនាំដើមគឺតួអក្សរ 80 ដំបូងនៃសេចក្តីណែនាំ)",
"prompt": "អត្ថបទសេចក្តីណែនាំកិច្ចការ",
"prompt_file": "អានសេចក្តីណែនាំពីឯកសារ",
"repo": "URL របស់ឃ្លាំងកូដសម្រាប់ clone ដើម្បីប្រើក្នុងកិច្ចការ",
"branch": "ឈ្មោះ branch ដែលត្រូវប្រើ",
"metadata": "វត្ថុ metadata ជា JSON"
},
"list": {
"description": "រាយកិច្ចការរបស់ភ្នាក់ងារ",
"status": "ត្រងតាមស្ថានភាព (running|completed|failed|cancelled)",
"limit": "ចំនួនលទ្ធផលអតិបរមា (លំនាំដើម៖ 50)"
},
"get": {
"description": "ទទួលយកព័ត៌មានលម្អិតនៃកិច្ចការតាម ID"
},
"status": {
"description": "បោះពុម្ពស្ថានភាពកិច្ចការ (running|completed|failed|cancelled)"
},
"cancel": {
"description": "បោះបង់កិច្ចការដែលកំពុងដំណើរការ",
"yes": "រំលងសារបញ្ជាក់"
},
"approve": {
"description": "អនុម័តផែនការរបស់ភ្នាក់ងារ ដើម្បីចាប់ផ្តើមប្រតិបត្តិការ"
},
"message": {
"description": "ផ្ញើសារទៅកិច្ចការដែលកំពុងដំណើរការ"
}
},
"sources": {
"description": "រាយឯកសារប្រភពដែលបានបង្កើតដោយកិច្ចការ"
}
},
"eval": {
"description": "គ្រប់គ្រងសំណុំ eval និងការដំណើរការ",
"suites": {
"description": "គ្រប់គ្រងសំណុំ eval",
"list": {
"description": "រាយសំណុំ eval"
},
"get": {
"description": "ទទួលព័ត៌មានលម្អិតនៃសំណុំ eval តាម ID"
},
"create": {
"description": "បង្កើតសំណុំ eval ពីឯកសារ JSON",
"file": "ផ្លូវទៅកាន់ឯកសារ JSON ដែលកំណត់សំណុំ"
}
},
"run": {
"description": "ចាប់ផ្តើមការដំណើរការ eval សម្រាប់សំណុំមួយ",
"model": "ID ម៉ូដែលដែលត្រូវវាយតម្លៃ (លំនាំដើម៖ auto)",
"combo": "បង្ខំឱ្យប្រើ combo ជាក់លាក់តាមឈ្មោះ",
"concurrency": "ចំនួនសំណាកដែលដំណើរការដំណាលគ្នា (លំនាំដើម៖ 4)",
"tag": "ដាក់ស្លាកការដំណើរការនេះសម្រាប់ច្រោះនៅពេលក្រោយ",
"watch": "តាមដានវឌ្ឍនភាពនៃការដំណើរការរហូតដល់បញ្ចប់"
},
"list": {
"description": "រាយការដំណើរការ eval",
"suite": "ច្រោះតាម ID សំណុំ",
"status": "ច្រោះតាមស្ថានភាព",
"since": "ត្រឡប់ការដំណើរការចាប់តាំងពីត្រាពេលវេលានេះ",
"limit": "ចំនួនលទ្ធផលអតិបរមា (លំនាំដើម៖ 50)"
},
"get": {
"description": "ទទួលព័ត៌មានលម្អិតនៃការដំណើរការ eval តាម ID"
},
"results": {
"description": "បង្ហាញលទ្ធផលសំណាកសម្រាប់ការដំណើរការ eval",
"failed": "បង្ហាញតែសំណាកដែលបរាជ័យ"
},
"cancel": {
"description": "បោះបង់ eval ដែលកំពុងដំណើរការ",
"yes": "រំលងសារបញ្ជាក់"
},
"scorecard": {
"description": "បង្ហាញប័ណ្ណពិន្ទុសម្រាប់ការដំណើរការ eval ដែលបានបញ្ចប់"
}
},
"webhooks": {
"description": "គ្រប់គ្រង webhook របស់ OmniRoute",
"events": {
"description": "រាយប្រភេទព្រឹត្តិការណ៍ webhook ដែលមានទាំងអស់"
},
"list": {
"description": "រាយ webhook ដែលបានកំណត់រចនាសម្ព័ន្ធ"
},
"get": {
"description": "ទទួលព័ត៌មានលម្អិតរបស់ webhook តាម ID"
},
"add": {
"description": "ចុះឈ្មោះ webhook ថ្មី",
"url": "URL គោលដៅ",
"events": "បញ្ជីប្រភេទព្រឹត្តិការណ៍ដែលបំបែកដោយសញ្ញាក្បៀស",
"secret": "សម្ងាត់សម្រាប់ចុះហត្ថលេខា HMAC",
"header": "បឋមកថាបន្ថែមក្នុងទម្រង់ key=value (អាចធ្វើម្តងទៀតបាន)",
"no_enabled": "បង្កើត webhook ក្នុងស្ថានភាពបិទ"
},
"update": {
"description": "ធ្វើបច្ចុប្បន្នភាព webhook ដែលមានស្រាប់",
"enabled": "កំណត់ស្ថានភាពបើក (true|false)"
},
"remove": {
"description": "លុប webhook",
"yes": "រំលងសារបញ្ជាក់"
},
"test": {
"description": "ផ្ញើព្រឹត្តិការណ៍សាកល្បងទៅ webhook",
"event": "ប្រភេទព្រឹត្តិការណ៍ដែលត្រូវក្លែងធ្វើ (លំនាំដើម៖ request.completed)"
}
},
"program": {
"description": "OmniRoute — រ៉ោតទ័រ AI ឆ្លាតវៃជាមួយការប្ដូរទៅជម្រើសបម្រុងដោយស្វ័យប្រវត្តិ",
"version": "បង្ហាញកំណែ ហើយចាកចេញ",
"output": "ទម្រង់លទ្ធផល (table, json, jsonl, csv)",
"quiet": "លាក់លទ្ធផលដែលមិនចាំបាច់",
"no_color": "បិទការបង្ហាញលទ្ធផលជាពណ៌",
"timeout": "រយៈពេលអស់កំណត់នៃសំណើ HTTP គិតជាមិល្លីវិនាទី",
"api_key": "សោ API សម្រាប់ម៉ាស៊ីនមេ OmniRoute",
"base_url": "URL មូលដ្ឋានរបស់ម៉ាស៊ីនមេ OmniRoute",
"context": "បរិបទ/ប្រវត្តិរូបម៉ាស៊ីនមេដែលត្រូវប្រើសម្រាប់ពាក្យបញ្ជានេះ",
"lang": "កំណត់ភាសាបង្ហាញរបស់ CLI (ជំនួស OMNIROUTE_LANG)"
},
"files": {
"description": "គ្រប់គ្រងឯកសារ (ផ្ទុកឡើង, រាយបញ្ជី, ទាញយកព័ត៌មាន, ទាញយក, លុប)",
"list": {
"purpose": "ត្រងតាមគោលបំណង",
"limit": "ចំនួនលទ្ធផលអតិបរមា"
},
"get": {
"description": "ទាញយកទិន្នន័យមេតារបស់ឯកសារ"
},
"upload": {
"description": "ផ្ទុកឯកសារឡើង",
"purpose": "គោលបំណងឯកសារ (batch, assistants, fine-tune)"
},
"content": {
"description": "ទាញយកមាតិកាឯកសារ",
"out": "រក្សាទុកទៅផ្លូវ (លំនាំដើម៖ stdout)"
},
"delete": {
"yes": "រំលងការបញ្ជាក់"
}
},
"batches": {
"description": "គ្រប់គ្រងកិច្ចការជាបាច់ដែលឆបគ្នាជាមួយ OpenAI",
"list": {
"status": "ត្រងតាមស្ថានភាព",
"limit": "ចំនួនលទ្ធផលអតិបរមា"
},
"create": {
"description": "បង្កើតកិច្ចការជាបាច់",
"inputFile": "ID ឯកសារបញ្ចូល",
"endpoint": "endpoint គោលដៅ",
"window": "រយៈពេលសម្រាប់ការបញ្ចប់",
"metadata": "បន្ថែមទិន្នន័យមេតា key=value"
},
"submit": {
"description": "ផ្ទុកឯកសារ JSONL ឡើង ហើយបង្កើតកិច្ចការជាបាច់",
"jsonl": "ផ្លូវទៅកាន់ឯកសារ JSONL",
"endpoint": "endpoint គោលដៅ",
"wait": "រង់ចាំរហូតដល់បញ្ចប់"
},
"cancel": {
"yes": "រំលងការបញ្ជាក់"
},
"wait": {
"timeout": "រយៈពេលអស់កំណត់គិតជា ms"
},
"output": {
"out": "រក្សាទុកលទ្ធផលទៅផ្លូវ"
},
"errors": {
"out": "រក្សាទុកកំហុសទៅផ្លូវ"
}
},
"translator": {
"description": "បកប្រែតួសំណើរវាងទម្រង់ LLM",
"detect": {
"description": "រកឃើញទម្រង់តួសារ"
},
"translate": {
"description": "បម្លែងតួសារពីទម្រង់មួយទៅទម្រង់មួយទៀត"
},
"send": {
"description": "បម្លែង និងបញ្ជូនទៅប្រភពខាងលើ"
},
"stream": {
"description": "បម្លែងតួសារសំណើតាមស្ទ្រីម"
},
"from": "ទម្រង់ប្រភព (openai|anthropic|gemini|cohere)",
"to": "ទម្រង់គោលដៅ (openai|anthropic|gemini|cohere)",
"file": "ផ្លូវទៅកាន់ឯកសារ JSON នៃតួសារសំណើ",
"out": "រក្សាទុកលទ្ធផលទៅឯកសារ",
"model": "ប្រើម៉ូដែលជំនួស",
"history": {
"limit": "ចំនួនលទ្ធផលអតិបរមា"
}
},
"pricing": {
"description": "គ្រប់គ្រងទិន្នន័យតម្លៃសម្រាប់ម៉ូដែល",
"sync": {
"description": "ធ្វើសមកាលកម្មតម្លៃពីប្រភពខាងលើ",
"provider": "ត្រងតាមអ្នកផ្តល់សេវា",
"force": "បង្ខំឱ្យធ្វើសមកាលកម្មឡើងវិញ"
},
"list": {
"provider": "ត្រងតាមអ្នកផ្តល់សេវា",
"model": "ត្រងតាមម៉ូដែល",
"limit": "ចំនួនលទ្ធផលអតិបរមា"
},
"defaults": {
"description": "គ្រប់គ្រងតម្លៃលំនាំដើម",
"input": "ថ្លៃបញ្ចូលក្នុងមួយ 1M tokens (USD)",
"output": "ថ្លៃបញ្ចេញក្នុងមួយ 1M tokens (USD)",
"cacheRead": "ថ្លៃអានឃ្លាំងសម្ងាត់ក្នុងមួយ 1M tokens (USD)",
"cacheWrite": "ថ្លៃសរសេរឃ្លាំងសម្ងាត់ក្នុងមួយ 1M tokens (USD)"
},
"diff": {
"description": "បង្ហាញភាពខុសគ្នាពីតម្លៃប្រភពខាងលើ",
"model": "ត្រងតាមម៉ូដែល"
}
},
"radar": {
"description": "ត្រួតពិនិត្យ និងធ្វើសមកាលកម្មប្រភពកាតាឡុក Radar ក្នុងមូលដ្ឋាន",
"status": "បង្ហាញការកំណត់ Radar ក្នុងមូលដ្ឋាន និងស្ថានភាពឃ្លាំងសម្ងាត់របស់ប្រភព",
"sync": "ធ្វើសមកាលកម្មកាតាឡុក ការណែនាំ ការផ្តល់ជូន និង Intel តាមរយៈម៉ាស៊ីនមេក្នុងមូលដ្ឋាន"
},
"resilience": {
"description": "ត្រួតពិនិត្យ និងគ្រប់គ្រងយន្តការធន់នឹងបញ្ហា",
"status": {
"provider": "ត្រងតាមអ្នកផ្តល់សេវា"
},
"breakers": {
"provider": "ត្រងតាមអ្នកផ្តល់សេវា"
},
"cooldowns": {
"provider": "ត្រងតាមអ្នកផ្តល់សេវា",
"connectionId": "ត្រងតាមលេខសម្គាល់ការតភ្ជាប់"
},
"lockouts": {
"provider": "ត្រងតាមអ្នកផ្តល់សេវា",
"model": "ត្រងតាមម៉ូដែល"
},
"reset": {
"description": "កំណត់ស្ថានភាពឧបករណ៍កាត់ផ្តាច់/រយៈពេលរង់ចាំឡើងវិញ",
"provider": "អ្នកផ្តល់សេវាដែលត្រូវកំណត់ឡើងវិញ",
"connectionId": "លេខសម្គាល់ការតភ្ជាប់ដែលត្រូវកំណត់ឡើងវិញ",
"model": "ម៉ូដែលដែលត្រូវកំណត់ការចាក់សោឡើងវិញ",
"allCooldowns": "កំណត់រយៈពេលរង់ចាំទាំងអស់ឡើងវិញសម្រាប់អ្នកផ្តល់សេវា",
"yes": "រំលងការបញ្ជាក់"
},
"profile": {
"description": "គ្រប់គ្រងប្រូហ្វាល់ភាពធន់",
"name": "ឈ្មោះប្រូហ្វាល់"
},
"config": {
"description": "គ្រប់គ្រងការកំណត់រចនាសម្ព័ន្ធភាពធន់",
"threshold": "កម្រិតកំណត់នៃការបរាជ័យ",
"resetTimeout": "រយៈពេលអស់ពេលសម្រាប់កំណត់ឡើងវិញ គិតជា ms",
"baseCooldown": "រយៈពេលសម្រាកមូលដ្ឋាន គិតជា ms"
}
},
"nodes": {
"description": "គ្រប់គ្រងថ្នាំងរបស់អ្នកផ្តល់សេវា (ចំណុចបញ្ចប់)",
"list": {
"provider": "ត្រងតាមអ្នកផ្តល់សេវា",
"enabled": "បង្ហាញតែថ្នាំងដែលបានបើកប៉ុណ្ណោះ"
},
"add": {
"provider": "ឈ្មោះអ្នកផ្តល់សេវា",
"baseUrl": "URL មូលដ្ឋានសម្រាប់ថ្នាំង",
"name": "ឈ្មោះថ្នាំង",
"weight": "ទម្ងន់សមតុល្យបន្ទុក",
"region": "ស្លាកតំបន់",
"authHeader": "បឋមកថាផ្ទៀងផ្ទាត់ផ្ទាល់ខ្លួន (key=value)"
},
"update": {
"baseUrl": "URL មូលដ្ឋានថ្មី",
"name": "ឈ្មោះថ្មី",
"weight": "ទម្ងន់ថ្មី",
"region": "តំបន់ថ្មី",
"enabled": "បើក ឬបិទ (true|false)"
},
"remove": {
"yes": "រំលងការបញ្ជាក់"
},
"validate": {
"baseUrl": "URL ដែលត្រូវផ្ទៀងផ្ទាត់",
"provider": "អ្នកផ្តល់សេវាដែលត្រូវផ្ទៀងផ្ទាត់ជាមួយ"
},
"test": {
"description": "ផ្ញើសំណើសាកល្បងទៅថ្នាំង"
},
"metrics": {
"description": "បង្ហាញម៉ែត្រវាស់ថ្នាំង",
"period": "រយៈពេល (ឧ. 24h, 7d)"
}
},
"context": {
"description": "កំណត់រចនាសម្ព័ន្ធលំហូរដំណើរការវិស្វកម្មបរិបទ (Caveman, RTK)",
"analytics": {
"period": "រយៈពេល (ឧ. 7d, 30d)"
},
"caveman": {
"description": "គ្រប់គ្រងឧបករណ៍បង្ហាប់បរិបទ Caveman",
"config": {
"description": "បង្ហាញ ឬធ្វើបច្ចុប្បន្នភាពការកំណត់រចនាសម្ព័ន្ធ Caveman",
"aggressiveness": "កម្រិតខ្លាំងក្លា 0.01.0",
"maxShrinkPct": "ភាគរយបង្រួមអតិបរមា",
"preserveTags": "ស្លាកដែលត្រូវរក្សាទុក ដោយបំបែកដោយសញ្ញាក្បៀស"
}
},
"rtk": {
"description": "គ្រប់គ្រងឧបករណ៍បង្កើនប្រសិទ្ធភាពបរិបទ RTK",
"config": {
"description": "បង្ហាញ ឬធ្វើបច្ចុប្បន្នភាពការកំណត់រចនាសម្ព័ន្ធ RTK",
"tokenBudget": "ថវិកាថូខិនសម្រាប់ RTK",
"reservePct": "ភាគរយបម្រុង"
},
"filters": {
"description": "គ្រប់គ្រងតម្រង RTK",
"pattern": "លំនាំតម្រង (regex)",
"priority": "អាទិភាពតម្រង (លំនាំដើម៖ 100)",
"action": "សកម្មភាពតម្រង៖ drop|shrink|replace",
"yes": "រំលងការបញ្ជាក់"
},
"test": {
"file": "ផ្លូវទៅកាន់ឯកសារ JSON នៃសំណើ"
}
},
"combos": {
"description": "ការគ្រប់គ្រង combo ដែលយល់ដឹងពីបរិបទ"
}
},
"sessions": {
"description": "ពិនិត្យ និងគ្រប់គ្រង session ដែលកំពុងសកម្ម",
"list": {
"user": "ត្រងតាមអ្នកប្រើប្រាស់",
"kind": "ត្រងតាមប្រភេទ (dashboard|api-key|mcp|a2a)",
"active": "បង្ហាញតែ session ដែលសកម្ម",
"limit": "ចំនួនលទ្ធផលអតិបរមា (លំនាំដើម៖ 100)"
},
"expire": {
"yes": "រំលងការបញ្ជាក់"
},
"expireAll": {
"user": "អ្នកប្រើប្រាស់ដែលត្រូវផុតសុពលភាព session របស់ពួកគេ",
"yes": "រំលងការបញ្ជាក់"
}
},
"tags": {
"description": "គ្រប់គ្រងស្លាកធនធាន",
"add": {
"color": "ពណ៌ស្លាក (លេខកូដ hex ឬឈ្មោះ)",
"description": "ការពិពណ៌នាស្លាក"
},
"remove": {
"yes": "រំលងការបញ្ជាក់"
},
"assign": {
"tag": "ឈ្មោះស្លាក",
"to": "ធនធានគោលដៅជា type:id (ឧ. provider:openai)"
},
"unassign": {
"tag": "ឈ្មោះស្លាក",
"from": "ធនធានប្រភពជា type:id"
}
},
"openapi": {
"description": "ចូលប្រើ និងសាកល្បងលក្ខណៈបច្ចេកទេស OmniRoute OpenAPI",
"dump": {
"description": "បញ្ចេញលក្ខណៈបច្ចេកទេស OpenAPI ទៅ stdout ឬឯកសារ",
"format": "ទម្រង់លទ្ធផល៖ yaml|json (លំនាំដើម៖ yaml)",
"out": "រក្សាទុកទៅផ្លូវឯកសារ"
},
"validate": {
"description": "ផ្ទៀងផ្ទាត់លក្ខណៈបច្ចេកទេស OpenAPI"
},
"try": {
"description": "សាកល្បង API endpoint តាមរយៈលក្ខណៈបច្ចេកទេស",
"method": "វិធីសាស្ត្រ HTTP (លំនាំដើម៖ GET)",
"body": "ផ្លូវទៅកាន់ឯកសារ JSON នៃ request body",
"query": "ប៉ារ៉ាម៉ែត្រ query ជា key=value (អាចប្រើម្តងហើយម្តងទៀត)",
"header": "Header ជា key=value (អាចប្រើម្តងហើយម្តងទៀត)"
},
"endpoints": {
"description": "រាយ API endpoint ទាំងអស់",
"search": "ត្រងតាមផ្លូវ ឬសេចក្តីសង្ខេប"
},
"paths": {
"description": "រាយផ្លូវ API ទាំងអស់"
}
},
"combo": {
"title": "Combo",
"switched": "Combo សកម្ម៖ {name}",
"created": "បានបង្កើត combo៖ {name}",
"deleted": "បានលុប combo៖ {name}",
"noCombos": "មិនមាន combo ដែលបានកំណត់រចនាសម្ព័ន្ធទេ។",
"confirmDelete": "លុប combo {name} មែនទេ?",
"suggest": {
"description": "ណែនាំ combo ល្អបំផុតសម្រាប់កិច្ចការមួយដោយប្រើការដាក់ពិន្ទុពី AI",
"task": "ការពិពណ៌នាភារកិច្ច",
"maxCost": "តម្លៃអតិបរមាក្នុងមួយសំណើជា USD",
"maxLatencyMs": "ភាពយឺតអតិបរមាគិតជាមិល្លីវិនាទី",
"weights": "ទម្ងន់ពិន្ទុជា JSON ឧ. {\"latency\":0.7,\"cost\":0.3}",
"top": "ចំនួនបេក្ខភាពលំដាប់កំពូលដែលត្រូវបង្ហាញ (លំនាំដើម៖ 5)",
"explain": "បោះពុម្ពហេតុផលទៅ stderr",
"switch": "ធ្វើឱ្យបន្សំដែលមានចំណាត់ថ្នាក់កំពូលសកម្ម"
}
},
"oneproxy": {
"description": "គ្រប់គ្រងក្រុម upstream របស់ OneProxy",
"stats": {
"provider": "ត្រងតាមអ្នកផ្តល់សេវា",
"period": "រយៈពេល (លំនាំដើម៖ 24h)"
},
"fetch": {
"description": "ទាញយកប្រូកស៊ីពីក្រុម",
"count": "ចំនួនប្រូកស៊ីដែលត្រូវទាញយក (លំនាំដើម៖ 1)",
"type": "ប្រភេទប្រូកស៊ី៖ http|socks5 (លំនាំដើម៖ http)"
},
"rotate": {
"description": "បង្ខំឱ្យប្តូរប្រូកស៊ី",
"provider": "អ្នកផ្តល់សេវាដែលត្រូវប្តូរ",
"connectionId": "លេខសម្គាល់ការតភ្ជាប់ជាក់លាក់ដែលត្រូវប្តូរ"
},
"config": {
"description": "បង្ហាញ ឬធ្វើបច្ចុប្បន្នភាពការកំណត់រចនាសម្ព័ន្ធ OneProxy",
"enabled": "បើកប្រើក្រុមប្រូកស៊ី (true|false)",
"poolSize": "ទំហំក្រុម",
"providerSource": "URL សម្រាប់អ្នកផ្តល់សេវាប្រូកស៊ី",
"rotationPolicy": "គោលការណ៍ប្តូរ៖ sticky|per-request|periodic"
},
"pool": {
"description": "រាយបញ្ជីក្រុមប្រូកស៊ីបច្ចុប្បន្នជាមួយរង្វាស់"
}
},
"open": {
"description": "បើកទំព័រផ្ទាំងគ្រប់គ្រង OmniRoute ជាក់លាក់មួយនៅក្នុងកម្មវិធីរុករក",
"url": "បោះពុម្ពតែ URL ប៉ុណ្ណោះ កុំបើកកម្មវិធីរុករក"
},
"telemetry": {
"description": "ចូលប្រើទិន្នន័យតេឡេមេទ្រីដែលបានប្រមូលផ្តុំ",
"summary": {
"description": "បង្ហាញសេចក្តីសង្ខេបតេឡេមេទ្រីដែលបានប្រមូលផ្តុំ",
"period": "រយៈពេល៖ 24h|7d|30d (លំនាំដើម៖ 24h)",
"compareTo": "ប្រៀបធៀបជាមួយរយៈពេលមុន"
},
"export": {
"description": "នាំចេញព្រឹត្តិការណ៍តេឡេមេទ្រីទៅ JSONL",
"out": "ផ្លូវឯកសារលទ្ធផល (លំនាំដើម៖ telemetry.jsonl)",
"period": "រយៈពេលសម្រាប់ការនាំចេញ (លំនាំដើម៖ 7d)"
}
},
"sync": {
"description": "ធ្វើសមកាលកម្មការកំណត់រចនាសម្ព័ន្ធរវាង instance របស់ OmniRoute",
"push": {
"description": "បញ្ជូនការកំណត់រចនាសម្ព័ន្ធទៅ cloud ឬ instance ពីចម្ងាយ",
"target": "គោលដៅ (cloud ឬ context:name)",
"bundle": "ផ្នែកនៃ bundle ដែលត្រូវធ្វើសមកាលកម្ម",
"dryRun": "មើលជាមុនដោយមិនអនុវត្ត"
},
"pull": {
"description": "ទាញយកការកំណត់រចនាសម្ព័ន្ធពី cloud ឬពីចម្ងាយ",
"source": "ប្រភព (cloud ឬ context:name)",
"merge": "បញ្ចូលជាមួយការកំណត់រចនាសម្ព័ន្ធដែលមានស្រាប់",
"replace": "ជំនួសការកំណត់រចនាសម្ព័ន្ធដែលមានស្រាប់",
"dryRun": "មើលជាមុនដោយមិនអនុវត្ត"
},
"diff": {
"source": "បរិបទប្រភព",
"target": "បរិបទគោលដៅ"
},
"bundle": {
"description": "នាំចេញការកំណត់រចនាសម្ព័ន្ធជាឯកសារកញ្ចប់",
"include": "ផ្នែកដែលត្រូវរួមបញ្ចូល (បំបែកដោយសញ្ញាក្បៀស)"
},
"import": {
"description": "នាំចូលឯកសារកញ្ចប់",
"dryRun": "ផ្ទៀងផ្ទាត់ដោយមិនអនុវត្ត"
},
"initialize": {
"fromCloud": "ចាប់ផ្ដើមពីការបម្រុងទុកលើក្លោដ"
},
"tokens": {
"description": "គ្រប់គ្រងថូខិនធ្វើសមកាលកម្ម",
"create": {
"name": "ឈ្មោះថូខិន",
"scope": "វិសាលភាពថូខិន",
"ttl": "TTL របស់ថូខិន (ឧ. 30d)"
},
"revoke": {
"yes": "រំលងការបញ្ជាក់"
}
},
"resolve": {
"description": "ដោះស្រាយការប៉ះទង្គិចនៃការធ្វើសមកាលកម្មដោយអន្តរកម្ម"
}
},
"config": {
"contexts": {
"description": "គ្រប់គ្រងបរិបទ/ប្រូហ្វាល់ម៉ាស៊ីនបម្រើ (បន្ថែម ប្រើ រាយបញ្ជី បង្ហាញ លុប ប្ដូរឈ្មោះ នាំចេញ នាំចូល)"
},
"lang": {
"description": "គ្រប់គ្រងភាសាបង្ហាញរបស់ CLI",
"getDescription": "បង្ហាញកូដភាសាដែលកំពុងសកម្ម",
"setDescription": "កំណត់ភាសាបង្ហាញ ហើយរក្សាទុកវាទៅក្នុងការកំណត់រចនាសម្ព័ន្ធ",
"listDescription": "រាយបញ្ជីភាសាដែលមានទាំងអស់",
"listTitle": "ភាសាដែលមាន",
"current": "ភាសា៖ {code} ({name})",
"saved": "បានកំណត់ភាសាទៅជា {code} ({name})។",
"noCode": "តម្រូវឱ្យមានកូដភាសា។ ដំណើរការ 'omniroute config lang list' ដើម្បីមើលកូដដែលមាន។",
"unknown": "មិនស្គាល់កូដភាសា៖ {code}។ ដំណើរការ 'omniroute config lang list' ដើម្បីមើលកូដដែលមាន។",
"alreadySet": "ភាសាត្រូវបានកំណត់ជា {code} រួចហើយ។",
"envHint": "គន្លឹះ៖ អ្នកក៏អាចកំណត់ OMNIROUTE_LANG={code} នៅក្នុងបរិស្ថានរបស់អ្នកបានផងដែរ។"
}
},
"completion": {
"description": "បង្កើត ឬដំឡើងស្គ្រីបបំពេញស្វ័យប្រវត្តិរបស់ shell",
"zsh": "បោះពុម្ពស្គ្រីបបំពេញស្វ័យប្រវត្តិរបស់ zsh",
"bash": "បោះពុម្ពស្គ្រីបបំពេញស្វ័យប្រវត្តិរបស់ bash",
"fish": "បោះពុម្ពស្គ្រីបបំពេញស្វ័យប្រវត្តិរបស់ fish",
"install": "ដំឡើងស្គ្រីបបំពេញស្វ័យប្រវត្តិជាសកលសម្រាប់ shell ដែលបានរកឃើញ",
"refresh": "ផ្ទុកឃ្លាំងសម្ងាត់នៃបន្សំ/អ្នកផ្ដល់សេវា/ម៉ូដែលឡើងវិញ"
},
"logs": {
"description": "ស្ទ្រីម ឬនាំចេញកំណត់ហេតុសំណើ",
"follow": "ស្ទ្រីមកំណត់ហេតុតាមពេលវេលាជាក់ស្ដែង",
"filter": "ត្រងតាមកម្រិត (error,warn,info) — បំបែកដោយសញ្ញាក្បៀស",
"lines": "ចំនួនបន្ទាត់ដែលត្រូវទាញយក",
"timeout": "រយៈពេលអស់កំណត់នៃការតភ្ជាប់គិតជា ms",
"baseUrl": "URL មូលដ្ឋានរបស់ OmniRoute API",
"requestId": "ត្រងតាម ID សំណើ",
"apiKey": "ត្រងតាម API key",
"combo": "ត្រងតាមឈ្មោះ combo",
"status": "ត្រងតាមកូដស្ថានភាព HTTP",
"durationMin": "រយៈពេលអប្បបរមានៃសំណើ គិតជា ms",
"durationMax": "រយៈពេលអតិបរមានៃសំណើ គិតជា ms",
"export": "រក្សាទុកកំណត់ហេតុទៅឯកសារ (json/jsonl/csv)",
"exported": "បានរក្សាទុកកំណត់ហេតុទៅ {path}",
"stopped": "បានបញ្ឈប់ការផ្សាយកំណត់ហេតុ។",
"streamError": "កំហុសក្នុងការផ្សាយកំណត់ហេតុ៖ {message}"
},
"tray": {
"description": "គ្រប់គ្រងរូបតំណាងក្នុងថាសប្រព័ន្ធ",
"show": "បង្ហាញរូបតំណាងក្នុងថាស (ប្រសិនបើម៉ាស៊ីនមេកំពុងដំណើរការជាមួយ --tray)",
"hide": "លាក់រូបតំណាងក្នុងថាស",
"quit": "ចាកចេញពី OmniRoute តាមរយៈថាសប្រព័ន្ធ"
},
"autostart": {
"description": "គ្រប់គ្រងការចាប់ផ្ដើមដោយស្វ័យប្រវត្តិរបស់ OmniRoute នៅពេលបើកប្រព័ន្ធ (Linux: systemd user service)",
"enable": "បើកការចាប់ផ្ដើមដោយស្វ័យប្រវត្តិនៅពេលបើកប្រព័ន្ធ",
"disable": "បិទការចាប់ផ្ដើមដោយស្វ័យប្រវត្តិនៅពេលបើកប្រព័ន្ធ",
"toggle": "បិទបើកការចាប់ផ្ដើមដោយស្វ័យប្រវត្តិនៅពេលបើកប្រព័ន្ធ",
"status": "បង្ហាញស្ថានភាពនៃការចាប់ផ្ដើមដោយស្វ័យប្រវត្តិ"
},
"runtime": {
"description": "គ្រប់គ្រងភាពអាស្រ័យរបស់ runtime ដើម",
"check": "ពិនិត្យស្ថានភាពនៃភាពអាស្រ័យដើមក្នុងថត runtime",
"repair": "ដំឡើងភាពអាស្រ័យដើមឡើងវិញក្នុងថត runtime",
"repair_force": "បង្ខំឱ្យដំឡើងឡើងវិញ ទោះបីជាមានសុពលភាពក៏ដោយ",
"clean": "លុបថត runtime (បង្កើនទំហំថាសទំនេរ)",
"clean_yes": "រំលងការបញ្ជាក់"
},
"repl": {
"description": "REPL អន្តរកម្មជាច្រើនវេនជាមួយ LLM",
"model": "ម៉ូដែលដែលត្រូវប្រើ (លំនាំដើម៖ auto)",
"combo": "ឈ្មោះ combo ដែលត្រូវប្រើ",
"system": "ប្រអប់បញ្ចូលរបស់ប្រព័ន្ធ",
"resume": "បន្តសម័យដែលបានរក្សាទុកតាមឈ្មោះ"
},
"plugin": {
"description": "គ្រប់គ្រងកម្មវិធីជំនួយ CLI (omniroute-cmd-*)",
"list": "រាយកម្មវិធីជំនួយដែលបានដំឡើង",
"install": "ដំឡើងកម្មវិធីជំនួយពី npm ឬផ្លូវមូលដ្ឋាន",
"remove": "លុបកម្មវិធីជំនួយដែលបានដំឡើង",
"info": "បង្ហាញព័ត៌មានលម្អិតអំពីកម្មវិធីជំនួយដែលបានដំឡើង",
"search": "ស្វែងរកកម្មវិធីជំនួយដែលមាននៅក្នុងបញ្ជីឈ្មោះ npm",
"update": "ធ្វើបច្ចុប្បន្នភាពកម្មវិធីជំនួយដែលបានដំឡើង",
"scaffold": "បង្កើតគ្រោងកូដគំរូដំបូងសម្រាប់កម្មវិធីជំនួយថ្មី"
},
"launch": {
"description": "បើកដំណើរការ Claude Code ដោយភ្ជាប់ទៅ OmniRoute (ក្នុងមូលដ្ឋាន ឬពីចម្ងាយ ជាមួយ --profile)",
"token": "ថូខឹនដែលកម្មវិធី Claude គួរផ្ញើ (ANTHROPIC_AUTH_TOKEN)",
"notRunning": "មិនអាចចូលដំណើរការ OmniRoute នៅ {port} បានទេ។ ចាប់ផ្ដើមវាដោយប្រើ 'omniroute serve'។",
"notFound": "រកមិនឃើញ CLI 'claude' នៅក្នុង PATH ទេ។"
},
"run": {
"description": "ដំណើរការគោលដៅ CLI ដែលគាំទ្រតាមរយៈ OmniRoute"
},
"setupClaude": {
"description": "បង្កើតប្រូហ្វាល Claude Code ក្នុង ~/.claude/profiles ពីកាតាឡុកម៉ូដែល OmniRoute"
},
"connect": {
"description": "ភ្ជាប់ទៅម៉ាស៊ីនមេ OmniRoute ពីចម្ងាយ ហើយចូលរបៀបពីចម្ងាយ"
},
"tokens": {
"description": "គ្រប់គ្រងថូខឹនចូលប្រើ CLI ដែលមានវិសាលភាពកំណត់ (របៀបពីចម្ងាយ)"
},
"configure": {
"description": "ជ្រើសរើសអ្នកផ្តល់សេវា+ម៉ូដែលពីម៉ាស៊ីនមេដែលកំពុងសកម្ម ហើយកំណត់រចនាសម្ព័ន្ធ CLI មូលដ្ឋានដែលគាំទ្រ"
},
"launchCodex": {
"description": "ដំណើរការ Codex CLI ដោយចង្អុលទៅ OmniRoute (VPS មូលដ្ឋាន ឬពីចម្ងាយ)"
},
"setupCodex": {
"description": "បង្កើតឯកសារប្រូហ្វាល ~/.codex ពីកាតាឡុកម៉ូដែលបន្តផ្ទាល់របស់ OmniRoute"
},
"packs": {
"description": "គ្រប់គ្រងកញ្ចប់ពេលដំណើរការជាជម្រើស (ML / ស្វ័យប្រវត្តិកម្មកម្មវិធីរុករក)",
"listDescription": "រាយបញ្ជីកញ្ចប់ជាជម្រើស និងស្ថានភាពដំឡើងរបស់វា",
"installDescription": "ដំឡើងកញ្ចប់ជាជម្រើសទៅក្នុង DATA_DIR",
"verifyDescription": "ផ្ទៀងផ្ទាត់កញ្ចប់ដែលបានដំឡើងជាមួយលិបិក្រម checksum ដែលបានភ្ជាប់មកជាមួយ",
"removeDescription": "លុបកញ្ចប់ជាជម្រើសដែលបានដំឡើង",
"sourceOpt": "ថតដែលផ្ទុកទិន្នន័យកញ្ចប់ និងលិបិក្រមកញ្ចប់",
"warnNoIndex": "រកមិនឃើញ optional-packs.index.json — មិនអាចដំឡើង/ផ្ទៀងផ្ទាត់បានទេក្នុង checkout នេះ (កញ្ចប់ desktop មានឯកសារនេះភ្ជាប់មកជាមួយ)",
"errUnknown": "មិនស្គាល់កញ្ចប់៖ {name}",
"errNoIndex": "រកមិនឃើញលិបិក្រមកញ្ចប់ទេ; សូមបញ្ជូន --source <dir> ដែលផ្ទុកទិន្នន័យកញ្ចប់ (កញ្ចប់ desktop មានឯកសារនេះភ្ជាប់មកនៅក្បែរកម្មវិធី)",
"installed": "កញ្ចប់ \"{name}\" ត្រូវបានដំឡើង និងផ្ទៀងផ្ទាត់នៅ {dir}",
"restartHint": "ចាប់ផ្ដើមម៉ាស៊ីនមេ OmniRoute (ឬកម្មវិធី desktop) ឡើងវិញ ដើម្បីឱ្យប្រព័ន្ធពេលដំណើរការទទួលស្គាល់កញ្ចប់នេះ",
"removed": "កញ្ចប់ \"{name}\" ត្រូវបានលុប",
"notInstalled": "កញ្ចប់ \"{name}\" មិនត្រូវបានដំឡើងទេ",
"verifyOk": "កញ្ចប់ដែលបានដំឡើងទាំងអស់ត្រូវបានផ្ទៀងផ្ទាត់",
"verifyFailed": "កញ្ចប់ចំនួន {count} បានបរាជ័យក្នុងការផ្ទៀងផ្ទាត់",
"noneInstalled": "មិនមានកញ្ចប់ជាជម្រើសណាមួយត្រូវបានដំឡើងទេ"
}
}