@myissue/vue-website-page-builder 3.3.72 → 3.3.74

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/README.md +61 -0
  2. package/dist/ar-Sg258Eh1.js +110 -0
  3. package/dist/de-DU6Hv8W2.js +112 -0
  4. package/dist/en-B__-m2Os.js +112 -0
  5. package/dist/es-DmzWA1F8.js +112 -0
  6. package/dist/fr-BARDIQ1D.js +112 -0
  7. package/dist/hi-BgQJcRDP.js +112 -0
  8. package/dist/ja-Drg74-B1.js +112 -0
  9. package/dist/pt-D19DpjTw.js +112 -0
  10. package/dist/robots.txt +1 -1
  11. package/dist/ru-D0zybCPa.js +112 -0
  12. package/dist/style.css +1 -1
  13. package/dist/vue-website-page-builder.js +9435 -9300
  14. package/dist/vue-website-page-builder.umd.cjs +40 -40
  15. package/dist/zh-Hans-notf0z2N.js +112 -0
  16. package/package.json +1 -1
  17. package/src/App.vue +17 -1
  18. package/src/Components/PageBuilder/DefaultComponents/DefaultBuilderComponents.vue +10 -4
  19. package/src/Components/PageBuilder/EditorMenu/Editables/BackgroundColorEditor.vue +6 -2
  20. package/src/Components/PageBuilder/EditorMenu/Editables/BorderRadius.vue +23 -13
  21. package/src/Components/PageBuilder/EditorMenu/Editables/Borders.vue +22 -9
  22. package/src/Components/PageBuilder/EditorMenu/Editables/ClassEditor.vue +15 -7
  23. package/src/Components/PageBuilder/EditorMenu/Editables/ComponentTopMenu.vue +10 -6
  24. package/src/Components/PageBuilder/EditorMenu/Editables/ManageBackgroundOpacity.vue +1 -1
  25. package/src/Components/PageBuilder/EditorMenu/Editables/ManageOpacity.vue +1 -1
  26. package/src/Components/PageBuilder/EditorMenu/Editables/Margin.vue +12 -5
  27. package/src/Components/PageBuilder/EditorMenu/Editables/OpacityEditor.vue +4 -1
  28. package/src/Components/PageBuilder/EditorMenu/Editables/Padding.vue +13 -5
  29. package/src/Components/PageBuilder/EditorMenu/Editables/StyleEditor.vue +14 -7
  30. package/src/Components/PageBuilder/EditorMenu/Editables/TextColorEditor.vue +7 -1
  31. package/src/Components/PageBuilder/EditorMenu/Editables/Typography.vue +36 -16
  32. package/src/Components/PageBuilder/EditorMenu/RightSidebarEditor.vue +26 -14
  33. package/src/Components/PageBuilder/ToolbarOption/ToolbarOption.vue +13 -10
  34. package/src/Components/TipTap/TipTapInput.vue +1 -1
  35. package/src/PageBuilder/PageBuilder.vue +115 -19
  36. package/src/composables/useTranslations.ts +28 -0
  37. package/src/css/style.css +2 -1
  38. package/src/locales/ar.json +85 -0
  39. package/src/locales/de.json +86 -0
  40. package/src/locales/en.json +93 -0
  41. package/src/locales/es.json +86 -0
  42. package/src/locales/fr.json +86 -0
  43. package/src/locales/hi.json +86 -0
  44. package/src/locales/ja.json +86 -0
  45. package/src/locales/pt.json +92 -0
  46. package/src/locales/ru.json +86 -0
  47. package/src/locales/zh-Hans.json +86 -0
  48. package/src/services/PageBuilderService.ts +63 -1
  49. package/src/stores/page-builder-state.ts +3 -3
  50. package/src/tests/PageBuilderTest.vue +39 -77
  51. package/src/types/index.ts +1 -1
@@ -12,6 +12,7 @@ import { delay } from '../composables/delay'
12
12
  import { useDebounce } from '../composables/useDebounce.ts'
13
13
  import DynamicModalBuilder from '../Components/Modals/DynamicModalBuilder.vue'
14
14
  import GlobalLoader from '../Components/Loaders/GlobalLoader.vue'
15
+ import { useTranslations } from '../composables/useTranslations'
15
16
  import { getPageBuilder } from '../composables/builderInstance'
16
17
  const pageBuilderService = getPageBuilder()
