ለምንድን ነው የእኔን ሙሉ መተግበሪያ ወይም ጣቢያ በ Google ትርጉም በኩል ማሄድ እና መሠረታዊ ትርጉም በሌላ ቋንቋ ማግኘት የማልችለው?
*** አሁን፣ ትችላለህ!
'ሆኪላይዜሽን' የሚለው ስም hokeylization
ነው፣ ትርጉሙም 'ሆኪ ለትርጉም'
በጣም ቀላል ስለሆነ በመጠኑ ሆኪ ነው፡ ገመዶችን ወደ ጎግል ትርጉም ይልካል
እና ቀላል ነው, ግን በጣም ኃይለኛ ነው. ለኤችቲኤምኤል ሰነዶች ልዩ ድጋፍ አለው ፣ HandlebarsJS አብነቶች፣ እና Markdown ፋይሎች።
መተርጎም ትችላለህ፡-
- መልዕክቶችን የያዘ የጃቫ ስክሪፕት ነገር
- ማንኛውም የፋይሎች ወይም ማውጫዎች፣ ሁል ጊዜ ማውጫዎችን በተከታታይ የሚያልፍ
ይህ README.md ሰነድ እራሱን የሆኪላይዜሽን መሳሪያ በመጠቀም ተተርጉሟል ሁሉም ቋንቋ በGoogle ትርጉም ይደገፋል!
ፍጹም እንዳልሆነ እርግጠኛ ነኝ፣ ግን ከምንም የተሻለ እንደሚሆን ተስፋ አደርጋለሁ!
🇸🇦 አረብኛ 🇧🇩 ቤንጋሊ 🇩🇪 ጀርመንኛ 🇺🇸 እንግሊዝኛ 🇪🇸 ስፓኒሽ 🇫🇷 ፈረንሳይኛ 🇹🇩 ሃውሳ 🇮🇳 ሂንዲ 🇮🇩 ኢንዶኔዥያ 🇮🇹 ጣልያንኛ 🇯🇵 ጃፓናዊ 🇰🇷 ኮሪያኛ 🇮🇳 ማራንቲ 🇵🇱 ፖላንድኛ 🇧🇷 ፖርቱጋልኛ 🇷🇺 ሩሲያኛ 🇰🇪 ስዋሂሊ 🇵🇭 ታጋሎግ 🇹🇷 ቱርክኛ 🇵🇰 ኡርዱ 🇻🇳 ቬትናምኛ 🇨🇳 ቻይንኛ
ይህ ልዩ የዋናው README ትርጉም ጉድለት ያለበት ሊሆን ይችላል -- ማስተካከያዎች በጣም እንኳን ደህና መጡ! እባክዎን በGitHub ላይ የመጎተት ጥያቄ ይላኩ ወይም ያንን ማድረግ ካልተመቸዎ፣ ችግር ይክፈቱ
ስለ አንድ ትርጉም አዲስ የ GitHub ጉዳይ ሲፈጥሩ፣ እባክዎን ያድርጉ፡
- የገጹን ዩአርኤል ያካትቱ (ከአሳሽ አድራሻ አሞሌ ቅዳ/ለጥፍ)
- የተሳሳተ ትክክለኛውን ጽሑፍ ያካትቱ (ከአሳሹ ይቅዱ / ይለጥፉ)
- እባክዎን ስህተት የሆነውን ይግለጹ -- ትርጉሙ ትክክል አይደለም? ቅርጸቱ እንደምንም ተሰብሯል?
- የተሻለ ትርጉም ያለው ወይም ጽሑፉ እንዴት በትክክል መቀረጽ እንዳለበት በደግነት አስተያየት ይስጡ
- አመሰግናለሁ!
- ምንጭ
- ድጋፍ እና የገንዘብ ድጋፍ
- መጫኛ
- ማዋቀር
- የጃቫስክሪፕት ሕብረቁምፊ ምንጭ ፋይልን መተርጎም
- የጽሑፍ ፋይሎችን ማውጫ መተርጎም
- ሌሎች አማራጮች
- JSON ባች ትዕዛዞች
ፕሮፌሽናል ክፍት ምንጭ ሶፍትዌር ገንቢ ለመሆን እየሞከርኩ ነው። ውስጥ እየሠራሁ ነበር የሶፍትዌር ኢንዱስትሪው ለብዙ ዓመታት ስኬታማ ኩባንያዎችን ጀምሬ ለሕዝብ ኩባንያዎች ሸጫለሁ። በቅርቡ ሥራ አጣሁ፣ እና ሌላ የተሠለፍኩት ሥራ የለኝም
ስለዚህ ጠቃሚ ሶፍትዌር ለመጻፍ እሞክራለሁ እና ያ እንደሚሰራ ለማየት እሞክራለሁ።
ይህን ሶፍትዌር መጠቀም ከወደዳችሁ፣ ይህን በማግኘቴ በጣም ደስተኛ ነኝ ትንሹ በፓትሪዮን በኩል ወርሃዊ መዋጮ
አመሰግናለሁ!
የትእዛዝ መስመር መሳሪያውን ለመጠቀም 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
ን ይጠቀሙ
-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
ፋይል (ማህደር ሳይሆን) መግለጽ አለቦት።
አማራጭ