ເປັນຫຍັງຂ້ອຍຈຶ່ງບໍ່ສາມາດແລ່ນແອັບຯ ຫຼືເວັບໄຊທັງໝົດຂອງຂ້ອຍຜ່ານ 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 ອາດຈະມີຂໍ້ບົກພ່ອງ -- ການແກ້ໄຂແມ່ນຍິນດີຕ້ອນຮັບຫຼາຍ! ກະລຸນາສົ່ງ ການຮ້ອງຂໍດຶງກ່ຽວກັບ GitHub, ຫຼືຖ້າທ່ານບໍ່ສະດວກໃນການເຮັດແນວນັ້ນ, ເປີດບັນຫາ
ເມື່ອທ່ານສ້າງບັນຫາ GitHub ໃໝ່ກ່ຽວກັບການແປ, ກະລຸນາເຮັດ:
- ລວມເອົາ URL ຂອງໜ້າ (ສຳເນົາ/ວາງຈາກແຖບທີ່ຢູ່ຂອງບຣາວເຊີ)
- ລວມເອົາຂໍ້ຄວາມທີ່ແນ່ນອນວ່າຜິດພາດ (ຄັດລອກ / ວາງຈາກຕົວທ່ອງເວັບ)
- ກະລຸນາອະທິບາຍສິ່ງທີ່ຜິດພາດ -- ການແປບໍ່ຖືກຕ້ອງບໍ? ການຈັດຮູບແບບຖືກທໍາລາຍຢ່າງໃດ?
- ຂໍສະເໜີຄຳແນະນຳການແປທີ່ດີກວ່າ, ຫຼືວ່າຂໍ້ຄວາມຄວນຖືກຈັດຮູບແບບແນວໃດໃຫ້ຖືກຕ້ອງ
- ຂອບໃຈ!
- ແຫຼ່ງຂໍ້ມູນ
- ການສະຫນັບສະຫນູນແລະການສະຫນອງທຶນ
- [ການຕິດຕັ້ງ](# ການຕິດຕັ້ງ)
- ຕັ້ງ
- ການແປໄຟລ໌ຊັບພະຍາກອນ JavaScript
- ການແປພາສາລະບົບຂອງໄຟລ໌ຂໍ້ຄວາມ
- ທາງເລືອກອື່ນ
- JSON batch commands
ຂ້ອຍພະຍາຍາມເປັນຜູ້ພັດທະນາຊອບແວ 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 ໃນໜຶ່ງໃນສອງຮູບແບບນີ້:
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 ບໍ່ແມ່ນຂໍ້ຄວາມຫຼື 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
ເພື່ອສະແດງການຊ່ວຍເຫຼືອ
ດ້ວຍຕົວເລືອກ -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
ທາງເລືອກ