ନିୟୋଜନ ଏବଂ ଅନଲାଇନ୍ |

i18n.site ଗୋଟିଏ ପୃଷ୍ଠାର ପ୍ରୟୋଗ ସ୍ଥାପତ୍ୟ ଗ୍ରହଣ କରେ, ଏବଂ ୱେବସାଇଟ୍ ପ୍ରବେଶ ପୃଷ୍ଠା ଏବଂ ୱେବସାଇଟ୍ ବିଷୟବସ୍ତୁ ସ୍ୱାଧୀନ ଭାବରେ ନିୟୋଜିତ |

ଉପରୋକ୍ତ ଅନୁବାଦ ଚଲାଇବା ପରେ, md/out/dev ଡିରେକ୍ଟୋରୀ ଅଧୀନରେ htm ଏବଂ v ଡିରେକ୍ଟୋରୀଗୁଡ଼ିକ ସୃଷ୍ଟି ହେବ |

ଏଠାରେ, dev ଅର୍ଥାତ୍ ଏହା .i18n/htm/dev.yml ବିନ୍ୟାସ ଫାଇଲ୍ ଉପରେ ଆଧାରିତ |

dev ଡିରେକ୍ଟୋରୀ :

htm ଡିରେକ୍ଟୋରୀ ହେଉଛି ୱେବସାଇଟ୍ ପ୍ରବେଶ ପୃଷ୍ଠା |

v ଡିରେକ୍ଟୋରୀରେ ସଂସ୍କରଣ ସଂଖ୍ୟା ସହିତ ୱେବସାଇଟ୍ ବିଷୟବସ୍ତୁ ଅଛି |

ସ୍ଥାନୀୟ ପୂର୍ବାବଲୋକନ ସଂସ୍କରଣ ସଂଖ୍ୟା ବିଷୟରେ ଚିନ୍ତା କରେ ନାହିଁ ଏବଂ ସମସ୍ତ ଫାଇଲଗୁଡ଼ିକୁ out/dev/v/0.1.0 ଡିରେକ୍ଟୋରୀରେ କପି କରିବ |

ଅଫିସିଆଲ୍ ରିଲିଜ୍ ପାଇଁ, ପରିବର୍ତ୍ତିତ ଫାଇଲଗୁଡ଼ିକୁ ନୂତନ ସଂସ୍କରଣ ନମ୍ବର ଡିରେକ୍ଟୋରୀରେ କପି କରାଯିବ |

-c ସହିତ ବିନ୍ୟାସ ଫାଇଲ ନିର୍ଦ୍ଦିଷ୍ଟ କରନ୍ତୁ |

ବିଭିନ୍ନ ବିନ୍ୟାସ ଫାଇଲଗୁଡ଼ିକ out ଡିରେକ୍ଟୋରୀରେ ଅନୁରୂପ ଡିରେକ୍ଟୋରୀ ସୃଷ୍ଟି କରିବ |

ଉଦାହରଣ ସ୍ୱରୂପ, .i18n/htm/main.yml ଟି out/main ଡିରେକ୍ଟୋରୀ ସୃଷ୍ଟି କରିବ |

dev.yml ଏବଂ main.yml ହେଉଛି ଡିଫଲ୍ଟ ବିନ୍ୟାସକରଣ |

dev ହେଉଛି development ର ସଂକ୍ଷିପ୍ତକରଣ, ବିକାଶ ପରିବେଶକୁ ସୂଚାଇଥାଏ, ସ୍ଥାନୀୟ ପୂର୍ବାବଲୋକନ ପାଇଁ ବ୍ୟବହୃତ ହୁଏ, ଏବଂ ଏହା ମଧ୍ୟ ଡିଫଲ୍ଟ ବିନ୍ୟାସ ଫାଇଲ ଅଟେ | ol ହେଉଛି online ର ସଂକ୍ଷିପ୍ତକରଣ, ଅନଲାଇନ୍ ପରିବେଶକୁ -n , ଯାହା ଅଫିସିଆଲ୍ ରିଲିଜ୍ ପାଇଁ ବ୍ୟବହୃତ ହୁଏ npm

ଆପଣ ଅନ୍ୟ ବିନ୍ୟାସ ଫାଇଲଗୁଡିକ ମଧ୍ୟ ସୃଷ୍ଟି କରିପାରିବେ, ବ୍ୟବହାର କରିବାକୁ ବିନ୍ୟାସ ଫାଇଲ ନାମ ନିର୍ଦ୍ଦିଷ୍ଟ କରିବାକୁ ନିର୍ଦ୍ଦେଶନାମା ଉପରେ --htm_conf ବ୍ୟବହାର କରନ୍ତୁ:

ଉଦାହରଣ ସ୍ୱରୂପ:

