Skip to content

Latest commit

 

History

History
380 lines (276 loc) · 36.2 KB

README.md

File metadata and controls

380 lines (276 loc) · 36.2 KB

ഹോക്കിലൈസേഷൻ

എന്തുകൊണ്ടാണ് എനിക്ക് എന്റെ മുഴുവൻ ആപ്പും സൈറ്റും Google വിവർത്തനത്തിലൂടെ പ്രവർത്തിപ്പിച്ച് മറ്റൊരു ഭാഷയിൽ അടിസ്ഥാന വിവർത്തനം നേടാനാകാത്തത്?

ഇപ്പോൾ നിനക്ക് പറ്റും!

hokeylization ' എന്ന പേര് 'ഹോക്കി ലോക്കലൈസേഷൻ' എന്നർത്ഥം വരുന്ന ഒരു പോർട്ട്മാന്റോയാണ്.

ഇത് വളരെ ലളിതമാണ്, കാരണം ഇത് അൽപ്പം ആകർഷകമാണ്: ഇത് Google വിവർത്തനത്തിലേക്ക് സ്ട്രിംഗുകൾ അയയ്ക്കുന്നു

ഇത് ലളിതമാണ്, എന്നാൽ വളരെ ശക്തവുമാണ്. ഇതിന് HTML പ്രമാണങ്ങൾക്ക് പ്രത്യേക പിന്തുണയുണ്ട്, HandlebarsJS ടെംപ്ലേറ്റുകൾ, കൂടാതെ Markdown ഫയലുകളും.

നിങ്ങൾക്ക് വിവർത്തനം ചെയ്യാൻ കഴിയും:

  • സന്ദേശങ്ങൾ അടങ്ങിയ ഒരു JavaScript ഒബ്‌ജക്റ്റ് *എല്ലാ ഫയലുകളോ ഡയറക്‌ടറികളോ, എല്ലായ്‌പ്പോഴും ഡയറക്‌ടറികൾ ആവർത്തിച്ച് സഞ്ചരിക്കുന്നു

ഇത് മറ്റൊരു ഭാഷയിൽ വായിക്കുക

ഈ README.md പ്രമാണം ഹോക്കിലൈസേഷൻ ടൂൾ ഉപയോഗിച്ച് തന്നെ വിവർത്തനം ചെയ്തിട്ടുണ്ട് Google Translate പിന്തുണയ്ക്കുന്ന എല്ലാ ഭാഷകളും!

ഇത് തികഞ്ഞതല്ലെന്ന് എനിക്ക് ഉറപ്പുണ്ട്, പക്ഷേ ഇത് ഒന്നിനും കൊള്ളാത്തതായിരിക്കുമെന്ന് ഞാൻ പ്രതീക്ഷിക്കുന്നു!

🇸🇦 അറബിക് 🇧🇩 ബംഗാളി 🇩🇪 ജർമ്മൻ 🇺🇸 ഇംഗ്ലീഷ് 🇪🇸 സ്പാനിഷ് 🇫🇷 ഫ്രഞ്ച് 🇹🇩 ഹൗസ 🇮🇳 ഹിന്ദി 🇮🇩 ഇന്തോനേഷ്യൻ 🇮🇹 ഇറ്റാലിയൻ 🇯🇵 ജാപ്പനീസ് 🇰🇷 കൊറിയൻ 🇮🇳 മറന്തി 🇵🇱 പോളിഷ് 🇧🇷 പോർച്ചുഗീസ് 🇷🇺 റഷ്യൻ 🇰🇪 സ്വാഹിലി 🇵🇭 ടാഗലോഗ് 🇹🇷 ടർക്കിഷ് 🇵🇰 ഉറുദു 🇻🇳 വിയറ്റ്നാമീസ് 🇨🇳 ചൈനീസ്

README-ന്റെ ഈ വിവർത്തനത്തിൽ എന്തെങ്കിലും പ്രശ്നമുണ്ടോ?

