Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions locales/metadata.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,12 @@ ja:
flag: 🇯🇵
hello: こんにちは

uz:
name: Uzbek
nativeName: O'zbek
flag: 🇺🇿
hello: Salom

pt-BR:
name: Portuguese (Brazil)
nativeName: Português (Brasil)
Expand Down
116 changes: 116 additions & 0 deletions locales/uz/account.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
# Account translations - Manage Account modal and Change Email flow
# UI Areas: Manage Account modal, Change Email modal (stepper flow)

account:
# ========================================
# Manage Account modal - Account settings overview
# ========================================
manage:
title: Hisob # Modal main title
loadingInfo: "Hisob ma'lumotlari yuklanmoqda..." # Loading spinner text
displayName: "Ko'rsatiladigan ism" # Label for display name field
email: Elektron pochta # Label for email field

# Connected accounts section
connectedAccounts:
title: Ulangan hisoblar # Section title
loading: Ulangan hisoblar yuklanmoqda... # Loading text for connected accounts
noAccounts: "Ulangan hisoblar yo'q" # Empty state text
loggedInWith: "{provider} orqali tizimga kiritilgan" # Provider badge label (e.g., "Logged in with Google")

# Manage account section
manageTitle: Hisobni boshqarish # Section title
changeEmail: "Elektron pochta manzilini o'zgartirish" # Change email button label
changeEmailInProgress: "Sizda elektron pochtani o'zgartirish jarayoni davom etmoqda, iltimos kuting" # Disabled message when email change is in progress
changeEmailFailed: "Oxirgi marta elektron pochtani o'zgartirish amalga oshmadi, iltimos, dbdiagram@holistics.io orqali qo'llab-quvvatlash xizmati bilan bog'laning" # Disabled message when last email change failed

# Account removal
removal:
removeAccount: "Hisobni o'chirish..." # Remove account button label
cancelRequest: "O'chirish so'rovini bekor qilish" # Cancel removal request button label
cannotBeUndone: "Bu amalni ortga qaytarib bo'lmaydi!" # Warning text when no removal request
removedAfter: "Sizning hisobingiz {time} o'tgach o'chiriladi." # Removal countdown text
aFewHours: bir necha soat # Time label when less than 1 day remaining
aDay: bir kun # Time label when exactly 1 day remaining
days: "{count} kun" # Time label for multiple days remaining
workspaceDeletionWarning: "Sizda o'chiriladigan {count} ta shaxsiy ish maydoni(workspace) mavjud:" # Warning about workspaces to be deleted
confirmTitle: "Ushbu hisob o'chirilsinmi?" # Confirmation modal title
cancelSuccess: "O'chirish so'rovi muvaffaqiyatli bekor qilindi!" # Success toast after canceling
submitSuccess: "O'chirish so'rovi muvaffaqiyatli yaratildi!" # Success toast after submitting

errors:
generic: "Xatolik yuz berdi, iltimos, dbdiagram@holistics.io orqali qo'llab-quvvatlash xizmati bilan bog'laning" # Generic error toast

# ========================================
# Change Email modal - 4-step email change flow
# ========================================
changeEmail:
title: "Elektron pochtani o'zgartirish" # Modal title

# Step labels (stepper header)
steps:
verifyCurrentEmail: Joriy elektron pochtani tasdiqlash # Step 1 title
currentEmailVerified: Joriy elektron pochta tasdiqlandi # Step 1 completed label
enterNewEmail: Yangi elektron pochtani kiritish # Step 2 title
verifyNewEmail: Yangi elektron pochtani tasdiqlash # Step 3 title
newEmailVerified: Yangi elektron pochta tasdiqlandi # Step 3 completed label
confirmChange: "O'zgarishni tasdiqlash" # Step 4 title
emailChanged: "Elektron pochta o'zgartirildi" # Step 4 completed label