i18n.site --htm_conf dist --save

ଏଠାରେ --save ଅପଡେଟ୍ ରିଲିଜ୍ ସଂସ୍କରଣ ସଂଖ୍ୟାକୁ ପ୍ରତିନିଧିତ୍ୱ କରେ |

Npmjs.com ରେ ବିଷୟବସ୍ତୁ ପ୍ରକାଶ କରନ୍ତୁ |

ବିଷୟବସ୍ତୁ ପ୍ରକାଶନ କରିବା ହେଉଛି ପରାମର୍ଶିତ ଡିଫଲ୍ଟ ସମାଧାନ ( ଫ୍ରଣ୍ଟ-ଏଣ୍ଡ ଉଚ୍ଚ ଉପଲବ୍ଧତା ଦେଖନ୍ତୁ) npmjs.com

ଲଗଇନ୍ & ପୋଷ୍ଟ npm

nodejs ସଂସ୍ଥାପନ କରନ୍ତୁ, npm login ସହିତ ଲଗ୍ ଇନ୍ କରନ୍ତୁ |

md/.i18n/htm/main.yml ସଂପାଦନ କରନ୍ତୁ ଏବଂ ଆପଣଙ୍କର npm ପ୍ୟାକେଜ୍ ନାମ npmjs.com md: YOUR_NPM_PACKAGE ର ମୂଲ୍ୟ ପରିବର୍ତ୍ତନ କରନ୍ତୁ |

ତା’ପରେ md/.i18n/htm/main.package.json ପରିବର୍ତ୍ତନ କରନ୍ତୁ |

ଅନୁବାଦ ଏବଂ ପ୍ରକାଶନ କରିବାକୁ md ଡିରେକ୍ଟୋରୀରେ i18n.site --npm କିମ୍ବା i18n.site -n ଚଲାନ୍ତୁ |

ଯଦି ଆପଣ ପ୍ରକାଶନ ପାଇଁ ଏକ ନିରନ୍ତର ଏକୀକରଣ ପରିବେଶ ବ୍ୟବହାର କରନ୍ତି, nodejs ସଂସ୍ଥାପନ କରିବାର କ is ଣସି ଆବଶ୍ୟକତା ନାହିଁ | କେବଳ ଲଗ୍ ଇନ୍ କପି କରନ୍ତୁ ଏବଂ ଅନୁମତି ~/.npmrc ପରିବେଶକୁ ପ୍ରକାଶ କରନ୍ତୁ |

ଯଦି ଆପଣ main.ymlv: ର ପ୍ୟାକେଜ୍ ନାମକୁ ପରିବର୍ତ୍ତନ କରନ୍ତି, ଦୟାକରି ପ୍ରଥମେ .i18n/v/main ଡିଲିଟ୍ କରିବାକୁ ନିଶ୍ଚିତ କରନ୍ତୁ ଏବଂ ତାପରେ ଏହାକୁ ପ୍ରକାଶ କରନ୍ତୁ |

ପ୍ରକ୍ସି ସର୍ଭର npm ଦ୍ୱାରା ପ୍ରକାଶିତ |

ଯଦି ଚାଇନାର ମଧ୍ୟପ୍ରଦେଶର ଉପଭୋକ୍ତାମାନେ ନେଟୱର୍କ ସମସ୍ୟାର ସମ୍ମୁଖୀନ ହୁଅନ୍ତି ଏବଂ npm ପ୍ୟାକେଜ୍ ପ୍ରକାଶ କରିବାରେ ଅସମର୍ଥ ହୁଅନ୍ତି, ତେବେ ସେମାନେ ପ୍ରକ୍ସି ସର୍ଭରକୁ ବିନ୍ୟାସ କରିବାକୁ ପରିବେଶ ଭେରିଏବଲ୍ https_proxy ସେଟ୍ କରିପାରିବେ |

ତୁମର ପ୍ରକ୍ସି ସର୍ଭର ପୋର୍ଟ 7890 ବୋଲି ମନେକରି, ତୁମେ ଲେଖି ପାରିବ:

https_proxy=http://127.0.0.1:7890 i18n.site -n

ଆତ୍ମ-ହୋଷ୍ଟ ବିଷୟବସ୍ତୁ |

ଯଦି ଆପଣ ବିଷୟବସ୍ତୁକୁ ସ୍ୱ-ହୋଷ୍ଟ କରିବାକୁ ଚାହାଁନ୍ତି, ପ୍ରଥମେ md/.i18n/htm/main.yml ସଂପାଦନ କରନ୍ତୁ ଏବଂ v: //unpkg.com/i18n.site ଆପଣଙ୍କର URL ଉପସର୍ଗରେ ପରିବର୍ତ୍ତନ କରନ୍ତୁ, ଯେପରିକି v: //i18n-v.xxx.com |

