Skip to content

[NO MERGE] testing languange selector implementation #1741

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 3 commits into
base: master
Choose a base branch
from
Draft
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
4 changes: 0 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
node_modules
npm-debug.log
coverage
env.config.*

dist/
src/i18n/transifex_input.json
Expand All @@ -27,6 +26,3 @@ module.config.js
# Local environment overrides
.env.private

src/i18n/messages/

env.config.jsx
18 changes: 18 additions & 0 deletions env.config.jsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
import { PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework';

const config = {
pluginSlots: {
'org.openedx.frontend.layout.footer_lang_selector.v1': {
keepDefault: true,
plugins: [
{
op: PLUGIN_OPERATIONS.Modify,
widgetId: 'default_contents',
fn: (widget) => ({ ...widget, content: { supportedLanguages: ['ar', 'es-419', 'en', 'ru']}})
},
]
}
},
}

export default config;
21,184 changes: 12,209 additions & 8,975 deletions package-lock.json

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -35,11 +35,11 @@
"dependencies": {
"@edx/brand": "npm:@openedx/brand-openedx@^1.2.2",
"@edx/browserslist-config": "1.5.0",
"@edx/frontend-component-footer": "^14.6.0",
"@edx/frontend-component-footer": "github:@dcoa/frontend-component-footer#dcoa/dist-lang-selector",
"@edx/frontend-component-header": "^6.2.0",
"@edx/frontend-lib-learning-assistant": "^2.20.0",
"@edx/frontend-lib-special-exams": "^4.0.0",
"@edx/frontend-platform": "^8.3.1",
"@edx/frontend-platform": "github:@dcoa/frontend-platform#dcoa/language-manager-dist",
"@edx/openedx-atlas": "^0.7.0",
"@edx/react-unit-test-utils": "^4.0.0",
"@fortawesome/free-brands-svg-icons": "5.15.4",
Expand Down
22 changes: 21 additions & 1 deletion src/i18n/index.js
Original file line number Diff line number Diff line change
@@ -1 +1,21 @@
export default [];
// This file is generated by the openedx/frontend-platform's "intl-import.js" script.
//
// Refer to the i18n documents in https://docs.openedx.org/en/latest/developers/references/i18n.html to update
// the file and use the Micro-frontend i18n pattern in new repositories.
//

import messagesFromFrontendPlatform from './messages/frontend-platform';
import messagesFromParagon from './messages/paragon';
import messagesFromFrontendComponentHeader from './messages/frontend-component-header';
import messagesFromFrontendComponentFooter from './messages/frontend-component-footer';
import messagesFromFrontendLibSpecialExams from './messages/frontend-lib-special-exams';
import messagesFromFrontendAppLearning from './messages/frontend-app-learning';

export default [
messagesFromFrontendPlatform,
messagesFromParagon,
messagesFromFrontendComponentHeader,
messagesFromFrontendComponentFooter,
messagesFromFrontendLibSpecialExams,
messagesFromFrontendAppLearning,
];
127 changes: 127 additions & 0 deletions src/i18n/messages/frontend-app-learning/ar.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
{
"learn.redirect.interstitial.message": "إعادة التوجيه جارية...",
"learning.notification.preferences.unsubscribe.preferenceCenterUrl": "",
"tours.abandonTour.launchTourCheckpoint.body": "تشعر بالضياع؟ ابدأ الجولة في أي وقت للحصول على بعض النصائح السريعة لتحقيق أقصى استفادة من التجربة.",
"tours.sequenceNavigationCheckpoint.body": "يتيح لك الشريط العلوي في مساقك الانتقال بسهولة إلى أقسام مختلفة ويظهر لك ما هو قادم.",
"tours.existingUserTour.launchTourCheckpoint.body": "لقد أضفنا مؤخرًا بعض الميزات الجديدة إلى تجربة المساق. هل أتريد بعض المساعدة في البحث حولك؟ قم بجولة لمعرفة المزيد.",
"tours.button.dismiss": "تجاهل",
"tours.button.next": "التالي",
"tours.button.okay": "حسنًا",
"learning.accessExpiration.deadline": "قم بالترقية قبل {date} للاستفادة من دخول غير محدود للمساق طالما هو موجود على الموقع.",
"learning.accessExpiration.header": "تنتهي صلاحية الدخول كمستمع في {date}",
"learning.accessExpiration.body": "",
"instructorToolbar.pageBanner.courseHasExpired": "لم يعد هذا المتعلّم مخولاً بالدخول لهذا المساق. لقد انتهت صلاحية بتاريخ {date}.",
"learning.activeEnterprise.alert": "",
"learning.outline.alert.start.short": "",
"learning.outline.alert.start.long": "",
"learning.outline.alert.start.calendar": "",
"instructorToolbar.pageBanner.courseHasNotStarted": "لا يمكن للطالب بعدُ دخول المساق. يبدأ المساق في {date}.",
"account-activation.alert.button": "المواصلة إلى {siteName}",
"account-activation.alert.message": "",
"account-activation.resend.link": "أرسل البريد مرة اخرى ",
"learning.logistration.alert": "لرؤية محتوى المساق، {signIn} أو {register}.",
"learning.goals.unsubscribe.errorDescription": "لم نستطع الغاء اشتراكك في رسائل التذكير بالهدف. رجاءً حاول مجددًا في وقت لاحق أو {contactSupport} للمساعدة.",
"learn.breadcrumb.navigation.course.home": "المساق ",
"learn.course.tabs.navigation.overflow.menu": "المزيد...",
"learning.upgradeButton.buttonText": "الترقية مقابل {pricing}",
"learning.upgradeNowButton.buttonText": "الترقية الآن مقابل {pricing}",
"learning.generic.upgradeNotification.expirationAccessLoss.progress": "بما في ذلك أي تقدم",
"learning.generic.upgradeNotification.expirationVerifiedCert.benefits": "فوائد الترقية",
"learning.generic.upgradeNotification.expirationAccessLoss": "ستفقد كل إمكانية الوصول إلى هذا المساق، {includingAnyProgress}، في {date}.",
"learning.generic.upgradeNotification.expirationVerifiedCert": "ترقية مساقك تتيح لك السعي للحصول شهادة معتمدة، و ترفع القيود عن العديد من الميزات. اعرف المزيد عن {benefitsOfUpgrading}.",
"learning.generic.upgradeNotification.pastExpiration.content": "لقد انقضى أجَل الترقية لهذا المساق. للترقية، سجل نفسك في الدورة التالية المتاحة.",
"learning.generic.upgradeNotification.expirationDays": "",
"learning.generic.upgradeNotification.expirationHours": "",
"learning.generic.upgradeNotification.expirationMinutes": "بقيت أقل من ساعة",
"learning.generic.upgradeNotification.expiration": "ستنتهي صلاحية الوصول إلى المساق في {date}",
"learning.generic.upgradeNotification.pastExpiration.banner": "انقضى أجَل الترقية في {date}",
"learning.generic.upgradeNotification.firstTimeLearnerDiscount": "خصم {percentage}‏% للمتعلم أول مرة",
"learning.generic.upgradeNotification.accessExpiration": "قم بترقية مساقك اليوم",
"learning.generic.upgradeNotification.accessExpirationUrgent": " نهاية صلاحية الوصول إلى المساق",
"learning.generic.upgradeNotification.accessExpirationPast": "نهاية صلاحية الوصول إلى المساق",
"learning.generic.upgradeNotification.pursueAverifiedCertificate": "اسعَ للحصول على شهادة معتمدة",
"learning.generic.upgradeNotification.code": "استخدم الكود {code} عند الشراء",
"learning.generic.upsell.verifiedCertBullet.verifiedCert": "شهادة معتمدة",
"learning.generic.upsell.verifiedCertBullet.verifiedCert.newTab.screenreaderOnly.message": "",
"learning.generic.upsell.verifiedCertBullet": "تحصل على {verifiedCertLink} بالإكمال لتعرضها في سيرتك الذاتية.",
"learning.generic.upsell.unlockGradedBullet.gradedAssignments": "الواجبات المنقّطة",
"learning.generic.upsell.unlockGradedBullet": "ترفع قيودك عن جميع أنشطة المساق، بما في ذلك {gradedAssignmentsInBoldText}",
"learning.generic.upsell.fullAccessBullet.fullAccess": "تستفيد من كل",
"learning.generic.upsell.fullAccessBullet": "{fullAccessInBoldText} محتوى و مواد المساق، حتى بعد انتهائه",
"learning.generic.upsell.supportMissionBullet.mission": "رسالتنا",
"learning.generic.upsell.supportMissionBullet": "تدعم {missionInBoldText} في {siteName}",
"tours.datesCheckpoint.body": "قد تكون التواريخ المهمة عونا لك للبقاء على السكة.",
"tours.datesCheckpoint.title": "ابق مٌطّلعًا على أهم التواريخ",
"tours.outlineCheckpoint.body": "يمكنك استكشاف أقسام المساق من خلال المخطط أدناه.",
"tours.outlineCheckpoint.title": "إبدأ المساق!",
"tours.tabNavigationCheckpoint.body": "يمكن استخدام هذه التبويبات للوصول إلى بقية مواد المساق الأخرى كتقدمك، و المنهاج، و غير ذلك.",
"tours.tabNavigationCheckpoint.title": "موارد المساق الإضافية",
"tours.upgradeCheckpoint.body": "اعمل للحصول على شهادة و استفد من كافة مواد المساق. قم بالترقية الآن!",
"tours.upgradeCheckpoint.title": "رفع القيود عن مساقك",
"tours.weeklyGoalsCheckpoint.body": "إن تحديد هدف يجعلك أقرب ﻹتمام المساق.",
"tours.weeklyGoalsCheckpoint.title": "حدد هدفًا للمساق",
"tours.newUserModal.title": "{welcome} مساق {siteName}!",
"learning.effortEstimation.combinedEstimate": "{minutes} + {activities}",
"learning.streakcelebration.factoida": "إن المستخدمين الذين يتعلمون ل{streak_length, plural,\n two {يومين}\n few {# أيام}\n many {# يومًا}\n other {# يوم}\n} على التوالي {bolded_section} عن الذين لا يفعلون مثلهم.",
"learning.streakcelebration.factoidb": "إن المستخدمين الذين يتعلمون ل{streak_length, plural,\n two {يومين}\n few {# أيام}\n many {# يومًا}\n other {# يوم}\n} على التوالي {bolded_section} من لا يفعلون مثلهم.",
"learning.streakCelebration.streakCelebrationCouponEndDateMessage": "ينتهي في {date}.",
"progress.certificateStatus.unverifiedBody": "لتوليد شهادة، يجب عليك إكمال التحقق من هويتك. {idVerificationSupportLink}.",
"progress.certificateStatus.downloadableBody": "",
"progress.certificateStatus.notAvailable.endDate": "",
"unit.bookmark.button.add.bookmark": "",
"unit.bookmark.button.remove.bookmark": "",
"learning.celebration.goalCongrats": "",
"learning.celebration.setGoal": "",
"courseExit.catalogSearchSuggestion": "",
"courseCelebration.certificateBody.available": "",
"courseCelebration.certificateBody.notAvailable.endDate.v2": "",
"courseCelebration.certificateBody.unverified": "",
"courseCelebration.certificateBody.upgradable": "",
"courseCelebration.upgradeDiscountCodePrompt": "",
"courseCelebration.recommendations.heading": "",
"courseCelebration.recommendations.label": "",
"courseCelebration.recommendations.browse_catalog": "",
"courseCelebration.recommendations.loading_recommendations": "",
"courseCelebration.recommendations.card.schools.label": "",
"courseCelebration.dashboardInfo": "",
"courseExit.programCompletion.dashboardMessage": "لعرض حالة الشهادة، تحقق من قسم البرامج في {programLink}.",
"courseExit.upgradeFootnote": "سيبقى الوصول إلى هذا المساق و مواده على لوحة المعلومات ممكنا إلى غاية {expirationDate}. لتمديد فترة الوصول، قم ب{upgradeLink}.",
"learning.outline.alert.cert.earnedNotAvailable": "",
"learning.outline.alert.end.short": "ينتهي هذا المساق في غضون {timeRemaining} في {courseEndTime}.",
"learning.outline.alert.end.long": "ينتهي المساق في {timeRemaining} في {courseEndDate}.",
"learning.privateCourse.signInOrRegister": "{signIn} أو {register} أولاً، ثم سجل نفسك في المساق.",
"learning.outline.alert.scheduled-content.heading": "مزيد من المحتوى قادم قريبا!",
"learning.outline.alert.scheduled-content.body": "سيصدر لهذا المساق مزيد المحتوى في تاريخ لاحق. ترقب التحديثات عبر البريد الإلكتروني أو تفقّد هذا المساق لاحقًا من أجل التحديثات.",
"learning.outline.alert.scheduled-content.button": "عرض مواعيد المساق",
"calculator.instructions.button.label": "",
"calculator.instructions": "",
"calculator.instructions.support.title": "",
"calculator.instructions.useful.tips": "",
"calculator.hint1": "",
"calculator.hint2": "",
"calculator.hint3": "",
"calculator.hint4": "",
"calculator.hint5": "",
"calculator.instruction.table.to.use.heading": "",
"calculator.instruction.table.type.heading": "",
"calculator.instruction.table.examples.heading": "",
"calculator.instruction.table.to.use.numbers": "",
"calculator.instruction.table.to.use.numbers.type1": "",
"calculator.instruction.table.to.use.numbers.type2": "",
"calculator.instruction.table.to.use.numbers.type3": "",
"calculator.instruction.table.to.use.operators": "",
"calculator.instruction.table.to.use.operators.type1": "",
"calculator.instruction.table.to.use.operators.type2": "",
"calculator.instruction.table.to.use.operators.type3": "",
"calculator.instruction.table.to.use.constants": "",
"calculator.instruction.table.to.use.affixes": "",
"calculator.instruction.table.to.use.affixes.type": "",
"calculator.instruction.table.to.use.basic.functions": "",
"calculator.instruction.table.to.use.trig.functions": "",
"calculator.instruction.table.to.use.scientific.notation": "",
"calculator.instruction.table.to.use.scientific.notation.type1": "",
"calculator.instruction.table.to.use.scientific.notation.type2": "",
"calculator.instruction.table.to.use.scientific.notation.type3": "",
"learn.honorCode.content": "الصدق و النزاهة الأكاديمية أمران مهمان بالنسبة إلى {siteName} و المؤسسات التي تقدم المساقات و البرامج على موقع {siteName}. بالنقر على “أنا موافق“ أدناه، أؤكد أني قد قرأت و فهمت و سألتزم ب{link} في موقع {siteName}.",
"learn.course.sequence.navigation.mobile.menu": "{current} من {total}"
}
Loading
Loading