Skip to content

Latest commit

 

History

History
380 lines (276 loc) · 29.5 KB

README.md

File metadata and controls

380 lines (276 loc) · 29.5 KB

Hokeylization

ເປັນຫຍັງຂ້ອຍຈຶ່ງບໍ່ສາມາດແລ່ນແອັບຯ ຫຼືເວັບໄຊທັງໝົດຂອງຂ້ອຍຜ່ານ Google Translate ແລະຮັບການແປພື້ນຖານເປັນພາສາອື່ນໄດ້?

*** ໃນ​ປັດ​ຈຸ​ບັນ​, ທ່ານ​ສາ​ມາດ​ເຮັດ​ໄດ້​!

ຊື່ hokeylization ແມ່ນ portmanteau, ຊຶ່ງຫມາຍຄວາມວ່າ 'hokey localization'

ມັນ​ເປັນ​ບາງ​ສິ່ງ​ບາງ​ຢ່າງ​ທີ່​ສໍາ​ຄັນ​ເນື່ອງ​ຈາກ​ວ່າ​ມັນ​ງ່າຍ​ດາຍ​ຫຼາຍ​: ມັນ​ຈະ​ສົ່ງ​ສະ​ຕ​ຣິງ​ກັບ​ກູ​ໂກ​ແປ​ພາ​ສາ​

ແລະມັນແມ່ນງ່າຍດາຍ, ແຕ່ຍັງມີອໍານາດຫຼາຍ. ມັນມີການສະຫນັບສະຫນູນພິເສດສໍາລັບເອກະສານ HTML, HandlebarsJS ແມ່ແບບ, ແລະ Markdown ໄຟລ໌.

ເຈົ້າສາມາດແປໄດ້:

  • ວັດຖຸ JavaScript ທີ່ມີຂໍ້ຄວາມ
  • ຈ​ໍ​າ​ນວນ​ຂອງ​ໄຟລ​໌​ຫຼື​ລະ​ບົບ​, ສະ​ເຫມີ traversing ລາຍ​ການ recursively​

ອ່ານນີ້ເປັນພາສາອື່ນ

ເອກະສານ README.md ນີ້ໄດ້ຖືກແປ, ໂດຍໃຊ້ເຄື່ອງມື hokeylization ຕົວຂອງມັນເອງ, ເຂົ້າໄປໃນ ທຸກພາສາທີ່ຮອງຮັບໂດຍ Google Translate!

ຂ້ອຍແນ່ໃຈວ່າມັນບໍ່ສົມບູນແບບ, ແຕ່ຂ້ອຍຫວັງວ່າມັນຈະດີກ່ວາບໍ່ມີຫຍັງ!

🇸🇦 Arabic 🇧🇩 Bengali 🇩🇪 ເຢຍລະມັນ 🇺🇸ພາສາອັງກິດ 🇪🇸 ແອສປາໂຍນ 🇫🇷 ຝຣັ່ງ 🇹🇩 Hausa 🇮🇳 ຮິນດູ 🇮🇩 ອິນໂດເນເຊຍ 🇮🇹 ອິຕາລີ 🇯🇵 ພາສາຍີ່ປຸ່ນ 🇰🇷ເກົາຫຼີ 🇮🇳 Marathi 🇵🇱 ໂປໂລຍ 🇧🇷 ປອກຕຸຍການ 🇷🇺ລັດເຊຍ 🇰🇪 Swahili 🇵🇭 Tagalog 🇹🇷 ຕວກກີ 🇵🇰 Urdu 🇻🇳 ຫວຽດນາມ 🇨🇳 ຈີນ

ມີບັນຫາກັບການແປຂອງ README ນີ້ບໍ?

ການແປສະເພາະນີ້ຂອງຕົ້ນສະບັບ README ອາດ​ຈະ​ມີ​ຂໍ້​ບົກ​ພ່ອງ -- ການ​ແກ້​ໄຂ​ແມ່ນ​ຍິນ​ດີ​ຕ້ອນ​ຮັບ​ຫຼາຍ! ກະ​ລຸ​ນາ​ສົ່ງ ການ​ຮ້ອງ​ຂໍ​ດຶງ​ກ່ຽວ​ກັບ GitHub​, ຫຼືຖ້າທ່ານບໍ່ສະດວກໃນການເຮັດແນວນັ້ນ, ເປີດບັນຫາ