# Step 1: Verify current email
verifyCurrent:
description: "Xavfsizlik maqsadida, uni o'zgartirish uchun joriy elektron pochtangizni OTP orqali tasdiqlashingiz kerak." # Step 1 description
currentEmailLabel: "Joriy elektron pochta:" # Label before current email address
sendCode: Kodni yuborish # Send OTP button
otpSentMessage: Pochtangizga 6 xonali kod yubordik. Kodning amal qilish muddati 4 daqiqa. # OTP sent info text
verificationCode: Tasdiqlash kodi # OTP input label
resendCode: Kodni qayta yuborish # Resend button label
resendCodeCooldown: "Kodni qayta yuborish ({seconds}s)" # Resend button with cooldown timer
verify: Tasdiqlash # Verify OTP button

# Step 2: Enter new email
enterNew:
description: "Yangi elektron pochta manzilingizni kiriting. Bu sizniki ekanligini tasdiqlash uchun tasdiqlash kodi yuboramiz." # Step 2 description
newEmailLabel: Yangi elektron pochta manzili # New email input label
placeholder: Yangi elektron pochtani kiriting # New email input placeholder
sendCode: Kodni yuborish # Send OTP button

# Step 3: Verify new email
verifyNew:
otpSentTo: Biz 6 xonali kodni yubordik # Text before new email address
codeExpires: Kodning amal qilish muddati 4 daqiqa. # OTP expiry info
verificationCode: Tasdiqlash kodi # OTP input label
resendCode: Kodni qayta yuborish # Resend button label
resendCodeCooldown: "Kodni qayta yuborish ({seconds}s)" # Resend button with cooldown timer
back: Orqaga # Back button to return to step 2
verify: Tasdiqlash # Verify OTP button

# Step 4: Confirm change
confirm:
description: "Siz elektron pochta manzilingizni o'zgartirmoqchisiz:" # Step 4 description
from: "dan:" # Label for current email in summary
to: "ga:" # Label for new email in summary
pleaseNote: "Iltimos, e'tibor bering:" # Notes section title
noteNotifications: "Yangi elektron pochta kelajakda barcha hisob xabarnomalarini (to'lovlar, taklifnomalar va boshqalar) oladi." # Note about notifications
noteLogout: "Tizimdan avtomatik ravishda chiqarilmaysiz. Iltimos, boshqa qurilmalardan tizimdan o'zingiz chiqing." # Note about logout
noteIrreversible: "Bu amalni ortga qaytarib bo'lmaydi." # Note about irreversibility
confirmButton: "O'zgarishni tasdiqlash" # Confirm change button

# Polling notifications for email change propagation
polling:
inProgressTitle: "Elektron pochtangiz xizmatlar bo'ylab yangilanmoqda..." # Notification title while syncing
inProgressText: Bu bir necha daqiqa vaqt olishi mumkin. Siz hali ham dasturdan foydalanishda davom etishingiz mumkin. # Notification body while syncing
completedText: "Elektron pochta barcha xizmatlar bo'ylab muvaffaqiyatli yangilandi!" # Success notification
failedTitle: "Ba'zi xizmatlar yangi elektron pochtangizni sinxronlashtira olmadi." # Warning notification title
failedText: "Elektron pochtangiz o'zgartirildi, lekin ba'zi xizmatlar hali ham eskisini ko'rsatishi mumkin. Iltimos, dbdiagram@holistics.io orqali qo'llab-quvvatlash xizmatiga murojaat qiling." # Warning notification body

# Error messages
errors:
invalidEmail: Iltimos, yaroqli elektron pochta manzilini kiriting # Invalid email format
incorrectCode: "Siz kiritgan kod noto'g'ri" # Wrong OTP code
codeExpired: "Tasdiqlash muddati tugagan. Iltimos, yangisini so'rang." # OTP expired
codeAlreadyUsed: "Bu kod allaqachon ishlatilgan. Iltimos, yangisini so'rang." # OTP already used
requestExpired: "Tasdiqlash so'rovingizning muddati tugagan. Iltimos, yangi kod so'rang." # OTP request token expired
emailInUse: Bu elektron pochta allaqachon boshqa hisob tomonidan ishlatilmoqda # Duplicate email
verificationExpired: Tasdiqlashingiz muddati tugagan. Iltimos, boshidan boshlang. # Verification token expired
generic: "Nimadir xato ketdi. Iltimos, qayta urinib ko'ring." # Fallback error
112 changes: 112 additions & 0 deletions locales/uz/ai.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
# AI Assistant translations - AI panel and features
# UI Areas: Right sidebar AI panel, Welcome modal, Diff viewer

