নিয়োগ আৰু অনলাইন
i18n.site
এ এটা একক-পৃষ্ঠা এপ্লিকেচন স্থাপত্য গ্ৰহণ কৰে, আৰু ৱেবছাইট প্ৰৱেশ পৃষ্ঠা আৰু ৱেবছাইট বিষয়বস্তু স্বতন্ত্ৰভাৱে মোতায়েন কৰা হয়।
ওপৰৰ অনুবাদ চলোৱাৰ পিছত, ডাইৰেকটৰি htm
আৰু v
md/out/dev
ডাইৰেকটৰিৰ অন্তৰ্গত সৃষ্টি কৰা হব।
ইয়াত, 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
ৰ সংক্ষিপ্তকৰণ, যিয়ে অনলাইন npm
-n
, যি অফিচিয়েল মুক্তিৰ বাবে ব্যৱহাৰ কৰা হয়।
আপুনি অন্য বিন্যাস নথিপত্ৰও সৃষ্টি কৰিব পাৰে ব্যৱহাৰ কৰিবলে বিন্যাস নথিপত্ৰৰ নাম ধাৰ্য্য কৰিবলে আদেশ শাৰীত --htm_conf
ব্যৱহাৰ কৰক:
উদাহৰণ স্বৰূপে:
i18n.site --htm_conf dist --save
ইয়াত --save
আপডেইট উন্মোচন সংস্কৰণ সংখ্যাক প্ৰতিনিধিত্ব কৰে।
npmjs.com ত বিষয়বস্তু প্ৰকাশ কৰক
npmjs.com
npm & পোষ্ট কৰক
nodejs
সংস্থাপন কৰক, npm login
ৰ সৈতে লগ ইন কৰক ।
md/.i18n/htm/main.yml
সম্পাদনা কৰক আৰু md:
YOUR_NPM_PACKAGE
মান সলনি কৰক আপোনাৰ নিজৰ npm
সৰঞ্জামৰ নাম npmjs.com ।
তাৰ পিছত md/.i18n/htm/main.package.json
পৰিবৰ্তন কৰক
অনুবাদ আৰু প্ৰকাশ কৰিবলে md
পঞ্জিকাত i18n.site --npm
বা i18n.site -n
চলাওক।
যদি আপুনি প্ৰকাশ কৰিবলে এটা অবিৰত সংহতি পৰিৱেশ ব্যৱহাৰ কৰে, nodejs
সংস্থাপন কৰাৰ প্ৰয়োজন নাই । মাত্ৰ লগ-ইন আৰু প্ৰকাশৰ অনুমতিসমূহ ~/.npmrc
পৰিৱেশলৈ কপি কৰক ।
যদি আপুনি main.yml
ত v:
ৰ পেকেইজৰ নাম পৰিবৰ্তন কৰে, অনুগ্ৰহ কৰি প্ৰথমে .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
তাৰ পিছত, md/out/main/v
পঞ্জিকাত থকা বিষয়বস্তুক v:
ত সংহতি কৰা URL উপসৰ্গ পথলৈ বিন্যাস কৰক ।
শেষত, /.v
পৰা 1s
লৈ শেষ হোৱা পথৰ কেশ্ব সময় বিন্যাস কৰক , অন্যথা নতুনকৈ মুকলি কৰা বিষয়বস্তু তৎক্ষণাত অভিগম কৰিব নোৱাৰি ।
অন্য পথসমূহৰ বাবে কেশ্ব সময় এবছৰ বা তাতকৈ অধিকলৈ সংহতি কৰিব পাৰি অপ্ৰয়োজনীয় অনুৰোধসমূহ হ্ৰাস কৰিবলে।
s3 লৈ বিষয়বস্তু হ'ষ্ট কৰক
বিষয়বস্তু স্ব-হ'ষ্ট কৰিবলে, আপোনাৰ নিজৰ চাৰ্ভাৰ ব্যৱহাৰ কৰাৰ উপৰিও, আন CDN
সাধাৰণ বিকল্প হ'ল S3
ব্যৱহাৰ কৰা +
আপুনি S3
চাৰ্ভাৰত লগ ইন S3
rclone
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
হয়, অন্যথা নতুনকৈ মুকলি কৰা বিষয়বস্তু তৎক্ষণাত অভিগম কৰিব নোৱাৰি ।
ৱেবছাইট প্ৰকাশ কৰক
ৱেবছাইটটো যিকোনো ঠাইতে স্থাপন কৰিব পাৰি github page আৰু cloudflare page ভাল পছন্দ।
যিহেতু ৱেবছাইটে এটা একক-পৃষ্ঠা এপ্লিকেচন আৰ্কিটেকচাৰ ব্যৱহাৰ কৰে, .
ৰ পৰা index.html
নথকা URL পথসমূহ পুনৰ লিখিবলৈ মনত ৰাখিব।
ৱেবছাইট প্ৰৱেশ পৃষ্ঠাটো মাত্ৰ এবাৰহে মোতায়েন কৰিব লাগিব, আৰু পৰৱৰ্তী বিষয়বস্তু আপডেটৰ বাবে ৱেবছাইট প্ৰৱেশ পৃষ্ঠাটো পুনৰায় স্থাপন কৰাৰ প্ৰয়োজন নাই।
github পৃষ্ঠাত মোতায়েন কৰক
i18n-demo
সংস্থা সৃষ্টি কৰিবলৈ প্ৰথমে ইয়াত ক্লিক github ।
তাৰ পিছত এই প্ৰতিষ্ঠানৰ অধীনত গুদাম i18n-demo.github.io
সৃষ্টি কৰক (অনুগ্ৰহ কৰি আপুনি সৃষ্টি কৰা সংস্থাৰ নামেৰে i18n-demo
সলনি কৰক):
পূৰ্বৰ প্ৰবন্ধত বিষয়বস্তু প্ৰকাশ কৰাৰ সময়ত, out/main/htm
সৃষ্টি কৰা হৈছে অনুগ্ৰহ কৰি এই পঞ্জিকাত প্ৰৱেশ কৰক আৰু চলাওক :
ln -s index.html 404.html
যিহেতু github page
এ URL পথ পুনৰ লিখা সমৰ্থন নকৰে, ইয়াৰ পৰিবৰ্তে 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 , ই পথ পুনৰ লিখা প্ৰদান কৰে আৰু মূল চীনৰ বাবে অধিক বন্ধুত্বপূৰ্ণ আৰু ইয়াক ব্যৱহাৰ কৰাটো বাঞ্ছনীয়।
cloudflare page
ৰ মোতায়েন সাধাৰণতে ওপৰৰ github page
ৰ মোতায়েনৰ ওপৰত ভিত্তি কৰি কৰা হয়।
এটা প্ৰকল্প সৃষ্টি কৰক আৰু ওপৰৰ i18n-demo.github.io
গুদামটো বান্ধক।
প্ৰক্ৰিয়াটো তলৰ চিত্ৰত দেখুওৱা হৈছে:
সংস্থা i18n-demo
লৈ অভিগম অনুমোদন কৰিবলে অনুগ্ৰহ কৰি Add Account
ক্লিক কৰক।
যদি আপুনি অন্য প্ৰতিষ্ঠানৰ গুদাম বান্ধিছে, নতুন প্ৰতিষ্ঠান প্ৰদৰ্শিত হোৱাৰ আগতে আপুনি দুবাৰ অনুমোদন কৰিবলে Add Account
ক্লিক কৰিব লাগিব।
ইয়াৰ পিছত, গুদাম i18n-demo.github.io
নিৰ্ব্বাচন কৰক, তাৰ পিছত Begin setup
ক্লিক কৰক, আৰু পৰৱৰ্তী পদক্ষেপসমূহৰ বাবে অবিকল্পিত মানসমূহ ব্যৱহাৰ কৰক।
প্ৰথমবাৰৰ বাবে বাইণ্ড কৰাৰ পিছত, আপুনি ইয়াক অভিগম কৰাৰ আগতে কেইমিনিটমান অপেক্ষা কৰিব লাগিব।
মোতায়েনৰ পিছত, আপুনি এটা স্বনিৰ্বাচিত ডমেইন নাম বান্ধিব পাৰিব।
স্বনিৰ্বাচিত ডমেইন নাম বান্ধি লোৱাৰ পিছত, অনুগ্ৰহ কৰি একক-পৃষ্ঠা এপ্লিকেচনৰ পথ পুনৰ লিখা বিন্যাস কৰিবলে ডমেইন নামলৈ যাওক, তলত দেখুওৱাৰ দৰে:
ওপৰৰ ছবিখনত থকা 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
!
আপুনি এজ কম্পিউটিং ব্যৱহাৰ কৰিব 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_flatten ৰেকৰ্ড A
লৈ স্তৰ CNAME
লৈ লিপিৰ সৈতে সহযোগ কৰিব লাগিব।
ইয়াৰ উপৰিও, যিহেতু মূল চীনত ক্লাউড বিক্ৰেতাসকলৰ বহিঃৰাজ্যৰ ট্ৰেফিক চাৰ্জ তুলনামূলকভাৱে ব্যয়বহুল, যদি আপুনি খৰচ অনুকূল কৰিব বিচাৰে, তেন্তে আপুনি DNS Cloud ৰ বিনামূলীয়া ভৌগোলিক ৰিজ'লিউচন আৰু Cloudflare for SaaS ৰ কাষ্টম ডমেইন নাম (তলত দেখুওৱাৰ দৰে) ব্যৱহাৰ কৰিব পাৰে ট্ৰেফিক ডাইভাৰচন──মূল চীনত ট্ৰেফিক ৰুটিং বাইডু ক্লাউড CDN
, আন্তঃৰাষ্ট্ৰীয় ট্ৰেফিক cloudflare .
এই মোতায়েন অনুকূলন সমাধানসমূহ অধিক জটিল আৰু ভৱিষ্যতে পৃথক অধ্যায়সমূহত প্ৰৱৰ্তন কৰা হ'ব।
জেনেৰিক ডমেইন নাম পুনঃনিৰ্দেশ
যদি আপুনি এটা ৱেবছাইট আপোনাৰ মূল ৱেবছাইট হিচাপে সৃষ্টি কৰিবলে i18n.site
ব্যৱহাৰ কৰে, আপুনি সাধাৰণতে পেন-ডমেইন পুনঃনিৰ্দেশ বিন্যাস কৰিব লাগিব, অৰ্থাৎ, অভিগম *.xxx.com
লৈ ( www.xxx.com
অন্তৰ্ভুক্ত কৰি) xxx.com
লৈ পুনৰনিৰ্দেশিত কৰিব লাগিব।
এই প্ৰয়োজনীয়তা আলিবাবা ক্লাউড CDN
EdgeScript
( ইংৰাজী নথিপত্ৰ / চীনা নথিপত্ৰ ) ৰ সহায়ত লাভ কৰিব পাৰি ৷
CDN ক্লাউডত ডমেইন নাম যোগ কৰক আৰু আলিবাবা ক্লাউড CDN
ত ডমেইন নাম *.xxx.com
ৰ পৰা CNAME
লৈ আঙুলিয়াওক।
উদাহৰণস্বৰূপ, ওপৰৰ ছবিত *.i18n.site
ৰ পেন-ডমেইন নাম পুনঃনিৰ্দেশ বিন্যাস নিম্নলিখিত:
rewrite(concat('https://i18n.site',$uri), 'redirect',301)
nginx ৰ সৈতে মোতায়েন কৰক
/root/i18n/md/out/main/htm
server
nginx 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/dist.yml
কৰিবলে শাখাৰ নামৰ সৈতে .i18n/htm/main.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
বিন্যাস নথিপত্ৰত fromTo
ৰ en
সৈতে সংগতি ৰাখি
i18n:
fromTo:
en: zh
অনুগ্ৰহ কৰি অনুবাদৰ বিন্যাস চাওক i18