Skip to content

Latest commit

 

History

History
380 lines (276 loc) · 20.6 KB

README.md

File metadata and controls

380 lines (276 loc) · 20.6 KB

ሆኪላይዜሽን

ለምንድን ነው የእኔን ሙሉ መተግበሪያ ወይም ጣቢያ በ Google ትርጉም በኩል ማሄድ እና መሠረታዊ ትርጉም በሌላ ቋንቋ ማግኘት የማልችለው?

*** አሁን፣ ትችላለህ!

'ሆኪላይዜሽን' የሚለው ስም hokeylization ነው፣ ትርጉሙም 'ሆኪ ለትርጉም'

በጣም ቀላል ስለሆነ በመጠኑ ሆኪ ነው፡ ገመዶችን ወደ ጎግል ትርጉም ይልካል

እና ቀላል ነው, ግን በጣም ኃይለኛ ነው. ለኤችቲኤምኤል ሰነዶች ልዩ ድጋፍ አለው ፣ HandlebarsJS አብነቶች፣ እና Markdown ፋይሎች።

መተርጎም ትችላለህ፡-

  • መልዕክቶችን የያዘ የጃቫ ስክሪፕት ነገር
  • ማንኛውም የፋይሎች ወይም ማውጫዎች፣ ሁል ጊዜ ማውጫዎችን በተከታታይ የሚያልፍ

ይህንን በሌላ ቋንቋ ያንብቡ

ይህ README.md ሰነድ እራሱን የሆኪላይዜሽን መሳሪያ በመጠቀም ተተርጉሟል ሁሉም ቋንቋ በGoogle ትርጉም ይደገፋል!

ፍጹም እንዳልሆነ እርግጠኛ ነኝ፣ ግን ከምንም የተሻለ እንደሚሆን ተስፋ አደርጋለሁ!

🇸🇦 አረብኛ 🇧🇩 ቤንጋሊ 🇩🇪 ጀርመንኛ 🇺🇸 እንግሊዝኛ 🇪🇸 ስፓኒሽ 🇫🇷 ፈረንሳይኛ 🇹🇩 ሃውሳ 🇮🇳 ሂንዲ 🇮🇩 ኢንዶኔዥያ 🇮🇹 ጣልያንኛ 🇯🇵 ጃፓናዊ 🇰🇷 ኮሪያኛ 🇮🇳 ማራንቲ 🇵🇱 ፖላንድኛ 🇧🇷 ፖርቱጋልኛ 🇷🇺 ሩሲያኛ 🇰🇪 ስዋሂሊ 🇵🇭 ታጋሎግ 🇹🇷 ቱርክኛ 🇵🇰 ኡርዱ 🇻🇳 ቬትናምኛ 🇨🇳 ቻይንኛ

በዚህ የ README ትርጉም ላይ ችግር አለ?

ይህ ልዩ የዋናው README ትርጉም ጉድለት ያለበት ሊሆን ይችላል -- ማስተካከያዎች በጣም እንኳን ደህና መጡ! እባክዎን በGitHub ላይ የመጎተት ጥያቄ ይላኩ ወይም ያንን ማድረግ ካልተመቸዎ፣ ችግር ይክፈቱ

ስለ አንድ ትርጉም አዲስ የ GitHub ጉዳይ ሲፈጥሩ፣ እባክዎን ያድርጉ፡

  • የገጹን ዩአርኤል ያካትቱ (ከአሳሽ አድራሻ አሞሌ ቅዳ/ለጥፍ)
  • የተሳሳተ ትክክለኛውን ጽሑፍ ያካትቱ (ከአሳሹ ይቅዱ / ይለጥፉ)
  • እባክዎን ስህተት የሆነውን ይግለጹ -- ትርጉሙ ትክክል አይደለም? ቅርጸቱ እንደምንም ተሰብሯል?
  • የተሻለ ትርጉም ያለው ወይም ጽሑፉ እንዴት በትክክል መቀረጽ እንዳለበት በደግነት አስተያየት ይስጡ
  • አመሰግናለሁ!