ເມື່ອທ່ານສ້າງບັນຫາ GitHub ໃໝ່ກ່ຽວກັບການແປ, ກະລຸນາເຮັດ:

  • ລວມເອົາ URL ຂອງໜ້າ (ສຳເນົາ/ວາງຈາກແຖບທີ່ຢູ່ຂອງບຣາວເຊີ)
  • ລວມ​ເອົາ​ຂໍ້​ຄວາມ​ທີ່​ແນ່​ນອນ​ວ່າ​ຜິດ​ພາດ (ຄັດ​ລອກ / ວາງ​ຈາກ​ຕົວ​ທ່ອງ​ເວັບ​)
  • ກະລຸນາອະທິບາຍສິ່ງທີ່ຜິດພາດ -- ການແປບໍ່ຖືກຕ້ອງບໍ? ການຈັດຮູບແບບຖືກທໍາລາຍຢ່າງໃດ?
  • ຂໍສະເໜີຄຳແນະນຳການແປທີ່ດີກວ່າ, ຫຼືວ່າຂໍ້ຄວາມຄວນຖືກຈັດຮູບແບບແນວໃດໃຫ້ຖືກຕ້ອງ
  • ຂອບ​ໃຈ!

ເນື້ອໃນ

ທີ່ມາ

ສະໜັບສະໜູນ ແລະ ສະໜອງທຶນ

ຂ້ອຍພະຍາຍາມເປັນຜູ້ພັດທະນາຊອບແວ open source ມືອາຊີບ. ຂ້ອຍໄດ້ເຮັດວຽກຢູ່ໃນ ອຸດສາຫະກໍາຊອບແວສໍາລັບເວລາຫຼາຍປີ, ຂ້າພະເຈົ້າໄດ້ເລີ່ມຕົ້ນບໍລິສັດສົບຜົນສໍາເລັດແລະຂາຍໃຫ້ເຂົາເຈົ້າກັບບໍລິສັດສາທາລະນະ. ຫວ່າງ​ມໍ່ໆ​ມາ​ນີ້, ຂ້າ​ພະ​ເຈົ້າ​ໄດ້​ສູນ​ເສຍ​ວຽກ​ເຮັດ​ງານ​ທຳ, ແລະ​ຂ້າ​ພະ​ເຈົ້າ​ກໍ​ບໍ່​ມີ​ວຽກ​ງານ​ອື່ນ​ຕິດ​ຕາມ

ດັ່ງນັ້ນຂ້ອຍຈະພະຍາຍາມຂຽນຊອບແວທີ່ເປັນປະໂຫຍດແລະເບິ່ງວ່າມັນເຮັດວຽກຫຼືບໍ່

ຖ້າ​ຫາກ​ວ່າ​ທ່ານ​ມີ​ຄວາມ​ສຸກ​ການ​ນໍາ​ໃຊ້​ຊອບ​ແວ​ນີ້​, ຂ້າ​ພະ​ເຈົ້າ​ຈະ​ມີ​ຄວາມ​ສຸກ​ທີ່​ຈະ​ໄດ້​ຮັບ​ເຖິງ​ແມ່ນ​ວ່າ​ ນ້ອຍສຸດ ການປະກອບສ່ວນລາຍເດືອນຜ່ານ Patreon

ຂອບ​ໃຈ!

ການຕິດຕັ້ງ

ເພື່ອໃຊ້ເຄື່ອງມືເສັ້ນຄໍາສັ່ງ, ຕິດຕັ້ງໂດຍໃຊ້ 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 ເພື່ອລະບຸໂຄງການ Google ແປພາສາ ຂອງທ່ານ

ຕັ້ງຄ່າຕົວແປສະພາບແວດລ້ອມ GOOGLE_APPLICATION_CREDENTIALS ຕໍ່ກັບຂໍ້ມູນປະຈຳຕົວ JSON ທີ່ທ່ານດາວໂຫຼດມາ. ຫຼັງ​ຈາກ​ການ​ຊອກ​ຫາ​ວິ​ທີ​ການ​ກວດ​ສອບ​ການ​ເຮັດ​ວຽກ​ກ່ຽວ​ກັບ​ກູ​ໂກ​ຄລາວ (ມັນ​ສາ​ມາດ​ມ່ວນ​)