md ଡିରେକ୍ଟୋରୀ ପ୍ରବେଶ କରନ୍ତୁ ଏବଂ ଚଲାନ୍ତୁ |

i18n.site --htm_conf ol --save

କିମ୍ବା ସଂକ୍ଷିପ୍ତକରଣ

i18n.site -c ol -s

ତାପରେ, v: ରେ ଥିବା URL ଉପସର୍ଗ ପଥରେ md/out/main/v ଡିରେକ୍ଟୋରୀରେ ଥିବା ବିଷୟବସ୍ତୁକୁ ବିନ୍ୟାସ କରନ୍ତୁ |

ଶେଷରେ, /.v ରୁ 1s ରେ ଶେଷ ହେଉଥିବା ପଥର କ୍ୟାଚ୍ ସମୟକୁ ବିନ୍ୟାସ କରନ୍ତୁ , ନଚେତ୍ ନୂତନ ପ୍ରକାଶିତ ବିଷୟବସ୍ତୁକୁ ତୁରନ୍ତ ପ୍ରବେଶ କରାଯାଇପାରିବ ନାହିଁ |

ଅନାବଶ୍ୟକ ଅନୁରୋଧକୁ ହ୍ରାସ କରିବା ପାଇଁ ଅନ୍ୟ ପଥ ପାଇଁ କ୍ୟାଚ୍ ସମୟ ଏକ ବର୍ଷ କିମ୍ବା ତା’ଠାରୁ ଅଧିକ ସେଟ୍ ହୋଇପାରେ |

S3 କୁ ହୋଷ୍ଟ ବିଷୟବସ୍ତୁ |

ସ୍ host- ହୋଷ୍ଟ ବିଷୟବସ୍ତୁ ପାଇଁ, ଆପଣଙ୍କର ନିଜ ସର୍ଭର ବ୍ୟବହାର କରିବା ସହିତ, ଅନ୍ୟ CDN ସାଧାରଣ ବିକଳ୍ପ ହେଉଛି S3 ବ୍ୟବହାର କରିବା +

ଆପଣ S3 ସର୍ଭରରେ ଲଗ୍ ଇନ୍ କରିବାକୁ rclone କରିପାରିବେ, ତାପରେ ନିମ୍ନଲିଖିତ ସ୍କ୍ରିପ୍ଟକୁ ଅନୁସରଣ କରନ୍ତୁ ଏବଂ ପରିବର୍ତ୍ତନ କରନ୍ତୁ, ଏବଂ ପ୍ରତ୍ୟେକ ପ୍ରକାଶନ ପାଇଁ କେବଳ ବର୍ଦ୍ଧିତ ପରିବର୍ତ୍ତନଗୁଡ଼ିକୁ S3 କୁ କପି କରନ୍ତୁ |

i18n.site -c ol -s
s3=your-s3
bucket=your-bucket
ver=$(head -1 .i18n/v/main/v.hash | cut -c 2-)
rclone copy --overwrite-dir out/main/htm/v/$ver $s3:/$bucket/$ver
rclone copy out/main/v/.v "$s3:/$bucket/"

CDN ବିନ୍ୟାସ କରିବାକୁ ମନେରଖନ୍ତୁ ଯାହା ଦ୍ /.v ରେ ସମାପ୍ତ ହେଉଥିବା ପଥର କ୍ୟାଚ୍ ସମୟ 1s ଅଟେ, ନଚେତ୍ ନୂତନ ଭାବରେ ପ୍ରକାଶିତ ବିଷୟବସ୍ତୁ ତୁରନ୍ତ ପ୍ରବେଶ ହୋଇପାରିବ ନାହିଁ |

ୱେବସାଇଟ୍ ପ୍ରକାଶ କରନ୍ତୁ |

ୱେବସାଇଟ୍ ଯେକ anywhere ଣସି ସ୍ଥାନରେ ନିୟୋଜିତ ହୋଇପାରିବ github page ଏବଂ cloudflare page ଭଲ ପସନ୍ଦ!

କାରଣ ୱେବସାଇଟ୍ ଗୋଟିଏ ପୃଷ୍ଠା ପ୍ରୟୋଗ ସ୍ଥାପତ୍ୟ ବ୍ୟବହାର କରେ, URL ପଥଗୁଡ଼ିକୁ ପୁନ r ଲିଖନ କରିବାକୁ ମନେରଖ, ଯାହା . ରୁ index.html ଧାରଣ କରେ ନାହିଁ |

