Skip to content

Latest commit

 

History

History
380 lines (276 loc) · 20.7 KB

README.md

File metadata and controls

380 lines (276 loc) · 20.7 KB

هوکیلایزیشن

ولې زه نشم کولی خپل ټول ایپ یا سایټ د ګوګل ژباړې له لارې پرمخ بوځم او په بله ژبه کې لومړنۍ ژباړه ترلاسه کړم؟

*** اوس، تاسو کولی شئ! ***

د hokeylization دی، چې معنی یې د "هاکي سیمه ایز کول" ده

دا یو څه هوکی دی ځکه چې دا خورا ساده دی: دا د ګوګل ژباړې ته تارونه لیږي

او دا ساده دی، بیا هم خورا پیاوړی. دا د HTML اسنادو لپاره ځانګړی ملاتړ لري، HandlebarsJS کينډۍ، او مارک ډاون فایلونه.

تاسو کولی شئ ژباړه:

  • د جاوا سکریپټ څیز چې پیغامونه لري
  • هر ډول فایلونه یا لارښودونه ، تل لارښودونه په تکراري ډول تیریږي

دا په بله ژبه ولولئ

دا README.md سند پخپله د هوکیلایزیشن وسیلې په کارولو سره ژباړل شوی دی هره ژبه چې د ګوګل ژباړې لخوا ملاتړ کیږي!

زه ډاډه یم چې دا بشپړ نه دی، مګر زه هیله لرم چې دا د هیڅ شی څخه غوره نه وي!

🇸🇦 عربي 🇧🇩 بنگالي 🇩🇪 الماني 🇺🇸 انګلیسي 🇪🇸 هسپانوي 🇫🇷 فرانسوي 🇹🇩 هوسا 🇮🇳 هندي 🇮🇩 اندونیزیا 🇮🇹 ایټالوی 🇯🇵 جاپاني 🇰🇷 کوریا 🇮🇳 مارانتي 🇵🇱 پولنډي 🇧🇷 پرتګالي 🇷🇺 روسي 🇰🇪 سواهیلي 🇵🇭 Tagalog 🇹🇷 ترکي 🇵🇰 اردو 🇻🇳 ويتنامي 🇨🇳 چینایي

ایا د README د دې ژباړې سره کومه ستونزه شتون لري؟

د اصلي [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 وکاروئ

د JSON بیچ کمانډونه

د -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 لپاره یوه فایل هم مشخص کړئ (ډېرکټر نه دی). اختیار

د ژبې په ژباړلو کې په زړه پورې وخت ولرئ!