بناء مواقع اليخوت متعددة اللغات لوسطاء البحر الأبيض المتوسط
بناء مواقع اليخوت متعددة اللغات للوسطاء في البحر الأبيض المتوسط
في العام الماضي، بنينا منصة وساطة يخوت احتاجت إلى خدمة القوائم في ست لغات عبر البحر الأبيض المتوسط. المشترون الفرنسيون في كان، والعملاء الإيطاليون في بورتو تشيرفو، وطالبو الاستئجار اليونانيون في أثينا، ومشغلو المارينا الأتراك في بودروم، والسماسرة الإسبان في بالما دي مايوركا، والمغتربون الناطقون بالإنجليزية المتناثرة في كل مكان بينهم. ما بدأ بـ "فقط أضف زر الترجمة" تحول إلى واحد من أكثر تحديات i18n إثارة للاهتمام التي عملت عليها. إليك كل ما تعلمته عن بناء مواقع يخوت متعددة اللغات تحقق فعلاً نتائج.
جدول المحتويات
- لماذا وسطاء اليخوت في البحر الأبيض المتوسط يحتاجون إلى مواقع متعددة اللغات
- اختيار مجموعة التكنولوجيا المناسبة
- استراتيجية عناوين URL لقوائم اليخوت متعددة اللغات
- ترجمة بيانات قوائم اليخوت
- أنماط تطبيق i18n
- التعامل مع تحديد موقع العملة والوحدات
- تحسين محركات البحث لمواقع اليخوت متعددة اللغات
- اعتبارات الأداء
- مثال معماري واقعي
- الأسئلة الشائعة

