Skip to content

Latest commit

 

History

History
380 lines (276 loc) · 32.1 KB

README.md

File metadata and controls

380 lines (276 loc) · 32.1 KB

ହୋକିଲାଇଜେସନ୍

ମୁଁ କାହିଁକି ଗୁଗୁଲ୍ ଅନୁବାଦ ମାଧ୍ୟମରେ ମୋର ସମ୍ପୂର୍ଣ୍ଣ ଆପ୍ କିମ୍ବା ସାଇଟ୍ ଚଲାଇ ପାରିବି ନାହିଁ ଏବଂ ଅନ୍ୟ ଭାଷାରେ ଏକ ମ basic ଳିକ ଅନୁବାଦ ପାଇ ପାରିବି ନାହିଁ?

*** ବର୍ତ୍ତମାନ, ଆପଣ କରିପାରିବେ! ***

hokeylization ନାମ ହେଉଛି ଏକ ପୋର୍ଟମ୍ୟାଣ୍ଟୋ, ଯାହାର ଅର୍ଥ ହେଉଛି 'ହୋକି ଲୋକାଲାଇଜେସନ୍' |

ଏହା କିଛି ମାତ୍ରାରେ ହକି କାରଣ ଏହା ବହୁତ ସରଳ: ଏହା ଗୁଗୁଲ୍ ଅନୁବାଦକୁ ଷ୍ଟ୍ରିଙ୍ଗ୍ ପଠାଏ |

ଏବଂ ଏହା ସରଳ, ତଥାପି ବହୁତ ଶକ୍ତିଶାଳୀ | HTML ଡକ୍ୟୁମେଣ୍ଟ୍ ପାଇଁ ଏହାର ବିଶେଷ ସମର୍ଥନ ଅଛି, HandlebarsJS ଟେମ୍ପଲେଟ୍, ଏବଂ ମାର୍କଡାଉନ୍ ଫାଇଲଗୁଡିକ |

ଆପଣ ଅନୁବାଦ କରିପାରିବେ:

  • ସନ୍ଦେଶ ଧାରଣ କରିଥିବା ଏକ ଜାଭାସ୍କ୍ରିପ୍ଟ ବସ୍ତୁ |
  • ଯେକ any ଣସି ସଂଖ୍ୟକ ଫାଇଲ୍ କିମ୍ବା ଡିରେକ୍ଟୋରୀ, ସର୍ବଦା ଡିରେକ୍ଟୋରୀକୁ ବାରମ୍ବାର ଅତିକ୍ରମ କରେ |

ଏହାକୁ ଅନ୍ୟ ଭାଷାରେ ପ Read ନ୍ତୁ |

ଏହି README.md ଡକ୍ୟୁମେଣ୍ଟକୁ ନିଜେ ହୋକିଲାଇଜେସନ୍ ଟୁଲ୍ ବ୍ୟବହାର କରି ଅନୁବାଦ କରାଯାଇଛି | ** ଗୁଗୁଲ୍ ଅନୁବାଦ ଦ୍ୱାରା ସମର୍ଥିତ ପ୍ରତ୍ୟେକ ଭାଷା! **

ମୁଁ ନିଶ୍ଚିତ ଯେ ଏହା ସିଦ୍ଧ ନୁହେଁ, କିନ୍ତୁ ମୁଁ ଆଶା କରେ ଏହା କିଛି ନୁହେଁ!