ୱେବସାଇଟ୍ ଏଣ୍ଟ୍ରି ପେଜ୍ କେବଳ ଥରେ ନିୟୋଜିତ ହେବା ଆବଶ୍ୟକ, ଏବଂ ପରବର୍ତ୍ତୀ ବିଷୟବସ୍ତୁ ଅଦ୍ୟତନ ପାଇଁ ୱେବସାଇଟ୍ ଏଣ୍ଟ୍ରି ପେଜ୍ ପୁନ ep ନିୟୋଜନ କରିବାର କ is ଣସି ଆବଶ୍ୟକତା ନାହିଁ |

Github ପୃଷ୍ଠାରେ ନିୟୋଜିତ କରନ୍ତୁ |

ଏକ ସଂସ୍ଥା ସୃଷ୍ଟି କରିବାକୁ ପ୍ରଥମେ ଏଠାରେ କ୍ଲିକ୍ github i18n-demo

ତାପରେ ଏହି ସଂସ୍ଥା ଅଧୀନରେ ଗୋଦାମ i18n-demo.github.io ସୃଷ୍ଟି କରନ୍ତୁ (ଦୟାକରି ଆପଣ ସୃଷ୍ଟି କରିଥିବା ସଂସ୍ଥାର ନାମ ସହିତ i18n-demo ବଦଳାନ୍ତୁ):

ପୂର୍ବ ଆର୍ଟିକିଲରେ ବିଷୟବସ୍ତୁ ପ୍ରକାଶନ କରିବାବେଳେ, out/main/htm ସୃଷ୍ଟି ହୋଇଛି ଦୟାକରି ଏହି ଡିରେକ୍ଟୋରୀକୁ ପ୍ରବେଶ କରନ୍ତୁ ଏବଂ ଚଲାନ୍ତୁ :

ln -s index.html 404.html

କାରଣ github page URL ପଥ ପୁନ r ଲିଖନକୁ ସମର୍ଥନ କରେ ନାହିଁ, ଏହା ବଦଳରେ 404.html ବ୍ୟବହୃତ ହୁଏ |

ତାପରେ htm ଡିରେକ୍ଟୋରୀରେ ନିମ୍ନଲିଖିତ ନିର୍ଦ୍ଦେଶକୁ ଚଲାନ୍ତୁ ( i18n-demo/i18n-demo.github.io.git ନିଜ ଗୋଦାମ ଠିକଣା ସହିତ ବଦଳାଇବାକୁ ମନେରଖ) :

git init
git branch -M main
git remote add origin [email protected]:i18n-demo/i18n-demo.github.io.git
git push -u origin main -f

କୋଡ୍ ଦବାଇବା ପରେ, ଆପଣ ଏହାକୁ ପ୍ରବେଶ କରିବା ପୂର୍ବରୁ ସଫଳତାର ସହିତ ଚାଲିବା ପାଇଁ github page ର ନିୟୋଜନକୁ ଅପେକ୍ଷା କରନ୍ତୁ (ନିମ୍ନରେ ଦେଖାଯାଇଥିବା ପରି) |

ଡେମୋ ପୃଷ୍ଠା ପାଇଁ ଦୟାକରି ଦେଖନ୍ତୁ:

https://i18n-demo.github.io

କ୍ଲାଉଡ୍ ଫ୍ଲାର୍ ପୃଷ୍ଠାରେ ନିୟୋଜିତ କରନ୍ତୁ |

github page ସହିତ ତୁଳନା cloudflare page ଏହା ପଥ ପୁନ r ଲିଖନ ଯୋଗାଏ ଏବଂ ମଧ୍ୟପ୍ରଦେଶ ଚୀନ୍ ପାଇଁ ଅଧିକ ବନ୍ଧୁତ୍ୱପୂର୍ଣ୍ଣ ଏବଂ ଏହାକୁ ବ୍ୟବହାର କରିବାକୁ ପରାମର୍ଶ ଦିଆଯାଇଛି |

cloudflare page ର ନିୟୋଜନ ସାଧାରଣତ above ଉପରୋକ୍ତ github page ର ନିୟୋଜନ ଉପରେ ଆଧାରିତ |

ଏକ ପ୍ରୋଜେକ୍ଟ ସୃଷ୍ଟି କରନ୍ତୁ ଏବଂ ଉପରୋକ୍ତ i18n-demo.github.io ଗୋଦାମକୁ ବାନ୍ଧନ୍ତୁ |

ପ୍ରକ୍ରିୟା ନିମ୍ନ ଚିତ୍ରରେ ଦର୍ଶାଯାଇଛି:

ସଂଗଠନ i18n-demo କୁ ପ୍ରବେଶ କରିବାକୁ ଦୟାକରି Add Account କ୍ଲିକ୍ କରନ୍ତୁ |

