എന്തുകൊണ്ടാണ് എനിക്ക് എന്റെ മുഴുവൻ ആപ്പും സൈറ്റും Google വിവർത്തനത്തിലൂടെ പ്രവർത്തിപ്പിച്ച് മറ്റൊരു ഭാഷയിൽ അടിസ്ഥാന വിവർത്തനം നേടാനാകാത്തത്?
ഇപ്പോൾ നിനക്ക് പറ്റും!
hokeylization
' എന്ന പേര് 'ഹോക്കി ലോക്കലൈസേഷൻ' എന്നർത്ഥം വരുന്ന ഒരു പോർട്ട്മാന്റോയാണ്.
ഇത് വളരെ ലളിതമാണ്, കാരണം ഇത് അൽപ്പം ആകർഷകമാണ്: ഇത് Google വിവർത്തനത്തിലേക്ക് സ്ട്രിംഗുകൾ അയയ്ക്കുന്നു
ഇത് ലളിതമാണ്, എന്നാൽ വളരെ ശക്തവുമാണ്. ഇതിന് HTML പ്രമാണങ്ങൾക്ക് പ്രത്യേക പിന്തുണയുണ്ട്, HandlebarsJS ടെംപ്ലേറ്റുകൾ, കൂടാതെ Markdown ഫയലുകളും.
നിങ്ങൾക്ക് വിവർത്തനം ചെയ്യാൻ കഴിയും:
- സന്ദേശങ്ങൾ അടങ്ങിയ ഒരു JavaScript ഒബ്ജക്റ്റ് *എല്ലാ ഫയലുകളോ ഡയറക്ടറികളോ, എല്ലായ്പ്പോഴും ഡയറക്ടറികൾ ആവർത്തിച്ച് സഞ്ചരിക്കുന്നു
ഈ README.md പ്രമാണം ഹോക്കിലൈസേഷൻ ടൂൾ ഉപയോഗിച്ച് തന്നെ വിവർത്തനം ചെയ്തിട്ടുണ്ട് Google Translate പിന്തുണയ്ക്കുന്ന എല്ലാ ഭാഷകളും!
ഇത് തികഞ്ഞതല്ലെന്ന് എനിക്ക് ഉറപ്പുണ്ട്, പക്ഷേ ഇത് ഒന്നിനും കൊള്ളാത്തതായിരിക്കുമെന്ന് ഞാൻ പ്രതീക്ഷിക്കുന്നു!
🇸🇦 അറബിക് 🇧🇩 ബംഗാളി 🇩🇪 ജർമ്മൻ 🇺🇸 ഇംഗ്ലീഷ് 🇪🇸 സ്പാനിഷ് 🇫🇷 ഫ്രഞ്ച് 🇹🇩 ഹൗസ 🇮🇳 ഹിന്ദി 🇮🇩 ഇന്തോനേഷ്യൻ 🇮🇹 ഇറ്റാലിയൻ 🇯🇵 ജാപ്പനീസ് 🇰🇷 കൊറിയൻ 🇮🇳 മറന്തി 🇵🇱 പോളിഷ് 🇧🇷 പോർച്ചുഗീസ് 🇷🇺 റഷ്യൻ 🇰🇪 സ്വാഹിലി 🇵🇭 ടാഗലോഗ് 🇹🇷 ടർക്കിഷ് 🇵🇰 ഉറുദു 🇻🇳 വിയറ്റ്നാമീസ് 🇨🇳 ചൈനീസ്
യഥാർത്ഥ [README]ന്റെ ഈ പ്രത്യേക വിവർത്തനം (https://github.com/cobbzilla/hokeylization/blob/master/README.md) പിഴവുകളുണ്ടാകാം -- തിരുത്തലുകൾ വളരെ സ്വാഗതം ചെയ്യുന്നു! ദയവായി ഒരു GitHub-ൽ പുൾ അഭ്യർത്ഥന, അല്ലെങ്കിൽ അത് ചെയ്യാൻ നിങ്ങൾക്ക് സുഖമില്ലെങ്കിൽ, ഒരു പ്രശ്നം തുറക്കുക
ഒരു വിവർത്തനത്തെക്കുറിച്ച് നിങ്ങൾ ഒരു പുതിയ GitHub പ്രശ്നം സൃഷ്ടിക്കുമ്പോൾ, ദയവായി ചെയ്യുക:
- പേജ് URL ഉൾപ്പെടുത്തുക (ബ്രൗസർ വിലാസ ബാറിൽ നിന്ന് പകർത്തുക/ഒട്ടിക്കുക)
- തെറ്റായ വാചകം ഉൾപ്പെടുത്തുക (ബ്രൗസറിൽ നിന്ന് പകർത്തുക/ഒട്ടിക്കുക)
- എന്താണ് തെറ്റെന്ന് ദയവായി വിവരിക്കുക -- വിവർത്തനം തെറ്റാണോ? ഫോർമാറ്റിംഗ് എങ്ങനെയെങ്കിലും തകർന്നോ?
- ഒരു മികച്ച വിവർത്തനത്തിനുള്ള നിർദ്ദേശം അല്ലെങ്കിൽ വാചകം എങ്ങനെ ശരിയായി ഫോർമാറ്റ് ചെയ്യണം എന്ന നിർദ്ദേശം ദയവായി വാഗ്ദാനം ചെയ്യുക
- നന്ദി!
- ഉറവിടം
- [പിന്തുണയും ധനസഹായവും](#പിന്തുണയും ധനസഹായവും)
- ഇൻസ്റ്റലേഷൻ
- സജ്ജീകരണം
- ഒരു JavaScript സ്ട്രിംഗ് റിസോഴ്സ് ഫയൽ വിവർത്തനം ചെയ്യുന്നു
- ടെക്സ്റ്റ് ഫയലുകളുടെ ഒരു ഡയറക്ടറി വിവർത്തനം ചെയ്യുന്നു
- മറ്റ് ഓപ്ഷനുകൾ
- JSON ബാച്ച് കമാൻഡുകൾ
ഞാൻ ഒരു പ്രൊഫഷണൽ ഓപ്പൺ സോഴ്സ് സോഫ്റ്റ്വെയർ ഡെവലപ്പർ ആകാൻ ശ്രമിക്കുന്നു. ഞാൻ ജോലി ചെയ്തിട്ടുണ്ട് വർഷങ്ങളോളം സോഫ്റ്റ്വെയർ വ്യവസായത്തിൽ, ഞാൻ വിജയകരമായ കമ്പനികൾ ആരംഭിക്കുകയും അവ പൊതു കമ്പനികൾക്ക് വിൽക്കുകയും ചെയ്തു. അടുത്തിടെ എനിക്ക് ജോലി നഷ്ടപ്പെട്ടു, എനിക്ക് മറ്റ് ജോലികളൊന്നും നിരത്തിയിട്ടില്ല
അതിനാൽ ഞാൻ സഹായകരമായ സോഫ്റ്റ്വെയർ എഴുതാൻ ശ്രമിക്കുകയും അത് പ്രവർത്തിക്കുന്നുണ്ടോയെന്ന് നോക്കുകയും ചെയ്യും
നിങ്ങൾ ഈ സോഫ്റ്റ്വെയർ ഉപയോഗിക്കുന്നത് ആസ്വദിക്കുകയാണെങ്കിൽ, അത് ലഭിക്കുന്നതിൽ ഞാൻ വളരെ സന്തുഷ്ടനാണ് ഏറ്റവും ചെറിയ 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 ഫയലിലായിരിക്കണം:
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
ഉപയോഗിക്കുക
-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
എന്നതിനായി നിങ്ങൾ ഒരു ഫയലും (ഡയറക്ടറി അല്ല) വ്യക്തമാക്കണം.
ഓപ്ഷൻ