ຖ້າ​ຫາກ​ວ່າ​ທ່ານ​ກໍາ​ລັງ​ແລ່ນ​ຈາກ​ລະ​ຫັດ​ແຫຼ່ງ​ຂໍ້​ມູນ​, ທ່ານ​ຍັງ​ສາ​ມາດ​ເອົາ​ເຫຼົ່າ​ນີ້​ເຂົ້າ​ໄປ​ໃນ​ໄຟລ​໌ .env ໃນ​ແຫຼ່ງ​ຂໍ້​ມູນ​ໄດ້ ໄດເຣັກທໍຣີພວກມັນຈະຖືກໂຫລດໃນເວລາແລ່ນຜ່ານ dotenv

ການແປໄຟລ໌ຊັບພະຍາກອນ JavaScript

ຕາຕະລາງສະຕຣິງຂອງເຈົ້າ ຕ້ອງ ຢູ່ໃນໄຟລ໌ JavaScript ໃນໜຶ່ງໃນສອງຮູບແບບນີ້:

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 ທີ່ແຍກດ້ວຍເຄື່ອງໝາຍຈຸດ. ສະຫນັບສະຫນູນໂດຍ Google Translate

ຖ້າໄຟລ໌ຜົນຜະລິດມີຢູ່ແລ້ວ, ມັນຈະຖືກກວດສອບເພື່ອກໍານົດວ່າກະແຈໃດທີ່ມີຢູ່ແລ້ວ. ລະຫັດທີ່ມີຢູ່ຈະບໍ່ຖືກແປ. ການແປສໍາລັບກະແຈທີ່ຂາດຫາຍໄປຈະຖືກສ້າງ ແລະຕໍ່ທ້າຍ ໃນຕອນທ້າຍຂອງວັດຖຸ JS. ໄຟລ໌ທັງໝົດຈະຖືກຂຽນໃໝ່ສະເໝີ.

ເພື່ອບັງຄັບການແປທຸກກະແຈຄືນໃໝ່, ໃຫ້ໃຊ້ຕົວເລືອກ -f / --force

ການແປໄດເລກະທໍລີຂອງໄຟລ໌ຂໍ້ຄວາມ

ນອກນັ້ນທ່ານຍັງສາມາດແປໄດເລກະທໍລີຂອງໄຟລ໌. hokeylization ຈະ recursively ໄປຢ້ຽມຢາມທຸກໆ ໄຟລ໌ຢູ່ໃນໄດເລກະທໍລີແລະດໍາເນີນການເນື້ອຫາຂອງມັນຜ່ານ Google ແປພາສາ, ແລະບັນທຶກຜົນຜະລິດ ໄປຫາໄຟລ໌ທີ່ມີຊື່ດຽວກັນຢູ່ໃນຕົ້ນໄມ້ໄດເລກະທໍລີແຍກຕ່າງຫາກ

ເມື່ອເປົ້າໝາຍຂອງການແປຂອງເຈົ້າເປັນໄດເລກະທໍລີ, ໂໝດນີ້ຈະຖືກເປີດໃຊ້