[🇸🇦 ଆରବୀ](lang / ar / README.md) [🇧🇩 ବଙ୍ଗାଳୀ](lang / bn / README.md) [🇩🇪 ଜର୍ମାନ](lang / de / README.md) [🇺🇸 ଇଂରାଜୀ](lang / en / README.md) [🇪🇸 ସ୍ପାନିସ୍](lang / es / README.md) [🇫🇷 ଫରାସୀ](lang / fr / README.md) [🇹🇩 ହାଉସା](lang / ha / README.md) [🇮🇳 ହିନ୍ଦୀ](lang / hi / README.md) [🇮🇩 ଇଣ୍ଡୋନେସିଆ](lang / id / README.md) [🇮🇹 ଇଟାଲୀୟ](lang / it / README.md) [🇯🇵 ଜାପାନିଜ](lang / ja / README.md) [🇰🇷 କୋରିଆନ୍](lang / ko / README.md) [🇮🇳 ମାରନ୍ତୀ](lang / mr / README.md) [Ish ପୋଲାଣ୍ଡ](lang / pl / README.md) [🇧🇷 ପର୍ତ୍ତୁଗୀଜ୍](lang / pt / README.md) [🇷🇺 Russian ଷିୟ](lang / ru / README.md) [🇰🇪 ସ୍ Swahili ାହିଲୀ](lang / sw / README.md) [Ag ଟାଗଲଗ୍](lang / tl / README.md) [🇹🇷 ତୁର୍କୀ](lang / tr / README.md) [🇵🇰 ଉର୍ଦ୍ଦୁ](lang / ur / README.md) [🇻🇳 ଭିଏତନାମ](lang / vi / README.md) [🇨🇳 ଚାଇନିଜ୍](lang / zh / README.md)

** [📚 ... ସମସ୍ତ ଭାଷା ...](lang / README.md) **

README ର ଏହି ଅନୁବାଦରେ କିଛି ଅସୁବିଧା ଅଛି କି?