لماذا وسطاء اليخوت في البحر الأبيض المتوسط يحتاجون إلى مواقع متعددة اللغات
يُتوقع أن يصل سوق اليخوت في البحر الأبيض المتوسط إلى 12.3 مليار دولار بحلول عام 2026، وفقاً لـ Allied Market Research. لكن إليك الشيء الذي تفتقده معظم الوكالات: هذا السوق مقسم بشكل أساسي حسب اللغة. اليخت بينيتي بطول 45 متراً المدرج في موناكو يحتاج إلى أن يكون قابلاً للاكتشاف من قبل مصنع ألماني يبحث بالألمانية، ومشترٍ سعودي يتصفح باللغة العربية، ومتقاعد بريطاني يبحث بالإنجليزية.
رأيت وسطاء يخوت يخسرون عمولات بملايين الدولارات لأن موقعهم كان يخدم محتوى باللغة الإنجليزية فقط. أخبرني سمسار في أنتاليا أن أكبر منافسيه كان يفوز بالعملاء الناطقين بالفرنسية ببساطة لأن قوائمهم ظهرت في نتائج بحث Google الفرنسية. هذه ليست مشكلة تكنولوجية — إنها مشكلة تجارية بها حل تكنولوجي.
الأرقام تؤيد هذا:
| قطاع السوق | اللغات المطلوبة | ديموغرافيات المشترين |
|---|---|---|
| الريفيرا الفرنسية | FR, EN, RU, AR | أصحاب الثروات العالية الأوروبيين، المشترون من الشرق الأوسط |
| الساحل الإيطالي | IT, EN, DE, FR | عملاء الاستئجار في شمال أوروبا |
| الجزر اليونانية | EL, EN, DE, FR | كثيف الاستئجار، السياحة الموسمية |
| الريفيرا التركية | TR, EN, DE, RU | سوق الاستئجار بأسعار معقولة |
| جزر البليار | ES, EN, DE, FR | وساطة واستئجار مختلط |
| الساحل الكرواتي | HR, EN, DE, IT | سوق ناشئ، ينمو بسرعة |
إذا كنت تخدم لغة واحدة أو لغتين فقط، فأنت تترك أموالاً على الطاولة. نقطة.
اختيار مجموعة التكنولوجيا المناسبة
لمواقع وساطة اليخوت، تحتاج إلى مجموعة تتعامل مع نوعي محتوى مختلفين جداً: محتوى التسويق الثابت (حول الصفحات، وصفات الخدمات، السير الذاتية للفريق) وبيانات القوائم الديناميكية (مواصفات اليخت، التسعير، التوفر، الصور).
لقد بنيت هذه على كل من Next.js و Astro، وكلاهما يعمل بشكل جيد حسب متطلباتك. إذا كنت بحاجة إلى تفاعل ثقيل — البحث المحفوظ، أدوات المقارنة، نماذج الاستفسار مع توفر في الوقت الفعلي — Next.js هو الخيار الأفضل. إذا كان الموقع في الأساس عرضاً توضيحياً بسلوك ديناميكي أقل، معمارية جزيرة Astro تعطيك أداءً رائعاً خارج الصندوق.
إليك كيفية مقارنة المجموعات لحالة الاستخدام هذه المحددة:
| الميزة | Next.js (App Router) | Astro | Remix |
|---|---|---|---|
| توجيه i18n | مدمج في البرنامج الوسيط | يدوي أو المكون الإضافي | يدوي |
| الإنشاء الثابت | ممتاز | ممتاز | محدود |
| القوائم الديناميكية | SSR/ISR أصلي | On-demand مع النقاط النهائية | SSR أصلي |
| تكامل CMS | ممتاز | ممتاز | جيد |
| العرض على الحافة | Vercel Edge, Cloudflare | Cloudflare, Netlify | Cloudflare |
| مكتبات الترجمة | next-intl, next-i18next | astro-i18n, paraglide | remix-i18next |
| وقت البناء (500 قائمة × 6 لغات) | ~4 دقائق مع ISR | ~8 دقائق ثابت كامل | N/A (SSR) |
بالنسبة إلى طبقة CMS بدون رأس، أوصي بشدة بفصل بيانات القوائم عن محتوى التسويق الخاص بك. استخدم نظام إدارة يخوت متخصص (مثل Yatco API، NauticEd، أو خلفية Supabase مخصصة) لبيانات القوائم، و CMS بدون رأس مثل Sanity أو Contentful لكل شيء آخر.
لماذا Headless مهم هنا
بيانات اليخوت غريبة. لديك مواصفات بالمتر أو القدم (حسب الجمهور)، وأسعار باليورو أو الدولار، وساعات محرك تتحدث باستمرار، وتقاويم توفر تتغير يومياً. محاولة إدارة كل ذلك داخل نظام إدارة محتوى تقليدي هي كابوس. يسمح لك الأسلوب بدون رأس بسحب بيانات القوائم من واجهة برمجية متخصصة ومحتوى التسويق من نظام إدارة محتوى، ثم دمجهما في وقت البناء أو وقت الطلب.
استراتيجية عناوين URL لقوائم اليخوت متعددة اللغات
هنا حيث تسوء معظم المشاريع في وقت مبكر. هيكل عنوان URL لموقع متعدد اللغات هو أحد أصعب القرارات للعودة للخلف لاحقاً. هناك ثلاث طرق:
نمط المجلد الفرعي (موصى به)
https://yachtbroker.com/en/yachts/benetti-45m-2022
https://yachtbroker.com/fr/yachts/benetti-45m-2022
https://yachtbroker.com/de/yachten/benetti-45m-2022
هذا ما أوصي به لـ 90٪ من وسطاء اليخوت. نطاق واحد، سلطة نطاق مشتركة، سهل التطبيق مع برنامج وسيط Next.js أو توجيه i18n المدمج في Astro.
نمط النطاق الفرعي
https://en.yachtbroker.com/yachts/benetti-45m-2022
https://fr.yachtbroker.com/yachts/benetti-45m-2022
بعض وسطاء اليخوت الأكبر يفضلون هذا لأسباب تنظيمية. يمكن نشر كل نطاق فرعي بشكل مستقل. لكنك تفقد سلطة النطاق الموحدة، وهناك المزيد من البنية التحتية للإدارة.
نمط ccTLD
https://yachtbroker.fr/yachts/benetti-45m-2022
https://yachtbroker.de/yachten/benetti-45m-2022
لا معنى له إلا إذا كان لديك كيانات قانونية منفصلة في كل دولة. مكلف، معقد، ونادراً ما يستحق العناء إلا إذا كنت عملية Burgess أو Fraser.
ترجمة Slug
إليك التفصيل الذي يرتبك الناس به: هل يجب عليك ترجمة slugs في عنوان URL؟ لأسماء اليخوت، لا — احتفظ بها متسقة. يُطلق على "Benetti Oasis 40M" هذا الاسم في كل لغة. لكن مسارات الفئة؟ نعم، ترجم تلك.
// next.config.js - توجيه i18n في Next.js
const nextConfig = {
i18n: {
locales: ['en', 'fr', 'de', 'it', 'es', 'el'],
defaultLocale: 'en',
localeDetection: true,
},
};
للمسارات المترجمة في Next.js App Router مع next-intl:
// src/navigation.ts
import { createLocalizedPathnameNavigation } from 'next-intl/navigation';
export const localePrefix = 'always';
export const pathnames = {
'/yachts': {
en: '/yachts',
fr: '/yachts',
de: '/yachten',
it: '/yacht',
es: '/yates',
el: '/skafi',
},
'/yachts/[slug]': {
en: '/yachts/[slug]',
fr: '/yachts/[slug]',
de: '/yachten/[slug]',
it: '/yacht/[slug]',
es: '/yates/[slug]',
el: '/skafi/[slug]',
},
};
export const { Link, redirect, usePathname, useRouter } =
createLocalizedPathnameNavigation({ locales, localePrefix, pathnames });