ଯଦି ଆପଣ ଅନ୍ୟ ସଂସ୍ଥାର ଗୋଦାମକୁ ବାନ୍ଧି ରଖିଛନ୍ତି, ନୂତନ ସଂସ୍ଥା ପ୍ରଦର୍ଶିତ ହେବା ପୂର୍ବରୁ ଆପଣଙ୍କୁ ଦୁଇଥର ଅନୁମତି ଦେବାକୁ Add Account କ୍ଲିକ୍ କରିବାକୁ ପଡିପାରେ |

ପରବର୍ତ୍ତୀ ସମୟରେ, ଗୋଦାମ i18n-demo.github.io ଚୟନ କରନ୍ତୁ, ତାପରେ Begin setup କ୍ଲିକ୍ କରନ୍ତୁ ଏବଂ ପରବର୍ତ୍ତୀ ପଦକ୍ଷେପଗୁଡ଼ିକ ପାଇଁ ଡିଫଲ୍ଟ ମୂଲ୍ୟ ବ୍ୟବହାର କରନ୍ତୁ |

ପ୍ରଥମ ଥର ପାଇଁ ବାନ୍ଧିବା ପରେ, ଆପଣ ଏହାକୁ ପ୍ରବେଶ କରିବା ପୂର୍ବରୁ ଆପଣଙ୍କୁ କିଛି ମିନିଟ୍ ଅପେକ୍ଷା କରିବାକୁ ପଡିବ |

ନିୟୋଜନ ପରେ, ଆପଣ ଏକ କଷ୍ଟମ୍ ଡୋମେନ୍ ନାମ ବାନ୍ଧିପାରିବେ |

କଷ୍ଟମ୍ ଡୋମେନ୍ ନାମକୁ ବାନ୍ଧିବା ପରେ, ଦୟାକରି ଡୋମେନ୍ ନାମକୁ ଯାଆନ୍ତୁ, ଏକକ ପୃଷ୍ଠା ପ୍ରୟୋଗର ପଥ ପୁନ r ଲିଖନକୁ ବିନ୍ୟାସ କରିବାକୁ, ନିମ୍ନରେ ଦେଖାଯାଇଥିବା ପରି:

ଉପରୋକ୍ତ ଚିତ୍ରରେ ଥିବା ନିୟମଗୁଡ଼ିକ ନିମ୍ନଲିଖିତ ଅଟେ, ଦୟାକରି ନିମ୍ନରେ ଥିବା ପ୍ରଥମ ଧାଡିରେ i18n.site ଆପଣ ବାନ୍ଧୁଥିବା ଡୋମେନ୍ ନାମ ସହିତ ବଦଳାନ୍ତୁ |

(http.host in {"i18n.site"}) and not (
substring(http.request.uri.path,-3) in {".js" ".gz"} or
substring(http.request.uri.path,-4) in {".htm" ".rss" ".css" ".svg" ".ico" ".png" ".xml" ".txt"} or
substring(http.request.uri.path,-5) in {".html" ".avif" ".json"} or
ends_with(http.request.uri.path,".webmanifest")
)

ଏହା ସହିତ, ଦୟାକରି ନିମ୍ନରେ ଦେଖାଯାଇଥିବା ପରି କ୍ୟାଚ୍ ନିୟମକୁ ବିନ୍ୟାସ କରନ୍ତୁ, ଏବଂ କ୍ୟାଚ୍ ଅବଧି ଏକ ମାସ ସେଟ୍ କରନ୍ତୁ |

ଦୟାକରି ଉପରୋକ୍ତ ଚିତ୍ରର ଦ୍ୱିତୀୟ ସୋପାନରେ ଡୋମେନ୍ ନାମକୁ ତୁମେ ବାନ୍ଧୁଥିବା ଡୋମେନ୍ ନାମକୁ ପରିବର୍ତ୍ତନ କର |

ଚୀନ୍ ମଧ୍ୟପ୍ରଦେଶରେ ୱେବସାଇଟ୍ ନିୟୋଜନକୁ ଅପ୍ଟିମାଇଜ୍ କରିବା |

ଯଦି ଆପଣ ମଧ୍ୟପ୍ରଦେଶ ଚାଇନାର ନେଟୱାର୍କ ପରିବେଶରେ ଉନ୍ନତମାନର କାର୍ଯ୍ୟଦକ୍ଷତା ହାସଲ କରିବାକୁ ଚାହୁଁଛନ୍ତି, ଦୟାକରି ପ୍ରଥମେ ଏକ ଡୋମେନ୍ ନାମ ପଞ୍ଜିକରଣ କରନ୍ତୁ |

