Lingo.dev + .properties (جافا)
تقوم واجهة سطر أوامر Lingo.dev بترجمة ملفات .properties الخاصة بجافا مع الحفاظ على بنية المفتاح-القيمة، وتسلسلات الهروب، واتفاقيات التوطين الخاصة بجافا. تعمل واجهة سطر الأوامر بسلاسة مع نظام ResourceBundle في جافا، وتحافظ على تنسيق ملف الخصائص بدقة، وتتعامل مع ترميز Unicode والأحرف الخاصة بشكل صحيح، وتحافظ على العناصر النائبة {0}
، {1}
لـ MessageFormat، وتتكامل مع عمليات بناء Maven و Gradle.
الإعداد السريع
التكوين لملفات خصائص جافا:
{
"locale": {
"source": "en",
"targets": ["es", "fr", "de"]
},
"buckets": {
"properties": {
"include": ["src/main/resources/messages_[locale].properties"]
}
}
}
تذكير: [locale]
هو عنصر نائب يجب أن يبقى في التكوين حرفيًا، حيث يتم استبداله باللغة الفعلية أثناء تشغيل واجهة سطر الأوامر.
ترجمة ملفات الخصائص
npx lingo.dev@latest i18n
يحافظ على تنسيق ملف الخصائص، وتسلسلات الهروب، والاتفاقيات الخاصة بجافا أثناء ترجمة القيم.
بنية ملف الخصائص
أزواج المفتاح-القيمة الأساسية
welcome.message=Welcome to our application
login.button=Log In
logout.button=Log Out
error.invalid.credentials=Invalid username or password
تنظيم مساحة الأسماء
# رسائل المصادقة
auth.login.title=Sign In
auth.login.subtitle=Enter your credentials
auth.register.title=Create Account
auth.forgot.password=Forgot Password?
# عناصر التنقل
nav.home=Home
nav.dashboard=Dashboard
nav.settings=Settings
العناصر النائبة لـ MessageFormat
welcome.user=Welcome back, {0}!
items.count=You have {0} items in your cart
validation.min.length=Field must be at least {0} characters long
date.format=Today is {0,date,short}
ميزات خاصة بجافا
تسلسلات هروب Unicode
japanese.greeting=\u3053\u3093\u306b\u3061\u306f
euro.symbol=Price: 100\u20ac
يتم الحفاظ على تسلسلات هروب Unicode أثناء الترجمة.
استمرارية السطر
long.message=This is a very long message that \
spans multiple lines for better \
readability in the source file
هروب الأحرف الخاصة
file.path=C:\\Users\\Documents\\file.txt
key.with.spaces=key\ with\ spaces=value with spaces
special.chars=Contains \= equals and \: colons
التكوين المتقدم
ملفات خصائص متعددة
"properties": {
"include": [
"src/main/resources/messages_[locale].properties",
"src/main/resources/validation_[locale].properties"
]
}
قفل مفاتيح التكوين
"properties": {
"include": ["src/main/resources/messages_[locale].properties"],
"lockedKeys": ["app.version", "build.timestamp", "api.endpoint"]
}