ai:
# ========================================
# AI Panel - Right sidebar chat interface
# ========================================

panel:
inputPlaceholder: Diagrammangiz haqida istalgan narsani so'rang... # Chat input placeholder (empty state)
currentChat: Joriy suhbat # Current chat section header
previousChats: Oldingi suhbatlar # Previous chats section header
noOtherChats: Boshqa suhbatlar yo'q # Empty state (no previous chats)
sendInstructions: Yuborish uchun Enter, yangi qator uchun Shift+Enter tugmasini bosing # Input hint (below chat box)
sendMessage: Xabar yuborish # Send button (tooltip)
workspaceDisabled: Ish maydoni o'chirilgan # Disabled state message (no workspace)
editPermissionRequired: Tahrirlash ruxsati kerak # Permission error message
usageLimitReached: Siz ushbu oy uchun foydalanish limitiga yetdingiz. Iltimos, qayta urinib ko'ring # Usage limit message
learnMoreAboutUsageLimits: Foydalanish limitlari haqida ko'proq bilib oling # Link text (usage limit toast)
chat: Suhbat # Chat tab label
clickToEdit: Tahrirlash uchun bosing # Editable message label
newChat: Yangi suhbat # New chat button (sidebar header)
showChatHistory: Suhbatlar tarixini ko'rsatish # Toggle button (shows chat sidebar)
hideChatHistory: Suhbatlar tarixini yashirish # Toggle button (hides chat sidebar)

# ========================================
# AI Welcome Modal - First-time user experience
# ========================================
welcome:
title: DBDiagram AI-ga xush kelibsiz # Welcome modal title
subtitle: Ma'lumotlar bazasini loyihalash uchun sizning aqlli yordamchingiz # Welcome modal subtitle

# ========================================
# AI Loading States - Message states
# ========================================
messages:
thinking: O'ylanmoqda... # Loading indicator (AI thinking)
generating: Yaratilmoqda... # Loading indicator (schema generation)
explaining: Tushuntirilmoqda... # Loading indicator (explanation)
error: Nimadir xato ketdi. Iltimos, qayta urinib ko'ring. # Error message (retryable)
rateLimit: Siz foydalanish limitiga yetdingiz. Davom etish uchun tarifni oshiring. # Rate limit message

# ========================================
# Diff Viewer - AI change comparison
# ========================================
diffViewer:
reject: Rad etish # Button (reject single change)
accept: Qabul qilish # Button (accept single change)
rejectAll: Barchasini rad etish # Button (reject all changes)
acceptAll: Barchasini qabul qilish # Button (accept all changes)

# ========================================
# Token Usage - AI usage tracking
# ========================================
tokenUsage:
used: Foydalanildi # Usage counter label (left side)
usageText: Siz foydalanish limitining {percentage} qismini ishlatdingiz # Usage progress text
tokens: tokenlar # Unit label (usage display)
learnMore: Foydalanish limitlari haqida ko'proq bilish uchun bosing # Tooltip (usage indicator)
resetOn: Yangilanish vaqti # Label (usage reset date)

# ========================================
# AI Response Details - Response metadata
# ========================================
assistant:
dbmlCode: DBML kodi # Label (code block header)
lines: qatorlar # Unit label (code lines count)