ତା’ପରେ, ମଧ୍ୟପ୍ରଦେଶ + କ୍ଲାଉଡ୍ ବିକ୍ରେତାମାନଙ୍କର ଅବଜେକ୍ଟ ଷ୍ଟୋରେଜ୍ ବ୍ୟବହାର କରନ୍ତୁ CDN ନିମ୍ନଲିଖିତ ବିଷୟବସ୍ତୁକୁ ନିୟୋଜିତ କରନ୍ତୁ out/main/htm

ଏକକ ପୃଷ୍ଠା ପ୍ରୟୋଗଗୁଡ଼ିକ ସହିତ ଖାପ ଖୁଆଇବା ପାଇଁ ଆପଣ ଧାର ଗଣନାକୁ ବ୍ୟବହାର କରିପାରିବେ | ଉଦାହରଣ ସ୍ୱରୂପ, Baidu ସ୍ମାର୍ଟ କ୍ଲାଉଡ୍ CDN ଏହିପରି ବିନ୍ୟାସ ହୋଇପାରିବ |

const uri = r.uri, p = uri.lastIndexOf(".");
if (
  p < 0 ||
  !"|js|css|htm|html|md|avif|json|ico|xml|rss|gz|mp4|png|svg|txt|webmanifest|".includes(
    "|" + uri.slice(p + 1) + "|",
  )
) {
  const ua = r.headersIn["User-Agent"].toLowerCase()
  if (/facebookexternalhit|slurp|bot|spider|curl/.test(ua)) {
    r.return(
      302,
      (/baidu|yisou|sogou|360|byte/.test(ua) ? "/zh" : "/en") + r.uri + ".htm",
    )
  } else {
    r.uri = "/index.html"
  }
}

r.respHeader(() => {
  const t = [], out = r.headersOut;
  ["Content-MD5", "Age", "Expires", "Last-Modified"].forEach(
    i => delete out[i]
  )
  r.rawHeadersOut.forEach(i => {
    const key = i[0].toLowerCase()
    if (key.startsWith("x-") || key.startsWith("ohc-")) {
      delete out[key]
    }
  })
  out["Cache-Control"] = "max-age=" + 9e5
  // ରେସପନ୍ସ ହେଡର୍ ଗୁଡିକ ଡିବଗ୍ ଆଉଟପୁଟ୍ ପାଇଁ ସେଟ୍ ହୋଇପାରିବ, ଯେପରିକି out.XXX = 'MSG';
})

କାରଣ ରେକର୍ଡ MX ଏବଂ ରେକର୍ଡ CNAME ସହଭାଗୀ ହୋଇପାରିବ ନାହିଁ, ଯଦି ଆପଣ ଏକ ସମୟରେ ଡୋମେନ୍ ନାମ ଇମେଲ ଗ୍ରହଣ କରିବାକୁ ଚାହାଁନ୍ତି, ତେବେ ଆପଣଙ୍କୁ ସ୍କ୍ରିପ୍ଟ CNAME ସହିତ ରେକର୍ଡ A ରେ ସହଯୋଗ କରିବାକୁ ପଡିବ cname_flatten

ଏଥିସହ, ମଧ୍ୟପ୍ରଦେଶର ଚାଇନାର କ୍ଲାଉଡ୍ ବିକ୍ରେତାଙ୍କ ବିଦେଶୀ ଟ୍ରାଫିକ୍ ଚାର୍ଜ ଅପେକ୍ଷାକୃତ ମହଙ୍ଗା, ଯଦି ଆପଣ ଖର୍ଚ୍ଚକୁ ଅପ୍ଟିମାଇଜ୍ କରିବାକୁ ଚାହାଁନ୍ତି, ତେବେ ଆପଣ DNS କ୍ଲାଉଡ୍ ର ମାଗଣା ଭ ograph ଗୋଳିକ ରିଜୋଲ୍ୟୁସନ୍ ଏବଂ Cloudflare for SaaS ର କଷ୍ଟମ୍ ଡୋମେନ୍ ନାମ (ନିମ୍ନରେ ଦେଖାଯାଇଥିବା ପରି) ବ୍ୟବହାର କରିପାରିବେ | ଟ୍ରାଫିକ୍ ଡାଇଭର୍ସନ - ମଧ୍ୟପ୍ରଦେଶ ଚାଇନା Baidu Cloud CDN ରେ ଟ୍ରାଫିକ୍ ରାଉଟିଙ୍ଗ୍, ଆନ୍ତର୍ଜାତୀୟ ଟ୍ରାଫିକ୍ cloudflare ଯାଏ |

ଏହି ନିୟୋଜନ ଅପ୍ଟିମାଇଜେସନ୍ ସମାଧାନଗୁଡିକ ଅଧିକ ଜଟିଳ ଏବଂ ଭବିଷ୍ୟତରେ ପୃଥକ ଅଧ୍ୟାୟରେ ଉପସ୍ଥାପିତ ହେବ |

