Skip to content

Latest commit

 

History

History
380 lines (276 loc) · 15.8 KB

README.md

File metadata and controls

380 lines (276 loc) · 15.8 KB

Hokeyylization

Kini idi ti MO ko le ṣiṣẹ gbogbo app tabi aaye mi nipasẹ Google Tumọ ati gba itumọ ipilẹ ni ede miiran?

*** Bayi, o le! ***

Orukọ hokeylization jẹ portmanteau, itumo 'isọdibilẹ hokey'

O jẹ hokey diẹ nitori pe o rọrun pupọ: o fi awọn okun ranṣẹ si Google Translate

Ati pe o rọrun, sibẹsibẹ tun lagbara pupọ. O ni atilẹyin pataki fun awọn iwe HTML, HandlebarsJS awọn awoṣe, ati Markdown awọn faili.

O le tumọ:

  • ohun JavaScript ti o ni awọn ifiranṣẹ ninu
  • nọmba eyikeyi ti awọn faili tabi awọn ilana, nigbagbogbo lilọ kiri awọn ilana loorekoore

Ka eyi ni ede miiran

Iwe README.md yii ti ni itumọ, ni lilo ohun elo hokeylization funrararẹ, sinu gbogbo ede ni atilẹyin nipasẹ Google Tumọ!

Mo ni idaniloju pe ko pe, ṣugbọn Mo nireti pe o dara ju ohunkohun lọ!

🇸🇦 Larubawa 🇧🇩 Ede Bengali 🇩🇪 Jẹmánì 🇺🇸 English 🇪🇸 Spani 🇫🇷 Faranse 🇹🇩 Hausa 🇮🇳 Hindi 🇮🇩 Indonesian 🇮🇹 Itali 🇯🇵 Japanese 🇰🇷 Korean 🇮🇳 Marathi 🇵🇱 Polish 🇧🇷 Portuguese 🇷🇺 Russian 🇰🇪 Swahili 🇵🇭 Tagalog 🇹🇷 Tọki 🇵🇰 Urdu 🇻🇳 Vietnamese 🇨🇳 Kannada

Njẹ iṣoro kan wa pẹlu itumọ README yii?