ይዘቶች

ምንጭ

ድጋፍ እና የገንዘብ ድጋፍ

ፕሮፌሽናል ክፍት ምንጭ ሶፍትዌር ገንቢ ለመሆን እየሞከርኩ ነው። ውስጥ እየሠራሁ ነበር የሶፍትዌር ኢንዱስትሪው ለብዙ ዓመታት ስኬታማ ኩባንያዎችን ጀምሬ ለሕዝብ ኩባንያዎች ሸጫለሁ። በቅርቡ ሥራ አጣሁ፣ እና ሌላ የተሠለፍኩት ሥራ የለኝም

ስለዚህ ጠቃሚ ሶፍትዌር ለመጻፍ እሞክራለሁ እና ያ እንደሚሰራ ለማየት እሞክራለሁ።

ይህን ሶፍትዌር መጠቀም ከወደዳችሁ፣ ይህን በማግኘቴ በጣም ደስተኛ ነኝ ትንሹ በፓትሪዮን በኩል ወርሃዊ መዋጮ

አመሰግናለሁ!

መጫን

የትእዛዝ መስመር መሳሪያውን ለመጠቀም 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 › አካባቢን ተለዋዋጭ ያዘጋጁ

GOOGLE_APPLICATION_CREDENTIALS › አካባቢን ተለዋዋጭ ወደ ወረዷቸው የJSON ምስክርነቶች ያቀናብሩ በ Google ደመና ላይ ማረጋገጫ እንዴት እንደሚሰራ ካወቁ በኋላ (አስደሳች ሊሆን ይችላል)

ከምንጩ ኮድ እየሮጡ ከሆነ፣ እነዚህን በምንጩ ውስጥ .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 ቋንቋ ኮዶች ዝርዝር ነው። በGoogle ትርጉም የተደገፈ

የውጤት ፋይሉ ቀድሞውኑ ካለ, የትኞቹ ቁልፎች እንዳሉ ለማወቅ ይመረመራል. ነባር ቁልፎች አይተረጎሙም። የጎደሉ ቁልፎች ትርጉሞች ይፈጠራሉ እና ይታከላሉ። እስከ JS ነገር መጨረሻ ድረስ. ጠቅላላው ፋይል ሁል ጊዜ እንደገና ይፃፋል።

ሁሉንም ቁልፎች -f / --force አማራጭን ይጠቀሙ

የጽሑፍ ፋይሎችን ማውጫ መተርጎም

የፋይሎችን ማውጫ መተርጎምም ትችላለህ። ሆኪላይዜሽን እያንዳንዱን በተደጋጋሚ ይጎበኛል። በማውጫው ውስጥ ፋይል ያድርጉ እና ይዘቱን በ Google ትርጉም በኩል ያሂዱ እና ውጤቱን ያስቀምጡ በተለየ የማውጫ ዛፍ ውስጥ በተመሳሳይ መልኩ ወደተሰየመ ፋይል

የትርጉምዎ ዒላማ ማውጫ ሲሆን ይህ ሁነታ ነቅቷል።

-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 ካልተጠቀምክ በቀር ነባር የውጤት ፋይሎች እንደገና አይፈጠሩም።
  • አንድ አይነት የማውጫ መዋቅር እና ፋይሎች በ es እና de ውስጥ በ'en' ስር en

#ሌሎች አማራጮች

ደረቅ አሂድ

ምን እንደሚደረግ ለማሳየት -n / --dry-run ን ይለፉ፣ ነገር ግን ምንም አይነት የኤፒአይ ጥሪ አያድርጉ ወይም ምንም አይነት ፋይል አይጻፉ

አስገድዱ

ትርጉሞችን ሁልጊዜ ለማደስ -f / --force ን ይለፉ፣ ምንም እንኳን ቀደም ብለው ቢኖሩም

ግጥሚያ

በማውጫ-ሞድ ውስጥ ሲሄዱ የሚከናወኑትን ፋይሎች ለመገደብ -m / --match ን ይለፉ