ଜେନେରିକ୍ ଡୋମେନ୍ ନାମ ପୁନ ir ନିର୍ଦ୍ଦେଶ |

ଯଦି ତୁମେ ତୁମର ମୁଖ୍ୟ ୱେବସାଇଟ୍ ଭାବରେ ଏକ ୱେବସାଇଟ୍ ସୃଷ୍ଟି କରିବାକୁ i18n.site ବ୍ୟବହାର କର, ତୁମେ ସାଧାରଣତ pan ପ୍ୟାନ୍-ଡୋମେନ୍ ପୁନ ir ନିର୍ଦ୍ଦେଶକୁ ବିନ୍ୟାସ କରିବାକୁ ପଡିବ, ଅର୍ଥାତ୍ *.xxx.com ( www.xxx.com ଅନ୍ତର୍ଭୂକ୍ତ କରି) କୁ xxx.com କୁ ପୁନ ir ନିର୍ଦ୍ଦେଶ କରିବାକୁ |

ଆଲିବାବା କ୍ଲାଉଡ୍ CDN EdgeScript ( ଇଂରାଜୀ ଡକ୍ୟୁମେଣ୍ଟ୍ / ଚାଇନିଜ୍ ଡକ୍ୟୁମେଣ୍ଟ୍ ) ସାହାଯ୍ୟରେ ଏହି ଆବଶ୍ୟକତା ହାସଲ କରାଯାଇପାରିବ |

CDN କ୍ଲାଉଡ୍ ରେ ଡୋମେନ୍ ନାମ ଯୋଡନ୍ତୁ ଏବଂ ଆଲିବାବା କ୍ଲାଉଡ୍ CDN ରେ ଡୋମେନ୍ ନାମ *.xxx.com ରୁ CNAME କୁ ସୂଚିତ କରନ୍ତୁ |

ଉଦାହରଣ ସ୍ୱରୂପ, ଉପର ଚିତ୍ରରେ *.i18n.site ର ପ୍ୟାନ୍-ଡୋମେନ୍ ନାମ ପୁନ ir ନିର୍ଦ୍ଦେଶ ବିନ୍ୟାସ ନିମ୍ନଲିଖିତ ଅଟେ:

rewrite(concat('https://i18n.site',$uri), 'redirect',301)

Nginx ସହିତ ନିୟୋଜନ କରନ୍ତୁ |

ଦୟାକରି server ର ଅନୁଚ୍ଛେଦରେ ନିମ୍ନଲିଖିତ ପରି ଏକ ବିନ୍ୟାସ ଯୋଡନ୍ତୁ nginx ଦୟାକରି /root/i18n/md/out/main/htm ନିଜ out/main/htm ପଥରେ ପରିବର୍ତ୍ତନ କରନ୍ତୁ:

location / {
  root  /root/i18n/md/out/main/htm;
  add_header Cache-Control "max-age=9999999";
  if ($uri !~* \.(avif|css|html|ico|js|json|png|svg|txt|webmanifest|xml)$) {
     rewrite ^ /index.html last;
  }
}

github action କ୍ରମାଗତ ଏକୀକରଣ ଉପରେ ଆଧାରିତ |

ତୁମର github action ବିନ୍ୟାସ କରିବାକୁ ଆପଣ ନିମ୍ନଲିଖିତକୁ ଅନୁସରଣ କରିପାରିବେ:

name: i18n.site

on:
  workflow_dispatch:
  push:
    branches:
      - main
      - dist

jobs:
  i18n:

    permissions:
      repository-projects: write
      contents: write

    runs-on: ubuntu-latest

    steps:
      - name: checkout
        uses: actions/checkout@v4

      - name: https://i18n.site
        uses: i18n-site/github-action-i18n.site@main
        with:
          I18N_SITE_TOKEN: ${{ secrets.I18N_SITE_TOKEN }}
          NPM_TOKEN: ${{ secrets.NPM_TOKEN }}

ଯେପରି ବିନ୍ୟାସନରେ ଦେଖାଯାଏ, ଶାଖା main ଏବଂ ଶାଖା dist କୁ ଠେଲିବାବେଳେ ଏହି କାର୍ଯ୍ୟ ପ୍ରବାହ ଟ୍ରିଗର ହୋଇଥାଏ |

ୱାର୍କଫ୍ଲୋ ଡକ୍ୟୁମେଣ୍ଟ ପ୍ରକାଶନ ପାଇଁ ଶାଖା ନାମ ସହିତ ଥିବା ବିନ୍ୟାସ ଫାଇଲକୁ ବ୍ୟବହାର କରିବ, ଏଠାରେ .i18n/htm/main.yml ଏବଂ .i18n/htm/dist.yml ଯଥାକ୍ରମେ ପ୍ରକାଶନ ସଂରଚନା ଭାବରେ ବ୍ୟବହୃତ ହେବ |

