snapshot of https://github.com/mattermost/mattermost.git (master, 2026-09-16; blobs > 131072B omitted)
Some checks failed
Server CI / Postgres (shard 0) (push) Has been skipped
Server CI / Postgres (shard 3) (push) Has been skipped
BuildEnv Docker Image / build-image (push) Failing after 4s
BuildEnv Docker Image / build-image-fips (push) Failing after 4s
Migration Review & Release Notes / Generate migration review & release notes (push) Failing after 3s
Server CI / Build Environment (push) Failing after 3s
Server CI / Postgres (shard 1) (push) Has been skipped
Tools CI / check-style (mattermost-govet) (push) Failing after 4s
Server CI / Postgres (shard 2) (push) Has been skipped
Tools CI / check-style (mmgotool) (push) Failing after 3s
Server CI / Elasticsearch v8 Compatibility (push) Has been skipped
Server CI / OpenSearch v2 Compatibility (push) Has been skipped
Server CI / Postgres FIPS (shard 0) (push) Has been skipped
Tools CI / Test (mattermost-govet) (push) Failing after 3s
Server CI / Postgres FIPS (shard 1) (push) Has been skipped
Server CI / Postgres FIPS (shard 2) (push) Has been skipped
Tools CI / Test (mmgotool) (push) Failing after 3s
Server CI / Postgres FIPS (shard 3) (push) Has been skipped
Server CI / Run mmctl tests (push) Has been skipped
Server CI / Run mmctl tests (FIPS) (push) Has been skipped
Server CI / Merge Postgres Test Results (push) Has been skipped
Server CI / Merge Postgres FIPS Test Results (push) Has been skipped
Server CI / Check backport migrations (push) Has been skipped
Server CI / Check generated files (push) Has been skipped
Server CI / check-style (push) Has been skipped
Server CI / Vet API (push) Has been skipped
Server CI / Build mattermost server app (push) Has been skipped
Server CI / Server CI Complete (push) Failing after 2s
Server CI / Server CI Artifacts (push) Has been skipped
Server CI / Sentry Upload (push) Has been skipped
Server CI / Server CI Report (push) Failing after 5m1s
Server CI Nightly Race / Race Detector (push) Has been skipped
CodeQL / Analyze (go) (push) Has been cancelled
CodeQL / Analyze (javascript) (push) Has been cancelled
Webapp CI Cache Warm / Warm Webapp node_modules Cache (push) Has been cancelled
E2E CI Cache Warm / Warm E2E npm Registry Cache (push) Has been cancelled
API / build (push) Has been cancelled
Web App CI / check-types (push) Has been cancelled
Web App CI / check-lint (push) Has been cancelled
Web App CI / check-i18n (push) Has been cancelled
Web App CI / check-external-links (push) Has been cancelled
Web App CI / test (platform) (push) Has been cancelled
Web App CI / test (mattermost-redux) (push) Has been cancelled
Web App CI / test (channels shard 1/4) (push) Has been cancelled
Web App CI / test (channels shard 2/4) (push) Has been cancelled
Web App CI / test (channels shard 3/4) (push) Has been cancelled
Web App CI / test (channels shard 4/4) (push) Has been cancelled
Web App CI / upload-coverage (push) Has been cancelled
Web App CI / build (push) Has been cancelled
YAML Lint / yamllint (push) Has been cancelled
Push mirrored docker images / cd/Push mirrored docker images (push) Has been cancelled
docs-cd / Build and deploy docs (push) Has been cancelled
Docs CI / build (push) Has been cancelled
E2E Cache Warm: Cypress deps / Warm Cypress deps cache (push) Has been cancelled
Scorecards supply-chain security / Scorecard analysis (push) Has been cancelled
Server CI Weekly / Postgres FIPS (push) Has been skipped
Server CI Weekly / Run mmctl tests (FIPS) (push) Has been skipped
Server CI Weekly / Postgres with binary parameters (push) Has been skipped
Server CI Weekly / Build Environment (push) Failing after 1s
Server CI Cache Warm / Warm Go Module and Build Cache (push) Failing after 2s
Server CI Nightly Race / Build Environment (push) Failing after 1s
Some checks failed
Server CI / Postgres (shard 0) (push) Has been skipped
Server CI / Postgres (shard 3) (push) Has been skipped
BuildEnv Docker Image / build-image (push) Failing after 4s
BuildEnv Docker Image / build-image-fips (push) Failing after 4s
Migration Review & Release Notes / Generate migration review & release notes (push) Failing after 3s
Server CI / Build Environment (push) Failing after 3s
Server CI / Postgres (shard 1) (push) Has been skipped
Tools CI / check-style (mattermost-govet) (push) Failing after 4s
Server CI / Postgres (shard 2) (push) Has been skipped
Tools CI / check-style (mmgotool) (push) Failing after 3s
Server CI / Elasticsearch v8 Compatibility (push) Has been skipped
Server CI / OpenSearch v2 Compatibility (push) Has been skipped
Server CI / Postgres FIPS (shard 0) (push) Has been skipped
Tools CI / Test (mattermost-govet) (push) Failing after 3s
Server CI / Postgres FIPS (shard 1) (push) Has been skipped
Server CI / Postgres FIPS (shard 2) (push) Has been skipped
Tools CI / Test (mmgotool) (push) Failing after 3s
Server CI / Postgres FIPS (shard 3) (push) Has been skipped
Server CI / Run mmctl tests (push) Has been skipped
Server CI / Run mmctl tests (FIPS) (push) Has been skipped
Server CI / Merge Postgres Test Results (push) Has been skipped
Server CI / Merge Postgres FIPS Test Results (push) Has been skipped
Server CI / Check backport migrations (push) Has been skipped
Server CI / Check generated files (push) Has been skipped
Server CI / check-style (push) Has been skipped
Server CI / Vet API (push) Has been skipped
Server CI / Build mattermost server app (push) Has been skipped
Server CI / Server CI Complete (push) Failing after 2s
Server CI / Server CI Artifacts (push) Has been skipped
Server CI / Sentry Upload (push) Has been skipped
Server CI / Server CI Report (push) Failing after 5m1s
Server CI Nightly Race / Race Detector (push) Has been skipped
CodeQL / Analyze (go) (push) Has been cancelled
CodeQL / Analyze (javascript) (push) Has been cancelled
Webapp CI Cache Warm / Warm Webapp node_modules Cache (push) Has been cancelled
E2E CI Cache Warm / Warm E2E npm Registry Cache (push) Has been cancelled
API / build (push) Has been cancelled
Web App CI / check-types (push) Has been cancelled
Web App CI / check-lint (push) Has been cancelled
Web App CI / check-i18n (push) Has been cancelled
Web App CI / check-external-links (push) Has been cancelled
Web App CI / test (platform) (push) Has been cancelled
Web App CI / test (mattermost-redux) (push) Has been cancelled
Web App CI / test (channels shard 1/4) (push) Has been cancelled
Web App CI / test (channels shard 2/4) (push) Has been cancelled
Web App CI / test (channels shard 3/4) (push) Has been cancelled
Web App CI / test (channels shard 4/4) (push) Has been cancelled
Web App CI / upload-coverage (push) Has been cancelled
Web App CI / build (push) Has been cancelled
YAML Lint / yamllint (push) Has been cancelled
Push mirrored docker images / cd/Push mirrored docker images (push) Has been cancelled
docs-cd / Build and deploy docs (push) Has been cancelled
Docs CI / build (push) Has been cancelled
E2E Cache Warm: Cypress deps / Warm Cypress deps cache (push) Has been cancelled
Scorecards supply-chain security / Scorecard analysis (push) Has been cancelled
Server CI Weekly / Postgres FIPS (push) Has been skipped
Server CI Weekly / Run mmctl tests (FIPS) (push) Has been skipped
Server CI Weekly / Postgres with binary parameters (push) Has been skipped
Server CI Weekly / Build Environment (push) Failing after 1s
Server CI Cache Warm / Warm Go Module and Build Cache (push) Failing after 2s
Server CI Nightly Race / Build Environment (push) Failing after 1s
This commit is contained in:
12
i18n/glossary/README.md
Normal file
12
i18n/glossary/README.md
Normal file
@@ -0,0 +1,12 @@
|
||||
# Translation glossary
|
||||
|
||||
Key terminology for AI-assisted translation: core product terminology shared by webapp and server (mobile and desktop reuse it implicitly).
|
||||
|
||||
- `en.json` — term inventory: `term -> {definition, partOfSpeech, doNotTranslate, aliases?}`.
|
||||
- `<locale>.json` — one file per officially supported locale: `term -> {target, note?}`. Key set matches `en.json` exactly. `target` is the term to propagate and holds nothing but the translated term itself. `note` carries inflection/usage guidance and records known inconsistencies or mistranslations in existing locale files that future passes must not propagate.
|
||||
|
||||
Targets were derived from the majority rendering in existing locale files and the community translation rules for German, French, and Dutch. Where the majority rendering is wrong, `target` carries the correct term and `note` records what the catalogs ship today — the glossary is a correction, not a mirror. `doNotTranslate` terms keep their English form in every context, including fully translated sentences.
|
||||
|
||||
This file set is the authority for these terms. Notes state guidance directly rather than deferring to an external source, so a translation prompt needs nothing beyond the glossary itself.
|
||||
|
||||
Generated as part of the AI i18n overhaul. Reference material for translation prompts — not wired into any build or runtime.
|
||||
450
i18n/glossary/bg.json
Normal file
450
i18n/glossary/bg.json
Normal file
@@ -0,0 +1,450 @@
|
||||
{
|
||||
"Mattermost": {
|
||||
"target": "Mattermost"
|
||||
},
|
||||
"Enterprise Edition": {
|
||||
"target": "Enterprise Edition"
|
||||
},
|
||||
"Team Edition": {
|
||||
"target": "Team Edition"
|
||||
},
|
||||
"Mattermost Cloud": {
|
||||
"target": "Mattermost Cloud"
|
||||
},
|
||||
"Channels": {
|
||||
"target": "Channels"
|
||||
},
|
||||
"Playbooks": {
|
||||
"target": "Playbooks"
|
||||
},
|
||||
"Boards": {
|
||||
"target": "Boards"
|
||||
},
|
||||
"Calls": {
|
||||
"target": "Calls"
|
||||
},
|
||||
"Markdown": {
|
||||
"target": "Markdown"
|
||||
},
|
||||
"OAuth": {
|
||||
"target": "OAuth"
|
||||
},
|
||||
"SAML": {
|
||||
"target": "SAML"
|
||||
},
|
||||
"LDAP": {
|
||||
"target": "LDAP"
|
||||
},
|
||||
"SSO": {
|
||||
"target": "SSO"
|
||||
},
|
||||
"MFA": {
|
||||
"target": "MFA"
|
||||
},
|
||||
"OpenID Connect": {
|
||||
"target": "OpenID Connect"
|
||||
},
|
||||
"Entra ID": {
|
||||
"target": "Entra ID"
|
||||
},
|
||||
"GitLab": {
|
||||
"target": "GitLab"
|
||||
},
|
||||
"Elasticsearch": {
|
||||
"target": "Elasticsearch"
|
||||
},
|
||||
"Gossip": {
|
||||
"target": "Gossip"
|
||||
},
|
||||
"Actiance XML": {
|
||||
"target": "Actiance XML"
|
||||
},
|
||||
"Global Relay": {
|
||||
"target": "Global Relay"
|
||||
},
|
||||
"System Console": {
|
||||
"target": "Системна конзола",
|
||||
"note": "Established in existing bg.json ('Системна конзола > Дневници'). Lowercase 'системната конзола' in running text with definite article."
|
||||
},
|
||||
"marketplace": {
|
||||
"target": "пазар",
|
||||
"note": "User-facing strings use 'Пазар' / 'пазар на приложения'; several admin System Console strings keep English 'Marketplace'. Prefer 'пазар' for user-facing text."
|
||||
},
|
||||
"channel": {
|
||||
"target": "канал",
|
||||
"note": "Plural: канали. Established everywhere."
|
||||
},
|
||||
"team": {
|
||||
"target": "екип",
|
||||
"note": "Plural: екипи. Established everywhere."
|
||||
},
|
||||
"post": {
|
||||
"target": "публикация",
|
||||
"note": "Established. Distinct from 'message' = съобщение."
|
||||
},
|
||||
"message": {
|
||||
"target": "съобщение",
|
||||
"note": "Plural: съобщения."
|
||||
},
|
||||
"thread": {
|
||||
"target": "разговор",
|
||||
"note": "Established majority ('Разговор', 'непрочетени разговори'). A few strings use 'тема'; avoid the calque 'нишка'."
|
||||
},
|
||||
"reply": {
|
||||
"target": "отговор",
|
||||
"note": "Noun. Verb/button: 'Отговори'; the act: 'отговаряне'."
|
||||
},
|
||||
"direct message": {
|
||||
"target": "директно съобщение",
|
||||
"note": "Majority rendering; a few strings use 'лично съобщение'. Keep 'директно съобщение' for consistency."
|
||||
},
|
||||
"group message": {
|
||||
"target": "групово съобщение"
|
||||
},
|
||||
"mention": {
|
||||
"target": "споменаване",
|
||||
"note": "Noun. Verb: 'споменавам/спомени'. @mention = '@споменаване'."
|
||||
},
|
||||
"notification": {
|
||||
"target": "известие",
|
||||
"note": "Established. Plural: известия. A few older strings use 'уведомление' — prefer 'известие'."
|
||||
},
|
||||
"pin": {
|
||||
"target": "закачане",
|
||||
"note": "Verb; button 'Закачи', state 'Закачено' (established), unpin 'Откачи', pinned messages 'закачени съобщения'."
|
||||
},
|
||||
"bookmark": {
|
||||
"target": "отметка",
|
||||
"note": "Established in server strings ('отметки на канала'). Verb: 'добавяне на отметка'."
|
||||
},
|
||||
"saved messages": {
|
||||
"target": "запазени съобщения",
|
||||
"note": "Existing strings are inconsistent ('запазени публикации' vs 'запазени съобщения'); prefer 'запазени съобщения' to match message = съобщение. Save = 'запази', unsave = 'премахни от запазени'."
|
||||
},
|
||||
"draft": {
|
||||
"target": "чернова",
|
||||
"note": "Established. Plural: чернови."
|
||||
},
|
||||
"scheduled post": {
|
||||
"target": "планирана публикация",
|
||||
"note": "Established: 'Планирани публикации'."
|
||||
},
|
||||
"emoji": {
|
||||
"target": "емотикон",
|
||||
"note": "Established. Plural: емотикони."
|
||||
},
|
||||
"custom emoji": {
|
||||
"target": "персонализиран емотикон",
|
||||
"note": "Established: 'персонализирани емотикони'."
|
||||
},
|
||||
"reaction": {
|
||||
"target": "реакция",
|
||||
"note": "Established. Verb react: 'реагирай'."
|
||||
},
|
||||
"status": {
|
||||
"target": "състояние",
|
||||
"note": "For user availability the majority uses 'състояние'; 'статус' appears in some billing/job strings. Prefer 'състояние'."
|
||||
},
|
||||
"custom status": {
|
||||
"target": "персонализирано състояние",
|
||||
"note": "Existing strings mix 'персонализирано състояние' and 'потребителски статус'; prefer the former."
|
||||
},
|
||||
"do not disturb": {
|
||||
"target": "Не безпокой",
|
||||
"note": "Mobile uses 'Не безпокой', webapp has 'Не безпокойте'. 'Не безпокой' is the majority; keep it as the status name."
|
||||
},
|
||||
"away": {
|
||||
"target": "отсъстващ",
|
||||
"note": "Established status name ('Отсъстващ')."
|
||||
},
|
||||
"online": {
|
||||
"target": "на линия",
|
||||
"note": "Established status name ('На линия')."
|
||||
},
|
||||
"offline": {
|
||||
"target": "извън линия",
|
||||
"note": "Established status name ('Извън линия')."
|
||||
},
|
||||
"out of office": {
|
||||
"target": "извън офиса",
|
||||
"note": "Established: 'Извън офиса'."
|
||||
},
|
||||
"guest": {
|
||||
"target": "гост",
|
||||
"note": "Plural: гости. Guest access = 'достъп за гости'."
|
||||
},
|
||||
"member": {
|
||||
"target": "член",
|
||||
"note": "Plural: членове."
|
||||
},
|
||||
"user": {
|
||||
"target": "потребител",
|
||||
"note": "Plural: потребители."
|
||||
},
|
||||
"system admin": {
|
||||
"target": "системен администратор"
|
||||
},
|
||||
"team admin": {
|
||||
"target": "администратор на екипа",
|
||||
"note": "Follows established pattern 'администратор на екип'."
|
||||
},
|
||||
"channel admin": {
|
||||
"target": "администратор на канала"
|
||||
},
|
||||
"session": {
|
||||
"target": "сесия",
|
||||
"note": "Established. Plural: сесии."
|
||||
},
|
||||
"sign in": {
|
||||
"target": "влизане",
|
||||
"note": "Verb prose: 'влезте' (formal plural, per repo register). Button: 'Влез' or 'Вход'. Translate 'log in' identically."
|
||||
},
|
||||
"sign out": {
|
||||
"target": "излизане",
|
||||
"note": "Button: 'Излез' (established). Translate 'log out' identically."
|
||||
},
|
||||
"join": {
|
||||
"target": "присъединяване",
|
||||
"note": "Button: 'Присъедини се' / 'Присъедини' (established)."
|
||||
},
|
||||
"leave": {
|
||||
"target": "напускане",
|
||||
"note": "Button: 'Напусни' (established)."
|
||||
},
|
||||
"archive": {
|
||||
"target": "архивиране",
|
||||
"note": "Button: 'Архивирай'; state: 'Архивиран' (established)."
|
||||
},
|
||||
"unarchive": {
|
||||
"target": "разархивиране",
|
||||
"note": "Button: 'Разархивирай' (established)."
|
||||
},
|
||||
"mute": {
|
||||
"target": "заглушаване",
|
||||
"note": "Channel-notification sense; button 'Заглуши' (established). Unmute a channel: 'Включи звука'."
|
||||
},
|
||||
"follow": {
|
||||
"target": "следване",
|
||||
"note": "Button: 'Следвай' (established)."
|
||||
},
|
||||
"unfollow": {
|
||||
"target": "спиране на следването",
|
||||
"note": "No existing bg string; button form 'Спри да следваш' per common Bulgarian social-app convention."
|
||||
},
|
||||
"favorite": {
|
||||
"target": "любим",
|
||||
"note": "Sidebar category: 'Любими' (established). Verb: 'Добави в любими'; unfavorite: 'Премахни от любими'."
|
||||
},
|
||||
"search": {
|
||||
"target": "търсене",
|
||||
"note": "Established. Verb/command: 'търси'."
|
||||
},
|
||||
"integration": {
|
||||
"target": "интеграция",
|
||||
"note": "Established: 'Интеграции'."
|
||||
},
|
||||
"slash command": {
|
||||
"target": "команда с наклонена черта",
|
||||
"note": "Existing strings are inconsistent: '/ команда' (frequent in webapp) vs 'команда с наклонена черта'. The latter reads better in running text; use it consistently."
|
||||
},
|
||||
"webhook": {
|
||||
"target": "webhook",
|
||||
"note": "Consistently kept in English in existing bg.json; inflected with a hyphen ('webhook-а') when a definite article is needed."
|
||||
},
|
||||
"incoming webhook": {
|
||||
"target": "входящ webhook"
|
||||
},
|
||||
"outgoing webhook": {
|
||||
"target": "изходящ webhook"
|
||||
},
|
||||
"trigger word": {
|
||||
"target": "задействаща дума"
|
||||
},
|
||||
"plugin": {
|
||||
"target": "приставка",
|
||||
"note": "Established. Plural: приставки."
|
||||
},
|
||||
"bot": {
|
||||
"target": "бот",
|
||||
"note": "Bot account = 'бот акаунт' (established in server strings)."
|
||||
},
|
||||
"role": {
|
||||
"target": "роля",
|
||||
"note": "Established. Plural: роли."
|
||||
},
|
||||
"permission": {
|
||||
"target": "право",
|
||||
"note": "Established: 'Права' (plural) for the Permissions section."
|
||||
},
|
||||
"scheme": {
|
||||
"target": "схема",
|
||||
"note": "Established: 'екипна схема', 'схема за канал'."
|
||||
},
|
||||
"license": {
|
||||
"target": "лиценз",
|
||||
"note": "Established: 'Вашият лиценз не поддържа...'."
|
||||
},
|
||||
"seat": {
|
||||
"target": "потребителско място",
|
||||
"note": "No existing bg rendering; 'място' alone works in licensing context ('10 места')."
|
||||
},
|
||||
"trial": {
|
||||
"target": "пробен период",
|
||||
"note": "Established: 'пробен период'; adjective form 'пробна' for the license label."
|
||||
},
|
||||
"workspace": {
|
||||
"target": "работно пространство"
|
||||
},
|
||||
"subscription": {
|
||||
"target": "абонамент"
|
||||
},
|
||||
"deactivate": {
|
||||
"target": "деактивиране",
|
||||
"note": "Button: 'Деактивирай' (established)."
|
||||
},
|
||||
"invite": {
|
||||
"target": "покана",
|
||||
"note": "Noun; verb/button: 'покани' (established slash command name)."
|
||||
},
|
||||
"invitation": {
|
||||
"target": "покана",
|
||||
"note": "Same word as 'invite' noun; plural 'покани'."
|
||||
},
|
||||
"sidebar": {
|
||||
"target": "странична лента",
|
||||
"note": "Established: 'лява/дясна странична лента'."
|
||||
},
|
||||
"unread": {
|
||||
"target": "непрочетен",
|
||||
"note": "Inflects: 'непрочетено' (neuter), 'непрочетени' (plural, used for the Unreads filter)."
|
||||
},
|
||||
"attachment": {
|
||||
"target": "прикачен файл",
|
||||
"note": "Established. Plural: прикачени файлове."
|
||||
},
|
||||
"public channel": {
|
||||
"target": "публичен канал",
|
||||
"note": "Majority; a few older strings use 'обществен канал' — prefer 'публичен'."
|
||||
},
|
||||
"private channel": {
|
||||
"target": "частен канал"
|
||||
},
|
||||
"shared channel": {
|
||||
"target": "споделен канал"
|
||||
},
|
||||
"channel header": {
|
||||
"target": "заглавка на канала",
|
||||
"note": "Existing strings mix 'заглавка' (webapp majority) and 'заглавие' (server); use 'заглавка' consistently."
|
||||
},
|
||||
"channel purpose": {
|
||||
"target": "цел на канала",
|
||||
"note": "Established majority; a couple of strings use 'предназначение'."
|
||||
},
|
||||
"system message": {
|
||||
"target": "системно съобщение"
|
||||
},
|
||||
"persistent notification": {
|
||||
"target": "постоянно известие",
|
||||
"note": "Established: 'постоянни известия'."
|
||||
},
|
||||
"message priority": {
|
||||
"target": "приоритет на съобщението"
|
||||
},
|
||||
"urgent": {
|
||||
"target": "спешно",
|
||||
"note": "Established: 'спешни съобщения'. Label form: 'СПЕШНО'."
|
||||
},
|
||||
"recap": {
|
||||
"target": "обобщение",
|
||||
"note": "No existing bg string; 'обобщение' is the natural term for an AI-generated activity summary."
|
||||
},
|
||||
"agent": {
|
||||
"target": "агент",
|
||||
"note": "Plural: агенти."
|
||||
},
|
||||
"burn-on-read": {
|
||||
"target": "изтриване след прочитане",
|
||||
"note": "No existing bg string. Adjective usage: 'съобщение с изтриване след прочитане'; label form 'ИЗТРИВА СЕ СЛЕД ПРОЧИТАНЕ'."
|
||||
},
|
||||
"magic link": {
|
||||
"target": "магическа връзка",
|
||||
"note": "No existing bg string; 'връзка' is the established word for link."
|
||||
},
|
||||
"personal access token": {
|
||||
"target": "личен маркер за достъп",
|
||||
"note": "Established; token = 'маркер' throughout existing translations."
|
||||
},
|
||||
"announcement banner": {
|
||||
"target": "банер за съобщения",
|
||||
"note": "Established in webapp admin strings. 'банер за обявления' would avoid collision with message = съобщение, but keep the existing majority."
|
||||
},
|
||||
"channel banner": {
|
||||
"target": "банер на канала"
|
||||
},
|
||||
"keyword": {
|
||||
"target": "ключова дума",
|
||||
"note": "Established: 'Ключови думи'."
|
||||
},
|
||||
"user group": {
|
||||
"target": "потребителска група",
|
||||
"note": "Group = 'група' established; plural 'потребителски групи'."
|
||||
},
|
||||
"permalink": {
|
||||
"target": "постоянна връзка"
|
||||
},
|
||||
"profile": {
|
||||
"target": "профил"
|
||||
},
|
||||
"username": {
|
||||
"target": "потребителско име"
|
||||
},
|
||||
"nickname": {
|
||||
"target": "псевдоним"
|
||||
},
|
||||
"display name": {
|
||||
"target": "показвано име"
|
||||
},
|
||||
"collapsed reply threads": {
|
||||
"target": "свити разговори",
|
||||
"note": "No existing bg string; follows thread = 'разговор'. Feature name, capitalize as 'Свити разговори'."
|
||||
},
|
||||
"auto-translation": {
|
||||
"target": "автоматичен превод",
|
||||
"note": "Label form: 'АВТОМАТИЧНО ПРЕВЕДЕНО'."
|
||||
},
|
||||
"data retention": {
|
||||
"target": "съхранение на данни",
|
||||
"note": "Established: 'Политика за съхранение на данни'."
|
||||
},
|
||||
"compliance export": {
|
||||
"target": "експорт на съответствие",
|
||||
"note": "Established majority; some strings use 'износ на съответствие' — prefer 'експорт'."
|
||||
},
|
||||
"access control": {
|
||||
"target": "контрол на достъпа",
|
||||
"note": "Established: 'Разширен контрол на достъпа'. Policy: 'политика за контрол на достъпа'."
|
||||
},
|
||||
"attribute": {
|
||||
"target": "атрибут",
|
||||
"note": "Established (LDAP/SAML strings). Plural: атрибути."
|
||||
},
|
||||
"onboarding": {
|
||||
"target": "въвеждане",
|
||||
"note": "No existing bg string; 'въвеждане' (initial guided setup). Avoid transliterating 'онбординг' in UI text."
|
||||
},
|
||||
"Town Square": {
|
||||
"target": "Площада",
|
||||
"note": "Established default channel name in server bg.json."
|
||||
},
|
||||
"Off-Topic": {
|
||||
"target": "Извън темата",
|
||||
"note": "Established default channel name in server bg.json."
|
||||
},
|
||||
"read-only": {
|
||||
"target": "само за четене"
|
||||
},
|
||||
"server": {
|
||||
"target": "сървър",
|
||||
"note": "Established. Plural: сървъри."
|
||||
}
|
||||
}
|
||||
448
i18n/glossary/de.json
Normal file
448
i18n/glossary/de.json
Normal file
@@ -0,0 +1,448 @@
|
||||
{
|
||||
"Mattermost": {
|
||||
"target": "Mattermost"
|
||||
},
|
||||
"Enterprise Edition": {
|
||||
"target": "Enterprise Edition"
|
||||
},
|
||||
"Team Edition": {
|
||||
"target": "Team Edition"
|
||||
},
|
||||
"Mattermost Cloud": {
|
||||
"target": "Mattermost Cloud"
|
||||
},
|
||||
"Channels": {
|
||||
"target": "Channels",
|
||||
"note": "As a product name keep English. The common noun 'channels' is 'Kanäle'."
|
||||
},
|
||||
"Playbooks": {
|
||||
"target": "Playbooks"
|
||||
},
|
||||
"Boards": {
|
||||
"target": "Boards"
|
||||
},
|
||||
"Calls": {
|
||||
"target": "Calls"
|
||||
},
|
||||
"Markdown": {
|
||||
"target": "Markdown"
|
||||
},
|
||||
"OAuth": {
|
||||
"target": "OAuth"
|
||||
},
|
||||
"SAML": {
|
||||
"target": "SAML"
|
||||
},
|
||||
"LDAP": {
|
||||
"target": "LDAP",
|
||||
"note": "'AD/LDAP' stays as-is."
|
||||
},
|
||||
"SSO": {
|
||||
"target": "SSO"
|
||||
},
|
||||
"MFA": {
|
||||
"target": "MFA"
|
||||
},
|
||||
"OpenID Connect": {
|
||||
"target": "OpenID Connect"
|
||||
},
|
||||
"Entra ID": {
|
||||
"target": "Entra ID"
|
||||
},
|
||||
"GitLab": {
|
||||
"target": "GitLab"
|
||||
},
|
||||
"Elasticsearch": {
|
||||
"target": "Elasticsearch"
|
||||
},
|
||||
"Gossip": {
|
||||
"target": "Gossip",
|
||||
"note": "Protocol name; never render literally. Never 'Klatsch und Tratsch'."
|
||||
},
|
||||
"Actiance XML": {
|
||||
"target": "Actiance XML"
|
||||
},
|
||||
"Global Relay": {
|
||||
"target": "Global Relay",
|
||||
"note": "Export format written 'Global-Relay-EML' when compounded."
|
||||
},
|
||||
"System Console": {
|
||||
"target": "Systemkonsole",
|
||||
"note": "Feminine: die Systemkonsole. Consistent across webapp and mobile."
|
||||
},
|
||||
"marketplace": {
|
||||
"target": "Marktplatz",
|
||||
"note": "Beware: the default channel 'Town Square' is also 'Marktplatz' in existing translations — disambiguate via context (Plugin-Marktplatz vs. channel name)."
|
||||
},
|
||||
"channel": {
|
||||
"target": "Kanal",
|
||||
"note": "Masculine: der Kanal, Plural Kanäle."
|
||||
},
|
||||
"team": {
|
||||
"target": "Team",
|
||||
"note": "Neuter: das Team."
|
||||
},
|
||||
"post": {
|
||||
"target": "Nachricht",
|
||||
"note": "Same as message. A few newer server strings use 'Beitrag'."
|
||||
},
|
||||
"message": {
|
||||
"target": "Nachricht",
|
||||
"note": "Feminine: die Nachricht."
|
||||
},
|
||||
"thread": {
|
||||
"target": "Unterhaltung",
|
||||
"note": "Consistently 'Unterhaltung' (not 'Thread') across webapp, server, and mobile; the Threads view is 'Unterhaltungen'."
|
||||
},
|
||||
"reply": {
|
||||
"target": "Antwort",
|
||||
"note": "Verb: antworten. Plural: Antworten."
|
||||
},
|
||||
"direct message": {
|
||||
"target": "Direktnachricht",
|
||||
"note": "Abbreviation DM is not expanded in German UI; a few strings use 'direkte Nachricht' — prefer the compound."
|
||||
},
|
||||
"group message": {
|
||||
"target": "Gruppennachricht"
|
||||
},
|
||||
"mention": {
|
||||
"target": "Erwähnung",
|
||||
"note": "Verb: erwähnen. '@mention' stays '@Erwähnung' or keeps the @username literal."
|
||||
},
|
||||
"notification": {
|
||||
"target": "Benachrichtigung"
|
||||
},
|
||||
"pin": {
|
||||
"target": "anheften",
|
||||
"note": "Pinned messages = 'Angeheftete Nachrichten'; unpin = 'Loslösen' / 'nicht mehr anheften'."
|
||||
},
|
||||
"bookmark": {
|
||||
"target": "Lesezeichen",
|
||||
"note": "Neuter: das Lesezeichen. Verb usage: 'Lesezeichen hinzufügen'."
|
||||
},
|
||||
"saved messages": {
|
||||
"target": "Gespeicherte Nachrichten",
|
||||
"note": "save = speichern, unsave = 'nicht mehr speichern'"
|
||||
},
|
||||
"draft": {
|
||||
"target": "Entwurf",
|
||||
"note": "Masculine: der Entwurf, Plural Entwürfe."
|
||||
},
|
||||
"scheduled post": {
|
||||
"target": "Geplante Nachricht",
|
||||
"note": "Existing UI uses 'Geplante Nachrichten' / 'geplanter Versand'."
|
||||
},
|
||||
"emoji": {
|
||||
"target": "Emoji",
|
||||
"note": "Neuter: das Emoji, Plural Emojis."
|
||||
},
|
||||
"custom emoji": {
|
||||
"target": "Benutzerdefiniertes Emoji"
|
||||
},
|
||||
"reaction": {
|
||||
"target": "Reaktion",
|
||||
"note": "Verb 'react' = reagieren."
|
||||
},
|
||||
"status": {
|
||||
"target": "Status",
|
||||
"note": "Masculine: der Status; plural also Status."
|
||||
},
|
||||
"custom status": {
|
||||
"target": "Benutzerdefinierter Status",
|
||||
"note": "Majority rendering; a few mobile strings shorten to 'eigener Status' — prefer 'benutzerdefinierter Status'."
|
||||
},
|
||||
"do not disturb": {
|
||||
"target": "Nicht stören",
|
||||
"note": "Status label; keep without 'Bitte'. Abbreviation DND is not used in German UI."
|
||||
},
|
||||
"away": {
|
||||
"target": "Abwesend",
|
||||
"note": "Lowercase 'abwesend' inside sentences."
|
||||
},
|
||||
"online": {
|
||||
"target": "Online"
|
||||
},
|
||||
"offline": {
|
||||
"target": "Offline"
|
||||
},
|
||||
"out of office": {
|
||||
"target": "Nicht im Büro",
|
||||
"note": "Existing status label is '\"Nicht im Büro\"'. In prose about absence, 'abwesend' also appears."
|
||||
},
|
||||
"guest": {
|
||||
"target": "Gast",
|
||||
"note": "Masculine: der Gast, Plural Gäste. Guest access = Gastzugang."
|
||||
},
|
||||
"member": {
|
||||
"target": "Mitglied",
|
||||
"note": "Neuter: das Mitglied, Plural Mitglieder."
|
||||
},
|
||||
"user": {
|
||||
"target": "Benutzer",
|
||||
"note": "Not 'Nutzer', which appears sporadically."
|
||||
},
|
||||
"system admin": {
|
||||
"target": "Systemadministrator",
|
||||
"note": "Also 'Systemadmin' in short labels; prefer the full compound."
|
||||
},
|
||||
"team admin": {
|
||||
"target": "Teamadministrator"
|
||||
},
|
||||
"channel admin": {
|
||||
"target": "Kanaladministrator"
|
||||
},
|
||||
"session": {
|
||||
"target": "Sitzung"
|
||||
},
|
||||
"sign in": {
|
||||
"target": "anmelden",
|
||||
"note": "Both 'sign in' and 'log in' = anmelden (noun: Anmeldung). Register belongs to the catalog, not to this term: the shipped German files address the user informally, so 'Melde dich an' over 'Melden Sie sich an'."
|
||||
},
|
||||
"sign out": {
|
||||
"target": "abmelden",
|
||||
"note": "Both 'sign out' and 'log out' = abmelden (button: 'Abmelden')."
|
||||
},
|
||||
"join": {
|
||||
"target": "beitreten",
|
||||
"note": "Takes dative: 'dem Kanal beitreten'."
|
||||
},
|
||||
"leave": {
|
||||
"target": "verlassen",
|
||||
"note": "'Kanal verlassen', 'Team verlassen'."
|
||||
},
|
||||
"archive": {
|
||||
"target": "archivieren",
|
||||
"note": "Adjective 'archived' = archiviert."
|
||||
},
|
||||
"unarchive": {
|
||||
"target": "wiederherstellen",
|
||||
"note": "'Kanal wiederherstellen', 'Team wiederherstellen'. Not 'dearchivieren'."
|
||||
},
|
||||
"mute": {
|
||||
"target": "stummschalten",
|
||||
"note": "'Kanal stummschalten'; unmute a channel = 'Stummschaltung aufheben'. Same verb is used for microphone mute in Calls."
|
||||
},
|
||||
"follow": {
|
||||
"target": "folgen",
|
||||
"note": "Takes dative: 'einer Unterhaltung folgen'."
|
||||
},
|
||||
"unfollow": {
|
||||
"target": "nicht mehr folgen",
|
||||
"note": "'Nicht mehr folgen' is the established button label."
|
||||
},
|
||||
"favorite": {
|
||||
"target": "Favorit",
|
||||
"note": "Masculine: der Favorit, Plural Favoriten (sidebar category 'Favoriten'). Verb: 'zu Favoriten hinzufügen'; unfavorite: 'aus Favoriten entfernen'."
|
||||
},
|
||||
"search": {
|
||||
"target": "Suche",
|
||||
"note": "Verb: suchen; 'browse' = durchsuchen."
|
||||
},
|
||||
"integration": {
|
||||
"target": "Integration"
|
||||
},
|
||||
"slash command": {
|
||||
"target": "Slash-Befehl"
|
||||
},
|
||||
"webhook": {
|
||||
"target": "Webhook",
|
||||
"note": "Masculine: der Webhook. Kept in English."
|
||||
},
|
||||
"incoming webhook": {
|
||||
"target": "Eingehender Webhook"
|
||||
},
|
||||
"outgoing webhook": {
|
||||
"target": "Ausgehender Webhook"
|
||||
},
|
||||
"trigger word": {
|
||||
"target": "Auslösewort",
|
||||
"note": "Plural: Auslösewörter. Command trigger word = Befehlsauslösewort."
|
||||
},
|
||||
"plugin": {
|
||||
"target": "Plugin",
|
||||
"note": "Neuter: das Plugin. Kept in English."
|
||||
},
|
||||
"bot": {
|
||||
"target": "Bot",
|
||||
"note": "Masculine: der Bot. Bot account = Bot-Konto."
|
||||
},
|
||||
"role": {
|
||||
"target": "Rolle"
|
||||
},
|
||||
"permission": {
|
||||
"target": "Berechtigung",
|
||||
"note": "Consistent existing rendering (not 'Erlaubnis'/'Recht')."
|
||||
},
|
||||
"scheme": {
|
||||
"target": "Schema",
|
||||
"note": "Neuter: das Schema, Plural Schemata. Permission scheme = Berechtigungsschema."
|
||||
},
|
||||
"license": {
|
||||
"target": "Lizenz"
|
||||
},
|
||||
"seat": {
|
||||
"target": "Sitz",
|
||||
"note": "Majority rendering in licensing strings (Plural Sitze); 'Lizenzplatz' also appears once and is arguably clearer, but keep 'Sitz' for consistency."
|
||||
},
|
||||
"trial": {
|
||||
"target": "Testversion",
|
||||
"note": "Majority rendering; 'Testphase'/'Testzeitraum' appear when a period is meant. Free trial = 'kostenlose Testversion'."
|
||||
},
|
||||
"workspace": {
|
||||
"target": "Arbeitsbereich",
|
||||
"note": "Strong majority (56 vs 2 occurrences of untranslated 'Workspace')."
|
||||
},
|
||||
"subscription": {
|
||||
"target": "Abonnement",
|
||||
"note": "Informal 'Abo' appears in a few strings."
|
||||
},
|
||||
"deactivate": {
|
||||
"target": "deaktivieren",
|
||||
"note": "Deactivated account = deaktiviertes Konto."
|
||||
},
|
||||
"invite": {
|
||||
"target": "einladen",
|
||||
"note": "Verb; as a noun use 'Einladung'."
|
||||
},
|
||||
"invitation": {
|
||||
"target": "Einladung"
|
||||
},
|
||||
"sidebar": {
|
||||
"target": "Seitenleiste"
|
||||
},
|
||||
"unread": {
|
||||
"target": "ungelesen",
|
||||
"note": "'Unreads' view = 'Ungelesene Nachrichten' / 'Ungelesenes'."
|
||||
},
|
||||
"attachment": {
|
||||
"target": "Anhang",
|
||||
"note": "Masculine: der Anhang, Plural Anhänge."
|
||||
},
|
||||
"public channel": {
|
||||
"target": "Öffentlicher Kanal"
|
||||
},
|
||||
"private channel": {
|
||||
"target": "Privater Kanal"
|
||||
},
|
||||
"shared channel": {
|
||||
"target": "Gemeinsamer Kanal",
|
||||
"note": "Majority rendering ('gemeinsamer Kanal'); 'geteilter Kanal' also occurs and the admin role name stays English ('Shared Channel Manager'). Keep 'gemeinsam' for consistency."
|
||||
},
|
||||
"channel header": {
|
||||
"target": "Kanalüberschrift",
|
||||
"note": "UI labels use 'Kanal-Kopfzeile'; bare 'header' = Kopfzeile."
|
||||
},
|
||||
"channel purpose": {
|
||||
"target": "Kanalzweck",
|
||||
"note": "Bare 'purpose' = Zweck."
|
||||
},
|
||||
"system message": {
|
||||
"target": "Systemnachricht",
|
||||
"note": "Write as one compound; an existing string has the incorrect spaced form 'System Nachricht'."
|
||||
},
|
||||
"persistent notification": {
|
||||
"target": "Dauerhafte Benachrichtigung"
|
||||
},
|
||||
"message priority": {
|
||||
"target": "Nachrichtenpriorität",
|
||||
"note": "Existing strings vary between 'Nachrichtenpriorität' and 'Nachrichten-Priorität'; prefer the solid compound."
|
||||
},
|
||||
"urgent": {
|
||||
"target": "Dringend",
|
||||
"note": "Priority label; lowercase 'dringend' in sentences. 'Important' = Wichtig."
|
||||
},
|
||||
"recap": {
|
||||
"target": "Rückblick",
|
||||
"note": "Webapp UI uses 'Rückblick'; server error strings use 'Zusammenfassung' (inconsistent). Prefer Rückblick to avoid clashing with summary = Zusammenfassung."
|
||||
},
|
||||
"agent": {
|
||||
"target": "Agent",
|
||||
"note": "Masculine: der Agent, Plural Agenten. 'AI agent' is rendered inconsistently as 'KI-Agent' and 'AI-Agent'; prefer 'KI-Agent'."
|
||||
},
|
||||
"burn-on-read": {
|
||||
"target": "Löschen-nach-Lesen",
|
||||
"note": "Majority rendering ('Löschen-nach-Lesen-Nachricht'); some admin strings keep English 'Burn-on-Read'."
|
||||
},
|
||||
"magic link": {
|
||||
"target": "Magic Link",
|
||||
"note": "Webapp majority keeps English 'Magic Link' (10 vs 4); server strings use 'magischer Link'. Keep Magic Link for consistency with the user-facing webapp."
|
||||
},
|
||||
"personal access token": {
|
||||
"target": "Persönlicher Zugangs-Token",
|
||||
"note": "Webapp majority uses 'Zugriffs-Token'. Token is masculine ('den Token')."
|
||||
},
|
||||
"announcement banner": {
|
||||
"target": "Ankündigungs-Banner",
|
||||
"note": "Existing strings mix 'Ankündigungs-Banner' and 'Ankündigungsbanner'. Bare 'banner' = Banner."
|
||||
},
|
||||
"channel banner": {
|
||||
"target": "Kanal-Banner",
|
||||
"note": "Existing strings mix 'Kanal-Banner' and 'Kanalbanner'."
|
||||
},
|
||||
"keyword": {
|
||||
"target": "Schlüsselwort",
|
||||
"note": "Notification settings use 'Schlüsselwörter'; compliance UI uses 'Stichworte' (inconsistent). For mention keywords use Schlüsselwort."
|
||||
},
|
||||
"user group": {
|
||||
"target": "Benutzergruppe",
|
||||
"note": "Bare 'group' = Gruppe."
|
||||
},
|
||||
"permalink": {
|
||||
"target": "Permalink",
|
||||
"note": "Not 'dauerhafter Link'."
|
||||
},
|
||||
"profile": {
|
||||
"target": "Profil"
|
||||
},
|
||||
"username": {
|
||||
"target": "Benutzername"
|
||||
},
|
||||
"nickname": {
|
||||
"target": "Spitzname"
|
||||
},
|
||||
"display name": {
|
||||
"target": "Anzeigename"
|
||||
},
|
||||
"collapsed reply threads": {
|
||||
"target": "Unterhaltungen",
|
||||
"note": "Existing UI renders the feature name simply as 'Unterhaltungen' (mobile display settings). If a literal rendering is required, use 'Eingeklappte Unterhaltungen' — but prefer the established short form."
|
||||
},
|
||||
"auto-translation": {
|
||||
"target": "Automatische Übersetzung",
|
||||
"note": "'auto-translated' = automatisch übersetzt."
|
||||
},
|
||||
"data retention": {
|
||||
"target": "Datenaufbewahrung",
|
||||
"note": "Policy = 'Datenaufbewahrungsrichtlinie'."
|
||||
},
|
||||
"compliance export": {
|
||||
"target": "Compliance-Export",
|
||||
"note": "Keep 'Compliance' English; consistent existing rendering."
|
||||
},
|
||||
"access control": {
|
||||
"target": "Zugriffskontrolle",
|
||||
"note": "Attribute-based access control = 'attributbasierte Zugriffskontrolle'; policy = Richtlinie."
|
||||
},
|
||||
"attribute": {
|
||||
"target": "Attribut",
|
||||
"note": "Neuter: das Attribut, Plural Attribute. Custom profile attribute = 'benutzerdefiniertes Profilattribut'."
|
||||
},
|
||||
"onboarding": {
|
||||
"target": "Onboarding"
|
||||
},
|
||||
"Town Square": {
|
||||
"target": "Marktplatz",
|
||||
"note": "Established default-channel name in server i18n. Caution: 'marketplace' (plugin store) is also 'Marktplatz' — rely on context; consider 'Plugin-Marktplatz' when ambiguity is possible."
|
||||
},
|
||||
"Off-Topic": {
|
||||
"target": "Sonstiges"
|
||||
},
|
||||
"read-only": {
|
||||
"target": "schreibgeschützt",
|
||||
"note": "Channel context uses 'Dieser Kanal ist schreibgeschützt'; admin strings also use 'Nur Lesen'/'Nur-Lese-…'. Prefer schreibgeschützt for channels."
|
||||
},
|
||||
"server": {
|
||||
"target": "Server",
|
||||
"note": "Masculine: der Server; plural Server."
|
||||
}
|
||||
}
|
||||
370
i18n/glossary/en-AU.json
Normal file
370
i18n/glossary/en-AU.json
Normal file
@@ -0,0 +1,370 @@
|
||||
{
|
||||
"Mattermost": {
|
||||
"target": "Mattermost"
|
||||
},
|
||||
"Enterprise Edition": {
|
||||
"target": "Enterprise Edition"
|
||||
},
|
||||
"Team Edition": {
|
||||
"target": "Team Edition"
|
||||
},
|
||||
"Mattermost Cloud": {
|
||||
"target": "Mattermost Cloud"
|
||||
},
|
||||
"Channels": {
|
||||
"target": "Channels"
|
||||
},
|
||||
"Playbooks": {
|
||||
"target": "Playbooks"
|
||||
},
|
||||
"Boards": {
|
||||
"target": "Boards"
|
||||
},
|
||||
"Calls": {
|
||||
"target": "Calls"
|
||||
},
|
||||
"Markdown": {
|
||||
"target": "Markdown"
|
||||
},
|
||||
"OAuth": {
|
||||
"target": "OAuth"
|
||||
},
|
||||
"SAML": {
|
||||
"target": "SAML"
|
||||
},
|
||||
"LDAP": {
|
||||
"target": "LDAP"
|
||||
},
|
||||
"SSO": {
|
||||
"target": "SSO"
|
||||
},
|
||||
"MFA": {
|
||||
"target": "MFA"
|
||||
},
|
||||
"OpenID Connect": {
|
||||
"target": "OpenID Connect"
|
||||
},
|
||||
"Entra ID": {
|
||||
"target": "Entra ID"
|
||||
},
|
||||
"GitLab": {
|
||||
"target": "GitLab"
|
||||
},
|
||||
"Elasticsearch": {
|
||||
"target": "Elasticsearch"
|
||||
},
|
||||
"Gossip": {
|
||||
"target": "Gossip"
|
||||
},
|
||||
"Actiance XML": {
|
||||
"target": "Actiance XML"
|
||||
},
|
||||
"Global Relay": {
|
||||
"target": "Global Relay"
|
||||
},
|
||||
"System Console": {
|
||||
"target": "System Console"
|
||||
},
|
||||
"marketplace": {
|
||||
"target": "marketplace"
|
||||
},
|
||||
"channel": {
|
||||
"target": "channel"
|
||||
},
|
||||
"team": {
|
||||
"target": "team"
|
||||
},
|
||||
"post": {
|
||||
"target": "post"
|
||||
},
|
||||
"message": {
|
||||
"target": "message"
|
||||
},
|
||||
"thread": {
|
||||
"target": "thread"
|
||||
},
|
||||
"reply": {
|
||||
"target": "reply"
|
||||
},
|
||||
"direct message": {
|
||||
"target": "direct message"
|
||||
},
|
||||
"group message": {
|
||||
"target": "group message"
|
||||
},
|
||||
"mention": {
|
||||
"target": "mention"
|
||||
},
|
||||
"notification": {
|
||||
"target": "notification"
|
||||
},
|
||||
"pin": {
|
||||
"target": "pin"
|
||||
},
|
||||
"bookmark": {
|
||||
"target": "bookmark"
|
||||
},
|
||||
"saved messages": {
|
||||
"target": "saved messages"
|
||||
},
|
||||
"draft": {
|
||||
"target": "draft"
|
||||
},
|
||||
"scheduled post": {
|
||||
"target": "scheduled post"
|
||||
},
|
||||
"emoji": {
|
||||
"target": "emoji"
|
||||
},
|
||||
"custom emoji": {
|
||||
"target": "custom emoji"
|
||||
},
|
||||
"reaction": {
|
||||
"target": "reaction"
|
||||
},
|
||||
"status": {
|
||||
"target": "status"
|
||||
},
|
||||
"custom status": {
|
||||
"target": "custom status"
|
||||
},
|
||||
"do not disturb": {
|
||||
"target": "do not disturb"
|
||||
},
|
||||
"away": {
|
||||
"target": "away"
|
||||
},
|
||||
"online": {
|
||||
"target": "online"
|
||||
},
|
||||
"offline": {
|
||||
"target": "offline"
|
||||
},
|
||||
"out of office": {
|
||||
"target": "out of office"
|
||||
},
|
||||
"guest": {
|
||||
"target": "guest"
|
||||
},
|
||||
"member": {
|
||||
"target": "member"
|
||||
},
|
||||
"user": {
|
||||
"target": "user"
|
||||
},
|
||||
"system admin": {
|
||||
"target": "system admin"
|
||||
},
|
||||
"team admin": {
|
||||
"target": "team admin"
|
||||
},
|
||||
"channel admin": {
|
||||
"target": "channel admin"
|
||||
},
|
||||
"session": {
|
||||
"target": "session"
|
||||
},
|
||||
"sign in": {
|
||||
"target": "sign in"
|
||||
},
|
||||
"sign out": {
|
||||
"target": "sign out"
|
||||
},
|
||||
"join": {
|
||||
"target": "join"
|
||||
},
|
||||
"leave": {
|
||||
"target": "leave"
|
||||
},
|
||||
"archive": {
|
||||
"target": "archive"
|
||||
},
|
||||
"unarchive": {
|
||||
"target": "unarchive"
|
||||
},
|
||||
"mute": {
|
||||
"target": "mute"
|
||||
},
|
||||
"follow": {
|
||||
"target": "follow"
|
||||
},
|
||||
"unfollow": {
|
||||
"target": "unfollow"
|
||||
},
|
||||
"favorite": {
|
||||
"target": "favourite",
|
||||
"note": "AU spelling; Favourites category, Unfavourite."
|
||||
},
|
||||
"search": {
|
||||
"target": "search"
|
||||
},
|
||||
"integration": {
|
||||
"target": "integration"
|
||||
},
|
||||
"slash command": {
|
||||
"target": "slash command"
|
||||
},
|
||||
"webhook": {
|
||||
"target": "webhook"
|
||||
},
|
||||
"incoming webhook": {
|
||||
"target": "incoming webhook"
|
||||
},
|
||||
"outgoing webhook": {
|
||||
"target": "outgoing webhook"
|
||||
},
|
||||
"trigger word": {
|
||||
"target": "trigger word"
|
||||
},
|
||||
"plugin": {
|
||||
"target": "plugin"
|
||||
},
|
||||
"bot": {
|
||||
"target": "bot"
|
||||
},
|
||||
"role": {
|
||||
"target": "role"
|
||||
},
|
||||
"permission": {
|
||||
"target": "permission"
|
||||
},
|
||||
"scheme": {
|
||||
"target": "scheme"
|
||||
},
|
||||
"license": {
|
||||
"target": "licence",
|
||||
"note": "Noun is 'licence'; verb/participle stays 'licensed' (matches existing en-AU)."
|
||||
},
|
||||
"seat": {
|
||||
"target": "seat"
|
||||
},
|
||||
"trial": {
|
||||
"target": "trial"
|
||||
},
|
||||
"workspace": {
|
||||
"target": "workspace"
|
||||
},
|
||||
"subscription": {
|
||||
"target": "subscription"
|
||||
},
|
||||
"deactivate": {
|
||||
"target": "deactivate"
|
||||
},
|
||||
"invite": {
|
||||
"target": "invite"
|
||||
},
|
||||
"invitation": {
|
||||
"target": "invitation"
|
||||
},
|
||||
"sidebar": {
|
||||
"target": "sidebar"
|
||||
},
|
||||
"unread": {
|
||||
"target": "unread"
|
||||
},
|
||||
"attachment": {
|
||||
"target": "attachment"
|
||||
},
|
||||
"public channel": {
|
||||
"target": "public channel"
|
||||
},
|
||||
"private channel": {
|
||||
"target": "private channel"
|
||||
},
|
||||
"shared channel": {
|
||||
"target": "shared channel"
|
||||
},
|
||||
"channel header": {
|
||||
"target": "channel header"
|
||||
},
|
||||
"channel purpose": {
|
||||
"target": "channel purpose"
|
||||
},
|
||||
"system message": {
|
||||
"target": "system message"
|
||||
},
|
||||
"persistent notification": {
|
||||
"target": "persistent notification"
|
||||
},
|
||||
"message priority": {
|
||||
"target": "message priority"
|
||||
},
|
||||
"urgent": {
|
||||
"target": "urgent"
|
||||
},
|
||||
"recap": {
|
||||
"target": "recap"
|
||||
},
|
||||
"agent": {
|
||||
"target": "agent"
|
||||
},
|
||||
"burn-on-read": {
|
||||
"target": "burn-on-read"
|
||||
},
|
||||
"magic link": {
|
||||
"target": "magic link"
|
||||
},
|
||||
"personal access token": {
|
||||
"target": "personal access token"
|
||||
},
|
||||
"announcement banner": {
|
||||
"target": "announcement banner"
|
||||
},
|
||||
"channel banner": {
|
||||
"target": "channel banner"
|
||||
},
|
||||
"keyword": {
|
||||
"target": "keyword"
|
||||
},
|
||||
"user group": {
|
||||
"target": "user group"
|
||||
},
|
||||
"permalink": {
|
||||
"target": "permalink"
|
||||
},
|
||||
"profile": {
|
||||
"target": "profile"
|
||||
},
|
||||
"username": {
|
||||
"target": "username"
|
||||
},
|
||||
"nickname": {
|
||||
"target": "nickname"
|
||||
},
|
||||
"display name": {
|
||||
"target": "display name"
|
||||
},
|
||||
"collapsed reply threads": {
|
||||
"target": "collapsed reply threads"
|
||||
},
|
||||
"auto-translation": {
|
||||
"target": "auto-translation"
|
||||
},
|
||||
"data retention": {
|
||||
"target": "data retention"
|
||||
},
|
||||
"compliance export": {
|
||||
"target": "compliance export"
|
||||
},
|
||||
"access control": {
|
||||
"target": "access control"
|
||||
},
|
||||
"attribute": {
|
||||
"target": "attribute"
|
||||
},
|
||||
"onboarding": {
|
||||
"target": "onboarding"
|
||||
},
|
||||
"Town Square": {
|
||||
"target": "Town Square"
|
||||
},
|
||||
"Off-Topic": {
|
||||
"target": "Off-Topic"
|
||||
},
|
||||
"read-only": {
|
||||
"target": "read-only"
|
||||
},
|
||||
"server": {
|
||||
"target": "server"
|
||||
}
|
||||
}
|
||||
1016
i18n/glossary/en.json
Normal file
1016
i18n/glossary/en.json
Normal file
File diff suppressed because it is too large
Load Diff
418
i18n/glossary/es.json
Normal file
418
i18n/glossary/es.json
Normal file
@@ -0,0 +1,418 @@
|
||||
{
|
||||
"Mattermost": {
|
||||
"target": "Mattermost"
|
||||
},
|
||||
"Enterprise Edition": {
|
||||
"target": "Enterprise Edition"
|
||||
},
|
||||
"Team Edition": {
|
||||
"target": "Team Edition"
|
||||
},
|
||||
"Mattermost Cloud": {
|
||||
"target": "Mattermost Cloud"
|
||||
},
|
||||
"Channels": {
|
||||
"target": "Channels"
|
||||
},
|
||||
"Playbooks": {
|
||||
"target": "Playbooks"
|
||||
},
|
||||
"Boards": {
|
||||
"target": "Boards"
|
||||
},
|
||||
"Calls": {
|
||||
"target": "Calls"
|
||||
},
|
||||
"Markdown": {
|
||||
"target": "Markdown"
|
||||
},
|
||||
"OAuth": {
|
||||
"target": "OAuth"
|
||||
},
|
||||
"SAML": {
|
||||
"target": "SAML"
|
||||
},
|
||||
"LDAP": {
|
||||
"target": "LDAP"
|
||||
},
|
||||
"SSO": {
|
||||
"target": "SSO"
|
||||
},
|
||||
"MFA": {
|
||||
"target": "MFA"
|
||||
},
|
||||
"OpenID Connect": {
|
||||
"target": "OpenID Connect"
|
||||
},
|
||||
"Entra ID": {
|
||||
"target": "Entra ID"
|
||||
},
|
||||
"GitLab": {
|
||||
"target": "GitLab"
|
||||
},
|
||||
"Elasticsearch": {
|
||||
"target": "Elasticsearch"
|
||||
},
|
||||
"Gossip": {
|
||||
"target": "Gossip"
|
||||
},
|
||||
"Actiance XML": {
|
||||
"target": "Actiance XML"
|
||||
},
|
||||
"Global Relay": {
|
||||
"target": "Global Relay"
|
||||
},
|
||||
"System Console": {
|
||||
"target": "Consola del Sistema",
|
||||
"note": "Repo mixes 'Consola del Sistema' and 'Consola de sistema'; standardize on 'Consola del Sistema' as a named UI area."
|
||||
},
|
||||
"marketplace": {
|
||||
"target": "Marketplace",
|
||||
"note": "Kept in English throughout existing es.json (e.g. 'URL del Marketplace'); treat as a proper name, masculine ('el Marketplace')."
|
||||
},
|
||||
"channel": {
|
||||
"target": "canal",
|
||||
"note": "Masculine; plural 'canales'."
|
||||
},
|
||||
"team": {
|
||||
"target": "equipo"
|
||||
},
|
||||
"post": {
|
||||
"target": "mensaje",
|
||||
"note": "Existing translations render both 'post' and 'message' as 'mensaje'; 'publicación' appears occasionally but 'mensaje' is the majority."
|
||||
},
|
||||
"message": {
|
||||
"target": "mensaje"
|
||||
},
|
||||
"thread": {
|
||||
"target": "hilo",
|
||||
"note": "Majority rendering; a few legacy strings use 'conversación' (e.g. 'Seguir conversación') — prefer 'hilo'."
|
||||
},
|
||||
"reply": {
|
||||
"target": "respuesta",
|
||||
"note": "Verb: 'responder'."
|
||||
},
|
||||
"direct message": {
|
||||
"target": "mensaje directo",
|
||||
"note": "Spell out in UI. 'MD' is the usual Spanish abbreviation in prose, not 'DM'."
|
||||
},
|
||||
"group message": {
|
||||
"target": "mensaje grupal",
|
||||
"note": "Existing majority is 'mensaje de grupo'; 'mensaje grupal' is more idiomatic."
|
||||
},
|
||||
"mention": {
|
||||
"target": "mención",
|
||||
"note": "Verb: 'mencionar'."
|
||||
},
|
||||
"notification": {
|
||||
"target": "notificación"
|
||||
},
|
||||
"pin": {
|
||||
"target": "fijar",
|
||||
"note": "Existing strings use 'destacar' ('Mensajes Destacados') and one uses 'anclados'. Unpin: 'desfijar'; pinned: 'fijado' ('mensajes fijados'). Matches Telegram and WhatsApp."
|
||||
},
|
||||
"bookmark": {
|
||||
"target": "marcador",
|
||||
"note": "No established repo rendering; 'marcador' matches browser convention. Verb: 'añadir a marcadores'."
|
||||
},
|
||||
"saved messages": {
|
||||
"target": "mensajes guardados",
|
||||
"note": "Save: 'guardar'; unsave: 'eliminar de guardados'."
|
||||
},
|
||||
"draft": {
|
||||
"target": "borrador"
|
||||
},
|
||||
"scheduled post": {
|
||||
"target": "mensaje programado",
|
||||
"note": "No repo signal; 'programado' follows es convention for scheduled sends (e.g. Gmail 'programar envío')."
|
||||
},
|
||||
"emoji": {
|
||||
"target": "emoji",
|
||||
"note": "Repo is split: legacy strings use 'emoticono' (slight majority) while newer ones use 'emoji'. Plural 'emojis'."
|
||||
},
|
||||
"custom emoji": {
|
||||
"target": "emoji personalizado"
|
||||
},
|
||||
"reaction": {
|
||||
"target": "reacción",
|
||||
"note": "Verb 'reaccionar'; existing UI renders 'Add Reaction' simply as 'Reaccionar'."
|
||||
},
|
||||
"status": {
|
||||
"target": "estado"
|
||||
},
|
||||
"custom status": {
|
||||
"target": "estado personalizado"
|
||||
},
|
||||
"do not disturb": {
|
||||
"target": "No molestar"
|
||||
},
|
||||
"away": {
|
||||
"target": "Ausente"
|
||||
},
|
||||
"online": {
|
||||
"target": "En línea"
|
||||
},
|
||||
"offline": {
|
||||
"target": "Desconectado"
|
||||
},
|
||||
"out of office": {
|
||||
"target": "Fuera de la oficina",
|
||||
"note": "Repo mixes 'Fuera de Oficina' and 'Fuera de la Oficina'; prefer 'Fuera de la oficina'."
|
||||
},
|
||||
"guest": {
|
||||
"target": "invitado",
|
||||
"note": "Catalog majority is 'huésped' (112 vs 39), which reads as a hotel guest. Overlaps with invite = 'invitar'; context disambiguates the account type from the action."
|
||||
},
|
||||
"member": {
|
||||
"target": "miembro"
|
||||
},
|
||||
"user": {
|
||||
"target": "usuario"
|
||||
},
|
||||
"system admin": {
|
||||
"target": "administrador del sistema",
|
||||
"note": "Short form 'Admin del Sistema' used where space is tight."
|
||||
},
|
||||
"team admin": {
|
||||
"target": "administrador del equipo"
|
||||
},
|
||||
"channel admin": {
|
||||
"target": "administrador del canal"
|
||||
},
|
||||
"session": {
|
||||
"target": "sesión"
|
||||
},
|
||||
"sign in": {
|
||||
"target": "iniciar sesión",
|
||||
"note": "Used for both 'sign in' and 'log in' consistently in the repo."
|
||||
},
|
||||
"sign out": {
|
||||
"target": "cerrar sesión",
|
||||
"note": "Repo mixes 'Salir' (menu items) and 'Cerrar sesión'; prefer 'cerrar sesión' for both 'sign out' and 'log out'."
|
||||
},
|
||||
"join": {
|
||||
"target": "unirse",
|
||||
"note": "'Unirse al canal/equipo'."
|
||||
},
|
||||
"leave": {
|
||||
"target": "abandonar",
|
||||
"note": "Existing convention: 'Abandonar Canal', 'Abandonar Equipo'."
|
||||
},
|
||||
"archive": {
|
||||
"target": "archivar",
|
||||
"note": "Archived: 'archivado'."
|
||||
},
|
||||
"unarchive": {
|
||||
"target": "desarchivar"
|
||||
},
|
||||
"mute": {
|
||||
"target": "silenciar",
|
||||
"note": "For channel notifications; same verb is used in Calls for microphones."
|
||||
},
|
||||
"follow": {
|
||||
"target": "seguir"
|
||||
},
|
||||
"unfollow": {
|
||||
"target": "dejar de seguir"
|
||||
},
|
||||
"favorite": {
|
||||
"target": "favorito",
|
||||
"note": "Verb: 'marcar como favorito'; sidebar category 'Favoritos'."
|
||||
},
|
||||
"search": {
|
||||
"target": "búsqueda",
|
||||
"note": "Verb/button: 'buscar'."
|
||||
},
|
||||
"integration": {
|
||||
"target": "integración"
|
||||
},
|
||||
"slash command": {
|
||||
"target": "comando de barra"
|
||||
},
|
||||
"webhook": {
|
||||
"target": "webhook",
|
||||
"note": "Kept in English throughout existing es.json; masculine ('el webhook')."
|
||||
},
|
||||
"incoming webhook": {
|
||||
"target": "webhook de entrada"
|
||||
},
|
||||
"outgoing webhook": {
|
||||
"target": "webhook de salida"
|
||||
},
|
||||
"trigger word": {
|
||||
"target": "palabra disparadora",
|
||||
"note": "Plural 'palabras disparadoras'. Server strings paraphrase as 'palabra que dispara / que desencadena la acción'."
|
||||
},
|
||||
"plugin": {
|
||||
"target": "plugin",
|
||||
"note": "Kept in English throughout existing es.json; masculine ('el plugin', 'los plugins'). 'Complemento' would be the alternative but is not used."
|
||||
},
|
||||
"bot": {
|
||||
"target": "bot",
|
||||
"note": "Bot account: 'cuenta bot'."
|
||||
},
|
||||
"role": {
|
||||
"target": "rol"
|
||||
},
|
||||
"permission": {
|
||||
"target": "permiso"
|
||||
},
|
||||
"scheme": {
|
||||
"target": "esquema"
|
||||
},
|
||||
"license": {
|
||||
"target": "licencia"
|
||||
},
|
||||
"seat": {
|
||||
"target": "puesto",
|
||||
"note": "Repo is inconsistent ('sedes' and 'asientos' [both incorrect], 'puestos pagados', 'Licencias para Usuarios'); 'puesto' is the standard SaaS term."
|
||||
},
|
||||
"trial": {
|
||||
"target": "prueba",
|
||||
"note": "'Período de prueba' when spelled out; free trial: 'prueba gratuita'."
|
||||
},
|
||||
"workspace": {
|
||||
"target": "espacio de trabajo"
|
||||
},
|
||||
"subscription": {
|
||||
"target": "suscripción"
|
||||
},
|
||||
"deactivate": {
|
||||
"target": "desactivar",
|
||||
"note": "Deactivated: 'desactivado'."
|
||||
},
|
||||
"invite": {
|
||||
"target": "invitar",
|
||||
"note": "Noun: 'invitación'."
|
||||
},
|
||||
"invitation": {
|
||||
"target": "invitación"
|
||||
},
|
||||
"sidebar": {
|
||||
"target": "barra lateral"
|
||||
},
|
||||
"unread": {
|
||||
"target": "no leído",
|
||||
"note": "Majority rendering; 'sin leer' also appears. Plural 'no leídos'."
|
||||
},
|
||||
"attachment": {
|
||||
"target": "adjunto",
|
||||
"note": "Also 'archivo adjunto' when spelled out."
|
||||
},
|
||||
"public channel": {
|
||||
"target": "canal público"
|
||||
},
|
||||
"private channel": {
|
||||
"target": "canal privado"
|
||||
},
|
||||
"shared channel": {
|
||||
"target": "canal compartido"
|
||||
},
|
||||
"channel header": {
|
||||
"target": "encabezado del canal",
|
||||
"note": "Majority rendering; one legacy string uses 'cabecera'."
|
||||
},
|
||||
"channel purpose": {
|
||||
"target": "propósito del canal"
|
||||
},
|
||||
"system message": {
|
||||
"target": "mensaje del sistema"
|
||||
},
|
||||
"persistent notification": {
|
||||
"target": "notificación persistente"
|
||||
},
|
||||
"message priority": {
|
||||
"target": "prioridad del mensaje"
|
||||
},
|
||||
"urgent": {
|
||||
"target": "urgente"
|
||||
},
|
||||
"recap": {
|
||||
"target": "resumen",
|
||||
"note": "No repo signal; 'resumen' aligns with the AI summary concept. Disambiguate from Calls 'meeting summary' ('resumen de la reunión') via context if both appear."
|
||||
},
|
||||
"agent": {
|
||||
"target": "agente"
|
||||
},
|
||||
"burn-on-read": {
|
||||
"target": "autodestrucción al leer",
|
||||
"note": "No repo signal; follows messaging-app convention (Telegram 'autodestrucción')."
|
||||
},
|
||||
"magic link": {
|
||||
"target": "enlace mágico"
|
||||
},
|
||||
"personal access token": {
|
||||
"target": "token de acceso personal"
|
||||
},
|
||||
"announcement banner": {
|
||||
"target": "banner de anuncio",
|
||||
"note": "Existing strings use 'banner de anuncio'; one legacy string uses 'Notificaciones para todo el sistema' — prefer 'banner de anuncio'."
|
||||
},
|
||||
"channel banner": {
|
||||
"target": "banner del canal"
|
||||
},
|
||||
"keyword": {
|
||||
"target": "palabra clave"
|
||||
},
|
||||
"user group": {
|
||||
"target": "grupo de usuarios"
|
||||
},
|
||||
"permalink": {
|
||||
"target": "enlace permanente"
|
||||
},
|
||||
"profile": {
|
||||
"target": "perfil"
|
||||
},
|
||||
"username": {
|
||||
"target": "nombre de usuario"
|
||||
},
|
||||
"nickname": {
|
||||
"target": "sobrenombre",
|
||||
"note": "Consistent repo rendering; 'apodo' is the common alternative but is not used."
|
||||
},
|
||||
"display name": {
|
||||
"target": "nombre a mostrar",
|
||||
"note": "Majority rendering; 'nombre de visualización' appears occasionally."
|
||||
},
|
||||
"collapsed reply threads": {
|
||||
"target": "hilos de respuesta contraídos",
|
||||
"note": "No established repo rendering for the feature name; 'contraído' matches the UI sense of collapsed."
|
||||
},
|
||||
"auto-translation": {
|
||||
"target": "traducción automática",
|
||||
"note": "'auto-translated' = 'traducido automáticamente'."
|
||||
},
|
||||
"data retention": {
|
||||
"target": "retención de datos",
|
||||
"note": "Majority rendering; 'conservación de datos' appears once. Policy: 'política de retención de datos'."
|
||||
},
|
||||
"compliance export": {
|
||||
"target": "exportación de cumplimiento",
|
||||
"note": "Majority rendering; some legacy strings use 'Exportación de Conformidad'."
|
||||
},
|
||||
"access control": {
|
||||
"target": "control de acceso"
|
||||
},
|
||||
"attribute": {
|
||||
"target": "atributo"
|
||||
},
|
||||
"onboarding": {
|
||||
"target": "incorporación",
|
||||
"note": "Existing rendering ('Habilitar la incorporación')."
|
||||
},
|
||||
"Town Square": {
|
||||
"target": "General",
|
||||
"note": "Existing server translation renders the default channel name as 'General' (not a literal translation); keep for consistency with created channels."
|
||||
},
|
||||
"Off-Topic": {
|
||||
"target": "Fuera de Tópico",
|
||||
"note": "Established default-channel name in server es.json; keep for consistency with existing channels. 'Fuera de tema' is more idiomatic but would rename the channel."
|
||||
},
|
||||
"read-only": {
|
||||
"target": "solo lectura",
|
||||
"note": "Un-accented 'solo'; repo mixes 'solo' and 'sólo'."
|
||||
},
|
||||
"server": {
|
||||
"target": "servidor"
|
||||
}
|
||||
}
|
||||
440
i18n/glossary/fa.json
Normal file
440
i18n/glossary/fa.json
Normal file
@@ -0,0 +1,440 @@
|
||||
{
|
||||
"Mattermost": {
|
||||
"target": "Mattermost"
|
||||
},
|
||||
"Enterprise Edition": {
|
||||
"target": "Enterprise Edition"
|
||||
},
|
||||
"Team Edition": {
|
||||
"target": "Team Edition"
|
||||
},
|
||||
"Mattermost Cloud": {
|
||||
"target": "Mattermost Cloud"
|
||||
},
|
||||
"Channels": {
|
||||
"target": "Channels"
|
||||
},
|
||||
"Playbooks": {
|
||||
"target": "Playbooks"
|
||||
},
|
||||
"Boards": {
|
||||
"target": "Boards"
|
||||
},
|
||||
"Calls": {
|
||||
"target": "Calls"
|
||||
},
|
||||
"Markdown": {
|
||||
"target": "Markdown"
|
||||
},
|
||||
"OAuth": {
|
||||
"target": "OAuth"
|
||||
},
|
||||
"SAML": {
|
||||
"target": "SAML"
|
||||
},
|
||||
"LDAP": {
|
||||
"target": "LDAP"
|
||||
},
|
||||
"SSO": {
|
||||
"target": "SSO"
|
||||
},
|
||||
"MFA": {
|
||||
"target": "MFA"
|
||||
},
|
||||
"OpenID Connect": {
|
||||
"target": "OpenID Connect"
|
||||
},
|
||||
"Entra ID": {
|
||||
"target": "Entra ID"
|
||||
},
|
||||
"GitLab": {
|
||||
"target": "GitLab"
|
||||
},
|
||||
"Elasticsearch": {
|
||||
"target": "Elasticsearch"
|
||||
},
|
||||
"Gossip": {
|
||||
"target": "Gossip"
|
||||
},
|
||||
"Actiance XML": {
|
||||
"target": "Actiance XML"
|
||||
},
|
||||
"Global Relay": {
|
||||
"target": "Global Relay"
|
||||
},
|
||||
"System Console": {
|
||||
"target": "کنسول سیستم"
|
||||
},
|
||||
"marketplace": {
|
||||
"target": "بازار",
|
||||
"note": "Existing fa uses بازار for lowercase marketplace; the proper name Marketplace is sometimes left in English in admin strings."
|
||||
},
|
||||
"channel": {
|
||||
"target": "کانال"
|
||||
},
|
||||
"team": {
|
||||
"target": "تیم"
|
||||
},
|
||||
"post": {
|
||||
"target": "پست",
|
||||
"note": "Existing fa mixes پست (majority) and نوشته; prefer پست. In most UI strings 'post' and 'message' are interchangeable — پیام is fine where it reads more naturally."
|
||||
},
|
||||
"message": {
|
||||
"target": "پیام"
|
||||
},
|
||||
"thread": {
|
||||
"target": "موضوع",
|
||||
"note": "Existing fa is very inconsistent (موضوع، گفتوگو، رشته، نخ، تاپیک). The Threads view is موضوعات in both webapp and mobile, so standardize on موضوع. Plural: موضوعات."
|
||||
},
|
||||
"reply": {
|
||||
"target": "پاسخ",
|
||||
"note": "Verb: پاسخ دادن."
|
||||
},
|
||||
"direct message": {
|
||||
"target": "پیام مستقیم",
|
||||
"note": "Majority rendering in webapp/server. Mobile sometimes uses گفتوگوی شخصی — standardize on پیام مستقیم."
|
||||
},
|
||||
"group message": {
|
||||
"target": "پیام گروهی"
|
||||
},
|
||||
"mention": {
|
||||
"target": "اشاره",
|
||||
"note": "Verb: اشاره کردن. Established across webapp and mobile; do not use the transliteration منشن."
|
||||
},
|
||||
"notification": {
|
||||
"target": "اعلان",
|
||||
"note": "Plural: اعلانها. Majority rendering; some older webapp strings use اطلاعیه — prefer اعلان."
|
||||
},
|
||||
"pin": {
|
||||
"target": "پین کردن",
|
||||
"note": "Majority rendering (پین شده، پین کردن به کانال). سنجاق کردن (Telegram convention) also appears; standardize on پین."
|
||||
},
|
||||
"bookmark": {
|
||||
"target": "نشانک",
|
||||
"note": "Verb: نشانکگذاری کردن. Matches the one existing server string and standard Persian (Firefox) usage."
|
||||
},
|
||||
"saved messages": {
|
||||
"target": "پیامهای ذخیرهشده",
|
||||
"note": "save (verb) = ذخیره کردن، unsave = حذف از ذخیرهشدهها. Avoid the mistranslation صرفه جویی seen in some webapp strings."
|
||||
},
|
||||
"draft": {
|
||||
"target": "پیشنویس",
|
||||
"note": "Plural: پیشنویسها (with ZWNJ)."
|
||||
},
|
||||
"scheduled post": {
|
||||
"target": "پیام زمانبندیشده",
|
||||
"note": "No existing fa signal; follows standard Persian UI convention (زمانبندی for scheduling)."
|
||||
},
|
||||
"emoji": {
|
||||
"target": "ایموجی",
|
||||
"note": "Webapp (user-facing) uses ایموجی; server strings use شکلک. Standardize on ایموجی."
|
||||
},
|
||||
"custom emoji": {
|
||||
"target": "ایموجی سفارشی"
|
||||
},
|
||||
"reaction": {
|
||||
"target": "واکنش",
|
||||
"note": "Verb (react): واکنش نشان دادن."
|
||||
},
|
||||
"status": {
|
||||
"target": "وضعیت"
|
||||
},
|
||||
"custom status": {
|
||||
"target": "وضعیت سفارشی"
|
||||
},
|
||||
"do not disturb": {
|
||||
"target": "مزاحم نشوید"
|
||||
},
|
||||
"away": {
|
||||
"target": "دور",
|
||||
"note": "Majority rendering; mobile once uses غایب — prefer دور."
|
||||
},
|
||||
"online": {
|
||||
"target": "آنلاین",
|
||||
"note": "Majority rendering; mobile sometimes uses برخط — prefer آنلاین."
|
||||
},
|
||||
"offline": {
|
||||
"target": "آفلاین",
|
||||
"note": "Majority rendering; mobile sometimes uses برونخط — prefer آفلاین."
|
||||
},
|
||||
"out of office": {
|
||||
"target": "خارج از دفتر"
|
||||
},
|
||||
"guest": {
|
||||
"target": "مهمان",
|
||||
"note": "Plural: مهمانان. Spelling مهمان (not میهمان) is the strong majority."
|
||||
},
|
||||
"member": {
|
||||
"target": "عضو",
|
||||
"note": "Plural: اعضا."
|
||||
},
|
||||
"user": {
|
||||
"target": "کاربر",
|
||||
"note": "Plural: کاربران."
|
||||
},
|
||||
"system admin": {
|
||||
"target": "مدیر سیستم",
|
||||
"note": "مدیر is the strong majority for admin (مدیران سیستم); some webapp role labels use ادمین سیستم — prefer مدیر سیستم."
|
||||
},
|
||||
"team admin": {
|
||||
"target": "مدیر تیم"
|
||||
},
|
||||
"channel admin": {
|
||||
"target": "مدیر کانال"
|
||||
},
|
||||
"session": {
|
||||
"target": "جلسه",
|
||||
"note": "Existing fa consistently uses جلسه/جلسات for login sessions; نشست would be more precise Persian but keep جلسه for consistency."
|
||||
},
|
||||
"sign in": {
|
||||
"target": "ورود",
|
||||
"note": "Full verb: وارد شدن. Translate 'log in' identically."
|
||||
},
|
||||
"sign out": {
|
||||
"target": "خروج",
|
||||
"note": "Full verb: خارج شدن. خروج از حساب also used for Log out — plain خروج is fine as a button label."
|
||||
},
|
||||
"join": {
|
||||
"target": "پیوستن",
|
||||
"note": "e.g. پیوستن به کانال. Avoid the misspelling محلق شوید present in some existing strings (should be ملحق)."
|
||||
},
|
||||
"leave": {
|
||||
"target": "ترک کردن",
|
||||
"note": "e.g. ترک کانال، ترک تیم."
|
||||
},
|
||||
"archive": {
|
||||
"target": "بایگانی کردن",
|
||||
"note": "Adjective: بایگانیشده. Majority rendering; آرشیو also appears — prefer بایگانی."
|
||||
},
|
||||
"unarchive": {
|
||||
"target": "خارج کردن از بایگانی",
|
||||
"note": "Existing fa mixes لغو بایگانی and از بایگانی خارج کردن; the latter is clearer Persian."
|
||||
},
|
||||
"mute": {
|
||||
"target": "بیصدا کردن",
|
||||
"note": "For channels this silences notifications; existing webapp uses نادیده گرفتن کانال but بیصدا کردن is the majority and matches Calls usage. Unmute: باصدا کردن."
|
||||
},
|
||||
"follow": {
|
||||
"target": "دنبال کردن"
|
||||
},
|
||||
"unfollow": {
|
||||
"target": "لغو دنبال کردن",
|
||||
"note": "Majority rendering (لغو دنبال کردن پیام/موضوع)."
|
||||
},
|
||||
"favorite": {
|
||||
"target": "برگزیده",
|
||||
"note": "Verb: برگزیده کردن; Favorites category: برگزیدهها."
|
||||
},
|
||||
"search": {
|
||||
"target": "جستجو",
|
||||
"note": "Verb: جستجو کردن. Use the closed spelling جستجو (majority), not جستوجو."
|
||||
},
|
||||
"integration": {
|
||||
"target": "ادغام",
|
||||
"note": "Plural: ادغامها. Existing majority; یکپارچهسازی is arguably a better Persian rendering of 'integration' but keep ادغام for consistency."
|
||||
},
|
||||
"slash command": {
|
||||
"target": "دستور اسلش",
|
||||
"note": "Plural: دستورات اسلش."
|
||||
},
|
||||
"webhook": {
|
||||
"target": "وبهوک",
|
||||
"note": "Established transliteration; existing files write it with a space (وب هوک) — prefer ZWNJ (وبهوک). Plural: وبهوکها."
|
||||
},
|
||||
"incoming webhook": {
|
||||
"target": "وبهوک ورودی"
|
||||
},
|
||||
"outgoing webhook": {
|
||||
"target": "وبهوک خروجی"
|
||||
},
|
||||
"trigger word": {
|
||||
"target": "کلمه محرک",
|
||||
"note": "Plural: کلمات محرک (existing rendering)."
|
||||
},
|
||||
"plugin": {
|
||||
"target": "افزونه",
|
||||
"note": "Majority rendering; پلاگین also appears — prefer افزونه."
|
||||
},
|
||||
"bot": {
|
||||
"target": "ربات",
|
||||
"note": "ربات and بات both appear in roughly equal numbers; standardize on ربات (Telegram convention). Bot account: حساب ربات."
|
||||
},
|
||||
"role": {
|
||||
"target": "نقش"
|
||||
},
|
||||
"permission": {
|
||||
"target": "مجوز",
|
||||
"note": "Plural: مجوزها. Note: existing fa also uses مجوز for 'license'; where both occur together, use اجازه/دسترسی for permission to disambiguate."
|
||||
},
|
||||
"scheme": {
|
||||
"target": "طرح",
|
||||
"note": "Permission scheme: طرح مجوز."
|
||||
},
|
||||
"license": {
|
||||
"target": "مجوز",
|
||||
"note": "Existing fa consistently uses مجوز for license, colliding with permission = مجوز. Use لایسنس only if a string needs both concepts distinguished."
|
||||
},
|
||||
"seat": {
|
||||
"target": "صندلی",
|
||||
"note": "No existing fa usage. صندلی = licensed user slot; in running text «به ازای هر کاربر» may read more naturally."
|
||||
},
|
||||
"trial": {
|
||||
"target": "دوره آزمایشی",
|
||||
"note": "Free trial: دوره آزمایشی رایگان."
|
||||
},
|
||||
"workspace": {
|
||||
"target": "فضای کاری",
|
||||
"note": "Majority rendering; محیطکار also appears — prefer فضای کاری."
|
||||
},
|
||||
"subscription": {
|
||||
"target": "اشتراک"
|
||||
},
|
||||
"deactivate": {
|
||||
"target": "غیرفعال کردن",
|
||||
"note": "Deactivated: غیرفعالشده."
|
||||
},
|
||||
"invite": {
|
||||
"target": "دعوت کردن",
|
||||
"note": "Noun: دعوت."
|
||||
},
|
||||
"invitation": {
|
||||
"target": "دعوتنامه",
|
||||
"note": "Write with ZWNJ; existing files often use دعوت نامه with a space."
|
||||
},
|
||||
"sidebar": {
|
||||
"target": "نوار کناری"
|
||||
},
|
||||
"unread": {
|
||||
"target": "خواندهنشده",
|
||||
"note": "Unreads (view): خواندهنشدهها."
|
||||
},
|
||||
"attachment": {
|
||||
"target": "پیوست",
|
||||
"note": "Strong majority; ضمیمه also appears rarely."
|
||||
},
|
||||
"public channel": {
|
||||
"target": "کانال عمومی"
|
||||
},
|
||||
"private channel": {
|
||||
"target": "کانال خصوصی"
|
||||
},
|
||||
"shared channel": {
|
||||
"target": "کانال مشترک",
|
||||
"note": "Plural: کانالهای مشترک."
|
||||
},
|
||||
"channel header": {
|
||||
"target": "هدر کانال",
|
||||
"note": "Majority uses the transliteration هدر; mobile uses سربرگ and some webapp strings use سرصفحه — standardize on هدر."
|
||||
},
|
||||
"channel purpose": {
|
||||
"target": "هدف کانال"
|
||||
},
|
||||
"system message": {
|
||||
"target": "پیام سیستم",
|
||||
"note": "Plural: پیامهای سیستم."
|
||||
},
|
||||
"persistent notification": {
|
||||
"target": "اعلان مداوم",
|
||||
"note": "No existing fa; coined consistently with اعلان for notification."
|
||||
},
|
||||
"message priority": {
|
||||
"target": "اولویت پیام"
|
||||
},
|
||||
"urgent": {
|
||||
"target": "فوری",
|
||||
"note": "Webapp uses فوری, mobile uses ضروری — standardize on فوری."
|
||||
},
|
||||
"recap": {
|
||||
"target": "جمعبندی",
|
||||
"note": "No existing fa; جمعبندی conveys an activity summary better than plain خلاصه (used for 'summary')."
|
||||
},
|
||||
"agent": {
|
||||
"target": "عامل",
|
||||
"note": "No existing fa. عامل is the standard Persian AI term; in marketing contexts the English 'Agent' may also be left as-is."
|
||||
},
|
||||
"burn-on-read": {
|
||||
"target": "حذف پس از خواندن",
|
||||
"note": "No existing fa. As an adjective/label: پیام حذفشونده پس از خواندن; all-caps label BURN ON READ → حذف پس از خواندن."
|
||||
},
|
||||
"magic link": {
|
||||
"target": "پیوند جادویی",
|
||||
"note": "پیوند is the majority rendering for 'link'; لینک جادویی is a common colloquial alternative."
|
||||
},
|
||||
"personal access token": {
|
||||
"target": "توکن دسترسی شخصی",
|
||||
"note": "توکن is the majority rendering; نشانه and رمز also appear — prefer توکن."
|
||||
},
|
||||
"announcement banner": {
|
||||
"target": "بنر اعلامیه",
|
||||
"note": "Existing fa mixes بنر اعلامیه and بنر اطلاعیه; prefer اعلامیه for announcement (اعلان is reserved for notification)."
|
||||
},
|
||||
"channel banner": {
|
||||
"target": "بنر کانال"
|
||||
},
|
||||
"keyword": {
|
||||
"target": "کلیدواژه",
|
||||
"note": "Plural: کلیدواژهها. Write closed with ZWNJ, not کلید واژه."
|
||||
},
|
||||
"user group": {
|
||||
"target": "گروه کاربری",
|
||||
"note": "Plain group: گروه."
|
||||
},
|
||||
"permalink": {
|
||||
"target": "پیوند ثابت"
|
||||
},
|
||||
"profile": {
|
||||
"target": "نمایه",
|
||||
"note": "Majority rendering; مشخصات and پروفایل also appear — prefer نمایه."
|
||||
},
|
||||
"username": {
|
||||
"target": "نام کاربری"
|
||||
},
|
||||
"nickname": {
|
||||
"target": "نام مستعار",
|
||||
"note": "Existing fa is inconsistent (کنیه، لقب); کنیه is archaic — نام مستعار is the standard Persian UI term."
|
||||
},
|
||||
"display name": {
|
||||
"target": "نام نمایشی"
|
||||
},
|
||||
"collapsed reply threads": {
|
||||
"target": "موضوعات پاسخ جمعشده",
|
||||
"note": "Mobile's existing rendering (پاسخ گفتوگوهای جمعشده) is garbled; this follows thread = موضوع."
|
||||
},
|
||||
"auto-translation": {
|
||||
"target": "ترجمه خودکار",
|
||||
"note": "AUTO-TRANSLATED label: ترجمهشده بهصورت خودکار."
|
||||
},
|
||||
"data retention": {
|
||||
"target": "حفظ دادهها",
|
||||
"note": "Existing fa mixes حفظ دادهها and نگهداری دادهها; حفظ has a slight majority. Policy: سیاست حفظ دادهها."
|
||||
},
|
||||
"compliance export": {
|
||||
"target": "خروجی انطباق",
|
||||
"note": "Existing fa uses صادرات انطباق, but صادرات implies trade exports; خروجی is the standard Persian for file/data export."
|
||||
},
|
||||
"access control": {
|
||||
"target": "کنترل دسترسی",
|
||||
"note": "One existing webapp string mistranslates this as مدیریت کانال — do not follow it."
|
||||
},
|
||||
"attribute": {
|
||||
"target": "ویژگی",
|
||||
"note": "Custom profile attribute: ویژگی سفارشی نمایه."
|
||||
},
|
||||
"onboarding": {
|
||||
"target": "آشناسازی اولیه",
|
||||
"note": "Existing fa leaves Onboarding in English; آشناسازی اولیه is a natural Persian rendering for the guided first-run experience."
|
||||
},
|
||||
"Town Square": {
|
||||
"target": "میدان شهر",
|
||||
"note": "The existing server rendering دانشگاه (university) is a mistranslation; use میدان شهر consistently as the default channel name."
|
||||
},
|
||||
"Off-Topic": {
|
||||
"target": "بحث آزاد"
|
||||
},
|
||||
"read-only": {
|
||||
"target": "فقط خواندنی"
|
||||
},
|
||||
"server": {
|
||||
"target": "سرور"
|
||||
}
|
||||
}
|
||||
449
i18n/glossary/fr.json
Normal file
449
i18n/glossary/fr.json
Normal file
@@ -0,0 +1,449 @@
|
||||
{
|
||||
"Mattermost": {
|
||||
"target": "Mattermost"
|
||||
},
|
||||
"Enterprise Edition": {
|
||||
"target": "Enterprise Edition"
|
||||
},
|
||||
"Team Edition": {
|
||||
"target": "Team Edition"
|
||||
},
|
||||
"Mattermost Cloud": {
|
||||
"target": "Mattermost Cloud"
|
||||
},
|
||||
"Channels": {
|
||||
"target": "Channels",
|
||||
"note": "Product name, keep in English; the common noun 'channel' is 'canal'."
|
||||
},
|
||||
"Playbooks": {
|
||||
"target": "Playbooks"
|
||||
},
|
||||
"Boards": {
|
||||
"target": "Boards"
|
||||
},
|
||||
"Calls": {
|
||||
"target": "Calls"
|
||||
},
|
||||
"Markdown": {
|
||||
"target": "Markdown"
|
||||
},
|
||||
"OAuth": {
|
||||
"target": "OAuth"
|
||||
},
|
||||
"SAML": {
|
||||
"target": "SAML"
|
||||
},
|
||||
"LDAP": {
|
||||
"target": "LDAP"
|
||||
},
|
||||
"SSO": {
|
||||
"target": "SSO",
|
||||
"note": "When spelled out, use 'authentification unique (SSO)'; keep the abbreviation itself."
|
||||
},
|
||||
"MFA": {
|
||||
"target": "MFA",
|
||||
"note": "Spelled out as 'authentification multifacteur (MFA)' where needed."
|
||||
},
|
||||
"OpenID Connect": {
|
||||
"target": "OpenID Connect"
|
||||
},
|
||||
"Entra ID": {
|
||||
"target": "Entra ID"
|
||||
},
|
||||
"GitLab": {
|
||||
"target": "GitLab"
|
||||
},
|
||||
"Elasticsearch": {
|
||||
"target": "Elasticsearch"
|
||||
},
|
||||
"Gossip": {
|
||||
"target": "Gossip",
|
||||
"note": "The clarification 'Bavardage (gossip protocol)' is acceptable; never translate alone as 'bavardage'."
|
||||
},
|
||||
"Actiance XML": {
|
||||
"target": "Actiance XML"
|
||||
},
|
||||
"Global Relay": {
|
||||
"target": "Global Relay"
|
||||
},
|
||||
"System Console": {
|
||||
"target": "console système",
|
||||
"note": "Feminine. Lowercase in running text; capitalize only as a menu item ('Console système')."
|
||||
},
|
||||
"marketplace": {
|
||||
"target": "place de marché",
|
||||
"note": "Masculine 'marché' alone means a physical market. Webapp strings use bare 'marché'; server strings already use 'place de marché'."
|
||||
},
|
||||
"channel": {
|
||||
"target": "canal",
|
||||
"note": "Masculine; plural 'canaux'. Never 'chaîne' or 'salon'."
|
||||
},
|
||||
"team": {
|
||||
"target": "équipe",
|
||||
"note": "Feminine."
|
||||
},
|
||||
"post": {
|
||||
"target": "message",
|
||||
"note": "Use 'publication' only for the root message of a thread or integration-posted content."
|
||||
},
|
||||
"message": {
|
||||
"target": "message",
|
||||
"note": "Masculine. A user 'envoie' (sends) a message; the system 'publie' (posts) system messages."
|
||||
},
|
||||
"thread": {
|
||||
"target": "fil de discussion",
|
||||
"note": "Masculine. 'fil' alone is acceptable when space is tight or on repeat mentions."
|
||||
},
|
||||
"reply": {
|
||||
"target": "réponse",
|
||||
"note": "Noun: 'réponse' (f.); verb: 'répondre'."
|
||||
},
|
||||
"direct message": {
|
||||
"target": "message personnel",
|
||||
"note": "Webapp/server consistently use 'message personnel'; mobile inconsistently uses 'message direct'. Never 'message direct' or 'DM'."
|
||||
},
|
||||
"group message": {
|
||||
"target": "message de groupe",
|
||||
"note": "Webapp also uses 'conversation de groupe' in places; 'message de groupe' is the community-rules rendering and mobile majority."
|
||||
},
|
||||
"mention": {
|
||||
"target": "mention",
|
||||
"note": "Noun: 'mention' (f.); verb: 'mentionner'."
|
||||
},
|
||||
"notification": {
|
||||
"target": "notification",
|
||||
"note": "Feminine. Order: 'notification par e-mail', 'notifications push' — put 'notification' first."
|
||||
},
|
||||
"pin": {
|
||||
"target": "épingler",
|
||||
"note": "'messages épinglés' for pinned messages; unpin: 'désépingler'."
|
||||
},
|
||||
"bookmark": {
|
||||
"target": "marque-page",
|
||||
"note": "Masculine; plural 'marque-pages'. Verb: 'ajouter un marque-page'."
|
||||
},
|
||||
"saved messages": {
|
||||
"target": "messages marqués",
|
||||
"note": "Webapp majority is 'messages marqués' (legacy of 'flagged'); mobile uses 'messages enregistrés', which matches the save='enregistrer' rule and may be the better long-term choice. Verb save: 'enregistrer'."
|
||||
},
|
||||
"draft": {
|
||||
"target": "brouillon",
|
||||
"note": "Masculine."
|
||||
},
|
||||
"scheduled post": {
|
||||
"target": "message planifié",
|
||||
"note": "Majority rendering; 'programmé' also appears (esp. verb 'programmer le brouillon'). Pick one per surface but stay consistent."
|
||||
},
|
||||
"emoji": {
|
||||
"target": "émoticône",
|
||||
"note": "Feminine. Not 'emoji'."
|
||||
},
|
||||
"custom emoji": {
|
||||
"target": "émoticône personnalisée",
|
||||
"note": "Feminine agreement."
|
||||
},
|
||||
"reaction": {
|
||||
"target": "réaction",
|
||||
"note": "Feminine. Verb react: 'réagir'."
|
||||
},
|
||||
"status": {
|
||||
"target": "statut",
|
||||
"note": "'statut' for user availability; existing translations use 'état' for system/job status."
|
||||
},
|
||||
"custom status": {
|
||||
"target": "statut personnalisé"
|
||||
},
|
||||
"do not disturb": {
|
||||
"target": "Ne pas déranger"
|
||||
},
|
||||
"away": {
|
||||
"target": "absent",
|
||||
"note": "Agreement: 'absent(e)' when referring to a specific user; mobile uses 'Absent(e)' in places."
|
||||
},
|
||||
"online": {
|
||||
"target": "en ligne"
|
||||
},
|
||||
"offline": {
|
||||
"target": "hors ligne"
|
||||
},
|
||||
"out of office": {
|
||||
"target": "absent du bureau",
|
||||
"note": "As a status label: « Absent du bureau »."
|
||||
},
|
||||
"guest": {
|
||||
"target": "utilisateur invité",
|
||||
"note": "Not 'invité' alone, which produces awkward phrases like 'inviter des invités'."
|
||||
},
|
||||
"member": {
|
||||
"target": "membre",
|
||||
"note": "Masculine."
|
||||
},
|
||||
"user": {
|
||||
"target": "utilisateur",
|
||||
"note": "Masculine; no inclusive middot forms."
|
||||
},
|
||||
"system admin": {
|
||||
"target": "administrateur système",
|
||||
"note": "Plural: 'administrateurs système' (invariable 'système')."
|
||||
},
|
||||
"team admin": {
|
||||
"target": "administrateur d'équipe"
|
||||
},
|
||||
"channel admin": {
|
||||
"target": "administrateur de canal"
|
||||
},
|
||||
"session": {
|
||||
"target": "session",
|
||||
"note": "Feminine."
|
||||
},
|
||||
"sign in": {
|
||||
"target": "se connecter",
|
||||
"note": "Noun/label: 'Connexion'. Translate 'log in' identically."
|
||||
},
|
||||
"sign out": {
|
||||
"target": "se déconnecter",
|
||||
"note": "Noun/label: 'Déconnexion'. Translate 'log out' identically."
|
||||
},
|
||||
"join": {
|
||||
"target": "rejoindre",
|
||||
"note": "For channels/teams/calls. 'joindre' is reserved for attaching files."
|
||||
},
|
||||
"leave": {
|
||||
"target": "quitter"
|
||||
},
|
||||
"archive": {
|
||||
"target": "archiver",
|
||||
"note": "Adjective: 'archivé'."
|
||||
},
|
||||
"unarchive": {
|
||||
"target": "désarchiver"
|
||||
},
|
||||
"mute": {
|
||||
"target": "mettre en sourdine",
|
||||
"note": "Channel notifications context. Muted: 'en sourdine'; unmute: 'réactiver' or 'enlever la sourdine'."
|
||||
},
|
||||
"follow": {
|
||||
"target": "suivre"
|
||||
},
|
||||
"unfollow": {
|
||||
"target": "ne plus suivre"
|
||||
},
|
||||
"favorite": {
|
||||
"target": "favori",
|
||||
"note": "Noun: 'favori' (m.); category: 'Favoris'. Verb: 'mettre en favori' / 'ajouter aux favoris'."
|
||||
},
|
||||
"search": {
|
||||
"target": "recherche",
|
||||
"note": "Noun: 'recherche' (f.); verb/button: 'rechercher'."
|
||||
},
|
||||
"integration": {
|
||||
"target": "intégration",
|
||||
"note": "Feminine."
|
||||
},
|
||||
"slash command": {
|
||||
"target": "commande slash",
|
||||
"note": "Community-rules rendering; do not translate 'slash'."
|
||||
},
|
||||
"webhook": {
|
||||
"target": "webhook",
|
||||
"note": "Kept in English (masculine) — consistent across 60+ existing strings."
|
||||
},
|
||||
"incoming webhook": {
|
||||
"target": "webhook entrant"
|
||||
},
|
||||
"outgoing webhook": {
|
||||
"target": "webhook sortant"
|
||||
},
|
||||
"trigger word": {
|
||||
"target": "mot-clé déclencheur",
|
||||
"note": "Community-rules rendering; 'mot déclencheur' also appears in server strings."
|
||||
},
|
||||
"plugin": {
|
||||
"target": "plugin",
|
||||
"note": "Kept in English (masculine)."
|
||||
},
|
||||
"bot": {
|
||||
"target": "bot"
|
||||
},
|
||||
"role": {
|
||||
"target": "rôle",
|
||||
"note": "Masculine."
|
||||
},
|
||||
"permission": {
|
||||
"target": "permission",
|
||||
"note": "Feminine. Not 'droit' or 'autorisation' for role capabilities."
|
||||
},
|
||||
"scheme": {
|
||||
"target": "schéma de permissions",
|
||||
"note": "Permission-scheme sense. For URI/URL scheme use 'protocole URL' instead."
|
||||
},
|
||||
"license": {
|
||||
"target": "licence",
|
||||
"note": "Feminine."
|
||||
},
|
||||
"seat": {
|
||||
"target": "siège",
|
||||
"note": "Masculine; existing billing strings use 'sièges'."
|
||||
},
|
||||
"trial": {
|
||||
"target": "essai",
|
||||
"note": "Masculine; free trial: 'essai gratuit'."
|
||||
},
|
||||
"workspace": {
|
||||
"target": "espace de travail",
|
||||
"note": "Masculine."
|
||||
},
|
||||
"subscription": {
|
||||
"target": "abonnement",
|
||||
"note": "Masculine."
|
||||
},
|
||||
"deactivate": {
|
||||
"target": "désactiver",
|
||||
"note": "Deactivated: 'désactivé'."
|
||||
},
|
||||
"invite": {
|
||||
"target": "inviter",
|
||||
"note": "Verb: 'inviter'; noun: 'invitation' (f.)."
|
||||
},
|
||||
"invitation": {
|
||||
"target": "invitation",
|
||||
"note": "'invitation par e-mail' (never 'adresse électronique' — use 'e-mail')."
|
||||
},
|
||||
"sidebar": {
|
||||
"target": "barre latérale",
|
||||
"note": "Feminine."
|
||||
},
|
||||
"unread": {
|
||||
"target": "non lu",
|
||||
"note": "No hyphen; plural 'non lus'."
|
||||
},
|
||||
"attachment": {
|
||||
"target": "pièce jointe",
|
||||
"note": "Feminine. Verb attach (files): 'joindre'."
|
||||
},
|
||||
"public channel": {
|
||||
"target": "canal public"
|
||||
},
|
||||
"private channel": {
|
||||
"target": "canal privé"
|
||||
},
|
||||
"shared channel": {
|
||||
"target": "canal partagé"
|
||||
},
|
||||
"channel header": {
|
||||
"target": "en-tête du canal",
|
||||
"note": "Masculine. Webapp uses 'en-tête'; older server/mobile strings use 'entête' — prefer 'en-tête'."
|
||||
},
|
||||
"channel purpose": {
|
||||
"target": "description du canal",
|
||||
"note": "'purpose' is 'description' in this context, not 'objet' or 'but'."
|
||||
},
|
||||
"system message": {
|
||||
"target": "message système"
|
||||
},
|
||||
"persistent notification": {
|
||||
"target": "notification persistante"
|
||||
},
|
||||
"message priority": {
|
||||
"target": "priorité du message"
|
||||
},
|
||||
"urgent": {
|
||||
"target": "urgent",
|
||||
"note": "Label: 'Urgent'; feminine agreement 'priorité urgente' when qualifying 'priorité'."
|
||||
},
|
||||
"recap": {
|
||||
"target": "récapitulatif",
|
||||
"note": "No existing French translation yet (new AI feature); 'récapitulatif' (m.) is the natural rendering, 'résumé' being reserved for 'summary'."
|
||||
},
|
||||
"agent": {
|
||||
"target": "agent",
|
||||
"note": "Masculine; same word in French for AI agents."
|
||||
},
|
||||
"burn-on-read": {
|
||||
"target": "à autodestruction après lecture",
|
||||
"note": "No existing French translation yet. For short badges (BURN ON READ) 'AUTODESTRUCTION' may be needed for space."
|
||||
},
|
||||
"magic link": {
|
||||
"target": "lien magique",
|
||||
"note": "No existing translation yet; 'lien magique' is the established rendering in French SaaS (Slack, Notion)."
|
||||
},
|
||||
"personal access token": {
|
||||
"target": "jeton d'accès personnel",
|
||||
"note": "'token' is always 'jeton'."
|
||||
},
|
||||
"announcement banner": {
|
||||
"target": "bannière d'annonce"
|
||||
},
|
||||
"channel banner": {
|
||||
"target": "bannière de canal"
|
||||
},
|
||||
"keyword": {
|
||||
"target": "mot-clé",
|
||||
"note": "Masculine; plural 'mots-clés'."
|
||||
},
|
||||
"user group": {
|
||||
"target": "groupe d'utilisateurs"
|
||||
},
|
||||
"permalink": {
|
||||
"target": "lien permanent",
|
||||
"note": "Masculine."
|
||||
},
|
||||
"profile": {
|
||||
"target": "profil",
|
||||
"note": "Masculine."
|
||||
},
|
||||
"username": {
|
||||
"target": "nom d'utilisateur"
|
||||
},
|
||||
"nickname": {
|
||||
"target": "pseudo",
|
||||
"note": "Existing user-settings label; 'surnom' appears in some admin strings — prefer 'pseudo' for the profile field."
|
||||
},
|
||||
"display name": {
|
||||
"target": "nom d'affichage",
|
||||
"note": "'nom affiché' also appears; prefer 'nom d'affichage' (desktop and admin majority)."
|
||||
},
|
||||
"collapsed reply threads": {
|
||||
"target": "fils de discussion repliables",
|
||||
"note": "Singular 'fil de discussion repliable'. Mobile has older inconsistent renderings."
|
||||
},
|
||||
"auto-translation": {
|
||||
"target": "traduction automatique",
|
||||
"note": "AUTO-TRANSLATED label: 'TRADUIT AUTOMATIQUEMENT'."
|
||||
},
|
||||
"data retention": {
|
||||
"target": "rétention des données",
|
||||
"note": "Admin console uses 'rétention des données'; 'conservation de données' also appears — prefer 'rétention'."
|
||||
},
|
||||
"compliance export": {
|
||||
"target": "export de conformité",
|
||||
"note": "Existing strings vary ('vérification de conformité de l'exportation' is a mistranslation); 'export de conformité' matches the feature."
|
||||
},
|
||||
"access control": {
|
||||
"target": "contrôle d'accès",
|
||||
"note": "Policy: 'politique de contrôle d'accès'."
|
||||
},
|
||||
"attribute": {
|
||||
"target": "attribut",
|
||||
"note": "Masculine."
|
||||
},
|
||||
"onboarding": {
|
||||
"target": "intégration",
|
||||
"note": "'processus d'intégration' in existing admin strings; avoid 'inscription' which appears once and means registration."
|
||||
},
|
||||
"Town Square": {
|
||||
"target": "Centre-ville",
|
||||
"note": "Established default-channel name in server fr.json; keep consistently."
|
||||
},
|
||||
"Off-Topic": {
|
||||
"target": "Hors-sujet",
|
||||
"note": "Established default-channel name in server fr.json."
|
||||
},
|
||||
"read-only": {
|
||||
"target": "en lecture seule"
|
||||
},
|
||||
"server": {
|
||||
"target": "serveur",
|
||||
"note": "Masculine."
|
||||
}
|
||||
}
|
||||
434
i18n/glossary/hu.json
Normal file
434
i18n/glossary/hu.json
Normal file
@@ -0,0 +1,434 @@
|
||||
{
|
||||
"Mattermost": {
|
||||
"target": "Mattermost"
|
||||
},
|
||||
"Enterprise Edition": {
|
||||
"target": "Enterprise Edition",
|
||||
"note": "Repo sometimes shows 'Enterprise Kiadás'; keep the English product name."
|
||||
},
|
||||
"Team Edition": {
|
||||
"target": "Team Edition",
|
||||
"note": "Repo shows 'Team kiadás'; keep the English product name, 'kiadás' (edition) may follow as a common noun."
|
||||
},
|
||||
"Mattermost Cloud": {
|
||||
"target": "Mattermost Cloud"
|
||||
},
|
||||
"Channels": {
|
||||
"target": "Channels"
|
||||
},
|
||||
"Playbooks": {
|
||||
"target": "Playbooks"
|
||||
},
|
||||
"Boards": {
|
||||
"target": "Boards"
|
||||
},
|
||||
"Calls": {
|
||||
"target": "Calls"
|
||||
},
|
||||
"Markdown": {
|
||||
"target": "Markdown"
|
||||
},
|
||||
"OAuth": {
|
||||
"target": "OAuth"
|
||||
},
|
||||
"SAML": {
|
||||
"target": "SAML"
|
||||
},
|
||||
"LDAP": {
|
||||
"target": "LDAP"
|
||||
},
|
||||
"SSO": {
|
||||
"target": "SSO"
|
||||
},
|
||||
"MFA": {
|
||||
"target": "MFA"
|
||||
},
|
||||
"OpenID Connect": {
|
||||
"target": "OpenID Connect"
|
||||
},
|
||||
"Entra ID": {
|
||||
"target": "Entra ID"
|
||||
},
|
||||
"GitLab": {
|
||||
"target": "GitLab"
|
||||
},
|
||||
"Elasticsearch": {
|
||||
"target": "Elasticsearch"
|
||||
},
|
||||
"Gossip": {
|
||||
"target": "Gossip"
|
||||
},
|
||||
"Actiance XML": {
|
||||
"target": "Actiance XML"
|
||||
},
|
||||
"Global Relay": {
|
||||
"target": "Global Relay"
|
||||
},
|
||||
"System Console": {
|
||||
"target": "Rendszerkonzol",
|
||||
"note": "Consistently one word in the repo (Rendszerkonzol); lowercase 'rendszerkonzol' mid-sentence."
|
||||
},
|
||||
"marketplace": {
|
||||
"target": "piactér",
|
||||
"note": "Established in webapp ('Piactér engedélyezése'); capitalize as Piactér when used as a named UI area."
|
||||
},
|
||||
"channel": {
|
||||
"target": "csatorna",
|
||||
"note": "Majority rendering. Some legacy mobile/webapp strings use 'beszélgetés' (conversation) — do not follow; use 'csatorna' consistently."
|
||||
},
|
||||
"team": {
|
||||
"target": "csapat"
|
||||
},
|
||||
"post": {
|
||||
"target": "bejegyzés",
|
||||
"note": "Established; distinct from 'üzenet' (message) even though English uses them interchangeably."
|
||||
},
|
||||
"message": {
|
||||
"target": "üzenet"
|
||||
},
|
||||
"thread": {
|
||||
"target": "üzenetszál",
|
||||
"note": "Established compound; plural 'üzenetszálak'."
|
||||
},
|
||||
"reply": {
|
||||
"target": "válasz",
|
||||
"note": "Noun 'válasz'; verb 'válaszol' (e.g. 'Válasz erre az üzenetszálra')."
|
||||
},
|
||||
"direct message": {
|
||||
"target": "közvetlen üzenet",
|
||||
"note": "Established; do not use 'privát üzenet'."
|
||||
},
|
||||
"group message": {
|
||||
"target": "csoportos üzenet"
|
||||
},
|
||||
"mention": {
|
||||
"target": "említés",
|
||||
"note": "Noun 'említés'; verb 'megemlít'."
|
||||
},
|
||||
"notification": {
|
||||
"target": "értesítés"
|
||||
},
|
||||
"pin": {
|
||||
"target": "kitűz",
|
||||
"note": "Verb 'kitűz', noun/adjective 'kitűzött' (e.g. 'Kitűzött üzenetek'); unpin = 'kitűzés eltávolítása' or 'levesz'."
|
||||
},
|
||||
"bookmark": {
|
||||
"target": "könyvjelző",
|
||||
"note": "Established in mobile; verb: 'könyvjelző hozzáadása'."
|
||||
},
|
||||
"saved messages": {
|
||||
"target": "mentett üzenetek",
|
||||
"note": "Mobile/Playbooks use 'mentett üzenetek'; webapp sometimes 'mentett bejegyzések' — prefer 'mentett üzenetek'. save = 'mentés', unsave = 'eltávolítás a mentettek közül'."
|
||||
},
|
||||
"draft": {
|
||||
"target": "piszkozat",
|
||||
"note": "Mobile uses 'piszkozat'; server has legacy 'tervezet' — prefer 'piszkozat'."
|
||||
},
|
||||
"scheduled post": {
|
||||
"target": "időzített bejegyzés",
|
||||
"note": "Established in mobile ('Időzített bejegyzés törlése'); scheduled message = 'időzített üzenet'."
|
||||
},
|
||||
"emoji": {
|
||||
"target": "emoji",
|
||||
"note": "Kept as 'emoji' in Hungarian; plural 'emojik'."
|
||||
},
|
||||
"custom emoji": {
|
||||
"target": "egyéni emoji"
|
||||
},
|
||||
"reaction": {
|
||||
"target": "reakció",
|
||||
"note": "Verb react = 'reagál'."
|
||||
},
|
||||
"status": {
|
||||
"target": "állapot"
|
||||
},
|
||||
"custom status": {
|
||||
"target": "egyéni állapot"
|
||||
},
|
||||
"do not disturb": {
|
||||
"target": "Ne zavarj"
|
||||
},
|
||||
"away": {
|
||||
"target": "Nincs a gépnél",
|
||||
"note": "Established status name; 'távol' appears occasionally but 'Nincs a gépnél' is the majority rendering."
|
||||
},
|
||||
"online": {
|
||||
"target": "Elérhető"
|
||||
},
|
||||
"offline": {
|
||||
"target": "Nem elérhető",
|
||||
"note": "Established status name; lowercase 'nem elérhető' mid-sentence."
|
||||
},
|
||||
"out of office": {
|
||||
"target": "Irodán kívül"
|
||||
},
|
||||
"guest": {
|
||||
"target": "vendég"
|
||||
},
|
||||
"member": {
|
||||
"target": "tag"
|
||||
},
|
||||
"user": {
|
||||
"target": "felhasználó"
|
||||
},
|
||||
"system admin": {
|
||||
"target": "rendszergazda",
|
||||
"note": "Established; 'rendszer adminisztrátor' appears in legacy server strings — prefer 'rendszergazda'."
|
||||
},
|
||||
"team admin": {
|
||||
"target": "csapat admin",
|
||||
"note": "Webapp majority is 'Csapat admin'; mobile has 'csapatadminisztrátor'. Follow the majority."
|
||||
},
|
||||
"channel admin": {
|
||||
"target": "csatorna admin"
|
||||
},
|
||||
"session": {
|
||||
"target": "munkamenet"
|
||||
},
|
||||
"sign in": {
|
||||
"target": "bejelentkezés",
|
||||
"note": "Verb: 'bejelentkezik'; imperative in UI: 'Jelentkezzen be' (formal Ön register is used throughout). Translate 'log in' identically."
|
||||
},
|
||||
"sign out": {
|
||||
"target": "kijelentkezés",
|
||||
"note": "Verb: 'kijelentkezik'; translate 'log out' identically."
|
||||
},
|
||||
"join": {
|
||||
"target": "csatlakozás",
|
||||
"note": "Verb: 'csatlakozik' + -hoz/-hez (e.g. 'Csatlakozás a csatornához')."
|
||||
},
|
||||
"leave": {
|
||||
"target": "kilépés",
|
||||
"note": "Verb: 'kilép' + -ból/-ből (e.g. 'Kilépés a csatornából')."
|
||||
},
|
||||
"archive": {
|
||||
"target": "archiválás",
|
||||
"note": "Verb: 'archivál'; adjective: 'archivált'."
|
||||
},
|
||||
"unarchive": {
|
||||
"target": "visszaállítás",
|
||||
"note": "Webapp uses 'visszaállítás'; mobile has 'visszaaktiválás' — prefer 'visszaállítás'."
|
||||
},
|
||||
"mute": {
|
||||
"target": "némítás",
|
||||
"note": "Verb: 'némít' / 'elnémít'; unmute = 'némítás feloldása'. Channel-notification sense; same word family as Calls mute."
|
||||
},
|
||||
"follow": {
|
||||
"target": "követés",
|
||||
"note": "Verb: 'követ' (e.g. 'Üzenetszál követése')."
|
||||
},
|
||||
"unfollow": {
|
||||
"target": "követés kikapcsolása",
|
||||
"note": "Webapp: 'követés kikapcsolása'; mobile: 'követés visszavonása' — prefer the webapp form."
|
||||
},
|
||||
"favorite": {
|
||||
"target": "kedvenc",
|
||||
"note": "Noun 'kedvenc', category 'Kedvencek'; verb 'kedvencnek jelöl', unfavorite = 'eltávolítás a kedvencekből'."
|
||||
},
|
||||
"search": {
|
||||
"target": "keresés",
|
||||
"note": "Verb: 'keres'."
|
||||
},
|
||||
"integration": {
|
||||
"target": "integráció",
|
||||
"note": "Repo shows minor inconsistency ('integrálás' once); use 'integráció'."
|
||||
},
|
||||
"slash command": {
|
||||
"target": "perjel parancs",
|
||||
"note": "Majority in webapp; 'perjeles parancs' also appears (Playbooks). Prefer 'perjel parancs'."
|
||||
},
|
||||
"webhook": {
|
||||
"target": "webhook",
|
||||
"note": "Kept in English in webapp/server (majority). Playbooks legacy uses 'webhorog' — do not follow; use 'webhook'."
|
||||
},
|
||||
"incoming webhook": {
|
||||
"target": "bejövő webhook"
|
||||
},
|
||||
"outgoing webhook": {
|
||||
"target": "kimenő webhook"
|
||||
},
|
||||
"trigger word": {
|
||||
"target": "kulcsszó",
|
||||
"note": "Established repo rendering, although it collides with 'keyword' (also 'kulcsszó'). If disambiguation is needed, 'aktiváló szó' may be used, but repo convention is 'kulcsszó'."
|
||||
},
|
||||
"plugin": {
|
||||
"target": "bővítmény",
|
||||
"note": "Majority; 'plugin' and 'kiegészítő' appear sporadically — use 'bővítmény'."
|
||||
},
|
||||
"bot": {
|
||||
"target": "bot",
|
||||
"note": "Kept as 'bot'; bot account = 'bot fiók'."
|
||||
},
|
||||
"role": {
|
||||
"target": "szerepkör"
|
||||
},
|
||||
"permission": {
|
||||
"target": "jogosultság"
|
||||
},
|
||||
"scheme": {
|
||||
"target": "séma",
|
||||
"note": "Permission scheme = 'jogosultság séma'."
|
||||
},
|
||||
"license": {
|
||||
"target": "licenc",
|
||||
"note": "Spelling 'licenc' (not 'licensz'/'license'); minor misspellings exist in repo."
|
||||
},
|
||||
"seat": {
|
||||
"target": "felhasználói hely",
|
||||
"note": "No existing repo rendering; 'felhasználói hely' is the common Hungarian SaaS term for a licensed seat."
|
||||
},
|
||||
"trial": {
|
||||
"target": "próbaidőszak",
|
||||
"note": "Established; free trial = 'ingyenes próbaidőszak'."
|
||||
},
|
||||
"workspace": {
|
||||
"target": "munkaterület"
|
||||
},
|
||||
"subscription": {
|
||||
"target": "előfizetés"
|
||||
},
|
||||
"deactivate": {
|
||||
"target": "deaktivál",
|
||||
"note": "Majority 'deaktivál' (Fiók deaktiválása); 'letilt' also appears for accounts — reserve 'letilt' for disable."
|
||||
},
|
||||
"invite": {
|
||||
"target": "meghívás",
|
||||
"note": "Verb: 'meghív'; noun act: 'meghívás'."
|
||||
},
|
||||
"invitation": {
|
||||
"target": "meghívó",
|
||||
"note": "The email/link artifact is 'meghívó' (invitation), distinct from the act 'meghívás'."
|
||||
},
|
||||
"sidebar": {
|
||||
"target": "oldalsáv"
|
||||
},
|
||||
"unread": {
|
||||
"target": "olvasatlan"
|
||||
},
|
||||
"attachment": {
|
||||
"target": "melléklet",
|
||||
"note": "Majority; 'csatolmány' also appears — prefer 'melléklet'."
|
||||
},
|
||||
"public channel": {
|
||||
"target": "nyilvános csatorna"
|
||||
},
|
||||
"private channel": {
|
||||
"target": "privát csatorna",
|
||||
"note": "Majority; 'magán csatorna' appears sporadically — use 'privát csatorna'."
|
||||
},
|
||||
"shared channel": {
|
||||
"target": "megosztott csatorna"
|
||||
},
|
||||
"channel header": {
|
||||
"target": "csatorna fejléce",
|
||||
"note": "Short UI label: 'Fejléc'."
|
||||
},
|
||||
"channel purpose": {
|
||||
"target": "csatorna célja",
|
||||
"note": "Short UI label: 'Cél'."
|
||||
},
|
||||
"system message": {
|
||||
"target": "rendszerüzenet"
|
||||
},
|
||||
"persistent notification": {
|
||||
"target": "tartós értesítés",
|
||||
"note": "Server majority; 'állandó értesítés' appears once — prefer 'tartós értesítés'."
|
||||
},
|
||||
"message priority": {
|
||||
"target": "üzenet prioritása",
|
||||
"note": "No established repo rendering; label form 'Üzenet prioritása'. Priority levels: Standard = 'Normál', Important = 'Fontos', Urgent = 'Sürgős'."
|
||||
},
|
||||
"urgent": {
|
||||
"target": "sürgős"
|
||||
},
|
||||
"recap": {
|
||||
"target": "összefoglaló",
|
||||
"note": "No repo signal; 'összefoglaló' (summary) is the natural Hungarian term for an AI recap."
|
||||
},
|
||||
"agent": {
|
||||
"target": "ügynök",
|
||||
"note": "Established in mobile ('Ügynök kiválasztása', 'MI ügynök')."
|
||||
},
|
||||
"burn-on-read": {
|
||||
"target": "olvasás után megsemmisülő",
|
||||
"note": "Mobile label uses 'MEGSEMMISÍTÉS OLVASÁS UTÁN' for the BURN ON READ badge; adjectival form 'olvasás után megsemmisülő üzenet'."
|
||||
},
|
||||
"magic link": {
|
||||
"target": "varázslink",
|
||||
"note": "No repo signal; 'varázslink' is the common Hungarian rendering for passwordless sign-in links."
|
||||
},
|
||||
"personal access token": {
|
||||
"target": "személyes hozzáférési token"
|
||||
},
|
||||
"announcement banner": {
|
||||
"target": "közlemény banner",
|
||||
"note": "Webapp majority ('közlemény banneren'); 'bejelentés banner' appears once. 'Banner' is kept in Hungarian."
|
||||
},
|
||||
"channel banner": {
|
||||
"target": "csatorna banner"
|
||||
},
|
||||
"keyword": {
|
||||
"target": "kulcsszó",
|
||||
"note": "Same word as the repo rendering of 'trigger word'; context disambiguates."
|
||||
},
|
||||
"user group": {
|
||||
"target": "felhasználói csoport",
|
||||
"note": "Plain 'group' = 'csoport'."
|
||||
},
|
||||
"permalink": {
|
||||
"target": "állandó hivatkozás",
|
||||
"note": "No consistent repo rendering (one instance loosely translated as 'link'); 'állandó hivatkozás' is the standard Hungarian term."
|
||||
},
|
||||
"profile": {
|
||||
"target": "profil"
|
||||
},
|
||||
"username": {
|
||||
"target": "felhasználónév"
|
||||
},
|
||||
"nickname": {
|
||||
"target": "becenév"
|
||||
},
|
||||
"display name": {
|
||||
"target": "megjelenítési név"
|
||||
},
|
||||
"collapsed reply threads": {
|
||||
"target": "összecsukott válaszszálak"
|
||||
},
|
||||
"auto-translation": {
|
||||
"target": "automatikus fordítás",
|
||||
"note": "Adjective 'automatikusan fordított'; badge form 'AUTOMATIKUSAN FORDÍTVA'."
|
||||
},
|
||||
"data retention": {
|
||||
"target": "adatmegőrzés",
|
||||
"note": "Policy = 'adatmegőrzési szabályzat'; written as one compound ('adatmegőrzés'), though the repo occasionally splits it."
|
||||
},
|
||||
"compliance export": {
|
||||
"target": "megfelelőségi export",
|
||||
"note": "Repo has occasional misspelling 'megfelelősségi' — correct form is 'megfelelőségi'."
|
||||
},
|
||||
"access control": {
|
||||
"target": "hozzáférés-vezérlés",
|
||||
"note": "Webapp once rendered 'Advanced Access Control' as 'Csatorna moderáció' (legacy, do not follow). Use the standard 'hozzáférés-vezérlés'; policy = 'hozzáférés-vezérlési szabályzat'."
|
||||
},
|
||||
"attribute": {
|
||||
"target": "attribútum"
|
||||
},
|
||||
"onboarding": {
|
||||
"target": "bevezetés",
|
||||
"note": "Repo is inconsistent ('üdvözlő varázsló', 'rendszerbeállítás'); 'bevezetés' is a safe general term, 'üdvözlő varázsló' acceptable for the setup wizard specifically."
|
||||
},
|
||||
"Town Square": {
|
||||
"target": "Főtér"
|
||||
},
|
||||
"Off-Topic": {
|
||||
"target": "Egyebek"
|
||||
},
|
||||
"read-only": {
|
||||
"target": "csak olvasható",
|
||||
"note": "Majority; 'írásvédett' also appears — prefer 'csak olvasható'."
|
||||
},
|
||||
"server": {
|
||||
"target": "szerver",
|
||||
"note": "Majority in webapp/server; 'kiszolgáló' also widely used (especially mobile). Prefer 'szerver' for core product; keep consistency within a given surface."
|
||||
}
|
||||
}
|
||||
450
i18n/glossary/it.json
Normal file
450
i18n/glossary/it.json
Normal file
@@ -0,0 +1,450 @@
|
||||
{
|
||||
"Mattermost": {
|
||||
"target": "Mattermost"
|
||||
},
|
||||
"Enterprise Edition": {
|
||||
"target": "Enterprise Edition",
|
||||
"note": "Legacy webapp string 'Edizione squadra' exists for Team Edition, but edition names are product names; keep in English."
|
||||
},
|
||||
"Team Edition": {
|
||||
"target": "Team Edition",
|
||||
"note": "Legacy strings render this as 'Edizione squadra'/'Edizione Team'; as a product name it should stay in English."
|
||||
},
|
||||
"Mattermost Cloud": {
|
||||
"target": "Mattermost Cloud"
|
||||
},
|
||||
"Channels": {
|
||||
"target": "Channels",
|
||||
"note": "Product name; do not confuse with the common noun 'canali'."
|
||||
},
|
||||
"Playbooks": {
|
||||
"target": "Playbooks"
|
||||
},
|
||||
"Boards": {
|
||||
"target": "Boards"
|
||||
},
|
||||
"Calls": {
|
||||
"target": "Calls",
|
||||
"note": "Product name; the common noun 'call' is 'chiamata'."
|
||||
},
|
||||
"Markdown": {
|
||||
"target": "Markdown"
|
||||
},
|
||||
"OAuth": {
|
||||
"target": "OAuth"
|
||||
},
|
||||
"SAML": {
|
||||
"target": "SAML"
|
||||
},
|
||||
"LDAP": {
|
||||
"target": "LDAP"
|
||||
},
|
||||
"SSO": {
|
||||
"target": "SSO"
|
||||
},
|
||||
"MFA": {
|
||||
"target": "MFA"
|
||||
},
|
||||
"OpenID Connect": {
|
||||
"target": "OpenID Connect"
|
||||
},
|
||||
"Entra ID": {
|
||||
"target": "Entra ID"
|
||||
},
|
||||
"GitLab": {
|
||||
"target": "GitLab"
|
||||
},
|
||||
"Elasticsearch": {
|
||||
"target": "Elasticsearch"
|
||||
},
|
||||
"Gossip": {
|
||||
"target": "Gossip"
|
||||
},
|
||||
"Actiance XML": {
|
||||
"target": "Actiance XML"
|
||||
},
|
||||
"Global Relay": {
|
||||
"target": "Global Relay"
|
||||
},
|
||||
"System Console": {
|
||||
"target": "Console di Sistema",
|
||||
"note": "Established rendering in webapp it.json; keep capitalized as a named UI area."
|
||||
},
|
||||
"marketplace": {
|
||||
"target": "Marketplace",
|
||||
"note": "Kept in English in existing translations ('Attiva marketplace', 'URL marketplace'); masculine: 'il Marketplace'."
|
||||
},
|
||||
"channel": {
|
||||
"target": "canale",
|
||||
"note": "Masculine; plural 'canali'."
|
||||
},
|
||||
"team": {
|
||||
"target": "squadra",
|
||||
"note": "Majority rendering in webapp/server (285 occurrences vs 35 for kept 'team'); mobile occasionally keeps 'team' — prefer 'squadra' for consistency. Feminine; plural 'squadre'."
|
||||
},
|
||||
"post": {
|
||||
"target": "pubblicazione",
|
||||
"note": "Established webapp/server rendering (~148 occurrences); mobile often renders 'post' as 'messaggio' since the UI treats them interchangeably. Feminine. Verb 'to post' = 'pubblicare'."
|
||||
},
|
||||
"message": {
|
||||
"target": "messaggio",
|
||||
"note": "Masculine; plural 'messaggi'."
|
||||
},
|
||||
"thread": {
|
||||
"target": "thread",
|
||||
"note": "Kept in English (majority across webapp/mobile/calls); masculine, invariable: 'il thread', 'i thread'. Some older strings use 'discussione' or 'conversazione' — avoid mixing."
|
||||
},
|
||||
"reply": {
|
||||
"target": "risposta",
|
||||
"note": "Noun 'risposta' (feminine); verb 'rispondere', button 'Rispondi'."
|
||||
},
|
||||
"direct message": {
|
||||
"target": "messaggio diretto",
|
||||
"note": "Majority rendering; a few legacy strings use 'Messaggio Privato' — avoid. Sidebar heading 'Messaggi diretti'."
|
||||
},
|
||||
"group message": {
|
||||
"target": "messaggio di gruppo"
|
||||
},
|
||||
"mention": {
|
||||
"target": "citazione",
|
||||
"note": "Majority in webapp/server (42+ occurrences, zero 'menzione' there); newer mobile strings use 'menzione', which is the more standard modern Italian UI term (Slack/Teams) — flagged for possible future unification. Verb: 'citare'."
|
||||
},
|
||||
"notification": {
|
||||
"target": "notifica",
|
||||
"note": "Feminine; plural 'notifiche'."
|
||||
},
|
||||
"pin": {
|
||||
"target": "bloccare",
|
||||
"note": "Existing majority: 'Blocca al canale', 'Pubblicazioni bloccate', 'Sblocca dal canale' (unpin). Newer mobile strings use 'appuntare' ('Messaggi appuntati'), arguably clearer, but 'bloccare' is the established rendering."
|
||||
},
|
||||
"bookmark": {
|
||||
"target": "segnalibro",
|
||||
"note": "No existing signal (channel bookmarks untranslated in it.json); standard Italian UI term. Masculine; verb: 'aggiungere un segnalibro'."
|
||||
},
|
||||
"saved messages": {
|
||||
"target": "messaggi salvati",
|
||||
"note": "Majority rendering; legacy webapp strings use 'contrassegnato' ('Pubblicazioni contrassegnate') — avoid. Verb save = 'salvare', unsave = 'rimuovi dai salvati'."
|
||||
},
|
||||
"draft": {
|
||||
"target": "bozza",
|
||||
"note": "Untranslated in current it.json files; standard Italian term. Feminine; plural 'bozze'."
|
||||
},
|
||||
"scheduled post": {
|
||||
"target": "messaggio programmato",
|
||||
"note": "Untranslated in current it.json; 'programmato' matches standard Italian UI convention (e.g. Slack/Gmail 'invio programmato')."
|
||||
},
|
||||
"emoji": {
|
||||
"target": "emoji",
|
||||
"note": "Invariable. Existing strings treat it as feminine ('un'emoji personalizzata') — use feminine consistently."
|
||||
},
|
||||
"custom emoji": {
|
||||
"target": "emoji personalizzata",
|
||||
"note": "Feminine per existing usage; plural 'emoji personalizzate'."
|
||||
},
|
||||
"reaction": {
|
||||
"target": "reazione",
|
||||
"note": "Verb react = 'reagire' ('reagire alla pubblicazione' in existing strings)."
|
||||
},
|
||||
"status": {
|
||||
"target": "stato"
|
||||
},
|
||||
"custom status": {
|
||||
"target": "stato personalizzato"
|
||||
},
|
||||
"do not disturb": {
|
||||
"target": "Non disturbare"
|
||||
},
|
||||
"away": {
|
||||
"target": "Assente",
|
||||
"note": "Majority rendering; scattered mobile variants ('Via', 'In trasferta', 'non al computer') should be avoided."
|
||||
},
|
||||
"online": {
|
||||
"target": "In linea",
|
||||
"note": "Webapp uses 'In Linea'; mobile sometimes keeps 'Online'. 'In linea' pairs with 'Non in linea' for offline."
|
||||
},
|
||||
"offline": {
|
||||
"target": "Non in linea",
|
||||
"note": "Webapp rendering, pairs with 'In linea'; mobile sometimes keeps 'Offline'."
|
||||
},
|
||||
"out of office": {
|
||||
"target": "Fuori sede",
|
||||
"note": "Webapp majority; mobile uses 'Fuori ufficio' — prefer 'Fuori sede'."
|
||||
},
|
||||
"guest": {
|
||||
"target": "ospite",
|
||||
"note": "Majority rendering; one legacy string uses 'Visitatori'. Beware collision with Calls 'host' mistranslated as 'ospite' in some Calls strings."
|
||||
},
|
||||
"member": {
|
||||
"target": "membro",
|
||||
"note": "Masculine; plural 'membri'."
|
||||
},
|
||||
"user": {
|
||||
"target": "utente",
|
||||
"note": "Masculine/feminine; plural 'utenti'."
|
||||
},
|
||||
"system admin": {
|
||||
"target": "amministratore di sistema",
|
||||
"note": "Existing: 'Amministratore di Sistema' (capitalized as a role name in admin UI)."
|
||||
},
|
||||
"team admin": {
|
||||
"target": "amministratore di squadra",
|
||||
"note": "Consistent with team = 'squadra'."
|
||||
},
|
||||
"channel admin": {
|
||||
"target": "amministratore del canale"
|
||||
},
|
||||
"session": {
|
||||
"target": "sessione",
|
||||
"note": "Feminine; 'Sessioni attive' = Active Sessions."
|
||||
},
|
||||
"sign in": {
|
||||
"target": "accedere",
|
||||
"note": "Button/imperative: 'Accedi'. Use for both 'sign in' and 'log in' per existing usage ('Accedi ad un altro Server')."
|
||||
},
|
||||
"sign out": {
|
||||
"target": "uscire",
|
||||
"note": "Existing consistent rendering: 'Esci' for both Log Out and Sign Out. Alternative 'disconnettersi' appears rarely."
|
||||
},
|
||||
"join": {
|
||||
"target": "unirsi (a)",
|
||||
"note": "Existing: 'Unirsi', 'Ti sei unito alla squadra'; button form 'Unisciti'. Calls uses 'partecipare' for joining a call — keep that distinction."
|
||||
},
|
||||
"leave": {
|
||||
"target": "abbandonare",
|
||||
"note": "Existing majority: 'Abbandona canale', 'Abbandona la squadra'."
|
||||
},
|
||||
"archive": {
|
||||
"target": "archiviare",
|
||||
"note": "'Archivia Canale', 'Archiviato' in existing strings."
|
||||
},
|
||||
"unarchive": {
|
||||
"target": "disarchiviare",
|
||||
"note": "Existing: 'Disarchivia'."
|
||||
},
|
||||
"mute": {
|
||||
"target": "silenziare",
|
||||
"note": "For channels: 'Silenzia canale', 'canale silenziato'. Avoid mobile variants 'Muto'/'disattivato'. Unmute = 'riattiva le notifiche' or 'rimuovi silenziamento' (existing mobile)."
|
||||
},
|
||||
"follow": {
|
||||
"target": "seguire",
|
||||
"note": "'Segui il thread', 'Stai seguendo' in existing strings."
|
||||
},
|
||||
"unfollow": {
|
||||
"target": "smettere di seguire",
|
||||
"note": "Button: 'Non seguire più'. Existing mobile renderings are inconsistent ('Thread da non seguire', 'Messaggio di esclusione') — avoid."
|
||||
},
|
||||
"favorite": {
|
||||
"target": "preferito",
|
||||
"note": "Noun/adjective 'preferito'; verb: 'aggiungere ai preferiti', unfavorite: 'rimuovi dai preferiti' (existing)."
|
||||
},
|
||||
"search": {
|
||||
"target": "ricerca",
|
||||
"note": "Noun 'ricerca' (feminine); verb 'cercare', button 'Cerca'."
|
||||
},
|
||||
"integration": {
|
||||
"target": "integrazione"
|
||||
},
|
||||
"slash command": {
|
||||
"target": "comando slash",
|
||||
"note": "Existing: 'Comandi Slash', 'comandi slash integrati'."
|
||||
},
|
||||
"webhook": {
|
||||
"target": "webhook",
|
||||
"note": "Kept in English per existing usage; masculine, invariable: 'il webhook', 'i webhook' (avoid legacy plural 'webhooks' in Italian text)."
|
||||
},
|
||||
"incoming webhook": {
|
||||
"target": "webhook in ingresso"
|
||||
},
|
||||
"outgoing webhook": {
|
||||
"target": "webhook in uscita"
|
||||
},
|
||||
"trigger word": {
|
||||
"target": "parola di attivazione",
|
||||
"note": "Existing strings are inconsistent ('parole di innesco', 'parola chiave', 'parola di esecuzione'); 'parola di attivazione' avoids collision with keyword = 'parola chiave'."
|
||||
},
|
||||
"plugin": {
|
||||
"target": "plugin",
|
||||
"note": "Kept in English; masculine, invariable: 'il plugin', 'i plugin' (avoid legacy 'plugins' plural in Italian text)."
|
||||
},
|
||||
"bot": {
|
||||
"target": "bot",
|
||||
"note": "Kept in English; masculine, invariable. 'Account bot' = bot account (existing)."
|
||||
},
|
||||
"role": {
|
||||
"target": "ruolo",
|
||||
"note": "Masculine; plural 'ruoli'."
|
||||
},
|
||||
"permission": {
|
||||
"target": "permesso",
|
||||
"note": "Existing consistent: 'Permessi', 'Schemi di Permesso'. The alternative 'autorizzazione' is not used in this product."
|
||||
},
|
||||
"scheme": {
|
||||
"target": "schema",
|
||||
"note": "Masculine: 'lo schema', 'gli schemi'; 'Schema di Sistema' = System Scheme (existing)."
|
||||
},
|
||||
"license": {
|
||||
"target": "licenza"
|
||||
},
|
||||
"seat": {
|
||||
"target": "postazione",
|
||||
"note": "No existing signal; standard Italian licensing term for per-user seats. Feminine; plural 'postazioni'."
|
||||
},
|
||||
"trial": {
|
||||
"target": "periodo di prova",
|
||||
"note": "Majority rendering ('prova gratuita' for free trial); a couple of legacy strings keep 'trial' — avoid."
|
||||
},
|
||||
"workspace": {
|
||||
"target": "spazio di lavoro",
|
||||
"note": "Majority rendering; one legacy string uses 'area di lavoro' — avoid."
|
||||
},
|
||||
"subscription": {
|
||||
"target": "abbonamento",
|
||||
"note": "Standard Italian SaaS term; the single existing string uses 'sottoscrizione', which is less idiomatic for recurring plans."
|
||||
},
|
||||
"deactivate": {
|
||||
"target": "disattivare",
|
||||
"note": "Existing: 'Disattiva', 'disattivato'."
|
||||
},
|
||||
"invite": {
|
||||
"target": "invitare",
|
||||
"note": "Verb 'invitare' ('Invita ospiti'); noun (an invite) = 'invito'."
|
||||
},
|
||||
"invitation": {
|
||||
"target": "invito",
|
||||
"note": "Masculine; plural 'inviti'."
|
||||
},
|
||||
"sidebar": {
|
||||
"target": "barra laterale"
|
||||
},
|
||||
"unread": {
|
||||
"target": "non letto",
|
||||
"note": "'Segna come non letto'; plural noun usage (unreads) = 'non letti' ('Filtra non letti')."
|
||||
},
|
||||
"attachment": {
|
||||
"target": "allegato"
|
||||
},
|
||||
"public channel": {
|
||||
"target": "canale pubblico"
|
||||
},
|
||||
"private channel": {
|
||||
"target": "canale privato"
|
||||
},
|
||||
"shared channel": {
|
||||
"target": "canale condiviso"
|
||||
},
|
||||
"channel header": {
|
||||
"target": "intestazione del canale",
|
||||
"note": "Existing consistent: 'intestazione'."
|
||||
},
|
||||
"channel purpose": {
|
||||
"target": "scopo del canale",
|
||||
"note": "Existing consistent: 'scopo' ('Modifica Scopo')."
|
||||
},
|
||||
"system message": {
|
||||
"target": "messaggio di sistema"
|
||||
},
|
||||
"persistent notification": {
|
||||
"target": "notifica persistente"
|
||||
},
|
||||
"message priority": {
|
||||
"target": "priorità del messaggio"
|
||||
},
|
||||
"urgent": {
|
||||
"target": "urgente"
|
||||
},
|
||||
"recap": {
|
||||
"target": "riepilogo",
|
||||
"note": "New AI feature, untranslated in it.json; 'riepilogo' aligns with Calls meeting summary = 'riepilogo della riunione'."
|
||||
},
|
||||
"agent": {
|
||||
"target": "agente",
|
||||
"note": "Masculine; plural 'agenti'. The Agents product/feature name may stay 'Agents' when used as a proper name."
|
||||
},
|
||||
"burn-on-read": {
|
||||
"target": "con distruzione alla lettura",
|
||||
"note": "New feature, no existing signal. Adjective use: 'messaggio con distruzione alla lettura'; label: 'DISTRUZIONE ALLA LETTURA'."
|
||||
},
|
||||
"magic link": {
|
||||
"target": "link magico",
|
||||
"note": "Slack's Italian rendering; 'magic link' kept in English is also common in Italian products — use one form consistently."
|
||||
},
|
||||
"personal access token": {
|
||||
"target": "token di accesso personale",
|
||||
"note": "Existing consistent rendering; 'token' is kept in English (masculine, invariable)."
|
||||
},
|
||||
"announcement banner": {
|
||||
"target": "banner di annunci",
|
||||
"note": "'banner' kept in English (masculine, invariable) per existing usage ('Testo Banner', 'Colore Banner')."
|
||||
},
|
||||
"channel banner": {
|
||||
"target": "banner del canale"
|
||||
},
|
||||
"keyword": {
|
||||
"target": "parola chiave",
|
||||
"note": "Existing consistent: 'Parole chiave che attivano le menzioni'."
|
||||
},
|
||||
"user group": {
|
||||
"target": "gruppo di utenti",
|
||||
"note": "Plain 'gruppo' when context is clear (existing: 'Citazione gruppo')."
|
||||
},
|
||||
"permalink": {
|
||||
"target": "link permanente",
|
||||
"note": "No existing signal; standard Italian rendering."
|
||||
},
|
||||
"profile": {
|
||||
"target": "profilo",
|
||||
"note": "One legacy string maps Profile to 'Impostazioni Account' — avoid; use 'profilo'."
|
||||
},
|
||||
"username": {
|
||||
"target": "nome utente"
|
||||
},
|
||||
"nickname": {
|
||||
"target": "soprannome"
|
||||
},
|
||||
"display name": {
|
||||
"target": "nome visualizzato",
|
||||
"note": "Majority across desktop/mobile/webapp-notifications; a couple of legacy webapp strings use 'Nome visibile' — prefer 'nome visualizzato'."
|
||||
},
|
||||
"collapsed reply threads": {
|
||||
"target": "thread di risposta compressi",
|
||||
"note": "Existing mobile rendering; a duplicate string uses 'collassati' — prefer 'compressi'."
|
||||
},
|
||||
"auto-translation": {
|
||||
"target": "traduzione automatica",
|
||||
"note": "Label form for auto-translated messages: 'TRADOTTO AUTOMATICAMENTE'."
|
||||
},
|
||||
"data retention": {
|
||||
"target": "ritenzione dei dati",
|
||||
"note": "Existing consistent rendering in webapp/server ('Politica Ritenzione dei Dati'); 'conservazione dei dati' is the standard Italian/GDPR term and arguably better — kept 'ritenzione' for consistency."
|
||||
},
|
||||
"compliance export": {
|
||||
"target": "esportazione di conformità",
|
||||
"note": "Legacy strings use 'Esportazione Conforme (Beta)', which misreads the English ('compliant export'); 'esportazione di conformità' is more accurate."
|
||||
},
|
||||
"access control": {
|
||||
"target": "controllo degli accessi",
|
||||
"note": "No reliable existing signal (one legacy string relabels it 'Moderazione canale'); standard Italian security term. Policy: 'politica di controllo degli accessi'."
|
||||
},
|
||||
"attribute": {
|
||||
"target": "attributo",
|
||||
"note": "Masculine; plural 'attributi'. Existing: 'Attributo Nome Gruppo Visualizzato'."
|
||||
},
|
||||
"onboarding": {
|
||||
"target": "onboarding",
|
||||
"note": "Commonly kept in English in Italian software; masculine: 'l'onboarding'."
|
||||
},
|
||||
"Town Square": {
|
||||
"target": "Piazza"
|
||||
},
|
||||
"Off-Topic": {
|
||||
"target": "Senza-Argomento"
|
||||
},
|
||||
"read-only": {
|
||||
"target": "in sola lettura",
|
||||
"note": "Existing: 'Questo canale è in sola lettura' (webapp); mobile uses 'di sola lettura' — either preposition works, prefer 'in sola lettura'."
|
||||
},
|
||||
"server": {
|
||||
"target": "server",
|
||||
"note": "Kept in English; masculine, invariable: 'il server', 'i server' (avoid legacy plural 'servers' in Italian text)."
|
||||
}
|
||||
}
|
||||
403
i18n/glossary/ja.json
Normal file
403
i18n/glossary/ja.json
Normal file
@@ -0,0 +1,403 @@
|
||||
{
|
||||
"Mattermost": {
|
||||
"target": "Mattermost"
|
||||
},
|
||||
"Enterprise Edition": {
|
||||
"target": "Enterprise Edition"
|
||||
},
|
||||
"Team Edition": {
|
||||
"target": "Team Edition"
|
||||
},
|
||||
"Mattermost Cloud": {
|
||||
"target": "Mattermost Cloud"
|
||||
},
|
||||
"Channels": {
|
||||
"target": "Channels"
|
||||
},
|
||||
"Playbooks": {
|
||||
"target": "Playbooks"
|
||||
},
|
||||
"Boards": {
|
||||
"target": "Boards"
|
||||
},
|
||||
"Calls": {
|
||||
"target": "Calls"
|
||||
},
|
||||
"Markdown": {
|
||||
"target": "Markdown"
|
||||
},
|
||||
"OAuth": {
|
||||
"target": "OAuth"
|
||||
},
|
||||
"SAML": {
|
||||
"target": "SAML"
|
||||
},
|
||||
"LDAP": {
|
||||
"target": "LDAP"
|
||||
},
|
||||
"SSO": {
|
||||
"target": "SSO"
|
||||
},
|
||||
"MFA": {
|
||||
"target": "MFA"
|
||||
},
|
||||
"OpenID Connect": {
|
||||
"target": "OpenID Connect"
|
||||
},
|
||||
"Entra ID": {
|
||||
"target": "Entra ID"
|
||||
},
|
||||
"GitLab": {
|
||||
"target": "GitLab"
|
||||
},
|
||||
"Elasticsearch": {
|
||||
"target": "Elasticsearch"
|
||||
},
|
||||
"Gossip": {
|
||||
"target": "Gossip"
|
||||
},
|
||||
"Actiance XML": {
|
||||
"target": "Actiance XML"
|
||||
},
|
||||
"Global Relay": {
|
||||
"target": "Global Relay"
|
||||
},
|
||||
"System Console": {
|
||||
"target": "システムコンソール"
|
||||
},
|
||||
"marketplace": {
|
||||
"target": "マーケットプレース",
|
||||
"note": "Existing translations consistently use マーケットプレース (not マーケットプレイス); keep this spelling."
|
||||
},
|
||||
"channel": {
|
||||
"target": "チャンネル"
|
||||
},
|
||||
"team": {
|
||||
"target": "チーム"
|
||||
},
|
||||
"post": {
|
||||
"target": "投稿",
|
||||
"note": "Verb: 投稿する."
|
||||
},
|
||||
"message": {
|
||||
"target": "メッセージ"
|
||||
},
|
||||
"thread": {
|
||||
"target": "スレッド"
|
||||
},
|
||||
"reply": {
|
||||
"target": "返信",
|
||||
"note": "Verb (button): 返信する."
|
||||
},
|
||||
"direct message": {
|
||||
"target": "ダイレクトメッセージ",
|
||||
"note": "Do not abbreviate to DM in translated text unless the English source uses 'DM'."
|
||||
},
|
||||
"group message": {
|
||||
"target": "グループメッセージ"
|
||||
},
|
||||
"mention": {
|
||||
"target": "メンション",
|
||||
"note": "Verb: メンションする."
|
||||
},
|
||||
"notification": {
|
||||
"target": "通知"
|
||||
},
|
||||
"pin": {
|
||||
"target": "ピン留めする",
|
||||
"note": "Noun/past participle: ピン留め / ピン留めされた. Unpin: ピン留めをやめる (existing 'Unpin from Channel' → チャンネルへのピン留めをやめる)."
|
||||
},
|
||||
"bookmark": {
|
||||
"target": "ブックマーク",
|
||||
"note": "Verb: ブックマークする (add: ブックマークを追加)."
|
||||
},
|
||||
"saved messages": {
|
||||
"target": "保存されたメッセージ",
|
||||
"note": "Existing usage is inconsistent: 保存されたメッセージ and 保存済みのメッセージ both occur. Prefer 保存されたメッセージ for the feature name; 保存済み for the short 'Saved' badge."
|
||||
},
|
||||
"draft": {
|
||||
"target": "下書き"
|
||||
},
|
||||
"scheduled post": {
|
||||
"target": "スケジュール済みの投稿"
|
||||
},
|
||||
"emoji": {
|
||||
"target": "絵文字"
|
||||
},
|
||||
"custom emoji": {
|
||||
"target": "カスタム絵文字"
|
||||
},
|
||||
"reaction": {
|
||||
"target": "リアクション",
|
||||
"note": "Verb 'react': リアクションする."
|
||||
},
|
||||
"status": {
|
||||
"target": "ステータス",
|
||||
"note": "In-context sentences use ステータス; a few standalone labels use 状態. Prefer ステータス for availability."
|
||||
},
|
||||
"custom status": {
|
||||
"target": "カスタムステータス"
|
||||
},
|
||||
"do not disturb": {
|
||||
"target": "取り込み中"
|
||||
},
|
||||
"away": {
|
||||
"target": "離席中"
|
||||
},
|
||||
"online": {
|
||||
"target": "オンライン"
|
||||
},
|
||||
"offline": {
|
||||
"target": "オフライン"
|
||||
},
|
||||
"out of office": {
|
||||
"target": "外出中"
|
||||
},
|
||||
"guest": {
|
||||
"target": "ゲスト"
|
||||
},
|
||||
"member": {
|
||||
"target": "メンバー"
|
||||
},
|
||||
"user": {
|
||||
"target": "ユーザー"
|
||||
},
|
||||
"system admin": {
|
||||
"target": "システム管理者"
|
||||
},
|
||||
"team admin": {
|
||||
"target": "チーム管理者"
|
||||
},
|
||||
"channel admin": {
|
||||
"target": "チャンネル管理者"
|
||||
},
|
||||
"session": {
|
||||
"target": "セッション"
|
||||
},
|
||||
"sign in": {
|
||||
"target": "ログインする",
|
||||
"note": "Login screen consistently uses ログイン; some admin-console strings use サインイン. Prefer ログイン for both 'log in' and 'sign in' per majority."
|
||||
},
|
||||
"sign out": {
|
||||
"target": "ログアウトする"
|
||||
},
|
||||
"join": {
|
||||
"target": "参加する"
|
||||
},
|
||||
"leave": {
|
||||
"target": "脱退する",
|
||||
"note": "Existing: チームを脱退する, チャンネルから脱退する. One string uses 離脱する for groups; prefer 脱退する."
|
||||
},
|
||||
"archive": {
|
||||
"target": "アーカイブする",
|
||||
"note": "Adjective 'archived': アーカイブ済み / アーカイブされた."
|
||||
},
|
||||
"unarchive": {
|
||||
"target": "アーカイブから復元する"
|
||||
},
|
||||
"mute": {
|
||||
"target": "ミュートする",
|
||||
"note": "Channel-notification muting; unmute: ミュートを解除する."
|
||||
},
|
||||
"follow": {
|
||||
"target": "フォローする",
|
||||
"note": "Following (state): フォロー中."
|
||||
},
|
||||
"unfollow": {
|
||||
"target": "フォローをやめる",
|
||||
"note": "Menu items use フォローをやめる; past-tense confirmation uses フォローを解除しました. Either is acceptable, prefer フォローをやめる for actions."
|
||||
},
|
||||
"favorite": {
|
||||
"target": "お気に入り",
|
||||
"note": "Verb: お気に入りに追加する; remove: お気に入りから削除する."
|
||||
},
|
||||
"search": {
|
||||
"target": "検索",
|
||||
"note": "Verb: 検索する."
|
||||
},
|
||||
"integration": {
|
||||
"target": "統合機能"
|
||||
},
|
||||
"slash command": {
|
||||
"target": "スラッシュコマンド"
|
||||
},
|
||||
"webhook": {
|
||||
"target": "ウェブフック",
|
||||
"note": "Katakana ウェブフック is established in existing translations; do not keep as English 'Webhook'."
|
||||
},
|
||||
"incoming webhook": {
|
||||
"target": "内向きのウェブフック"
|
||||
},
|
||||
"outgoing webhook": {
|
||||
"target": "外向きのウェブフック"
|
||||
},
|
||||
"trigger word": {
|
||||
"target": "トリガーワード"
|
||||
},
|
||||
"plugin": {
|
||||
"target": "プラグイン"
|
||||
},
|
||||
"bot": {
|
||||
"target": "Bot",
|
||||
"note": "Existing translations keep 'Bot' in Latin script (Botアカウント, Botアイコン, BOT tag); do not use ボット."
|
||||
},
|
||||
"role": {
|
||||
"target": "ロール"
|
||||
},
|
||||
"permission": {
|
||||
"target": "権限"
|
||||
},
|
||||
"scheme": {
|
||||
"target": "スキーム"
|
||||
},
|
||||
"license": {
|
||||
"target": "ライセンス"
|
||||
},
|
||||
"seat": {
|
||||
"target": "シート"
|
||||
},
|
||||
"trial": {
|
||||
"target": "トライアル"
|
||||
},
|
||||
"workspace": {
|
||||
"target": "ワークスペース"
|
||||
},
|
||||
"subscription": {
|
||||
"target": "サブスクリプション"
|
||||
},
|
||||
"deactivate": {
|
||||
"target": "無効化する",
|
||||
"note": "Deactivated: 無効化済み. Existing also uses 無効にする; prefer 無効化する for accounts."
|
||||
},
|
||||
"invite": {
|
||||
"target": "招待する",
|
||||
"note": "Noun: 招待."
|
||||
},
|
||||
"invitation": {
|
||||
"target": "招待"
|
||||
},
|
||||
"sidebar": {
|
||||
"target": "サイドバー"
|
||||
},
|
||||
"unread": {
|
||||
"target": "未読"
|
||||
},
|
||||
"attachment": {
|
||||
"target": "添付ファイル",
|
||||
"note": "Short label sometimes just 添付."
|
||||
},
|
||||
"public channel": {
|
||||
"target": "公開チャンネル"
|
||||
},
|
||||
"private channel": {
|
||||
"target": "非公開チャンネル",
|
||||
"note": "Existing convention is 非公開チャンネル, not プライベートチャンネル."
|
||||
},
|
||||
"shared channel": {
|
||||
"target": "共有チャンネル"
|
||||
},
|
||||
"channel header": {
|
||||
"target": "チャンネルヘッダー"
|
||||
},
|
||||
"channel purpose": {
|
||||
"target": "チャンネルの目的"
|
||||
},
|
||||
"system message": {
|
||||
"target": "システムメッセージ"
|
||||
},
|
||||
"persistent notification": {
|
||||
"target": "永続的な通知"
|
||||
},
|
||||
"message priority": {
|
||||
"target": "メッセージの優先度",
|
||||
"note": "Existing usage varies between メッセージの優先度 and メッセージ優先度; prefer メッセージの優先度."
|
||||
},
|
||||
"urgent": {
|
||||
"target": "緊急"
|
||||
},
|
||||
"recap": {
|
||||
"target": "リキャップ",
|
||||
"note": "No existing translation (new feature). リキャップ follows established Japanese Microsoft Teams terminology for AI recaps; alternative 要約 would collide with 'summary'."
|
||||
},
|
||||
"agent": {
|
||||
"target": "エージェント",
|
||||
"note": "No existing translation (new feature); エージェント is the standard Japanese term for AI agents."
|
||||
},
|
||||
"burn-on-read": {
|
||||
"target": "閲覧後消去",
|
||||
"note": "No existing translation (new feature). Label form: 閲覧後消去メッセージ. Alternative phrasing 閲覧後に自動削除される may suit descriptions."
|
||||
},
|
||||
"magic link": {
|
||||
"target": "マジックリンク"
|
||||
},
|
||||
"personal access token": {
|
||||
"target": "パーソナルアクセストークン"
|
||||
},
|
||||
"announcement banner": {
|
||||
"target": "アナウンスバナー",
|
||||
"note": "Majority rendering; one legacy string uses 通知バナー — prefer アナウンスバナー."
|
||||
},
|
||||
"channel banner": {
|
||||
"target": "チャンネルバナー"
|
||||
},
|
||||
"keyword": {
|
||||
"target": "キーワード"
|
||||
},
|
||||
"user group": {
|
||||
"target": "ユーザーグループ"
|
||||
},
|
||||
"permalink": {
|
||||
"target": "パーマリンク"
|
||||
},
|
||||
"profile": {
|
||||
"target": "プロフィール"
|
||||
},
|
||||
"username": {
|
||||
"target": "ユーザー名"
|
||||
},
|
||||
"nickname": {
|
||||
"target": "ニックネーム"
|
||||
},
|
||||
"display name": {
|
||||
"target": "表示名"
|
||||
},
|
||||
"collapsed reply threads": {
|
||||
"target": "スレッド形式の議論",
|
||||
"note": "Existing admin-console title for this feature ('Threaded Discussions'). Use it for the feature name rather than a literal 折りたたみ返信スレッド."
|
||||
},
|
||||
"auto-translation": {
|
||||
"target": "自動翻訳",
|
||||
"note": "Auto-translated (label): 自動翻訳済み."
|
||||
},
|
||||
"data retention": {
|
||||
"target": "データ保持",
|
||||
"note": "Policy: データ保持ポリシー."
|
||||
},
|
||||
"compliance export": {
|
||||
"target": "コンプライアンスエクスポート"
|
||||
},
|
||||
"access control": {
|
||||
"target": "アクセス制御",
|
||||
"note": "Majority rendering; アクセスコントロール appears once (アクセスコントロールポリシー) — prefer アクセス制御."
|
||||
},
|
||||
"attribute": {
|
||||
"target": "属性"
|
||||
},
|
||||
"onboarding": {
|
||||
"target": "オンボーディング"
|
||||
},
|
||||
"Town Square": {
|
||||
"target": "タウンスクウェア",
|
||||
"note": "Server default-channel name uses タウンスクウェア; a couple of webapp admin descriptions use タウンスクエア. Follow the server rendering (what users see as the channel name)."
|
||||
},
|
||||
"Off-Topic": {
|
||||
"target": "オフトピック",
|
||||
"note": "One webapp string contains the typo オフトピッック; correct form is オフトピック."
|
||||
},
|
||||
"read-only": {
|
||||
"target": "読み取り専用"
|
||||
},
|
||||
"server": {
|
||||
"target": "サーバー"
|
||||
}
|
||||
}
|
||||
427
i18n/glossary/ko.json
Normal file
427
i18n/glossary/ko.json
Normal file
@@ -0,0 +1,427 @@
|
||||
{
|
||||
"Mattermost": {
|
||||
"target": "Mattermost"
|
||||
},
|
||||
"Enterprise Edition": {
|
||||
"target": "Enterprise Edition",
|
||||
"note": "Prose occasionally uses 엔터프라이즈 에디션; keep the English name for the edition itself."
|
||||
},
|
||||
"Team Edition": {
|
||||
"target": "Team Edition"
|
||||
},
|
||||
"Mattermost Cloud": {
|
||||
"target": "Mattermost Cloud"
|
||||
},
|
||||
"Channels": {
|
||||
"target": "Channels",
|
||||
"note": "Product name; the common noun 'channel' is 채널."
|
||||
},
|
||||
"Playbooks": {
|
||||
"target": "Playbooks",
|
||||
"note": "Product name; the common noun 'playbook' is 플레이북."
|
||||
},
|
||||
"Boards": {
|
||||
"target": "Boards"
|
||||
},
|
||||
"Calls": {
|
||||
"target": "Calls",
|
||||
"note": "Product name; the common noun 'call' is 통화."
|
||||
},
|
||||
"Markdown": {
|
||||
"target": "Markdown",
|
||||
"note": "Existing UI keeps the English form; 마크다운 appears in prose but the format name stays Markdown."
|
||||
},
|
||||
"OAuth": {
|
||||
"target": "OAuth"
|
||||
},
|
||||
"SAML": {
|
||||
"target": "SAML"
|
||||
},
|
||||
"LDAP": {
|
||||
"target": "LDAP",
|
||||
"note": "AD/LDAP stays as AD/LDAP."
|
||||
},
|
||||
"SSO": {
|
||||
"target": "SSO"
|
||||
},
|
||||
"MFA": {
|
||||
"target": "MFA",
|
||||
"note": "When spelled out, 'multi-factor authentication' is 다단계 인증 in existing strings."
|
||||
},
|
||||
"OpenID Connect": {
|
||||
"target": "OpenID Connect"
|
||||
},
|
||||
"Entra ID": {
|
||||
"target": "Entra ID"
|
||||
},
|
||||
"GitLab": {
|
||||
"target": "GitLab"
|
||||
},
|
||||
"Elasticsearch": {
|
||||
"target": "Elasticsearch"
|
||||
},
|
||||
"Gossip": {
|
||||
"target": "Gossip"
|
||||
},
|
||||
"Actiance XML": {
|
||||
"target": "Actiance XML"
|
||||
},
|
||||
"Global Relay": {
|
||||
"target": "Global Relay"
|
||||
},
|
||||
"System Console": {
|
||||
"target": "시스템 콘솔",
|
||||
"note": "Majority rendering (32 vs 6); a few legacy strings use 관리자 도구 — do not reuse it."
|
||||
},
|
||||
"marketplace": {
|
||||
"target": "마켓플레이스"
|
||||
},
|
||||
"channel": {
|
||||
"target": "채널"
|
||||
},
|
||||
"team": {
|
||||
"target": "팀"
|
||||
},
|
||||
"post": {
|
||||
"target": "게시물",
|
||||
"note": "Repo usage is mixed (메시지/글/게시물/게시글). Use 게시물 to keep the noun distinct from message = 메시지; 글 appears in some admin labels."
|
||||
},
|
||||
"message": {
|
||||
"target": "메시지"
|
||||
},
|
||||
"thread": {
|
||||
"target": "스레드",
|
||||
"note": "Majority rendering (40 vs 22); older strings use 글타래 — prefer 스레드 for consistency."
|
||||
},
|
||||
"reply": {
|
||||
"target": "답글",
|
||||
"note": "Noun and verb stem (답글, 답글 달기). 댓글/회신 appear in a few legacy strings; prefer 답글."
|
||||
},
|
||||
"direct message": {
|
||||
"target": "쪽지",
|
||||
"note": "Majority rendering (30 vs 18); some headings/legacy strings use 개인 메시지. DM abbreviation can stay DM."
|
||||
},
|
||||
"group message": {
|
||||
"target": "그룹 메시지"
|
||||
},
|
||||
"mention": {
|
||||
"target": "멘션",
|
||||
"note": "Verb: 멘션하다. 언급 appears in some admin strings; prefer 멘션."
|
||||
},
|
||||
"notification": {
|
||||
"target": "알림"
|
||||
},
|
||||
"pin": {
|
||||
"target": "고정",
|
||||
"note": "Verb: 고정하다; pinned messages = 고정된 메시지; unpin = 고정 해제. One legacy string uses 공지하기 — avoid."
|
||||
},
|
||||
"bookmark": {
|
||||
"target": "북마크",
|
||||
"note": "Verb: 북마크에 추가하다 / 북마크하다."
|
||||
},
|
||||
"saved messages": {
|
||||
"target": "저장된 메시지",
|
||||
"note": "Repo is inconsistent (중요 메시지, 보관된 메시지 in legacy strings); save = 저장, unsave = 저장 해제."
|
||||
},
|
||||
"draft": {
|
||||
"target": "초안",
|
||||
"note": "Repo splits between 초안 (10) and 임시 글 (8); use 초안 consistently."
|
||||
},
|
||||
"scheduled post": {
|
||||
"target": "예약된 메시지",
|
||||
"note": "Also rendered 예약된 게시물 in admin strings; prefer 예약된 메시지."
|
||||
},
|
||||
"emoji": {
|
||||
"target": "이모지",
|
||||
"note": "이모티콘 is nearly as frequent in the repo, but 이모지 is the accurate Korean term for emoji; use it consistently."
|
||||
},
|
||||
"custom emoji": {
|
||||
"target": "커스텀 이모지"
|
||||
},
|
||||
"reaction": {
|
||||
"target": "반응",
|
||||
"note": "Verb: 반응 추가하다. 리액션 appears in a few strings; prefer 반응."
|
||||
},
|
||||
"status": {
|
||||
"target": "상태"
|
||||
},
|
||||
"custom status": {
|
||||
"target": "사용자 지정 상태"
|
||||
},
|
||||
"do not disturb": {
|
||||
"target": "방해 금지"
|
||||
},
|
||||
"away": {
|
||||
"target": "자리 비움",
|
||||
"note": "Existing labels vary between 자리비움 and 자리 비움; standard spacing is 자리 비움."
|
||||
},
|
||||
"online": {
|
||||
"target": "온라인"
|
||||
},
|
||||
"offline": {
|
||||
"target": "오프라인"
|
||||
},
|
||||
"out of office": {
|
||||
"target": "부재 중"
|
||||
},
|
||||
"guest": {
|
||||
"target": "게스트"
|
||||
},
|
||||
"member": {
|
||||
"target": "구성원",
|
||||
"note": "Majority rendering (103 vs 32 멤버, 48 회원); use 구성원."
|
||||
},
|
||||
"user": {
|
||||
"target": "사용자"
|
||||
},
|
||||
"system admin": {
|
||||
"target": "시스템 관리자"
|
||||
},
|
||||
"team admin": {
|
||||
"target": "팀 관리자"
|
||||
},
|
||||
"channel admin": {
|
||||
"target": "채널 관리자"
|
||||
},
|
||||
"session": {
|
||||
"target": "세션"
|
||||
},
|
||||
"sign in": {
|
||||
"target": "로그인",
|
||||
"note": "Verb: 로그인하다. Both 'sign in' and 'log in' map to 로그인."
|
||||
},
|
||||
"sign out": {
|
||||
"target": "로그아웃",
|
||||
"note": "Verb: 로그아웃하다. Both 'sign out' and 'log out' map to 로그아웃."
|
||||
},
|
||||
"join": {
|
||||
"target": "참여",
|
||||
"note": "Verb: 참여하다 for channels; teams often use 가입(하다) in existing strings — either is fine per object, but keep channels = 참여."
|
||||
},
|
||||
"leave": {
|
||||
"target": "나가기",
|
||||
"note": "Verb: 나가다. Repo mixes 떠나기/탈퇴/나가기; prefer 나가기 (탈퇴 acceptable for teams)."
|
||||
},
|
||||
"archive": {
|
||||
"target": "보관",
|
||||
"note": "Verb: 보관하다; archived = 보관됨. A few strings use 아카이브 — prefer 보관."
|
||||
},
|
||||
"unarchive": {
|
||||
"target": "보관 해제",
|
||||
"note": "Verb: 보관을 해제하다."
|
||||
},
|
||||
"mute": {
|
||||
"target": "음소거",
|
||||
"note": "Channel-mute strings often render 'Mute Channel' as 채널 알림 끄기; plain Mute label is 음소거. Keep Calls microphone mute also 음소거."
|
||||
},
|
||||
"follow": {
|
||||
"target": "팔로우",
|
||||
"note": "Verb: 팔로우하다. Legacy strings use 구독/지켜보기; prefer 팔로우 (matches follower = 팔로워)."
|
||||
},
|
||||
"unfollow": {
|
||||
"target": "팔로우 해제",
|
||||
"note": "Legacy strings use 구독 해제; prefer 팔로우 해제."
|
||||
},
|
||||
"favorite": {
|
||||
"target": "즐겨찾기",
|
||||
"note": "Verb: 즐겨찾기에 추가하다; unfavorite = 즐겨찾기에서 제거."
|
||||
},
|
||||
"search": {
|
||||
"target": "검색",
|
||||
"note": "Verb: 검색하다."
|
||||
},
|
||||
"integration": {
|
||||
"target": "통합"
|
||||
},
|
||||
"slash command": {
|
||||
"target": "슬래시 명령어"
|
||||
},
|
||||
"webhook": {
|
||||
"target": "웹훅",
|
||||
"note": "Repo is inconsistent (many strings keep English 'Webhook'); standardize on 웹훅."
|
||||
},
|
||||
"incoming webhook": {
|
||||
"target": "들어오는 웹훅",
|
||||
"note": "Repo mostly leaves this in English; 들어오는 웹훅 mirrors the existing 나가는 웹훅. 수신 웹훅 is an acceptable alternative if used consistently with 발신 웹훅."
|
||||
},
|
||||
"outgoing webhook": {
|
||||
"target": "나가는 웹훅",
|
||||
"note": "Existing rendering; pair with 들어오는 웹훅."
|
||||
},
|
||||
"trigger word": {
|
||||
"target": "트리거 단어"
|
||||
},
|
||||
"plugin": {
|
||||
"target": "플러그인"
|
||||
},
|
||||
"bot": {
|
||||
"target": "봇"
|
||||
},
|
||||
"role": {
|
||||
"target": "역할"
|
||||
},
|
||||
"permission": {
|
||||
"target": "권한"
|
||||
},
|
||||
"scheme": {
|
||||
"target": "스키마",
|
||||
"note": "Majority rendering; avoid 스킴/계획 seen in a few strings."
|
||||
},
|
||||
"license": {
|
||||
"target": "라이선스"
|
||||
},
|
||||
"seat": {
|
||||
"target": "좌석"
|
||||
},
|
||||
"trial": {
|
||||
"target": "평가판",
|
||||
"note": "Majority rendering (45 vs 7 체험판); free trial = 무료 평가판."
|
||||
},
|
||||
"workspace": {
|
||||
"target": "워크스페이스",
|
||||
"note": "Majority rendering (33 vs 22 작업 공간); prefer 워크스페이스."
|
||||
},
|
||||
"subscription": {
|
||||
"target": "구독"
|
||||
},
|
||||
"deactivate": {
|
||||
"target": "비활성화",
|
||||
"note": "Verb: 비활성화하다; deactivated = 비활성화됨."
|
||||
},
|
||||
"invite": {
|
||||
"target": "초대",
|
||||
"note": "Verb: 초대하다."
|
||||
},
|
||||
"invitation": {
|
||||
"target": "초대",
|
||||
"note": "For the email/link itself, 초대장 or 초대 링크 may be used where the sentence needs a concrete object."
|
||||
},
|
||||
"sidebar": {
|
||||
"target": "사이드바"
|
||||
},
|
||||
"unread": {
|
||||
"target": "읽지 않음",
|
||||
"note": "Attributive: 읽지 않은 (e.g. 읽지 않은 메시지)."
|
||||
},
|
||||
"attachment": {
|
||||
"target": "첨부 파일"
|
||||
},
|
||||
"public channel": {
|
||||
"target": "공개 채널"
|
||||
},
|
||||
"private channel": {
|
||||
"target": "비공개 채널",
|
||||
"note": "Never 개인 채널 (seen once in a legacy string)."
|
||||
},
|
||||
"shared channel": {
|
||||
"target": "공유 채널"
|
||||
},
|
||||
"channel header": {
|
||||
"target": "채널 헤더"
|
||||
},
|
||||
"channel purpose": {
|
||||
"target": "채널 목적",
|
||||
"note": "Some legacy strings use 설명; prefer 목적."
|
||||
},
|
||||
"system message": {
|
||||
"target": "시스템 메시지"
|
||||
},
|
||||
"persistent notification": {
|
||||
"target": "영구 알림",
|
||||
"note": "Majority rendering; 지속 알림 appears in a few strings — prefer 영구 알림."
|
||||
},
|
||||
"message priority": {
|
||||
"target": "메시지 우선순위"
|
||||
},
|
||||
"urgent": {
|
||||
"target": "긴급"
|
||||
},
|
||||
"recap": {
|
||||
"target": "리캡",
|
||||
"note": "No existing translation; 리캡 keeps it distinct from summary = 요약. If a descriptive form is needed, 요약 정리 works in prose."
|
||||
},
|
||||
"agent": {
|
||||
"target": "에이전트",
|
||||
"note": "One legacy string mistranslates Agents as 상담원 (customer-service agent) — avoid."
|
||||
},
|
||||
"burn-on-read": {
|
||||
"target": "읽은 후 삭제",
|
||||
"note": "No existing translation; label form (BURN ON READ) can be 읽은 후 삭제됨."
|
||||
},
|
||||
"magic link": {
|
||||
"target": "매직 링크"
|
||||
},
|
||||
"personal access token": {
|
||||
"target": "개인 액세스 토큰"
|
||||
},
|
||||
"announcement banner": {
|
||||
"target": "공지 배너",
|
||||
"note": "Repo also has 알림 배너/시스템 전체 알림; standardize on 공지 배너."
|
||||
},
|
||||
"channel banner": {
|
||||
"target": "채널 배너"
|
||||
},
|
||||
"keyword": {
|
||||
"target": "키워드"
|
||||
},
|
||||
"user group": {
|
||||
"target": "사용자 그룹"
|
||||
},
|
||||
"permalink": {
|
||||
"target": "영구 링크"
|
||||
},
|
||||
"profile": {
|
||||
"target": "프로필",
|
||||
"note": "Legacy menu items use 계정 설정 for Profile; the current convention is 프로필."
|
||||
},
|
||||
"username": {
|
||||
"target": "사용자 이름"
|
||||
},
|
||||
"nickname": {
|
||||
"target": "별명"
|
||||
},
|
||||
"display name": {
|
||||
"target": "표시 이름",
|
||||
"note": "표시명 appears in some short labels; prefer 표시 이름."
|
||||
},
|
||||
"collapsed reply threads": {
|
||||
"target": "접힌 답글 스레드",
|
||||
"note": "No existing translation; keep 스레드 (not 글타래) to match the thread glossary entry."
|
||||
},
|
||||
"auto-translation": {
|
||||
"target": "자동 번역",
|
||||
"note": "AUTO-TRANSLATED label: 자동 번역됨."
|
||||
},
|
||||
"data retention": {
|
||||
"target": "데이터 보존",
|
||||
"note": "Policy: 데이터 보존 정책."
|
||||
},
|
||||
"compliance export": {
|
||||
"target": "컴플라이언스 내보내기",
|
||||
"note": "규정 준수 내보내기 also appears; prefer 컴플라이언스 내보내기 (majority)."
|
||||
},
|
||||
"access control": {
|
||||
"target": "액세스 제어",
|
||||
"note": "Policy: 액세스 제어 정책; attribute-based access control = 속성 기반 액세스 제어."
|
||||
},
|
||||
"attribute": {
|
||||
"target": "속성"
|
||||
},
|
||||
"onboarding": {
|
||||
"target": "온보딩"
|
||||
},
|
||||
"Town Square": {
|
||||
"target": "타운 스퀘어",
|
||||
"note": "Grounded in the only existing rendering; write with a space (타운 스퀘어), not 타운스퀘어."
|
||||
},
|
||||
"Off-Topic": {
|
||||
"target": "잡담",
|
||||
"note": "Established default-channel name in server ko.json. '오프토픽' appears only in admin prose describing the channel."
|
||||
},
|
||||
"read-only": {
|
||||
"target": "읽기 전용"
|
||||
},
|
||||
"server": {
|
||||
"target": "서버"
|
||||
}
|
||||
}
|
||||
450
i18n/glossary/nl.json
Normal file
450
i18n/glossary/nl.json
Normal file
@@ -0,0 +1,450 @@
|
||||
{
|
||||
"Mattermost": {
|
||||
"target": "Mattermost"
|
||||
},
|
||||
"Enterprise Edition": {
|
||||
"target": "Enterprise Edition",
|
||||
"note": "Product name; existing strings occasionally show 'Enterprise editie' but keep the English edition name."
|
||||
},
|
||||
"Team Edition": {
|
||||
"target": "Team Edition"
|
||||
},
|
||||
"Mattermost Cloud": {
|
||||
"target": "Mattermost Cloud"
|
||||
},
|
||||
"Channels": {
|
||||
"target": "Channels",
|
||||
"note": "Product name, stays English; the common noun 'channel' is 'kanaal'."
|
||||
},
|
||||
"Playbooks": {
|
||||
"target": "Playbooks"
|
||||
},
|
||||
"Boards": {
|
||||
"target": "Boards"
|
||||
},
|
||||
"Calls": {
|
||||
"target": "Calls"
|
||||
},
|
||||
"Markdown": {
|
||||
"target": "Markdown"
|
||||
},
|
||||
"OAuth": {
|
||||
"target": "OAuth"
|
||||
},
|
||||
"SAML": {
|
||||
"target": "SAML"
|
||||
},
|
||||
"LDAP": {
|
||||
"target": "LDAP",
|
||||
"note": "Also AD/LDAP; never translate (product/protocol name)."
|
||||
},
|
||||
"SSO": {
|
||||
"target": "SSO",
|
||||
"note": "Render the spelled-out form as 'Single Sign-On (SSO)'; never 'vereenvoudigde authenticatie'."
|
||||
},
|
||||
"MFA": {
|
||||
"target": "MFA"
|
||||
},
|
||||
"OpenID Connect": {
|
||||
"target": "OpenID Connect"
|
||||
},
|
||||
"Entra ID": {
|
||||
"target": "Entra ID"
|
||||
},
|
||||
"GitLab": {
|
||||
"target": "GitLab"
|
||||
},
|
||||
"Elasticsearch": {
|
||||
"target": "Elasticsearch"
|
||||
},
|
||||
"Gossip": {
|
||||
"target": "Gossip",
|
||||
"note": "Protocol name; never 'Praatjes'."
|
||||
},
|
||||
"Actiance XML": {
|
||||
"target": "Actiance XML"
|
||||
},
|
||||
"Global Relay": {
|
||||
"target": "Global Relay"
|
||||
},
|
||||
"System Console": {
|
||||
"target": "systeemconsole",
|
||||
"note": "Existing strings split 28 vs 18 with 'Systeem console'. Capitalize 'Systeemconsole' when used as a menu or UI-area name."
|
||||
},
|
||||
"marketplace": {
|
||||
"target": "marktplaats",
|
||||
"note": "'Plugin Marketplace' = 'Plugin marktplaats'."
|
||||
},
|
||||
"channel": {
|
||||
"target": "kanaal",
|
||||
"note": "Plural: kanalen."
|
||||
},
|
||||
"team": {
|
||||
"target": "team",
|
||||
"note": "Plural: teams."
|
||||
},
|
||||
"post": {
|
||||
"target": "bericht",
|
||||
"note": "'post' is an anglicism. Use 'publiceren' only for system/integration posts, 'versturen' for user messages."
|
||||
},
|
||||
"message": {
|
||||
"target": "bericht",
|
||||
"note": "Plural: berichten."
|
||||
},
|
||||
"thread": {
|
||||
"target": "draadje",
|
||||
"note": "Consistently 'draadje' (89 of 92 occurrences); plural 'draadjes'. Do not use 'discussie' or keep English."
|
||||
},
|
||||
"reply": {
|
||||
"target": "antwoord",
|
||||
"note": "Noun 'antwoord'; verb 'antwoorden'. You 'verzendt' (send) a reply."
|
||||
},
|
||||
"direct message": {
|
||||
"target": "privé-bericht",
|
||||
"note": "Existing usage is split between 'privé-bericht' (majority) and 'direct bericht'/'rechtstreeks bericht'. Derived form: 'privé-berichtkanaal'."
|
||||
},
|
||||
"group message": {
|
||||
"target": "groepsbericht",
|
||||
"note": "Plural: groepsberichten."
|
||||
},
|
||||
"mention": {
|
||||
"target": "vermelding",
|
||||
"note": "Noun 'vermelding' (plural 'vermeldingen'); verb 'vermelden'."
|
||||
},
|
||||
"notification": {
|
||||
"target": "melding",
|
||||
"note": "Put 'melding' last in compounds: e-mailmelding, pushmelding, bureaubladmelding. Avoid 'notificatie' (legacy inconsistency)."
|
||||
},
|
||||
"pin": {
|
||||
"target": "vastmaken",
|
||||
"note": "Majority 'vastgemaakt(e)' (14 vs 5 for 'vastgezet'); 'pinned messages' = 'vastgemaakte berichten', 'unpin' = 'losmaken'."
|
||||
},
|
||||
"bookmark": {
|
||||
"target": "bladwijzer",
|
||||
"note": "Noun; verb phrase 'een bladwijzer toevoegen'. 'Channel bookmark' = 'kanaalbladwijzer'."
|
||||
},
|
||||
"saved messages": {
|
||||
"target": "bewaarde berichten",
|
||||
"note": "Verb 'save' in this feature = 'bewaren' (exception to the general 'Opslaan' preference, matches existing UI)."
|
||||
},
|
||||
"draft": {
|
||||
"target": "concept",
|
||||
"note": "Majority rendering (19 vs 2 for 'ontwerp'); plural 'concepten'."
|
||||
},
|
||||
"scheduled post": {
|
||||
"target": "gepland bericht",
|
||||
"note": "Tab label 'Scheduled' = 'Gepland'; plural 'geplande berichten'."
|
||||
},
|
||||
"emoji": {
|
||||
"target": "emoticon",
|
||||
"note": "Majority usage (63 vs 33); 'emoji' also occurs. Plural 'emoticons'."
|
||||
},
|
||||
"custom emoji": {
|
||||
"target": "aangepaste emoticon"
|
||||
},
|
||||
"reaction": {
|
||||
"target": "reactie",
|
||||
"note": "Plural 'reacties'; verb 'reageren'. Distinct from a reply ('antwoord')."
|
||||
},
|
||||
"status": {
|
||||
"target": "status"
|
||||
},
|
||||
"custom status": {
|
||||
"target": "aangepaste status"
|
||||
},
|
||||
"do not disturb": {
|
||||
"target": "niet storen",
|
||||
"note": "Capitalized 'Niet storen' as a menu item; keep 'DND' abbreviation only in technical contexts."
|
||||
},
|
||||
"away": {
|
||||
"target": "afwezig"
|
||||
},
|
||||
"online": {
|
||||
"target": "online"
|
||||
},
|
||||
"offline": {
|
||||
"target": "offline"
|
||||
},
|
||||
"out of office": {
|
||||
"target": "out of office",
|
||||
"note": "Existing UI keeps the English phrase ('Out of office' in webapp/mobile status menus); keep for consistency. 'Afwezig van kantoor' would be the translated alternative."
|
||||
},
|
||||
"guest": {
|
||||
"target": "gast",
|
||||
"note": "Both 'gast' and 'gastgebruiker' are in use; 'gastgebruiker' appears in admin screens. Use 'gast' in short UI labels and 'gastgebruiker' when disambiguation from a visitor is needed."
|
||||
},
|
||||
"member": {
|
||||
"target": "lid",
|
||||
"note": "Plural 'leden'; 'channel member' = 'kanaallid', 'team member' = 'teamlid'."
|
||||
},
|
||||
"user": {
|
||||
"target": "gebruiker",
|
||||
"note": "Plural 'gebruikers'."
|
||||
},
|
||||
"system admin": {
|
||||
"target": "systeembeheerder",
|
||||
"note": "Plural 'systeembeheerders'."
|
||||
},
|
||||
"team admin": {
|
||||
"target": "teambeheerder"
|
||||
},
|
||||
"channel admin": {
|
||||
"target": "kanaalbeheerder"
|
||||
},
|
||||
"session": {
|
||||
"target": "sessie",
|
||||
"note": "Plural 'sessies'."
|
||||
},
|
||||
"sign in": {
|
||||
"target": "aanmelden",
|
||||
"note": "Use for both 'sign in' and 'log in' (majority; 'inloggen' occurs occasionally). Imperative button: 'Aanmelden'."
|
||||
},
|
||||
"sign out": {
|
||||
"target": "afmelden",
|
||||
"note": "Use for both 'sign out' and 'log out' ('Log Out' = 'Afmelden')."
|
||||
},
|
||||
"join": {
|
||||
"target": "lid worden",
|
||||
"note": "For channels/teams: 'lid worden (van)'. For calls use 'deelnemen (aan)'."
|
||||
},
|
||||
"leave": {
|
||||
"target": "verlaten"
|
||||
},
|
||||
"archive": {
|
||||
"target": "archiveren",
|
||||
"note": "Past participle 'gearchiveerd'."
|
||||
},
|
||||
"unarchive": {
|
||||
"target": "dearchiveren",
|
||||
"note": "Existing UI buttons use 'Dearchiveren'; the system message uses 'haalde het kanaal terug uit het archief' — both acceptable, prefer 'dearchiveren' in labels."
|
||||
},
|
||||
"mute": {
|
||||
"target": "dempen",
|
||||
"note": "For channel notifications; 'unmute' = 'niet langer dempen' (webapp) / 'dempen uitschakelen' (calls)."
|
||||
},
|
||||
"follow": {
|
||||
"target": "volgen",
|
||||
"note": "'Following' state label = 'Volgend'."
|
||||
},
|
||||
"unfollow": {
|
||||
"target": "niet langer volgen"
|
||||
},
|
||||
"favorite": {
|
||||
"target": "favoriet",
|
||||
"note": "Noun/adjective 'favoriet' (plural 'Favorieten' for the sidebar category); verb 'markeren als favoriet', 'unfavorite' = 'verwijderen uit favorieten'."
|
||||
},
|
||||
"search": {
|
||||
"target": "zoeken",
|
||||
"note": "Verb/label 'zoeken'; noun (a search) 'zoekopdracht'."
|
||||
},
|
||||
"integration": {
|
||||
"target": "integratie",
|
||||
"note": "Plural 'integraties'."
|
||||
},
|
||||
"slash command": {
|
||||
"target": "slash-opdracht",
|
||||
"note": "Existing usage is inconsistent: slashopdracht, slash-opdracht (majority, 15 vs 9), slash-commando."
|
||||
},
|
||||
"webhook": {
|
||||
"target": "webhook",
|
||||
"note": "Kept in English; plural 'webhooks'."
|
||||
},
|
||||
"incoming webhook": {
|
||||
"target": "inkomende webhook"
|
||||
},
|
||||
"outgoing webhook": {
|
||||
"target": "uitgaande webhook"
|
||||
},
|
||||
"trigger word": {
|
||||
"target": "triggerwoord",
|
||||
"note": "Existing usage is inconsistent: 'activeer-woord', 'trigger woord'."
|
||||
},
|
||||
"plugin": {
|
||||
"target": "plugin",
|
||||
"note": "Kept in English (majority usage); plural 'plugins'."
|
||||
},
|
||||
"bot": {
|
||||
"target": "bot",
|
||||
"note": "Keep 'bot'/'BOT'; 'bot account' = 'botaccount'."
|
||||
},
|
||||
"role": {
|
||||
"target": "rol",
|
||||
"note": "Plural 'rollen'."
|
||||
},
|
||||
"permission": {
|
||||
"target": "recht",
|
||||
"note": "Plural 'rechten'. Avoid 'machtigingen'/'permissies'/'toestemmingen', which appear inconsistently in older strings."
|
||||
},
|
||||
"scheme": {
|
||||
"target": "schema",
|
||||
"note": "Permission scheme = '(toestemmings)schema'; existing strings mostly use plain 'schema'. For URL scheme use 'URL-protocol'."
|
||||
},
|
||||
"license": {
|
||||
"target": "licentie"
|
||||
},
|
||||
"seat": {
|
||||
"target": "gebruiker",
|
||||
"note": "Billing strings translate 'seats' as 'gebruikers' (e.g. '{num} seats' = '{num} gebruikers'); use 'gebruikerslicentie' only if disambiguation is required."
|
||||
},
|
||||
"trial": {
|
||||
"target": "proefperiode",
|
||||
"note": "'Free trial' = 'gratis proefperiode'. Avoid 'probeerversie'/'proefversie' which appear sporadically."
|
||||
},
|
||||
"workspace": {
|
||||
"target": "werkruimte",
|
||||
"note": "Majority rendering (78 vs 8 English); plural 'werkruimten'."
|
||||
},
|
||||
"subscription": {
|
||||
"target": "abonnement"
|
||||
},
|
||||
"deactivate": {
|
||||
"target": "deactiveren",
|
||||
"note": "Past participle 'gedeactiveerd'."
|
||||
},
|
||||
"invite": {
|
||||
"target": "uitnodigen",
|
||||
"note": "Verb 'uitnodigen'; noun 'uitnodiging'."
|
||||
},
|
||||
"invitation": {
|
||||
"target": "uitnodiging",
|
||||
"note": "Plural 'uitnodigingen'; e-mail invitations = 'e-mailuitnodigingen' (note the 'e-mail' spelling)."
|
||||
},
|
||||
"sidebar": {
|
||||
"target": "zijbalk"
|
||||
},
|
||||
"unread": {
|
||||
"target": "ongelezen"
|
||||
},
|
||||
"attachment": {
|
||||
"target": "bijlage",
|
||||
"note": "Plural 'bijlagen'; verb 'attach' for files = 'toevoegen'/'bijvoegen', 'koppelen' otherwise."
|
||||
},
|
||||
"public channel": {
|
||||
"target": "publiek kanaal",
|
||||
"note": "Usage is split between 'publiek kanaal' (majority, 12) and 'openbaar kanaal' (9); standardize on 'publiek kanaal'."
|
||||
},
|
||||
"private channel": {
|
||||
"target": "privé-kanaal",
|
||||
"note": "Majority spelling (37 vs 15 for 'privékanaal'); keep the hyphenated form for consistency."
|
||||
},
|
||||
"shared channel": {
|
||||
"target": "gedeeld kanaal",
|
||||
"note": "Plural 'gedeelde kanalen'."
|
||||
},
|
||||
"channel header": {
|
||||
"target": "kanaalkoptekst",
|
||||
"note": "Existing usage is inconsistent (kanaalkoptekst, hoofding, koptekst, kop); server strings mostly use 'kanaalkoptekst' — standardize on that; avoid the Flemish 'hoofding'."
|
||||
},
|
||||
"channel purpose": {
|
||||
"target": "kanaaldoel",
|
||||
"note": "Existing strings consistently use 'doel'/'kanaaldoel'; 'beschrijving' is an alternative in this context."
|
||||
},
|
||||
"system message": {
|
||||
"target": "systeembericht"
|
||||
},
|
||||
"persistent notification": {
|
||||
"target": "blijvende melding",
|
||||
"note": "Plural 'blijvende meldingen'."
|
||||
},
|
||||
"message priority": {
|
||||
"target": "berichtprioriteit",
|
||||
"note": "Also rendered 'prioriteit van het bericht' in picker headers; use 'berichtprioriteit' as compound term."
|
||||
},
|
||||
"urgent": {
|
||||
"target": "dringend",
|
||||
"note": "'urgente meldingen' also occurs in some strings."
|
||||
},
|
||||
"recap": {
|
||||
"target": "samenvatting",
|
||||
"note": "Existing recap feature strings use 'samenvatting'; disambiguate as 'AI-samenvatting' only if plain 'samenvatting' is ambiguous in context."
|
||||
},
|
||||
"agent": {
|
||||
"target": "agent",
|
||||
"note": "AI feature; 'AI agent' = 'AI-agent', plural 'AI-agenten'. Keep product name 'Agents' in English where used as a product."
|
||||
},
|
||||
"burn-on-read": {
|
||||
"target": "verbrand-na-lezen",
|
||||
"note": "Webapp UI uses 'verbrand-na-lezen berichten'; some server strings keep English 'burn-on-read' — prefer the Dutch form in user-facing text."
|
||||
},
|
||||
"magic link": {
|
||||
"target": "magische link",
|
||||
"note": "Majority rendering; 'Magic Link' kept in English in a few strings — prefer 'magische link'."
|
||||
},
|
||||
"personal access token": {
|
||||
"target": "persoonlijk toegangstoken",
|
||||
"note": "'Token' stays untranslated; avoid 'toegangsbewijs', which is not used in product strings."
|
||||
},
|
||||
"announcement banner": {
|
||||
"target": "aankondigingsbanner"
|
||||
},
|
||||
"channel banner": {
|
||||
"target": "kanaalbanner"
|
||||
},
|
||||
"keyword": {
|
||||
"target": "trefwoord",
|
||||
"note": "Plural 'trefwoorden'."
|
||||
},
|
||||
"user group": {
|
||||
"target": "gebruikersgroep",
|
||||
"note": "Plural 'gebruikersgroepen'; plain 'group' = 'groep'."
|
||||
},
|
||||
"permalink": {
|
||||
"target": "permalink"
|
||||
},
|
||||
"profile": {
|
||||
"target": "profiel",
|
||||
"note": "'Profile picture' = 'profielafbeelding' or 'profielfoto'."
|
||||
},
|
||||
"username": {
|
||||
"target": "gebruikersnaam"
|
||||
},
|
||||
"nickname": {
|
||||
"target": "roepnaam",
|
||||
"note": "Existing UI uses 'roepnaam'; keep 'Nickname' in AD/LDAP-attribute admin contexts where the technical attribute name is meant."
|
||||
},
|
||||
"display name": {
|
||||
"target": "weergavenaam"
|
||||
},
|
||||
"collapsed reply threads": {
|
||||
"target": "ingeklapte draadjes",
|
||||
"note": "Majority mobile rendering; 'ingeklapte antwoorddraadjes' also occurs — prefer the shorter form."
|
||||
},
|
||||
"auto-translation": {
|
||||
"target": "automatische vertaling",
|
||||
"note": "Consistent existing rendering; 'AUTO-TRANSLATED' label = 'AUTOMATISCH VERTAALD'."
|
||||
},
|
||||
"data retention": {
|
||||
"target": "gegevensbewaring",
|
||||
"note": "'Data retention policy' = 'gegevensbewaarbeleid' (majority); avoid 'dataretentie' which appears sporadically."
|
||||
},
|
||||
"compliance export": {
|
||||
"target": "nalevingsexport",
|
||||
"note": "'compliance export' is also kept in English in some strings. 'Beta' contexts render as 'Experimenteel'."
|
||||
},
|
||||
"access control": {
|
||||
"target": "toegangscontrole",
|
||||
"note": "'Attribute-based access control (ABAC)' = 'attribuutgebaseerde toegangscontrole (ABAC)'."
|
||||
},
|
||||
"attribute": {
|
||||
"target": "attribuut",
|
||||
"note": "Plural 'attributen'; 'kenmerk' also occurs in ABAC strings — prefer 'attribuut' for the profile/access-control field."
|
||||
},
|
||||
"onboarding": {
|
||||
"target": "verwelkoming"
|
||||
},
|
||||
"Town Square": {
|
||||
"target": "Dorpsplein"
|
||||
},
|
||||
"Off-Topic": {
|
||||
"target": "Off-Topic",
|
||||
"note": "Existing server translation keeps the English channel name."
|
||||
},
|
||||
"read-only": {
|
||||
"target": "alleen-lezen",
|
||||
"note": "Predicative use: 'alleen lezen' ('Kanaal is alleen lezen')."
|
||||
},
|
||||
"server": {
|
||||
"target": "server",
|
||||
"note": "Plural 'servers'."
|
||||
}
|
||||
}
|
||||
459
i18n/glossary/pl.json
Normal file
459
i18n/glossary/pl.json
Normal file
@@ -0,0 +1,459 @@
|
||||
{
|
||||
"Mattermost": {
|
||||
"target": "Mattermost",
|
||||
"note": "Brand name; never translate or decline. Keep uninflected in all cases (do Mattermost, w Mattermost)."
|
||||
},
|
||||
"Enterprise Edition": {
|
||||
"target": "Enterprise Edition",
|
||||
"note": "Product edition name; keep in English. Existing pl.json once mistranslates it as 'Edytuj Zespół' (Team Edition) — do not follow that."
|
||||
},
|
||||
"Team Edition": {
|
||||
"target": "Team Edition"
|
||||
},
|
||||
"Mattermost Cloud": {
|
||||
"target": "Mattermost Cloud"
|
||||
},
|
||||
"Channels": {
|
||||
"target": "Channels",
|
||||
"note": "Product name; keep in English. The common noun 'channel' is translated as 'kanał'."
|
||||
},
|
||||
"Playbooks": {
|
||||
"target": "Playbooks"
|
||||
},
|
||||
"Boards": {
|
||||
"target": "Boards"
|
||||
},
|
||||
"Calls": {
|
||||
"target": "Calls",
|
||||
"note": "Product name; keep in English. The common noun 'call' is translated as 'połączenie'."
|
||||
},
|
||||
"Markdown": {
|
||||
"target": "Markdown"
|
||||
},
|
||||
"OAuth": {
|
||||
"target": "OAuth"
|
||||
},
|
||||
"SAML": {
|
||||
"target": "SAML"
|
||||
},
|
||||
"LDAP": {
|
||||
"target": "LDAP",
|
||||
"note": "Keep 'AD/LDAP' compound as-is too."
|
||||
},
|
||||
"SSO": {
|
||||
"target": "SSO"
|
||||
},
|
||||
"MFA": {
|
||||
"target": "MFA",
|
||||
"note": "Spelled-out form is 'uwierzytelnianie wieloskładnikowe' in existing translations."
|
||||
},
|
||||
"OpenID Connect": {
|
||||
"target": "OpenID Connect"
|
||||
},
|
||||
"Entra ID": {
|
||||
"target": "Entra ID"
|
||||
},
|
||||
"GitLab": {
|
||||
"target": "GitLab"
|
||||
},
|
||||
"Elasticsearch": {
|
||||
"target": "Elasticsearch"
|
||||
},
|
||||
"Gossip": {
|
||||
"target": "Gossip",
|
||||
"note": "Protocol name; never translate literally (not 'plotka')."
|
||||
},
|
||||
"Actiance XML": {
|
||||
"target": "Actiance XML"
|
||||
},
|
||||
"Global Relay": {
|
||||
"target": "Global Relay"
|
||||
},
|
||||
"System Console": {
|
||||
"target": "Konsola systemowa",
|
||||
"note": "Established rendering across webapp/server/mobile. Locative: 'w Konsoli systemowej'. Existing usage varies in capitalization ('konsola systemowa' mid-sentence is fine)."
|
||||
},
|
||||
"marketplace": {
|
||||
"target": "sklep z wtyczkami",
|
||||
"note": "Existing usage is inconsistent: 'sklep z wtyczkami' (webapp admin), plain 'Sklep' (server /marketplace command), and untranslated 'Marketplace'. Prefer 'sklep z wtyczkami'; when referring to the proper name in admin settings, 'Marketplace' may be kept."
|
||||
},
|
||||
"channel": {
|
||||
"target": "kanał",
|
||||
"note": "Masculine. Plural 'kanały'; locative 'w kanale/na kanale' (both occur; 'w kanale' is slightly more common and preferred)."
|
||||
},
|
||||
"team": {
|
||||
"target": "zespół",
|
||||
"note": "Masculine. Plural 'zespoły'; genitive 'zespołu'."
|
||||
},
|
||||
"post": {
|
||||
"target": "post",
|
||||
"note": "Majority rendering is the loanword 'post' (masculine; plural 'posty'). 'wpis' appears sporadically — avoid it for consistency."
|
||||
},
|
||||
"message": {
|
||||
"target": "wiadomość",
|
||||
"note": "Feminine. Plural 'wiadomości'."
|
||||
},
|
||||
"thread": {
|
||||
"target": "wątek",
|
||||
"note": "Masculine. Plural 'wątki'; locative 'w wątku'."
|
||||
},
|
||||
"reply": {
|
||||
"target": "odpowiedź",
|
||||
"note": "Noun: 'odpowiedź' (feminine, plural 'odpowiedzi'). Verb: 'odpowiedzieć' / imperative button 'Odpowiedz'."
|
||||
},
|
||||
"direct message": {
|
||||
"target": "wiadomość bezpośrednia",
|
||||
"note": "Established rendering; plural 'wiadomości bezpośrednie'. Do not translate the DM abbreviation."
|
||||
},
|
||||
"group message": {
|
||||
"target": "wiadomość grupowa",
|
||||
"note": "Plural 'wiadomości grupowe'."
|
||||
},
|
||||
"mention": {
|
||||
"target": "wzmianka",
|
||||
"note": "Noun: 'wzmianka' (feminine). Verb: 'wspomnieć (o kimś)'. '@mention' → 'wzmianka @'."
|
||||
},
|
||||
"notification": {
|
||||
"target": "powiadomienie",
|
||||
"note": "Neuter. Plural 'powiadomienia'."
|
||||
},
|
||||
"pin": {
|
||||
"target": "przypiąć",
|
||||
"note": "Imperative button 'Przypnij'. 'Pinned messages' → 'Przypięte wiadomości'; 'unpin' → 'odepnij'. One legacy webapp string uses 'pinezki' — avoid."
|
||||
},
|
||||
"bookmark": {
|
||||
"target": "zakładka",
|
||||
"note": "Noun: 'zakładka' (feminine). Verb: 'dodaj zakładkę'. Channel bookmark → 'zakładka kanału'."
|
||||
},
|
||||
"saved messages": {
|
||||
"target": "zapisane wiadomości",
|
||||
"note": "'save' → 'zapisz'; 'unsave' → 'usuń z zapisanych'."
|
||||
},
|
||||
"draft": {
|
||||
"target": "wersja robocza",
|
||||
"note": "Existing usage is split between 'wersja robocza' and 'szkic'; 'wersja robocza' is the majority in user-facing strings and matches Polish UI convention. Plural 'wersje robocze'."
|
||||
},
|
||||
"scheduled post": {
|
||||
"target": "zaplanowany post",
|
||||
"note": "'scheduled message' → 'zaplanowana wiadomość'. Section label 'Scheduled' → 'Zaplanowane'."
|
||||
},
|
||||
"emoji": {
|
||||
"target": "emoji",
|
||||
"note": "Indeclinable neuter loanword; same form in singular and plural ('to emoji', 'te emoji')."
|
||||
},
|
||||
"custom emoji": {
|
||||
"target": "niestandardowe emoji"
|
||||
},
|
||||
"reaction": {
|
||||
"target": "reakcja",
|
||||
"note": "Verb 'react' → 'zareagować'; 'Add reaction' → 'Dodaj reakcję'."
|
||||
},
|
||||
"status": {
|
||||
"target": "status",
|
||||
"note": "Masculine. Use 'status' (not 'stan') for user availability."
|
||||
},
|
||||
"custom status": {
|
||||
"target": "status niestandardowy",
|
||||
"note": "Word order varies in existing strings ('niestandardowy status' also common); both acceptable, prefer 'status niestandardowy' for labels."
|
||||
},
|
||||
"do not disturb": {
|
||||
"target": "Nie przeszkadzać",
|
||||
"note": "Established status name. Keep 'tryb „Nie przeszkadzać”' when used as a noun phrase. Do not translate the DND abbreviation."
|
||||
},
|
||||
"away": {
|
||||
"target": "Zaraz wracam",
|
||||
"note": "Established status name (lit. 'be right back'), consistent across webapp and mobile. Avoid 'nieobecny', which appears in a few legacy server strings."
|
||||
},
|
||||
"online": {
|
||||
"target": "Online",
|
||||
"note": "Majority keeps the loanword 'online' (indeclinable). Mobile occasionally uses 'Dostępny' — prefer 'Online' for the status name."
|
||||
},
|
||||
"offline": {
|
||||
"target": "Offline",
|
||||
"note": "Majority keeps 'offline' (indeclinable). 'Niedostępny' appears in some server command strings."
|
||||
},
|
||||
"out of office": {
|
||||
"target": "Poza biurem"
|
||||
},
|
||||
"guest": {
|
||||
"target": "gość",
|
||||
"note": "Masculine. Plural 'goście'; genitive plural 'gości'. 'Guest access' → 'dostęp dla gości'."
|
||||
},
|
||||
"member": {
|
||||
"target": "członek",
|
||||
"note": "Masculine personal. Plural 'członkowie'; genitive 'członka'. 'channel member' → 'członek kanału'."
|
||||
},
|
||||
"user": {
|
||||
"target": "użytkownik",
|
||||
"note": "Plural 'użytkownicy'."
|
||||
},
|
||||
"system admin": {
|
||||
"target": "administrator systemu",
|
||||
"note": "Plural 'administratorzy systemu'. Use consistently for 'System Administrator' too."
|
||||
},
|
||||
"team admin": {
|
||||
"target": "administrator zespołu"
|
||||
},
|
||||
"channel admin": {
|
||||
"target": "administrator kanału"
|
||||
},
|
||||
"session": {
|
||||
"target": "sesja",
|
||||
"note": "Feminine. Plural 'sesje'. 'Session expired' → 'Sesja wygasła'."
|
||||
},
|
||||
"sign in": {
|
||||
"target": "zalogować się",
|
||||
"note": "Button 'Zaloguj się'. Translate 'log in' and 'sign in' identically."
|
||||
},
|
||||
"sign out": {
|
||||
"target": "wylogować się",
|
||||
"note": "Button 'Wyloguj się'. Translate 'log out' and 'sign out' identically."
|
||||
},
|
||||
"join": {
|
||||
"target": "dołączyć",
|
||||
"note": "Button 'Dołącz'. 'joined the channel' → 'dołączył(a) do kanału'."
|
||||
},
|
||||
"leave": {
|
||||
"target": "opuścić",
|
||||
"note": "Button 'Opuść'. 'left the channel' → 'opuścił(a) kanał'."
|
||||
},
|
||||
"archive": {
|
||||
"target": "zarchiwizować",
|
||||
"note": "Button 'Zarchiwizuj'; 'archived' → 'zarchiwizowany'."
|
||||
},
|
||||
"unarchive": {
|
||||
"target": "cofnąć archiwizację",
|
||||
"note": "Existing renderings are inconsistent ('Odarchiwizuj', 'Zdearchiwizuj', 'Cofnij archiwizację'); none has a clear majority. Prefer the standard 'cofnij archiwizację' (button 'Cofnij archiwizację') and avoid the non-standard coinages."
|
||||
},
|
||||
"mute": {
|
||||
"target": "wyciszyć",
|
||||
"note": "Button 'Wycisz'; 'muted' → 'wyciszony'; 'unmute' → 'wyłącz wyciszenie'. Same verb is used for Calls microphone muting."
|
||||
},
|
||||
"follow": {
|
||||
"target": "obserwować",
|
||||
"note": "Button 'Obserwuj'. Majority rendering; 'śledzić' appears in some thread-related strings — prefer 'obserwować' for consistency with webapp and Playbooks."
|
||||
},
|
||||
"unfollow": {
|
||||
"target": "przestać obserwować",
|
||||
"note": "Button 'Przestań obserwować' (mobile/playbooks) or 'Nie obserwuj' (webapp menu items)."
|
||||
},
|
||||
"favorite": {
|
||||
"target": "ulubiony",
|
||||
"note": "Adjective/noun 'ulubiony'; sidebar category 'Ulubione'; verb → 'dodaj do ulubionych', 'unfavorite' → 'usuń z ulubionych'."
|
||||
},
|
||||
"search": {
|
||||
"target": "wyszukiwanie",
|
||||
"note": "Noun 'wyszukiwanie'; verb/button 'Szukaj' or 'wyszukaj'."
|
||||
},
|
||||
"integration": {
|
||||
"target": "integracja",
|
||||
"note": "Feminine. Plural 'integracje'."
|
||||
},
|
||||
"slash command": {
|
||||
"target": "polecenie po ukośniku",
|
||||
"note": "Majority rendering (mobile, playbooks, newer webapp). Older strings use 'komenda po ukośniku' — prefer 'polecenie'."
|
||||
},
|
||||
"webhook": {
|
||||
"target": "webhook",
|
||||
"note": "Kept in English by convention; declined as masculine ('webhooka', 'webhooki', 'webhookami')."
|
||||
},
|
||||
"incoming webhook": {
|
||||
"target": "webhook przychodzący",
|
||||
"note": "Word order varies in existing strings ('przychodzący webhook' also common); prefer noun-first 'webhook przychodzący' for term consistency with 'webhook wychodzący'."
|
||||
},
|
||||
"outgoing webhook": {
|
||||
"target": "webhook wychodzący"
|
||||
},
|
||||
"trigger word": {
|
||||
"target": "słowo wyzwalające",
|
||||
"note": "Existing usage mixes 'słowo wyzwalające' and 'słowo wyzwalacza'; prefer 'słowo wyzwalające'."
|
||||
},
|
||||
"plugin": {
|
||||
"target": "wtyczka",
|
||||
"note": "Feminine. Plural 'wtyczki'. Avoid the loanword 'plugin' seen in a few legacy strings."
|
||||
},
|
||||
"bot": {
|
||||
"target": "bot",
|
||||
"note": "Masculine. Plural 'boty'; 'bot account' → 'konto bota'."
|
||||
},
|
||||
"role": {
|
||||
"target": "rola",
|
||||
"note": "Feminine. Plural 'role'."
|
||||
},
|
||||
"permission": {
|
||||
"target": "uprawnienie",
|
||||
"note": "Neuter. Plural 'uprawnienia'. Majority rendering; avoid 'pozwolenie' seen sporadically."
|
||||
},
|
||||
"scheme": {
|
||||
"target": "schemat",
|
||||
"note": "'permission scheme' → 'schemat uprawnień'."
|
||||
},
|
||||
"license": {
|
||||
"target": "licencja"
|
||||
},
|
||||
"seat": {
|
||||
"target": "miejsce",
|
||||
"note": "Licensed seat → 'miejsce' (plural 'miejsca', genitive plural 'miejsc'). 'stanowisko' appears once — avoid."
|
||||
},
|
||||
"trial": {
|
||||
"target": "okres próbny",
|
||||
"note": "For the time period use 'okres próbny'; for a trial license use 'licencja próbna'. Avoid 'wersja testowa' seen in some strings."
|
||||
},
|
||||
"workspace": {
|
||||
"target": "obszar roboczy",
|
||||
"note": "Majority rendering; 'przestrzeń robocza' also occurs — prefer 'obszar roboczy'. Locative 'w obszarze roboczym'."
|
||||
},
|
||||
"subscription": {
|
||||
"target": "subskrypcja",
|
||||
"note": "Majority rendering; 'abonament' appears once in billing — prefer 'subskrypcja'."
|
||||
},
|
||||
"deactivate": {
|
||||
"target": "dezaktywować",
|
||||
"note": "Button 'Dezaktywuj'; 'deactivated' → 'dezaktywowany'."
|
||||
},
|
||||
"invite": {
|
||||
"target": "zaprosić",
|
||||
"note": "Verb 'zaprosić' (button 'Zaproś'); noun uses 'zaproszenie'."
|
||||
},
|
||||
"invitation": {
|
||||
"target": "zaproszenie",
|
||||
"note": "Neuter. Plural 'zaproszenia'."
|
||||
},
|
||||
"sidebar": {
|
||||
"target": "pasek boczny",
|
||||
"note": "Locative 'w pasku bocznym' / 'na pasku bocznym'."
|
||||
},
|
||||
"unread": {
|
||||
"target": "nieprzeczytane",
|
||||
"note": "Adjective; agrees in gender/number ('nieprzeczytana wiadomość', 'nieprzeczytane kanały'). Category label 'Unreads' → 'Nieprzeczytane'."
|
||||
},
|
||||
"attachment": {
|
||||
"target": "załącznik",
|
||||
"note": "Masculine. Plural 'załączniki'."
|
||||
},
|
||||
"public channel": {
|
||||
"target": "kanał publiczny"
|
||||
},
|
||||
"private channel": {
|
||||
"target": "kanał prywatny"
|
||||
},
|
||||
"shared channel": {
|
||||
"target": "kanał udostępniony",
|
||||
"note": "Majority rendering; 'kanał współdzielony' appears in some server strings — prefer 'udostępniony'."
|
||||
},
|
||||
"channel header": {
|
||||
"target": "nagłówek kanału"
|
||||
},
|
||||
"channel purpose": {
|
||||
"target": "cel kanału",
|
||||
"note": "Standalone label 'Purpose' → 'Cel'."
|
||||
},
|
||||
"system message": {
|
||||
"target": "wiadomość systemowa"
|
||||
},
|
||||
"persistent notification": {
|
||||
"target": "trwałe powiadomienie",
|
||||
"note": "Majority rendering; 'powiadomienie stałe' also occurs — prefer 'trwałe powiadomienie'."
|
||||
},
|
||||
"message priority": {
|
||||
"target": "priorytet wiadomości",
|
||||
"note": "Priority levels: Standard → 'Standardowy', Important → 'Ważne', Urgent → 'Pilne'."
|
||||
},
|
||||
"urgent": {
|
||||
"target": "pilne",
|
||||
"note": "Label 'PILNE' when uppercased. Agrees with 'wiadomość': 'pilna wiadomość', 'pilna wzmianka'."
|
||||
},
|
||||
"recap": {
|
||||
"target": "podsumowanie",
|
||||
"note": "Established rendering in webapp/server AI strings. Plural 'podsumowania'."
|
||||
},
|
||||
"agent": {
|
||||
"target": "agent",
|
||||
"note": "AI assistant. Masculine personal: plural 'agenci' (nominative), 'agentów' (genitive/accusative). 'AI agents' → 'agenci AI'."
|
||||
},
|
||||
"burn-on-read": {
|
||||
"target": "burn-on-read",
|
||||
"note": "Existing translations mostly keep the English term ('wiadomość burn-on-read', 'post burn-on-read'); occasional literal renderings ('do zniszczenia przy odczycie') are inconsistent. Keep English and treat as indeclinable attribute."
|
||||
},
|
||||
"magic link": {
|
||||
"target": "magiczny link",
|
||||
"note": "Majority rendering; a few strings keep English 'magic link' — prefer 'magiczny link'. Genitive 'magicznego linku'."
|
||||
},
|
||||
"personal access token": {
|
||||
"target": "osobisty token dostępu",
|
||||
"note": "Plural 'osobiste tokeny dostępu'."
|
||||
},
|
||||
"announcement banner": {
|
||||
"target": "baner ogłoszeń",
|
||||
"note": "Existing renderings vary ('baner ogłoszenia', 'baner ogłoszeniowy'); prefer 'baner ogłoszeń'."
|
||||
},
|
||||
"channel banner": {
|
||||
"target": "baner kanału"
|
||||
},
|
||||
"keyword": {
|
||||
"target": "słowo kluczowe",
|
||||
"note": "Plural 'słowa kluczowe'."
|
||||
},
|
||||
"user group": {
|
||||
"target": "grupa użytkowników",
|
||||
"note": "Plain 'group' in this sense is also 'grupa'."
|
||||
},
|
||||
"permalink": {
|
||||
"target": "permalink",
|
||||
"note": "Kept as loanword in existing translations; declined as masculine ('permalinku'). A more descriptive alternative would be 'link bezpośredni', but stay with 'permalink' for consistency."
|
||||
},
|
||||
"profile": {
|
||||
"target": "profil",
|
||||
"note": "'Profile picture' → 'zdjęcie profilowe'."
|
||||
},
|
||||
"username": {
|
||||
"target": "nazwa użytkownika"
|
||||
},
|
||||
"nickname": {
|
||||
"target": "pseudonim"
|
||||
},
|
||||
"display name": {
|
||||
"target": "nazwa wyświetlana"
|
||||
},
|
||||
"collapsed reply threads": {
|
||||
"target": "zawijanie odpowiedzi w wątkach",
|
||||
"note": "Only existing rendering (mobile settings) is 'Zawijanie Odpowiedzi w Wątkach'. A more literal alternative is 'zwinięte wątki odpowiedzi', but keep the established form for consistency."
|
||||
},
|
||||
"auto-translation": {
|
||||
"target": "autotłumaczenie",
|
||||
"note": "'auto-translated' → 'przetłumaczone automatycznie'; label 'AUTO-TRANSLATED' → 'AUTOTŁUMACZENIE'."
|
||||
},
|
||||
"data retention": {
|
||||
"target": "przechowywanie danych",
|
||||
"note": "Majority rendering in webapp; 'retencja danych' appears in server enterprise strings. Prefer 'przechowywanie danych'; policy → 'zasady przechowywania danych'."
|
||||
},
|
||||
"compliance export": {
|
||||
"target": "eksport zgodności"
|
||||
},
|
||||
"access control": {
|
||||
"target": "kontrola dostępu",
|
||||
"note": "'attribute-based access control' → 'kontrola dostępu oparta na atrybutach'; policy → 'polityka kontroli dostępu'."
|
||||
},
|
||||
"attribute": {
|
||||
"target": "atrybut",
|
||||
"note": "Masculine. Plural 'atrybuty'. 'custom profile attribute' → 'niestandardowy atrybut profilu' / 'atrybut użytkownika'."
|
||||
},
|
||||
"onboarding": {
|
||||
"target": "onboarding",
|
||||
"note": "Existing translations mostly keep the loanword 'onboarding'; 'proces wprowadzania' appears descriptively. Keep 'onboarding' (masculine, declinable: 'onboardingu')."
|
||||
},
|
||||
"Town Square": {
|
||||
"target": "Rynek"
|
||||
},
|
||||
"Off-Topic": {
|
||||
"target": "Pogawędki"
|
||||
},
|
||||
"read-only": {
|
||||
"target": "tylko do odczytu",
|
||||
"note": "Avoid hyphenated 'tylko-do-odczytu' seen in a few legacy strings; standard Polish is unhyphenated."
|
||||
},
|
||||
"server": {
|
||||
"target": "serwer",
|
||||
"note": "Masculine. Locative 'na serwerze'; genitive 'serwera'."
|
||||
}
|
||||
}
|
||||
428
i18n/glossary/pt-BR.json
Normal file
428
i18n/glossary/pt-BR.json
Normal file
@@ -0,0 +1,428 @@
|
||||
{
|
||||
"Mattermost": {
|
||||
"target": "Mattermost"
|
||||
},
|
||||
"Enterprise Edition": {
|
||||
"target": "Enterprise Edition"
|
||||
},
|
||||
"Team Edition": {
|
||||
"target": "Team Edition"
|
||||
},
|
||||
"Mattermost Cloud": {
|
||||
"target": "Mattermost Cloud"
|
||||
},
|
||||
"Channels": {
|
||||
"target": "Channels",
|
||||
"note": "Product name; stays in English. The common noun 'channel' is translated as 'canal'."
|
||||
},
|
||||
"Playbooks": {
|
||||
"target": "Playbooks"
|
||||
},
|
||||
"Boards": {
|
||||
"target": "Boards"
|
||||
},
|
||||
"Calls": {
|
||||
"target": "Calls",
|
||||
"note": "Product name; stays in English. The common noun 'call' is translated as 'chamada'."
|
||||
},
|
||||
"Markdown": {
|
||||
"target": "Markdown"
|
||||
},
|
||||
"OAuth": {
|
||||
"target": "OAuth"
|
||||
},
|
||||
"SAML": {
|
||||
"target": "SAML"
|
||||
},
|
||||
"LDAP": {
|
||||
"target": "LDAP"
|
||||
},
|
||||
"SSO": {
|
||||
"target": "SSO"
|
||||
},
|
||||
"MFA": {
|
||||
"target": "MFA"
|
||||
},
|
||||
"OpenID Connect": {
|
||||
"target": "OpenID Connect"
|
||||
},
|
||||
"Entra ID": {
|
||||
"target": "Entra ID"
|
||||
},
|
||||
"GitLab": {
|
||||
"target": "GitLab"
|
||||
},
|
||||
"Elasticsearch": {
|
||||
"target": "Elasticsearch"
|
||||
},
|
||||
"Gossip": {
|
||||
"target": "Gossip"
|
||||
},
|
||||
"Actiance XML": {
|
||||
"target": "Actiance XML"
|
||||
},
|
||||
"Global Relay": {
|
||||
"target": "Global Relay"
|
||||
},
|
||||
"System Console": {
|
||||
"target": "Console do Sistema",
|
||||
"note": "Established rendering across webapp and server; capitalize both words when used as the UI area name."
|
||||
},
|
||||
"marketplace": {
|
||||
"target": "Marketplace",
|
||||
"note": "Kept in English throughout existing translations (e.g. 'Marketplace de aplicativos', 'URL do Marketplace'); masculine noun ('o Marketplace')."
|
||||
},
|
||||
"channel": {
|
||||
"target": "canal",
|
||||
"note": "Masculine; plural 'canais'."
|
||||
},
|
||||
"team": {
|
||||
"target": "equipe",
|
||||
"note": "Feminine. Consistently 'equipe' in existing translations; avoid 'time' (appears rarely, e.g. 'Time Padrão' in one server string)."
|
||||
},
|
||||
"post": {
|
||||
"target": "publicação",
|
||||
"note": "Majority rendering in newer strings. Legacy strings mix 'postagem' and untranslated 'post'; prefer 'publicação' (noun) / 'publicar' (verb)."
|
||||
},
|
||||
"message": {
|
||||
"target": "mensagem"
|
||||
},
|
||||
"thread": {
|
||||
"target": "tópico",
|
||||
"note": "Clear majority across webapp, mobile, server, and Calls. A few webapp strings use 'fio' ('Seguir o fio'); avoid it."
|
||||
},
|
||||
"reply": {
|
||||
"target": "responder",
|
||||
"note": "Verb 'responder'; noun 'resposta' (e.g. 'Última resposta')."
|
||||
},
|
||||
"direct message": {
|
||||
"target": "mensagem direta",
|
||||
"note": "Capitalized 'Mensagem Direta' when used as a feature name. Do not keep the 'DM' abbreviation; spell out."
|
||||
},
|
||||
"group message": {
|
||||
"target": "mensagem de grupo"
|
||||
},
|
||||
"mention": {
|
||||
"target": "menção",
|
||||
"note": "Noun 'menção'; verb 'mencionar'."
|
||||
},
|
||||
"notification": {
|
||||
"target": "notificação"
|
||||
},
|
||||
"pin": {
|
||||
"target": "fixar",
|
||||
"note": "'Fixar no Canal', 'fixado', 'mensagens fixadas'. Unpin = 'desafixar'. A few server strings use 'pinadas'/'Pinar'; avoid."
|
||||
},
|
||||
"bookmark": {
|
||||
"target": "marcador",
|
||||
"note": "Noun 'marcador'; verb 'adicionar um marcador'. Established in mobile and server strings."
|
||||
},
|
||||
"saved messages": {
|
||||
"target": "mensagens salvas",
|
||||
"note": "Save = 'salvar', unsave = 'remover de salvos'. Webapp legacy strings use 'Publicações Salvas'; mobile uses 'Mensagens Salvas' — prefer 'mensagens salvas'."
|
||||
},
|
||||
"draft": {
|
||||
"target": "rascunho"
|
||||
},
|
||||
"scheduled post": {
|
||||
"target": "publicação agendada",
|
||||
"note": "Majority rendering; 'programada' appears in a couple of server strings — avoid."
|
||||
},
|
||||
"emoji": {
|
||||
"target": "emoji",
|
||||
"note": "Masculine, invariable spelling; plural 'emojis'."
|
||||
},
|
||||
"custom emoji": {
|
||||
"target": "emoji personalizado"
|
||||
},
|
||||
"reaction": {
|
||||
"target": "reação",
|
||||
"note": "Verb: 'reagir'."
|
||||
},
|
||||
"status": {
|
||||
"target": "status",
|
||||
"note": "Kept as 'status' (masculine, invariable) in pt-BR."
|
||||
},
|
||||
"custom status": {
|
||||
"target": "status personalizado"
|
||||
},
|
||||
"do not disturb": {
|
||||
"target": "Não Perturbe"
|
||||
},
|
||||
"away": {
|
||||
"target": "ausente"
|
||||
},
|
||||
"online": {
|
||||
"target": "conectado",
|
||||
"note": "Majority rendering for the availability status (server commands, mobile). Some webapp strings keep 'Online'; prefer 'conectado' for the status name."
|
||||
},
|
||||
"offline": {
|
||||
"target": "desconectado",
|
||||
"note": "Some webapp strings keep 'Offline'; prefer 'desconectado' for the status name."
|
||||
},
|
||||
"out of office": {
|
||||
"target": "Fora do Escritório"
|
||||
},
|
||||
"guest": {
|
||||
"target": "convidado",
|
||||
"note": "Consistent majority; one webapp string uses 'Visitante' — avoid. Same word as the past participle of 'convidar' (to invite); context usually disambiguates."
|
||||
},
|
||||
"member": {
|
||||
"target": "membro"
|
||||
},
|
||||
"user": {
|
||||
"target": "usuário"
|
||||
},
|
||||
"system admin": {
|
||||
"target": "administrador do sistema",
|
||||
"note": "Short label 'Admin do Sistema' also appears; prefer the full form in prose."
|
||||
},
|
||||
"team admin": {
|
||||
"target": "administrador da equipe"
|
||||
},
|
||||
"channel admin": {
|
||||
"target": "administrador de canal"
|
||||
},
|
||||
"session": {
|
||||
"target": "sessão"
|
||||
},
|
||||
"sign in": {
|
||||
"target": "fazer login",
|
||||
"note": "Existing translations are inconsistent ('Conecte-se', 'Entrar', 'fazer login'); 'fazer login' is the overall majority. For short buttons 'Entrar' is acceptable; translate 'log in' and 'sign in' identically."
|
||||
},
|
||||
"sign out": {
|
||||
"target": "sair",
|
||||
"note": "'Log Out' is consistently 'Sair'. Translate 'log out' and 'sign out' identically."
|
||||
},
|
||||
"join": {
|
||||
"target": "entrar",
|
||||
"note": "'Entrar' for channels/teams ('Entrar no canal'); 'participar' is used for calls and open teams; avoid 'juntar-se' except for groups where it already appears."
|
||||
},
|
||||
"leave": {
|
||||
"target": "sair",
|
||||
"note": "Existing UI mixes 'Deixar o Canal' (majority for channels) and 'Sair da Equipe' (teams). Either is acceptable; keep each context internally consistent."
|
||||
},
|
||||
"archive": {
|
||||
"target": "arquivar",
|
||||
"note": "'Arquivar Canal', 'arquivado'. Note 'arquivo' also means 'file' in Portuguese; avoid ambiguous noun uses."
|
||||
},
|
||||
"unarchive": {
|
||||
"target": "desarquivar"
|
||||
},
|
||||
"mute": {
|
||||
"target": "silenciar",
|
||||
"note": "For channel notifications: 'Silenciar Canal' (majority). Legacy strings use 'Mutar'/'Ativar Mudo'; avoid. Unmute = 'desativar o silêncio' or 'reativar notificações' per context."
|
||||
},
|
||||
"follow": {
|
||||
"target": "seguir"
|
||||
},
|
||||
"unfollow": {
|
||||
"target": "deixar de seguir"
|
||||
},
|
||||
"favorite": {
|
||||
"target": "favorito",
|
||||
"note": "Noun/category 'Favoritos'; verb 'favoritar' (already used in webapp); unfavorite = 'remover dos favoritos'."
|
||||
},
|
||||
"search": {
|
||||
"target": "pesquisar",
|
||||
"note": "Corpus mixes 'Procurar' (main search bar), 'pesquisar' (results, groups, members), and 'buscar'. 'Pesquisar'/'pesquisa' is the overall majority; noun = 'pesquisa'."
|
||||
},
|
||||
"integration": {
|
||||
"target": "integração"
|
||||
},
|
||||
"slash command": {
|
||||
"target": "comando slash",
|
||||
"note": "Established rendering; 'slash' stays in English."
|
||||
},
|
||||
"webhook": {
|
||||
"target": "webhook",
|
||||
"note": "Kept in English (masculine: 'o webhook') consistently."
|
||||
},
|
||||
"incoming webhook": {
|
||||
"target": "webhook de entrada"
|
||||
},
|
||||
"outgoing webhook": {
|
||||
"target": "webhook de saída"
|
||||
},
|
||||
"trigger word": {
|
||||
"target": "palavra gatilho",
|
||||
"note": "Established without hyphen in existing strings; plural 'palavras gatilho'."
|
||||
},
|
||||
"plugin": {
|
||||
"target": "plugin",
|
||||
"note": "Kept in English (masculine: 'o plugin'); avoid the hyphenated 'plug-in' that appears once."
|
||||
},
|
||||
"bot": {
|
||||
"target": "bot",
|
||||
"note": "Kept in English; 'conta de bot' for bot account."
|
||||
},
|
||||
"role": {
|
||||
"target": "função",
|
||||
"note": "Consistent majority ('Função de Membro', 'Funções de Administrador'); avoid 'papel'."
|
||||
},
|
||||
"permission": {
|
||||
"target": "permissão"
|
||||
},
|
||||
"scheme": {
|
||||
"target": "esquema",
|
||||
"note": "'Esquema de Permissões', 'Esquema de Equipe'."
|
||||
},
|
||||
"license": {
|
||||
"target": "licença"
|
||||
},
|
||||
"seat": {
|
||||
"target": "assento",
|
||||
"note": "No existing translation found in the repos; 'assento' is the common pt-BR SaaS pricing term. 'Licença de usuário' is an acceptable descriptive alternative."
|
||||
},
|
||||
"trial": {
|
||||
"target": "avaliação",
|
||||
"note": "Corpus splits between 'avaliação' and 'teste' ('teste gratuito'); 'avaliação (gratuita)' is slightly more common in newer strings — standardize on it."
|
||||
},
|
||||
"workspace": {
|
||||
"target": "espaço de trabalho",
|
||||
"note": "Clear majority; a few server email strings keep 'workspace' — avoid."
|
||||
},
|
||||
"subscription": {
|
||||
"target": "assinatura",
|
||||
"note": "One admin sidebar string uses 'Inscrição'; prefer 'assinatura'."
|
||||
},
|
||||
"deactivate": {
|
||||
"target": "desativar"
|
||||
},
|
||||
"invite": {
|
||||
"target": "convidar",
|
||||
"note": "Verb 'convidar'; noun 'convite'."
|
||||
},
|
||||
"invitation": {
|
||||
"target": "convite"
|
||||
},
|
||||
"sidebar": {
|
||||
"target": "barra lateral"
|
||||
},
|
||||
"unread": {
|
||||
"target": "não lido",
|
||||
"note": "Agrees in gender/number: 'mensagens não lidas', 'canais não lidos'; 'Não lidos' for the Unreads view."
|
||||
},
|
||||
"attachment": {
|
||||
"target": "anexo"
|
||||
},
|
||||
"public channel": {
|
||||
"target": "canal público"
|
||||
},
|
||||
"private channel": {
|
||||
"target": "canal privado"
|
||||
},
|
||||
"shared channel": {
|
||||
"target": "canal compartilhado"
|
||||
},
|
||||
"channel header": {
|
||||
"target": "cabeçalho do canal"
|
||||
},
|
||||
"channel purpose": {
|
||||
"target": "propósito do canal",
|
||||
"note": "Majority 'propósito'; a couple of strings use 'finalidade' — avoid."
|
||||
},
|
||||
"system message": {
|
||||
"target": "mensagem do sistema"
|
||||
},
|
||||
"persistent notification": {
|
||||
"target": "notificação persistente"
|
||||
},
|
||||
"message priority": {
|
||||
"target": "prioridade da mensagem"
|
||||
},
|
||||
"urgent": {
|
||||
"target": "urgente"
|
||||
},
|
||||
"recap": {
|
||||
"target": "resumo",
|
||||
"note": "No existing translation in the repos. 'Resumo' is natural for AI-generated summaries; Microsoft Teams uses 'recapitulação' if a distinct word from 'summary' is required."
|
||||
},
|
||||
"agent": {
|
||||
"target": "agente",
|
||||
"note": "Masculine even when referring to the AI assistant; 'Agentes' for the feature area."
|
||||
},
|
||||
"burn-on-read": {
|
||||
"target": "autodestruição após leitura",
|
||||
"note": "No existing translation. Adjectival use: 'mensagem com autodestruição após leitura'. Avoid literal 'queimar'."
|
||||
},
|
||||
"magic link": {
|
||||
"target": "link mágico",
|
||||
"note": "No existing translation in the repos; 'link mágico' is the established pt-BR term (e.g. Slack, Notion)."
|
||||
},
|
||||
"personal access token": {
|
||||
"target": "token de acesso individual",
|
||||
"note": "Majority in existing webapp/server strings. 'Token de acesso pessoal' (the GitHub/GitLab industry standard) appears once and is arguably better; keep 'individual' for consistency unless a global cleanup is done."
|
||||
},
|
||||
"announcement banner": {
|
||||
"target": "banner de anúncio"
|
||||
},
|
||||
"channel banner": {
|
||||
"target": "banner do canal"
|
||||
},
|
||||
"keyword": {
|
||||
"target": "palavra-chave",
|
||||
"note": "Plural 'palavras-chave' (invariable second element)."
|
||||
},
|
||||
"user group": {
|
||||
"target": "grupo de usuários"
|
||||
},
|
||||
"permalink": {
|
||||
"target": "permalink",
|
||||
"note": "Kept in English in existing strings ('O permalink pertence...'); 'link permanente' is an acceptable alternative if translating."
|
||||
},
|
||||
"profile": {
|
||||
"target": "perfil"
|
||||
},
|
||||
"username": {
|
||||
"target": "nome de usuário",
|
||||
"note": "Short form 'Usuário' is used in existing login/form labels; use the full 'nome de usuário' in prose."
|
||||
},
|
||||
"nickname": {
|
||||
"target": "apelido"
|
||||
},
|
||||
"display name": {
|
||||
"target": "nome de exibição",
|
||||
"note": "Majority; 'nome para exibição' also appears in server strings — prefer 'nome de exibição'."
|
||||
},
|
||||
"collapsed reply threads": {
|
||||
"target": "tópicos de resposta recolhidos",
|
||||
"note": "Mobile currently has 'Respostas de Tópicos Recolhidos', which inverts the meaning; prefer 'tópicos de resposta recolhidos' and keep it consistent as the feature name."
|
||||
},
|
||||
"auto-translation": {
|
||||
"target": "tradução automática",
|
||||
"note": "'traduzido automaticamente' for 'auto-translated'; all-caps label: 'TRADUZIDO AUTOMATICAMENTE'."
|
||||
},
|
||||
"data retention": {
|
||||
"target": "retenção de dados",
|
||||
"note": "'Política de Retenção de Dados' for data retention policy."
|
||||
},
|
||||
"compliance export": {
|
||||
"target": "exportação de conformidade"
|
||||
},
|
||||
"access control": {
|
||||
"target": "controle de acesso",
|
||||
"note": "'controle de acesso baseado em atributos' for attribute-based access control."
|
||||
},
|
||||
"attribute": {
|
||||
"target": "atributo"
|
||||
},
|
||||
"onboarding": {
|
||||
"target": "onboarding",
|
||||
"note": "Kept in English in most server strings (masculine: 'o onboarding'). One webapp string uses 'Integração', which collides with 'integration' — avoid."
|
||||
},
|
||||
"Town Square": {
|
||||
"target": "Town Square",
|
||||
"note": "Existing pt-BR translations keep the default channel name in English (server default-channel string is untranslated). Keep as-is for consistency with existing workspaces."
|
||||
},
|
||||
"Off-Topic": {
|
||||
"target": "Off-Topic",
|
||||
"note": "Existing pt-BR translations keep this default channel name in English; keep as-is."
|
||||
},
|
||||
"read-only": {
|
||||
"target": "somente leitura"
|
||||
},
|
||||
"server": {
|
||||
"target": "servidor"
|
||||
}
|
||||
}
|
||||
462
i18n/glossary/ro.json
Normal file
462
i18n/glossary/ro.json
Normal file
@@ -0,0 +1,462 @@
|
||||
{
|
||||
"Mattermost": {
|
||||
"target": "Mattermost"
|
||||
},
|
||||
"Enterprise Edition": {
|
||||
"target": "Enterprise Edition",
|
||||
"note": "Product edition name; keep in English. Legacy webapp strings sometimes render 'Ediția Enterprise' — prefer the English name."
|
||||
},
|
||||
"Team Edition": {
|
||||
"target": "Team Edition",
|
||||
"note": "Keep in English; an old webapp string renders 'Ediție de echipă' but edition names should stay untranslated."
|
||||
},
|
||||
"Mattermost Cloud": {
|
||||
"target": "Mattermost Cloud"
|
||||
},
|
||||
"Channels": {
|
||||
"target": "Channels",
|
||||
"note": "Product name; do not confuse with the common noun 'canal/canale'."
|
||||
},
|
||||
"Playbooks": {
|
||||
"target": "Playbooks"
|
||||
},
|
||||
"Boards": {
|
||||
"target": "Boards"
|
||||
},
|
||||
"Calls": {
|
||||
"target": "Calls"
|
||||
},
|
||||
"Markdown": {
|
||||
"target": "Markdown"
|
||||
},
|
||||
"OAuth": {
|
||||
"target": "OAuth"
|
||||
},
|
||||
"SAML": {
|
||||
"target": "SAML"
|
||||
},
|
||||
"LDAP": {
|
||||
"target": "LDAP"
|
||||
},
|
||||
"SSO": {
|
||||
"target": "SSO"
|
||||
},
|
||||
"MFA": {
|
||||
"target": "MFA"
|
||||
},
|
||||
"OpenID Connect": {
|
||||
"target": "OpenID Connect"
|
||||
},
|
||||
"Entra ID": {
|
||||
"target": "Entra ID"
|
||||
},
|
||||
"GitLab": {
|
||||
"target": "GitLab"
|
||||
},
|
||||
"Elasticsearch": {
|
||||
"target": "Elasticsearch"
|
||||
},
|
||||
"Gossip": {
|
||||
"target": "Gossip"
|
||||
},
|
||||
"Actiance XML": {
|
||||
"target": "Actiance XML"
|
||||
},
|
||||
"Global Relay": {
|
||||
"target": "Global Relay"
|
||||
},
|
||||
"System Console": {
|
||||
"target": "Consola de sistem",
|
||||
"note": "Established in webapp ro.json ('consola de sistem'). Genitive: 'consolei de sistem'."
|
||||
},
|
||||
"marketplace": {
|
||||
"target": "Marketplace",
|
||||
"note": "Webapp ro.json is inconsistent: some labels use 'piața', others keep 'Marketplace'. Keep the English name as the primary rendering (modern Romanian software convention) and treat 'piață' occurrences as legacy."
|
||||
},
|
||||
"channel": {
|
||||
"target": "canal",
|
||||
"note": "Plural: 'canale'. Definite: 'canalul/canalele'."
|
||||
},
|
||||
"team": {
|
||||
"target": "echipă",
|
||||
"note": "Plural: 'echipe'."
|
||||
},
|
||||
"post": {
|
||||
"target": "postare",
|
||||
"note": "Noun; plural 'postări'. Verb: 'a posta'. Avoid the calque 'post/posturi' seen in a few legacy strings ('posturi fixate')."
|
||||
},
|
||||
"message": {
|
||||
"target": "mesaj",
|
||||
"note": "Plural: 'mesaje'."
|
||||
},
|
||||
"thread": {
|
||||
"target": "fir",
|
||||
"note": "Majority rendering in webapp/server ('firul', 'fir de discuție'). Inconsistencies observed: 'subiect' and 'Detalii Mesaj' for the Thread panel title — prefer 'fir' everywhere. Plural: 'fire'."
|
||||
},
|
||||
"reply": {
|
||||
"target": "răspuns",
|
||||
"note": "Noun; plural 'răspunsuri'. Verb: 'a răspunde' (button: 'Răspunde'/'Răspundeți')."
|
||||
},
|
||||
"direct message": {
|
||||
"target": "mesaj direct",
|
||||
"note": "Plural: 'mesaje directe'. Keep 'DM' untranslated if the abbreviation appears."
|
||||
},
|
||||
"group message": {
|
||||
"target": "mesaj de grup",
|
||||
"note": "Plural: 'mesaje de grup'."
|
||||
},
|
||||
"mention": {
|
||||
"target": "mențiune",
|
||||
"note": "Noun; plural 'mențiuni'. Verb: 'a menționa'. Use modern diacritics (ț not ţ)."
|
||||
},
|
||||
"notification": {
|
||||
"target": "notificare",
|
||||
"note": "Plural: 'notificări'."
|
||||
},
|
||||
"pin": {
|
||||
"target": "a fixa",
|
||||
"note": "'Fixați pe canal' (mobile), 'mesaje fixate'. Unpin: 'a anula fixarea'. Avoid untranslated 'Pin' seen in one webapp string."
|
||||
},
|
||||
"bookmark": {
|
||||
"target": "marcaj",
|
||||
"note": "Noun; plural 'marcaje'. Verb: 'a adăuga la marcaje'. No established repo rendering; standard Romanian UI term."
|
||||
},
|
||||
"saved messages": {
|
||||
"target": "mesaje salvate",
|
||||
"note": "Webapp mixes 'mesaje salvate' and 'postări salvate'; prefer 'mesaje salvate'. Save/unsave: 'a salva' / 'a elimina din salvate'."
|
||||
},
|
||||
"draft": {
|
||||
"target": "schiță",
|
||||
"note": "Plural: 'schițe'. No repo signal; standard Romanian software term (Gmail, Teams)."
|
||||
},
|
||||
"scheduled post": {
|
||||
"target": "postare programată",
|
||||
"note": "Plural: 'postări programate'. 'Scheduled message' = 'mesaj programat'."
|
||||
},
|
||||
"emoji": {
|
||||
"target": "emoji",
|
||||
"note": "Invariable loanword, already used in webapp ro.json. Plural in running text: 'emoji-uri'."
|
||||
},
|
||||
"custom emoji": {
|
||||
"target": "emoji personalizat",
|
||||
"note": "Plural: 'emoji-uri personalizate'."
|
||||
},
|
||||
"reaction": {
|
||||
"target": "reacție",
|
||||
"note": "Plural: 'reacții'. Verb 'react': 'a reacționa'."
|
||||
},
|
||||
"status": {
|
||||
"target": "stare",
|
||||
"note": "Majority rendering; webapp occasionally uses 'statut' ('să vă schimbați statutul') — prefer 'stare' consistently."
|
||||
},
|
||||
"custom status": {
|
||||
"target": "stare personalizată"
|
||||
},
|
||||
"do not disturb": {
|
||||
"target": "Nu deranjați",
|
||||
"note": "Established in webapp ('Nu deranjați'). Keep the formal plural imperative."
|
||||
},
|
||||
"away": {
|
||||
"target": "Plecat",
|
||||
"note": "Established in webapp; ignore the stray 'Deplasare' mistranslation."
|
||||
},
|
||||
"online": {
|
||||
"target": "Online"
|
||||
},
|
||||
"offline": {
|
||||
"target": "Offline"
|
||||
},
|
||||
"out of office": {
|
||||
"target": "Plecat din birou",
|
||||
"note": "Majority webapp rendering; mobile once uses 'Afară din birou' — prefer 'Plecat din birou'."
|
||||
},
|
||||
"guest": {
|
||||
"target": "oaspete",
|
||||
"note": "Plural: 'oaspeți'. Webapp mixes 'oaspete' and 'invitat'; prefer 'oaspete' — 'invitat' collides with 'invited' and produces ambiguities like 'Invitați invitați'."
|
||||
},
|
||||
"member": {
|
||||
"target": "membru",
|
||||
"note": "Plural: 'membri' (not 'membrii' unless definite)."
|
||||
},
|
||||
"user": {
|
||||
"target": "utilizator",
|
||||
"note": "Plural: 'utilizatori'."
|
||||
},
|
||||
"system admin": {
|
||||
"target": "administrator de sistem"
|
||||
},
|
||||
"team admin": {
|
||||
"target": "administrator de echipă"
|
||||
},
|
||||
"channel admin": {
|
||||
"target": "administrator de canal"
|
||||
},
|
||||
"session": {
|
||||
"target": "sesiune",
|
||||
"note": "Plural: 'sesiuni'."
|
||||
},
|
||||
"sign in": {
|
||||
"target": "a se conecta",
|
||||
"note": "Majority webapp rendering ('vă conectați', 'Conectare'); 'autentificare' also appears — translate both 'sign in' and 'log in' as 'conectare / a se conecta'. Button label: 'Conectare'."
|
||||
},
|
||||
"sign out": {
|
||||
"target": "a se deconecta",
|
||||
"note": "Button/menu label: 'Deconectare' (established in webapp)."
|
||||
},
|
||||
"join": {
|
||||
"target": "a se alătura",
|
||||
"note": "'Alăturați-vă canalului'. For join messages, webapp also uses 'intrare' — prefer 'a se alătura' in UI actions."
|
||||
},
|
||||
"leave": {
|
||||
"target": "a părăsi",
|
||||
"note": "'Părăsiți canalul/echipa'."
|
||||
},
|
||||
"archive": {
|
||||
"target": "a arhiva",
|
||||
"note": "'Arhivați canalul'; adjective 'arhivat'."
|
||||
},
|
||||
"unarchive": {
|
||||
"target": "a dezarhiva",
|
||||
"note": "Majority webapp rendering ('Dezarhivează canalul', 'Dezarhivați'); ignore the stray 'Canal nearhivat'."
|
||||
},
|
||||
"mute": {
|
||||
"target": "a pune pe silențios",
|
||||
"note": "Channel notification muting. Existing renderings are inconsistent and poor ('Canal mut', 'muțește') — prefer 'a pune pe silențios' / 'silențios'. Distinct from muting a microphone in Calls ('a dezactiva microfonul')."
|
||||
},
|
||||
"follow": {
|
||||
"target": "a urmări",
|
||||
"note": "'Urmăriți firul' (established). Following: 'urmărit'."
|
||||
},
|
||||
"unfollow": {
|
||||
"target": "a nu mai urmări",
|
||||
"note": "'Nu mai urmăriți firul'. One webapp string wrongly reuses 'Urmărește firul' for unfollow — do not copy it."
|
||||
},
|
||||
"favorite": {
|
||||
"target": "favorit",
|
||||
"note": "Noun/adjective; plural 'favorite'. Verb: 'a adăuga la favorite'; unfavorite: 'a elimina din favorite'."
|
||||
},
|
||||
"search": {
|
||||
"target": "căutare",
|
||||
"note": "Noun; verb 'a căuta' (button: 'Caută'/'Căutați')."
|
||||
},
|
||||
"integration": {
|
||||
"target": "integrare",
|
||||
"note": "Plural: 'integrări'."
|
||||
},
|
||||
"slash command": {
|
||||
"target": "comandă slash",
|
||||
"note": "Established in webapp ('comanda slash'). Plural: 'comenzi slash'."
|
||||
},
|
||||
"webhook": {
|
||||
"target": "webhook",
|
||||
"note": "Keep untranslated (masculine: 'webhook-ul', plural 'webhook-uri'). Legacy machine translations ('bara de intrare', 'bijuteria') are errors — never reuse them."
|
||||
},
|
||||
"incoming webhook": {
|
||||
"target": "webhook de intrare",
|
||||
"note": "Plural: 'webhook-uri de intrare'."
|
||||
},
|
||||
"outgoing webhook": {
|
||||
"target": "webhook de ieșire",
|
||||
"note": "Plural: 'webhook-uri de ieșire'."
|
||||
},
|
||||
"trigger word": {
|
||||
"target": "cuvânt de declanșare",
|
||||
"note": "Follows webapp 'cuvintele tale de declanșare'. Plural: 'cuvinte de declanșare'."
|
||||
},
|
||||
"plugin": {
|
||||
"target": "plugin",
|
||||
"note": "Kept as loanword in webapp ('pluginul', 'pluginuri'). Articulate as 'plugin-ul' / plural 'plugin-uri' per current orthographic norms."
|
||||
},
|
||||
"bot": {
|
||||
"target": "bot",
|
||||
"note": "Kept in webapp ('Conturi Bot'). Plural: 'boți' or 'bot-uri'; 'cont de bot' for bot account."
|
||||
},
|
||||
"role": {
|
||||
"target": "rol",
|
||||
"note": "Plural: 'roluri'."
|
||||
},
|
||||
"permission": {
|
||||
"target": "permisiune",
|
||||
"note": "Plural: 'permisiuni'. One legacy string uses 'autorizare' — prefer 'permisiune'."
|
||||
},
|
||||
"scheme": {
|
||||
"target": "schemă",
|
||||
"note": "Plural: 'scheme'. 'Permission scheme' = 'schemă de permisiuni'."
|
||||
},
|
||||
"license": {
|
||||
"target": "licență",
|
||||
"note": "Plural: 'licențe'."
|
||||
},
|
||||
"seat": {
|
||||
"target": "loc",
|
||||
"note": "Licensed user slot; plural 'locuri'. No repo signal; standard Romanian SaaS term."
|
||||
},
|
||||
"trial": {
|
||||
"target": "perioadă de probă",
|
||||
"note": "'Free trial' = 'perioadă de probă gratuită'."
|
||||
},
|
||||
"workspace": {
|
||||
"target": "spațiu de lucru",
|
||||
"note": "Established in mobile ro.json. Plural: 'spații de lucru'."
|
||||
},
|
||||
"subscription": {
|
||||
"target": "abonament"
|
||||
},
|
||||
"deactivate": {
|
||||
"target": "a dezactiva",
|
||||
"note": "'Dezactivat' for the deactivated state."
|
||||
},
|
||||
"invite": {
|
||||
"target": "a invita",
|
||||
"note": "Noun sense: 'invitație'. Button: 'Invitați'."
|
||||
},
|
||||
"invitation": {
|
||||
"target": "invitație",
|
||||
"note": "Plural: 'invitații'."
|
||||
},
|
||||
"sidebar": {
|
||||
"target": "bară laterală",
|
||||
"note": "Established in webapp ('bara laterală')."
|
||||
},
|
||||
"unread": {
|
||||
"target": "necitit",
|
||||
"note": "Feminine/plural: 'necitită/necitite'. 'Unreads' = 'mesaje necitite'."
|
||||
},
|
||||
"attachment": {
|
||||
"target": "atașament",
|
||||
"note": "Plural: 'atașamente'."
|
||||
},
|
||||
"public channel": {
|
||||
"target": "canal public",
|
||||
"note": "Plural: 'canale publice'."
|
||||
},
|
||||
"private channel": {
|
||||
"target": "canal privat",
|
||||
"note": "Plural: 'canale private'."
|
||||
},
|
||||
"shared channel": {
|
||||
"target": "canal partajat",
|
||||
"note": "Established in server strings. Plural: 'canale partajate'."
|
||||
},
|
||||
"channel header": {
|
||||
"target": "antetul canalului",
|
||||
"note": "Standalone 'Header' = 'Antet'."
|
||||
},
|
||||
"channel purpose": {
|
||||
"target": "scopul canalului",
|
||||
"note": "Established in webapp. Standalone 'Purpose' = 'Scop'."
|
||||
},
|
||||
"system message": {
|
||||
"target": "mesaj de sistem",
|
||||
"note": "Plural: 'mesaje de sistem'."
|
||||
},
|
||||
"persistent notification": {
|
||||
"target": "notificare persistentă",
|
||||
"note": "Plural: 'notificări persistente'."
|
||||
},
|
||||
"message priority": {
|
||||
"target": "prioritatea mesajului",
|
||||
"note": "Feature name usable as 'Prioritate mesaj' in compact UI."
|
||||
},
|
||||
"urgent": {
|
||||
"target": "urgent",
|
||||
"note": "Feminine: 'urgentă'."
|
||||
},
|
||||
"recap": {
|
||||
"target": "recapitulare",
|
||||
"note": "AI channel summary; plural 'recapitulări'."
|
||||
},
|
||||
"agent": {
|
||||
"target": "agent",
|
||||
"note": "AI assistant; plural 'agenți'. Same word as English."
|
||||
},
|
||||
"burn-on-read": {
|
||||
"target": "autodistrugere la citire",
|
||||
"note": "No repo signal. Adjectival use: 'mesaj cu autodistrugere la citire' (Telegram-style convention)."
|
||||
},
|
||||
"magic link": {
|
||||
"target": "link magic",
|
||||
"note": "Plural: 'linkuri magice'."
|
||||
},
|
||||
"personal access token": {
|
||||
"target": "token de acces personal",
|
||||
"note": "Webapp mixes 'jeton de acces personal' and 'token' — prefer 'token' (established loanword in Romanian tech UI); treat 'jeton'/'indice' as legacy."
|
||||
},
|
||||
"announcement banner": {
|
||||
"target": "banner de anunțuri"
|
||||
},
|
||||
"channel banner": {
|
||||
"target": "banner de canal"
|
||||
},
|
||||
"keyword": {
|
||||
"target": "cuvânt-cheie",
|
||||
"note": "Plural: 'cuvinte-cheie'."
|
||||
},
|
||||
"user group": {
|
||||
"target": "grup de utilizatori",
|
||||
"note": "Standalone 'group' = 'grup'."
|
||||
},
|
||||
"permalink": {
|
||||
"target": "permalink",
|
||||
"note": "Kept untranslated in webapp ro.json."
|
||||
},
|
||||
"profile": {
|
||||
"target": "profil"
|
||||
},
|
||||
"username": {
|
||||
"target": "nume de utilizator",
|
||||
"note": "Established in webapp; do not shorten to just 'utilizator' as some legacy strings do."
|
||||
},
|
||||
"nickname": {
|
||||
"target": "pseudonim",
|
||||
"note": "Legacy strings use 'poreclă' in an example and mistranslate the field as 'Prenume' — prefer 'pseudonim' (standard software term)."
|
||||
},
|
||||
"display name": {
|
||||
"target": "nume afișat",
|
||||
"note": "Established in webapp ('Nume afișat')."
|
||||
},
|
||||
"collapsed reply threads": {
|
||||
"target": "fire de răspuns restrânse",
|
||||
"note": "Feature name; keeps 'fir' for thread."
|
||||
},
|
||||
"auto-translation": {
|
||||
"target": "traducere automată",
|
||||
"note": "'AUTO-TRANSLATED' label: 'TRADUS AUTOMAT'."
|
||||
},
|
||||
"data retention": {
|
||||
"target": "păstrarea datelor",
|
||||
"note": "Established in webapp: 'Politica de păstrare a datelor' for data retention policy."
|
||||
},
|
||||
"compliance export": {
|
||||
"target": "export de conformitate",
|
||||
"note": "Legacy strings are garbled ('lucrare de complianță') — use 'export de conformitate' consistently."
|
||||
},
|
||||
"access control": {
|
||||
"target": "controlul accesului",
|
||||
"note": "'Access control policy' = 'politică de control al accesului'."
|
||||
},
|
||||
"attribute": {
|
||||
"target": "atribut",
|
||||
"note": "Established in webapp (LDAP/SAML strings). Plural: 'atribute'."
|
||||
},
|
||||
"onboarding": {
|
||||
"target": "inițiere",
|
||||
"note": "No repo signal. 'Inițiere' for the guided first-run experience; the English 'onboarding' is also widely understood in Romanian business software and may be kept in marketing copy."
|
||||
},
|
||||
"Town Square": {
|
||||
"target": "Canalul principal",
|
||||
"note": "Established in server ro.json as the default channel name."
|
||||
},
|
||||
"Off-Topic": {
|
||||
"target": "În afara subiectului",
|
||||
"note": "Server ro.json has 'In afara topicului' (missing diacritic, calqued 'topic'); prefer the corrected 'În afara subiectului' but note the existing channel name users may already see."
|
||||
},
|
||||
"read-only": {
|
||||
"target": "doar în citire",
|
||||
"note": "Existing renderings vary ('numai în citire', 'doar-în-citire', 'doar pentru citire'); standardize on 'doar în citire'."
|
||||
},
|
||||
"server": {
|
||||
"target": "server",
|
||||
"note": "Plural: 'servere'."
|
||||
}
|
||||
}
|
||||
449
i18n/glossary/ru.json
Normal file
449
i18n/glossary/ru.json
Normal file
@@ -0,0 +1,449 @@
|
||||
{
|
||||
"Mattermost": {
|
||||
"target": "Mattermost"
|
||||
},
|
||||
"Enterprise Edition": {
|
||||
"target": "Enterprise Edition",
|
||||
"note": "Keep in English. Some legacy strings translate edition names (e.g. 'Командная редакция' for Team Edition); do not follow that pattern."
|
||||
},
|
||||
"Team Edition": {
|
||||
"target": "Team Edition",
|
||||
"note": "Keep in English despite legacy 'Командная редакция' appearing in about-dialog strings."
|
||||
},
|
||||
"Mattermost Cloud": {
|
||||
"target": "Mattermost Cloud"
|
||||
},
|
||||
"Channels": {
|
||||
"target": "Channels",
|
||||
"note": "Product name, keep in English. The common noun 'channel' is 'канал'."
|
||||
},
|
||||
"Playbooks": {
|
||||
"target": "Playbooks"
|
||||
},
|
||||
"Boards": {
|
||||
"target": "Boards"
|
||||
},
|
||||
"Calls": {
|
||||
"target": "Calls"
|
||||
},
|
||||
"Markdown": {
|
||||
"target": "Markdown"
|
||||
},
|
||||
"OAuth": {
|
||||
"target": "OAuth"
|
||||
},
|
||||
"SAML": {
|
||||
"target": "SAML"
|
||||
},
|
||||
"LDAP": {
|
||||
"target": "LDAP"
|
||||
},
|
||||
"SSO": {
|
||||
"target": "SSO",
|
||||
"note": "Keep abbreviation; when spelled out, existing strings use 'единый вход' / 'единого входа'."
|
||||
},
|
||||
"MFA": {
|
||||
"target": "MFA",
|
||||
"note": "Keep abbreviation; when spelled out, use 'многофакторная аутентификация'."
|
||||
},
|
||||
"OpenID Connect": {
|
||||
"target": "OpenID Connect"
|
||||
},
|
||||
"Entra ID": {
|
||||
"target": "Entra ID"
|
||||
},
|
||||
"GitLab": {
|
||||
"target": "GitLab"
|
||||
},
|
||||
"Elasticsearch": {
|
||||
"target": "Elasticsearch"
|
||||
},
|
||||
"Gossip": {
|
||||
"target": "Gossip"
|
||||
},
|
||||
"Actiance XML": {
|
||||
"target": "Actiance XML"
|
||||
},
|
||||
"Global Relay": {
|
||||
"target": "Global Relay"
|
||||
},
|
||||
"System Console": {
|
||||
"target": "системная консоль",
|
||||
"note": "Capitalize as 'Системная консоль' when used as the named UI area. Consistent in existing translations."
|
||||
},
|
||||
"marketplace": {
|
||||
"target": "магазин плагинов",
|
||||
"note": "Existing translations consistently use 'магазин плагинов'. If the context covers apps beyond plugins, 'маркетплейс' is an acceptable alternative, but prefer the established term."
|
||||
},
|
||||
"channel": {
|
||||
"target": "канал",
|
||||
"note": "Plural 'каналы'."
|
||||
},
|
||||
"team": {
|
||||
"target": "команда",
|
||||
"note": "Same word as 'command' in Russian; existing translations rely on context. Plural 'команды'."
|
||||
},
|
||||
"post": {
|
||||
"target": "сообщение",
|
||||
"note": "Existing translations render both 'post' and 'message' as 'сообщение'; do not use 'пост'."
|
||||
},
|
||||
"message": {
|
||||
"target": "сообщение"
|
||||
},
|
||||
"thread": {
|
||||
"target": "обсуждение",
|
||||
"note": "Majority rendering; existing strings occasionally use 'тема' or 'ветка' — avoid those, and avoid the anglicism 'тред'. The Threads view is 'Обсуждения'."
|
||||
},
|
||||
"reply": {
|
||||
"target": "ответ",
|
||||
"note": "Verb: 'ответить'. Plural 'ответы'."
|
||||
},
|
||||
"direct message": {
|
||||
"target": "личное сообщение",
|
||||
"note": "Majority rendering (85+ occurrences); a few legacy strings use 'прямое сообщение' — avoid. Plural 'личные сообщения'."
|
||||
},
|
||||
"group message": {
|
||||
"target": "групповое сообщение",
|
||||
"note": "Plural 'групповые сообщения'."
|
||||
},
|
||||
"mention": {
|
||||
"target": "упоминание",
|
||||
"note": "Verb: 'упомянуть'. '@mention' can stay '@упоминание' or keep the @ with the username untouched."
|
||||
},
|
||||
"notification": {
|
||||
"target": "уведомление"
|
||||
},
|
||||
"pin": {
|
||||
"target": "закрепить",
|
||||
"note": "Existing translations are inconsistent ('Прикрепить сообщение' in the post menu vs 'Закреплённые сообщения' in the channel header). Prefer 'закрепить' / 'закреплённые сообщения' (standard Telegram/Slack convention). Unpin: 'открепить'."
|
||||
},
|
||||
"bookmark": {
|
||||
"target": "закладка",
|
||||
"note": "Verb: 'добавить в закладки'. Consistent in existing translations."
|
||||
},
|
||||
"saved messages": {
|
||||
"target": "сохранённые сообщения",
|
||||
"note": "Save: 'сохранить'; unsave: 'убрать из сохранённых'. Existing strings write it without ё ('сохраненные')."
|
||||
},
|
||||
"draft": {
|
||||
"target": "черновик",
|
||||
"note": "Plural 'черновики'."
|
||||
},
|
||||
"scheduled post": {
|
||||
"target": "запланированное сообщение",
|
||||
"note": "Consistent with existing 'Запланированные сообщения'."
|
||||
},
|
||||
"emoji": {
|
||||
"target": "эмодзи",
|
||||
"note": "Indeclinable. Existing translations are split between 'эмодзи' and legacy 'смайлик' (custom-emoji admin strings); prefer 'эмодзи', which mobile also uses."
|
||||
},
|
||||
"custom emoji": {
|
||||
"target": "пользовательский эмодзи",
|
||||
"note": "Plural 'пользовательские эмодзи'. Legacy strings use 'пользовательский смайлик' — prefer 'эмодзи'."
|
||||
},
|
||||
"reaction": {
|
||||
"target": "реакция",
|
||||
"note": "Verb 'react': 'отреагировать' / 'добавить реакцию'."
|
||||
},
|
||||
"status": {
|
||||
"target": "статус",
|
||||
"note": "For user availability. 'Состояние' appears in existing strings only for system/billing state, not user status."
|
||||
},
|
||||
"custom status": {
|
||||
"target": "пользовательский статус"
|
||||
},
|
||||
"do not disturb": {
|
||||
"target": "не беспокоить",
|
||||
"note": "Capitalized as 'Не беспокоить' when shown as a status value."
|
||||
},
|
||||
"away": {
|
||||
"target": "отошёл",
|
||||
"note": "Existing status value is 'Отошёл' (masculine past form, conventional for status labels)."
|
||||
},
|
||||
"online": {
|
||||
"target": "в сети",
|
||||
"note": "Status value 'В сети'; existing strings occasionally use 'онлайн' in prose."
|
||||
},
|
||||
"offline": {
|
||||
"target": "не в сети",
|
||||
"note": "Status value 'Не в сети'."
|
||||
},
|
||||
"out of office": {
|
||||
"target": "не на работе",
|
||||
"note": "Existing status value is 'Не на работе'."
|
||||
},
|
||||
"guest": {
|
||||
"target": "гость",
|
||||
"note": "Adjectival uses: 'гостевой доступ', 'гостевая учётная запись'."
|
||||
},
|
||||
"member": {
|
||||
"target": "участник",
|
||||
"note": "Plural 'участники'."
|
||||
},
|
||||
"user": {
|
||||
"target": "пользователь"
|
||||
},
|
||||
"system admin": {
|
||||
"target": "системный администратор",
|
||||
"note": "Majority rendering (45 occurrences vs 1 'администратор системы')."
|
||||
},
|
||||
"team admin": {
|
||||
"target": "администратор команды"
|
||||
},
|
||||
"channel admin": {
|
||||
"target": "администратор канала"
|
||||
},
|
||||
"session": {
|
||||
"target": "сеанс",
|
||||
"note": "Existing usage is mixed: 'сеанс' (46) vs 'сессия' (31). 'Сеанс' is the slight majority and the standard Windows/Microsoft term; either is understood, but stay consistent."
|
||||
},
|
||||
"sign in": {
|
||||
"target": "войти",
|
||||
"note": "Noun 'sign-in/login': 'вход'. Translate 'log in' identically."
|
||||
},
|
||||
"sign out": {
|
||||
"target": "выйти",
|
||||
"note": "Existing 'Log Out' is 'Выйти'. Translate 'log out' identically."
|
||||
},
|
||||
"join": {
|
||||
"target": "присоединиться",
|
||||
"note": "E.g. 'присоединиться к каналу/команде'."
|
||||
},
|
||||
"leave": {
|
||||
"target": "покинуть",
|
||||
"note": "E.g. 'покинуть канал/команду'."
|
||||
},
|
||||
"archive": {
|
||||
"target": "архивировать",
|
||||
"note": "Adjective 'archived': 'архивированный' / 'заархивированный'."
|
||||
},
|
||||
"unarchive": {
|
||||
"target": "разархивировать"
|
||||
},
|
||||
"mute": {
|
||||
"target": "отключить уведомления",
|
||||
"note": "For channels (existing 'Mute Channel' = 'Отключить уведомления'). Distinct from Calls 'mute' = 'отключить звук/микрофон'. A single-word alternative 'заглушить' appears once in existing strings."
|
||||
},
|
||||
"follow": {
|
||||
"target": "подписаться",
|
||||
"note": "For threads: 'подписаться на обсуждение'. 'Following': 'подписан(ы)'."
|
||||
},
|
||||
"unfollow": {
|
||||
"target": "отписаться"
|
||||
},
|
||||
"favorite": {
|
||||
"target": "избранное",
|
||||
"note": "Sidebar category 'Избранное'; verb: 'добавить в избранное'; unfavorite: 'убрать из избранного'."
|
||||
},
|
||||
"search": {
|
||||
"target": "поиск",
|
||||
"note": "Verb: 'искать' / 'найти'."
|
||||
},
|
||||
"integration": {
|
||||
"target": "интеграция",
|
||||
"note": "Plural 'интеграции'."
|
||||
},
|
||||
"slash command": {
|
||||
"target": "быстрая команда",
|
||||
"note": "Established majority rendering in existing translations (25 occurrences vs 2 'слэш-команда'). Keep even though 'слэш-команда' is more literal."
|
||||
},
|
||||
"webhook": {
|
||||
"target": "вебхук",
|
||||
"note": "Majority rendering; a few legacy strings keep English 'Webhook' — prefer the transliteration consistently."
|
||||
},
|
||||
"incoming webhook": {
|
||||
"target": "входящий вебхук"
|
||||
},
|
||||
"outgoing webhook": {
|
||||
"target": "исходящий вебхук"
|
||||
},
|
||||
"trigger word": {
|
||||
"target": "триггерное слово",
|
||||
"note": "Existing usage is inconsistent ('ключевое слово', 'слово-триггер', 'триггерное слово'). Prefer 'триггерное слово' to avoid colliding with 'keyword' = 'ключевое слово' in notification settings."
|
||||
},
|
||||
"plugin": {
|
||||
"target": "плагин"
|
||||
},
|
||||
"bot": {
|
||||
"target": "бот",
|
||||
"note": "Bot account: 'учётная запись бота'."
|
||||
},
|
||||
"role": {
|
||||
"target": "роль"
|
||||
},
|
||||
"permission": {
|
||||
"target": "разрешение",
|
||||
"note": "Plural 'разрешения'. Permission scheme: 'схема разрешений'."
|
||||
},
|
||||
"scheme": {
|
||||
"target": "схема"
|
||||
},
|
||||
"license": {
|
||||
"target": "лицензия"
|
||||
},
|
||||
"seat": {
|
||||
"target": "место",
|
||||
"note": "Licensed seat; existing plural forms: 'место/места/мест'."
|
||||
},
|
||||
"trial": {
|
||||
"target": "пробный период",
|
||||
"note": "Existing strings mix 'пробный период' (the period) and 'пробная версия' (the trial product/license); use 'пробный период' for the time-limited period sense."
|
||||
},
|
||||
"workspace": {
|
||||
"target": "рабочее пространство"
|
||||
},
|
||||
"subscription": {
|
||||
"target": "подписка"
|
||||
},
|
||||
"deactivate": {
|
||||
"target": "деактивировать",
|
||||
"note": "Deactivated: 'деактивирован(а)'."
|
||||
},
|
||||
"invite": {
|
||||
"target": "пригласить",
|
||||
"note": "Noun: 'приглашение'."
|
||||
},
|
||||
"invitation": {
|
||||
"target": "приглашение"
|
||||
},
|
||||
"sidebar": {
|
||||
"target": "боковая панель"
|
||||
},
|
||||
"unread": {
|
||||
"target": "непрочитанное",
|
||||
"note": "Adjective agrees with noun: 'непрочитанные сообщения/каналы'. The Unreads view: 'Непрочитанные'."
|
||||
},
|
||||
"attachment": {
|
||||
"target": "вложение",
|
||||
"note": "Plural 'вложения'."
|
||||
},
|
||||
"public channel": {
|
||||
"target": "публичный канал",
|
||||
"note": "Existing usage is split between 'публичный канал' and 'общий канал'; prefer 'публичный канал' because 'общий канал' collides with both 'shared channel' and the Town Square default channel name."
|
||||
},
|
||||
"private channel": {
|
||||
"target": "частный канал",
|
||||
"note": "Strong majority ('частный' 272 vs 'приватный' 34); keep 'частный канал'."
|
||||
},
|
||||
"shared channel": {
|
||||
"target": "общий канал",
|
||||
"note": "Existing rendering. Beware: 'Общий канал' is also the existing translation of the Town Square default channel name — rely on context, or use 'подключённый общий канал' in ambiguous admin prose."
|
||||
},
|
||||
"channel header": {
|
||||
"target": "заголовок канала"
|
||||
},
|
||||
"channel purpose": {
|
||||
"target": "назначение канала",
|
||||
"note": "Several existing system messages mistranslate 'purpose' as 'заголовок канала' (collides with header); use 'назначение канала'."
|
||||
},
|
||||
"system message": {
|
||||
"target": "системное сообщение"
|
||||
},
|
||||
"persistent notification": {
|
||||
"target": "постоянное уведомление",
|
||||
"note": "Existing rendering 'Постоянные уведомления'."
|
||||
},
|
||||
"message priority": {
|
||||
"target": "приоритет сообщения"
|
||||
},
|
||||
"urgent": {
|
||||
"target": "срочно",
|
||||
"note": "Priority label 'Срочно'; adjective form 'срочный/срочное' when modifying a noun (e.g. 'срочное упоминание')."
|
||||
},
|
||||
"recap": {
|
||||
"target": "сводка",
|
||||
"note": "No existing translation yet (new AI feature). 'Сводка' matches Russian conventions for AI activity summaries; plural 'сводки'."
|
||||
},
|
||||
"agent": {
|
||||
"target": "агент",
|
||||
"note": "Existing mention suggestion uses 'Агенты'."
|
||||
},
|
||||
"burn-on-read": {
|
||||
"target": "сгорающее после прочтения",
|
||||
"note": "No established translation yet; feature-discovery strings paraphrase ('сообщения, которые автоматически удаляются после прочтения'). For the label/adjective use 'сгорающее после прочтения (сообщение)'; the all-caps badge can be 'СГОРАЕТ ПОСЛЕ ПРОЧТЕНИЯ'."
|
||||
},
|
||||
"magic link": {
|
||||
"target": "магическая ссылка",
|
||||
"note": "Existing rendering ('доступ по магическим ссылкам')."
|
||||
},
|
||||
"personal access token": {
|
||||
"target": "персональный токен доступа",
|
||||
"note": "Existing strings mix 'персональный' and 'личный токен доступа'; prefer 'персональный токен доступа' (matches GitHub/GitLab ru convention)."
|
||||
},
|
||||
"announcement banner": {
|
||||
"target": "баннер объявления",
|
||||
"note": "Existing strings use 'баннер объявления' / 'баннер с объявлением'; one admin-permissions string mistranslates it as 'Система уведомлений' — ignore that."
|
||||
},
|
||||
"channel banner": {
|
||||
"target": "баннер канала",
|
||||
"note": "No existing translation; follows 'баннер' + genitive pattern used for announcement banner."
|
||||
},
|
||||
"keyword": {
|
||||
"target": "ключевое слово",
|
||||
"note": "Plural 'ключевые слова'. Reserved for notification keywords; use 'триггерное слово' for webhook trigger words."
|
||||
},
|
||||
"user group": {
|
||||
"target": "группа пользователей",
|
||||
"note": "Bare 'group' in group-mention context: 'группа'."
|
||||
},
|
||||
"permalink": {
|
||||
"target": "постоянная ссылка"
|
||||
},
|
||||
"profile": {
|
||||
"target": "профиль"
|
||||
},
|
||||
"username": {
|
||||
"target": "имя пользователя"
|
||||
},
|
||||
"nickname": {
|
||||
"target": "псевдоним",
|
||||
"note": "Majority rendering (8 vs 3 'прозвище'); avoid 'прозвище'."
|
||||
},
|
||||
"display name": {
|
||||
"target": "отображаемое имя",
|
||||
"note": "For apps/channels: 'отображаемое название'."
|
||||
},
|
||||
"collapsed reply threads": {
|
||||
"target": "свёрнутые обсуждения",
|
||||
"note": "No stable existing translation; derived from thread = 'обсуждение' and existing 'Collapsed' = 'Свёрнуто'."
|
||||
},
|
||||
"auto-translation": {
|
||||
"target": "автоперевод",
|
||||
"note": "Consistent in existing server strings; 'auto-translated' = 'переведено автоматически' or badge 'АВТОПЕРЕВОД'."
|
||||
},
|
||||
"data retention": {
|
||||
"target": "хранение данных",
|
||||
"note": "Policy: 'политика хранения данных'. Existing strings also use 'удержание' in one place — avoid."
|
||||
},
|
||||
"compliance export": {
|
||||
"target": "экспорт комплаенса",
|
||||
"note": "Majority rendering in the System Console; some strings use 'экспорт соответствия' / 'отчёты о соответствии'. Stay with 'экспорт комплаенса' for the feature name."
|
||||
},
|
||||
"access control": {
|
||||
"target": "контроль доступа",
|
||||
"note": "Attribute-based access control: 'контроль доступа на основе атрибутов (ABAC)'."
|
||||
},
|
||||
"attribute": {
|
||||
"target": "атрибут",
|
||||
"note": "Plural 'атрибуты'."
|
||||
},
|
||||
"onboarding": {
|
||||
"target": "адаптация",
|
||||
"note": "Existing rendering ('Включить адаптацию')."
|
||||
},
|
||||
"Town Square": {
|
||||
"target": "Общий канал",
|
||||
"note": "Existing server translation of the default channel name. Collides with 'shared channel' = 'общий канал'; keep capitalized as a proper channel name."
|
||||
},
|
||||
"Off-Topic": {
|
||||
"target": "Флуд",
|
||||
"note": "Existing server translation of the default channel name; keep for consistency (alternative 'Оффтопик' is not used in the repos)."
|
||||
},
|
||||
"read-only": {
|
||||
"target": "только для чтения",
|
||||
"note": "E.g. 'канал доступен только для чтения'."
|
||||
},
|
||||
"server": {
|
||||
"target": "сервер"
|
||||
}
|
||||
}
|
||||
451
i18n/glossary/sv.json
Normal file
451
i18n/glossary/sv.json
Normal file
@@ -0,0 +1,451 @@
|
||||
{
|
||||
"Mattermost": {
|
||||
"target": "Mattermost"
|
||||
},
|
||||
"Enterprise Edition": {
|
||||
"target": "Enterprise Edition"
|
||||
},
|
||||
"Team Edition": {
|
||||
"target": "Team Edition"
|
||||
},
|
||||
"Mattermost Cloud": {
|
||||
"target": "Mattermost Cloud"
|
||||
},
|
||||
"Channels": {
|
||||
"target": "Channels"
|
||||
},
|
||||
"Playbooks": {
|
||||
"target": "Playbooks"
|
||||
},
|
||||
"Boards": {
|
||||
"target": "Boards"
|
||||
},
|
||||
"Calls": {
|
||||
"target": "Calls"
|
||||
},
|
||||
"Markdown": {
|
||||
"target": "Markdown"
|
||||
},
|
||||
"OAuth": {
|
||||
"target": "OAuth"
|
||||
},
|
||||
"SAML": {
|
||||
"target": "SAML"
|
||||
},
|
||||
"LDAP": {
|
||||
"target": "LDAP"
|
||||
},
|
||||
"SSO": {
|
||||
"target": "SSO"
|
||||
},
|
||||
"MFA": {
|
||||
"target": "MFA"
|
||||
},
|
||||
"OpenID Connect": {
|
||||
"target": "OpenID Connect"
|
||||
},
|
||||
"Entra ID": {
|
||||
"target": "Entra ID"
|
||||
},
|
||||
"GitLab": {
|
||||
"target": "GitLab"
|
||||
},
|
||||
"Elasticsearch": {
|
||||
"target": "Elasticsearch"
|
||||
},
|
||||
"Gossip": {
|
||||
"target": "Gossip"
|
||||
},
|
||||
"Actiance XML": {
|
||||
"target": "Actiance XML"
|
||||
},
|
||||
"Global Relay": {
|
||||
"target": "Global Relay"
|
||||
},
|
||||
"System Console": {
|
||||
"target": "systemkonsolen",
|
||||
"note": "Existing translations overwhelmingly use 'systemkonsolen' (definite form) / 'systemkonsol'. Capitalize as 'Systemkonsolen' when used as a named UI area at sentence start or in titles."
|
||||
},
|
||||
"marketplace": {
|
||||
"target": "Marketplace",
|
||||
"note": "Usage is split: 'Marketplace' (kept in English, majority) vs 'marknadsplatsen'. Keep 'Marketplace' as the named in-product store; definite form 'Marketplace' unchanged."
|
||||
},
|
||||
"channel": {
|
||||
"target": "kanal",
|
||||
"note": "en kanal, kanalen, kanaler."
|
||||
},
|
||||
"team": {
|
||||
"target": "team",
|
||||
"note": "Neuter loanword: ett team, teamet, team (pl.), teamen. Majority of existing strings keep 'team'; a legacy minority uses 'grupp' — avoid 'grupp' here since it is needed for 'user group' (användargrupp)."
|
||||
},
|
||||
"post": {
|
||||
"target": "meddelande",
|
||||
"note": "Existing translations render both 'post' and 'message' as 'meddelande' (majority). 'inlägg' appears in some admin strings (e.g. 'Schemalagda inlägg'); prefer 'meddelande' for consistency."
|
||||
},
|
||||
"message": {
|
||||
"target": "meddelande",
|
||||
"note": "ett meddelande, meddelandet, meddelanden."
|
||||
},
|
||||
"thread": {
|
||||
"target": "tråd",
|
||||
"note": "en tråd, tråden, trådar. Threads view: 'Trådar'."
|
||||
},
|
||||
"reply": {
|
||||
"target": "svar",
|
||||
"note": "Noun: 'svar' (ett svar, svaret, svar). Verb: 'svara'."
|
||||
},
|
||||
"direct message": {
|
||||
"target": "direktmeddelande",
|
||||
"note": "Majority rendering. A couple of legacy strings use '(Privat meddelande)' — do not reuse. Sidebar category: 'DIREKTMEDDELANDEN'."
|
||||
},
|
||||
"group message": {
|
||||
"target": "gruppmeddelande"
|
||||
},
|
||||
"mention": {
|
||||
"target": "omnämnande",
|
||||
"note": "Noun: 'omnämnande' (pl. 'omnämnanden'). Verb: 'omnämna' or 'nämna'."
|
||||
},
|
||||
"notification": {
|
||||
"target": "notifiering",
|
||||
"note": "Existing usage is inconsistent: 'notifiering' (majority), 'avisering', 'meddelande'. Keep 'notifiering' for consistency; 'avisering' is the standard Swedish OS-level term and would be the better choice in a coordinated cleanup. Never use 'meddelande' (collides with 'message')."
|
||||
},
|
||||
"pin": {
|
||||
"target": "fästa",
|
||||
"note": "Inconsistent today: the action is 'Fäst i kanal' but the list is 'Nålade meddelanden'. Prefer 'fästa'/'fäst' (imperative 'Fäst') throughout; unpin = 'ta bort fäst meddelande'/'lossa'."
|
||||
},
|
||||
"bookmark": {
|
||||
"target": "bokmärke",
|
||||
"note": "Noun: 'bokmärke' (ett bokmärke, bokmärken). Verb: 'bokmärka' or 'lägga till bokmärke'."
|
||||
},
|
||||
"saved messages": {
|
||||
"target": "sparade meddelanden",
|
||||
"note": "UI title: 'Sparade meddelanden'. save = 'spara', unsave = 'ta bort från sparade'."
|
||||
},
|
||||
"draft": {
|
||||
"target": "utkast",
|
||||
"note": "ett utkast, utkastet, utkast (pl.)."
|
||||
},
|
||||
"scheduled post": {
|
||||
"target": "schemalagt meddelande",
|
||||
"note": "Existing strings use 'schemalagda meddelanden/utkast' and admin title 'Schemalagda inlägg'. Prefer 'schemalagt meddelande' to align with post/message = 'meddelande'."
|
||||
},
|
||||
"emoji": {
|
||||
"target": "emoji",
|
||||
"note": "en emoji, pl. 'emojier' (or invariant 'emoji'). NOTE: existing sv.json frequently misspells this as 'emoij' — always use 'emoji'."
|
||||
},
|
||||
"custom emoji": {
|
||||
"target": "anpassad emoji",
|
||||
"note": "Existing uses 'Anpassad emoij' (typo) and 'Egna emoij'. Use 'anpassad emoji'."
|
||||
},
|
||||
"reaction": {
|
||||
"target": "reaktion",
|
||||
"note": "en reaktion, reaktioner. Verb: 'reagera'. Existing has typo 'rekationer' — do not copy."
|
||||
},
|
||||
"status": {
|
||||
"target": "status",
|
||||
"note": "en status, statusen."
|
||||
},
|
||||
"custom status": {
|
||||
"target": "anpassad status"
|
||||
},
|
||||
"do not disturb": {
|
||||
"target": "stör ej",
|
||||
"note": "Status label: 'Stör ej'."
|
||||
},
|
||||
"away": {
|
||||
"target": "borta",
|
||||
"note": "Status label: 'Borta'. A legacy string uses 'Tillfälligt borta'."
|
||||
},
|
||||
"online": {
|
||||
"target": "online",
|
||||
"note": "Existing is inconsistent: 'Uppkopplad', 'Ansluten', 'Online'. Prefer 'online' (invariant, standard Swedish) — it also pairs naturally with 'offline'."
|
||||
},
|
||||
"offline": {
|
||||
"target": "offline",
|
||||
"note": "Majority rendering keeps 'Offline'."
|
||||
},
|
||||
"out of office": {
|
||||
"target": "ej tillgänglig",
|
||||
"note": "Existing UI uses 'Ej tillgänglig'. A more literal option is 'inte på kontoret'/'frånvarande', but keep the established term."
|
||||
},
|
||||
"guest": {
|
||||
"target": "gäst",
|
||||
"note": "en gäst, gäster. Tag: 'GÄST'."
|
||||
},
|
||||
"member": {
|
||||
"target": "medlem",
|
||||
"note": "en medlem, medlemmar."
|
||||
},
|
||||
"user": {
|
||||
"target": "användare",
|
||||
"note": "en användare, användare (pl.), användarna."
|
||||
},
|
||||
"system admin": {
|
||||
"target": "systemadministratör"
|
||||
},
|
||||
"team admin": {
|
||||
"target": "teamadministratör"
|
||||
},
|
||||
"channel admin": {
|
||||
"target": "kanaladministratör",
|
||||
"note": "Existing has typo 'Kanaladminstratör' and role-vs-activity mixup 'Kanaladministration' — use 'kanaladministratör' for the role."
|
||||
},
|
||||
"session": {
|
||||
"target": "session",
|
||||
"note": "en session, sessioner."
|
||||
},
|
||||
"sign in": {
|
||||
"target": "logga in",
|
||||
"note": "Use 'logga in' for both 'sign in' and 'log in'. Noun: 'inloggning'."
|
||||
},
|
||||
"sign out": {
|
||||
"target": "logga ut",
|
||||
"note": "Use 'logga ut' for both 'sign out' and 'log out'."
|
||||
},
|
||||
"join": {
|
||||
"target": "gå med",
|
||||
"note": "'gå med i' a channel/team (Gå med i kanalen). Calls uses 'anslut' for joining a call — keep those distinct."
|
||||
},
|
||||
"leave": {
|
||||
"target": "lämna"
|
||||
},
|
||||
"archive": {
|
||||
"target": "arkivera",
|
||||
"note": "archived = 'arkiverad'."
|
||||
},
|
||||
"unarchive": {
|
||||
"target": "avarkivera",
|
||||
"note": "Existing is very inconsistent: 'avarkivera', 'återställ ... från arkiv(et)', 'dearkivera', 'packa upp', and even a mistranslation 'Arkivera kanaler' for 'Unarchive Channel'. Standardize on 'avarkivera'."
|
||||
},
|
||||
"mute": {
|
||||
"target": "mjuta",
|
||||
"note": "Existing majority uses the anglicism 'mjuta' (Mjuta/mjutad) for channel mute; a minority uses 'tysta'. Keep 'mjuta' for consistency, though 'tysta' is more standard Swedish and would be the better choice in a coordinated cleanup."
|
||||
},
|
||||
"follow": {
|
||||
"target": "följa",
|
||||
"note": "Button: 'Följ'. following = 'följer'."
|
||||
},
|
||||
"unfollow": {
|
||||
"target": "sluta följa",
|
||||
"note": "Existing: 'Sluta följa tråden'. Avoid the calque 'avfölj' seen once in Playbooks."
|
||||
},
|
||||
"favorite": {
|
||||
"target": "favorit",
|
||||
"note": "Noun: 'favorit'; sidebar category 'Favoriter'. Verb: 'markera som favorit'; unfavorite = 'ta bort från favoriter'."
|
||||
},
|
||||
"search": {
|
||||
"target": "söka",
|
||||
"note": "Verb: 'söka' (button 'Sök'). Noun: 'sökning'."
|
||||
},
|
||||
"integration": {
|
||||
"target": "integration",
|
||||
"note": "en integration, integrationer."
|
||||
},
|
||||
"slash command": {
|
||||
"target": "slash-kommando",
|
||||
"note": "Consistently 'slash-kommando(n)' in existing translations."
|
||||
},
|
||||
"webhook": {
|
||||
"target": "webhook",
|
||||
"note": "Kept in English, common gender: en webhook, webhooken, webhooks/webhookar."
|
||||
},
|
||||
"incoming webhook": {
|
||||
"target": "inkommande webhook"
|
||||
},
|
||||
"outgoing webhook": {
|
||||
"target": "utgående webhook"
|
||||
},
|
||||
"trigger word": {
|
||||
"target": "aktiveringsord"
|
||||
},
|
||||
"plugin": {
|
||||
"target": "plugin",
|
||||
"note": "Kept in English (majority): ett plugin, pl. 'plugins' or 'plugin-program'. 'tillägg' appears in a minority of strings — avoid."
|
||||
},
|
||||
"bot": {
|
||||
"target": "bot",
|
||||
"note": "en bot, bottar/botar; bot account = 'bot-konto'."
|
||||
},
|
||||
"role": {
|
||||
"target": "roll",
|
||||
"note": "en roll, roller."
|
||||
},
|
||||
"permission": {
|
||||
"target": "behörighet",
|
||||
"note": "en behörighet, behörigheter."
|
||||
},
|
||||
"scheme": {
|
||||
"target": "schema",
|
||||
"note": "ett schema, scheman. Permission scheme = 'behörighetsschema'."
|
||||
},
|
||||
"license": {
|
||||
"target": "licens",
|
||||
"note": "en licens, licensen."
|
||||
},
|
||||
"seat": {
|
||||
"target": "plats",
|
||||
"note": "Existing renders licensed seats as 'platser' ('antalet platser i din licens')."
|
||||
},
|
||||
"trial": {
|
||||
"target": "prova-på-period",
|
||||
"note": "Majority rendering ('prova-på-period', 48 strings); 'testperiod' is a significant minority (23). Keep 'prova-på-period'."
|
||||
},
|
||||
"workspace": {
|
||||
"target": "arbetsyta",
|
||||
"note": "en arbetsyta, arbetsytan, arbetsytor. Majority rendering; some strings keep 'workspace'."
|
||||
},
|
||||
"subscription": {
|
||||
"target": "prenumeration",
|
||||
"note": "Majority; billing copy sometimes uses 'abonnemang' ('Köp ett abonnemang'). Prefer 'prenumeration'."
|
||||
},
|
||||
"deactivate": {
|
||||
"target": "avaktivera",
|
||||
"note": "deactivated = 'avaktiverad'."
|
||||
},
|
||||
"invite": {
|
||||
"target": "bjuda in",
|
||||
"note": "Verb: 'bjuda in' (imperative 'Bjud in'). Noun sense: use 'inbjudan'."
|
||||
},
|
||||
"invitation": {
|
||||
"target": "inbjudan",
|
||||
"note": "en inbjudan, inbjudningar."
|
||||
},
|
||||
"sidebar": {
|
||||
"target": "sidofält",
|
||||
"note": "Majority rendering ('sidofältet'); a few strings use 'meny'/'sidopanel' — prefer 'sidofält'."
|
||||
},
|
||||
"unread": {
|
||||
"target": "oläst",
|
||||
"note": "olästa meddelanden; Unreads view: 'Olästa'."
|
||||
},
|
||||
"attachment": {
|
||||
"target": "bilaga",
|
||||
"note": "en bilaga, bilagor. 'bifogad fil' also acceptable in running text."
|
||||
},
|
||||
"public channel": {
|
||||
"target": "publik kanal",
|
||||
"note": "Established as 'publik kanal' (not 'offentlig kanal')."
|
||||
},
|
||||
"private channel": {
|
||||
"target": "privat kanal"
|
||||
},
|
||||
"shared channel": {
|
||||
"target": "delad kanal"
|
||||
},
|
||||
"channel header": {
|
||||
"target": "kanalens sidhuvud",
|
||||
"note": "Inconsistent today: 'kanalens sidhuvud' (most common), 'kanalhuvudet', 'rubrik', 'header'. Standardize on 'kanalens sidhuvud' / 'sidhuvud'."
|
||||
},
|
||||
"channel purpose": {
|
||||
"target": "kanalens syfte",
|
||||
"note": "purpose = 'syfte' (majority)."
|
||||
},
|
||||
"system message": {
|
||||
"target": "systemmeddelande"
|
||||
},
|
||||
"persistent notification": {
|
||||
"target": "persistent notifiering",
|
||||
"note": "Very inconsistent today: server uses 'persistenta notifieringar'; webapp variously 'återkommande/varaktiga/upprepade aviseringar'. Standardize on 'persistent notifiering' (pl. 'persistenta notifieringar') to match notification = 'notifiering'."
|
||||
},
|
||||
"message priority": {
|
||||
"target": "meddelandeprioritet"
|
||||
},
|
||||
"urgent": {
|
||||
"target": "brådskande"
|
||||
},
|
||||
"recap": {
|
||||
"target": "sammanfattning",
|
||||
"note": "No existing sv translation (new feature). 'sammanfattning' matches how related AI summaries are rendered; if a distinct word is needed to avoid clashing with 'summary', use 'återblick'."
|
||||
},
|
||||
"agent": {
|
||||
"target": "agent",
|
||||
"note": "en agent, agenter. Mobile strings often say 'AI-agent' — acceptable where the AI context is not obvious."
|
||||
},
|
||||
"burn-on-read": {
|
||||
"target": "bränn vid läsning",
|
||||
"note": "UI labels use 'Bränn vid läsning' / 'BRÄNN VID LÄSNING'. One admin title uses 'Förstör meddelanden efter läsning' — prefer 'bränn vid läsning'."
|
||||
},
|
||||
"magic link": {
|
||||
"target": "magisk länk",
|
||||
"note": "Existing usage is split 50/50 between keeping 'Magic Link' and 'magisk länk'. Prefer the Swedish 'magisk länk' (en magisk länk, magiska länkar)."
|
||||
},
|
||||
"personal access token": {
|
||||
"target": "personlig åtkomsttoken",
|
||||
"note": "Existing UI strings use the hyphenated 'personligt åtkomst-token'."
|
||||
},
|
||||
"announcement banner": {
|
||||
"target": "informationsbanner",
|
||||
"note": "Majority rendering; one permissions string uses 'System-aviseringar' — avoid."
|
||||
},
|
||||
"channel banner": {
|
||||
"target": "kanalbanner",
|
||||
"note": "Existing strings phrase it as 'kanalens banner'; use 'kanalbanner' as the compact term."
|
||||
},
|
||||
"keyword": {
|
||||
"target": "nyckelord",
|
||||
"note": "ett nyckelord, nyckelorden."
|
||||
},
|
||||
"user group": {
|
||||
"target": "användargrupp",
|
||||
"note": "en användargrupp, användargrupper. Plain 'group' = 'grupp'."
|
||||
},
|
||||
"permalink": {
|
||||
"target": "permalänk"
|
||||
},
|
||||
"profile": {
|
||||
"target": "profil",
|
||||
"note": "en profil, profilen."
|
||||
},
|
||||
"username": {
|
||||
"target": "användarnamn"
|
||||
},
|
||||
"nickname": {
|
||||
"target": "smeknamn"
|
||||
},
|
||||
"display name": {
|
||||
"target": "visningsnamn"
|
||||
},
|
||||
"collapsed reply threads": {
|
||||
"target": "sammanfällda svarstrådar",
|
||||
"note": "Mobile consistently uses 'Sammanfällda svarstrådar'; one legacy webapp string says 'Dialog med Svarstrådar' — prefer the mobile rendering."
|
||||
},
|
||||
"auto-translation": {
|
||||
"target": "automatisk översättning",
|
||||
"note": "auto-translated = 'automatiskt översatt' (label 'AUTOMATISKT ÖVERSATT')."
|
||||
},
|
||||
"data retention": {
|
||||
"target": "gallring",
|
||||
"note": "Existing consistently uses the Swedish records-management term 'gallring' (gallringspolicy, gallringsjobb, gallringsschema); literal 'datalagring' appears only twice. Data retention policy = 'gallringspolicy'."
|
||||
},
|
||||
"compliance export": {
|
||||
"target": "efterlevnadsexport"
|
||||
},
|
||||
"access control": {
|
||||
"target": "åtkomstkontroll",
|
||||
"note": "Access control policy = 'åtkomstkontrollpolicy'."
|
||||
},
|
||||
"attribute": {
|
||||
"target": "attribut",
|
||||
"note": "ett attribut, attributet, attribut (pl.)."
|
||||
},
|
||||
"onboarding": {
|
||||
"target": "onboarding",
|
||||
"note": "Majority keeps 'onboarding'; 'introduktion' appears in a minority of strings."
|
||||
},
|
||||
"Town Square": {
|
||||
"target": "Torg",
|
||||
"note": "Existing server translation of the default channel name is 'Torg'. Keep as-is for consistency with existing servers; 'Torget' would be more idiomatic."
|
||||
},
|
||||
"Off-Topic": {
|
||||
"target": "Off-topic",
|
||||
"note": "Existing server translation is 'Orelevant' (a misspelling of 'Irrelevant'). Prefer 'Off-topic', a common loanword in Swedish forums; 'Utanför ämnet' is an alternative."
|
||||
},
|
||||
"read-only": {
|
||||
"target": "skrivskyddad",
|
||||
"note": "skrivskyddad kanal."
|
||||
},
|
||||
"server": {
|
||||
"target": "server",
|
||||
"note": "en server, servern, servrar."
|
||||
}
|
||||
}
|
||||
433
i18n/glossary/tr.json
Normal file
433
i18n/glossary/tr.json
Normal file
@@ -0,0 +1,433 @@
|
||||
{
|
||||
"Mattermost": {
|
||||
"target": "Mattermost"
|
||||
},
|
||||
"Enterprise Edition": {
|
||||
"target": "Enterprise Edition",
|
||||
"note": "Existing strings render it as 'Enterprise sürümü' when 'Edition' is generic ('Enterprise Edition License' -> 'Enterprise sürümü lisansı'); keep the product name itself in English."
|
||||
},
|
||||
"Team Edition": {
|
||||
"target": "Team Edition",
|
||||
"note": "Existing strings use 'Team sürümü' in running text; keep 'Team' in English, never translate it as 'Takım' here."
|
||||
},
|
||||
"Mattermost Cloud": {
|
||||
"target": "Mattermost Cloud"
|
||||
},
|
||||
"Channels": {
|
||||
"target": "Channels",
|
||||
"note": "Product name; do not confuse with the common noun 'channel' = 'kanal'."
|
||||
},
|
||||
"Playbooks": {
|
||||
"target": "Playbooks",
|
||||
"note": "Product name; the common noun 'playbook' is 'senaryo' in the Playbooks plugin."
|
||||
},
|
||||
"Boards": {
|
||||
"target": "Boards"
|
||||
},
|
||||
"Calls": {
|
||||
"target": "Calls",
|
||||
"note": "Product name; the common noun 'call' is 'çağrı'."
|
||||
},
|
||||
"Markdown": {
|
||||
"target": "Markdown"
|
||||
},
|
||||
"OAuth": {
|
||||
"target": "OAuth"
|
||||
},
|
||||
"SAML": {
|
||||
"target": "SAML"
|
||||
},
|
||||
"LDAP": {
|
||||
"target": "LDAP",
|
||||
"note": "Also 'AD/LDAP' stays unchanged."
|
||||
},
|
||||
"SSO": {
|
||||
"target": "SSO",
|
||||
"note": "Spelled out as 'tek oturum açma' in explanatory text; keep the abbreviation in labels."
|
||||
},
|
||||
"MFA": {
|
||||
"target": "MFA",
|
||||
"note": "Spelled out as 'çok aşamalı kimlik doğrulama' in explanatory text; keep the abbreviation in labels."
|
||||
},
|
||||
"OpenID Connect": {
|
||||
"target": "OpenID Connect"
|
||||
},
|
||||
"Entra ID": {
|
||||
"target": "Entra ID"
|
||||
},
|
||||
"GitLab": {
|
||||
"target": "GitLab"
|
||||
},
|
||||
"Elasticsearch": {
|
||||
"target": "Elasticsearch"
|
||||
},
|
||||
"Gossip": {
|
||||
"target": "Gossip"
|
||||
},
|
||||
"Actiance XML": {
|
||||
"target": "Actiance XML"
|
||||
},
|
||||
"Global Relay": {
|
||||
"target": "Global Relay"
|
||||
},
|
||||
"System Console": {
|
||||
"target": "sistem panosu",
|
||||
"note": "Consistently 'sistem panosu' in existing translations (not 'sistem konsolu'). Capitalize only sentence-initially; Turkish UI text here uses sentence case."
|
||||
},
|
||||
"marketplace": {
|
||||
"target": "mağaza",
|
||||
"note": "'App Marketplace' = 'uygulama mağazası'."
|
||||
},
|
||||
"channel": {
|
||||
"target": "kanal"
|
||||
},
|
||||
"team": {
|
||||
"target": "takım"
|
||||
},
|
||||
"post": {
|
||||
"target": "ileti",
|
||||
"note": "Turkish uses 'ileti' for both 'post' and 'message'; existing translations do not distinguish them."
|
||||
},
|
||||
"message": {
|
||||
"target": "ileti"
|
||||
},
|
||||
"thread": {
|
||||
"target": "konu",
|
||||
"note": "Majority rendering is 'konu'; a few mobile strings use 'ileti dizisi' — prefer 'konu'. Threads view = 'Konular'."
|
||||
},
|
||||
"reply": {
|
||||
"target": "yanıt",
|
||||
"note": "Noun: 'yanıt'; verb (buttons): 'yanıtla'. Turkish buttons use imperative verb forms."
|
||||
},
|
||||
"direct message": {
|
||||
"target": "doğrudan ileti",
|
||||
"note": "Do not use 'özel mesaj'; 'DM' is spelled out."
|
||||
},
|
||||
"group message": {
|
||||
"target": "grup iletisi"
|
||||
},
|
||||
"mention": {
|
||||
"target": "anma",
|
||||
"note": "Noun: 'anma'; verb: 'anmak' (e.g. 'yalnızca anıldığınızda' = 'only when mentioned'). '@mention' = '@anma'. Do not use 'bahsetme'."
|
||||
},
|
||||
"notification": {
|
||||
"target": "bildirim"
|
||||
},
|
||||
"pin": {
|
||||
"target": "sabitle",
|
||||
"note": "Verb 'sabitlemek'; 'pinned messages' = 'sabitlenmiş iletiler'; 'unpin' = 'sabitlemeyi kaldır'."
|
||||
},
|
||||
"bookmark": {
|
||||
"target": "yer imi",
|
||||
"note": "Noun: 'yer imi'; verb phrase: 'yer imi ekle'."
|
||||
},
|
||||
"saved messages": {
|
||||
"target": "kaydedilmiş iletiler",
|
||||
"note": "'save' = 'kaydet'; 'unsave' / 'Remove from Saved' = 'kaydedilmişlerden kaldır'."
|
||||
},
|
||||
"draft": {
|
||||
"target": "taslak"
|
||||
},
|
||||
"scheduled post": {
|
||||
"target": "zamanlanmış ileti",
|
||||
"note": "Verb 'schedule' = 'zamanla' (e.g. 'Taslağı zamanla')."
|
||||
},
|
||||
"emoji": {
|
||||
"target": "görsel ifade",
|
||||
"note": "Long-standing repo convention; do not use the loanword 'emoji' to stay consistent with existing UI."
|
||||
},
|
||||
"custom emoji": {
|
||||
"target": "özel görsel ifade"
|
||||
},
|
||||
"reaction": {
|
||||
"target": "tepki",
|
||||
"note": "Verb 'react' = 'tepki ver(mek)'."
|
||||
},
|
||||
"status": {
|
||||
"target": "durum"
|
||||
},
|
||||
"custom status": {
|
||||
"target": "özel durum"
|
||||
},
|
||||
"do not disturb": {
|
||||
"target": "rahatsız etmeyin",
|
||||
"note": "Sentence case in UI: 'Rahatsız etmeyin'. 'DND' is spelled out."
|
||||
},
|
||||
"away": {
|
||||
"target": "uzakta"
|
||||
},
|
||||
"online": {
|
||||
"target": "çevrim içi",
|
||||
"note": "Written as two words per repo convention (TDK spelling), not 'çevrimiçi'."
|
||||
},
|
||||
"offline": {
|
||||
"target": "çevrim dışı",
|
||||
"note": "Two words, matching 'çevrim içi'."
|
||||
},
|
||||
"out of office": {
|
||||
"target": "ofis dışında"
|
||||
},
|
||||
"guest": {
|
||||
"target": "konuk",
|
||||
"note": "Repo uses 'konuk', not 'misafir'."
|
||||
},
|
||||
"member": {
|
||||
"target": "üye"
|
||||
},
|
||||
"user": {
|
||||
"target": "kullanıcı"
|
||||
},
|
||||
"system admin": {
|
||||
"target": "sistem yöneticisi",
|
||||
"note": "'System Administrator' also 'sistem yöneticisi'; plural 'sistem yöneticileri'."
|
||||
},
|
||||
"team admin": {
|
||||
"target": "takım yöneticisi"
|
||||
},
|
||||
"channel admin": {
|
||||
"target": "kanal yöneticisi"
|
||||
},
|
||||
"session": {
|
||||
"target": "oturum",
|
||||
"note": "Same root as sign-in ('oturum aç'); context disambiguates."
|
||||
},
|
||||
"sign in": {
|
||||
"target": "oturum aç",
|
||||
"note": "Both 'sign in' and 'log in' are 'oturum aç' throughout; imperative for buttons ('Oturum aç'), 'oturum açın' in instructions."
|
||||
},
|
||||
"sign out": {
|
||||
"target": "oturumu kapat",
|
||||
"note": "Both 'sign out' and 'log out' are 'oturumu kapat'."
|
||||
},
|
||||
"join": {
|
||||
"target": "katıl",
|
||||
"note": "Verb 'katılmak'; takes dative: 'kanala katıl', 'takıma katıl'."
|
||||
},
|
||||
"leave": {
|
||||
"target": "ayrıl",
|
||||
"note": "Verb 'ayrılmak'; takes ablative: 'kanaldan ayrıl', 'takımdan ayrıl'."
|
||||
},
|
||||
"archive": {
|
||||
"target": "arşivle",
|
||||
"note": "'archived' = 'arşivlenmiş'."
|
||||
},
|
||||
"unarchive": {
|
||||
"target": "arşivden çıkar"
|
||||
},
|
||||
"mute": {
|
||||
"target": "bildirimleri kapat",
|
||||
"note": "For channels/categories the repo renders mute as 'bildirimleri kapat' (turn off notifications), e.g. 'Mute Channel' = 'Kanal bildirimlerini kapat'; 'unmute' = 'bildirimleri aç'. Distinct from Calls microphone mute = 'sesi kapat'."
|
||||
},
|
||||
"follow": {
|
||||
"target": "izle",
|
||||
"note": "Verb 'izlemek' ('Konuyu izle'); mobile occasionally uses 'takip et' — prefer 'izle' for consistency."
|
||||
},
|
||||
"unfollow": {
|
||||
"target": "izlemeyi bırak"
|
||||
},
|
||||
"favorite": {
|
||||
"target": "beğendiklerime ekle",
|
||||
"note": "Core apps: 'Favorite' = 'Beğendiklerime ekle', 'Favorites' category = 'Beğendiklerim', 'Unfavorite' = 'Beğendiklerimden kaldır'. Playbooks inconsistently uses 'sık kullanılanlar' — the core 'beğen-' family is the majority rendering."
|
||||
},
|
||||
"search": {
|
||||
"target": "arama",
|
||||
"note": "Noun: 'arama'; verb (buttons/placeholders): 'ara' / 'arayın'."
|
||||
},
|
||||
"integration": {
|
||||
"target": "bütünleştirme",
|
||||
"note": "Repo convention; do not use 'entegrasyon'."
|
||||
},
|
||||
"slash command": {
|
||||
"target": "bölü komutu"
|
||||
},
|
||||
"webhook": {
|
||||
"target": "internet kancası",
|
||||
"note": "Repo consistently localizes webhook as 'internet kancası'; do not keep English 'webhook'."
|
||||
},
|
||||
"incoming webhook": {
|
||||
"target": "gelen internet kancası"
|
||||
},
|
||||
"outgoing webhook": {
|
||||
"target": "giden internet kancası"
|
||||
},
|
||||
"trigger word": {
|
||||
"target": "tetikleyici sözcük",
|
||||
"note": "'sözcük' (not 'kelime') per repo vocabulary."
|
||||
},
|
||||
"plugin": {
|
||||
"target": "uygulama eki",
|
||||
"note": "Repo convention; do not use 'eklenti'."
|
||||
},
|
||||
"bot": {
|
||||
"target": "bot",
|
||||
"note": "'bot account' = 'bot hesabı'."
|
||||
},
|
||||
"role": {
|
||||
"target": "rol"
|
||||
},
|
||||
"permission": {
|
||||
"target": "izin"
|
||||
},
|
||||
"scheme": {
|
||||
"target": "şema",
|
||||
"note": "'permission scheme' = 'izin şeması'."
|
||||
},
|
||||
"license": {
|
||||
"target": "lisans"
|
||||
},
|
||||
"seat": {
|
||||
"target": "koltuk",
|
||||
"note": "'licensed seats' = 'lisanslı koltuklar'."
|
||||
},
|
||||
"trial": {
|
||||
"target": "deneme",
|
||||
"note": "'free trial' = 'ücretsiz deneme'; 'trial period' often rendered 'deneme süresi'."
|
||||
},
|
||||
"workspace": {
|
||||
"target": "çalışma alanı"
|
||||
},
|
||||
"subscription": {
|
||||
"target": "abonelik"
|
||||
},
|
||||
"deactivate": {
|
||||
"target": "etkisizleştir",
|
||||
"note": "Webapp (user-facing) uses 'etkisizleştir' for accounts; server strings sometimes use 'kullanımdan kaldır' (also used for disabling features). Prefer 'etkisizleştir' for user accounts."
|
||||
},
|
||||
"invite": {
|
||||
"target": "davet et",
|
||||
"note": "Verb: 'davet et'; noun: 'davet' ('Davet kodu' = invite code)."
|
||||
},
|
||||
"invitation": {
|
||||
"target": "davet",
|
||||
"note": "'invitation email' = 'davet e-postası'."
|
||||
},
|
||||
"sidebar": {
|
||||
"target": "kenar çubuğu"
|
||||
},
|
||||
"unread": {
|
||||
"target": "okunmamış",
|
||||
"note": "'Unreads' as a filter/list = 'okunmamışlar'."
|
||||
},
|
||||
"attachment": {
|
||||
"target": "ek dosya"
|
||||
},
|
||||
"public channel": {
|
||||
"target": "herkese açık kanal",
|
||||
"note": "Do not use 'genel kanal'."
|
||||
},
|
||||
"private channel": {
|
||||
"target": "özel kanal"
|
||||
},
|
||||
"shared channel": {
|
||||
"target": "paylaşılan kanal",
|
||||
"note": "Both 'paylaşılan kanal' and 'paylaşılmış kanal' appear; 'paylaşılan kanal' is the majority."
|
||||
},
|
||||
"channel header": {
|
||||
"target": "kanal başlığı"
|
||||
},
|
||||
"channel purpose": {
|
||||
"target": "kanal amacı"
|
||||
},
|
||||
"system message": {
|
||||
"target": "sistem iletisi"
|
||||
},
|
||||
"persistent notification": {
|
||||
"target": "kalıcı bildirim"
|
||||
},
|
||||
"message priority": {
|
||||
"target": "ileti önceliği"
|
||||
},
|
||||
"urgent": {
|
||||
"target": "acil",
|
||||
"note": "All-caps label: 'ACİL' (Turkish dotted İ)."
|
||||
},
|
||||
"recap": {
|
||||
"target": "özet",
|
||||
"note": "No existing tr strings for this feature yet; 'özet' matches Turkish UI convention for AI summaries. If it must be distinguished from a plain 'summary' in the same view, 'etkinlik özeti' is a safe longer form."
|
||||
},
|
||||
"agent": {
|
||||
"target": "aracı",
|
||||
"note": "Existing webapp/mobile strings use 'aracı' (e.g. 'Aracıyı seçin', 'yapay zeka aracısı'). Beware case suffixes: accusative 'aracıyı'. Despite the homonym meaning 'intermediary', keep 'aracı' for consistency."
|
||||
},
|
||||
"burn-on-read": {
|
||||
"target": "okunduğunda yok edilecek",
|
||||
"note": "Established as 'okunduğunda yok edilecek ileti(ler)' for burn-on-read messages; the bare label 'Burn-on-read' = 'Okunduğunda yok edilecek'."
|
||||
},
|
||||
"magic link": {
|
||||
"target": "sihirli bağlantı"
|
||||
},
|
||||
"personal access token": {
|
||||
"target": "kişisel erişim kodu",
|
||||
"note": "Repo renders 'token' as 'kod' in this term (not 'jeton'/'belirteç')."
|
||||
},
|
||||
"announcement banner": {
|
||||
"target": "duyuru bildirimi",
|
||||
"note": "Existing strings use 'duyuru bildirimi', which collides with 'notification' = 'bildirim'. A form preserving the banner sense ('duyuru şeridi') is unattested in the catalogs and needs a Turkish reviewer."
|
||||
},
|
||||
"channel banner": {
|
||||
"target": "kanal duyurusu",
|
||||
"note": "Established in server strings. Webapp majority is 'kanal bildirimi', which collides with 'notification' = 'bildirim'."
|
||||
},
|
||||
"keyword": {
|
||||
"target": "anahtar sözcük"
|
||||
},
|
||||
"user group": {
|
||||
"target": "kullanıcı grubu",
|
||||
"note": "Plain 'group' = 'grup'."
|
||||
},
|
||||
"permalink": {
|
||||
"target": "kalıcı bağlantı"
|
||||
},
|
||||
"profile": {
|
||||
"target": "profil",
|
||||
"note": "'profile picture' = 'profil görseli' (not 'profil resmi')."
|
||||
},
|
||||
"username": {
|
||||
"target": "kullanıcı adı"
|
||||
},
|
||||
"nickname": {
|
||||
"target": "takma ad"
|
||||
},
|
||||
"display name": {
|
||||
"target": "görüntülenecek ad",
|
||||
"note": "Repo uses the future participle 'görüntülenecek ad' (name to be displayed), not 'görünen ad'."
|
||||
},
|
||||
"collapsed reply threads": {
|
||||
"target": "daraltılmış yanıt konuları"
|
||||
},
|
||||
"auto-translation": {
|
||||
"target": "otomatik çeviri",
|
||||
"note": "'auto-translated' = 'otomatik çevrilmiş'; 'channel translations' = 'kanal çevirileri'."
|
||||
},
|
||||
"data retention": {
|
||||
"target": "verileri tutma",
|
||||
"note": "'data retention policy' = 'verileri tutma ilkesi'. Some strings use 'veri tutma'; majority is 'verileri tutma'. 'policy' = 'ilke' (not 'politika')."
|
||||
},
|
||||
"compliance export": {
|
||||
"target": "uyumluluk dışa aktarma"
|
||||
},
|
||||
"access control": {
|
||||
"target": "erişim denetimi",
|
||||
"note": "'attribute-based access control (ABAC)' = 'öznitelik temelli erişim denetimi'; 'access control policy' = 'erişim denetimi ilkesi'."
|
||||
},
|
||||
"attribute": {
|
||||
"target": "öznitelik"
|
||||
},
|
||||
"onboarding": {
|
||||
"target": "başlamaya hazırlanma",
|
||||
"note": "Repo renders onboarding descriptively as 'başlamaya hazırlanma / başlamaya hazırlık'; no loanword."
|
||||
},
|
||||
"Town Square": {
|
||||
"target": "Meydan"
|
||||
},
|
||||
"Off-Topic": {
|
||||
"target": "Konu dışı"
|
||||
},
|
||||
"read-only": {
|
||||
"target": "salt okunur"
|
||||
},
|
||||
"server": {
|
||||
"target": "sunucu",
|
||||
"note": "Beware: the Calls plugin also uses 'sunucu' for the call host; in core/server contexts 'sunucu' always means server."
|
||||
}
|
||||
}
|
||||
450
i18n/glossary/uk.json
Normal file
450
i18n/glossary/uk.json
Normal file
@@ -0,0 +1,450 @@
|
||||
{
|
||||
"Mattermost": {
|
||||
"target": "Mattermost"
|
||||
},
|
||||
"Enterprise Edition": {
|
||||
"target": "Enterprise Edition",
|
||||
"note": "Keep in English. Existing translations sometimes render it as 'Enterprise версія'; prefer the untranslated product name."
|
||||
},
|
||||
"Team Edition": {
|
||||
"target": "Team Edition",
|
||||
"note": "Keep in English. Existing translations sometimes use 'Командне видання'; prefer the untranslated product name per doNotTranslate."
|
||||
},
|
||||
"Mattermost Cloud": {
|
||||
"target": "Mattermost Cloud"
|
||||
},
|
||||
"Channels": {
|
||||
"target": "Channels",
|
||||
"note": "Product name; do not confuse with the common noun 'channel' = 'канал'."
|
||||
},
|
||||
"Playbooks": {
|
||||
"target": "Playbooks"
|
||||
},
|
||||
"Boards": {
|
||||
"target": "Boards"
|
||||
},
|
||||
"Calls": {
|
||||
"target": "Calls"
|
||||
},
|
||||
"Markdown": {
|
||||
"target": "Markdown"
|
||||
},
|
||||
"OAuth": {
|
||||
"target": "OAuth"
|
||||
},
|
||||
"SAML": {
|
||||
"target": "SAML"
|
||||
},
|
||||
"LDAP": {
|
||||
"target": "LDAP"
|
||||
},
|
||||
"SSO": {
|
||||
"target": "SSO"
|
||||
},
|
||||
"MFA": {
|
||||
"target": "MFA"
|
||||
},
|
||||
"OpenID Connect": {
|
||||
"target": "OpenID Connect"
|
||||
},
|
||||
"Entra ID": {
|
||||
"target": "Entra ID"
|
||||
},
|
||||
"GitLab": {
|
||||
"target": "GitLab"
|
||||
},
|
||||
"Elasticsearch": {
|
||||
"target": "Elasticsearch"
|
||||
},
|
||||
"Gossip": {
|
||||
"target": "Gossip"
|
||||
},
|
||||
"Actiance XML": {
|
||||
"target": "Actiance XML"
|
||||
},
|
||||
"Global Relay": {
|
||||
"target": "Global Relay"
|
||||
},
|
||||
"System Console": {
|
||||
"target": "системна консоль",
|
||||
"note": "Feminine noun; capitalize as 'Системна консоль' when used as the named UI area. Consistent in existing translations."
|
||||
},
|
||||
"marketplace": {
|
||||
"target": "магазин плагінів",
|
||||
"note": "Existing translations consistently use 'Магазин плагінів' (lit. 'plugin store') rather than a transliteration like 'маркетплейс'."
|
||||
},
|
||||
"channel": {
|
||||
"target": "канал",
|
||||
"note": "Masculine. Genitive 'каналу', plural 'канали'."
|
||||
},
|
||||
"team": {
|
||||
"target": "команда",
|
||||
"note": "Feminine. Same word as 'command'; context disambiguates."
|
||||
},
|
||||
"post": {
|
||||
"target": "допис",
|
||||
"note": "Masculine. Majority rendering; existing strings occasionally use 'повідомлення' or 'публікація' — prefer 'допис' to keep the post/message distinction."
|
||||
},
|
||||
"message": {
|
||||
"target": "повідомлення",
|
||||
"note": "Neuter; identical in singular and plural nominative."
|
||||
},
|
||||
"thread": {
|
||||
"target": "обговорення",
|
||||
"note": "Neuter. Consistently used in existing translations (not 'потік' or 'гілка', though 'потік' appears in a few admin strings)."
|
||||
},
|
||||
"reply": {
|
||||
"target": "відповідь",
|
||||
"note": "Noun is feminine (plural 'відповіді'). Verb: 'відповісти' (perfective) for buttons."
|
||||
},
|
||||
"direct message": {
|
||||
"target": "приватне повідомлення",
|
||||
"note": "Majority rendering; 'особисте повідомлення' appears sporadically — use 'приватне повідомлення' everywhere. Note the same adjective is used for 'private channel' = 'приватний канал'."
|
||||
},
|
||||
"group message": {
|
||||
"target": "групове повідомлення"
|
||||
},
|
||||
"mention": {
|
||||
"target": "згадка",
|
||||
"note": "Noun is feminine. Verb: 'згадати'; 'згадування' also appears for the act of mentioning."
|
||||
},
|
||||
"notification": {
|
||||
"target": "сповіщення",
|
||||
"note": "Neuter. Consistently 'сповіщення', not 'повідомлення' (reserved for 'message')."
|
||||
},
|
||||
"pin": {
|
||||
"target": "закріпити",
|
||||
"note": "'unpin' = 'відкріпити'; 'pinned messages' = 'закріплені повідомлення'."
|
||||
},
|
||||
"bookmark": {
|
||||
"target": "закладка",
|
||||
"note": "Noun is feminine. Verb: 'додати в закладки'."
|
||||
},
|
||||
"saved messages": {
|
||||
"target": "збережені повідомлення",
|
||||
"note": "'save' = 'зберегти', 'unsave' = 'скасувати збереження'."
|
||||
},
|
||||
"draft": {
|
||||
"target": "чернетка",
|
||||
"note": "Feminine. Plural 'чернетки'."
|
||||
},
|
||||
"scheduled post": {
|
||||
"target": "запланований допис",
|
||||
"note": "Existing strings mix 'запланований допис', 'заплановане повідомлення', and 'запланована публікація'; standardize on 'запланований допис'."
|
||||
},
|
||||
"emoji": {
|
||||
"target": "емодзі",
|
||||
"note": "Indeclinable neuter borrowing; same form in singular and plural."
|
||||
},
|
||||
"custom emoji": {
|
||||
"target": "користувацький емодзі",
|
||||
"note": "Existing translations use 'користувацькі емодзі' (plural); adjective agrees with indeclinable 'емодзі'."
|
||||
},
|
||||
"reaction": {
|
||||
"target": "реакція",
|
||||
"note": "Feminine. 'react' = 'відреагувати' / 'додати реакцію'."
|
||||
},
|
||||
"status": {
|
||||
"target": "статус"
|
||||
},
|
||||
"custom status": {
|
||||
"target": "користувацький статус",
|
||||
"note": "Majority rendering; 'власний статус' also appears occasionally."
|
||||
},
|
||||
"do not disturb": {
|
||||
"target": "Не турбувати"
|
||||
},
|
||||
"away": {
|
||||
"target": "Не на місці",
|
||||
"note": "Majority rendering for the status; 'Відсутній' appears in some strings — prefer 'Не на місці' (gender-neutral)."
|
||||
},
|
||||
"online": {
|
||||
"target": "В мережі",
|
||||
"note": "Majority rendering for the status; 'Онлайн' also appears — prefer 'В мережі'."
|
||||
},
|
||||
"offline": {
|
||||
"target": "Не в мережі",
|
||||
"note": "Majority rendering; 'Офлайн' appears occasionally."
|
||||
},
|
||||
"out of office": {
|
||||
"target": "Поза офісом",
|
||||
"note": "Majority rendering; 'Не в офісі' appears once in mobile."
|
||||
},
|
||||
"guest": {
|
||||
"target": "гість",
|
||||
"note": "Masculine. 'guest access' = 'гостьовий доступ', 'guest account' = 'гостьовий обліковий запис'."
|
||||
},
|
||||
"member": {
|
||||
"target": "учасник",
|
||||
"note": "Majority rendering; 'член' appears in some strings — prefer 'учасник'."
|
||||
},
|
||||
"user": {
|
||||
"target": "користувач",
|
||||
"note": "Masculine. Genitive 'користувача'."
|
||||
},
|
||||
"system admin": {
|
||||
"target": "системний адміністратор"
|
||||
},
|
||||
"team admin": {
|
||||
"target": "адміністратор команди"
|
||||
},
|
||||
"channel admin": {
|
||||
"target": "адміністратор каналу"
|
||||
},
|
||||
"session": {
|
||||
"target": "сесія",
|
||||
"note": "Majority rendering; 'сеанс' also appears — prefer 'сесія'."
|
||||
},
|
||||
"sign in": {
|
||||
"target": "увійти",
|
||||
"note": "Existing translations are inconsistent: the standalone Log in button is often 'Авторизуватися', while sentences use forms of 'увійти'/'вхід'. Standardize on 'увійти' ('вхід' as noun); translate 'log in' and 'sign in' identically."
|
||||
},
|
||||
"sign out": {
|
||||
"target": "вийти",
|
||||
"note": "Consistent; noun form 'вихід'. Translate 'log out' and 'sign out' identically."
|
||||
},
|
||||
"join": {
|
||||
"target": "приєднатися",
|
||||
"note": "Followed by 'до' + genitive: 'приєднатися до каналу/команди'."
|
||||
},
|
||||
"leave": {
|
||||
"target": "покинути",
|
||||
"note": "Majority rendering ('Покинути канал'); 'залишити' also appears — prefer 'покинути'."
|
||||
},
|
||||
"archive": {
|
||||
"target": "архівувати",
|
||||
"note": "Perfective 'заархівувати' for one-shot actions; 'archived' = 'заархівовано' / 'архівний'."
|
||||
},
|
||||
"unarchive": {
|
||||
"target": "розархівувати"
|
||||
},
|
||||
"mute": {
|
||||
"target": "заглушити",
|
||||
"note": "For channel notifications. Existing strings are inconsistent ('Не сповіщати', 'Вимкнути звук', 'Заглушити канал'); use 'заглушити' for channels and reserve 'вимкнути звук' for microphone muting in Calls."
|
||||
},
|
||||
"follow": {
|
||||
"target": "стежити",
|
||||
"note": "Existing strings mix 'Відстежувати', 'Слідкувати за' and 'стежити за'; standardize on 'стежити за' + instrumental."
|
||||
},
|
||||
"unfollow": {
|
||||
"target": "припинити стежити",
|
||||
"note": "Existing strings mix 'Не слідувати за' and 'Відписатися від'; use 'припинити стежити за' for consistency with 'follow' = 'стежити'."
|
||||
},
|
||||
"favorite": {
|
||||
"target": "обране",
|
||||
"note": "Sidebar category = 'Обране'. Verb: 'додати в обране'; 'unfavorite' = 'вилучити з обраного'."
|
||||
},
|
||||
"search": {
|
||||
"target": "пошук",
|
||||
"note": "Verb: 'шукати'."
|
||||
},
|
||||
"integration": {
|
||||
"target": "інтеграція",
|
||||
"note": "Feminine."
|
||||
},
|
||||
"slash command": {
|
||||
"target": "швидка команда",
|
||||
"note": "Majority rendering in existing translations; 'слеш-команда' appears occasionally. Note ambiguity with 'команда' = team."
|
||||
},
|
||||
"webhook": {
|
||||
"target": "вебхук",
|
||||
"note": "Masculine borrowing; majority spelling. 'веб-хук' (hyphenated) and untranslated 'Webhook' also appear — standardize on 'вебхук'."
|
||||
},
|
||||
"incoming webhook": {
|
||||
"target": "вхідний вебхук"
|
||||
},
|
||||
"outgoing webhook": {
|
||||
"target": "вихідний вебхук"
|
||||
},
|
||||
"trigger word": {
|
||||
"target": "тригерне слово",
|
||||
"note": "Existing strings split between 'тригерне слово' and 'ключове слово'; use 'тригерне слово' to keep it distinct from 'keyword' = 'ключове слово'. Avoid the misspelling 'триггерне' found in some strings."
|
||||
},
|
||||
"plugin": {
|
||||
"target": "плагін",
|
||||
"note": "Masculine. Consistent in existing translations."
|
||||
},
|
||||
"bot": {
|
||||
"target": "бот",
|
||||
"note": "'bot account' = 'обліковий запис бота'."
|
||||
},
|
||||
"role": {
|
||||
"target": "роль",
|
||||
"note": "Feminine."
|
||||
},
|
||||
"permission": {
|
||||
"target": "дозвіл",
|
||||
"note": "Masculine. Plural 'дозволи'."
|
||||
},
|
||||
"scheme": {
|
||||
"target": "схема",
|
||||
"note": "'permission scheme' = 'схема дозволів'."
|
||||
},
|
||||
"license": {
|
||||
"target": "ліцензія"
|
||||
},
|
||||
"seat": {
|
||||
"target": "місце",
|
||||
"note": "No existing translation found in repos; 'місце' (licensed seat) is the standard SaaS rendering. Use 'ліцензійне місце' where ambiguous."
|
||||
},
|
||||
"trial": {
|
||||
"target": "пробний період",
|
||||
"note": "Existing strings mix 'пробний період' and 'пробна версія'; prefer 'пробний період' for the time-limited trial."
|
||||
},
|
||||
"workspace": {
|
||||
"target": "робочий простір"
|
||||
},
|
||||
"subscription": {
|
||||
"target": "підписка"
|
||||
},
|
||||
"deactivate": {
|
||||
"target": "деактивувати",
|
||||
"note": "Consistent; 'deactivated' = 'деактивовано'."
|
||||
},
|
||||
"invite": {
|
||||
"target": "запросити",
|
||||
"note": "Verb; noun uses 'запрошення'."
|
||||
},
|
||||
"invitation": {
|
||||
"target": "запрошення",
|
||||
"note": "Neuter."
|
||||
},
|
||||
"sidebar": {
|
||||
"target": "бічна панель"
|
||||
},
|
||||
"unread": {
|
||||
"target": "непрочитане",
|
||||
"note": "Adjective; agrees in gender/number: 'непрочитані повідомлення', 'непрочитаний канал'."
|
||||
},
|
||||
"attachment": {
|
||||
"target": "вкладення",
|
||||
"note": "Neuter; identical singular/plural nominative."
|
||||
},
|
||||
"public channel": {
|
||||
"target": "публічний канал",
|
||||
"note": "Majority rendering; 'загальнодоступний канал' appears in some admin strings — prefer 'публічний канал'."
|
||||
},
|
||||
"private channel": {
|
||||
"target": "приватний канал"
|
||||
},
|
||||
"shared channel": {
|
||||
"target": "спільний канал"
|
||||
},
|
||||
"channel header": {
|
||||
"target": "заголовок каналу"
|
||||
},
|
||||
"channel purpose": {
|
||||
"target": "призначення каналу",
|
||||
"note": "Majority rendering in webapp; mobile occasionally uses 'мета' or mistakenly 'заголовок' — always use 'призначення каналу'."
|
||||
},
|
||||
"system message": {
|
||||
"target": "системне повідомлення"
|
||||
},
|
||||
"persistent notification": {
|
||||
"target": "постійне сповіщення",
|
||||
"note": "Consistent in existing translations ('постійні сповіщення')."
|
||||
},
|
||||
"message priority": {
|
||||
"target": "пріоритет повідомлення"
|
||||
},
|
||||
"urgent": {
|
||||
"target": "терміново",
|
||||
"note": "As the priority label; adjectival form 'терміновий' when modifying a noun. All-caps label: 'ТЕРМІНОВО'."
|
||||
},
|
||||
"recap": {
|
||||
"target": "підсумок",
|
||||
"note": "No existing translation in repos; 'підсумок' aligns with 'meeting summary' = 'підсумок зустрічі' in Calls. Genitive 'підсумку'."
|
||||
},
|
||||
"agent": {
|
||||
"target": "агент",
|
||||
"note": "Existing mobile strings use 'Агент' capitalized when referring to the AI feature; plural 'агенти'."
|
||||
},
|
||||
"burn-on-read": {
|
||||
"target": "що зникає після прочитання",
|
||||
"note": "Existing mobile string: 'Повідомлення, що зникає після прочитання'. For the all-caps inline label use 'ЗНИКАЄ ПІСЛЯ ПРОЧИТАННЯ' (avoid mobile's incorrect 'ПРОЧИТАТИ')."
|
||||
},
|
||||
"magic link": {
|
||||
"target": "магічне посилання",
|
||||
"note": "Grounded in existing mobile string 'Скористайтесь магічним посиланням'."
|
||||
},
|
||||
"personal access token": {
|
||||
"target": "персональний токен доступу",
|
||||
"note": "Existing strings mix 'токен' and 'маркер' for token; standardize on 'токен'."
|
||||
},
|
||||
"announcement banner": {
|
||||
"target": "банер оголошень",
|
||||
"note": "Existing strings inconsistent ('банер оголошення', 'банер з оголошеннями', 'Загальносистемні сповіщення'); standardize on 'банер оголошень'."
|
||||
},
|
||||
"channel banner": {
|
||||
"target": "банер каналу"
|
||||
},
|
||||
"keyword": {
|
||||
"target": "ключове слово",
|
||||
"note": "Plural 'ключові слова'."
|
||||
},
|
||||
"user group": {
|
||||
"target": "група користувачів"
|
||||
},
|
||||
"permalink": {
|
||||
"target": "постійне посилання",
|
||||
"note": "No established rendering in repos; 'постійне посилання' is the standard Ukrainian software term."
|
||||
},
|
||||
"profile": {
|
||||
"target": "профіль",
|
||||
"note": "Masculine. 'profile picture' = 'зображення профілю'."
|
||||
},
|
||||
"username": {
|
||||
"target": "ім'я користувача",
|
||||
"note": "Existing translations use 'Логін' for the standalone field label and 'ім'я користувача' in sentences; prefer 'ім'я користувача' for consistency."
|
||||
},
|
||||
"nickname": {
|
||||
"target": "псевдонім"
|
||||
},
|
||||
"display name": {
|
||||
"target": "відображуване ім'я",
|
||||
"note": "Existing strings mix 'відображуване ім'я' and 'ім'я відображення'; prefer 'відображуване ім'я'. For channels/teams use 'відображувана назва'."
|
||||
},
|
||||
"collapsed reply threads": {
|
||||
"target": "згорнуті відповіді в обговореннях",
|
||||
"note": "Established rendering in mobile; keep as the feature name even though a more literal option would be 'згорнуті обговорення'."
|
||||
},
|
||||
"auto-translation": {
|
||||
"target": "автоматичний переклад",
|
||||
"note": "No existing rendering in repos; 'AUTO-TRANSLATED' label = 'ПЕРЕКЛАДЕНО АВТОМАТИЧНО'."
|
||||
},
|
||||
"data retention": {
|
||||
"target": "зберігання даних",
|
||||
"note": "'data retention policy' = 'політика зберігання даних' (consistent in existing translations)."
|
||||
},
|
||||
"compliance export": {
|
||||
"target": "експорт відповідності"
|
||||
},
|
||||
"access control": {
|
||||
"target": "контроль доступу",
|
||||
"note": "'attribute-based access control' = 'контроль доступу на основі атрибутів'."
|
||||
},
|
||||
"attribute": {
|
||||
"target": "атрибут",
|
||||
"note": "Masculine."
|
||||
},
|
||||
"onboarding": {
|
||||
"target": "адаптація",
|
||||
"note": "Grounded in existing 'Увімкнути Адаптацію' / 'процес адаптації'."
|
||||
},
|
||||
"Town Square": {
|
||||
"target": "Загальний канал",
|
||||
"note": "Established default-channel name in server uk.json; keep consistent everywhere."
|
||||
},
|
||||
"Off-Topic": {
|
||||
"target": "Офтопік",
|
||||
"note": "Established default-channel name in server uk.json."
|
||||
},
|
||||
"read-only": {
|
||||
"target": "лише для читання",
|
||||
"note": "Grounded: 'Цей канал доступний лише для читання.'"
|
||||
},
|
||||
"server": {
|
||||
"target": "сервер",
|
||||
"note": "Masculine. Genitive 'сервера'."
|
||||
}
|
||||
}
|
||||
428
i18n/glossary/vi.json
Normal file
428
i18n/glossary/vi.json
Normal file
@@ -0,0 +1,428 @@
|
||||
{
|
||||
"Mattermost": {
|
||||
"target": "Mattermost"
|
||||
},
|
||||
"Enterprise Edition": {
|
||||
"target": "Enterprise Edition"
|
||||
},
|
||||
"Team Edition": {
|
||||
"target": "Team Edition",
|
||||
"note": "Repo once renders this as 'Phiên bản cho Nhóm'; per doNotTranslate keep the English edition name."
|
||||
},
|
||||
"Mattermost Cloud": {
|
||||
"target": "Mattermost Cloud"
|
||||
},
|
||||
"Channels": {
|
||||
"target": "Channels",
|
||||
"note": "Product name only; the common noun 'channel' is 'kênh'."
|
||||
},
|
||||
"Playbooks": {
|
||||
"target": "Playbooks"
|
||||
},
|
||||
"Boards": {
|
||||
"target": "Boards"
|
||||
},
|
||||
"Calls": {
|
||||
"target": "Calls"
|
||||
},
|
||||
"Markdown": {
|
||||
"target": "Markdown"
|
||||
},
|
||||
"OAuth": {
|
||||
"target": "OAuth"
|
||||
},
|
||||
"SAML": {
|
||||
"target": "SAML"
|
||||
},
|
||||
"LDAP": {
|
||||
"target": "LDAP"
|
||||
},
|
||||
"SSO": {
|
||||
"target": "SSO"
|
||||
},
|
||||
"MFA": {
|
||||
"target": "MFA"
|
||||
},
|
||||
"OpenID Connect": {
|
||||
"target": "OpenID Connect"
|
||||
},
|
||||
"Entra ID": {
|
||||
"target": "Entra ID"
|
||||
},
|
||||
"GitLab": {
|
||||
"target": "GitLab"
|
||||
},
|
||||
"Elasticsearch": {
|
||||
"target": "Elasticsearch"
|
||||
},
|
||||
"Gossip": {
|
||||
"target": "Gossip"
|
||||
},
|
||||
"Actiance XML": {
|
||||
"target": "Actiance XML"
|
||||
},
|
||||
"Global Relay": {
|
||||
"target": "Global Relay"
|
||||
},
|
||||
"System Console": {
|
||||
"target": "Bảng điều khiển Hệ thống",
|
||||
"note": "Established in vi.json; capitalize as a named UI area."
|
||||
},
|
||||
"marketplace": {
|
||||
"target": "thị trường",
|
||||
"note": "vi.json uses 'Thị trường' (e.g. 'Bật Thị trường'); capitalize when used as the feature name."
|
||||
},
|
||||
"channel": {
|
||||
"target": "kênh",
|
||||
"note": "Consistently 'kênh' throughout vi.json."
|
||||
},
|
||||
"team": {
|
||||
"target": "nhóm",
|
||||
"note": "Majority rendering (236 'nhóm' vs 33 'đội' in vi.json). Caution: 'nhóm' also translates 'group' (user group = 'nhóm người dùng', group message = 'tin nhắn nhóm'); use context or 'đội' only if disambiguation is essential — but 'nhóm' is the established default."
|
||||
},
|
||||
"post": {
|
||||
"target": "bài đăng",
|
||||
"note": "Distinct from 'message' = 'tin nhắn'; vi.json uses 'bài đăng' for post."
|
||||
},
|
||||
"message": {
|
||||
"target": "tin nhắn"
|
||||
},
|
||||
"thread": {
|
||||
"target": "chủ đề",
|
||||
"note": "Established in vi.json ('Chủ đề trong', 'chủ đề chưa đọc'). Also means 'topic'; alternative 'luồng' is not used in the repo — keep 'chủ đề'."
|
||||
},
|
||||
"reply": {
|
||||
"target": "trả lời",
|
||||
"note": "Verb and noun both 'trả lời'; a reply message can be 'câu trả lời'."
|
||||
},
|
||||
"direct message": {
|
||||
"target": "tin nhắn trực tiếp",
|
||||
"note": "Consistent in vi.json; capitalize as 'Tin nhắn Trực tiếp' in headings."
|
||||
},
|
||||
"group message": {
|
||||
"target": "tin nhắn nhóm"
|
||||
},
|
||||
"mention": {
|
||||
"target": "đề cập",
|
||||
"note": "Verb 'đề cập'; noun/count 'lượt đề cập' (per vi.json 'mentions' -> 'lượt đề cập')."
|
||||
},
|
||||
"notification": {
|
||||
"target": "thông báo"
|
||||
},
|
||||
"pin": {
|
||||
"target": "ghim",
|
||||
"note": "unpin = 'bỏ ghim'; pinned = 'đã ghim'; pinned messages = 'tin nhắn được ghim'."
|
||||
},
|
||||
"bookmark": {
|
||||
"target": "dấu trang",
|
||||
"note": "No existing vi rendering in repo; 'dấu trang' is the standard Vietnamese UI term (browsers). Verb: 'thêm dấu trang'."
|
||||
},
|
||||
"saved messages": {
|
||||
"target": "tin nhắn đã lưu",
|
||||
"note": "vi.json is inconsistent: 'Bài đăng đã lưu' in one label but 'tin nhắn được lưu' elsewhere; prefer 'tin nhắn đã lưu' to match message = 'tin nhắn'. save = 'lưu', unsave = 'bỏ lưu'."
|
||||
},
|
||||
"draft": {
|
||||
"target": "bản nháp",
|
||||
"note": "vi.json uses short form 'nháp' in buttons ('Gửi nháp', 'Xoá nháp'); 'bản nháp' as the standalone noun."
|
||||
},
|
||||
"scheduled post": {
|
||||
"target": "tin nhắn đã lên lịch",
|
||||
"note": "No existing vi rendering; align with message = 'tin nhắn'. Verb schedule = 'lên lịch'."
|
||||
},
|
||||
"emoji": {
|
||||
"target": "biểu tượng cảm xúc",
|
||||
"note": "Consistent in vi.json."
|
||||
},
|
||||
"custom emoji": {
|
||||
"target": "biểu tượng cảm xúc tùy chỉnh"
|
||||
},
|
||||
"reaction": {
|
||||
"target": "phản ứng",
|
||||
"note": "Established in vi.json; verb react = 'phản ứng' or 'thêm phản ứng'."
|
||||
},
|
||||
"status": {
|
||||
"target": "trạng thái"
|
||||
},
|
||||
"custom status": {
|
||||
"target": "trạng thái tùy chỉnh"
|
||||
},
|
||||
"do not disturb": {
|
||||
"target": "Không làm phiền",
|
||||
"note": "Established status label in vi.json; keep the DND abbreviation untranslated if it appears."
|
||||
},
|
||||
"away": {
|
||||
"target": "Đi vắng"
|
||||
},
|
||||
"online": {
|
||||
"target": "Trực tuyến"
|
||||
},
|
||||
"offline": {
|
||||
"target": "Ngoại tuyến"
|
||||
},
|
||||
"out of office": {
|
||||
"target": "Vắng mặt",
|
||||
"note": "vi.json uses 'Vắng mặt' for the status label; expanded 'vắng mặt tại văn phòng' in prose."
|
||||
},
|
||||
"guest": {
|
||||
"target": "khách"
|
||||
},
|
||||
"member": {
|
||||
"target": "thành viên"
|
||||
},
|
||||
"user": {
|
||||
"target": "người dùng"
|
||||
},
|
||||
"system admin": {
|
||||
"target": "quản trị viên hệ thống",
|
||||
"note": "vi.json labels the role 'Quản trị hệ thống'; use 'quản trị viên hệ thống' when referring to the person."
|
||||
},
|
||||
"team admin": {
|
||||
"target": "quản trị viên nhóm"
|
||||
},
|
||||
"channel admin": {
|
||||
"target": "quản trị viên kênh"
|
||||
},
|
||||
"session": {
|
||||
"target": "phiên",
|
||||
"note": "Also 'phiên đăng nhập' where clarity is needed (vi.json uses both)."
|
||||
},
|
||||
"sign in": {
|
||||
"target": "đăng nhập",
|
||||
"note": "Translate both 'sign in' and 'log in' as 'đăng nhập'."
|
||||
},
|
||||
"sign out": {
|
||||
"target": "đăng xuất",
|
||||
"note": "Translate both 'sign out' and 'log out' as 'đăng xuất'."
|
||||
},
|
||||
"join": {
|
||||
"target": "tham gia"
|
||||
},
|
||||
"leave": {
|
||||
"target": "rời khỏi",
|
||||
"note": "'rời' alone in short buttons; 'rời khỏi kênh/nhóm' in full phrases."
|
||||
},
|
||||
"archive": {
|
||||
"target": "lưu trữ",
|
||||
"note": "archived = 'đã lưu trữ'. Caution: 'lưu trữ' also means 'store/save' in some legacy strings; for the channel action always 'lưu trữ kênh'."
|
||||
},
|
||||
"unarchive": {
|
||||
"target": "hủy lưu trữ"
|
||||
},
|
||||
"mute": {
|
||||
"target": "tắt thông báo",
|
||||
"note": "vi.json is inconsistent ('Tắt tiếng kênh' vs 'Tắt thông báo'). For channels/notifications use 'tắt thông báo'; reserve 'tắt tiếng' for microphone mute in Calls. unmute = 'bật thông báo'."
|
||||
},
|
||||
"follow": {
|
||||
"target": "theo dõi"
|
||||
},
|
||||
"unfollow": {
|
||||
"target": "bỏ theo dõi"
|
||||
},
|
||||
"favorite": {
|
||||
"target": "yêu thích",
|
||||
"note": "Favorites category = 'Yêu thích'; unfavorite = 'bỏ yêu thích'."
|
||||
},
|
||||
"search": {
|
||||
"target": "tìm kiếm"
|
||||
},
|
||||
"integration": {
|
||||
"target": "tích hợp"
|
||||
},
|
||||
"slash command": {
|
||||
"target": "lệnh gạch chéo",
|
||||
"note": "Majority in vi.json; some strings leave 'Slash Commands' untranslated — prefer 'lệnh gạch chéo'."
|
||||
},
|
||||
"webhook": {
|
||||
"target": "webhook",
|
||||
"note": "Kept in English throughout vi.json."
|
||||
},
|
||||
"incoming webhook": {
|
||||
"target": "webhook đến"
|
||||
},
|
||||
"outgoing webhook": {
|
||||
"target": "webhook đi"
|
||||
},
|
||||
"trigger word": {
|
||||
"target": "từ kích hoạt"
|
||||
},
|
||||
"plugin": {
|
||||
"target": "plugin",
|
||||
"note": "Kept in English throughout vi.json; do not translate as 'trình cắm'."
|
||||
},
|
||||
"bot": {
|
||||
"target": "bot",
|
||||
"note": "Kept in English; bot account = 'tài khoản bot'."
|
||||
},
|
||||
"role": {
|
||||
"target": "vai trò"
|
||||
},
|
||||
"permission": {
|
||||
"target": "quyền"
|
||||
},
|
||||
"scheme": {
|
||||
"target": "lược đồ",
|
||||
"note": "vi.json mixes 'lược đồ' and 'sơ đồ' ('Sơ đồ quyền'); prefer 'lược đồ' for permission schemes."
|
||||
},
|
||||
"license": {
|
||||
"target": "giấy phép"
|
||||
},
|
||||
"seat": {
|
||||
"target": "chỗ",
|
||||
"note": "A licensed slot, not a user: render seat counts as '{num} chỗ'. Existing strings are inconsistent ('người dùng trả phí', 'chỗ ngồi', 'ghế người dùng') and must not collapse to plain 'người dùng'."
|
||||
},
|
||||
"trial": {
|
||||
"target": "bản dùng thử",
|
||||
"note": "'dùng thử' as verb/period ('Bắt đầu dùng thử', 'ngày dùng thử')."
|
||||
},
|
||||
"workspace": {
|
||||
"target": "không gian làm việc",
|
||||
"note": "Majority in vi.json; a few strings leave 'workspace' untranslated — prefer 'không gian làm việc'."
|
||||
},
|
||||
"subscription": {
|
||||
"target": "gói đăng ký",
|
||||
"note": "vi.json uses bare 'Đăng ký', which collides with 'sign up/register'; 'gói đăng ký' is clearer for the paid-plan sense."
|
||||
},
|
||||
"deactivate": {
|
||||
"target": "hủy kích hoạt",
|
||||
"note": "vi.json mixes 'hủy kích hoạt' and 'vô hiệu hóa'; prefer 'hủy kích hoạt' for user accounts, matching 'Deactivate' -> 'Hủy kích hoạt'."
|
||||
},
|
||||
"invite": {
|
||||
"target": "mời",
|
||||
"note": "Noun sense: use 'lời mời'."
|
||||
},
|
||||
"invitation": {
|
||||
"target": "lời mời"
|
||||
},
|
||||
"sidebar": {
|
||||
"target": "thanh bên",
|
||||
"note": "Majority in vi.json; one legacy string uses 'thanh tiện ích' — prefer 'thanh bên'."
|
||||
},
|
||||
"unread": {
|
||||
"target": "chưa đọc"
|
||||
},
|
||||
"attachment": {
|
||||
"target": "tệp đính kèm"
|
||||
},
|
||||
"public channel": {
|
||||
"target": "kênh công khai"
|
||||
},
|
||||
"private channel": {
|
||||
"target": "kênh riêng tư"
|
||||
},
|
||||
"shared channel": {
|
||||
"target": "kênh được chia sẻ"
|
||||
},
|
||||
"channel header": {
|
||||
"target": "tiêu đề kênh"
|
||||
},
|
||||
"channel purpose": {
|
||||
"target": "mục đích kênh"
|
||||
},
|
||||
"system message": {
|
||||
"target": "thông báo hệ thống",
|
||||
"note": "Established in vi.json; slight collision with notification = 'thông báo', but keep for consistency."
|
||||
},
|
||||
"persistent notification": {
|
||||
"target": "thông báo liên tục",
|
||||
"note": "No existing vi rendering; 'liên tục' conveys the repeated-until-acknowledged behavior."
|
||||
},
|
||||
"message priority": {
|
||||
"target": "mức ưu tiên tin nhắn",
|
||||
"note": "vi.json has 'Ưu tiên tin nhắn'; 'mức ưu tiên' is clearer for the noun (the priority level)."
|
||||
},
|
||||
"urgent": {
|
||||
"target": "Khẩn cấp",
|
||||
"note": "vi.json has one legacy 'Gấp'; 'Khẩn cấp' is the standard priority label in Vietnamese UIs and matches Important/Standard register."
|
||||
},
|
||||
"recap": {
|
||||
"target": "bản tóm tắt",
|
||||
"note": "No existing vi rendering (new AI feature); aligns with 'tóm tắt' = summary."
|
||||
},
|
||||
"agent": {
|
||||
"target": "tác nhân",
|
||||
"note": "No existing vi rendering. 'Tác nhân' follows Microsoft/Google Vietnamese AI terminology; 'trợ lý AI' is a friendlier alternative. Keep 'Agents' in English when used as the product/plugin name."
|
||||
},
|
||||
"burn-on-read": {
|
||||
"target": "tự hủy sau khi đọc",
|
||||
"note": "No existing vi rendering; follows Vietnamese messaging-app convention for self-destructing messages (tin nhắn tự hủy)."
|
||||
},
|
||||
"magic link": {
|
||||
"target": "liên kết đăng nhập nhanh",
|
||||
"note": "No existing vi rendering; avoid literal 'liên kết ma thuật'. Describes a passwordless email sign-in link."
|
||||
},
|
||||
"personal access token": {
|
||||
"target": "mã thông báo truy cập cá nhân",
|
||||
"note": "vi.json mixes this with shorter 'mã truy cập cá nhân'; 'mã thông báo' is the standard rendering of 'token' — prefer the full form."
|
||||
},
|
||||
"announcement banner": {
|
||||
"target": "biểu ngữ thông báo",
|
||||
"note": "Majority in vi.json; one string uses 'Banner thông báo' — prefer 'biểu ngữ thông báo'."
|
||||
},
|
||||
"channel banner": {
|
||||
"target": "biểu ngữ kênh"
|
||||
},
|
||||
"keyword": {
|
||||
"target": "từ khóa"
|
||||
},
|
||||
"user group": {
|
||||
"target": "nhóm người dùng",
|
||||
"note": "Established in vi.json. Note collision: 'nhóm' alone also renders 'team'."
|
||||
},
|
||||
"permalink": {
|
||||
"target": "liên kết cố định",
|
||||
"note": "No existing vi rendering; standard Vietnamese term for permanent link."
|
||||
},
|
||||
"profile": {
|
||||
"target": "hồ sơ"
|
||||
},
|
||||
"username": {
|
||||
"target": "tên người dùng"
|
||||
},
|
||||
"nickname": {
|
||||
"target": "biệt hiệu",
|
||||
"note": "Established in vi.json ('thêm biệt hiệu')."
|
||||
},
|
||||
"display name": {
|
||||
"target": "tên hiển thị"
|
||||
},
|
||||
"collapsed reply threads": {
|
||||
"target": "chủ đề trả lời được thu gọn",
|
||||
"note": "Exact existing rendering in vi.json for 'Threaded Discussions'/collapsed threads."
|
||||
},
|
||||
"auto-translation": {
|
||||
"target": "dịch tự động",
|
||||
"note": "auto-translated (label) = 'ĐÃ DỊCH TỰ ĐỘNG'."
|
||||
},
|
||||
"data retention": {
|
||||
"target": "lưu giữ dữ liệu",
|
||||
"note": "Policy = 'chính sách lưu giữ dữ liệu' (established in vi.json)."
|
||||
},
|
||||
"compliance export": {
|
||||
"target": "xuất tuân thủ"
|
||||
},
|
||||
"access control": {
|
||||
"target": "kiểm soát truy cập",
|
||||
"note": "One legacy vi string renders 'Advanced Access Control' as 'Kiểm duyệt kênh' (channel moderation) — do not follow it; 'kiểm soát truy cập' is the standard term."
|
||||
},
|
||||
"attribute": {
|
||||
"target": "thuộc tính"
|
||||
},
|
||||
"onboarding": {
|
||||
"target": "hướng dẫn bắt đầu",
|
||||
"note": "vi.json has one legacy 'giới thiệu'; 'hướng dẫn bắt đầu' better conveys the guided first-run experience."
|
||||
},
|
||||
"Town Square": {
|
||||
"target": "Không gian chung",
|
||||
"note": "Established channel-name translation in server vi.json."
|
||||
},
|
||||
"Off-Topic": {
|
||||
"target": "Chủ đề ngoài lề",
|
||||
"note": "Established channel-name translation in server vi.json."
|
||||
},
|
||||
"read-only": {
|
||||
"target": "chỉ đọc"
|
||||
},
|
||||
"server": {
|
||||
"target": "máy chủ"
|
||||
}
|
||||
}
|
||||
405
i18n/glossary/zh-CN.json
Normal file
405
i18n/glossary/zh-CN.json
Normal file
@@ -0,0 +1,405 @@
|
||||
{
|
||||
"Mattermost": {
|
||||
"target": "Mattermost"
|
||||
},
|
||||
"Enterprise Edition": {
|
||||
"target": "Enterprise Edition",
|
||||
"note": "Product edition name; existing zh-CN UI sometimes says 企业版 in marketing copy, but keep the edition name in English."
|
||||
},
|
||||
"Team Edition": {
|
||||
"target": "Team Edition"
|
||||
},
|
||||
"Mattermost Cloud": {
|
||||
"target": "Mattermost Cloud"
|
||||
},
|
||||
"Channels": {
|
||||
"target": "Channels",
|
||||
"note": "Product name only; the common noun 'channel' is 频道."
|
||||
},
|
||||
"Playbooks": {
|
||||
"target": "Playbooks"
|
||||
},
|
||||
"Boards": {
|
||||
"target": "Boards"
|
||||
},
|
||||
"Calls": {
|
||||
"target": "Calls",
|
||||
"note": "Product name only; the common noun 'call' is 通话."
|
||||
},
|
||||
"Markdown": {
|
||||
"target": "Markdown"
|
||||
},
|
||||
"OAuth": {
|
||||
"target": "OAuth"
|
||||
},
|
||||
"SAML": {
|
||||
"target": "SAML"
|
||||
},
|
||||
"LDAP": {
|
||||
"target": "LDAP"
|
||||
},
|
||||
"SSO": {
|
||||
"target": "SSO"
|
||||
},
|
||||
"MFA": {
|
||||
"target": "MFA"
|
||||
},
|
||||
"OpenID Connect": {
|
||||
"target": "OpenID Connect"
|
||||
},
|
||||
"Entra ID": {
|
||||
"target": "Entra ID"
|
||||
},
|
||||
"GitLab": {
|
||||
"target": "GitLab"
|
||||
},
|
||||
"Elasticsearch": {
|
||||
"target": "Elasticsearch"
|
||||
},
|
||||
"Gossip": {
|
||||
"target": "Gossip"
|
||||
},
|
||||
"Actiance XML": {
|
||||
"target": "Actiance XML"
|
||||
},
|
||||
"Global Relay": {
|
||||
"target": "Global Relay"
|
||||
},
|
||||
"System Console": {
|
||||
"target": "系统控制台"
|
||||
},
|
||||
"marketplace": {
|
||||
"target": "市场"
|
||||
},
|
||||
"channel": {
|
||||
"target": "频道"
|
||||
},
|
||||
"team": {
|
||||
"target": "团队"
|
||||
},
|
||||
"post": {
|
||||
"target": "消息",
|
||||
"note": "Existing zh-CN does not distinguish post from message; both are 消息 (e.g. 创建消息, 固定消息). Do not use 帖子."
|
||||
},
|
||||
"message": {
|
||||
"target": "消息"
|
||||
},
|
||||
"thread": {
|
||||
"target": "话题",
|
||||
"note": "Established rendering is 话题, not 会话串 or 主题; Threads view = 话题."
|
||||
},
|
||||
"reply": {
|
||||
"target": "回复",
|
||||
"note": "Noun and verb are both 回复."
|
||||
},
|
||||
"direct message": {
|
||||
"target": "私信",
|
||||
"note": "Occasionally expanded to 私信消息 in descriptions; standalone 私信 is standard."
|
||||
},
|
||||
"group message": {
|
||||
"target": "群组消息"
|
||||
},
|
||||
"mention": {
|
||||
"target": "提及",
|
||||
"note": "Noun and verb are both 提及; @mention = @提及 or 提及."
|
||||
},
|
||||
"notification": {
|
||||
"target": "通知"
|
||||
},
|
||||
"pin": {
|
||||
"target": "固定",
|
||||
"note": "Pin to Channel = 固定至频道; pinned messages = 固定消息; unpin = 取消固定. A few legacy strings use 标记 — avoid."
|
||||
},
|
||||
"bookmark": {
|
||||
"target": "书签",
|
||||
"note": "Noun; as a verb use 添加书签."
|
||||
},
|
||||
"saved messages": {
|
||||
"target": "保存的消息",
|
||||
"note": "save = 保存, unsave = 取消保存."
|
||||
},
|
||||
"draft": {
|
||||
"target": "草稿"
|
||||
},
|
||||
"scheduled post": {
|
||||
"target": "计划消息",
|
||||
"note": "Majority rendering; 定时消息/定时发送 appear in a minority of strings."
|
||||
},
|
||||
"emoji": {
|
||||
"target": "表情符",
|
||||
"note": "Majority rendering in webapp zh-CN is 表情符; 表情 and 表情符号 appear in a minority of strings and in other repos."
|
||||
},
|
||||
"custom emoji": {
|
||||
"target": "自定义表情",
|
||||
"note": "Existing UI uses 自定义表情 (without 符), inconsistent with emoji = 表情符; keep the established form."
|
||||
},
|
||||
"reaction": {
|
||||
"target": "表情回应",
|
||||
"note": "Consistently 表情回应, not bare 回应 or 反应; react (verb) = 添加表情回应."
|
||||
},
|
||||
"status": {
|
||||
"target": "状态"
|
||||
},
|
||||
"custom status": {
|
||||
"target": "自定义状态"
|
||||
},
|
||||
"do not disturb": {
|
||||
"target": "请勿打扰"
|
||||
},
|
||||
"away": {
|
||||
"target": "离开",
|
||||
"note": "Same word as leave (离开); context disambiguates."
|
||||
},
|
||||
"online": {
|
||||
"target": "在线"
|
||||
},
|
||||
"offline": {
|
||||
"target": "离线"
|
||||
},
|
||||
"out of office": {
|
||||
"target": "离开办公室"
|
||||
},
|
||||
"guest": {
|
||||
"target": "访客"
|
||||
},
|
||||
"member": {
|
||||
"target": "成员"
|
||||
},
|
||||
"user": {
|
||||
"target": "用户"
|
||||
},
|
||||
"system admin": {
|
||||
"target": "系统管理员"
|
||||
},
|
||||
"team admin": {
|
||||
"target": "团队管理员"
|
||||
},
|
||||
"channel admin": {
|
||||
"target": "频道管理员"
|
||||
},
|
||||
"session": {
|
||||
"target": "会话"
|
||||
},
|
||||
"sign in": {
|
||||
"target": "登录",
|
||||
"note": "log in and sign in are both 登录."
|
||||
},
|
||||
"sign out": {
|
||||
"target": "退出登录",
|
||||
"note": "log out and sign out are both 退出登录."
|
||||
},
|
||||
"join": {
|
||||
"target": "加入"
|
||||
},
|
||||
"leave": {
|
||||
"target": "离开"
|
||||
},
|
||||
"archive": {
|
||||
"target": "归档",
|
||||
"note": "archived = 已归档."
|
||||
},
|
||||
"unarchive": {
|
||||
"target": "取消归档"
|
||||
},
|
||||
"mute": {
|
||||
"target": "静音",
|
||||
"note": "Channel mute is 静音 (e.g. 静音频道), same word as microphone mute in Calls."
|
||||
},
|
||||
"follow": {
|
||||
"target": "关注"
|
||||
},
|
||||
"unfollow": {
|
||||
"target": "取消关注"
|
||||
},
|
||||
"favorite": {
|
||||
"target": "收藏",
|
||||
"note": "Verb/adjective 收藏; the Favorites sidebar category is 收藏夹."
|
||||
},
|
||||
"search": {
|
||||
"target": "搜索"
|
||||
},
|
||||
"integration": {
|
||||
"target": "集成"
|
||||
},
|
||||
"slash command": {
|
||||
"target": "斜杠命令"
|
||||
},
|
||||
"webhook": {
|
||||
"target": "Webhook"
|
||||
},
|
||||
"incoming webhook": {
|
||||
"target": "传入 Webhook"
|
||||
},
|
||||
"outgoing webhook": {
|
||||
"target": "传出 Webhook"
|
||||
},
|
||||
"trigger word": {
|
||||
"target": "触发词"
|
||||
},
|
||||
"plugin": {
|
||||
"target": "插件"
|
||||
},
|
||||
"bot": {
|
||||
"target": "机器人",
|
||||
"note": "bot account = 机器人账号 (账号, not 帐号/账户)."
|
||||
},
|
||||
"role": {
|
||||
"target": "角色"
|
||||
},
|
||||
"permission": {
|
||||
"target": "权限"
|
||||
},
|
||||
"scheme": {
|
||||
"target": "方案",
|
||||
"note": "permission scheme = 权限方案."
|
||||
},
|
||||
"license": {
|
||||
"target": "许可证"
|
||||
},
|
||||
"seat": {
|
||||
"target": "席位"
|
||||
},
|
||||
"trial": {
|
||||
"target": "试用"
|
||||
},
|
||||
"workspace": {
|
||||
"target": "工作区"
|
||||
},
|
||||
"subscription": {
|
||||
"target": "订阅"
|
||||
},
|
||||
"deactivate": {
|
||||
"target": "停用"
|
||||
},
|
||||
"invite": {
|
||||
"target": "邀请"
|
||||
},
|
||||
"invitation": {
|
||||
"target": "邀请"
|
||||
},
|
||||
"sidebar": {
|
||||
"target": "侧栏",
|
||||
"note": "Majority is 侧栏 (24 vs 7); 侧边栏 appears in a minority of strings."
|
||||
},
|
||||
"unread": {
|
||||
"target": "未读"
|
||||
},
|
||||
"attachment": {
|
||||
"target": "附件"
|
||||
},
|
||||
"public channel": {
|
||||
"target": "公共频道",
|
||||
"note": "公共, not 公开."
|
||||
},
|
||||
"private channel": {
|
||||
"target": "私有频道"
|
||||
},
|
||||
"shared channel": {
|
||||
"target": "共享频道"
|
||||
},
|
||||
"channel header": {
|
||||
"target": "频道标题"
|
||||
},
|
||||
"channel purpose": {
|
||||
"target": "频道用途"
|
||||
},
|
||||
"system message": {
|
||||
"target": "系统消息"
|
||||
},
|
||||
"persistent notification": {
|
||||
"target": "持久通知"
|
||||
},
|
||||
"message priority": {
|
||||
"target": "消息优先级"
|
||||
},
|
||||
"urgent": {
|
||||
"target": "紧急"
|
||||
},
|
||||
"recap": {
|
||||
"target": "回顾"
|
||||
},
|
||||
"agent": {
|
||||
"target": "代理",
|
||||
"note": "Existing UI renders AI agents as AI 代理; standalone 代理 in agent contexts. 智能体 is a common industry alternative but not used here."
|
||||
},
|
||||
"burn-on-read": {
|
||||
"target": "阅后即焚"
|
||||
},
|
||||
"magic link": {
|
||||
"target": "登录链接",
|
||||
"note": "Existing zh-CN renders it simply as 登录链接 (e.g. 访客登录链接 for Guest Magic Link), describing passwordless sign-in as 免密方式. 免密登录链接 is clearer where ambiguity matters."
|
||||
},
|
||||
"personal access token": {
|
||||
"target": "个人访问令牌"
|
||||
},
|
||||
"announcement banner": {
|
||||
"target": "公告横幅"
|
||||
},
|
||||
"channel banner": {
|
||||
"target": "频道横幅"
|
||||
},
|
||||
"keyword": {
|
||||
"target": "关键词",
|
||||
"note": "Majority is 关键词 (21 vs 6); 关键字 appears in a minority of strings."
|
||||
},
|
||||
"user group": {
|
||||
"target": "用户组",
|
||||
"note": "用户组, not 用户群组; standalone group in this sense is 组."
|
||||
},
|
||||
"permalink": {
|
||||
"target": "永久链接"
|
||||
},
|
||||
"profile": {
|
||||
"target": "个人资料"
|
||||
},
|
||||
"username": {
|
||||
"target": "用户名"
|
||||
},
|
||||
"nickname": {
|
||||
"target": "昵称"
|
||||
},
|
||||
"display name": {
|
||||
"target": "显示名称",
|
||||
"note": "显示名 also appears in a minority of strings."
|
||||
},
|
||||
"collapsed reply threads": {
|
||||
"target": "话题讨论",
|
||||
"note": "The user-facing setting title is 话题讨论 (also used for Threaded Discussions); the literal 折叠回复话题 is not used."
|
||||
},
|
||||
"auto-translation": {
|
||||
"target": "自动翻译",
|
||||
"note": "AUTO-TRANSLATED label = 自动翻译."
|
||||
},
|
||||
"data retention": {
|
||||
"target": "数据保留",
|
||||
"note": "data retention policy = 数据保留策略."
|
||||
},
|
||||
"compliance export": {
|
||||
"target": "合规导出",
|
||||
"note": "合规性导出 appears in a minority of strings."
|
||||
},
|
||||
"access control": {
|
||||
"target": "访问控制",
|
||||
"note": "Attribute-Based Access Control = 基于属性的访问控制."
|
||||
},
|
||||
"attribute": {
|
||||
"target": "属性"
|
||||
},
|
||||
"onboarding": {
|
||||
"target": "引导流程",
|
||||
"note": "入职流程 means employee induction, not the product first-run experience. Established rendering is 引导 (开始引导流程)."
|
||||
},
|
||||
"Town Square": {
|
||||
"target": "广场"
|
||||
},
|
||||
"Off-Topic": {
|
||||
"target": "闲聊",
|
||||
"note": "Established default-channel name in server zh-CN.json. '杂谈' appears only in admin prose describing the channel."
|
||||
},
|
||||
"read-only": {
|
||||
"target": "只读"
|
||||
},
|
||||
"server": {
|
||||
"target": "服务器"
|
||||
}
|
||||
}
|
||||
408
i18n/glossary/zh-TW.json
Normal file
408
i18n/glossary/zh-TW.json
Normal file
@@ -0,0 +1,408 @@
|
||||
{
|
||||
"Mattermost": {
|
||||
"target": "Mattermost"
|
||||
},
|
||||
"Enterprise Edition": {
|
||||
"target": "Enterprise Edition",
|
||||
"note": "Existing zh-TW UI renders the edition name as 企業版 in the About dialog; keep the English product name."
|
||||
},
|
||||
"Team Edition": {
|
||||
"target": "Team Edition",
|
||||
"note": "Existing zh-TW UI renders it as 團隊版 in the About dialog; keep the English product name."
|
||||
},
|
||||
"Mattermost Cloud": {
|
||||
"target": "Mattermost Cloud"
|
||||
},
|
||||
"Channels": {
|
||||
"target": "Channels",
|
||||
"note": "Product name; the common noun channel is 頻道."
|
||||
},
|
||||
"Playbooks": {
|
||||
"target": "Playbooks"
|
||||
},
|
||||
"Boards": {
|
||||
"target": "Boards"
|
||||
},
|
||||
"Calls": {
|
||||
"target": "Calls"
|
||||
},
|
||||
"Markdown": {
|
||||
"target": "Markdown"
|
||||
},
|
||||
"OAuth": {
|
||||
"target": "OAuth"
|
||||
},
|
||||
"SAML": {
|
||||
"target": "SAML"
|
||||
},
|
||||
"LDAP": {
|
||||
"target": "LDAP"
|
||||
},
|
||||
"SSO": {
|
||||
"target": "SSO"
|
||||
},
|
||||
"MFA": {
|
||||
"target": "MFA"
|
||||
},
|
||||
"OpenID Connect": {
|
||||
"target": "OpenID Connect"
|
||||
},
|
||||
"Entra ID": {
|
||||
"target": "Entra ID"
|
||||
},
|
||||
"GitLab": {
|
||||
"target": "GitLab"
|
||||
},
|
||||
"Elasticsearch": {
|
||||
"target": "Elasticsearch"
|
||||
},
|
||||
"Gossip": {
|
||||
"target": "Gossip"
|
||||
},
|
||||
"Actiance XML": {
|
||||
"target": "Actiance XML"
|
||||
},
|
||||
"Global Relay": {
|
||||
"target": "Global Relay"
|
||||
},
|
||||
"System Console": {
|
||||
"target": "系統控制台"
|
||||
},
|
||||
"marketplace": {
|
||||
"target": "市集"
|
||||
},
|
||||
"channel": {
|
||||
"target": "頻道"
|
||||
},
|
||||
"team": {
|
||||
"target": "團隊"
|
||||
},
|
||||
"post": {
|
||||
"target": "訊息",
|
||||
"note": "Existing zh-TW renders both 'post' and 'message' as 訊息; do not introduce a separate word such as 貼文."
|
||||
},
|
||||
"message": {
|
||||
"target": "訊息"
|
||||
},
|
||||
"thread": {
|
||||
"target": "討論串"
|
||||
},
|
||||
"reply": {
|
||||
"target": "回覆",
|
||||
"note": "Noun and verb are identical in Chinese."
|
||||
},
|
||||
"direct message": {
|
||||
"target": "私人訊息",
|
||||
"note": "Established zh-TW rendering; note it uses 私人 even though 'private channel' is also 私人頻道 — context disambiguates."
|
||||
},
|
||||
"group message": {
|
||||
"target": "群組訊息"
|
||||
},
|
||||
"mention": {
|
||||
"target": "提及",
|
||||
"note": "Noun and verb are identical; @mention → @提及."
|
||||
},
|
||||
"notification": {
|
||||
"target": "通知"
|
||||
},
|
||||
"pin": {
|
||||
"target": "釘選",
|
||||
"note": "Majority rendering; a minority of strings use 置頂 (e.g. no_results.pinned_messages) — prefer 釘選 and converge."
|
||||
},
|
||||
"bookmark": {
|
||||
"target": "書籤",
|
||||
"note": "Verb: 加入書籤."
|
||||
},
|
||||
"saved messages": {
|
||||
"target": "已儲存的訊息",
|
||||
"note": "save → 儲存, unsave → 取消儲存."
|
||||
},
|
||||
"draft": {
|
||||
"target": "草稿"
|
||||
},
|
||||
"scheduled post": {
|
||||
"target": "排程訊息",
|
||||
"note": "Per admin.posts.scheduledPosts.title; schedule (verb) → 排程."
|
||||
},
|
||||
"emoji": {
|
||||
"target": "表情符號"
|
||||
},
|
||||
"custom emoji": {
|
||||
"target": "自訂表情符號"
|
||||
},
|
||||
"reaction": {
|
||||
"target": "反應",
|
||||
"note": "User-facing strings use 反應 (新增反應, 反應上限); some admin/moderation strings use 互動 — prefer 反應."
|
||||
},
|
||||
"status": {
|
||||
"target": "狀態"
|
||||
},
|
||||
"custom status": {
|
||||
"target": "自訂狀態"
|
||||
},
|
||||
"do not disturb": {
|
||||
"target": "請勿打擾"
|
||||
},
|
||||
"away": {
|
||||
"target": "離開",
|
||||
"note": "Same word as the verb 'leave' (離開); availability context makes it clear."
|
||||
},
|
||||
"online": {
|
||||
"target": "線上"
|
||||
},
|
||||
"offline": {
|
||||
"target": "離線"
|
||||
},
|
||||
"out of office": {
|
||||
"target": "不在辦公室"
|
||||
},
|
||||
"guest": {
|
||||
"target": "訪客"
|
||||
},
|
||||
"member": {
|
||||
"target": "成員"
|
||||
},
|
||||
"user": {
|
||||
"target": "使用者"
|
||||
},
|
||||
"system admin": {
|
||||
"target": "系統管理員"
|
||||
},
|
||||
"team admin": {
|
||||
"target": "團隊管理員"
|
||||
},
|
||||
"channel admin": {
|
||||
"target": "頻道管理員"
|
||||
},
|
||||
"session": {
|
||||
"target": "工作階段",
|
||||
"note": "Standard Taiwan term; do not use 會話 (Simplified convention)."
|
||||
},
|
||||
"sign in": {
|
||||
"target": "登入",
|
||||
"note": "Both 'sign in' and 'log in' map to 登入."
|
||||
},
|
||||
"sign out": {
|
||||
"target": "登出"
|
||||
},
|
||||
"join": {
|
||||
"target": "加入"
|
||||
},
|
||||
"leave": {
|
||||
"target": "離開"
|
||||
},
|
||||
"archive": {
|
||||
"target": "封存",
|
||||
"note": "archived → 已封存."
|
||||
},
|
||||
"unarchive": {
|
||||
"target": "取消封存"
|
||||
},
|
||||
"mute": {
|
||||
"target": "靜音",
|
||||
"note": "Channel muting also uses 靜音 (靜音頻道 / 取消靜音頻道), same word as microphone mute in Calls."
|
||||
},
|
||||
"follow": {
|
||||
"target": "追蹤"
|
||||
},
|
||||
"unfollow": {
|
||||
"target": "取消追蹤"
|
||||
},
|
||||
"favorite": {
|
||||
"target": "我的最愛",
|
||||
"note": "Verb/menu action: 加入我的最愛 (Add to Favorites) / 從我的最愛中移除; standalone label sometimes shortened to 最愛."
|
||||
},
|
||||
"search": {
|
||||
"target": "搜尋"
|
||||
},
|
||||
"integration": {
|
||||
"target": "整合"
|
||||
},
|
||||
"slash command": {
|
||||
"target": "斜線命令",
|
||||
"note": "Majority rendering (33 vs 3 for 斜線指令); keep 斜線命令."
|
||||
},
|
||||
"webhook": {
|
||||
"target": "Webhook"
|
||||
},
|
||||
"incoming webhook": {
|
||||
"target": "送入的 Webhook"
|
||||
},
|
||||
"outgoing webhook": {
|
||||
"target": "寄出的 Webhook"
|
||||
},
|
||||
"trigger word": {
|
||||
"target": "觸發關鍵字"
|
||||
},
|
||||
"plugin": {
|
||||
"target": "擴充程式",
|
||||
"note": "Established zh-TW rendering; do not use 外掛 or 插件."
|
||||
},
|
||||
"bot": {
|
||||
"target": "機器人",
|
||||
"note": "bot account → 機器人帳號."
|
||||
},
|
||||
"role": {
|
||||
"target": "角色",
|
||||
"note": "Existing permission strings use 地位 (授予的地位), which means social standing rather than a permission set."
|
||||
},
|
||||
"permission": {
|
||||
"target": "權限"
|
||||
},
|
||||
"scheme": {
|
||||
"target": "策略",
|
||||
"note": "Permission Scheme → 權限策略, System Scheme → 系統級策略, Team Override Scheme → 團隊級覆寫策略."
|
||||
},
|
||||
"license": {
|
||||
"target": "授權"
|
||||
},
|
||||
"seat": {
|
||||
"target": "席次",
|
||||
"note": "Existing billing strings render '{n} seats' simply as '{n} 人'; keep that counting pattern, use 席次 only when a standalone noun is required."
|
||||
},
|
||||
"trial": {
|
||||
"target": "試用",
|
||||
"note": "試用版 for the trial license/edition, 試用期 for the trial period, per context."
|
||||
},
|
||||
"workspace": {
|
||||
"target": "工作區"
|
||||
},
|
||||
"subscription": {
|
||||
"target": "訂閱"
|
||||
},
|
||||
"deactivate": {
|
||||
"target": "停用",
|
||||
"note": "Also used for 'disable'; deactivated users occasionally rendered 停權 — prefer 停用."
|
||||
},
|
||||
"invite": {
|
||||
"target": "邀請"
|
||||
},
|
||||
"invitation": {
|
||||
"target": "邀請"
|
||||
},
|
||||
"sidebar": {
|
||||
"target": "側邊欄"
|
||||
},
|
||||
"unread": {
|
||||
"target": "未讀"
|
||||
},
|
||||
"attachment": {
|
||||
"target": "附件"
|
||||
},
|
||||
"public channel": {
|
||||
"target": "公開頻道"
|
||||
},
|
||||
"private channel": {
|
||||
"target": "私人頻道"
|
||||
},
|
||||
"shared channel": {
|
||||
"target": "共享頻道"
|
||||
},
|
||||
"channel header": {
|
||||
"target": "頻道標題"
|
||||
},
|
||||
"channel purpose": {
|
||||
"target": "頻道用途"
|
||||
},
|
||||
"system message": {
|
||||
"target": "系統訊息"
|
||||
},
|
||||
"persistent notification": {
|
||||
"target": "持續性通知"
|
||||
},
|
||||
"message priority": {
|
||||
"target": "訊息優先順序"
|
||||
},
|
||||
"urgent": {
|
||||
"target": "緊急",
|
||||
"note": "One legacy priority label uses 急迫; related persistent-notification strings use 緊急 — prefer 緊急."
|
||||
},
|
||||
"recap": {
|
||||
"target": "重點回顧",
|
||||
"note": "Feature not yet translated in zh-TW; 重點回顧 chosen to avoid clashing with 摘要 (summary) and 回顧 (Playbooks retrospective)."
|
||||
},
|
||||
"agent": {
|
||||
"target": "代理",
|
||||
"note": "No existing zh-TW translation; Taiwan tech convention for AI agent is (AI) 代理. Keep 'Agents' in English where it names the plugin/product."
|
||||
},
|
||||
"burn-on-read": {
|
||||
"target": "閱後即焚",
|
||||
"note": "Established Chinese term for self-destructing messages; not yet translated in zh-TW files."
|
||||
},
|
||||
"magic link": {
|
||||
"target": "魔法連結",
|
||||
"note": "Not yet translated in zh-TW files; 魔法連結 follows common Taiwan usage for passwordless email links."
|
||||
},
|
||||
"personal access token": {
|
||||
"target": "個人存取 Token",
|
||||
"note": "Existing zh-TW keeps 'Token' in English."
|
||||
},
|
||||
"announcement banner": {
|
||||
"target": "公告橫幅"
|
||||
},
|
||||
"channel banner": {
|
||||
"target": "頻道橫幅",
|
||||
"note": "Not yet translated; follows 公告橫幅 (announcement banner) pattern."
|
||||
},
|
||||
"keyword": {
|
||||
"target": "關鍵字"
|
||||
},
|
||||
"user group": {
|
||||
"target": "使用者群組"
|
||||
},
|
||||
"permalink": {
|
||||
"target": "永久連結"
|
||||
},
|
||||
"profile": {
|
||||
"target": "個人檔案",
|
||||
"note": "Majority rendering across webapp and mobile; 個人資料 also appears — prefer 個人檔案."
|
||||
},
|
||||
"username": {
|
||||
"target": "使用者名稱"
|
||||
},
|
||||
"nickname": {
|
||||
"target": "暱稱"
|
||||
},
|
||||
"display name": {
|
||||
"target": "顯示名稱"
|
||||
},
|
||||
"collapsed reply threads": {
|
||||
"target": "摺疊回覆討論串",
|
||||
"note": "Not yet translated in zh-TW; uses 摺疊 (collapse) per existing display-settings strings."
|
||||
},
|
||||
"auto-translation": {
|
||||
"target": "自動翻譯",
|
||||
"note": "AUTO-TRANSLATED badge → 自動翻譯."
|
||||
},
|
||||
"data retention": {
|
||||
"target": "資料保留"
|
||||
},
|
||||
"compliance export": {
|
||||
"target": "法遵匯出",
|
||||
"note": "法遵 is the majority rendering for compliance (25 vs 12 for 合規)."
|
||||
},
|
||||
"access control": {
|
||||
"target": "存取控制",
|
||||
"note": "Standard Taiwan term; the attribute-based feature is not yet translated."
|
||||
},
|
||||
"attribute": {
|
||||
"target": "屬性"
|
||||
},
|
||||
"onboarding": {
|
||||
"target": "新手上路",
|
||||
"note": "Per existing 「新手上路」流程 strings."
|
||||
},
|
||||
"Town Square": {
|
||||
"target": "市民廣場"
|
||||
},
|
||||
"Off-Topic": {
|
||||
"target": "閒聊",
|
||||
"note": "Established default-channel name in server zh-TW.json. '話家常' appears only in admin prose describing the channel."
|
||||
},
|
||||
"read-only": {
|
||||
"target": "唯讀"
|
||||
},
|
||||
"server": {
|
||||
"target": "伺服器"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user