בינאום (Internationalization)
הוסף תמיכה במספר שפות לאפליקציה שלך. השתמש ב-Proyecta Content API לבינאום תוכן עריכתי, או בקש מה-AI לחבר framework של i18n ישירות בקוד.
Proyecta תומך בשני גישות משלימות לבינאום האפליקציות שאתה בונה:
- בינאום תוכן באמצעות Proyecta Content API — לתוכן עריכתי (פוסטים בבלוג, שאלות נפוצות, תוכן שיווקי) שצריך להיות מתורגם למספר שפות
- i18n ברמת הקוד באמצעות framework לתרגום — למחרוזות ממשק משתמש, תאריכים, מטבעות ומעבר לוקאל בזמן ריצה
שתי הגישות עובדות כיום. איזו מהן תצטרך תלוי במה שאתה מתרגם.
Proyecta עצמו מגיע עם 24 לוקאלים, כך שהמוצר שולט ב-i18n. אותם דפוסים חלים על האפליקציות שאתה בונה בתוכו.
אפשרות 1: בינאום תוכן (Proyecta Content API)
Section titled “אפשרות 1: בינאום תוכן (Proyecta Content API)”אם אתה בונה אתר עשיר בתוכן — בלוג, בסיס ידע, דפי שיווק, קטלוג מוצרים — השתמש בתמיכת הלוקאל המובנית. אמור ל-AI באילו שפות אתה תומך ("Make the site available in English, Spanish and French") והוא ירשום אותן עבורך, כשאנגלית היא ברירת המחדל. לאחר מכן קרא את התוכן בשפת המבקר.
בצד ה-frontend, ה-hooks עם הטיפוס של התבנית מפענחים עבורך שדות מקומיים — העבר את הלוקאל הפעיל של המבקר וכל שדה localized יחזור כערך מתורגם יחיד:
import { useCollection, useEntry } from '@/hooks/useContent';import { useTranslation } from 'react-i18next';
function Blog({ slug }: { slug: string }) { const { i18n } = useTranslation();
// List a collection in the current locale const { data: posts } = useCollection('posts', { locale: i18n.language });
// Or read one entry by slug in the current locale const { data: post } = useEntry('posts', slug, { locale: i18n.language });
// ...render posts / post}מאחורי הקלעים, ה-CMS עובר על שרשרת נפילה — הלוקאל המבוקש ← הנפילות המוגדרות שלו ← לוקאל ברירת המחדל — ומדווח על הקוד שהוגש בפועל בכל רשומה בתור localeResolved. השמט את locale באתרים חד-לשוניים והשדות יחזרו כערכים גולמיים.
זוהי התשובה הנכונה כאשר:
- עורכים שאינם כותבי קוד צריכים לתרגם תוכן
- אתה רוצה שתרגומים יהיו ניתנים לגרסאות
- אתה צריך פרסום ספציפי ללוקאל (פרסום מתוזמן יגיע בקרוב — כרגע רשומות דורשות פרסום ידני דרך ה-API)
ראה ניהול תוכן לגבי Content API המלא.
אפשרות 2: framework של i18n ברמת הקוד
Section titled “אפשרות 2: framework של i18n ברמת הקוד”למחרוזות ממשק משתמש — תוויות, כפתורים, הודעות שגיאה, תאריכים, מטבעות — בקש מה-AI לחבר framework של i18n ישירות לפרויקט שלך:
Add internationalization to my app.Support English, Spanish, French, and Arabic.Add message catalogs in src/locales/.Add a language switcher in the header.Use locale-prefixed URLs like /en/about and /es/about.Make sure RTL layout works correctly for Arabic.ה-AI יבצע את הפעולות הבאות:
- יבחר framework — ה-AI משתמש ב-
i18nextעםreact-i18next(הסטנדרט של Proyecta) - יצור קבצי קטלוג ב-
src/locales/(קובץ JSON אחד לכל שפה) - יעטוף טקסט בקריאות
t()(מה-hookuseTranslationשל react-i18next) - יוסיף קומפוננטת בורר שפה
- יחבר ניתוב URL עם קידומות לוקאל
- יטפל ב-RTL (פריסה מימין לשמאל עם
dir="rtl") לערבית, עברית וכדומה - יעצב מספרים, תאריכים ומטבעות לפי לוקאל
תרגום אוטומטי עם ה-AI
Section titled “תרגום אוטומטי עם ה-AI”ברגע שהשפה הבסיסית שלך קיימת, ה-AI מצוין בהפקת קבצי קטלוג נוספים:
"Translate every string in src/locales/en.json into Spanish, French, German, and Japanese. Use natural, idiomatic phrasing — don't translate brand names.""My app is fully built in English. Add Spanish translations for everything and an es/ route prefix."
לתוכן בעל חשיבות גבוהה (ניסוחים משפטיים, רפואה, פיננסים), כדאי שמתרגם אנושי יבדוק את פלט ה-AI לפני ה-deploy.
שילוב שתי הגישות
Section titled “שילוב שתי הגישות”רוב האפליקציות האמיתיות משתמשות בשתיהן: i18n ברמת הקוד לאלמנטי ה-UI (כפתורים, שגיאות, ניווט), ו-Content API לתוכן עריכתי (מאמרים, תיאורי מוצרים). הם מתקיימים יחד בצורה נקייה — ה-framework של i18n שלך מטפל בקבצי הקטלוג בזמן build, ה-Content API מגיש רשומות מקומיות בזמן ריצה.
שיטות עבודה מומלצות
Section titled “שיטות עבודה מומלצות”- בחר את שפת הבסיס שלך וסיים את הטקסט תחילה. לתרגם יעד שזזה כל הזמן זה כאב ראש.
- תרגם בקבצים. אל תתרגם תוך כדי — המתן עד שפיצ’ר מתייצב.
- בדוק RTL מוקדם אם אתה תומך בערבית או עברית. באגים של RTL מסתתרים עד שמסתכלים.
- כלול
langו-dirעל<html>. דפדפנים וקוראי מסך תלויים בזה. - השתמש ב-
Intlלעיצוב. אל תכתוב ידנית עיצוב תאריכים או מטבעות — השתמש ב-Intl.DateTimeFormat,Intl.NumberFormat.
- ממשק ניהול לוקאלים בתוך ה-builder — בחר לוקאלים, ראה כיסוי תרגום, ערוך קטלוגים מבלי לעזוב את Proyecta
- תרגום אוטומטי בשמירה למחרוזות חדשות
- תבניות פרויקט מוכנות ל-i18n עם ה-framework מחובר מראש