Fametrahana Sy an-Tserasera
i18n.site
dia mampiasa maritrano fampiharana pejy tokana , ary ny pejy fidirana amin'ny tranokala sy ny votoatin'ny tranokala dia apetraka tsy miankina.
Aorian'ny fampandehanana ny dikanteny etsy ambony, ny lahatahiry htm
sy v
dia hatsangana eo ambanin'ny lahatahiry md/out/dev
.
Eto, dev
dia midika fa miorina amin'ny fisie .i18n/htm/dev.yml
izy io.
dev
directory :
Ny lahatahiry htm
dia ny pejy fidirana amin'ny tranokala.
Ny lahatahiry v
dia misy votoaty amin'ny tranokala miaraka amin'ny laharan'ny dikan-teny.
Ny fijerena eo an-toerana dia tsy miraharaha ny laharan'ny dikan-teny ary handika ny rakitra rehetra amin'ny lahatahiry out/dev/v/0.1.0
.
Ho an'ny famoahana ofisialy, ny rakitra niova dia hadika amin'ny lahatahiry nomerao vaovao.
Ampidiro Ny Rakitra Fanamafisana Miaraka Amin'ny -c
Hamorona lahatahiry mifanaraka amin'izany ao amin'ny lahatahiry out
ny fisie fanamafisana samihafa.
Ohatra, .i18n/htm/main.yml
no hamorona ny lahatahiry out/main
.
dev.yml
sy main.yml
no configurations default.
dev
dia fanafohezana ny development
, manondro ny tontolo iainana fampandrosoana, ampiasaina amin'ny fijerena eo an-toerana, ary koa ny rakitra fanamafisam-peo default.
ol
dia fanafohezana ny online
, -n
ny tontolo iainana an-tserasera, izay ampiasaina amin'ny famoahana ofisialy npm
Azonao atao koa ny mamorona fisie fanamafisana hafa Ampiasao ny --htm_conf
amin'ny baiko mba hamaritana ny anaran'ny rakitra ampiasaina:
ohatra:
i18n.site --htm_conf dist --save
Eto ny --save
dia maneho ny laharana famoahana fanavaozana.
Mamoaka votoaty amin'ny npmjs.com
Ny famoahana votoaty ho an'ny npmjs.com
npm &
Mametraka nodejs
, midira miaraka amin'ny npm login
.
Amboary md/.i18n/htm/main.yml
npmjs.com ovay ny sandan'ny md:
YOUR_NPM_PACKAGE
ho anaran'ny fonosana npm
anao.
Avy eo ovao md/.i18n/htm/main.package.json
Manaova i18n.site --npm
na i18n.site -n
ao amin'ny lahatahiry md
handikana sy hamoahana.
Raha mampiasa tontolo fampidirana mitohy ianao mba hamoahana dia tsy ilaina ny mametraka nodejs
Adikao fotsiny ny fahazoan-dàlana miditra sy mamoaka ~/.npmrc
amin'ny tontolo iainana.
Raha ovainao ny anaran'ny fonosan'ny v:
amin'ny main.yml
, azafady mba hofafanao aloha .i18n/v/main
ary avoaka avy eo.
Mpizara Proxy Navoakan'ny npm
Raha sendra olana amin'ny tambajotra ny mpampiasa ao amin'ny tanibe Shina ka tsy afaka mamoaka fonosana npm
, dia afaka mametraka ny fari-piainan'ny tontolo iainana https_proxy
izy ireo mba handrindrana ny mpizara proxy.
Raha heverinao fa 7890
ny seranana mpizara proxy anao dia azonao atao ny manoratra:
https_proxy=http://127.0.0.1:7890 i18n.site -n
Votoaty Nampiantranoan-Tena
Raha te hampiantrano tena ny atiny ianao dia ovay aloha md/.i18n/htm/main.yml
ary ovay v: //unpkg.com/i18n.site
amin'ny tovan'ny URL-nao, toy ny v: //i18n-v.xxx.com
.
Ampidiro ny lahatahiry md
ary mihazakazaka
i18n.site --htm_conf ol --save
na fanafohezana
i18n.site -c ol -s
Avy eo, amboary ny atiny ao amin'ny lahatahiry md/out/main/v
mankany amin'ny lalan'ny prefix URL napetraka ao amin'ny v:
.
Farany, amboary ny fotoana cache amin'ny lalana mifarana amin'ny /.v
hatramin'ny 1s
, raha tsy izany dia tsy azo idirana avy hatrany ny atiny vao navoaka.
Ny fotoana cache ho an'ny lalana hafa dia azo apetraka ho herintaona na mihoatra mba hampihenana ny fangatahana tsy ilaina.
Mampiantrano Votoaty Amin'ny s3
Ho an'ny CDN
mpampiantrano tena, ankoatry ny fampiasana ny mpizara anao manokana, ny safidy mahazatra hafa dia ny fampiasana S3
+
Azonao atao ny mampiasa rclone raha hidirana amin'ny mpizara S3
, dia jereo sy ovay ity script manaraka ity, ary adikao fotsiny ny fanovana fanampiny ho S3
isaky ny famoahana.
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/"
Tsarovy ny manitsy CDN
ka ny fotoana cache amin'ny lalana mifarana amin'ny /.v
dia 1s
, raha tsy izany dia tsy azo idirana avy hatrany ny atiny vao navoaka.
Mamoaka Tranonkala
Ny tranokala dia azo apetraka na aiza na aiza, github page ny cloudflare page dia safidy tsara.
Satria mampiasa rafitra fampiharana pejy tokana ny tranokala, tadidio ny mamerina manoratra ny lalan'ny URL izay tsy misy .
hatramin'ny index.html
.
Indray mandeha ihany no mila apetraka ny pejin'ny fidirana amin'ny vohikala, ary tsy ilaina ny mamerina ny pejin'ny fidirana amin'ny tranonkala ho an'ny fanavaozana votoaty manaraka.
Alefaso Amin'ny Pejy github
Kitiho aloha eto github raha te hamorona fikambanana i18n-demo
ho ohatra.
Avy eo mamorona trano fanatobiana entana i18n-demo.github.io
eo ambanin'ity fikambanana ity (azafady soloy ny anaran'ny fikambanana noforoninao i18n-demo
):
Rehefa namoaka ny votoaty tao amin'ny lahatsoratra teo aloha dia out/main/htm
no natsangana azafady, ampidiro ity lahatahiry ity ary mandehana :
ln -s index.html 404.html
Satria tsy manohana ny fanoratana ny lalan'ny URL github page
, dia 404.html
no ampiasaina.
Avy eo dia ataovy ao amin'ny lahatahiry htm
ity baiko manaraka ity (tadidio ny manolo i18n-demo/i18n-demo.github.io.git
amin'ny adiresinao manokana) :
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
Aorian'ny fanosehana ny kaody dia andraso ny fametrahana ny github page
hahomby (araka ny aseho eto ambany) vao afaka miditra azy ianao.
Ho an'ny pejy demo dia jereo azafady:
https://i18n-demo.github.io
Apetraho Amin'ny Pejy cloudflare
cloudflare page Raha ampitahaina amin'ny github page
, dia manome fanoratana lalana ary mora kokoa amin'ny tanibe Shina ary azo idirana kokoa.
Ny fametrahana ny cloudflare page
dia matetika mifototra amin'ny fametrahana ny github page
etsy ambony.
Mamorona tetikasa ary afehezo ny trano fanatobiana entana i18n-demo.github.io
etsy ambony.
Ny dingana dia aseho amin'ny sary etsy ambany:
Kitiho azafady Add Account
mba hanomezana fidirana amin'ny fikambanana i18n-demo
.
Raha namatotra ny trano fanatobiana orinasa hafa ianao, dia mety mila manindry Add Account
indroa ianao mba hanome alalana indroa alohan'ny hisehoan'ny fikambanana vaovao.
Manaraka, safidio ny trano fanatobiana entana i18n-demo.github.io
, avy eo tsindrio Begin setup
, ary ampiasao ny sanda default ho an'ny dingana manaraka.
Aorian'ny famatorana voalohany dia mila miandry minitra vitsivitsy ianao vao afaka miditra azy.
Aorian'ny fametrahana dia azonao atao ny mamatotra anarana sehatra manokana.
Aorian'ny famatorana ny anaran-tsehatra manokana dia mandehana any amin'ny anaran-tsehatra mba hanitsiana ny lalana fanoratana indray ny fampiharana pejy tokana, araka ny aseho eto ambany:
Ny fitsipika eo amin'ny sary etsy ambony dia i18n.site
izao manaraka izao.
(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")
)
Fanampin'izany, amboary azafady ny fitsipiky ny cache, araka ny aseho etsy ambany, ary apetraho ho iray volana ny faharetan'ny cache.
Ovay azafady ny anaran-tsehatra mifanandrify amin'ny dingana faharoa amin'ny sary etsy ambony amin'ny anaran'ny sehatra nofatoranao.
Fanamafisana Ny Fametrahana Tranokala Any Amin'ny Tanibe Shina
Raha te-hahazo fampandehanana fidirana tsara kokoa amin'ny tontolon'ny tambajotran'ny tanibe Shina ianao dia misoratra anarana anarana sehatra aloha.
Avy eo, ampiasao ny fitahirizana zavatra an'ireo mpivarotra rahona any amin'ny tanibe Shina + Ampiharo ireto atiny manaraka out/main/htm
CDN
Azonao atao ny mampiasa informatika sisiny hanoratana ny lalana hifanaraka amin'ny fampiharana pejy tokana, ohatra, ny Baidu Smart Cloud CDN
dia azo amboarina toy izao:
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
// Ny lohatenin'ny valin-kafatra dia azo apetraka ho debug ny vokatra, toy ny out.XXX = 'MSG';
})
Satria ny firaketana MX
sy ny firaketana CNAME
dia tsy afaka miara-miaina, raha te-handray mailaka amin'ny anaran'ny sehatra ianao dia mila miara-miasa amin'ny sora- cname_flatten mankany amin'ny ambaratonga CNAME
ho firaketana A
.
Ho fanampin'izany, satria somary lafo ny saram-pitaterana any ivelany ataon'ireo mpivarotra rahona any amin'ny tanibe Shina, raha te hanatsara ny vidiny ianao dia azonao atao ny mampiasa ny vahaolana ara-jeografika maimaim-poana an'ny DNS Cloud sy ny anaran'ny sehatra mahazatra an'ny Cloudflare for SaaS (araka ny aseho eto ambany). fifindran'ny fifamoivoizana──Fifamoivoizan'ny fifamoivoizana ao amin'ny tanibe Shina Baidu Cloud CDN
, mandeha cloudflare .
Sarotra kokoa ireo vahaolana fanapariahana fanapariahana ireo ary hapetraka amin'ny toko samihafa amin'ny ho avy.
Famerenana Ny Anaran-Tsehatra Ankapobeny
Raha mampiasa i18n.site
ianao mba hamoronana tranokala ho tranokalanao lehibe, dia matetika ianao no mila manitsy ny famerenan'ny pan-domain, izany hoe ny fidirana amin'ny *.xxx.com
(anisan'izany ny www.xxx.com
) mankany amin'ny xxx.com
.
Ity fepetra ity dia azo tanterahina miaraka amin'ny fanampian'ny Alibaba Cloud CDN
EdgeScript
( antontan-taratasy anglisy / antontan-taratasy sinoa )
Ampio ny anaran-tsehatra ao amin'ny Alibaba CDN ary tondroy ny anaran-tsehatra *.xxx.com
hatramin'ny CNAME
ao amin'ny Alibaba Cloud CDN
.
Ohatra, toy izao manaraka izao ny fanamafisam-peon'ny anaran'ny domaine *.i18n.site
amin'ny sary etsy ambony:
rewrite(concat('https://i18n.site',$uri), 'redirect',301)
Ampidiro Amin'ny nginx
Azafady, ampio fika mitovy amin'ity manaraka out/main/htm
ao amin'ny /root/i18n/md/out/main/htm
server
amin'ny nginx
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;
}
}
Miorina Amin'ny Fampidirana Mitohy github action
Azonao atao ny manondro ireto manaraka ireto mba hanamboarana github action
anao:
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 }}
Araka ny hita ao amin'ny fanitsiana, ity workflow ity dia mipoitra rehefa manosika mankany amin'ny sampana main
sy sampana dist
.
Ny rindran-kira dia hampiasa ny fisie mifanandrify amin'ny anaran'ny sampana hamoahana ny antontan-taratasy eto, .i18n/htm/main.yml
sy ny .i18n/htm/dist.yml
dia hampiasaina ho tefin'ny famoahana.
Manoro ireto fomba fanao tsara indrindra manaraka ireto izahay amin'ny fizotran'ny famoahana antontan-taratasy:
Rehefa voatosika any amin'ny sampana main
ny fanovana, dia atsangana ny antontan-taratasy ary alefa any amin'ny tobim-pijery (misy ny tobim-pijery github page ).
Rehefa avy nanamarina fa marina ny antontan-taratasy ao amin'ny tranokala preview, ny kaody dia hatambatra ary atosiky ny sampana dist
, ary ny fananganana sy ny fametrahana ofisialy dia handeha amin'ny Internet.
Mazava ho azy fa ny fampiharana ny dingana etsy ambony dia mitaky fanoratana bebe kokoa.
Azonao atao ny manondro ny tena tetikasa github.com/fcdoc/doc
secrets.I18N_SITE_TOKEN
sy secrets.NPM_TOKEN
ao amin'ny fanamafisana dia mitaky anao hanitsy ny fari-piadidiana miafina ao amin'ny fototry ny code.
I18N_SITE_TOKEN
i18n.site/token
NPM_TOKEN
no famantarana famoahan'ny fonosana npm
ao amin'ny Tsidiho npmjs.com
Firafitry Ny Lahatahiry
public
Ny rakitra static amin'ny tranokala, toy ny favicon.ico
, robots.txt
, sns.
Ny rakitra icon eto dia azo amboarina amin'ny realfavicongenerator.net .
.i18n
Eo ambanin'ny lahatahiry .i18n
no misy ny rakitra fikirakirana, cache dikanteny, sns. amin'ny i18n.site
Jereo ny toko manaraka "Configuration" raha mila fanazavana fanampiny.
en
Lahatahiry fitenin'ny loharano, mifanandrify amin'ny fisie fanitsiana en
amin'ny fromTo
amin'ny .i18n/conf.yml
i18n:
fromTo:
en: zh
Azafady, jereo ny fanitsiana ny fandikan-teny i18