# ========================================
# AI Response Messages - Standard responses
# ========================================
responseMessages:
noExplanation: Sxema yangilandi. O'zgarishlarni ko'rib chiqish uchun farqlar ko'ruvchisini (diff viewer) tekshiring. # Message after schema update
invalidIntent: "DBDiagram AI-ga xush kelibsiz.\n\nMen sizga quyidagilarda yordam berish uchun shu yerdaman:\n\n• **DBML sxemasi dizayni** - Jadvallar, munosabatlar va ma'lumotlar bazasi tuzilmalarini yaratish va o'zgartirish\n• **Ma'lumotlar bazasining eng yaxshi amaliyotlari** - Optimal ma'lumotlar turlari, indekslar va cheklovlarni taklif qilish\n• **Sxemani optimallashtirish** - Jadvallarni guruhlar (TableGroups) bo'yicha tashkil etish, vaqt belgilarini (timestamps) qo'shish, ma'lumotlar turlarini qayta xaritalash\n• **Tezkor o'zgartirishlar** - Ma'lumotlar bazasi tizimlari o'rtasida konvertatsiya qilish (PostgreSQL, MySQL, SQL Server va hokazo.)\n\nBoshlash uchun mendan jadvallar yaratish, munosabatlar qo'shish yoki yuqoridagi tezkor amallardan birini bajarishni so'rab ko'ring!" # Help message (unrecognized command)

# ========================================
# Quick Action Titles - Action card headers
# ========================================
quickActionTitles:
createTableGroups: Jadval guruhlarini yaratish # Quick action card 1 title
addTimestampColumns: Vaqt ustunlarini (Timestamp) qo'shish # Quick action card 2 title
addRelationships: Munosabatlar qo'shish # Quick action card 3 title
addIndexes: Indekslar qo'shish # Quick action card 4 title
learnDatabaseDesign: Ma'lumotlar bazasi dizaynini o'rganish # Quick action card 5 title
cloneSlack: Slack klonini yaratish # Quick action card 6 title
documentDatabase: Hujjatlar ma'lumotlar bazasini yaratish # Quick action card 7 title
todoList: Vazifalar ro'yxatini (Todo List) yaratish # Quick action card 8 title
remapDataTypes: Ma'lumotlar turini o'zgartirish # Quick action card 9 title

# ========================================
# Quick Action Descriptions - Action card subtitles
# ========================================
quickActionDescriptions:
createTableGroups: Jadvallaringizni domeni va funksionalligi bo'yicha turli xil ranglar bilan mantiqiy guruhlarga ajrating # Card 1 description
addTimestampColumns: Audit uchun kuzatilishi kerak bo'lgan jadvallarga created_at va updated_at ustunlarini qo'shing # Card 2 description
addRelationships: Nomlash qoidalariga asoslangan holda tashqi kalit (foreign key) munosabatlarini avtomatik aniqlang va qo'shing # Card 3 description
addIndexes: Tashqi kalitlar (foreign keys) va tez-tez so'raladigan ustunlar uchun indeks bloklarini qo'shing # Card 4 description
learnDatabaseDesign: Ma'lumotlar bazasini loyihalash haqida o'rganing # Card 5 description
cloneSlack: Slack klonini yarating # Card 6 description
documentDatabase: Hujjatlarni saqlash uchun ma'lumotlar bazasini yarating # Card 7 description
todoList: Vazifalar ro'yxati dasturini yarating # Card 8 description
remapDataTypes: Ma'lumotlar turlarini maqsadli ma'lumotlar bazasi tizimiga moslashtirish uchun o'zgartiring # Card 9 description

# ========================================
# Quick Action Sub-actions - Database type selectors
# ========================================
quickActionSubActions:
postgresql: PostgreSQL # Database selector option
mysql: MySQL # Database selector option
sqlServer: SQL Server # Database selector option
sqlite: SQLite # Database selector option
oracle: Oracle # Database selector option
87 changes: 87 additions & 0 deletions locales/uz/auth.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
# Authentication translations - Login, Signup, Password pages
# UI Areas: Auth pages (/login, /signup, /forgot-password)

auth:
# ========================================
# Login Page - Email/password login
# ========================================
login:
email: Elektron pochta # Email input label
loginWithGithub: GitHub orqali kirish # Social login button (GitHub)
loginWithMicrosoft: Microsoft orqali kirish # Social login button (Microsoft)