ترجمة بيانات قوائم اليخوت
هذا هو التحدي الأساسي. قوائم اليخوت لها ثلاثة أنواع من المحتوى التي تحتاج كل منها إلى نهج ترجمة مختلف:
1. البيانات المنظمة (لا تترجم، قم بتحديد الموقع)
المواصفات مثل الطول والشعاع والغاطس وقوة المحرك — هذه لا تحتاج إلى ترجمة. تحتاج إلى تحديد موقع. أظهر الأمتار للأوروبيين والأقدام للأمريكيين. أظهر الكيلوواتات لبعض الأسواق وقوة الحصان للآخرين.
// utils/localize-specs.ts
const UNIT_PREFERENCES: Record<string, UnitSystem> = {
en: 'imperial',
'en-GB': 'metric', // يستخدم السوق البريطاني الأمتار لليخوت
fr: 'metric',
de: 'metric',
it: 'metric',
es: 'metric',
el: 'metric',
};
export function localizeLength(meters: number, locale: string): string {
const system = UNIT_PREFERENCES[locale] || 'metric';
if (system === 'imperial') {
const feet = meters * 3.28084;
return `${feet.toFixed(0)} ft`;
}
return `${meters.toFixed(1)} m`;
}
2. الحقول المعددة (استخدم مفاتيح الترجمة)
نوع الهيكل، نوع الوقود، فئة اليخت — هذه خيارات ثابتة يجب أن تستخدم مفاتيح الترجمة وليس الترجمة ذات النص الحر.
// messages/en.json
{
"yacht": {
"hullType": {
"monohull": "Monohull",
"catamaran": "Catamaran",
"trimaran": "Trimaran"
},
"fuelType": {
"diesel": "Diesel",
"electric": "Electric",
"hybrid": "Hybrid"
}
}
}
// messages/fr.json
{
"yacht": {
"hullType": {
"monohull": "Monocoque",
"catamaran": "Catamaran",
"trimaran": "Trimaran"
},
"fuelType": {
"diesel": "Diesel",
"electric": "Électrique",
"hybrid": "Hybride"
}
}
}
3. وصفات النص الحر (الجزء الصعب)
أوصاف اليخوت هي نسخ تسويقية. يكتبها السماسرة — عادة بالإنجليزية أو الفرنسية — وهي مليئة بمصطلحات الصناعة واللغة العاطفية والمطالبات المحددة. وحدها الترجمة الآلية لن تكفي لقائمة بقيمة 5 ملايين يورو.
إليك النهج الذي أوصي به:
- قم بتخزين وصف اللغة الأصلية في نظام إدارة المحتوى الخاص بك / قاعدة البيانات
- استخدم الترجمة الذكية كممر أول — GPT-4o أو Claude يتعاملان مع مصطلحات اليخوت بشكل مفاجئ حسناً في 2025
- ضع علامة على القوائم فوق عتبة السعر (قل، 1 مليون يورو +) للمراجعة البشرية
- قم بتخزين الأوصاف المترجمة بحيث لا تدفع للترجمة مرة أخرى في كل طلب
// services/translate-listing.ts
import { openai } from '@ai-sdk/openai';
import { generateText } from 'ai';
export async function translateDescription(
text: string,
sourceLang: string,
targetLang: string
): Promise<string> {
const cached = await getFromCache(text, targetLang);
if (cached) return cached;
const { text: translated } = await generateText({
model: openai('gpt-4o'),
system: `أنت مترجم سمسار يخوت احترافي.
ترجم وصفات قوائم اليخوت من ${sourceLang} إلى ${targetLang}.
احفظ المصطلحات التقنية. احتفظ بنبرة التسويق الفاخرة.
احتفظ بأسماء العلامات التجارية وأسماء النماذج والأسماء الصحيحة دون تغيير.`,
prompt: text,
});
await saveToCache(text, targetLang, translated);
return translated;
}
تكلفة هذا النهج ضئيلة. ترجمة وصف قائمة يخت يحتوي على 500 كلمة مع GPT-4o تكلف تقريباً 0.01 - 0.02 دولار. حتى مع 500 قائمة × 6 لغات، فأنت تبحث عن 30 - 60 دولار لممر الترجمة الأولي. المراجعة البشرية للقوائم الفاخرة تضيف تكلفة، لكنها تستحق بالتأكيد عندما ينتج عن بيع يخت واحد 50 ألف - 200 ألف دولار في العمولة.
أنماط تطبيق i18n
دعني أمر عبر نمط التنفيذ الفعلي الذي أستخدمه مع Next.js App Router و next-intl، لأن تلك هي المجموعة التي تستخدمها معظم مشاريع CMS بدون رأس الخاصة بنا.
هيكل المشروع
src/
├── app/
│ └── [locale]/
│ ├── layout.tsx
│ ├── page.tsx
│ └── yachts/
│ ├── page.tsx
│ └── [slug]/
│ └── page.tsx
├── messages/
│ ├── en.json
│ ├── fr.json
│ ├── de.json
│ ├── it.json
│ ├── es.json
│ └── el.json
├── middleware.ts
└── i18n.ts
البرنامج الوسيط لكشف اللغة
// middleware.ts
import createMiddleware from 'next-intl/middleware';
import { locales, localePrefix, pathnames } from './navigation';
export default createMiddleware({
locales,
localePrefix,
pathnames,
defaultLocale: 'en',
localeDetection: true,
});
export const config = {
matcher: ['/((?!api|_next|_vercel|.*\\..*).*)'],
};
صفحة قائمة اليخت مع الترجمات
// app/[locale]/yachts/[slug]/page.tsx
import { useTranslations } from 'next-intl';
import { getYachtBySlug } from '@/lib/yachts';
import { localizeLength, localizePrice } from '@/utils/localize';
export async function generateMetadata({ params: { locale, slug } }) {
const yacht = await getYachtBySlug(slug);
const t = await getTranslations({ locale, namespace: 'yacht' });
return {
title: `${yacht.name} — ${localizeLength(yacht.lengthMeters, locale)} ${t('forSale')}`,
alternates: {
languages: {
'en': `/en/yachts/${slug}`,
'fr': `/fr/yachts/${slug}`,
'de': `/de/yachten/${slug}`,
'it': `/it/yacht/${slug}`,
'es': `/es/yates/${slug}`,
'el': `/el/skafi/${slug}`,
},
},
};
}
export default async function YachtPage({ params: { locale, slug } }) {
const yacht = await getYachtBySlug(slug);
const t = useTranslations('yacht');
const description = await getTranslatedDescription(yacht.id, locale);
return (
<article>
<h1>{yacht.name}</h1>
<dl>
<dt>{t('specs.length')}</dt>
<dd>{localizeLength(yacht.lengthMeters, locale)}</dd>
<dt>{t('specs.year')}</dt>
<dd>{yacht.year}</dd>
<dt>{t('specs.price')}</dt>
<dd>{localizePrice(yacht.priceEur, locale)}</dd>
<dt>{t('specs.hullType')}</dt>
<dd>{t(`hullType.${yacht.hullType}`)}</dd>
</dl>
<div dangerouslySetInnerHTML={{ __html: description }} />
</article>
);
}
التعامل مع تحديد موقع العملة والوحدات
تسعير اليخوت في البحر الأبيض المتوسط دائماً تقريباً يُدرج باليورو، لكن المشترين من أسواق مختلفة يتوقعون رؤية أسعار مرجعية بعملتهم المحلية. إليك كيفية التعامل معها:
// utils/localize-price.ts
const CURRENCY_BY_LOCALE: Record<string, string> = {
en: 'EUR', // الإنجليزية الدولية الافتراضية على EUR في سوق البحر المتوسط
'en-US': 'USD',
fr: 'EUR',
de: 'EUR',
it: 'EUR',
es: 'EUR',
el: 'EUR',
tr: 'EUR', // السوق التركية لا تزال تسعر بـ EUR
ar: 'USD', // يفضل المشترون من الشرق الأوسط USD
ru: 'EUR',
};
export function localizePrice(
priceEur: number,
locale: string,
exchangeRates?: Record<string, number>
): string {
const currency = CURRENCY_BY_LOCALE[locale] || 'EUR';
let amount = priceEur;
if (currency !== 'EUR' && exchangeRates) {
amount = priceEur * (exchangeRates[currency] || 1);
}
return new Intl.NumberFormat(locale, {
style: 'currency',
currency,
maximumFractionDigits: 0,
}).format(amount);
}
تحذير مهم: أظهر دائماً "السعر باليورو" أو تنصل مكافئ عند عرض أسعار مُحوَّلة. عقود بيع اليخوت مكتوبة بعملة محددة، وإظهار سعر مُحوَّل بدون سياق يمكن أن ينشئ مشاكل قانونية.
تحسين محركات البحث لمواقع اليخوت متعددة اللغات
هنا حيث يحدث الدفع الحقيقي. تحسين محركات البحث متعدد اللغات الصحيح يعني أن قائمة Azimut 68 الخاصة بك تظهر عندما يبحث شخص ما في ميونيخ عن "Azimut 68 kaufen" وأيضاً عندما يبحث شخص ما في باريس عن "Azimut 68 à vendre".
علامات hreflang
هذه غير قابلة للتفاوض. كل صفحة تحتاج إلى علامات hreflang تشير إلى جميع إصدارات اللغة:
<link rel="alternate" hreflang="en" href="https://broker.com/en/yachts/azimut-68-2023" />
<link rel="alternate" hreflang="fr" href="https://broker.com/fr/yachts/azimut-68-2023" />
<link rel="alternate" hreflang="de" href="https://broker.com/de/yachten/azimut-68-2023" />
<link rel="alternate" hreflang="x-default" href="https://broker.com/en/yachts/azimut-68-2023" />
البيانات المنظمة لكل لغة
استخدم مخطط Product مع الأوصاف المترجمة لكل إصدار لغة. يدعم Google بشكل صريح البيانات المنظمة الخاصة باللغة، وهو يساعد قوائمك على الظهور في النتائج الغنية عبر نطاقات Google المختلفة.
استراتيجية خريطة الموقع
أنشئ خرائط مواقع منفصلة لكل لغة وارجع إليها من فهرس خريطة الموقع:
<!-- sitemap-index.xml -->
<sitemapindex>
<sitemap><loc>https://broker.com/sitemap-en.xml</loc></sitemap>
<sitemap><loc>https://broker.com/sitemap-fr.xml</loc></sitemap>
<sitemap><loc>https://broker.com/sitemap-de.xml</loc></sitemap>
</sitemapindex>
اعتبارات الأداء
صفحة قائمة يخت مع 30+ صورة عالية الدقة ومحتوى مترجم ومواصفات محلية يمكن أن تصبث ثقيلة بسرعة. إليك ما يهم:
- ISR (الإنشاء الثابت الإضافي): أعد إنشاء صفحات القوائم كل 60 دقيقة. قوائم اليخوت لا تتغير بالثانية، لكن التسعير والتوفر يمكن أن يتحول يومياً.
- تخزين الترجمات مؤقتاً: لا تترجم الوصف نفسه مرتين. استخدم Redis أو حتى جدول قاعدة بيانات بسيط لتخزين الترجمات مؤقتاً.
- تحسين الصور: هذا غالباً ما يكون أكبر فائدة. معرض يخت واحد يمكن أن يحتوي على 2 جيجابايت من الصور المصدر. استخدم Next.js Image أو CDN مع التفاوض التلقائي للتنسيق (WebP/AVIF).
- تقسيم الحزمة حسب اللغة: لا تحمل ترجمات فرنسية لمستخدمي اللغة الإنجليزية. كل من
next-intlوparaglideيتعاملان مع هذا تلقائياً.
في مشروع حديث، جلبت هذه التحسينات أكبر محتوى ملون لنا من 4.2 ثانية إلى 1.1 ثانية عبر جميع اللغات. هذا مهم عندما يرتبط معدل الارتداد الخاص بك مباشرة بالعمولات المفقودة.
مثال معماري واقعي
إليك المعمارية التي استخدمناها لمواقع وساطة البحر الأبيض المتوسط:
┌─────────────┐ ┌──────────────┐ ┌─────────────┐
│ Sanity │ │ Yacht API │ │ Redis │
│ (محتوى │ │ (قوائم، │ │ (ترجمة │
│ التسويق) │ │ مواصفات) │ │ مخزنة │
│ │ │ │ │ مؤقتاً) │
└──────┬───────┘ └──────┬───────┘ └──────┬──────┘
│ │ │
└────────────┬───────┘────────────────────┘
│
┌───────▼───────┐
│ Next.js │
│ App Router │
│ + next-intl │
└───────┬───────┘
│
┌───────▼───────┐
│ Vercel │
│ شبكة الحافة │
└───────────────┘
Sanity تتعامل مع صفحات التسويق، السير الذاتية للفريق، منشورات المدونة — جميعها بها دعم أصلي متعدد اللغات. توفر واجهة برمجة اليخوت (إما خدمة جهة خارجية أو خلفية Supabase مخصصة) بيانات القوائم. Redis يخزن الترجمات التي تنشئها AI مؤقتاً. Next.js يربط كل شيء معاً مع توجيه يدرك اللغة.
إذا كانت هذه النوعية من المعمارية تبدو مثل ما تحتاجه، سنحب أن نتحدث عن مشروعك. لقد بنينا عدة منها لوسطاء البحر الأبيض المتوسط وعندنا الأنماط معايرة.
الأسئلة الشائعة
كم عدد اللغات التي يجب أن يدعمها موقع يخت البحر الأبيض المتوسط؟ على الحد الأدنى، تحتاج إلى اللغة الإنجليزية بالإضافة إلى اللغة المحلية لسوقك الأساسي. بالنسبة لوسطاء خطيين، أوصي بالإنجليزية والفرنسية والألمانية والإيطالية كخط أساسي — هذا يغطي تقريباً 80٪ من مشترين اليخوت في البحر الأبيض المتوسط. أضف الروسية والعربية إذا كنت تستهدف قطاع فوق العادة 5 ملايين يورو.
هل يجب أن أستخدم الترجمة الآلية أم أستأجر مترجمين محترفين لقوائم اليخوت؟ كلاهما. استخدم ترجمة AI (GPT-4o أو Claude) كممر أول لجميع القوائم، ثم اطلب من المترجمين البشريين مراجعة القوائم فوق عتبة السعر الخاصة بك. بالنسبة إلى وصف 500 كلمة، ترجمة AI تكلف أقل من 0.02 دولار وتحصل على 90٪ من الطريق هناك. المراجعة البشرية للقوائم الفاخرة تكلف 20 - 50 دولار لكل وصف ولكنها تضمن الدقة لعمليات البيع عالية القيمة.
ما هو أفضل CMS لمواقع اليخوت متعددة اللغات؟ Sanity و Contentful كلاهما يتعامل مع محتوى متعدد اللغات بشكل جيد خارج الصندوق. تعطيك التحديثات على مستوى الوثيقة في Sanity مرونة أكثر، بينما التحديثات على مستوى الحقل في Contentful أبسط في الإعداد. بالنسبة إلى بيانات قائمة اليخت نفسها، أوصي بنظام متخصص منفصل بدلاً من محاولة فرض كل شيء في نظام إدارة محتوى عام الأغراض. راجع صفحة تطوير CMS بدون رأس الخاصة بنا للحصول على مزيد من التفاصيل.
كيف أتعامل مع قياسات اليخت في أنظمة وحدات مختلفة؟
قم بتخزين جميع القياسات بالمتر (متر، كيلوواتات) في قاعدة البيانات الخاصة بك. حول إلى الوحدات الإمبراطورية فقط في طبقة العرض بناءً على لغة المستخدم. يستخدم صناعة اليخت في أوروبا الوحدات المترية بشكل عام، لكن المشترين الأمريكيين يتوقعون الأقدام وقوة الحصان. استخدم واجهة برمجة Intl.NumberFormat للتنسيق المتسق.
هل علامات hreflang تهم حقاً لتحسين محركات البحث لليخوت؟ بالتأكيد. بدون علامات hreflang، قد يظهر Google قائمتك الفرنسية للباحثين الألمان، أو الأسوأ، تعامل صفحاتك المترجمة كمحتوى مكرر. شهدنا زيادة في حركة البحث العضوية بنسبة 40 - 60٪ بعد تطبيق hreflang بشكل صحيح عبر موقع وساطة كان يفعل ذلك بشكل خاطئ سابقاً.
كم تكلفة بناء موقع وساطة يخت متعدد اللغات؟ عادة ما يتم بناء موقع يخت متعدد اللغات بشكل صحيح مع 4 - 6 لغات وتكامل CMS وإدارة قوائم اليخوت بـ 30,000 - 80,000 دولار حسب التعقيد. أكبر محركات التكلفة هي عدد اللغات والبحث المخصص / وظيفة التصفية والتكامل مع أنظمة إدارة اليخوت الموجودة. تفضل صفحة التسعير الخاصة بنا للحصول على تقديرات أكثر تحديداً.
هل يمكنني إضافة لغات إلى موقع اليخت الخاص بي لاحقاً؟ نعم، إذا تم بناؤه بشكل صحيح من البداية. مع معمارية i18n صحيحة، تعني إضافة لغة جديدة إنشاء ملف ترجمة جديد وترجمة سلاسل واجهة المستخدم الثابتة الخاصة بك وتشغيل أوصاف القوائم الخاصة بك من خلال خط أنابيب الترجمة. يجب أن تتعامل المسارات والبنية التحتية بالفعل معها. إذا لم يتم بناء موقعك الحالي مع i18n في الاعتبار، فإن التحديث أصعب — لكنه لا يزال قابلاً للتطبيق.
ماذا بخصوص اللغات من اليمين إلى اليسار مثل العربية لمواقع اليخوت؟
العربية تزداد أهمية لمبيعات اليخوت في البحر الأبيض المتوسط، خاصة في قطاع 10 ملايين يورو +. يحتاج CSS الخاص بك إلى دعم تخطيطات RTL — استخدم الخصائص المنطقية (margin-inline-start بدلاً من margin-left) واختبر بدقة. يدعم Next.js RTL مع سمة dir على عنصر HTML الخاص بك، مبدل لكل لغة. يضيف وقت التطوير، لكن المشترين من الشرق الأوسط يمثلون قطاع سوق كبير ومتنامي.