ولې زه نشم کولی خپل ټول ایپ یا سایټ د ګوګل ژباړې له لارې پرمخ بوځم او په بله ژبه کې لومړنۍ ژباړه ترلاسه کړم؟
*** اوس، تاسو کولی شئ! ***
د hokeylization
دی، چې معنی یې د "هاکي سیمه ایز کول" ده
دا یو څه هوکی دی ځکه چې دا خورا ساده دی: دا د ګوګل ژباړې ته تارونه لیږي
او دا ساده دی، بیا هم خورا پیاوړی. دا د HTML اسنادو لپاره ځانګړی ملاتړ لري، HandlebarsJS کينډۍ، او مارک ډاون فایلونه.
تاسو کولی شئ ژباړه:
- د جاوا سکریپټ څیز چې پیغامونه لري
- هر ډول فایلونه یا لارښودونه ، تل لارښودونه په تکراري ډول تیریږي
دا README.md سند پخپله د هوکیلایزیشن وسیلې په کارولو سره ژباړل شوی دی هره ژبه چې د ګوګل ژباړې لخوا ملاتړ کیږي!
زه ډاډه یم چې دا بشپړ نه دی، مګر زه هیله لرم چې دا د هیڅ شی څخه غوره نه وي!
🇸🇦 عربي 🇧🇩 بنگالي 🇩🇪 الماني 🇺🇸 انګلیسي 🇪🇸 هسپانوي 🇫🇷 فرانسوي 🇹🇩 هوسا 🇮🇳 هندي 🇮🇩 اندونیزیا 🇮🇹 ایټالوی 🇯🇵 جاپاني 🇰🇷 کوریا 🇮🇳 مارانتي 🇵🇱 پولنډي 🇧🇷 پرتګالي 🇷🇺 روسي 🇰🇪 سواهیلي 🇵🇭 Tagalog 🇹🇷 ترکي 🇵🇰 اردو 🇻🇳 ويتنامي 🇨🇳 چینایي
د اصلي [README] دا ځانګړې ژباړه (https://github.com/cobbzilla/hokeylization/blob/master/README.md) کیدای شي نیمګړتیا وي -- اصلاحات ډیر ښه راغلاست دي! مهرباني وکړئ په GitHub کې د پلولو غوښتنه واستوئ یا که تاسو په دې کولو کې آرام نه یاست، یوه مسله پرانیزئ
کله چې تاسو د ژباړې په اړه د GitHub نوې مسله رامینځته کړئ ، مهرباني وکړئ دا وکړئ:
- د پاڼې URL شامل کړئ (کاپي/پیسټ د براوزر ادرس بار څخه)
- دقیق متن شامل کړئ چې غلط دی (کاپي / د براوزر څخه پیسټ)
- مهرباني وکړئ تشریح کړئ چې څه غلط دي -- آیا ژباړه غلطه ده؟ ایا فارمینګ په یو ډول مات شوی؟
- په مهربانۍ سره د غوره ژباړې وړاندیز وړاندې کړئ، یا دا چې متن باید په سمه توګه فارمیټ شي
- مننه!
- سرچینه
- [ملاتړ او تمویل](#ملاتړ او تمویل)
- [نصب](# نصب)
- [سیټ اپ](# ترتیب)
- [د جاواسکریپټ سټرینګ سرچینې فایل ژباړه]
- [د متن فایلونو لارښود ژباړل](#د متن فایلونو ژباړه)
- [نور انتخابونه](#نور انتخابونه)
- JSON بیچ کمانډونه
زه هڅه کوم چې د مسلکي خلاصې سرچینې سافټویر جوړونکی شم. زه په کې کار کوم د ډیرو کلونو لپاره د سافټویر صنعت، ما بریالي شرکتونه پیل کړل او عامه شرکتونو ته یې وپلورل. په دې وروستیو کې ما خپله دنده له لاسه ورکړه، او زه واقعیا کوم بل کار نه لرم
نو زه به د ګټور سافټویر لیکلو هڅه وکړم او وګورم چې ایا دا کار کوي
که تاسو د دې سافټویر کارولو څخه خوند واخلئ، زه به ډیر خوشحاله شم چې حتی ترلاسه کړم تر ټولو کوچنی د پیټریون له لارې میاشتنۍ مرسته
مننه!
د کمانډ لاین وسیلې کارولو لپاره ، د npm
یا yarn
په کارولو سره نصب کړئ:
npm install -g hokeylization
yarn global add hokeylization
د کتابتون په توګه کارولو لپاره، د lite
نسخه نصب کړئ، کوم چې خورا کوچنی دی:
npm install -g hokeylization-lite
yarn global add hokeylization-lite
بیا د hokey
کمانډ لپاره مرستې ته وګورئ:
hokey --help
hokey -h
ایا تاسو غواړئ محصول په خپله ژبه یا بله ژبه وګورئ؟
hokey
هڅه کوي ژبه په اتوماتيک ډول ستاسو د شیل چاپیریال تغیراتو څخه کشف کړي
تاسو کولی شئ د LC_ALL
د چاپیریال متغیر په ترتیب کولو سره یوه ژبه مجبوره کړئ:
LC_ALL=it hokey --help
په یاد ولرئ چې که تاسو hokeylization-lite
نصب کړی وي، د کمانډ مرسته یوازې په انګلیسي کې شتون لري
ستاسو د ګوګل ژباړې پروژې پیژندلو لپاره د GOOGLE_TRANSLATE_PROJECT_ID
چاپیریال متغیر تنظیم کړئ
د JSON اسنادو ته چې تاسو ډاونلوډ کړی د GOOGLE_APPLICATION_CREDENTIALS
چاپیریال متغیر تنظیم کړئ
د دې معلومولو وروسته چې تصدیق څنګه په ګوګل کلاوډ کې کار کوي (دا ساتیري کیدی شي)
که تاسو د سرچینې کوډ څخه کار کوئ، تاسو کولی شئ دا په سرچینه کې د .env
فایل کې هم واچوئ
لارښود چې دوی به د چلولو په وخت کې د dotenv له لارې پورته شي
ستاسو د تار جدول باید په جاواسکریپټ فایل کې له دې دوه شکلونو څخه یوه کې وي:
د ES6 صادرات:
export default {
string_key: "some value",
another_key: "another value",
... more keys ...
}
CommonJS صادرات
module.exports = {
string_key: "some value",
another_key: "another value",
... more keys ...
}
که دا فایل د myfile.en.js
نومول شوی وي، تاسو کولی شئ دا هسپانوي او الماني ته په دې سره وژباړئ:
hokey -l es,de -o myfile.LANG.js myfile.en.js
په پورتنۍ برخه کې LANG
ځانګړی دی -- دا په دې وسیله کې ساتل شوې کلمه ده!
LANG
د محصول فایلونو لپاره د ژبې کوډ سره بدل شوی
پدې توګه پورته کمانډ فایلونه رامینځته کوي:
myfile.es.js
myfile.de.js
-l
/ --languages
اختیار د ISO د ژبې کوډونو د کوما سره جلا شوی لیست دی
د ګوګل ژباړې لخوا ملاتړ شوی
که چیرې د محصول فایل دمخه شتون ولري ، نو دا به معاینه شي ترڅو معلومه کړي چې کوم کیلي دمخه شتون لري. موجوده کیلي به ژباړل نشي. د ورک شوي کیلي لپاره ژباړې به رامینځته شي او ضمیمه شي د JS اعتراض پای ته. ټوله فایل تل بیا لیکل کیږي.
د ټولو کلیدونو د بیا ژباړلو لپاره، -f
/ --force
اختیار وکاروئ
تاسو کولی شئ د فایلونو لارښود هم وژباړئ. hokeylization به په تکراري توګه هر څخه لیدنه وکړي په ډایرکټر کې فایل کړئ او د دې مینځپانګې د ګوګل ژباړې له لارې پرمخ وړئ ، او محصول خوندي کړئ په جلا لارښود ونې کې د ورته نوم شوي فایل ته
کله چې ستاسو د ژباړې هدف لارښود وي، دا حالت فعال شوی
-o
/ --outfile
اختیار د محصول لارښود مشخص کوي
لوی خبرداری: کله چې لارښودونه وژباړئ ، ** مه کوئ ** د محصول لارښود مشخص کړئ دا ستاسو د ننوتلو لارښود کې دی! که تاسو دا کار کوئ، تاسو به:
- لامحدود تکرار هڅوي
- خپل د ګوګل بل چل کړئ
- خپل ډیسک ډک کړئ
- لږ تفریح وکړئ
دلته د هغه څه یوه بیلګه ده چې * نه کول *:
hokey -l es -o templates/es templates # <--- DON'T DO THIS!
کله چې دا چلیږي، ژباړل شوي فایلونه templates/es
ته لیکل کیږي، او په دې توګه نوي کیږي
د ژباړې لپاره د سرچینې فایلونه، ځکه چې دوی د templates/
لاندې دي -- دا بهیر دوام لري
د تل لپاره، دا مه کوئ!
ښه، راځئ چې ووایو تاسو په لارښود کې ځینې بریښنالیک ټیمپلیټونه لرئ:
templates/email/en/welcome.txt
templates/email/en/welcome.html
templates/email/en/verify-account.txt
templates/email/en/verify-account.html
templates/email/en/reset-password.txt
templates/email/en/reset-password.html
د دې ټولو هسپانوي او جرمني ته د ژباړلو لپاره، چل کړئ:
hokey -l es,de -o templates/email/LANG templates/email/en
په پورتنۍ برخه کې، LANG
یوه خوندي کلمه ده او د ISO د ژبې کوډ سره به بدل شي
څه پیښیږي کله چې پورته چلیږي:
- د
templates/email/es
” اوtemplates/email/de
لارښودونه به جوړ شي (که دوی شتون ونلري) - په
templates/email/en
کې هر فایل به هسپانوي او جرمني ته ژباړل شي - موجوده محصول فایلونه به بیا تولید نشي تر هغه چې تاسو
-f
/--force
- تاسو به د ورته لارښود جوړښت او فایلونو سره په
es
اوde
کې پای ته ورسیږئ لکه څنګه چې تاسو دen
لاندې لرئ
تېر -n
/ --dry-run
د ښودلو لپاره چې څه به ترسره شي، مګر په حقیقت کې هیڅ API کال مه کوئ یا کوم فایلونه ولیکئ
د تل لپاره د ژباړې بیا تولیدولو لپاره -f
/ --force
، حتی که دوی دمخه شتون ولري
تېر -m
/ --match
د پروسس شوي فایلونو محدودولو لپاره کله چې په ډایرکټر حالت کې روان وي
تاسو ممکن تل نه غواړئ ستاسو د سرچینې ډایرکټر کې *هر * فایل ستاسو هدف لارښود ته وژباړئ
د -m
/ --match
انتخاب ارزښت یو ریجیکس دی (د شیل حواله کولو قواعدو څخه خبر اوسئ!) چې مشخص کوي
کوم فایلونه باید ژباړل شي
کله چې په شک کې وي، تاسو کولی شئ دا اختیار د -n
/ --dry-run
سره یوځای کړئ ترڅو وګورئ چې کوم فایلونه ژباړل کیږي
ځینې وختونه ستاسو -m
د ډیرو فایلونو سره سمون لري. په ښکاره توګه د ایستلو لپاره -e
/ --excludes
اختیار وکاروئ
هغه فایلونه چې بل ډول به یې سره سمون ولري
تاسو کولی شئ ډیری ریجیکس لیست کړئ، د ځایونو لخوا جلا شوي
یو عام استعمال به دا وي: --excludes node_modules dist \.git build tmp
د ژباړې لپاره تارونه ښايي {{ handlebars }}
کينډۍ ولري، يا د دوو يا دريو خړوبونو سره
تاسو شاید *نه * نه غواړئ چې د دې ټیمپلیټونو دننه توکي وژباړل شي
-H
/ --handlebars
بیرغ تیر کړئ، او د {{ ... }}
دننه هر څه به ژباړل نشي
مارک ډاون نه متن دی او نه هم html، نو د ګوګل ژباړې سره ځینې ستونزې لري
-M
/ --markdown
بیرغ د مارک ډاون فایلونو لپاره ځانګړي اداره کول وړوي
د markdown فایلونو سره، که تاسو د -M
بیرغ نه کاروئ، تاسو به شاید دا ستونزې ومومئ:
- مات شوي لینکونه. په ژباړه کې، یو ځایی کرکټر وروسته له هغه ښکاري چې د نښه کولو لینک توضیح پای ته ورسیږي (د
]
سره) مګر مخکې له دې چې د هدف لینک پیل شي ((
سره). د سند لیدو پر مهال مات شوی. - د کوډ بلاکونه ژباړل کیږي. د ګوګل ژباړونکي نه پوهیږي چې کوم مارک ډاون کوډ په پام کې نیسي او څه نه
- د کوډ شوي کوډ بلاکونو لپاره غلط واټن. په ژباړه کې د ځای ساتل ستونزمن دي
- د
backticks
دننه شیان به ژباړل شي، کله چې تاسو تقریبا تل غواړئ چې لفظي ارزښتونه وي
کله چې -M
/ --markdown
بیرغ فعال شوی وي:
- نمونه
](
به د](
ته کنډ شي - د "نه ژباړه" ریپر به د کوډ شوي کوډ بلاکونو شاوخوا کېښودل شي ، د مناسب انډیټیشن ساتنه او ډاډ ترلاسه کول چې دوی ژباړل شوي ندي
- یو "نه ژباړه" ریپر به د متن په شاوخوا کې د
backticks
دننه کیښودل شي ترڅو ډاډ ترلاسه شي چې دوی ژباړل شوي ندي
عموما هرڅه د ساده متن په توګه پروسس کیږي
که ستاسو مینځپانګه HTML وي ، نو دا به ګډوډ شي پرته لدې چې تاسو -p html
/ --process-as html
اختیار تیر کړئ
د زړه راښکونکي لپاره: کله چې په لارښود کې فایلونه پروسس کول ، تاسو کولی شئ -F
/ --filter
اختیار تیر کړئ
د فایل سیسټم ته د لیکلو دمخه د محصول فلټر کولو لپاره
د دې اختیار ارزښت باید د JS فایل ته لاره وي چې د filter
د filter
فنکشن باید async
ځکه چې await
به ورته ویل کیږي
مخکې لدې چې فایلونه ډیسک ته ولیکل شي ، د فایل ټول مینځپانګې به د سټینګ په توګه د filter
فنکشن ته لیږدول کیږي
د filter
څخه د بیرته ستنیدو ارزښت هغه څه دي چې واقعیا به ذخیره کولو ته لیکل کیږي
په دې توګه، تاسو د هغه څه په اړه بشپړ کنټرول لرئ چې په پای کې به لیکل کیږي
د filter
سکریپټ به په لاندې ځایونو کې وڅیړل شي (د .js
سره به په فلټر کې ضمیمه شي
نوم، پرته لدې چې دا دمخه په .js
پای ته ورسیږي )
- اوسنی لارښود
- په اوسني ډایرکټر کې د
.hokey-filters
په نوم لارښود - د
${HOME}/.hokey-filters
نوم یو لارښود، چیرته چې${HOME}
د اوسني کارونکي کور لارښود دی - جوړ شوی د فلټر لارښود
د filter
تار کیدای شي څو کلمې وي. په دې حالت کې، لومړی کلمه د فلټر نوم دی، او
پاتې کلمې به د filter
فعالیت ته د دلیلونو په توګه لیږدول کیږي
د مرستې ښودلو لپاره -h
/ --help
وکاروئ
د -j
/ --json
اختیار سره، تاسو کولی شئ څو همغږي شوي hokey
پرمخ بوځي
د کنوانسیون له مخې دا فایل د hokey.json
په نوم یادیږي، مګر تاسو کولی شئ هغه نوم ورکړئ چې تاسو یې غواړئ
که تاسو یو لارښود د -j
اختیار په توګه تېر کړئ، hokey
به په دې لارښود کې د hokey.json
په لټه کې وي.
د JSON فایل باید یو څیز ولري. په دې اعتراض کې، د هغې د ملکیت نومونه ورته دي
د کمانډ لاین اختیارونه، او یو اضافي ملکیت چې د hokey
نوم یادیږي
د hokey
ملکیت د چلولو لپاره د امرونو لړۍ ده. په دې حکمونو کې اعلان شوي ملکیتونه به
په بهرني څیز کې هر ډول نقل شوي اعالمیې له سره وګرځوئ.
د هر څیز دننه د hokey
صف کې، تاسو باید یو name
مشخص کړئ، او د ننوتلو او محصول فایلونه
دلته د hokey.json
یوه بیلګه ده
{
"inputLanguage": "en",
"languages": "es,fr,ja", # can also be an array of strings
"force": false,
"match": null,
"processAs": null,
"excludes": ["exclude-1", "exclude-2"],
"handlebars": false,
"markdown": false,
"regular": false,
"dryRun": false,
"filter": "theFilter.js",
"hokey": [
{
"name": "locale names",
"infile": "messages/locales_en.js",
"outfile": "messages/locales_LANG.js",
"handlebars": true
},
{
"name": "CLI messages",
"infile": "messages/en_messages.js",
"outfile": "messages/LANG_messages.js",
"handlebars": true
},
{
"name": "README",
"infile": "README.md",
"outfile": "lang/LANG/",
"excludes": ["lang/", "node_modules/", "\\.git/", "tmp/"],
"filter": "relativizeMarkdownLinks lang",
"markdown": true,
"index": "lang/README.md"
}
]
}
د یو واحد لار پر ځای د فایل لارو یو قطار د infiles
infile
په توګه تېر کړئ، لکه څنګه چې په دې مثال کې:
{
... [
{
"name": "my docs",
"infiles": ["README.md", "INSTALL.md", "TUTORIAL.md"],
"outfile": "docs/LANG/",
"markdown": true
]
}
کله چې ډیری ژبو ته ژباړل کیږي، hokey
کولی شي د شاخص فایل رامینځته کړي چې ټولې ژباړې لیست کړي
او دوی ته لینکونه چمتو کوي
*کله چې شاخصونه رامینځته کوئ ، تاسو کولی شئ یوازې د ننوتلو سرچینه ولرئ *
د -I
/ --index
اختیار تیر کړئ، ارزښت هغه ځای دی چې د شاخص فایل به تولید شي، کوم چې کیدای شي فایل وي
یا لارښود. که دا ډایرکټر وي، نو د ډیفالټ فایل نوم به کارول کیږي، د کينډۍ پر بنسټ (لاندې وګورئ)
-A
/ --index-template
ترڅو معلومه کړئ چې د شاخص محصول څنګه فارمیټ شوی. تاسو کولی شئ 'html' مشخص کړئ،
'مارک ډاون'، 'متن'، یا ستاسو خپل HandlebarsJS کېنډۍ ته د فایل لاره
که تاسو خپله کېنډۍ مشخص کړئ، نو تاسو باید د -I
/ --index
لپاره یوه فایل هم مشخص کړئ (ډېرکټر نه دی).
اختیار