# ========================================
# OAuth Errors - OAuth flow errors
# ========================================
oauth:
authorizationError: Avtorizatsiya amalga oshmadi # OAuth error title
processing: Qayta ishlanmoqda... # Loading state (OAuth redirect)
justAMomentPleaseWait: Bir oz kuting, iltimos... # Loading message (OAuth redirect)
signedInAs: Siz tizimga kirdingiz # Session label (SSO indicator)
failedSignInGitHub: GitHub orqali kirish amalga oshmadi # Error toast (GitHub OAuth)
failedSignInMicrosoft: "Microsoft orqali kirish amalga oshmadi, iltimos, qayta urinib ko'ring!" # Error toast (Microsoft OAuth)

# ========================================
# Form Errors - Validation error messages
# ========================================
errors:
invalidEmail: "Noto'g'ri elektron pochta manzili, iltimos, qayta urinib ko'ring!" # Email validation
githubPopupBlocked: GitHub orqali kirish uchun qalqib chiquvchi oynalarga ruxsat bering # Browser setting error

# ========================================
# OTP Authentication - One-time password
# ========================================
otp:
signInWithEmail: Elektron pochta orqali kirish # OTP tab label
otpSentTo: OTP yuborildi # Label (shows masked email)
wrongEmail: Noto'g'ri elektron pochta manzili? # Change email link
changeEmail: Elektron pochtani o'zgartirish # Change email button
inputEmail: Iltimos, elektron pochta manzilingizni kiriting # Email input placeholder
inputYourOtp: OTP ni kiriting # OTP input placeholder
inputOtpCode: Iltimos, elektron pochtaga yuborilgan OTP kodini kiriting # OTP help text
signInSuccess: Tizimga muvaffaqiyatli kirdingiz # Success message
didntReceiveOtp: OTP ni olmadingizmi? # Help text (resend section)
resendOtp: OTP ni qayta yuborish # Resend button
resendAfter: OTP ni {counter}s dan keyin qayta yuborishingiz mumkin # Timer label (disabled state)
submit: Yuborish # OTP submit button
sendOtpFailed: OTP yuborish amalga oshmadi, iltimos, qayta urinib ko'ring! # Error toast

# ========================================
# SSO Login - Single Sign-On
# ========================================
sso:
orContinueWith: yoki quyidagilardan biri orqali davom eting # SSO divider text

# ========================================
# Embedded Portal - OAuth portal pages
# ========================================
portal:
signIn: Kirish # Button (portal embedded login)
signInWith: Kirish

# ========================================
# Additional Errors - Extra error messages
# ========================================
additional:
unknownError: Noma'lum xatolik # Fallback error
invalidOtp: Noto'g'ri OTP, iltimos, qayta urinib ko'ring! # OTP validation error
cannotValidateOtp: OTP ni tasdiqlab bo'lmadi, iltimos, qayta urinib ko'ring! # OTP validation failure
emailNotVerified: Elektron pochtangiz tasdiqlanmagan. Iltimos, uni Microsoft hisobida tasdiqlang. # MS email verification
cannotSignInMicrosoftSSO: Microsoft SSO orqali kirib bo'lmadi, iltimos, qayta urinib ko'ring! # MS SSO error
cannotSignIn: Tizimga kirib bo'lmadi, iltimos, qayta urinib ko'ring! # Generic sign-in error
failedReloadProject: Kirishdan so'ng loyihani qayta yuklab bo'lmadi. Iltimos, sahifani yangilang. # Reload error
loginError: Tizimga kirish xatosi # Generic login error
signInCancelled: Tizimga kirish bekor qilindi. Iltimos, qayta urinib ko'ring. # Cancelled flow

# ========================================
# Logout Callback - Post-logout redirect
# ========================================
logoutCallback:
redirecting: Yo'naltirilmoqda... # Loading message (logout redirect)
redirectDescription: Bir necha soniya ichida dasturga yo'naltirilasiz. # Help text

popupsWarning:
title: Tizimga kirish oynasini ochib bo'lmadi
description: Tizimga kirish oynasi brauzeringiz yoki kengaytma tomonidan bloklangan bo'lishi mumkin. Iltimos, sozlamalaringizni tekshiring va qayta urinib ko'ring.
needHelp: Yordam kerakmi?
contactSupport: Qo'llab-quvvatlash xizmati bilan bog'lanish
Loading