ሁልጊዜ እያንዳንዱን ፋይል በምንጭ ማውጫዎ ውስጥ ወደ ዒላማ ማውጫዎ መተርጎም ላይፈልጉ ይችላሉ።

-m / --match አማራጭ ዋጋ regex ነው (የሼል ጥቅስ ደንቦችን ተጠንቀቁ!) የሚገልጽ የትኞቹ ፋይሎች መተርጎም አለባቸው

በሚጠራጠሩበት ጊዜ፣ የትኛዎቹ ፋይሎች እንደሚተረጎሙ ለማየት ይህን አማራጭ -n / --dry-run ጋር ማጣመር ይችላሉ።

አያካትትም።

አንዳንድ ጊዜ የእርስዎ -m ከብዙ ፋይሎች ጋር ይዛመዳል። በግልፅ ለማግለል -e / --excludes አማራጭ ይጠቀሙ አለበለዚያ ሊዛመዱ የሚችሉ ፋይሎች

በቦታ ተለያይተው በርካታ regexes መዘርዘር ይችላሉ።

የተለመደው አጠቃቀም --excludes node_modules dist \.git build tmp

የእጅ መያዣዎች

የሚተረጎሙት ሕብረቁምፊዎች {{ handlebars }} አብነቶችን ሊይዙ ይችላሉ፣ ወይ ሁለት ወይም ሶስት ጥምዝ ቅንፍ ያላቸው።

በእነዚያ አብነቶች ውስጥ ያሉት ነገሮች እንዲተረጎሙ አትፈልጉም