Itumọ ni pato ti atilẹba README le jẹ abawọn - * awọn atunṣe ṣe itẹwọgba pupọ!* Jọwọ fi ibeere kan ranṣẹ si GitHub (https://github.com/cobbzilla/hokeylization/pulls), tabi ti o ko ba ni itunu lati ṣe iyẹn, ṣii ọrọ kan

Nigbati o ba ṣẹda ọrọ GitHub tuntun nipa itumọ kan, jọwọ ṣe:

  • pẹlu URL oju-iwe naa (daakọ/lẹẹmọ lati ọpa adirẹsi aṣawakiri)
  • pẹlu ọrọ gangan ti o jẹ aṣiṣe (daakọ/lẹẹmọ lati ẹrọ aṣawakiri)
  • Jọwọ ṣapejuwe ohun ti ko tọ -- ṣe itumọ naa ko tọ? ti wa ni awọn kika baje bakan?
  • Fi inurere funni ni imọran itumọ ti o dara julọ, tabi bi o ṣe yẹ ki ọrọ naa ṣe tito daradara
  • E dupe!

Awọn akoonu

Orisun

Atilẹyin ati igbeowosile

Mo ngbiyanju lati jẹ oludasilẹ sọfitiwia orisun ṣiṣi ọjọgbọn. Mo ti ṣiṣẹ ninu ile-iṣẹ sọfitiwia fun ọpọlọpọ ọdun, Mo ti bẹrẹ awọn ile-iṣẹ aṣeyọri ati ta wọn si awọn ile-iṣẹ gbangba. Laipẹ Mo padanu iṣẹ mi, ati pe Emi ko ni iṣẹ miiran ti o laini gaan

Nitorinaa Emi yoo gbiyanju kikọ sọfitiwia iranlọwọ ati rii boya iyẹn ṣiṣẹ

Ti o ba gbadun lilo sọfitiwia yii, inu mi yoo dun pupọ lati gba paapaa awọn ti o kere julọ ilowosi oṣooṣu nipasẹ Patreon

E dupe!

Fifi sori ẹrọ

Lati lo irinṣẹ laini aṣẹ, fi sori ẹrọ ni lilo npm tabi yarn :

npm install -g hokeylization
yarn global add hokeylization

Lati lo bi ile-ikawe, fi ẹya lite ẹrọ, eyiti o kere pupọ:

npm install -g hokeylization-lite
yarn global add hokeylization-lite

Lẹhinna wo iranlọwọ fun aṣẹ hokey :

hokey --help
hokey -h

Ṣe o fẹ lati wo iṣẹjade ni ede rẹ tabi ede miiran?

hokey gbidanwo lati wa ede naa ni adaṣe lati awọn oniyipada agbegbe ikarahun rẹ

O le fi ipa mu ede kan nipa tito iyipada ayika LC_ALL :

LC_ALL=it hokey --help

Ṣe akiyesi pe ti o ba ti fi hokeylization-lite sori ẹrọ, iranlọwọ aṣẹ wa ni Gẹẹsi nikan

Ṣeto

Ṣeto oniyipada ayika GOOGLE_TRANSLATE_PROJECT_ID lati ṣe idanimọ iṣẹ akanṣe Google Translate rẹ

Ṣeto iyipada ayika GOOGLE_APPLICATION_CREDENTIALS si awọn iwe-ẹri JSON ti o ṣe igbasilẹ lẹhin ti o rii bi ijẹrisi ṣe n ṣiṣẹ lori awọsanma Google (o le jẹ igbadun)

Ti o ba nṣiṣẹ lati koodu orisun, o tun le fi awọn wọnyi sinu faili .env ni orisun Ilana ti wọn yoo kojọpọ ni akoko ṣiṣe nipasẹ dotenv

Titumọ faili orisun okun JavaScript kan

Tabili okun rẹ ** gbọdọ *** wa ninu faili JavaScript ni ọkan ninu awọn fọọmu meji wọnyi:

ES6 okeere:

export default {
  string_key: "some value",
  another_key: "another value",
  ... more keys ...
}

CommonJS okeere

module.exports = {
  string_key: "some value",
  another_key: "another value",
  ... more keys ...
}

Ti faili yii ba jẹ orukọ myfile.en.js , o le tumọ rẹ si Spani ati Jẹmánì pẹlu:

hokey -l es,de -o myfile.LANG.js myfile.en.js

LANG ti o wa loke jẹ pataki - o jẹ ọrọ ti o wa ni ipamọ ninu ohun elo yii!

LANG ni a rọpo pẹlu koodu ede fun awọn faili iṣelọpọ

Nitorinaa aṣẹ ti o wa loke ṣẹda awọn faili:

myfile.es.js
myfile.de.js

Aṣayan -l / --languages jẹ atokọ ti o ya sọtọ komama ti awọn koodu ede ISO ti Google Tumọ ṣe atilẹyin

Ti faili iṣẹjade ba wa tẹlẹ, yoo ṣe ayẹwo lati pinnu iru awọn bọtini ti wa tẹlẹ. Awọn bọtini to wa ko ni tumọ. Awọn itumọ fun awọn bọtini ti o padanu yoo jẹ ipilẹṣẹ ati fikun si opin ohun JS. Gbogbo faili ti wa ni nigbagbogbo tunkọ.

Lati fi ipa titumọ gbogbo awọn bọtini, lo -f / --force

Titumọ iwe ilana ti awọn faili ọrọ

O tun le tumọ iwe ilana ti awọn faili. hokeylization yoo recursively be gbogbo faili ninu awọn liana ati ṣiṣe awọn awọn akoonu ti nipasẹ Google Translate, ki o si fi awọn ti o wu jade si faili ti a npè ni aami kan ninu igi itọnisọna lọtọ

Nigbati ibi-afẹde ti itumọ rẹ jẹ itọsọna kan, ipo yii ti ṣiṣẹ

Aṣayan -o / --outfile ni pato ilana ti o wu jade

** IKILỌ NLA *: Nigbati o ba n tumọ awọn ilana, ** MAA ṢE pato ilana iṣelọpọ kan ti o wa laarin rẹ input liana! Ti o ba ṣe eyi, iwọ yoo:

  • jeki ailopin recursion
  • Ṣiṣe owo Google rẹ soke
  • fọwọsi disk rẹ
  • ni kere fun igbadun

Eyi ni apẹẹrẹ ohun ti * ko ṣe *:

hokey -l es -o templates/es templates # <--- DON'T DO THIS!

Nigbati eyi ba ṣiṣẹ, awọn faili ti a tumọ ni a kọ si templates/es , ati nitorinaa di tuntun awọn faili orisun lati tumọ, niwon wọn wa labẹ templates/ - ilana yii tẹsiwaju lailai, ma ṣe o!

Lilo to tọ

O dara, jẹ ki a sọ pe o ni diẹ ninu awọn awoṣe imeeli ninu itọsọna kan:

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

Lati tumọ gbogbo awọn wọnyi si Spani ati Jẹmánì, ṣiṣe:

hokey -l es,de -o templates/email/LANG templates/email/en

Ninu eyi ti o wa loke, LANG jẹ ọrọ ipamọ ati pe yoo rọpo pẹlu koodu ede ISO

Kini yoo ṣẹlẹ nigbati eyi ba ṣiṣẹ:

  • Awọn templates/email/es ' ati templates/email/de ilana yoo ṣẹda (ti wọn ko ba si)
  • Gbogbo faili ti o wa ninu templates/email/en ni yoo tumọ si Spani ati Jẹmánì
  • Awọn faili iṣẹjade ti o wa tẹlẹ kii yoo ṣe atunbi ayafi ti o ba lo -f / --force
  • Iwọ yoo pari pẹlu ilana ilana kanna ati awọn faili laarin es ati de bii o ni labẹ en

Awọn aṣayan miiran

Igbẹ gbẹ

-n / --dry-run lati ṣe afihan ohun ti yoo ṣee ṣe, ṣugbọn maṣe ṣe awọn ipe API eyikeyi tabi kọ eyikeyi awọn faili

Agbara

-f / --force lati tuntumọ awọn itumọ nigbagbogbo, paapaa ti wọn ba wa tẹlẹ

Baramu

-m / --match lati se idinwo awọn faili ti a ṣe ilana nigba ti nṣiṣẹ ni ipo liana

O le ma fẹ nigbagbogbo tumọ * gbogbo * faili ninu itọsọna orisun rẹ si itọsọna ibi-afẹde rẹ

Iye -m / --match jẹ regex (ṣọra awọn ofin itọka ikarahun!) awọn faili wo ni o yẹ ki o tumọ

Nigbati o ba wa ni iyemeji, o le darapọ aṣayan yii pẹlu -n / --dry-run lati wo iru awọn faili ti yoo tumọ

Iyasoto

Nigba miiran -m rẹ baramu ọpọlọpọ awọn faili. Lo -e / --excludes lati yọkuro ni gbangba awọn faili ti bibẹẹkọ yoo ti baamu

O le ṣe atokọ ọpọlọpọ awọn regexes, ti o yapa nipasẹ awọn alafo

Lilo ti o wọpọ yoo jẹ: --excludes node_modules dist \.git build tmp

Handlebars

Awọn gbolohun ọrọ lati tumọ le ni awọn awoṣe {{ handlebars }} ninu, boya pẹlu meji tabi mẹta àmúró

O ṣee ṣe * KO * fẹ nkan ti o wa ninu awọn awoṣe wọnyẹn lati tumọ

-H / --handlebars , ati pe ohunkohun ninu {{ ... }} ko ni tumọ

Isalẹ

Markdown kii ṣe ọrọ tabi html, nitorinaa Google Translate ni awọn iṣoro diẹ pẹlu rẹ

-M / --markdown jẹ́ kí ìṣàmúlò àkànṣe fún àwọn fáìlì isàpamọ́

Pẹlu awọn faili isamisi, ti o ko ba lo asia -M , o ṣee ṣe ki o rii awọn iṣoro wọnyi:

  • Awọn ọna asopọ ti o bajẹ. Ninu itumọ, kikọ aaye kan han lẹhin apejuwe ọna asopọ isamisi ti pari (pẹlu ] ) ṣugbọn ṣaaju ki ọna asopọ ibi-afẹde rẹ to bẹrẹ (pẹlu ( ) Eyi fa isamisi lati ṣe ti ko tọ, ati ọna asopọ naa ti bajẹ nigba wiwo iwe-ipamọ naa.
  • Awọn bulọọki koodu ni itumọ. Google tumọ ko mọ kini isamisi ka koodu ati ohun ti kii ṣe
  • Aye ti ko tọ fun awọn bulọọki koodu indented. Aaye jẹ soro lati tọju ni itumọ
  • Awọn nkan inu backticks yoo ni itumọ, nigbati o fẹrẹ fẹ nigbagbogbo lati jẹ awọn iye gidi

Nigbati -M / --markdown wa ni sise:

  • Apẹrẹ ]( yoo jẹ dipọ si ]( nitorinaa atunṣe awọn ọna asopọ isamisi ti o bajẹ
  • Ohun ipari “ko si itumọ” ni yoo gbe ni ayika awọn bulọọki koodu indented, titọju ifisilẹ to dara ati rii daju pe wọn ko tumọ
  • A yoo gbe iwe-itumọ “ko si itumọ” ni ayika ọrọ laarin backticks lati rii daju pe wọn ko tumọ wọn

Ilana-bi

Ni deede ohun gbogbo ti ni ilọsiwaju bi ọrọ itele

Ti àkóónú rẹ ba jẹ HTML, yoo jẹ titọ ayafi ti o ba kọja -p html / --process-as html

Ajọ

Fun adventurous: nigba ṣiṣe awọn faili ni ilana, o le kọja -F / --filter lati ṣe àlẹmọ iṣelọpọ ṣaaju ki o to kọ ọ si eto faili

Iye aṣayan yii gbọdọ jẹ ọna si faili JS kan ti o ṣe okeere iṣẹ kan ti a npè ni filter

Iṣẹ filter gbọdọ jẹ async ' nitori a yoo pe await sori rẹ

Ṣaaju ki o to kọ awọn faili si disk, gbogbo akoonu faili yoo kọja si iṣẹ filter gẹgẹbi okun

Iye ipadabọ lati iṣẹ filter jẹ ohun ti yoo kọ gangan si ibi ipamọ

Nitorinaa, o ni iṣakoso lapapọ lori ohun ti yoo kọ nikẹhin

Iwe afọwọkọ filter ni ao wa fun ni awọn ipo wọnyi (pẹlu .js yoo wa ni fikun si àlẹmọ orukọ, ayafi ti o ba ti pari tẹlẹ ni .js )

  • Awọn ti isiyi liana
  • Ilana ti a npè ni .hokey-filters laarin ilana lọwọlọwọ
  • Ilana kan ti a npè ni ${HOME}/.hokey-filters , nibiti ${HOME} ti jẹ ilana ile olumulo lọwọlọwọ
  • Ti a ṣe sinu itọsọna awọn asẹ

Awọn paramita Ajọ

Okun filter le jẹ awọn ọrọ lọpọlọpọ. Ni idi eyi, ọrọ akọkọ jẹ orukọ àlẹmọ, ati awọn ọrọ ti o ku yoo kọja bi awọn ariyanjiyan si iṣẹ filter

Egba Mi O

Lo -h / --help lati ṣe afihan iranlọwọ

JSON ipele pipaṣẹ

Pẹlu -j / --json , o le ṣiṣẹ ọpọlọpọ awọn pipaṣẹ hokey a ti ṣeto pọ si

Nipa apejọpọ faili yii ni a pe ni hokey.json , ṣugbọn o le lorukọ rẹ ohunkohun ti o fẹ

Ti o ba kọja itọsọna kan bi aṣayan -j,hokeyyoo wahokey.json` ninu iwe ilana yẹn

Faili JSON yẹ ki o ni nkan kan ninu. Laarin nkan yẹn, awọn orukọ ohun-ini rẹ jẹ kanna bii awọn aṣayan ila-aṣẹ, pẹlu ohun-ini afikun kan ti a npè ni hokey

Ohun-ini hokey jẹ ọpọlọpọ awọn aṣẹ lati ṣiṣẹ. Awọn ohun-ini ti a sọ laarin awọn aṣẹ wọnyi yoo fagilee eyikeyi awọn ikede ẹda-ẹda ninu ohun ita.

Ninu ohun kọọkan ninu hokey , o yẹ ki o pato name , ati titẹ sii ati awọn faili iṣelọpọ

Eyi jẹ apẹẹrẹ ti 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"
      }
    ]
}

Awọn faili titẹ sii lọpọlọpọ

Kọja ọpọlọpọ awọn ọna faili bi infiles dipo ọna infile , bi ninu apẹẹrẹ yii:

{
  ... [
    {
      "name": "my docs",
      "infiles": ["README.md", "INSTALL.md", "TUTORIAL.md"],
      "outfile": "docs/LANG/",
      "markdown": true
  ]
}

Awọn atọka

Nigbati o ba tumọ si ọpọlọpọ awọn ede, hokey le ṣẹda faili atọka ti o ṣe atokọ gbogbo awọn itumọ ti a ṣe ati pese awọn ọna asopọ si wọn

  • Nigbati o ba n ṣẹda awọn atọka, o le ni orisun titẹ sii kan ṣoṣo*

Kọja aṣayan -I / --index , iye naa wa nibiti faili atọka yoo ti ṣe ipilẹṣẹ, eyiti o le jẹ faili tabi a liana. Ti o ba jẹ itọsọna kan, orukọ faili aiyipada yoo ṣee lo, da lori awoṣe (wo isalẹ)

Lo -A / --index-template lati pinnu bi a ṣe ṣe ọna kika atọka. O le pato 'html', 'markdown', 'ọrọ', tabi ọna faili si tirẹ HandlebarsJS awoṣe

Ti o ba pato awoṣe tirẹ, o tun gbọdọ pato faili kan (kii ṣe ilana) fun -I / --index aṣayan

Ni akoko igbadun titumọ awọn ede!