Google AI
الترجمة بالذكاء الاصطناعي باستخدام Google Gemini وLingo.dev Compiler
ما هو Google AI؟
Google AI Studio هي بيئة تطوير قائمة على الويب لبناء واختبار ونشر التطبيقات المدعومة بنماذج الذكاء الاصطناعي التوليدية من Google، مثل Gemini. تتيح للمطورين تجربة الإرشادات، وضبط الاستجابات، ودمج النماذج في التطبيقات عبر واجهات برمجة التطبيقات، كل ذلك ضمن واجهة سهلة الاستخدام متصلة بـ Google Cloud.
إعداد مفتاح API
يتطلب Google AI مفتاح API لمصادقة الطلبات من Lingo.dev Compiler. اختر طريقة الإعداد التي تناسب سير عملك بشكل أفضل:
الخيار 1: متغير البيئة (Terminal)
الأفضل للتجارب السريعة والاختبار دون تعديل أي ملفات.
قم بتعيين المفتاح مباشرة في جلسة الطرفية الخاصة بك:
export GOOGLE_API_KEY="your-api-key-here"
سيكون هذا المفتاح متاحًا فقط حتى تغلق نافذة الطرفية.
الخيار 2: تكوين المشروع (.env)
الأفضل للتكوين الخاص بالمشروع وبيئات الفريق حيث قد يستخدم كل مشروع بيانات اعتماد مختلفة.
قم بإنشاء ملف .env
في جذر المشروع الخاص بك:
touch .env
أضف السطر التالي إلى الملف:
GOOGLE_API_KEY="your-api-key-here"
يتحقق Lingo.dev Compiler من ملفات البيئة بترتيب الأولوية هذا:
.env.development
(الأولوية القصوى).env.local
.env
(الأولوية الأدنى)
تتجاوز القيم في الملفات ذات الأولوية الأعلى تلك الموجودة في الملفات ذات الأولوية الأدنى.
الخيار 3: التكوين العالمي (إعدادات المستخدم)
الأفضل للمطورين الأفراد الذين يرغبون في استخدام نفس مفتاح API عبر جميع مشاريعهم.
قم بإنشاء ملف تكوين في الدليل الرئيسي الخاص بك:
touch ~/.lingodotdevrc
أضف المحتوى التالي إلى الملف:
[llm]
googleApiKey="your-api-key-here"
يستمر هذا التكوين عبر جميع جلسات الطرفية والمشاريع على جهازك.
أولوية التكوين
عندما يتم استخدام طرق تكوين متعددة، يقوم مترجم Lingo.dev بالتحقق من مفاتيح API بهذا الترتيب:
- متغيرات البيئة (الأولوية الأعلى)
- ملفات .env الخاصة بالمشروع (بترتيب الأولوية الخاص بها)
- ملف تكوين المستخدم
~/.lingodotdevrc
(الأولوية الأدنى)
يتم استخدام أول مفتاح API صالح يتم العثور عليه.
استخدام Google AI
لتمكين Google AI، قم بتعيين خاصية models
في خيارات المترجم:
import react from "@vitejs/plugin-react";
import lingoCompiler from "lingo.dev/compiler";
import { type UserConfig } from "vite";
// https://vite.dev/config/
const viteConfig: UserConfig = {
plugins: [react()],
};
const withLingo = lingoCompiler.vite({
sourceRoot: "src",
lingoDir: "lingo",
sourceLocale: "en",
targetLocales: ["es", "fr", "de", "ja"],
rsc: false,
useDirective: false,
debug: false,
models: {
"*:*": "google:gemini-1.5-flash",
},
});
export default withLingo(viteConfig);
تقبل الخاصية كائنًا حيث:
- المفاتيح هي أزواج من اللغات المصدر والهدف، مع
*
التي تمثل أي لغة - القيم هي معرفات النماذج (مثل
google:gemini-1.5-flash
)
يمكنك استخدام Google AI للترجمة:
- بين جميع اللغات
- من لغة مصدر محددة
- إلى لغة هدف محددة
- بين لغة مصدر وهدف محددة
ترجمة جميع اللغات
استخدم نمط البدل *:*
لتطبيق نفس نموذج Google لجميع أزواج الترجمة:
const withLingo = lingoCompiler.vite({
sourceRoot: "src",
lingoDir: "lingo",
sourceLocale: "en",
targetLocales: ["es", "fr", "de", "ja", "pt", "zh"],
models: {
// استخدم Gemini 1.5 Flash لجميع أزواج الترجمة
"*:*": "google:gemini-1.5-flash",
},
});
الترجمة من لغة مصدر محددة
استخدم لغة مصدر محددة مع هدف بدل لتطبيق نموذج لجميع الترجمات من ذلك المصدر:
const withLingo = lingoCompiler.vite({
sourceRoot: "src",
lingoDir: "lingo",
sourceLocale: "en",
targetLocales: ["es", "fr", "de", "ja", "pt", "zh"],
models: {
// استخدم Gemini 1.5 Pro لجميع الترجمات من الإنجليزية
"en:*": "google:gemini-1.5-pro",
// استخدم Gemini 1.5 Flash للترجمات من الإسبانية إلى أي لغة
"es:*": "google:gemini-1.5-flash",
// الخيار الاحتياطي للغات المصدر الأخرى
"*:*": "google:gemini-1.5-flash-latest",
},
});
الترجمة إلى لغة مستهدفة محددة
استخدم مصدرًا عامًا مع لغة مستهدفة محددة لتطبيق نموذج لجميع الترجمات إلى تلك اللغة المستهدفة:
const withLingo = lingoCompiler.vite({
sourceRoot: "src",
lingoDir: "lingo",
sourceLocale: "en",
targetLocales: ["es", "fr", "de", "ja", "pt", "zh"],
models: {
// استخدام نموذج متخصص للترجمات إلى اليابانية
"*:ja": "google:gemini-1.5-pro",
// استخدام Gemini 1.5 Flash للترجمات إلى الصينية
"*:zh": "google:gemini-1.5-flash",
// استخدام Gemini 1.5 Pro للترجمات إلى الألمانية
"*:de": "google:gemini-1.5-pro-latest",
// الإعداد الافتراضي للغات المستهدفة الأخرى
"*:*": "google:gemini-1.5-flash",
},
});
الترجمة بين لغات محددة
حدد أزواج المصدر والهدف بدقة للتحكم الدقيق في النموذج الذي يتعامل مع مجموعات لغوية محددة:
const withLingo = lingoCompiler.vite({
sourceRoot: "src",
lingoDir: "lingo",
sourceLocale: "en",
targetLocales: ["es", "fr", "de", "ja", "pt", "zh"],
models: {
// أزواج محددة مع نماذج مثالية
"en:es": "google:gemini-1.5-flash", // الإنجليزية إلى الإسبانية
"en:ja": "google:gemini-1.5-pro", // الإنجليزية إلى اليابانية
"en:zh": "google:gemini-1.5-pro", // الإنجليزية إلى الصينية
"es:en": "google:gemini-1.5-flash", // الإسبانية إلى الإنجليزية
"fr:en": "google:gemini-1.5-flash-latest", // الفرنسية إلى الإنجليزية
"de:en": "google:gemini-1.0-pro", // الألمانية إلى الإنجليزية
// الخيار الاحتياطي للأزواج غير المحددة
"*:*": "google:gemini-1.5-flash",
},
});