17
18
  /**
@@ -40,6 +41,8 @@ const props = defineProps({
40
41
  },
41
42
  })
42
43
 
44
+ const { translate, loadTranslations } = useTranslations()
45
+
43
46
  // Use shared Pinia instance for PageBuilder package
44
47
  const internalPinia = sharedPageBuilderPinia
45
48
 
@@ -69,6 +72,27 @@ const closeAddComponentModal = () => {
69
72
  }
70
73
  provide('closeAddComponentModal', closeAddComponentModal)
71
74
 
75
+ const languageSelction = ref('en')
76
+
77
+ let isInitializingLang = true
78
+ const isLoadingLang = ref(false)
79
+
80
+ // Watch for changes in languageSelction
81
+ watch(languageSelction, async (newVal) => {
82
+ if (newVal && !isInitializingLang) {
83
+ isLoadingLang.value = true
84
+ await delay(200)
85
+ await loadTranslations(newVal)
86
+ pageBuilderService.changeLanguage(newVal)
87
+
88
+ // Ensure lang is updated within userSettings
89
+ const userSettings = JSON.parse(localStorage.getItem('userSettingsPageBuilder')) || {}
90
+ userSettings.lang = newVal
91
+ localStorage.setItem('userSettingsPageBuilder', JSON.stringify(userSettings))
92
+ isLoadingLang.value = false
93
+ }
94
+ })
95
+
72
96
  const getCurrentLanguage = computed(() => {
73
97
  return pageBuilderStateStore.getCurrentLanguage
74
98
  })
@@ -125,8 +149,8 @@ const handleAddComponent = async function () {
125
149
  await pageBuilderService.clearHtmlSelection()
126
150
 
127
151
  //
128
- titleModalAddComponent.value = 'Add Components to Page'
129
- firstButtonTextSearchComponents.value = 'Close'
152
+ titleModalAddComponent.value = translate('Add Components to Page')
153
+ firstButtonTextSearchComponents.value = translate('Close')
130
154
  showModalAddComponent.value = true
131
155
 
132
156
  firstModalButtonSearchComponentsFunction.value = function () {
@@ -346,10 +370,28 @@ function updatePanelPosition() {
346
370
  }
347
371
  }
348
372
 
373
+ const userSettings = JSON.parse(localStorage.getItem('userSettingsPageBuilder'))
374
+
349
375
  onMounted(async () => {
350
376
  // await delay(2000)
351
377
  await pageBuilderService.completeBuilderInitialization(undefined, true)
352
378
 
379
+ if (userSettings && userSettings.lang) {
380
+ languageSelction.value = userSettings.lang
381
+ }
382
+ if (
383
+ getPageBuilderConfig.value &&
384
+ getPageBuilderConfig.value.userSettings &&
385
+ getPageBuilderConfig.value.userSettings.language &&
386
+ getPageBuilderConfig.value.userSettings.language.default &&
387
+ (!userSettings || !userSettings.lang)
388
+ ) {
389
+ languageSelction.value = getPageBuilderConfig.value.userSettings.language.default
390
+ }
391
+
392
+ await loadTranslations(languageSelction.value)
393
+ isInitializingLang = false
394
+
353
395
  updatePanelPosition()
354
396
 
355
397
  // Set up MutationObserver and event listeners
@@ -387,9 +429,11 @@ onMounted(async () => {
387
429
 
388
430
  <template>
389
431
  <div
390
- class="pbx-font-sans pbx-max-w-full pbx-border-solid pbx-border pbx-border-gray-400 pbx-inset-x-0 pbx-z-10 pbx-bg-white pbx-overflow-x-auto pbx-h-full"
432
+ class="pbx-font-sans pbx-text-black pbx-max-w-full pbx-border-solid pbx-border pbx-border-gray-400 pbx-inset-x-0 pbx-z-10 pbx-bg-white pbx-overflow-x-auto pbx-h-full"
391
433
  >
392
- <GlobalLoader v-if="getIsLoadingGlobal && !openAppNotStartedModal"></GlobalLoader>
434
+ <GlobalLoader
435
+ v-if="(getIsLoadingGlobal && !openAppNotStartedModal) || isLoadingLang"
436
+ ></GlobalLoader>
393
437
  <ModalBuilder
394
438
  title="The builder hasn’t started yet"
395
439
  :showModalBuilder="openAppNotStartedModal"
@@ -413,7 +457,7 @@ onMounted(async () => {
413
457
  ></BuilderComponents>
414
458
 
415
459
  <ModalBuilder
416
- title="Preview"
460
+ title="Desktop"
417
461
  :showModalBuilder="openPageBuilderPreviewModal"
418
462
  @closeMainModalBuilder="firstPageBuilderPreviewModalButton"
419
463
  maxWidth="screen"
@@ -543,7 +587,7 @@ onMounted(async () => {
543
587
  ></span>
544
588
  </span>
545
589
  </div>
546
- <div>Save</div>
590
+ <div>{{ translate('Save') }}</div>
547
591
  </button>
548
592
  <!-- Save End -->
549
593
 
@@ -586,7 +630,7 @@ onMounted(async () => {
586
630
  </span>
587
631
  </div>
588
632
  <div class="lg:pbx-block pbx-hidden">
589
- <span> Reset Page </span>
633
+ <span> {{ translate('Reset Page') }} </span>
590
634
  </div>
591
635
  </button>
592
636
  </template>
@@ -623,10 +667,12 @@ onMounted(async () => {
623
667
  class="pbx-flex pbx-items-center pbx-justify-center pbx-gap-2 pbx-border-gray-200"
624
668
  >
625
669
  <span class="lg:pbx-block pbx-hidden">
626
- <div class="pbx-whitespace-nowrap pbx-cursor-pointer">Add new Components</div>
670
+ <div class="pbx-whitespace-nowrap pbx-cursor-pointer">
671
+ {{ translate('Add new Components') }}
672
+ </div>
627
673
  </span>
628
674
  <span
629
- class="pbx-h-10 pbx-w-10 pbx-cursor-pointer pbx-rounded-full pbx-flex pbx-items-center pbx-border-none pbx-justify-center pbx-bg-gray-50 pbx-aspect-square hover:pbx-bg-myPrimaryLinkColor hover:pbx-text-white focus-visible:pbx-ring-0"
675
+ class="pbx-h-10 pbx-w-10 pbx-cursor-pointer pbx-rounded-full pbx-flex pbx-items-center pbx-border-none pbx-justify-center pbx-bg-gray-50 pbx-aspect-square hover:pbx-bg-myPrimaryLinkColor focus-visible:pbx-ring-0 pbx-text-black hover:pbx-text-white"
630
676
  >
631
677
  <span class="pbx-myMediumIcon material-symbols-outlined"> interests </span>
632
678
  </span>
@@ -645,7 +691,7 @@ onMounted(async () => {
645
691
  >
646
692
  <div class="pbx-flex pbx-items-center pbx-justify-center pbx-gap-2">
647
693
  <span
648
- class="pbx-h-10 pbx-w-10 pbx-cursor-pointer pbx-rounded-full pbx-flex pbx-items-center pbx-border-none pbx-justify-center pbx-bg-gray-50 pbx-aspect-square hover:pbx-bg-myPrimaryLinkColor hover:pbx-text-white focus-visible:pbx-ring-0"
694
+ class="pbx-h-10 pbx-w-10 pbx-cursor-pointer pbx-rounded-full pbx-flex pbx-items-center pbx-border-none pbx-justify-center pbx-bg-gray-50 pbx-aspect-square hover:pbx-bg-myPrimaryLinkColor focus-visible:pbx-ring-0 pbx-text-black hover:pbx-text-white"
649
695
  >
650
696
  <span class="pbx-myMediumIcon material-symbols-outlined"> visibility </span>
651
697
  </span>
@@ -665,7 +711,7 @@ onMounted(async () => {
665
711
  >
666
712
  <div class="pbx-flex pbx-items-center pbx-justify-center pbx-gap-2">
667
713
  <span
668
- class="pbx-h-10 pbx-w-10 pbx-cursor-pointer pbx-rounded-full pbx-flex pbx-items-center pbx-border-none pbx-justify-center pbx-bg-gray-50 pbx-aspect-square hover:pbx-bg-myPrimaryLinkColor hover:pbx-text-white focus-visible:pbx-ring-0"
714
+ class="pbx-h-10 pbx-w-10 pbx-cursor-pointer pbx-rounded-full pbx-flex pbx-items-center pbx-border-none pbx-justify-center pbx-bg-gray-50 pbx-aspect-square hover:pbx-bg-myPrimaryLinkColor hover:pbx-text-white focus-visible:pbx-ring-0 pbx-text-black hover:pbx-text-white"
669
715
  >
670
716
  <span class="material-symbols-outlined"> phone_iphone </span>
671
717
  </span>
@@ -702,7 +748,7 @@ onMounted(async () => {
702
748
  }
703
749
  "
704
750
  >
705
- Publish
751
+ {{ translate('Publish') }}
706
752
  </button>
707
753
  </div>
708
754
  </template>
@@ -731,6 +777,57 @@ onMounted(async () => {
731
777
  </template>
732
778
 
733
779
  <!-- Close & Publish buttons end -->
780
+
781
+ <template
782
+ v-if="
783
+ getPageBuilderConfig &&
784
+ getPageBuilderConfig.userSettings &&
785
+ getPageBuilderConfig.userSettings.language &&
786
+ !getPageBuilderConfig.userSettings.language.disableLanguageDropDown
787
+ "
788
+ >
789
+ <template
790
+ v-if="
791
+ getPageBuilderConfig &&
792
+ getPageBuilderConfig.userSettings &&
793
+ getPageBuilderConfig.userSettings.language
794
+ "
795
+ >
796
+ <div class="pbx-flex pbx-justify-center pbx-items-center pbx-ml-2">
797
+ <select
798
+ class="pbx-myPrimarySelect pbx-min-w-20 pbx-max-w-2pbx-min-w-20 pbx-w-max"
799
+ v-model="languageSelction"
800
+ >
801
+ <template
802
+ v-if="
803
+ Array.isArray(getPageBuilderConfig.userSettings.language.enable) &&
804
+ getPageBuilderConfig.userSettings.language.enable.length >= 1
805
+ "
806
+ >
807
+ <template
808
+ v-for="lang in pageBuilderService
809
+ .availableLanguage()
810
+ .filter((l) => getPageBuilderConfig.userSettings.language.enable.includes(l))"
811
+ :key="lang"
812
+ >
813
+ <option :value="lang">{{ lang }}</option>
814
+ </template>
815
+ </template>
816
+ <template
817
+ v-if="
818
+ !getPageBuilderConfig.userSettings.language.enable ||
819
+ (Array.isArray(getPageBuilderConfig.userSettings.language.enable) &&
820
+ getPageBuilderConfig.userSettings.language.enable.length === 0)
821
+ "
822
+ >
823
+ <template v-for="lang in pageBuilderService.availableLanguage()" :key="lang">
824
+ <option :value="lang">{{ lang }}</option>
825
+ </template>
826
+ </template>
827
+ </select>
828
+ </div>
829
+ </template>
830
+ </template>
734
831
  </div>
735
832
 
736
833
  <!-- Top Layout Save And Reset Area - End -->
@@ -754,7 +851,7 @@ onMounted(async () => {
754
851
  handleAddComponent()
755
852
  }
756
853
  "
757
- class="pbx-h-10 pbx-w-10 pbx-cursor-pointer pbx-rounded-full pbx-flex pbx-items-center pbx-border-none pbx-justify-center pbx-bg-gray-50 pbx-aspect-square hover:pbx-bg-myPrimaryLinkColor hover:pbx-text-white focus-visible:pbx-ring-0"
854
+ class="pbx-h-10 pbx-w-10 pbx-cursor-pointer pbx-rounded-full pbx-flex pbx-items-center pbx-border-none pbx-justify-center pbx-bg-gray-50 pbx-aspect-square hover:pbx-bg-myPrimaryLinkColor hover:pbx-text-white focus-visible:pbx-ring-0 pbx-text-black hover:pbx-text-white"
758
855
  >
759
856
  <span class="pbx-myMediumIcon material-symbols-outlined"> interests </span>
760
857
  </button>
@@ -773,7 +870,7 @@ onMounted(async () => {
773
870
 
774
871
  <main
775
872
  ref="pbxToolBar"
776
- class="pbx-flex pbx-flex-col pbx-grow pbx-rounded-tr-2xl pbx-rounded-tl-2xl pbx-border-solid pbx-border pbx-border-gray-200 pbx-items-stretch pbx-h-[100vh] pbx-text-black"
873
+ class="pbx-font-sans pbx-p-1 pbx-flex pbx-flex-col pbx-grow pbx-rounded-tr-2xl pbx-rounded-tl-2xl pbx-border-solid pbx-border pbx-border-gray-200 pbx-items-stretch pbx-h-[100vh] pbx-text-black"
777
874
  :class="{ 'pbx-mr-2': !getMenuRight, '': getMenuRight }"
778
875
  >
779
876
  <div
@@ -831,10 +928,9 @@ onMounted(async () => {
831
928
  v-if="!getMenuRight"
832
929
  @click="pageBuilderStateStore.setMenuRight(true)"
833
930
  type="button"
834
- class="pbx-mySecondaryButton"
931
+ class="pbx-mySecondaryButton pbx-px-2 pbx-text-xs"
835
932
  >
836
- <span class="material-symbols-outlined"> view_sidebar </span>
837
- <span> Tools </span>
933
+ <span> {{ translate('Styles') }} </span>
838
934
  </button>
839
935
  </div>
840
936
  </div>
@@ -866,12 +962,12 @@ onMounted(async () => {
866
962
  class="pbx-flex pbx-items-center pbx-justify-center pbx-gap-2 pbx-cursor-pointer"
867
963
  >
868
964
  <span class="lg:pbx-block pbx-hidden">
869
- <div class="pbx-whitespace-nowrap">Add to the bottom</div>
965
+ <div class="pbx-whitespace-nowrap">{{ translate('Add to the bottom') }}</div>
870
966
  </span>
871
967
  <div class="pbx-flex pbx-gap-2 pbx-items-center pbx-justify-center">
872
968
  <button
873
969
  type="button"
874
- class="pbx-h-10 pbx-w-10 pbx-cursor-pointer pbx-rounded-full pbx-flex pbx-items-center pbx-border-none pbx-justify-center pbx-bg-gray-50 pbx-aspect-square hover:pbx-bg-myPrimaryLinkColor hover:pbx-text-white focus-visible:pbx-ring-0"
970
+ class="pbx-h-10 pbx-w-10 pbx-cursor-pointer pbx-rounded-full pbx-flex pbx-items-center pbx-border-none pbx-justify-center pbx-bg-gray-50 pbx-aspect-square hover:pbx-bg-myPrimaryLinkColor hover:pbx-text-white focus-visible:pbx-ring-0 pbx-text-black hover:pbx-text-white"
875
971
  >
876
972
  <span class="pbx-myMediumIcon material-symbols-outlined"> interests </span>
877
973
  </button>
@@ -0,0 +1,28 @@
1
+ import { ref, readonly } from 'vue'
2
+ import type { Ref } from 'vue'
3
+
4
+ const translations: Ref<Record<string, string>> = ref({})
5
+
6
+ async function loadTranslations(language: string) {
7
+ try {
8
+ const localeModule = await import(`../locales/${language}.json`)
9
+ translations.value = localeModule.default
10
+ } catch (error) {
11
+ console.error(`Could not load translations for language: ${language}`, error)
12
+ if (language !== 'en') {
13
+ await loadTranslations('en')
14
+ }
15
+ }
16
+ }
17
+
18
+ export function useTranslations() {
19
+ function translate(key: string): string {
20
+ return translations.value[key] || key
21
+ }
22
+
23
+ return {
24
+ translate,
25
+ loadTranslations,
26
+ currentTranslations: readonly(translations),
27
+ }
28
+ }
package/src/css/style.css CHANGED
@@ -415,6 +415,7 @@
415
415
  #pagebuilder {
416
416
  position: relative;
417
417
  overflow-y: auto;
418
+ padding: 4px;
418
419
  }
419
420
  #pagebuilder a {
420
421
  pointer-events: none;
@@ -496,7 +497,7 @@
496
497
  outline-offset: -2px !important;
497
498
  }
498
499
 
499
- .pbx-myPrimarySelect {
500
+ .pbx-myPrimarySelec select {
500
501
  appearance: none;
501
502
  -webkit-appearance: none;
502
503
  -moz-appearance: none;
@@ -0,0 +1,85 @@
1
+ {
2
+ "Reset Page": "إعادة تعيين الصفحة",
3
+ "Global Page Styles": "أنماط الصفحة العامة",
4
+ "Try the powerful Click & Drop Page Builder—designed for developers and creators who want full control without the hassle. Customize layouts, fonts, and colors. Edit content visually in real time. Add media, embed YouTube videos, or export everything as clean HTML. With responsive editing, local auto-save, Tailwind support, and even Unsplash integration, it's everything you need—wrapped in one seamless builder. Build Stunning Pages in Minutes.": "جرب منشئ الصفحات القوي Click & Drop - المصمم للمطورين والمبدعين الذين يريدون التحكم الكامل دون عناء. قم بتخصيص التخطيطات والخطوط والألوان. قم بتحرير المحتوى بصريًا في الوقت الفعلي. أضف الوسائط، قم بتضمين مقاطع فيديو YouTube، أو قم بتصدير كل شيء كـ HTML نظيف. مع التحرير المتجاوب، الحفظ التلقائي المحلي، دعم Tailwind، وحتى تكامل Unsplash، إنه كل ما تحتاجه - ملفوف في منشئ واحد سلس. قم ببناء صفحات مذهلة في دقائق.",
5
+ "A Page Builder designed for growth. Build your website pages with ready-made components that are fully customizable and always responsive, designed to fit every need. A powerful Page Builder for growing merchants, brands, and agencies.": "منشئ صفحات مصمم للنمو. قم ببناء صفحات موقعك الإلكتروني باستخدام مكونات جاهزة قابلة للتخصيص بالكامل ومتجاوبة دائمًا، مصممة لتلبية كل احتياجاتك. منشئ صفحات قوي للتجار والعلامات التجارية والوكالات المتنامية.",
6
+ "Everything you need. Break free from design limitations": "كل ما تحتاجه. تحرر من قيود التصميم",
7
+ "Bring your vision to life and create impressive pages using a click & drop Page Builder": "حقق رؤيتك واصنع صفحات رائعة باستخدام منشئ الصفحات السحب والإفلات",
8
+ "The web builder for stunning pages. Enable users to design and publish modern pages at any scale. Build responsive pages like listings, jobs or blog posts and manage content easily using the free click & drop Page Builder. Developed with TypeScript, Vue 3, Composition API, Pinia, CSS, Tailwind CSS and HTML.": "منشئ الويب لصفحات مذهلة. يمكن المستخدمين من تصميم ونشر صفحات حديثة على أي نطاق. قم ببناء صفحات متجاوبة مثل القوائم، الوظائف أو منشورات المدونات وأدر المحتوى بسهولة باستخدام منشئ الصفحات السحب والإفلات المجاني. تم تطويره باستخدام TypeScript، Vue 3، Composition API، Pinia، CSS، Tailwind CSS و HTML.",
9
+ "Download or install our powerful, flexible, and easy-to-use free Vue 3 Page Builder via": "قم بتنزيل أو تثبيت منشئ الصفحات المجاني Vue 3 القوي والمرن وسهل الاستخدام عبر",
10
+ "Save": "حفظ",
11
+ "Add new Components": "إضافة مكونات جديدة",
12
+ "Options": "خيارات",
13
+ "Config Overview": "نظرة عامة على التكوين",
14
+ "HTML Overview": "نظرة عامة على HTML",
15
+ "Delete Layout": "حذف التخطيط",
16
+ "avatar": "الصورة الرمزية",
17
+ "Publish": "نشر",
18
+ "Add Components to Page": "إضافة مكونات إلى الصفحة",
19
+ "Close": "إغلاق",
20
+ "Helper Components": "مكونات المساعدة",
21
+ "Click to add": "انقر للإضافة",
22
+ "component": "مكون",
23
+ "Layout Components": "مكونات التخطيط",
24
+ "Click to add component": "انقر لإضافة مكون",
25
+ "Remove all Components": "إزالة جميع المكونات",
26
+ "Are you sure you want to remove all Components?": "هل أنت متأكد أنك تريد إزالة جميع المكونات؟",
27
+ "Styles": "أنماط",
28
+ "Apply styles that affect the entire page. These settings include global font family, text color, background color, and other universal styles that apply to all sections.": "قم بتطبيق الأنماط التي تؤثر على الصفحة بأكملها. تتضمن هذه الإعدادات عائلة الخطوط العامة، ولون النص، ولون الخلفية، والأنماط العامة الأخرى التي تنطبق على جميع الأقسام.",
29
+ "Update Page Styles": "تحديث أنماط الصفحة",
30
+ "Download HTML": "تنزيل HTML",
31
+ "Export the entire page as a standalone HTML file. This includes all sections, content, and applied styles, making it ready for use or integration elsewhere.": "قم بتصدير الصفحة بأكملها كملف HTML مستقل. يتضمن ذلك جميع الأقسام والمحتوى والأنماط المطبقة، مما يجعلها جاهزة للاستخدام أو التكامل في مكان آخر.",
32
+ "Download HTML file": "تنزيل ملف HTML",
33
+ "Typographies": "الطباعة",
34
+ "Font Appearance": "مظهر الخط",
35
+ "Font Size": "حجم الخط",
36
+ "Select": "اختر",
37
+ "Font size": "حجم الخط",
38
+ "Font tablet size": "حجم الخط للجهاز اللوحي",
39
+ "Font small screens": "حجم الخط للشاشات الصغيرة",
40
+ "Font weight": "وزن الخط",
41
+ "Font family": "عائلة الخط",
42
+ "Font Style": "نمط الخط",
43
+ "Opacity & Transparency": "الشفافية والعتامة",
44
+ "Padding": "الحشو",
45
+ "Vertical Padding": "الحشو العمودي",
46
+ "Horizontal Padding": "الحشو الأفقي",
47
+ "Margin": "الهامش",
48
+ "Vertical Margin": "الهامش العمودي",
49
+ "Horizontal Margin": "الهامش الأفقي",
50
+ "Border Radius": "نصف القطر الحدودي",
51
+ "Global": "عالمي",
52
+ "Specific": "محدد",
53
+ "Border Radius top left": "نصف القطر الحدودي العلوي الأيسر",
54
+ "Border Radius top right": "نصف القطر الحدودي العلوي الأيمن",
55
+ "Border Radius bottom left": "نصف القطر الحدودي السفلي الأيسر",
56
+ "Border Radius bottom right": "نصف القطر الحدودي السفلي الأيمن",
57
+ "Border Style, Width & Color": "نمط الحدود والعرض واللون",
58
+ "Border": "الحدود",
59
+ "Border Style": "نمط الحدود",
60
+ "Border Width": "عرض الحدود",
61
+ "Border Color": "لون الحدود",
62
+ "Transparent": "شفاف",
63
+ "Generated CSS": "CSS المُنشأ",
64
+ "This is the CSS applied by the builder. Add your own CSS and press Enter to apply it to the selected element.": "هذا هو CSS الذي يطبقه المنشئ. أضف CSS الخاص بك واضغط Enter لتطبيقه على العنصر المحدد.",
65
+ "Add your CSS.": "أضف CSS الخاص بك.",
66
+ "The pbx- prefix is added automatically.": "يتم إضافة البادئة pbx- تلقائيًا.",
67
+ "Type class": "اكتب الفئة",
68
+ "Add": "إضافة",
69
+ "Inline Styles": "أنماط مضمنة",
70
+ "These are the inline styles applied by the builder. Add your own styles and press Enter to apply them to the selected element.": "هذه هي الأنماط المضمنة التي يطبقها المنشئ. أضف أنماطك الخاصة واضغط على Enter لتطبيقها على العنصر المحدد.",
71
+ "Add your own style.": "أضف نمطك الخاص.",
72
+ "property": "خاصية",
73
+ "value": "قيمة",
74
+ "Editing": "تحرير",
75
+ "Loading...": "جار التحميل...",
76
+ "Background Color": "لون الخلفية",
77
+ "Text Color": "لون النص",
78
+ "Default black": "أسود افتراضي",
79
+ "Remove Component?": "إزالة المكون؟",
80
+ "Are you sure you want to remove this Component?": "هل أنت متأكد أنك تريد إزالة هذا المكون؟",
81
+ "Delete": "حذف",
82
+ "Add to the bottom": "أضف إلى الأسفل",
83
+ "Preview": "معاينة",
84
+ "Mobile": "جوال"
85
+ }
@@ -0,0 +1,86 @@
1
+ {
2
+ "Reset Page": "Seite zurücksetzen",
3
+ "Global Page Styles": "Globale Seitenstile",
4
+ "Try the powerful Click & Drop Page Builder—designed for developers and creators who want full control without the hassle. Customize layouts, fonts, and colors. Edit content visually in real time. Add media, embed YouTube videos, or export everything as clean HTML. With responsive editing, local auto-save, Tailwind support, and even Unsplash integration, it's everything you need—wrapped in one seamless builder. Build Stunning Pages in Minutes.": "Probieren Sie den leistungsstarken Click & Drop Page Builder aus – entwickelt für Entwickler und Kreative, die volle Kontrolle ohne Aufwand wünschen. Passen Sie Layouts, Schriftarten und Farben an. Bearbeiten Sie Inhalte visuell in Echtzeit. Fügen Sie Medien hinzu, betten Sie YouTube-Videos ein oder exportieren Sie alles als sauberes HTML. Mit responsiver Bearbeitung, lokalem automatischen Speichern, Tailwind-Unterstützung und sogar Unsplash-Integration ist es alles, was Sie brauchen – verpackt in einem nahtlosen Builder. Erstellen Sie beeindruckende Seiten in Minuten.",
5
+ "A Page Builder designed for growth. Build your website pages with ready-made components that are fully customizable and always responsive, designed to fit every need. A powerful Page Builder for growing merchants, brands, and agencies.": "Ein Seiten-Builder, der für Wachstum entwickelt wurde. Erstellen Sie Ihre Website-Seiten mit vorgefertigten Komponenten, die vollständig anpassbar und immer reaktionsschnell sind, um alle Anforderungen zu erfüllen. Ein leistungsstarker Seiten-Builder für wachsende Händler, Marken und Agenturen.",
6
+ "Everything you need. Break free from design limitations": "Alles, was Sie brauchen. Befreien Sie sich von Designbeschränkungen",
7
+ "Bring your vision to life and create impressive pages using a click & drop Page Builder": "Verwirklichen Sie Ihre Vision und erstellen Sie beeindruckende Seiten mit einem Click & Drop Page Builder",
8
+ "The web builder for stunning pages. Enable users to design and publish modern pages at any scale. Build responsive pages like listings, jobs or blog posts and manage content easily using the free click & drop Page Builder. Developed with TypeScript, Vue 3, Composition API, Pinia, CSS, Tailwind CSS and HTML.": "Der Web-Builder für atemberaubende Seiten. Ermöglichen Sie Benutzern, moderne Seiten in jeder Größenordnung zu entwerfen und zu veröffentlichen. Erstellen Sie responsive Seiten wie Listen, Jobs oder Blog-Posts und verwalten Sie Inhalte einfach mit dem kostenlosen Click & Drop Page Builder. Entwickelt mit TypeScript, Vue 3, Composition API, Pinia, CSS, Tailwind CSS und HTML.",
9
+ "Download or install our powerful, flexible, and easy-to-use free Vue 3 Page Builder via": "Laden Sie den leistungsstarken, flexiblen und benutzerfreundlichen kostenlosen Vue 3 Page Builder herunter oder installieren Sie ihn über",
10
+ "Save": "Speichern",
11
+ "Add new Components": "Neue Komponenten hinzufügen",
12
+ "Options": "Optionen",
13
+ "Config Overview": "Konfigurationsübersicht",
14
+ "HTML Overview": "HTML-Übersicht",
15
+ "Delete Layout": "Layout löschen",
16
+ "avatar": "Avatar",
17
+ "Publish": "Veröffentlichen",
18
+ "Add Components to Page": "Komponenten zur Seite hinzufügen",
19
+ "Close": "Schließen",
20
+ "Helper Components": "Hilfskomponenten",
21
+ "Click to add": "Klicken, um hinzuzufügen",
22
+ "component": "Komponente",
23
+ "Layout Components": "Layout-Komponenten",
24
+ "Click to add component": "Klicken, um Komponente hinzuzufügen",
25
+ "Remove all Components": "Alle Komponenten entfernen",
26
+ "Are you sure you want to remove all Components?": "Sind Sie sicher, dass Sie alle Komponenten entfernen möchten?",
27
+ "Styles": "Stile",
28
+ "Apply styles that affect the entire page. These settings include global font family, text color, background color, and other universal styles that apply to all sections.": "Wenden Sie Stile an, die die gesamte Seite betreffen. Diese Einstellungen umfassen globale Schriftfamilie, Textfarbe, Hintergrundfarbe und andere universelle Stile, die auf alle Abschnitte angewendet werden.",
29
+ "Update Page Styles": "Seitenstile aktualisieren",
30
+ "Download HTML": "HTML herunterladen",
31
+ "Export the entire page as a standalone HTML file. This includes all sections, content, and applied styles, making it ready for use or integration elsewhere.": "Exportieren Sie die gesamte Seite als eigenständige HTML-Datei. Dies umfasst alle Abschnitte, Inhalte und angewendeten Stile, sodass sie bereit für die Verwendung oder Integration an anderer Stelle ist.",
32
+ "Download HTML file": "HTML-Datei herunterladen",
33
+ "Typographies": "Typografien",
34
+ "Font Appearance": "Schriftbild",
35
+ "Font Size": "Schriftgröße",
36
+ "Select": "Auswählen",
37
+ "Font size": "Schriftgröße",
38
+ "Font tablet size": "Schriftgröße für Tablets",
39
+ "Font small screens": "Schriftgröße für kleine Bildschirme",
40
+ "Font weight": "Schriftgewicht",
41
+ "Font family": "Schriftfamilie",
42
+ "Font Style": "Schriftstil",
43
+ "Opacity & Transparency": "Deckkraft & Transparenz",
44
+ "Padding": "Abstand",
45
+ "Vertical Padding": "Vertikaler Abstand",
46
+ "Horizontal Padding": "Horizontaler Abstand",
47
+ "Margin": "Rand",
48
+ "Vertical Margin": "Vertikaler Rand",
49
+ "Horizontal Margin": "Horizontaler Rand",
50
+ "Border Radius": "Randradius",
51
+ "Global": "Global",
52
+ "Specific": "Spezifisch",
53
+ "Border Radius top left": "Randradius oben links",
54
+ "Border Radius top right": "Randradius oben rechts",
55
+ "Border Radius bottom left": "Randradius unten links",
56
+ "Border Radius bottom right": "Randradius unten rechts",
57
+ "Border Style, Width & Color": "Randstil, Breite & Farbe",
58
+ "Border": "Rand",
59
+ "Border Style": "Randstil",
60
+ "Border Width": "Randbreite",
61
+ "Border Color": "Randfarbe",
62
+ "Transparent": "Transparent",
63
+ "Generated CSS": "Generiertes CSS",
64
+ "This is the CSS applied by the builder. Add your own CSS and press Enter to apply it to the selected element.": "Dies ist das vom Builder angewendete CSS. Fügen Sie Ihr eigenes CSS hinzu und drücken Sie Enter, um es auf das ausgewählte Element anzuwenden.",
65
+ "Add your CSS.": "Fügen Sie Ihr CSS hinzu.",
66
+ "The pbx- prefix is added automatically.": "Das pbx- Präfix wird automatisch hinzugefügt.",
67
+ "Type class": "Klasse eingeben",
68
+ "Add": "Hinzufügen",
69
+ "Inline Styles": "Inline-Stile",
70
+ "These are the inline styles applied by the builder. Add your own styles and press Enter to apply them to the selected element.": "Dies sind die vom Builder angewendeten Inline-Stile. Fügen Sie Ihre eigenen Stile hinzu und drücken Sie die Eingabetaste, um sie auf das ausgewählte Element anzuwenden.",
71
+ "Add your own style.": "Fügen Sie Ihren eigenen Stil hinzu.",
72
+ "property": "Eigenschaft",
73
+ "value": "Wert",
74
+ "close": "schließen",
75
+ "Editing": "Bearbeiten",
76
+ "Loading...": "Wird geladen...",
77
+ "Background Color": "Hintergrundfarbe",
78
+ "Text Color": "Textfarbe",
79
+ "Default black": "Standard Schwarz",
80
+ "Remove Component?": "Komponente entfernen?",
81
+ "Are you sure you want to remove this Component?": "Sind Sie sicher, dass Sie diese Komponente entfernen möchten?",
82
+ "Delete": "Löschen",
83
+ "Add to the bottom": "Zum Ende hinzufügen",
84
+ "Preview": "Vorschau",
85
+ "Mobile": "Mobil"
86
+ }
@@ -0,0 +1,93 @@
1
+ {
2
+ "Reset Page": "Reset Page",
3
+ "Global Page Styles": "Global Page Styles",
4
+ "Try the powerful Click & Drop Page Builder—designed for developers and creators who want full control without the hassle. Customize layouts, fonts, and colors. Edit content visually in real time. Add media, embed YouTube videos, or export everything as clean HTML. With responsive editing, local auto-save, Tailwind support, and even Unsplash integration, it's everything you need—wrapped in one seamless builder. Build Stunning Pages in Minutes.": "Try the powerful Click & Drop Page Builder—designed for developers and creators who want full control without the hassle. Customize layouts, fonts, and colors. Edit content visually in real time. Add media, embed YouTube videos, or export everything as clean HTML. With responsive editing, local auto-save, Tailwind support, and even Unsplash integration, it's everything you need—wrapped in one seamless builder. Build Stunning Pages in Minutes.",
5
+ "A Page Builder designed for growth. Build your website pages with ready-made components that are fully customizable and always responsive, designed to fit every need. A powerful Page Builder for growing merchants, brands, and agencies.": "A Page Builder designed for growth. Build your website pages with ready-made components that are fully customizable and always responsive, designed to fit every need. A powerful Page Builder for growing merchants, brands, and agencies.",
6
+ "Everything you need. Break free from design limitations": "Everything you need. Break free from design limitations",
7
+ "Bring your vision to life and create impressive pages using a click & drop Page Builder": "Bring your vision to life and create impressive pages using a click & drop Page Builder",
8
+ "The web builder for stunning pages. Enable users to design and publish modern pages at any scale. Build responsive pages like listings, jobs or blog posts and manage content easily using the free click & drop Page Builder. Developed with TypeScript, Vue 3, Composition API, Pinia, CSS, Tailwind CSS and HTML.": "The web builder for stunning pages. Enable users to design and publish modern pages at any scale. Build responsive pages like listings, jobs or blog posts and manage content easily using the free click & drop Page Builder. Developed with TypeScript, Vue 3, Composition API, Pinia, CSS, Tailwind CSS and HTML.",
9
+ "Download or install our powerful, flexible, and easy-to-use free Vue 3 Page Builder via": "Download or install our powerful, flexible, and easy-to-use free Vue 3 Page Builder via",
10
+ "Save": "Save",
11
+ "Add new Components": "Add new Components",
12
+ "Options": "Options",
13
+ "Config Overview": "Config Overview",
14
+ "HTML Overview": "HTML Overview",
15
+ "Delete Layout": "Delete Layout",
16
+ "avatar": "avatar",
17
+ "Publish": "Publish",
18
+ "Add Components to Page": "Add Components to Page",
19
+ "Close": "Close",
20
+ "Helper Components": "Helper Components",
21
+ "Click to add": "Click to add",
22
+ "component": "component",
23
+ "Layout Components": "Layout Components",
24
+ "Click to add component": "Click to add component",
25
+ "Remove all Components": "Remove all Components",
26
+ "Are you sure you want to remove all Components?": "Are you sure you want to remove all Components?",
27
+ "Styles": "Styles",
28
+ "Apply styles that affect the entire page. These settings include global font family, text color, background color, and other universal styles that apply to all sections.": "Apply styles that affect the entire page. These settings include global font family, text color, background color, and other universal styles that apply to all sections.",
29
+ "Update Page Styles": "Update Page Styles",
30
+ "Download HTML": "Download HTML",
31
+ "Export the entire page as a standalone HTML file. This includes all sections, content, and applied styles, making it ready for use or integration elsewhere.": "Export the entire page as a standalone HTML file. This includes all sections, content, and applied styles, making it ready for use or integration elsewhere.",
32
+ "Download HTML file": "Download HTML file",
33
+ "Typographies": "Typographies",
34
+ "Font Appearance": "Font Appearance",
35
+ "Font Size": "Font Size",
36
+ "Select": "Select",
37
+ "Font size": "Font size",
38
+ "Font tablet size": "Font tablet size",
39
+ "Font small screens": "Font small screens",
40
+ "Font weight": "Font weight",
41
+ "Font family": "Font family",
42
+ "Font Style": "Font Style",
43
+ "Opacity & Transparency": "Opacity & Transparency",
44
+ "Padding": "Padding",
45
+ "Vertical Padding": "Vertical Padding",
46
+ "Horizontal Padding": "Horizontal Padding",
47
+ "Margin": "Margin",
48
+ "Vertical Margin": "Vertical Margin",
49
+ "Horizontal Margin": "Horizontal Margin",
50
+ "Border Radius": "Border Radius",
51
+ "Global": "Global",
52
+ "Specific": "Specific",
53
+ "Border Radius top left": "Border Radius top left",
54
+ "Border Radius top right": "Border Radius top right",
55
+ "Border Radius bottom left": "Border Radius bottom left",
56
+ "Border Radius bottom right": "Border Radius bottom right",
57
+ "Border Style, Width & Color": "Border Style, Width & Color",
58
+ "Border": "Border",
59
+ "Border Style": "Border Style",
60
+ "Border Width": "Border Width",
61
+ "Border Color": "Border Color",
62
+ "Transparent": "Transparent",
63
+ "Generated CSS": "Generated CSS",
64
+ "This is the CSS applied by the builder. Add your own CSS and press Enter to apply it to the selected element.": "This is the CSS applied by the builder. Add your own CSS and press Enter to apply it to the selected element.",
65
+ "Add your CSS.": "Add your CSS.",
66
+ "The pbx- prefix is added automatically.": "The pbx- prefix is added automatically.",
67
+ "Type class": "Type class",
68
+ "Add": "Add",
69
+ "Inline Styles": "Inline Styles",
70
+ "These are the inline styles applied by the builder. Add your own styles and press Enter to apply them to the selected element.": "These are the inline styles applied by the builder. Add your own styles and press Enter to apply them to the selected element.",
71
+ "Add your own style.": "Add your own style.",
72
+ "property": "property",
73
+ "value": "value",
74
+ "close": "close",
75
+ "Editing": "Editing",
76
+ "Global Page Styles": "Global Page Styles",
77
+ "Apply styles that affect the entire page. These settings include global font family, text color, background color, and other universal styles that apply to all sections.": "Apply styles that affect the entire page. These settings include global font family, text color, background color, and other universal styles that apply to all sections.",
78
+ "Update Page Styles": "Update Page Styles",
79
+ "Download HTML": "Download HTML",
80
+ "Export the entire page as a standalone HTML file. This includes all sections, content, and applied styles, making it ready for use or integration elsewhere.": "Export the entire page as a standalone HTML file. This includes all sections, content, and applied styles, making it ready for use or integration elsewhere.",
81
+ "Download HTML file": "Download HTML file",
82
+ "Loading...": "Loading...",
83
+ "Background Color": "Background Color",
84
+ "Transparent": "Transparent",
85
+ "Text Color": "Text Color",
86
+ "Default black": "Default black",
87
+ "Remove Component?": "Remove Component?",
88
+ "Are you sure you want to remove this Component?": "Are you sure you want to remove this Component?",
89
+ "Delete": "Delete",
90
+ "Add to the bottom": "Add to the bottom",
91
+ "Preview": "Preview",
92
+ "Mobile": "Mobile"
93
+ }