ଡକ୍ୟୁମେଣ୍ଟ୍ ରିଲିଜ୍ ପ୍ରକ୍ରିୟା ପାଇଁ ଆମେ ନିମ୍ନଲିଖିତ ସର୍ବୋତ୍ତମ ଅଭ୍ୟାସଗୁଡ଼ିକୁ ସୁପାରିଶ କରୁ:

ଯେତେବେଳେ ପରିବର୍ତ୍ତନଗୁଡିକ ଶାଖା main କୁ ଠେଲି ହୋଇଯାଏ, ଡକ୍ୟୁମେଣ୍ଟ୍ ନିର୍ମାଣ ଏବଂ ପ୍ରିଭ୍ୟୁ ଷ୍ଟେସନରେ ନିୟୋଜିତ ହେବା ପାଇଁ ଟ୍ରିଗର ହୋଇଥାଏ (ପୂର୍ବାବଲୋକନ ଷ୍ଟେସନ୍ ଉପଲବ୍ଧ github page ) |

ପୂର୍ବାବଲୋକନ ସାଇଟରେ ଡକ୍ୟୁମେଣ୍ଟ ସଠିକ୍ ବୋଲି ନିଶ୍ଚିତ କରିବା ପରେ, କୋଡ୍ ମିଶ୍ରିତ ହୋଇ ଶାଖା dist କୁ ଠେଲି ହେବ ଏବଂ ଅଫିସିଆଲ୍ ନିର୍ମାଣ ଏବଂ ନିୟୋଜନ ଅନ୍ଲାଇନ୍ରେ ଯିବ |

ଅବଶ୍ୟ, ଉପରୋକ୍ତ ପ୍ରକ୍ରିୟାକୁ କାର୍ଯ୍ୟକାରୀ କରିବା ପାଇଁ ଅଧିକ ବିନ୍ୟାସ ଲେଖିବା ଆବଶ୍ୟକ |

ୱାର୍କଫ୍ଲୋ ସ୍କ୍ରିପ୍ଟିଂ ପାଇଁ ଆପଣ ପ୍ରକୃତ ପ୍ରୋଜେକ୍ଟକୁ ରେଫର୍ କରିପାରିବେ github.com/fcdoc/doc

ବିନ୍ୟାସନରେ secrets.I18N_SITE_TOKEN ଏବଂ secrets.NPM_TOKEN ଆପଣଙ୍କୁ କୋଡ୍ ବେସରେ ଗୁପ୍ତ ଭେରିଏବଲ୍ ବିନ୍ୟାସ କରିବାକୁ ଆବଶ୍ୟକ କରେ |

I18N_SITE_TOKEN କରନ୍ତୁ i18n.site/token

NPM_TOKEN ହେଉଛି ସଂରଚନାରେ ପ୍ୟାକେଜ୍ npm ର ପ୍ରକାଶନ ଟୋକନ୍ | npmjs.com କରନ୍ତୁ ଏବଂ ପ୍ରକାଶନ ଅନୁମତି ସହିତ ଏକ ଟୋକନ୍ ସୃଷ୍ଟି କରନ୍ତୁ (ନିମ୍ନରେ ଦେଖାଯାଇଥିବା ପରି) |

ଡିରେକ୍ଟୋରୀ ଗଠନ

public

ୱେବସାଇଟ୍ ର ଷ୍ଟାଟିକ୍ ଫାଇଲ୍, ଯେପରିକି favicon.ico , robots.txt , ଇତ୍ୟାଦି |

ଏଠାରେ ଥିବା ଆଇକନ୍ ଫାଇଲଗୁଡିକ ସୃଷ୍ଟି ହୋଇପାରିବ realfavicongenerator.net

.i18n

.i18n ଡିରେକ୍ଟୋରୀ ଅଧୀନରେ i18n.site ର ବିନ୍ୟାସ ଫାଇଲ, ଅନୁବାଦ କ୍ୟାଚ୍ ଇତ୍ୟାଦି ଅଛି | ବିବରଣୀ ପାଇଁ ପରବର୍ତ୍ତୀ ଅଧ୍ୟାୟ "ବିନ୍ୟାସ" ଦେଖନ୍ତୁ |

en

ଉତ୍ସ ଭାଷା ଡିରେକ୍ଟୋରୀ, .i18n/conf.yml ବିନ୍ୟାସ ଫାଇଲରେ fromToen ସହିତ ଅନୁରୂପ |

i18n:
  fromTo:
    en: zh

ଦୟାକରି ଅନୁବାଦର ସଂରଚନାକୁ ଅନୁସରଣ କରନ୍ତୁ i18