feat(i18n): implement deep merging for locale chunks and enhance Cebuano translations
All checks were successful
Deploy to production / deploy (push) Successful in 2m48s
All checks were successful
Deploy to production / deploy (push) Successful in 2m48s
- Introduced a deep merge function to combine locale chunks, improving the handling of language data for Cebuano. - Updated Cebuano locale files with comprehensive translations, including new sections for admin, social network, and settings. - Enhanced existing translations for clarity and consistency across various components, ensuring a better user experience. - Added new fields in the settings and profile sections to capture more user attributes, improving personalization options.
This commit is contained in:
386
frontend/scripts/ceb-patches/socialnetwork-patch.json
Normal file
386
frontend/scripts/ceb-patches/socialnetwork-patch.json
Normal file
@@ -0,0 +1,386 @@
|
||||
{
|
||||
"socialnetwork": {
|
||||
"profile": {
|
||||
"values": {
|
||||
"pubichair": {
|
||||
"none": "Wala",
|
||||
"short": "Mubo",
|
||||
"medium": "Tunga-tunga",
|
||||
"long": "Taas",
|
||||
"hairy": "Natural",
|
||||
"waxed": "Wax",
|
||||
"landingstrip": "Landing strip",
|
||||
"other": "Uban",
|
||||
"bikinizone": "Zona sa bikini lamang"
|
||||
},
|
||||
"eyecolor": {
|
||||
"blue": "Asul",
|
||||
"green": "Berde",
|
||||
"brown": "Brown",
|
||||
"black": "Itom",
|
||||
"grey": "Abohon",
|
||||
"hazel": "Hazel",
|
||||
"amber": "Amber",
|
||||
"red": "Pula",
|
||||
"other": "Uban"
|
||||
},
|
||||
"haircolor": {
|
||||
"black": "Itom",
|
||||
"brown": "Brown",
|
||||
"blonde": "Blonde",
|
||||
"red": "Pula",
|
||||
"grey": "Abohon",
|
||||
"white": "Puti",
|
||||
"other": "Uban"
|
||||
},
|
||||
"hairlength": {
|
||||
"short": "Mubo",
|
||||
"medium": "Tunga-tunga",
|
||||
"long": "Taas",
|
||||
"bald": "Kalbo",
|
||||
"other": "Uban"
|
||||
},
|
||||
"skincolor": {
|
||||
"light": "Klaro",
|
||||
"medium": "Tunga-tunga",
|
||||
"dark": "Itom",
|
||||
"other": "Uban"
|
||||
},
|
||||
"freckles": {
|
||||
"much": "Daghan",
|
||||
"medium": "Tunga-tunga",
|
||||
"less": "Ubos",
|
||||
"none": "Wala"
|
||||
}
|
||||
},
|
||||
"pubichair": "Buhok sa pribado",
|
||||
"penislength": "Taas sa penis",
|
||||
"brasize": "Sukod sa bra",
|
||||
"piercings": "Mga piercing",
|
||||
"tattoos": "Mga tattoo",
|
||||
"eyecolor": "Kolor sa mata",
|
||||
"haircolor": "Kolor sa buhok",
|
||||
"hairlength": "Taas sa buhok",
|
||||
"freckles": "Mga batik",
|
||||
"skincolor": "Kolor sa panit"
|
||||
},
|
||||
"forum": {
|
||||
"pagination": {
|
||||
"first": "Unang panid",
|
||||
"previous": "Miaging panid",
|
||||
"next": "Sunod nga panid",
|
||||
"last": "Kataposang panid",
|
||||
"page": "Panid <<page>> sa <<of>>"
|
||||
}
|
||||
},
|
||||
"erotic": {
|
||||
"requestInfoTitle": "Gipasa nga prueba",
|
||||
"documentLabel": "Dokumento sa beripikasyon",
|
||||
"noteLabel": "Mubo nga nota para sa moderation",
|
||||
"settingsLink": "Ablihi ang account settings",
|
||||
"verificationHintTitle": "Nota sa beripikasyon",
|
||||
"verificationHintBody": "Mahimo kang magpadala og hulagway. Kung dili klaro ang imong edad didto, ibalibaran ang hangyo ug kinahanglan nimo og ID.",
|
||||
"notifications": {
|
||||
"approved": "Gi-aprub sa moderation ang imong pag-abli sa erotik nga lugar.",
|
||||
"rejected": "Gibalibaran ang imong hangyo sa erotik. Kung dili klaro ang edad sa hulagway, palihog ipadala ang ID."
|
||||
},
|
||||
"noVideos": "Wala pa kay na-upload nga erotik nga mga video.",
|
||||
"intro": "Na-abli na ang lugar. Ang mga module sa hulagway ug video mosunod sa sunod nga lakang.",
|
||||
"enabledTitle": "Na-abli na ang access",
|
||||
"enabledBody": "Ang imong account na-enable na sa erotik nga lugar. Ang hiwalay nga mga view sa hulagway ug video himoon pa.",
|
||||
"roadmapTitle": "Sunod",
|
||||
"roadmapModeration": "hiwalay nga agianan sa moderation ug reporting",
|
||||
"roadmapUpload": "dedikadong mga view sa upload ug pagdumala",
|
||||
"roadmapSeparation": "klaro nga pagbulag gikan sa normal nga galeriya",
|
||||
"status": {
|
||||
"none": {
|
||||
"title": "Wala pa ma-abli",
|
||||
"body": "Makita ang lugar, pero naka-lock pa hangtod sa pag-aprub sa moderator."
|
||||
},
|
||||
"pending": {
|
||||
"title": "Naghuwat sa pagsusi",
|
||||
"body": "Ang imong hangyo naghuwat sa moderation."
|
||||
},
|
||||
"approved": {
|
||||
"title": "Na-abli na",
|
||||
"body": "Na-abli na ang erotik nga lugar para sa imong account."
|
||||
},
|
||||
"rejected": {
|
||||
"title": "Gibalibaran ang hangyo",
|
||||
"body": "Ang kataposang hangyo wala ma-aprub. Mahimo kang magpadala og bag-o."
|
||||
}
|
||||
}
|
||||
},
|
||||
"vocab": {
|
||||
"title": "Trainer sa bokabularyo",
|
||||
"description": "Paghimo og pinulongans (or subscribe aron them) ug share them uban sa friends.",
|
||||
"newLanguage": "New pinulongan",
|
||||
"newLanguageTitle": "Paghimo og new pinulongan",
|
||||
"languageName": "Pinulongan name",
|
||||
"create": "Paghimo",
|
||||
"saving": "Saving...",
|
||||
"created": "Pinulongan created.",
|
||||
"createdTitle": "Trainer sa bokabularyo",
|
||||
"createdMessage": "Pinulongan created. Ang menu will refresh.",
|
||||
"createError": "Dili ma create pinulongan.",
|
||||
"openLanguage": "Ablihi",
|
||||
"none": "Ikaw naay no pinulongans yet (created o subscribed).",
|
||||
"owner": "Owned",
|
||||
"subscribed": "Mag-subscribed",
|
||||
"languageTitle": "Trainer sa bokabularyo: {name}",
|
||||
"notFound": "Pinulongan not found o no access.",
|
||||
"shareCode": "Ipaambit code",
|
||||
"shareHint": "Padal-a ang kini nga code aron friends so they can subscribe aron kini nga pinulongan.",
|
||||
"subscribeByCode": "Mag-subscribe by code",
|
||||
"subscribeTitle": "Mag-subscribe aron pinulongan",
|
||||
"subscribeHint": "Enter a share code you received gikan sa a friend.",
|
||||
"subscribe": "Mag-subscribe",
|
||||
"subscribeSuccess": "Mag-subscribed. Ang menu will refresh.",
|
||||
"subscribeError": "Mag-subscribe failed. Dili balido code o no access.",
|
||||
"trainerPlaceholder": "Trainer features (words/quizzes) will be ang next step.",
|
||||
"chapters": "Kapitulos",
|
||||
"newChapter": "New kapitulo",
|
||||
"createChapter": "Paghimo og kapitulo",
|
||||
"createChapterError": "Dili ma create kapitulo.",
|
||||
"noChapters": "Walay kapitulos yet.",
|
||||
"chapterTitle": "Kapitulo: {title}",
|
||||
"addVocab": "Add bokabularyo",
|
||||
"learningWord": "To learn",
|
||||
"referenceWord": "Reference",
|
||||
"add": "Add",
|
||||
"addVocabError": "Dili ma add bokabularyo.",
|
||||
"noVocabs": "Walay bokabularyo sa kini nga kapitulo yet.",
|
||||
"practice": {
|
||||
"open": "Praktis",
|
||||
"title": "Praktis bokabularyo",
|
||||
"allVocabs": "Tanan nga bokabularyo",
|
||||
"simple": "Simple praktis",
|
||||
"noPool": "Walay bokabularyo aron praktis.",
|
||||
"dirLearningToRef": "To learn → Reference",
|
||||
"dirRefToLearning": "Reference → To learn",
|
||||
"check": "Susihi",
|
||||
"next": "Sunod",
|
||||
"skip": "Laktaw",
|
||||
"correct": "Tama!",
|
||||
"wrong": "Sayop.",
|
||||
"acceptable": "Acceptable answers:",
|
||||
"stats": "Stats",
|
||||
"success": "Malampuson",
|
||||
"fail": "Fail"
|
||||
},
|
||||
"search": {
|
||||
"open": "Pangita",
|
||||
"title": "Pangita bokabularyo",
|
||||
"term": "Pangita term",
|
||||
"motherTongue": "Pinulongan nga inahan",
|
||||
"learningLanguage": "Pagkat-on pinulongan",
|
||||
"lesson": "Leksiyon",
|
||||
"search": "Pangita",
|
||||
"noResults": "Walay results.",
|
||||
"error": "Pangita failed."
|
||||
},
|
||||
"courses": {
|
||||
"title": "Pinulongan Pagkat-on Kursos",
|
||||
"create": "Paghimo og Kurso",
|
||||
"myCourses": "My Kursos",
|
||||
"allCourses": "Tanan nga Kursos",
|
||||
"none": "Walay kursos found.",
|
||||
"owner": "Tag-iya",
|
||||
"enrolled": "Na-enroll",
|
||||
"public": "Publiko",
|
||||
"difficulty": "Kalisod",
|
||||
"lessons": "Leksiyons",
|
||||
"enroll": "Enroll",
|
||||
"continue": "Padayon",
|
||||
"edit": "Edit",
|
||||
"addLesson": "Add Leksiyon",
|
||||
"completed": "Nahuman",
|
||||
"score": "Score",
|
||||
"review": "Balik-balik",
|
||||
"start": "Sugdi",
|
||||
"noLessons": "Kini nga kurso naay no leksiyons yet.",
|
||||
"lessonNumber": "Leksiyon Number",
|
||||
"chapter": "Kapitulo",
|
||||
"selectChapter": "Select Kapitulo",
|
||||
"selectLanguage": "Select Pinulongan",
|
||||
"confirmDelete": "Tinuod nga delete leksiyon?",
|
||||
"titleLabel": "Titulo",
|
||||
"descriptionLabel": "Deskripsiyon",
|
||||
"languageLabel": "Pinulongan",
|
||||
"findByCode": "Find Kurso by Code",
|
||||
"shareCode": "Ipaambit Code",
|
||||
"searchPlaceholder": "Pangita kursos...",
|
||||
"allLanguages": "Tanan nga Pinulongans",
|
||||
"targetLanguage": "Target Pinulongan",
|
||||
"nativeLanguage": "Native Pinulongan",
|
||||
"allNativeLanguages": "Tanan nga Native Pinulongans",
|
||||
"myNativeLanguage": "My Native Pinulongan",
|
||||
"forAllLanguages": "For Tanan nga Pinulongans",
|
||||
"optional": "Opsyonal",
|
||||
"invalidCode": "Dili balido code",
|
||||
"courseNotFound": "Kurso not found",
|
||||
"grammarExercises": "Tsek sa kapitulo",
|
||||
"exerciseFlowIntro": "Work through ang tasks sa order. Every tama answer moves you closer aron completing ang leksiyon.",
|
||||
"exerciseProgressLabel": "Progress",
|
||||
"exerciseTargetLabel": "Required",
|
||||
"exerciseCardLabel": "Task {number}",
|
||||
"exerciseSequentialProgress": "Question {current} sa {total}",
|
||||
"exerciseSequentialBack": "Balik",
|
||||
"exerciseSequentialNext": "Sunod",
|
||||
"exerciseWrongTitle": "Dili quite right",
|
||||
"exerciseReinforcementGoPractice": "Go aron praktis",
|
||||
"exerciseReinforcementStay": "Stay sa ang test",
|
||||
"exerciseReinforcementGoPracticeAck": "Read, go aron praktis",
|
||||
"exerciseReinforcementStayAck": "Read, stay sa ang test",
|
||||
"exerciseStatusOpen": "Ablihi",
|
||||
"exerciseStatusCorrect": "Done",
|
||||
"exerciseStatusRetry": "Try again",
|
||||
"exerciseAnswerAllHint": "Answer tanan nga {total} tasks una. Nahuman so far: {answered}. Ikaw need sa least {target}% aron pass.",
|
||||
"exerciseNeedMoreCorrectHint": "Ikaw currently naay {score}%. Ikaw need sa least {target}% aron complete kini nga leksiyon.",
|
||||
"exercisePassedHint": "Target reached: {score}% out sa ang required {target}%. Once tanan nga tasks naay been answered, ang tsek sa kapitulo is passed.",
|
||||
"exerciseReinforcementHint": "After a mistake, ang flow returns briefly aron pagkat-on mode. Praktis {count} more trainer questions ug ang tsek sa kapitulo will unlock again.",
|
||||
"exercisePrepReinforcementHint": "After a mistake, go through ang prepared terms once more. Then ang tsek sa kapitulo will unlock again.",
|
||||
"exerciseGrammarLead": "Key grammar para sa kini nga test",
|
||||
"noExercises": "Walay test available",
|
||||
"enterAnswer": "Enter answer",
|
||||
"checkAnswer": "Susihi Answer",
|
||||
"correct": "Tama!",
|
||||
"wrong": "Sayop",
|
||||
"explanation": "Pasabot",
|
||||
"learn": "Learn",
|
||||
"exercises": "Tsek sa kapitulo",
|
||||
"learnVocabulary": "Learn Bokabularyo",
|
||||
"lessonOverviewText": "Kini nga leksiyon combines bokabularyo, patterns, short grammar impulses, ug active speaking praktis.",
|
||||
"lessonDescription": "Leksiyon Deskripsiyon",
|
||||
"culturalNotes": "Cultural Notes",
|
||||
"grammarExplanations": "Gramatika Pasabots",
|
||||
"grammarImpulse": "Gramatika Focus",
|
||||
"learningGoals": "Pagkat-on Goals",
|
||||
"corePatterns": "Core Patterns",
|
||||
"corePatternsHint": "Read ang target pinulongan una, then ang meaning below — you learn each pattern both ways.",
|
||||
"learningGrammarTitle": "Briefly frame ang grammar",
|
||||
"learningGrammarIntro": "Read these 1-2 hints human sa ang key terms. Then you go into ang trainer uban sa better orientation.",
|
||||
"vocabPrepTitle": "Preparation sa wala pa ang bokabularyo trainer",
|
||||
"vocabPrepStep1": "Read through core patterns ug ang word list (native pinulongan ↔ target pinulongan) once.",
|
||||
"vocabPrepProgress": "Pass {pass}: item {current} sa {total}",
|
||||
"vocabPrepTargetLabel": "Target pinulongan",
|
||||
"vocabPrepGlossLabel": "Meaning",
|
||||
"vocabPrepNextItem": "Sunod item",
|
||||
"vocabPrepConfirm1": "Una pass done",
|
||||
"vocabPrepStep2": "Go through ang same items again (active review, not testing yet).",
|
||||
"vocabPrepConfirm2": "Second pass done",
|
||||
"vocabPrepReady": "Ikaw can start ang bokabularyo trainer now.",
|
||||
"learningPathLabel": "Main path",
|
||||
"learningPathTitle": "Your pagkat-on flow para sa kini nga leksiyon",
|
||||
"learningPathIntro": "Work through these steps sa order: prepare, review briefly, train, then move aron ang tsek sa kapitulo.",
|
||||
"lessonDetailsToggle": "Show more leksiyon details",
|
||||
"deepenSectionTitle": "Deepen ug review",
|
||||
"assistantSectionTitle": "Deepen uban sa pinulongan katabang",
|
||||
"vocabOverviewToggle": "Show full overview sa terms",
|
||||
"vocabTrainerLockedHint": "Palihog confirm two preparation steps under “Preparation sa wala pa ang bokabularyo trainer” una.",
|
||||
"exerciseUnlockHintAfterPrep": "Work through ang prepared terms una. Ang tsek sa kapitulo will unlock afterwards.",
|
||||
"speakingTasks": "Speaking Tasks",
|
||||
"speakingPrompt": "Speaking Prompt",
|
||||
"practicalTasks": "Practical Tasks",
|
||||
"importantVocab": "Important Bokabularyo",
|
||||
"vocabInfoText": "These terms are used sa ang test. Learn them here passively sa wala pa switching aron ang tsek sa kapitulo.",
|
||||
"noVocabInfo": "Read ang description above ug ang pasabots sa ang test aron learn ang most important terms.",
|
||||
"vocabTrainer": "Bokabularyo Trainer",
|
||||
"vocabTrainerDescription": "Praktis ang most important terms sa kini nga leksiyon interactively.",
|
||||
"startVocabTrainer": "Sugdi ang Bokabularyo Trainer",
|
||||
"stopTrainer": "Hunong ang Trainer",
|
||||
"translateTo": "Translate into Bisaya",
|
||||
"translateFrom": "Translate into German",
|
||||
"next": "Sunod",
|
||||
"totalAttempts": "Attempts",
|
||||
"successRate": "Malampuson Rate",
|
||||
"modeMultipleChoice": "Multiple Choice",
|
||||
"modeTyping": "Text Input",
|
||||
"currentLesson": "Current Leksiyon",
|
||||
"mixedReview": "Balik-balik",
|
||||
"lessonCompleted": "Leksiyon completed!",
|
||||
"goToNextLesson": "Go aron next leksiyon?",
|
||||
"allLessonsCompleted": "Tanan nga leksiyons completed!",
|
||||
"startExercises": "Sugdi ang Tsek sa kapitulo",
|
||||
"lessonTypeLabel": "Leksiyon Type",
|
||||
"recommendedDuration": "Recommended Duration",
|
||||
"exerciseLoad": "Exercise Load",
|
||||
"exercisesShort": "exercises",
|
||||
"durationFlexible": "Flexible",
|
||||
"durationMinutes": "{ka minuto} ka minuto",
|
||||
"lessonTypeVocab": "Bokabularyo",
|
||||
"lessonTypeGrammar": "Gramatika",
|
||||
"lessonTypeConversation": "Panag-istoryahanay",
|
||||
"lessonTypeCulture": "Kultura",
|
||||
"lessonTypeReview": "Balik-balik",
|
||||
"correctAnswer": "Tama Answer",
|
||||
"alternatives": "Alternative Answers",
|
||||
"notStarted": "Dili Sugdied",
|
||||
"continueCurrentLesson": "Padayon Current Leksiyon",
|
||||
"previousLessonRequired": "Palihog complete ang previous leksiyon una",
|
||||
"lessonNumberShort": "#",
|
||||
"buildSentencePlaceholder": "Build imong sentence here",
|
||||
"completeDialogPlaceholder": "Complete ang missing dialog line",
|
||||
"situationalResponsePlaceholder": "Write imong response aron ang situation",
|
||||
"patternDrillPlaceholder": "Paghimo og a fitting sentence uban sa ang pattern",
|
||||
"modelSentence": "Model sentence",
|
||||
"modelDialogLine": "Possible dialog line",
|
||||
"modelResponse": "Possible response",
|
||||
"modelPattern": "Possible pattern example",
|
||||
"patternPrompt": "Pattern",
|
||||
"readingAloudInstruction": "Read ang text aloud. Click 'Sugdi ang Nagrekord' ug begin speaking.",
|
||||
"speakingFromMemoryInstruction": "Speak freely gikan sa memory. Use ang displayed keywords.",
|
||||
"startRecording": "Sugdi ang Nagrekord",
|
||||
"stopRecording": "Hunong ang Nagrekord",
|
||||
"startSpeaking": "Sugdi ang Speaking",
|
||||
"recording": "Nagrekord...",
|
||||
"listening": "Listening...",
|
||||
"recordingStopped": "Nagrekord stopped",
|
||||
"recordingError": "Nagrekord error",
|
||||
"recognizedText": "Recognized Text",
|
||||
"speechRecognitionNotSupported": "Speech Recognition is not supported by kini nga browser. Palihog use Chrome o Edge.",
|
||||
"speakingFallbackInstruction": "Your browser does not support speech input here. Write down what you would say instead ug check it normally.",
|
||||
"speakingFallbackPlaceholder": "Write what you would say here ...",
|
||||
"keywords": "Keywords",
|
||||
"switchBackToMultipleChoice": "Switch back aron Multiple Choice",
|
||||
"languageAssistantEyebrow": "Pinulongan katabang",
|
||||
"languageAssistantCourseTitle": "AI support para sa kini nga kurso",
|
||||
"languageAssistantCourseReady": "Ang pinulongan katabang is configured ug available inside leksiyons para sa pasabots, tamaions, ug short dialogue praktis.",
|
||||
"languageAssistantCourseSetup": "Set up ang pinulongan katabang so you can ask leksiyon-specific questions ug praktis short dialogues.",
|
||||
"languageAssistantOpenLesson": "Ablihi ang sa current leksiyon",
|
||||
"languageAssistantTitle": "Praktis uban sa ang pinulongan katabang",
|
||||
"languageAssistantIntro": "Use ang AI directly inside ang current leksiyon: get grammar explained, praktis short dialogues, o naay imong own sentences tamaed.",
|
||||
"languageAssistantSettings": "Configure katabang",
|
||||
"languageAssistantSetupHint": "Ang pinulongan katabang is not configured yet o is currently disabled. Palihog save imong model ug API access sa ang settings una.",
|
||||
"languageAssistantModePractice": "Praktis",
|
||||
"languageAssistantModeExplain": "Explain",
|
||||
"languageAssistantModeCorrect": "Tama",
|
||||
"languageAssistantPromptExplain": "Explain grammar",
|
||||
"languageAssistantPromptPractice": "Praktis mini dialogue",
|
||||
"languageAssistantPromptCorrect": "Improve my sentence",
|
||||
"languageAssistantSpeakerAi": "Pinulongan katabang",
|
||||
"languageAssistantSpeakerYou": "You",
|
||||
"languageAssistantInputLabel": "Your mensahe",
|
||||
"languageAssistantInputPlaceholder": "Ask a leksiyon question o write imong own sentence para sa tamaion.",
|
||||
"languageAssistantSend": "Padal-a ang aron katabang",
|
||||
"languageAssistantSending": "Getting answer ...",
|
||||
"languageAssistantError": "Ang pinulongan katabang could not answer right now.",
|
||||
"languageAssistantPresetExplainStart": "Palihog explain ang main patterns ug grammar sa ang leksiyon",
|
||||
"languageAssistantPatternHint": "Focus especially sa kini nga pattern",
|
||||
"languageAssistantPresetPracticeStart": "Let's praktis a short everyday dialogue para sa ang leksiyon \"{leksiyon}\". Palihog ask me questions ug wait para sa my answers.",
|
||||
"languageAssistantPresetCorrectStart": "I want aron write my own sentences para sa ang leksiyon \"{leksiyon}\". Palihog tama my answers briefly ug clearly.",
|
||||
"thisLesson": "this leksiyon",
|
||||
"quickReviewTitle": "Quick Balik-balik",
|
||||
"quickReviewIntro": "Short session uban sa {count} terms. After completion, ang scheduled review is marked as done.",
|
||||
"quickReviewDoneTitle": "Done",
|
||||
"quickReviewDoneScore": "Tama: {tama} / {total}",
|
||||
"quickReviewBackToCourse": "Balik aron kurso",
|
||||
"quickReviewProgress": "Term {current} sa {total}",
|
||||
"quickReviewPromptMeaning": "What does \"{term}\" mean?",
|
||||
"quickReviewPromptTarget": "Type sa target pinulongan: \"{term}\"",
|
||||
"quickReviewAcknowledge": "Read, continue",
|
||||
"courseTodayPlanIntroNoDueReview": "Walay quick review is due today. Sugdi ang uban sa ang open leksiyons sa imong current block, then do intensive review if shown. Quick reviews reappear automatically sa ang 1/3/7-day rhythm."
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user