യഥാർത്ഥ [README]ന്റെ ഈ പ്രത്യേക വിവർത്തനം (https://github.com/cobbzilla/hokeylization/blob/master/README.md) പിഴവുകളുണ്ടാകാം -- തിരുത്തലുകൾ വളരെ സ്വാഗതം ചെയ്യുന്നു! ദയവായി ഒരു GitHub-ൽ പുൾ അഭ്യർത്ഥന, അല്ലെങ്കിൽ അത് ചെയ്യാൻ നിങ്ങൾക്ക് സുഖമില്ലെങ്കിൽ, ഒരു പ്രശ്നം തുറക്കുക

ഒരു വിവർത്തനത്തെക്കുറിച്ച് നിങ്ങൾ ഒരു പുതിയ GitHub പ്രശ്നം സൃഷ്ടിക്കുമ്പോൾ, ദയവായി ചെയ്യുക:

  • പേജ് URL ഉൾപ്പെടുത്തുക (ബ്രൗസർ വിലാസ ബാറിൽ നിന്ന് പകർത്തുക/ഒട്ടിക്കുക)
  • തെറ്റായ വാചകം ഉൾപ്പെടുത്തുക (ബ്രൗസറിൽ നിന്ന് പകർത്തുക/ഒട്ടിക്കുക)
  • എന്താണ് തെറ്റെന്ന് ദയവായി വിവരിക്കുക -- വിവർത്തനം തെറ്റാണോ? ഫോർമാറ്റിംഗ് എങ്ങനെയെങ്കിലും തകർന്നോ?
  • ഒരു മികച്ച വിവർത്തനത്തിനുള്ള നിർദ്ദേശം അല്ലെങ്കിൽ വാചകം എങ്ങനെ ശരിയായി ഫോർമാറ്റ് ചെയ്യണം എന്ന നിർദ്ദേശം ദയവായി വാഗ്ദാനം ചെയ്യുക
  • നന്ദി!

ഉള്ളടക്കം

ഉറവിടം

പിന്തുണയും ധനസഹായവും

ഞാൻ ഒരു പ്രൊഫഷണൽ ഓപ്പൺ സോഴ്‌സ് സോഫ്റ്റ്‌വെയർ ഡെവലപ്പർ ആകാൻ ശ്രമിക്കുന്നു. ഞാൻ ജോലി ചെയ്തിട്ടുണ്ട് വർഷങ്ങളോളം സോഫ്‌റ്റ്‌വെയർ വ്യവസായത്തിൽ, ഞാൻ വിജയകരമായ കമ്പനികൾ ആരംഭിക്കുകയും അവ പൊതു കമ്പനികൾക്ക് വിൽക്കുകയും ചെയ്തു. അടുത്തിടെ എനിക്ക് ജോലി നഷ്‌ടപ്പെട്ടു, എനിക്ക് മറ്റ് ജോലികളൊന്നും നിരത്തിയിട്ടില്ല

അതിനാൽ ഞാൻ സഹായകരമായ സോഫ്‌റ്റ്‌വെയർ എഴുതാൻ ശ്രമിക്കുകയും അത് പ്രവർത്തിക്കുന്നുണ്ടോയെന്ന് നോക്കുകയും ചെയ്യും

നിങ്ങൾ ഈ സോഫ്‌റ്റ്‌വെയർ ഉപയോഗിക്കുന്നത് ആസ്വദിക്കുകയാണെങ്കിൽ, അത് ലഭിക്കുന്നതിൽ ഞാൻ വളരെ സന്തുഷ്ടനാണ് ഏറ്റവും ചെറിയ 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 വിവർത്തന പദ്ധതി തിരിച്ചറിയാൻ GOOGLE_TRANSLATE_PROJECT_ID എൻവയോൺമെന്റ് വേരിയബിൾ സജ്ജമാക്കുക

നിങ്ങൾ ഡൗൺലോഡ് ചെയ്‌ത JSON ക്രെഡൻഷ്യലുകളിലേക്ക് GOOGLE_APPLICATION_CREDENTIALS എൻവയോൺമെന്റ് വേരിയബിൾ സജ്ജമാക്കുക ഗൂഗിൾ ക്ലൗഡിൽ പ്രാമാണീകരണം എങ്ങനെ പ്രവർത്തിക്കുന്നുവെന്ന് കണ്ടുപിടിച്ചതിന് ശേഷം (അത് രസകരമാണ്)

നിങ്ങൾ സോഴ്സ് കോഡിൽ നിന്നാണ് പ്രവർത്തിക്കുന്നതെങ്കിൽ, നിങ്ങൾക്ക് ഇവ ഉറവിടത്തിലെ ഒരു .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 ഓപ്ഷൻ ഐഎസ്ഒ ഭാഷാ കോഡുകളുടെ കോമയാൽ വേർതിരിച്ച ലിസ്റ്റാണ് Google Translate പിന്തുണയ്ക്കുന്നു

ഔട്ട്പുട്ട് ഫയൽ ഇതിനകം നിലവിലുണ്ടെങ്കിൽ, ഏതൊക്കെ കീകൾ ഇതിനകം നിലവിലുണ്ടെന്ന് നിർണ്ണയിക്കാൻ അത് പരിശോധിക്കും. നിലവിലുള്ള കീകൾ വിവർത്തനം ചെയ്യപ്പെടില്ല. വിട്ടുപോയ കീകൾക്കായുള്ള വിവർത്തനങ്ങൾ ജനറേറ്റ് ചെയ്യുകയും കൂട്ടിച്ചേർക്കുകയും ചെയ്യും JS ഒബ്ജക്റ്റിന്റെ അവസാനം വരെ. മുഴുവൻ ഫയലും എപ്പോഴും മാറ്റിയെഴുതുന്നു.

എല്ലാ കീകളും വീണ്ടും വിവർത്തനം ചെയ്യാൻ നിർബന്ധിതമാക്കാൻ, -f / --force ഓപ്ഷൻ ഉപയോഗിക്കുക

ടെക്സ്റ്റ് ഫയലുകളുടെ ഒരു ഡയറക്ടറി വിവർത്തനം ചെയ്യുന്നു

നിങ്ങൾക്ക് ഫയലുകളുടെ ഒരു ഡയറക്‌ടറി വിവർത്തനം ചെയ്യാനും കഴിയും. ഹോക്കിലൈസേഷൻ ഓരോന്നും ആവർത്തിച്ച് സന്ദർശിക്കും ഡയറക്‌ടറിയിൽ ഫയൽ ചെയ്യുകയും അതിന്റെ ഉള്ളടക്കങ്ങൾ Google വിവർത്തനം വഴി പ്രവർത്തിപ്പിക്കുകയും ഔട്ട്‌പുട്ട് സംരക്ഷിക്കുകയും ചെയ്യുക ഒരു പ്രത്യേക ഡയറക്‌ടറി ട്രീയിലെ ഒരേ പേരുള്ള ഫയലിലേക്ക്

നിങ്ങളുടെ വിവർത്തനത്തിന്റെ ലക്ഷ്യം ഒരു ഡയറക്‌ടറി ആയിരിക്കുമ്പോൾ, ഈ മോഡ് പ്രവർത്തനക്ഷമമാകും

-o / --outfile ഓപ്ഷൻ ഔട്ട്പുട്ട് ഡയറക്ടറി വ്യക്തമാക്കുന്നു

വലിയ മുന്നറിയിപ്പ്: ഡയറക്‌ടറികൾ വിവർത്തനം ചെയ്യുമ്പോൾ, ഒരു ഔട്ട്‌പുട്ട് ഡയറക്‌ടറി വ്യക്തമാക്കരുത് അത് നിങ്ങളുടെ ഇൻപുട്ട് ഡയറക്ടറിയിലാണ്! നിങ്ങൾ ഇത് ചെയ്യുകയാണെങ്കിൽ, നിങ്ങൾ:

  • അനന്തമായ ആവർത്തനത്തെ പ്രേരിപ്പിക്കുക
  • നിങ്ങളുടെ 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 ഉപയോഗിക്കാത്തിടത്തോളം നിലവിലുള്ള ഔട്ട്‌പുട്ട് ഫയലുകൾ പുനഃസൃഷ്ടിക്കപ്പെടില്ല
  • നിങ്ങൾ ഒരു സമാന ഡയറക്‌ടറി ഘടനയും en എന്നതിന് കീഴിൽ ഉള്ളതുപോലെ es , de എന്നിവയ്ക്കുള്ളിലെ ഫയലുകളും നിങ്ങൾക്ക് en .

മറ്റ് ഓപ്ഷനുകൾ

ഡ്രൈ റൺ

എന്താണ് ചെയ്യേണ്ടതെന്ന് പ്രദർശിപ്പിക്കാൻ -n / --dry-run പാസ്സ് ചെയ്യുക, എന്നാൽ യഥാർത്ഥത്തിൽ API കോളുകളൊന്നും ചെയ്യുകയോ ഫയലുകളൊന്നും എഴുതുകയോ ചെയ്യരുത്

ശക്തിയാണ്

വിവർത്തനങ്ങൾ നിലവിലുണ്ടെങ്കിൽപ്പോലും എല്ലായ്പ്പോഴും പുനഃസൃഷ്ടിക്കാൻ -f / --force പാസ്സ് ചെയ്യുക

പൊരുത്തം

ഡയറക്‌ടറി മോഡിൽ പ്രവർത്തിക്കുമ്പോൾ പ്രോസസ്സ് ചെയ്യുന്ന ഫയലുകൾ പരിമിതപ്പെടുത്താൻ -m / --match പാസ് ചെയ്യുക

നിങ്ങളുടെ ഉറവിട ഡയറക്‌ടറിയിലെ എല്ലാ ഫയലുകളും നിങ്ങളുടെ ടാർഗെറ്റ് ഡയറക്‌ടറിയിലേക്ക് വിവർത്തനം ചെയ്യാൻ നിങ്ങൾ എപ്പോഴും ആഗ്രഹിച്ചേക്കില്ല

-m / --match ഓപ്‌ഷന്റെ മൂല്യം ഒരു regex ആണ് (ഷെൽ ഉദ്ധരിക്കുന്ന നിയമങ്ങൾ സൂക്ഷിക്കുക!) ഏത് ഫയലുകളാണ് വിവർത്തനം ചെയ്യേണ്ടത്

സംശയമുണ്ടെങ്കിൽ, ഏത് ഫയലുകളാണ് വിവർത്തനം ചെയ്യേണ്ടതെന്ന് കാണാൻ നിങ്ങൾക്ക് ഈ ഓപ്‌ഷൻ -n / --dry-run എന്നിവയുമായി സംയോജിപ്പിക്കാം.

ഒഴിവാക്കുന്നു

ചിലപ്പോൾ നിങ്ങളുടെ -m വളരെയധികം ഫയലുകളുമായി പൊരുത്തപ്പെടുന്നു. വ്യക്തമായി ഒഴിവാക്കുന്നതിന് -e / --excludes ഓപ്ഷൻ ഉപയോഗിക്കുക അല്ലാത്തപക്ഷം പൊരുത്തപ്പെടുമായിരുന്ന ഫയലുകൾ

നിങ്ങൾക്ക് സ്‌പെയ്‌സുകളാൽ വേർതിരിച്ച ഒന്നിലധികം റീജക്‌സുകൾ ലിസ്റ്റ് ചെയ്യാം

ഒരു പൊതു ഉപയോഗം ഇതായിരിക്കും: --excludes node_modules dist \.git build tmp

ഹാൻഡിൽബാറുകൾ

വിവർത്തനം ചെയ്യാനുള്ള സ്ട്രിംഗുകളിൽ രണ്ടോ മൂന്നോ ചുരുണ്ട ബ്രേസുകളുള്ള {{ handlebars }} ടെംപ്ലേറ്റുകൾ അടങ്ങിയിരിക്കാം

ആ ടെംപ്ലേറ്റുകൾക്കുള്ളിലെ കാര്യങ്ങൾ വിവർത്തനം ചെയ്യാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുണ്ടാവില്ല

-H / --handlebars ഫ്ലാഗ് കടക്കുക, {{ ... }} എന്നതിനുള്ളിലെ ഒന്നും വിവർത്തനം ചെയ്യപ്പെടില്ല

മാർക്ക്ഡൗൺ

Markdown എന്നത് ടെക്‌സ്‌റ്റോ html അല്ല, അതിനാൽ Google വിവർത്തനത്തിന് ചില ബുദ്ധിമുട്ടുകൾ ഉണ്ട്

-M / --markdown ഫ്ലാഗ് മാർക്ക്ഡൗൺ ഫയലുകൾക്കായി പ്രത്യേക കൈകാര്യം ചെയ്യൽ പ്രാപ്തമാക്കുന്നു

മാർക്ക്ഡൗൺ ഫയലുകൾക്കൊപ്പം, നിങ്ങൾ -M ഫ്ലാഗ് ഉപയോഗിക്കുന്നില്ലെങ്കിൽ, നിങ്ങൾ ഒരുപക്ഷേ ഈ പ്രശ്നങ്ങൾ കണ്ടെത്തും:

  • തകർന്ന ലിങ്കുകൾ. വിവർത്തനത്തിൽ, ഒരു മാർക്ക്ഡൗൺ ലിങ്ക് വിവരണം അവസാനിച്ചതിന് ശേഷം ഒരു സ്പേസ് പ്രതീകം ദൃശ്യമാകുന്നു ( ] ) എന്നാൽ അതിന്റെ ടാർഗെറ്റ് ലിങ്ക് ആരംഭിക്കുന്നതിന് മുമ്പ് ( ( ഉപയോഗിച്ച്). ഇത് മാർക്ക്ഡൗൺ തെറ്റായി റെൻഡർ ചെയ്യുന്നതിനും ലിങ്കിനും കാരണമാകുന്നു പ്രമാണം കാണുമ്പോൾ തകർന്നിരിക്കുന്നു.
  • കോഡ് ബ്ലോക്കുകൾ വിവർത്തനം ചെയ്യപ്പെടും. എന്താണ് മാർക്ക്ഡൗൺ കോഡായി കണക്കാക്കുന്നതെന്നും അല്ലാത്തത് എന്താണെന്നും Google വിവർത്തനത്തിന് അറിയില്ല
  • ഇൻഡന്റ് ചെയ്‌ത കോഡ് ബ്ലോക്കുകൾക്ക് തെറ്റായ സ്‌പെയ്‌സിംഗ്. വിവർത്തനത്തിൽ ഇടം നിലനിർത്താൻ പ്രയാസമാണ്
  • backticks കാര്യങ്ങൾ വിവർത്തനം ചെയ്യപ്പെടും, അവ എല്ലായ്പ്പോഴും അക്ഷര മൂല്യങ്ങളായിരിക്കണമെന്ന് നിങ്ങൾ ആഗ്രഹിക്കുമ്പോൾ

-M / --markdown ഫ്ലാഗ് പ്രവർത്തനക്ഷമമാക്കുമ്പോൾ:

  • പാറ്റേൺ ]( ]( ഘനീഭവിക്കും, അങ്ങനെ തകർന്ന മാർക്ക്ഡൗൺ ലിങ്കുകൾ ശരിയാക്കുന്നു
  • ഇൻഡന്റുചെയ്‌ത കോഡ് ബ്ലോക്കുകൾക്ക് ചുറ്റും ഒരു "വിവർത്തനം ചെയ്യരുത്" റാപ്പർ സ്ഥാപിക്കും, ശരിയായ ഇൻഡന്റേഷൻ സംരക്ഷിക്കുകയും അവ വിവർത്തനം ചെയ്തിട്ടില്ലെന്ന് ഉറപ്പാക്കുകയും ചെയ്യും
  • വിവർത്തനം ചെയ്തിട്ടില്ലെന്ന് ഉറപ്പാക്കാൻ, backticks ടെക്‌സ്‌റ്റിന് ചുറ്റും "വിവർത്തനം വേണ്ട" റാപ്പർ സ്ഥാപിക്കും.

പ്രോസസ്സ് ആയി

സാധാരണയായി എല്ലാം പ്ലെയിൻ ടെക്സ്റ്റായി പ്രോസസ്സ് ചെയ്യുന്നു

നിങ്ങളുടെ ഉള്ളടക്കം HTML ആണെങ്കിൽ, നിങ്ങൾ -p html / --process-as html ഓപ്‌ഷൻ കടന്നില്ലെങ്കിൽ അത് തകരാറിലാകും.

ഫിൽട്ടർ

സാഹസികതയുള്ളവർക്കായി: ഒരു ഡയറക്‌ടറിയിൽ ഫയലുകൾ പ്രോസസ്സ് ചെയ്യുമ്പോൾ, നിങ്ങൾക്ക് -F / --filter ഓപ്ഷൻ നൽകാം ഫയൽസിസ്റ്റത്തിലേക്ക് എഴുതുന്നതിന് മുമ്പ് ഔട്ട്പുട്ട് ഫിൽട്ടർ ചെയ്യാൻ

ഈ ഓപ്‌ഷന്റെ മൂല്യം, filter എന്ന ഫംഗ്‌ഷൻ എക്‌സ്‌പോർട്ട് ചെയ്യുന്ന ഒരു JS ഫയലിലേക്കുള്ള പാതയായിരിക്കണം

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"
      }
    ]
}

ഒന്നിലധികം ഇൻപുട്ട് ഫയലുകൾ

ഈ ഉദാഹരണത്തിലെന്നപോലെ, ഒരൊറ്റ പാതയായ infile infiles ആയി ഫയൽ പാതകളുടെ ഒരു നിര കടന്നുപോകുക:

{
  ... [
    {
      "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 എന്നതിനായി നിങ്ങൾ ഒരു ഫയലും (ഡയറക്‌ടറി അല്ല) വ്യക്തമാക്കണം. ഓപ്ഷൻ

ഭാഷകൾ വിവർത്തനം ചെയ്യുന്നതിൽ രസകരമായ സമയം ആസ്വദിക്കൂ!