ຕົວເລືອກ -o / --outfile --outfile` ລະບຸໄດເລກະທໍລີຜົນຜະລິດ

** ຄໍາ​ເຕືອນ​ທີ່​ຍິ່ງ​ໃຫຍ່ **​: ໃນ​ເວ​ລາ​ທີ່​ການ​ແປ​ພາ​ສາ​ລະ​ບົບ​, **ຢ່າ ** ລະ​ບຸ​ບັນ​ຊີ​ລາຍ​ການ​ຜົນ​ຜະ​ລິດ ທີ່​ຢູ່​ໃນ​ລະ​ບົບ​ການ​ປ້ອນ​ຂໍ້​ມູນ​ຂອງ​ທ່ານ​! ຖ້າທ່ານເຮັດສິ່ງນີ້, ທ່ານຈະ:

  • induce recursion ອັນ​ເປັນ​ນິດ​
  • ແລ່ນບັນຊີ Google ຂອງທ່ານ
  • ຕື່ມຂໍ້ມູນໃສ່ແຜ່ນຂອງທ່ານ
  • ມີ​ຄວາມ​ມ່ວນ​ຫນ້ອຍ​

ນີ້ແມ່ນຕົວຢ່າງຂອງສິ່ງທີ່ ບໍ່ຄວນເຮັດ:

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 ແມ່ນ regex (ລະວັງກົດລະບຽບການອ້າງອີງ shell!) ທີ່ລະບຸ. ໄຟລ໌ໃດຄວນແປ

ເມື່ອສົງໃສ, ທ່ານສາມາດລວມຕົວເລືອກນີ້ກັບ -n / --dry-run ເພື່ອເບິ່ງວ່າໄຟລ໌ໃດຈະຖືກແປ.

ບໍ່ລວມ

ບາງຄັ້ງ -m ຂອງທ່ານກົງກັບໄຟລ໌ຫຼາຍເກີນໄປ. ໃຊ້ຕົວເລືອກ -e / --excludes ເພື່ອຍົກເວັ້ນຢ່າງຈະແຈ້ງ ໄຟລ໌ທີ່ຖ້າບໍ່ດັ່ງນັ້ນຈະກົງກັນ

ທ່ານສາມາດລາຍຊື່ regexes ຫຼາຍ, ແຍກອອກໂດຍຊ່ອງຫວ່າງ

ການນໍາໃຊ້ທົ່ວໄປຈະເປັນ: --excludes node_modules dist \.git build tmp

ມືຈັບ

ສະຕຣິງທີ່ຈະແປອາດມີແມ່ແບບ {{ handlebars }} , ບໍ່ວ່າຈະມີສອງຫຼືສາມ curly-braces

ທ່ານອາດຈະ ບໍ່ ຕ້ອງການໃຫ້ສິ່ງທີ່ຢູ່ໃນແມ່ແບບເຫຼົ່ານັ້ນຖືກແປ

ຜ່ານ -H / --handlebars , ແລະສິ່ງໃດແດ່ທີ່ຢູ່ໃນ {{ ... }} ຈະບໍ່ຖືກແປ.

Markdown

Markdown ບໍ່ແມ່ນຂໍ້ຄວາມຫຼື html, ດັ່ງນັ້ນ Google Translate ມີຄວາມຫຍຸ້ງຍາກບາງຢ່າງກັບມັນ

-M / --markdown ໃຊ້ງານການຈັດການພິເສດສໍາລັບໄຟລ໌ markdown

ດ້ວຍໄຟລ໌ markdown, ຖ້າທ່ານບໍ່ໃຊ້ທຸງ -M , ທ່ານອາດຈະພົບບັນຫາເຫຼົ່ານີ້:

  • ການເຊື່ອມຕໍ່ຫັກ. ໃນ​ການ​ແປ​ພາ​ສາ​, ລັກ​ສະ​ນະ​ຊ່ອງ​ຈະ​ປາ​ກົດ​ຂຶ້ນ​ຫຼັງ​ຈາກ​ທີ່​ຄໍາ​ອະ​ທິ​ບາຍ markdown link ສິ້ນ​ສຸດ​ລົງ (ດ້ວຍ ] ) ແຕ່ ກ່ອນທີ່ການເຊື່ອມຕໍ່ເປົ້າຫມາຍຂອງມັນເລີ່ມຕົ້ນ (ດ້ວຍ ( ) ນີ້ເຮັດໃຫ້ markdown render ບໍ່ຖືກຕ້ອງ, ແລະການເຊື່ອມຕໍ່. ແມ່ນແຕກຫັກໃນເວລາເບິ່ງເອກະສານ.
  • ບລັອກລະຫັດໄດ້ຮັບການແປ. Google translate ບໍ່ຮູ້ວ່າ markdown ພິຈາລະນາລະຫັດໃດແລະສິ່ງທີ່ມັນບໍ່
  • ໄລຍະຫ່າງບໍ່ຖືກຕ້ອງສຳລັບບລັອກລະຫັດຫຍໍ້ໜ້າ. ໄລຍະຫ່າງແມ່ນຍາກທີ່ຈະຮັກສາໃນການແປ
  • ສິ່ງທີ່ຢູ່ໃນ backticks ຈະຖືກແປ, ໃນເວລາທີ່ທ່ານຕ້ອງການໃຫ້ພວກເຂົາເປັນມູນຄ່າທີ່ແທ້ຈິງ

ເມື່ອ -M / --markdown ຖືກເປີດໃຊ້:

  • ຮູບແບບ ]( ຈະຖືກ condensed ເປັນ ]( ດັ່ງນັ້ນການແກ້ໄຂການເຊື່ອມຕໍ່ markdown ທີ່ແຕກຫັກ.
  • ຕົວຫໍ່ "ບໍ່ມີການແປ" ຈະຖືກວາງໄວ້ອ້ອມໆບລັອກລະຫັດທີ່ຫຍໍ້ໜ້າ, ຮັກສາການຫຍໍ້ໜ້າທີ່ຖືກຕ້ອງ ແລະຮັບປະກັນວ່າພວກມັນບໍ່ໄດ້ຖືກແປ.
  • ຫໍ່ "ບໍ່ມີການແປ" ຈະຖືກວາງໃສ່ຂໍ້ຄວາມພາຍໃນ backticks ເພື່ອຮັບປະກັນວ່າພວກມັນບໍ່ໄດ້ຖືກແປ.

ຂະບວນການ

ປົກກະຕິທຸກຢ່າງຈະຖືກປະມວນຜົນເປັນຂໍ້ຄວາມທຳມະດາ

ຖ້າເນື້ອຫາຂອງທ່ານເປັນ HTML, ມັນຈະຖືກທໍາລາຍເວັ້ນເສຍແຕ່ວ່າທ່ານຜ່ານທາງເລືອກ -p html / --process-as html

ການກັ່ນຕອງ

ສໍາ​ລັບ​ການ​ຜະ​ຈົນ​ໄພ​: ໃນ​ເວ​ລາ​ທີ່​ການ​ປຸງ​ແຕ່ງ​ໄຟລ​໌​ໃນ​ລະ​ບົບ​, ທ່ານ​ສາ​ມາດ​ຜ່ານ​ທາງ​ເລືອກ -F / --filter --filter`. ເພື່ອກັ່ນຕອງຜົນຜະລິດກ່ອນທີ່ມັນຖືກຂຽນໃສ່ລະບົບໄຟລ໌

