حالة استخدام
موقع ساكن متعدّد اللغات
تبني بـ Astro، وتريد عشر لغات، ولا تريد بيئة تشغيل ثقيلة لتقديمها.
المشكلة
- يضيف الـ i18n في جهة العميل وزناً ووميضاً عند أول رسم.
- إبقاء عشر شجرات ملفات متوافقة يدوياً يصير مهنة قائمة بذاتها.
- كل تصحيح نصّي يُطلق إعادة بناء ونشراً كاملين.
ما الذي تغيّره Sonenta
- يجلب
@sonenta/astroالحزم عند البناء ويضمّنها في الـ HTML الساكن. صفر JavaScript في جهة العميل. - وحدة افتراضية
sonenta:i18nتتيح الفهارس، مع تراجع إلى لغة المصدر. - تصل المتغيّرات حسب الشاشة كطبقة من الـ CDN، دون شجرة ثانية تصونها.
هذه الصفحة نفسها هي الدليل: sonenta.com يعمل عليه، بثلاث عشرة لغة. النصّ الذي تقرؤه جُلب من الـ CDN لحظة البناء.
من أين تبدأ
// astro.config.mjs
import sonenta from "@sonenta/astro";
export default defineConfig({
integrations: [
sonenta({ project: "proj_xxx", version: "main",
locales: ["fr","en","es"], defaultLocale: "fr" }),
],
});
// dans un composant : zéro JavaScript client
import { getT } from "sonenta:i18n"; حدود معروفة
- تُجمَّد الحزم عند البناء. ونشر ترجمة بعد ذلك يستلزم بناءً جديداً للموقع الساكن، بخلاف تطبيق يحمّل أثناء التشغيل.
- تبقى مجموعات الخطوط الجزئية وإعدادات كل نظام كتابة على عاتقك. Sonenta تسلّم النصّ، لا الإخراج الطباعي.
حتى آخر كلمة.
هل أنت مستعد لتكييف منتجك مع كل مستخدم؟
ابدأ مجانًا خلال دقائق. دون بطاقة ائتمان، ودون التزام، ومع بقاء تصديراتك مفتوحة دائمًا.