ମୂଳ [README] ର ଏହି ନିର୍ଦ୍ଦିଷ୍ଟ ଅନୁବାଦ (https://github.com/cobbzilla/hokeylization/blob/master/README.md) ତ୍ରୁଟି ହୋଇପାରେ - * ସଂଶୋଧନଗୁଡିକ ଅତ୍ୟନ୍ତ ସ୍ୱାଗତଯୋଗ୍ୟ! * ଦୟାକରି [GitHub ରେ ଏକ ଅନୁରୋଧ ଅନୁରୋଧ] ପଠାନ୍ତୁ (https://github.com/cobbzilla/hokeylization/pulls), କିମ୍ବା ଯଦି ଆପଣ ତାହା କରିବାକୁ ଆରାମଦାୟକ ନୁହଁନ୍ତି, ଏକ ସମସ୍ୟା ଖୋଲନ୍ତୁ

ଯେତେବେଳେ ଆପଣ ଏକ ଅନୁବାଦ ବିଷୟରେ ଏକ ନୂତନ GitHub ଇସୁ ସୃଷ୍ଟି କରନ୍ତି, ଦୟାକରି କରନ୍ତୁ:

  • ପୃଷ୍ଠା URL ଅନ୍ତର୍ଭୂକ୍ତ କରନ୍ତୁ (ବ୍ରାଉଜର୍ ଠିକଣା ଦଣ୍ଡିକାରୁ କପି / ଲେପନ କରନ୍ତୁ)
  • ଭୁଲ ସଠିକ୍ ପାଠ୍ୟ ଅନ୍ତର୍ଭୂକ୍ତ କରନ୍ତୁ (ବ୍ରାଉଜରରୁ କପି / ଲେପନ କରନ୍ତୁ)
  • ଦୟାକରି କ’ଣ ଭୁଲ୍ ବର୍ଣ୍ଣନା କର - ଅନୁବାଦ ଭୁଲ୍ କି? ଫର୍ମାଟିଂ କ h ଣସି ପ୍ରକାରେ ଭାଙ୍ଗିଗଲା କି?
  • ଦୟାକରି ଏକ ଉତ୍ତମ ଅନୁବାଦର ଏକ ପ୍ରସ୍ତାବ ପ୍ରଦାନ କରନ୍ତୁ, କିମ୍ବା ପାଠ କିପରି ସଠିକ୍ ଭାବରେ ଫର୍ମାଟ୍ ହେବା ଉଚିତ |
  • ଧନ୍ୟବାଦ!

ବିଷୟବସ୍ତୁ

  • [ଉତ୍ସ](# ଉତ୍ସ)
  • [ସମର୍ଥନ ଏବଂ ପାଣ୍ଠି](# ସମର୍ଥନ-ଏବଂ-ପାଣ୍ଠି)
  • [ସ୍ଥାପନ](# ସ୍ଥାପନ)
  • [ସେଟଅପ୍](# ସେଟଅପ୍)
  • [ଏକ ଜାଭାସ୍କ୍ରିପ୍ଟ ଷ୍ଟ୍ରିଙ୍ଗ ଉତ୍ସ ଫାଇଲକୁ ଅନୁବାଦ କରିବା](# ଅନୁବାଦ-ଏ-ଜାଭାସ୍କ୍ରିପ୍ଟ-ଷ୍ଟ୍ରିଙ୍ଗ-ଉତ୍ସ-ଫାଇଲ)
  • [ପାଠ୍ୟ ଫାଇଲଗୁଡ଼ିକର ଏକ ଡିରେକ୍ଟୋରୀକୁ ଅନୁବାଦ କରିବା](# ଅନୁବାଦ-ଏକ-ଡିରେକ୍ଟୋରୀ-ପାଠ୍ୟ-ଫାଇଲଗୁଡ଼ିକ)
  • [ଅନ୍ୟ ବିକଳ୍ପଗୁଡିକ](# ଅନ୍ୟ-ବିକଳ୍ପଗୁଡିକ)
  • [JSON ବ୍ୟାଚ୍ ନିର୍ଦ୍ଦେଶ](# JSON-batch-command)

ଉତ୍ସ |

ସମର୍ଥନ ଏବଂ ପାଣ୍ଠି

ମୁଁ ଏକ ବୃତ୍ତିଗତ ମୁକ୍ତ ଉତ୍ସ ସଫ୍ଟୱେର୍ ବିକାଶକାରୀ ହେବାକୁ ଚେଷ୍ଟା କରୁଛି | ମୁଁ କାମ କରୁଛି ଅନେକ ବର୍ଷ ଧରି ସଫ୍ଟୱେର୍ ଇଣ୍ଡଷ୍ଟ୍ରି, ମୁଁ ସଫଳ କମ୍ପାନୀଗୁଡିକ ଆରମ୍ଭ କରି ସାର୍ବଜନୀନ କମ୍ପାନୀଗୁଡିକରେ ବିକ୍ରି କରିଛି | ସମ୍ପ୍ରତି ମୁଁ ମୋର ଚାକିରୀ ହରାଇଲି, ଏବଂ ମୋର ପ୍ରକୃତରେ ଅନ୍ୟ କ work ଣସି କାମ ଧାଡ଼ିରେ ନାହିଁ |

ତେଣୁ ମୁଁ ସାହାଯ୍ୟକାରୀ ସଫ୍ଟୱେର୍ ଲେଖିବାକୁ ଚେଷ୍ଟା କରିବାକୁ ଯାଉଛି ଏବଂ ତାହା କାମ କରୁଛି କି ନାହିଁ |

ଯଦି ଆପଣ ଏହି ସଫ୍ଟୱେର୍ ବ୍ୟବହାର କରିବାକୁ ଉପଭୋଗ କରନ୍ତି, ତେବେ ମୁଁ ଗ୍ରହଣ କରି ବହୁତ ଖୁସି ହେବି | ଛୋଟ 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 ମାଧ୍ୟମରେ ଚାଲିବା ସମୟରେ ଲୋଡ୍ ହେବେ |

ଏକ ଜାଭାସ୍କ୍ରିପ୍ଟ ଷ୍ଟ୍ରିଙ୍ଗ୍ ଉତ୍ସ ଫାଇଲ୍ ଅନୁବାଦ କରିବା |

ତୁମର ଷ୍ଟ୍ରିଙ୍ଗ୍ ଟେବୁଲ୍ ** ନିଶ୍ଚିତ ଭାବରେ ଏହି ଦୁଇଟି ଫର୍ମ ମଧ୍ୟରୁ ଗୋଟିଏରେ ଜାଭାସ୍କ୍ରିପ୍ଟ ଫାଇଲରେ ରହିବା ଆବଶ୍ୟକ:

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 ବସ୍ତୁର ଶେଷ ପର୍ଯ୍ୟନ୍ତ | ପୁରା ଫାଇଲ୍ ସବୁବେଳେ ପୁନ rew ଲିଖିତ |

ସମସ୍ତ ଚାବିକୁ -f କରିବାକୁ ବାଧ୍ୟ କରିବାକୁ, "-f" / --force ଅପ୍ସନ୍ ବ୍ୟବହାର କରନ୍ତୁ |

ପାଠ୍ୟ ଫାଇଲଗୁଡ଼ିକର ଏକ ଡିରେକ୍ଟୋରୀ ଅନୁବାଦ କରିବା |

ଆପଣ ଫାଇଲ୍ ର ଏକ ଡିରେକ୍ଟୋରୀକୁ ମଧ୍ୟ ଅନୁବାଦ କରିପାରିବେ | ହୋକିଲାଇଜେସନ୍ ବାରମ୍ବାର ପରିଦର୍ଶନ କରିବ | ଡିରେକ୍ଟୋରୀରେ ଫାଇଲ୍ କରନ୍ତୁ ଏବଂ ଗୁଗୁଲ୍ ଟ୍ରାନ୍ସଲେଟ୍ ମାଧ୍ୟମରେ ଏହାର ବିଷୟବସ୍ତୁ ଚଲାନ୍ତୁ, ଏବଂ ଆଉଟପୁଟ୍ ସେଭ୍ କରନ୍ତୁ | ଏକ ପୃଥକ ଡିରେକ୍ଟୋରୀ ଗଛରେ ସମାନ ଭାବରେ ନାମିତ ଫାଇଲକୁ |

ଯେତେବେଳେ ତୁମର ଅନୁବାଦର ଲକ୍ଷ୍ୟ ଏକ ଡିରେକ୍ଟୋରୀ ଅଟେ, ଏହି ମୋଡ୍ ସକ୍ଷମ ହୋଇଥାଏ |

-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 ବ୍ୟବହାର ନକରନ୍ତି ତେବେ ବିଦ୍ୟମାନ ଆଉଟପୁଟ୍ ଫାଇଲଗୁଡ଼ିକ ପୁନ gene ନିର୍ମାଣ ହେବ ନାହିଁ |
  • ତୁମେ ଏକ ସମାନ ଡିରେକ୍ଟୋରୀ ସଂରଚନା ଏବଂ en es ଏବଂ de ଭିତରେ ଥିବା ଫାଇଲଗୁଡ଼ିକ ସହିତ ଶେଷ ହେବ |

ଅନ୍ୟ ବିକଳ୍ପଗୁଡ଼ିକ |

ଶୁଖିଲା ଚଲାନ୍ତୁ |

କଣ କରାଯିବ ତାହା ପ୍ରଦର୍ଶନ କରିବାକୁ -n / --dry-run ରନ୍ 'ପାସ୍ କରନ୍ତୁ, କିନ୍ତୁ ପ୍ରକୃତରେ କ API ଣସି API କଲ୍ କରନ୍ତୁ ନାହିଁ କିମ୍ବା କ files ଣସି ଫାଇଲ୍ ଲେଖନ୍ତୁ ନାହିଁ |

ବଳ

ଅନୁବାଦଗୁଡ଼ିକୁ ପୁନ ener ନିର୍ମାଣ କରିବାକୁ -f / --force ପାସ୍ କରନ୍ତୁ, ଯଦିଓ ସେଗୁଡ଼ିକ ପୂର୍ବରୁ ବିଦ୍ୟମାନ |

ମ୍ୟାଚ୍

ଡିରେକ୍ଟୋରୀ-ମୋଡରେ ଚାଲିବା ସମୟରେ ପ୍ରକ୍ରିୟାକୃତ ଫାଇଲଗୁଡ଼ିକୁ ସୀମିତ କରିବା ପାଇଁ -m/--match` ପାସ୍ କରନ୍ତୁ |

ଆପଣ ହୁଏତ ସର୍ବଦା ଆପଣଙ୍କର ଉତ୍ସ ଡିରେକ୍ଟୋରୀରେ * ପ୍ରତ୍ୟେକ * ଫାଇଲ୍ କୁ ଆପଣଙ୍କର ଟାର୍ଗେଟ୍ ଡିରେକ୍ଟୋରୀକୁ ଅନୁବାଦ କରିବାକୁ ଚାହୁଁନାହାଁନ୍ତି |

-m/--match` ବିକଳ୍ପର ମୂଲ୍ୟ ହେଉଛି ଏକ ରେଜେକ୍ସ (ସାବଧାନ ସେଲ ଉଦ୍ଧୃତ ନିୟମ!) ଯାହା ନିର୍ଦ୍ଦିଷ୍ଟ କରେ | କେଉଁ ଫାଇଲଗୁଡିକ ଅନୁବାଦ କରାଯିବା ଉଚିତ୍ |

ସନ୍ଦେହ ହେଲେ, କେଉଁ ଫାଇଲଗୁଡିକ ଅନୁବାଦ ହେବ ତାହା ଦେଖିବା ପାଇଁ ଆପଣ ଏହି ବିକଳ୍ପକୁ -n / --dry-run ସହିତ ମିଶ୍ରଣ କରିପାରିବେ |

ବାଦ ଦେଇଛି |

ବେଳେବେଳେ ଆପଣଙ୍କର -m ବହୁତ ଫାଇଲ୍ ସହିତ ମେଳ ହୁଏ | ସ୍ପଷ୍ଟ ଭାବରେ ବାଦ ଦେବାକୁ -e / --excludes ବିକଳ୍ପକୁ ବ୍ୟବହାର କରନ୍ତୁ | ଫାଇଲଗୁଡିକ ଯାହା ଅନ୍ୟଥା ମେଳ ହୋଇଥାନ୍ତା |

ସ୍ପେସ୍ ଦ୍ୱାରା ଅଲଗା ହୋଇ ଆପଣ ଏକାଧିକ ରେଜେକ୍ସ ତାଲିକାଭୁକ୍ତ କରିପାରିବେ |

ଏକ ସାଧାରଣ ବ୍ୟବହାର ହେବ: --excludes node_modules dist \.git build tmp

ହ୍ୟାଣ୍ଡଲବର୍ |

ଅନୁବାଦ କରିବାକୁ ଥିବା ଷ୍ଟ୍ରିଙ୍ଗଗୁଡିକ ହୁଏତ ଦୁଇ {ତିନୋଟି କୁଞ୍ଚିତ ବନ୍ଧନୀ ସହିତ {{ handlebars }} ଟେମ୍ପଲେଟ୍ ଧାରଣ କରିପାରେ |

ଆପଣ ବୋଧହୁଏ * DON'T * ସେହି ଟେମ୍ପଲେଟଗୁଡିକ ଭିତରେ ଥିବା ସାମଗ୍ରୀକୁ ଅନୁବାଦ କରିବାକୁ ଚାହାଁନ୍ତି |

-H / --handlebars ପତାକା ପାସ୍ କର, ଏବଂ {{ ... }} within ଭିତରେ ଥିବା କ anything ଣସି ଜିନିଷ ଅନୁବାଦ ହେବ ନାହିଁ |

ମାର୍କଡାଉନ୍ |

ମାର୍କଡାଉନ୍ ପାଠ୍ୟ କିମ୍ବା html ନୁହେଁ, ତେଣୁ ଗୁଗୁଲ୍ ଅନୁବାଦରେ ଏଥିରେ କିଛି ଅସୁବିଧା ଅଛି |

ମାର୍କ-ଡାଉନ୍ ଫାଇଲଗୁଡ଼ିକ ପାଇଁ -M / --markdown ଫ୍ଲାଗ୍ ସ୍ୱତନ୍ତ୍ର ନିୟନ୍ତ୍ରଣକୁ ସକ୍ଷମ କରିଥାଏ |

ମାର୍କଡାଉନ୍ ଫାଇଲଗୁଡିକ ସହିତ, ଯଦି ଆପଣ -M ଫ୍ଲାଗ୍ ବ୍ୟବହାର କରନ୍ତି ନାହିଁ, ଆପଣ ବୋଧହୁଏ ଏହି ସମସ୍ୟାଗୁଡିକ ପାଇବେ:

  • ଭଙ୍ଗା ଲିଙ୍କ୍ | ଅନୁବାଦରେ, ଏକ ମାର୍କଡାଉନ୍ ଲିଙ୍କ୍ ବର୍ଣ୍ଣନା ସମାପ୍ତ ହେବା ପରେ ଏକ ସ୍ପେସ୍ ବର୍ଣ୍ଣ ଦୃଶ୍ୟମାନ ହୁଏ ("ସହିତ ] ) କିନ୍ତୁ | ଏହାର ଟାର୍ଗେଟ୍ ଲିଙ୍କ୍ ଆରମ୍ଭ ହେବା ପୂର୍ବରୁ ( ( ସହିତ)। ଏହା ମାର୍କଡାଉନ୍ ଭୁଲ୍ ରେଣ୍ଡର୍ କରିଥାଏ, ଏବଂ ଲିଙ୍କ୍ | ଡକ୍ୟୁମେଣ୍ଟ୍ ଦେଖିବାବେଳେ ଭାଙ୍ଗିଯାଏ |
  • କୋଡ୍ ବ୍ଲକଗୁଡିକ ଅନୁବାଦିତ ହୁଏ | ମାର୍କଡାଉନ୍ କ’ଣ କୋଡ୍ ବିବେଚନା କରେ ଏବଂ ଏହା କ’ଣ କରେ ନାହିଁ ଗୁଗୁଲ୍ ଅନୁବାଦ କରେ ନାହିଁ |
  • ଇଣ୍ଡେଣ୍ଟ୍ କୋଡ୍ ବ୍ଲକ୍ ପାଇଁ ଭୁଲ ବ୍ୟବଧାନ | ଅନୁବାଦରେ ସଂରକ୍ଷଣ କରିବା କଷ୍ଟକର |
  • backticks ଭିତରେ ଥିବା ଜିନିଷଗୁଡ଼ିକ ଅନୁବାଦ ହୋଇଯିବ, ଯେତେବେଳେ ଆପଣ ପ୍ରାୟ ସବୁବେଳେ ଚାହାଁନ୍ତି ଯେ ସେଗୁଡ଼ିକ ଆକ୍ଷରିକ ମୂଲ୍ୟବୋଧ ହୁଅନ୍ତୁ |

ଯେତେବେଳେ -M / --markdown ଫ୍ଲାଗ୍ ସକ୍ଷମ ହେବ:

  • The ାଞ୍ଚା ]( କୁ ଘନୀଭୂତ ହେବ ]( ଏହିପରି ଭଙ୍ଗା ମାର୍କଡାଉନ୍ ଲିଙ୍କଗୁଡିକ ଠିକ୍ କରେ |
  • ଏକ "କ translate ଣସି ଅନୁବାଦ" ରାପର୍ ଇଣ୍ଡେଣ୍ଟେଡ୍ କୋଡ୍ ବ୍ଲକ୍ ଉପରେ ରଖାଯିବ, ସଠିକ୍ ଇଣ୍ଡେଣ୍ଟେସନ୍ ସଂରକ୍ଷଣ କରିବ ଏବଂ ସେଗୁଡିକ ଅନୁବାଦ ନହେବା ନିଶ୍ଚିତ ହେବ |
  • ଏକ "କ translate ଣସି ଅନୁବାଦ" ରାପର୍ ଟେକ୍ସଟ୍ ଚାରିପାଖରେ backticks ମଧ୍ୟରେ ରଖାଯିବ ଯେ ସେଗୁଡିକ ଅନୁବାଦ ହୋଇନାହିଁ |

ପ୍ରକ୍ରିୟା-ପରି |

ସାଧାରଣତ everything ସବୁକିଛି ସାଧା ପାଠ୍ୟ ଭାବରେ ପ୍ରକ୍ରିୟାକରଣ ହୁଏ |

ଯଦି ଆପଣଙ୍କର ବିଷୟବସ୍ତୁ HTML ଅଟେ, ଯଦି ଆପଣ -p html html/--process-as html` ଅପ୍ସନ୍ ପାସ୍ ନକରନ୍ତି ତେବେ ଏହା ଖରାପ ହୋଇଯିବ |

ଫିଲ୍ଟର୍ |

ଦୁ vent ସାହସିକ କାର୍ଯ୍ୟ ପାଇଁ: ଏକ ଡିରେକ୍ଟୋରୀରେ ଫାଇଲ୍ ପ୍ରକ୍ରିୟାକରଣ କରିବାବେଳେ, ଆପଣ -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 କମାଣ୍ଡ୍ ଚଲାଇପାରିବେ |

ସମ୍ମିଳନୀ ଦ୍ this ାରା ଏହି ଫାଇଲ୍ କୁ hokey.json କୁହାଯାଏ, କିନ୍ତୁ ଆପଣ ଯାହା ଚାହିଁବେ ଏହାର ନାମ ଦେଇପାରିବେ |

ଯଦି ଆପଣ -j ଅପ୍ସନ୍ ଭାବରେ ଏକ ଡିରେକ୍ଟୋରୀ ପାସ୍ କରନ୍ତି, hokey ” ସେହି ଡିରେକ୍ଟୋରୀରେ hokey.json |

JSON ଫାଇଲ୍ ଗୋଟିଏ ବସ୍ତୁ ଧାରଣ କରିବା ଉଚିତ୍ | ସେହି ବସ୍ତୁ ଭିତରେ, ଏହାର ସମ୍ପତ୍ତି ନାମଗୁଡ଼ିକ ସମାନ | କମାଣ୍ଡ୍ ଲାଇନ୍ ଅପ୍ସନ୍ସ, ଏବଂ hokey ନାମକ ଏକ ଅତିରିକ୍ତ ସମ୍ପତ୍ତି |

hokey ପ୍ରପର୍ଟି ଚଲାଇବାକୁ କମାଣ୍ଡର ଏକ ଆରେର୍ | ଏହି ନିର୍ଦ୍ଦେଶଗୁଡ଼ିକ ମଧ୍ୟରେ ଘୋଷିତ ଗୁଣଗୁଡ଼ିକ ହେବ | ବାହ୍ୟ ବସ୍ତୁରେ ଯେକ any ଣସି ନକଲ ଘୋଷଣାକୁ ନବଲିଖନ କରନ୍ତୁ |

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' ନିର୍ଦ୍ଦିଷ୍ଟ କରିପାରିବେ, 'ମାର୍କଡାଉନ୍', 'ଟେକ୍ସଟ୍', କିମ୍ବା ଆପଣଙ୍କର ନିଜସ୍ Hand HandlebarsJS ଟେମ୍ପଲେଟ୍ କୁ ଫାଇଲ୍ ପଥ |

ଯଦି ଆପଣ ନିଜର ଟେମ୍ପଲେଟ୍ ନିର୍ଦ୍ଦିଷ୍ଟ କରନ୍ତି, ତେବେ ଆପଣଙ୍କୁ -I / --index ପାଇଁ ଏକ ଫାଇଲ୍ (ଡିରେକ୍ଟୋରୀ ନୁହେଁ) ମଧ୍ୟ ନିର୍ଦ୍ଦିଷ୍ଟ କରିବାକୁ ପଡିବ | ବିକଳ୍ପ

ଭାଷା ଅନୁବାଦ କରିବାରେ ମଜା କରନ୍ତୁ!