ຄ່າຂອງຕົວເລືອກນີ້ຕ້ອງເປັນເສັ້ນທາງໄປຫາໄຟລ໌ JS ທີ່ສົ່ງອອກຟັງຊັນທີ່ມີຊື່ວ່າ filter

ຟັງຊັນ filter ຈະຕ້ອງເປັນ async ເພາະວ່າ await ຈະຖືກເອີ້ນຕາມມັນ

ກ່ອນທີ່ໄຟລ໌ຈະຖືກຂຽນໃສ່ແຜ່ນດິດ, ເນື້ອໃນຂອງໄຟລ໌ທັງໝົດຈະຖືກສົ່ງໄປຫາຟັງຊັນ filter

ມູນຄ່າກັບຄືນຈາກຟັງຊັນ filter ແມ່ນສິ່ງທີ່ຕົວຈິງແລ້ວຈະຖືກຂຽນໃສ່ບ່ອນເກັບມ້ຽນ

ດັ່ງນັ້ນ, ທ່ານມີການຄວບຄຸມທັງຫມົດກ່ຽວກັບສິ່ງທີ່ຈະຂຽນໃນທີ່ສຸດ

script filter ຈະຖືກຊອກຫາໃນສະຖານທີ່ຕໍ່ໄປນີ້ (ດ້ວຍ .js ຈະຖືກຕໍ່ທ້າຍໃສ່ຕົວກອງ. ຊື່, ເວັ້ນເສຍແຕ່ວ່າມັນສິ້ນສຸດລົງໃນ .js )

  • ລະ​ບົບ​ປະ​ຈຸ​ບັນ​
  • ໄດເຣັກທໍຣີທີ່ມີຊື່ວ່າ .hokey-filters ພາຍໃນໄດເລກະທໍລີປະຈຸບັນ
  • ໄດເຣັກທໍຣີທີ່ມີຊື່ວ່າ ${HOME}/.hokey-filters , ເຊິ່ງ ${HOME} ແມ່ນໄດເຣັກທໍຣີຫຼັກຂອງຜູ້ໃຊ້ປັດຈຸບັນ.
  • ໃນຕົວ ໄດເລກະທໍລີການກັ່ນຕອງ

ຕົວກໍານົດການກັ່ນຕອງ

string filter ສາມາດເປັນຫຼາຍຄຳສັບ. ໃນກໍລະນີນີ້, ຄໍາທໍາອິດແມ່ນຊື່ການກັ່ນຕອງ, ແລະ ຄໍາທີ່ຍັງເຫຼືອຈະຖືກສົ່ງຜ່ານເປັນການໂຕ້ຖຽງກັບຫນ້າທີ່ filter

ຊ່ວຍ

ໃຊ້ -h / --help ເພື່ອສະແດງການຊ່ວຍເຫຼືອ

JSON batch ຄໍາສັ່ງ

ດ້ວຍຕົວເລືອກ -j / --json , ທ່ານສາມາດເອີ້ນໃຊ້ຄໍາສັ່ງ hokey ທີ່ປະສານງານຫຼາຍອັນ