-H / --handlebars ባንዲራ እለፍ እና በ {{ ... }}` ውስጥ ያለ ማንኛውም ነገር አይተረጎምም

ምልክት ማድረጊያ

Markdown ጽሑፍም ሆነ ኤችቲኤምኤል አይደለም፣ ስለዚህ ጎግል ተርጓሚ አንዳንድ ችግሮች አሉት

-M / --markdown ባንዲራ ለማርክ ፋይሎች ልዩ አያያዝን ያስችላል

በማርክ ማድረጊያ ፋይሎች፣ -M ባንዲራ ካልተጠቀሙ፣ ምናልባት እነዚህን ችግሮች ሊያገኙ ይችላሉ፡-

  • የተበላሹ አገናኞች። በትርጉሙ ውስጥ፣ የማርክ ማድረጊያ አገናኝ መግለጫ ካለቀ በኋላ ( ] ጋር) ግን የሕዋ ቁምፊ ይታያል የዒላማው ማገናኛ ከመጀመሩ በፊት ( ( ጋር)። ይህ ምልክት ማድረጊያው በስህተት እንዲሰራ ያደርገዋል፣ እና አገናኙ ሰነዱን ሲመለከቱ ተሰብሯል.
  • ኮድ ብሎኮች ተተርጉመዋል። ጎግል ተርጓሚ ማርክ ዳውን ምን ኮድ እንደሚያስብ እና ምን እንደማያውቅ አያውቅም
  • ለተጠለፉ የኮድ ብሎኮች ትክክለኛ ያልሆነ ክፍተት። ክፍተት በትርጉም ውስጥ ለማቆየት አስቸጋሪ ነው
  • ሁልጊዜ ማለት ይቻላል እውነተኛ እሴቶች እንዲሆኑ በሚፈልጉበት ጊዜ በ backticks › ውስጥ ያሉ ነገሮች ይተረጎማሉ

-M / --markdown ባንዲራ ሲነቃ፡-

  • ሥርዓተ ጥለት ]( ወደ ]( ) ይሰበሰባል ስለዚህ የተሰበረ ምልክት ማድረጊያ አገናኞችን ያስተካክላል
  • "ትርጉም የለም" መጠቅለያ በተጠለፉ የኮድ ብሎኮች ዙሪያ ይደረጋል፣ ተገቢውን ውስጠ-ግንዛቤ በመጠበቅ እና አለመተረጎማቸውን ያረጋግጣል።
  • backticks ለማረጋገጥ "የማይተረጎም" መጠቅለያ በፅሁፍ ዙሪያ በ‹backticks› ውስጥ ይቀመጣል

ሂደት-እንደ

በተለምዶ ሁሉም ነገር እንደ ግልጽ ጽሑፍ ነው የሚሰራው።

ይዘትህ HTML ከሆነ -p html / --process-as html አማራጭን ካላለፍክ በስተቀር ይበላሻል።

አጣራ

ለጀብደኛዎቹ፡ ፋይሎችን በማውጫ ውስጥ -F / --filter አማራጭ ማለፍ ይችላሉ። በፋይል ስርዓቱ ላይ ከመጻፉ በፊት ውጤቱን ለማጣራት

የዚህ አማራጭ ዋጋ filter የሚባል ተግባር ወደ ውጭ ወደ ውጭ ወደ ውጪ ወደ ውጭ የሚላክ የጄኤስ ፋይል ዱካ መሆን አለበት።

filter ተግባር ' async መሆን አለበት ምክንያቱም await በእሱ ላይ ይጠራል

ፋይሎች ወደ ዲስክ filter በፊት፣ የፋይሉ ይዘቶች በሙሉ ወደ ‹ማጣሪያ› ተግባር እንደ ሕብረቁምፊ ይተላለፋሉ

filter ተግባር የሚገኘው የመመለሻ እሴት ወደ ማከማቻ የሚጻፈው ነው።

ስለዚህ፣ በመጨረሻ በሚፃፈው ላይ ሙሉ ቁጥጥር አለህ

filter ስክሪፕቱ በሚከተሉት ቦታዎች ይታያል ( .js ጋር በማጣሪያው ላይ ይታከላል) ስም፣ በ.js ላይ .js በስተቀር

  • የአሁኑ ማውጫ
  • አሁን ባለው ማውጫ ውስጥ .hokey-filters የሚል ማውጫ
  • ${HOME}/.hokey-filters${HOME} የአሁኑ የተጠቃሚ ቤት ማውጫ የሆነበት
  • አብሮ የተሰራው የማጣሪያ ማውጫ

የማጣሪያ መለኪያዎች

filter ሕብረቁምፊ ብዙ ቃላት ሊሆን ይችላል። በዚህ አጋጣሚ, የመጀመሪያው ቃል የማጣሪያ ስም ነው, እና የተቀሩት ቃላቶች ወደ “ማጣሪያ” ተግባር እንደ ነጋሪ እሴት filter

እገዛ

እገዛን ለማሳየት -h / --help ን ይጠቀሙ

JSON ባች ያዛል

-j / --json አማራጭ፣ በርካታ የተቀናጁ hokey ትዕዛዞችን ማሄድ ትችላለህ

በስምምነት ይህ ፋይል hokey.json ፣ ነገር ግን የፈለከውን ስም ልትሰይመው ትችላለህ

ማውጫ እንደ -j አማራጭ hokey hokey.json ን ይፈልጋል።

የJSON ፋይል አንድ ነገር መያዝ አለበት። በዚያ ነገር ውስጥ፣ የንብረቱ ስሞች ከ ጋር ተመሳሳይ ናቸው። የትእዛዝ መስመር አማራጮች እና አንድ ተጨማሪ ንብረት hokey

hokey ንብረት ለማሄድ ብዙ ትዕዛዞች ነው። በእነዚህ ትዕዛዞች ውስጥ የተገለጹት ንብረቶቹ ይኖራሉ በውጫዊው ነገር ውስጥ ያሉ ማናቸውንም የተባዙ መግለጫዎችን መሻር።

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 ን ይጠቀሙ። ኤችቲኤምኤልን መግለጽ ይችላሉ ፣ 'markdown'፣ 'text'፣ ወይም የፋይል ዱካ ወደራስዎ HandlebarsJS አብነት

የራስዎን አብነት ከገለጹ፣ -I / --index ፋይል (ማህደር ሳይሆን) መግለጽ አለቦት። አማራጭ

ቋንቋዎችን በመተርጎም መልካም ጊዜ ይሁንላችሁ!