#compdef trans

# AUTOMATICALLY GENERATED by `shtab`


_shtab_trans_commands() {
  local _commands=(
    
  )
  _describe 'trans commands' _commands
}

_shtab_trans_options=(
  "(- : *)"{-h,--help}"[show this help message and exit]"
  "(- : *)"{-V,--version}"[show program\'s version number and exit]"
  "(- : *)--print-completion[print shell completion script]:print_completion:(bash zsh tcsh)"
  "--print-setting[print some setting]:print_setting:(config_file history_file dictionary_dirs translators languages formats clipper speaker dictionary_priorities)"
  "*"{-v,--verbose}"[increase logger level]"
  "*"{-q,--quiet}"[reduce logger level]"
  "--lsp[start language server]"
  "--no-clipboard[disable clipboard]"
  "--clipboard[enable clipboard (default)]"
  "--no-notification[disable notification]"
  "--notification[enable notification (default)]"
  "--sleep-seconds[avoid checkout clipboard too frequently. default\: 0.1]:sleep_seconds:"
  "--config[use a python file as config]:config:_files -g '(*.py|*.PY)'"
  "--format[output format for jq(1), yq(1). default\: text]:format:(json yaml text)"
  "--translators[translate engines joined with \',\'. default\: google]:translators:(stardict google speaker yandex youdao youdaozhiyun bing haici openai llama)"
  "--target-lang[target languages. default\: auto]:target_lang:((auto\:Autodetect\ language ab\:Abkhazian aa\:Afar af\:Afrikaans ak\:Akan sq\:Albanian am\:Amharic ar\:Arabic an\:Aragonese hy\:Armenian as\:Assamese av\:Avaric ae\:Avestan ay\:Aymara az\:Azerbaijani bm\:Bambara ba\:Bashkir eu\:Basque be\:Belarusian bn\:Bengali bi\:Bislama bs\:Bosnian br\:Breton bg\:Bulgarian my\:Burmese ca\:Catalan,\ Valencian ch\:Chamorro ce\:Chechen ny\:Chichewa,\ Chewa,\ Nyanja zh_CN\:Chinese zh_TW\:Chinese cu\:Church\ Slavonic,\ Old\ Slavonic,\ Old\ Church\ Slavonic cv\:Chuvash kw\:Cornish co\:Corsican cr\:Cree hr\:Croatian cs\:Czech da\:Danish dv\:Divehi,\ Dhivehi,\ Maldivian nl\:Dutch,\ Flemish dz\:Dzongkha en\:English eo\:Esperanto et\:Estonian ee\:Ewe fo\:Faroese fj\:Fijian fi\:Finnish fr\:French fy\:Western\ Frisian ff\:Fulah gd\:Gaelic,\ Scottish\ Gaelic gl\:Galician lg\:Ganda ka\:Georgian de\:German el\:Greek,\ Modern\ \(1453-\) kl\:Kalaallisut,\ Greenlandic gn\:Guarani gu\:Gujarati ht\:Haitian,\ Haitian\ Creole ha\:Hausa he\:Hebrew hz\:Herero hi\:Hindi ho\:Hiri\ Motu hu\:Hungarian is\:Icelandic io\:Ido ig\:Igbo id\:Indonesian ia\:Interlingua\ \(International\ Auxiliary\ Language\ Association\) ie\:Interlingue,\ Occidental iu\:Inuktitut ik\:Inupiaq ga\:Irish it\:Italian ja\:Japanese jv\:Javanese kn\:Kannada kr\:Kanuri ks\:Kashmiri kk\:Kazakh km\:Central\ Khmer ki\:Kikuyu,\ Gikuyu rw\:Kinyarwanda ky\:Kirghiz,\ Kyrgyz kv\:Komi kg\:Kongo ko\:Korean kj\:Kuanyama,\ Kwanyama ku\:Kurdish lo\:Lao la\:Latin lv\:Latvian li\:Limburgan,\ Limburger,\ Limburgish ln\:Lingala lt\:Lithuanian lu\:Luba-Katanga lb\:Luxembourgish,\ Letzeburgesch mk\:Macedonian mg\:Malagasy ms\:Malay ml\:Malayalam mt\:Maltese gv\:Manx mi\:Maori mr\:Marathi mh\:Marshallese mn\:Mongolian na\:Nauru nv\:Navajo,\ Navaho nd\:North\ Ndebele nr\:South\ Ndebele ng\:Ndonga ne\:Nepali no\:Norwegian nb\:Norwegian\ Bokmål nn\:Norwegian\ Nynorsk ii\:Sichuan\ Yi,\ Nuosu oc\:Occitan oj\:Ojibwa or\:Oriya om\:Oromo os\:Ossetian,\ Ossetic pi\:Pali ps\:Pashto,\ Pushto fa\:Persian pl\:Polish pt\:Portuguese pa\:Punjabi,\ Panjabi qu\:Quechua ro\:Romanian,\ Moldavian,\ Moldovan rm\:Romansh rn\:Rundi ru\:Russian se\:Northern\ Sami sm\:Samoan sg\:Sango sa\:Sanskrit sc\:Sardinian sr\:Serbian sn\:Shona sd\:Sindhi si\:Sinhala,\ Sinhalese sk\:Slovak sl\:Slovenian so\:Somali st\:Southern\ Sotho es\:Spanish,\ Castilian su\:Sundanese sw\:Swahili ss\:Swati sv\:Swedish tl\:Tagalog ty\:Tahitian tg\:Tajik ta\:Tamil tt\:Tatar te\:Telugu th\:Thai bo\:Tibetan ti\:Tigrinya to\:Tonga\ \(Tonga\ Islands\) ts\:Tsonga tn\:Tswana tr\:Turkish tk\:Turkmen tw\:Twi ug\:Uighur,\ Uyghur uk\:Ukrainian ur\:Urdu uz\:Uzbek ve\:Venda vi\:Vietnamese vo\:Volapük wa\:Walloon cy\:Welsh wo\:Wolof xh\:Xhosa yi\:Yiddish yo\:Yoruba za\:Zhuang,\ Chuang zu\:Zulu))"
  "--source-lang[source languages. default\: auto]:source_lang:((auto\:Autodetect\ language ab\:Abkhazian aa\:Afar af\:Afrikaans ak\:Akan sq\:Albanian am\:Amharic ar\:Arabic an\:Aragonese hy\:Armenian as\:Assamese av\:Avaric ae\:Avestan ay\:Aymara az\:Azerbaijani bm\:Bambara ba\:Bashkir eu\:Basque be\:Belarusian bn\:Bengali bi\:Bislama bs\:Bosnian br\:Breton bg\:Bulgarian my\:Burmese ca\:Catalan,\ Valencian ch\:Chamorro ce\:Chechen ny\:Chichewa,\ Chewa,\ Nyanja zh_CN\:Chinese zh_TW\:Chinese cu\:Church\ Slavonic,\ Old\ Slavonic,\ Old\ Church\ Slavonic cv\:Chuvash kw\:Cornish co\:Corsican cr\:Cree hr\:Croatian cs\:Czech da\:Danish dv\:Divehi,\ Dhivehi,\ Maldivian nl\:Dutch,\ Flemish dz\:Dzongkha en\:English eo\:Esperanto et\:Estonian ee\:Ewe fo\:Faroese fj\:Fijian fi\:Finnish fr\:French fy\:Western\ Frisian ff\:Fulah gd\:Gaelic,\ Scottish\ Gaelic gl\:Galician lg\:Ganda ka\:Georgian de\:German el\:Greek,\ Modern\ \(1453-\) kl\:Kalaallisut,\ Greenlandic gn\:Guarani gu\:Gujarati ht\:Haitian,\ Haitian\ Creole ha\:Hausa he\:Hebrew hz\:Herero hi\:Hindi ho\:Hiri\ Motu hu\:Hungarian is\:Icelandic io\:Ido ig\:Igbo id\:Indonesian ia\:Interlingua\ \(International\ Auxiliary\ Language\ Association\) ie\:Interlingue,\ Occidental iu\:Inuktitut ik\:Inupiaq ga\:Irish it\:Italian ja\:Japanese jv\:Javanese kn\:Kannada kr\:Kanuri ks\:Kashmiri kk\:Kazakh km\:Central\ Khmer ki\:Kikuyu,\ Gikuyu rw\:Kinyarwanda ky\:Kirghiz,\ Kyrgyz kv\:Komi kg\:Kongo ko\:Korean kj\:Kuanyama,\ Kwanyama ku\:Kurdish lo\:Lao la\:Latin lv\:Latvian li\:Limburgan,\ Limburger,\ Limburgish ln\:Lingala lt\:Lithuanian lu\:Luba-Katanga lb\:Luxembourgish,\ Letzeburgesch mk\:Macedonian mg\:Malagasy ms\:Malay ml\:Malayalam mt\:Maltese gv\:Manx mi\:Maori mr\:Marathi mh\:Marshallese mn\:Mongolian na\:Nauru nv\:Navajo,\ Navaho nd\:North\ Ndebele nr\:South\ Ndebele ng\:Ndonga ne\:Nepali no\:Norwegian nb\:Norwegian\ Bokmål nn\:Norwegian\ Nynorsk ii\:Sichuan\ Yi,\ Nuosu oc\:Occitan oj\:Ojibwa or\:Oriya om\:Oromo os\:Ossetian,\ Ossetic pi\:Pali ps\:Pashto,\ Pushto fa\:Persian pl\:Polish pt\:Portuguese pa\:Punjabi,\ Panjabi qu\:Quechua ro\:Romanian,\ Moldavian,\ Moldovan rm\:Romansh rn\:Rundi ru\:Russian se\:Northern\ Sami sm\:Samoan sg\:Sango sa\:Sanskrit sc\:Sardinian sr\:Serbian sn\:Shona sd\:Sindhi si\:Sinhala,\ Sinhalese sk\:Slovak sl\:Slovenian so\:Somali st\:Southern\ Sotho es\:Spanish,\ Castilian su\:Sundanese sw\:Swahili ss\:Swati sv\:Swedish tl\:Tagalog ty\:Tahitian tg\:Tajik ta\:Tamil tt\:Tatar te\:Telugu th\:Thai bo\:Tibetan ti\:Tigrinya to\:Tonga\ \(Tonga\ Islands\) ts\:Tsonga tn\:Tswana tr\:Turkish tk\:Turkmen tw\:Twi ug\:Uighur,\ Uyghur uk\:Ukrainian ur\:Urdu uz\:Uzbek ve\:Venda vi\:Vietnamese vo\:Volapük wa\:Walloon cy\:Welsh wo\:Wolof xh\:Xhosa yi\:Yiddish yo\:Yoruba za\:Zhuang,\ Chuang zu\:Zulu))"
  "*--options[advanced usage, see https\:\/\/translate-shell.readthedocs.io\/en\/latest\/resources\/config.html . default\: \[\]]:options:((auto\:Autodetect\ language ab\:Abkhazian aa\:Afar af\:Afrikaans ak\:Akan sq\:Albanian am\:Amharic ar\:Arabic an\:Aragonese hy\:Armenian as\:Assamese av\:Avaric ae\:Avestan ay\:Aymara az\:Azerbaijani bm\:Bambara ba\:Bashkir eu\:Basque be\:Belarusian bn\:Bengali bi\:Bislama bs\:Bosnian br\:Breton bg\:Bulgarian my\:Burmese ca\:Catalan,\ Valencian ch\:Chamorro ce\:Chechen ny\:Chichewa,\ Chewa,\ Nyanja zh_CN\:Chinese zh_TW\:Chinese cu\:Church\ Slavonic,\ Old\ Slavonic,\ Old\ Church\ Slavonic cv\:Chuvash kw\:Cornish co\:Corsican cr\:Cree hr\:Croatian cs\:Czech da\:Danish dv\:Divehi,\ Dhivehi,\ Maldivian nl\:Dutch,\ Flemish dz\:Dzongkha en\:English eo\:Esperanto et\:Estonian ee\:Ewe fo\:Faroese fj\:Fijian fi\:Finnish fr\:French fy\:Western\ Frisian ff\:Fulah gd\:Gaelic,\ Scottish\ Gaelic gl\:Galician lg\:Ganda ka\:Georgian de\:German el\:Greek,\ Modern\ \(1453-\) kl\:Kalaallisut,\ Greenlandic gn\:Guarani gu\:Gujarati ht\:Haitian,\ Haitian\ Creole ha\:Hausa he\:Hebrew hz\:Herero hi\:Hindi ho\:Hiri\ Motu hu\:Hungarian is\:Icelandic io\:Ido ig\:Igbo id\:Indonesian ia\:Interlingua\ \(International\ Auxiliary\ Language\ Association\) ie\:Interlingue,\ Occidental iu\:Inuktitut ik\:Inupiaq ga\:Irish it\:Italian ja\:Japanese jv\:Javanese kn\:Kannada kr\:Kanuri ks\:Kashmiri kk\:Kazakh km\:Central\ Khmer ki\:Kikuyu,\ Gikuyu rw\:Kinyarwanda ky\:Kirghiz,\ Kyrgyz kv\:Komi kg\:Kongo ko\:Korean kj\:Kuanyama,\ Kwanyama ku\:Kurdish lo\:Lao la\:Latin lv\:Latvian li\:Limburgan,\ Limburger,\ Limburgish ln\:Lingala lt\:Lithuanian lu\:Luba-Katanga lb\:Luxembourgish,\ Letzeburgesch mk\:Macedonian mg\:Malagasy ms\:Malay ml\:Malayalam mt\:Maltese gv\:Manx mi\:Maori mr\:Marathi mh\:Marshallese mn\:Mongolian na\:Nauru nv\:Navajo,\ Navaho nd\:North\ Ndebele nr\:South\ Ndebele ng\:Ndonga ne\:Nepali no\:Norwegian nb\:Norwegian\ Bokmål nn\:Norwegian\ Nynorsk ii\:Sichuan\ Yi,\ Nuosu oc\:Occitan oj\:Ojibwa or\:Oriya om\:Oromo os\:Ossetian,\ Ossetic pi\:Pali ps\:Pashto,\ Pushto fa\:Persian pl\:Polish pt\:Portuguese pa\:Punjabi,\ Panjabi qu\:Quechua ro\:Romanian,\ Moldavian,\ Moldovan rm\:Romansh rn\:Rundi ru\:Russian se\:Northern\ Sami sm\:Samoan sg\:Sango sa\:Sanskrit sc\:Sardinian sr\:Serbian sn\:Shona sd\:Sindhi si\:Sinhala,\ Sinhalese sk\:Slovak sl\:Slovenian so\:Somali st\:Southern\ Sotho es\:Spanish,\ Castilian su\:Sundanese sw\:Swahili ss\:Swati sv\:Swedish tl\:Tagalog ty\:Tahitian tg\:Tajik ta\:Tamil tt\:Tatar te\:Telugu th\:Thai bo\:Tibetan ti\:Tigrinya to\:Tonga\ \(Tonga\ Islands\) ts\:Tsonga tn\:Tswana tr\:Turkish tk\:Turkmen tw\:Twi ug\:Uighur,\ Uyghur uk\:Ukrainian ur\:Urdu uz\:Uzbek ve\:Venda vi\:Vietnamese vo\:Volapük wa\:Walloon cy\:Welsh wo\:Wolof xh\:Xhosa yi\:Yiddish yo\:Yoruba za\:Zhuang,\ Chuang zu\:Zulu))"
  "(*)::text needed to be translated, empty means entering REPL:history_complete"
)


_shtab_trans() {
  local context state line curcontext="$curcontext" one_or_more='(-)*' remainder='(*)'

  if ((${_shtab_trans_options[(I)${(q)one_or_more}*]} + ${_shtab_trans_options[(I)${(q)remainder}*]} == 0)); then  # noqa: E501
    _shtab_trans_options+=(': :_shtab_trans_commands' '*::: :->trans')
  fi
  _arguments -C -s $_shtab_trans_options

  case $state in
    trans)
      words=($line[1] "${words[@]}")
      (( CURRENT += 1 ))
      curcontext="${curcontext%:*:*}:_shtab_trans-$line[1]:"
      case $line[1] in
        
      esac
  esac
}

# Custom Preamble
# shellcheck disable=all
history_complete() {
  # fasten by avoiding calling subprocess
  if [[ $words[CURRENT] == -* ]]; then
    return
  fi
  local line history_file choices
  history_file=$($words[1] --print-setting history_file)
  choices=()
  if [[ -f $history_file ]]; then
    while read -r line; do
      choices+=(${(q)line})
    done < $history_file
  fi
  _arguments "*:word:($choices)"
}

# End Custom Preamble


typeset -A opt_args
_shtab_trans "$@"