ໂດຍສົນທິສັນຍາໄຟລ໌ນີ້ຖືກເອີ້ນວ່າ hokey.json , ແຕ່ທ່ານສາມາດຕັ້ງຊື່ມັນຕາມທີ່ທ່ານຕ້ອງການ

ຖ້າທ່ານຜ່ານໄດເລກະທໍລີເປັນທາງເລືອກ -j , hokey ຈະຊອກຫາ hokey.json ໃນໄດເລກະທໍລີນັ້ນ.

ໄຟລ໌ JSON ຄວນມີໜຶ່ງວັດຖຸ. ພາຍໃນວັດຖຸນັ້ນ, ຊື່ຊັບສິນຂອງມັນແມ່ນຄືກັນກັບ ຕົວເລືອກແຖວຄໍາສັ່ງ, ບວກກັບຄຸນສົມບັດເພີ່ມເຕີມຫນຶ່ງທີ່ມີຊື່ວ່າ hokey

ຄຸນສົມບັດ hokey ແມ່ນ array ຂອງຄໍາສັ່ງທີ່ຈະດໍາເນີນການ. ຄຸນສົມບັດທີ່ປະກາດພາຍໃນຄໍາສັ່ງເຫຼົ່ານີ້ຈະ ລົບລ້າງການປະກາດທີ່ຊໍ້າກັນຢູ່ໃນວັດຖຸພາຍນອກ.

ພາຍໃນແຕ່ລະວັດຖຸໃນ hokey array, ທ່ານຄວນລະບຸ name ຊື່` , ແລະໄຟລ໌ input ແລະ output.

ນີ້ແມ່ນຕົວຢ່າງຂອງ 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"
      }
    ]
}

ໄຟລ໌ປ້ອນຂໍ້ມູນຫຼາຍອັນ

ຜ່ານ array ຂອງເສັ້ນທາງໄຟລ໌ເປັນ infiles ແທນທີ່ຈະເປັນເສັ້ນທາງດຽວ infile , ເຊັ່ນໃນຕົວຢ່າງນີ້:

{
  ... [
    {
      "name": "my docs",
      "infiles": ["README.md", "INSTALL.md", "TUTORIAL.md"],
      "outfile": "docs/LANG/",
      "markdown": true
  ]
}

ດັດຊະນີ

ເມື່ອແປເປັນຫຼາຍພາສາ, hokey ສາມາດສ້າງໄຟລ໌ດັດສະນີທີ່ລາຍຊື່ການແປທັງຫມົດທີ່ເຮັດ ແລະສະຫນອງການເຊື່ອມຕໍ່ໃຫ້ເຂົາເຈົ້າ

  • ໃນ​ເວ​ລາ​ທີ່​ການ​ຜະ​ລິດ​ດັດ​ຊະ​ນີ​, ທ່ານ​ສາ​ມາດ​ມີ​ພຽງ​ແຕ່​ຫນຶ່ງ​ແຫຼ່ງ​ຂໍ້​ມູນ *

ຜ່ານຕົວເລືອກ -I / --index , ມູນຄ່າແມ່ນບ່ອນທີ່ໄຟລ໌ດັດສະນີຈະຖືກສ້າງຂື້ນ, ເຊິ່ງສາມາດເປັນໄຟລ໌. ຫຼືໄດເລກະທໍລີ. ຖ້າມັນເປັນໄດເລກະທໍລີ, ຊື່ໄຟລ໌ເລີ່ມຕົ້ນຈະຖືກໃຊ້, ອີງຕາມແມ່ແບບ (ເບິ່ງຂ້າງລຸ່ມນີ້)

ໃຊ້ -A / --index-template ເພື່ອກໍານົດວິທີການຈັດຮູບແບບຜົນຜະລິດດັດຊະນີ. ທ່ານສາມາດກໍານົດ 'html', 'markdown', 'text', ຫຼືເສັ້ນທາງໄຟລ໌ໄປຫາແມ່ແບບ HandlebarsJS ຂອງທ່ານເອງ

ຖ້າທ່ານລະບຸແມ່ແບບຂອງທ່ານເອງ, ທ່ານຕ້ອງລະບຸໄຟລ໌ (ບໍ່ແມ່ນໄດເລກະທໍລີ) ສໍາລັບ -I / --index ທາງເລືອກ

ມີຄວາມມ່ວນກັບການແປພາສາ!