(CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBECTL_FILES) op: Equal rhs: {(DQ ("pkg/kubectl/cmd/*.go pkg/kubectl/cmd/*/*.go"))} spids: [44] ) ] spids: [44] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:generate_pot) op:Equal rhs:{(DQ (false))} spids:[50])] spids: [50] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:generate_mo) op:Equal rhs:{(DQ (false))} spids:[55])] spids: [55] ) (While cond: [(Sentence child:(C {(getopts)} {(DQ ("hf:xg"))} {(opt)}) terminator:<Op_Semi ";">)] body: (DoGroup children: [ (Case to_match: {($ VSub_Name "$opt")} arms: [ (case_arm pat_list: [{(h)}] action: [ (C {(echo)} {(DQ ($ VSub_Number "$0") (" [-f files] [-x] [-g]"))}) (C {(echo)} {(DQ (" -f <file-path>: Files to process"))}) (C {(echo)} {(DQ (" -x extract strings to a POT file"))}) (C {(echo)} {(DQ (" -g sort .po files and generate .mo files"))}) (C {(exit)} {(0)}) ] spids: [82 83 120 -1] ) (case_arm pat_list: [{(f)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBECTL_FILES) op: Equal rhs: {(DQ (${ VSub_Name OPTARG))} spids: [127] ) ] spids: [127] ) ] spids: [123 124 135 -1] ) (case_arm pat_list: [{(x)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:generate_pot) op: Equal rhs: {(DQ (true))} spids: [142] ) ] spids: [142] ) ] spids: [138 139 148 -1] ) (case_arm pat_list: [{(g)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:generate_mo) op: Equal rhs: {(DQ (true))} spids: [155] ) ] spids: [155] ) ] spids: [151 152 161 -1] ) (case_arm pat_list: [{(EscapedLiteralPart token:<Lit_EscapedChar "\\?">)}] action: [ (SimpleCommand words: [{(echo)} {(DQ ("[-f <files>] -x -g"))}] redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[174])] ) (C {(exit)} {(1)}) ] spids: [164 165 183 -1] ) ] spids: [75 79 186] ) ] spids: [72 188] ) ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (SimpleCommand words: [{(which)} {(go-xgettext)}] redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[199])] ) ] negated: True ) terminator: <Op_Semi ";"> ) ] action: [ (C {(echo)} {(SQ <"Can not find go-xgettext, install with:">)}) (C {(echo)} {(SQ <"go get github.com/gosexy/gettext/go-xgettext">)}) (C {(exit)} {(1)}) ] spids: [-1 204] ) ] spids: [-1 225] ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (SimpleCommand words: [{(which)} {(msgfmt)}] redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[236])] ) ] negated: True ) terminator: <Op_Semi ";"> ) ] action: [ (C {(echo)} {(SQ <"Can not find msgfmt, install with:">)}) (C {(echo)} {(SQ <"apt-get install gettext">)}) (C {(exit)} {(1)}) ] spids: [-1 241] ) ] spids: [-1 262] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ (${ VSub_Name generate_pot))} right: {(DQ (true))} ) ) terminator: <Op_Semi ";"> ) ] action: [ (C {(echo)} {(DQ ("Extracting strings to POT"))}) (SimpleCommand words: [{(go-xgettext)} {(-k) (Lit_Other "=") (i18n.T)} {(${ VSub_Name KUBECTL_FILES)}] redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(tmp.pot)} spids:[304])] ) (C {(perl)} {(-pi)} {(-e)} {(SQ <s/CHARSET/UTF-8/>)} {(tmp.pot)}) (C {(perl)} {(-pi)} {(-e)} {(SQ <"s/\\\\\\(/\\\\\\\\\\(/g">)} {(tmp.pot)}) (C {(perl)} {(-pi)} {(-e)} {(SQ <"s/\\\\\\)/\\\\\\\\\\)/g">)} {(tmp.pot)}) (If arms: [ (if_arm cond: [ (Sentence child: (SimpleCommand words: [{(msgcat)} {(-s)} {(tmp.pot)}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(/tmp/template.pot)} spids: [356] ) ] ) terminator: <Op_Semi ";"> ) ] action: [ (C {(mv)} {(/tmp/template.pot)} {(translations/kubectl/template.pot)}) (C {(rm)} {(tmp.pot)}) ] spids: [-1 361] ) ] else_action: [(C {(echo)} {(DQ ("Failed to update template.pot"))}) (C {(exit)} {(1)})] spids: [376 391] ) ] spids: [-1 284] ) ] spids: [-1 393] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ (${ VSub_Name generate_mo))} right: {(DQ (true))} ) ) terminator: <Op_Semi ";"> ) ] action: [ (C {(echo)} {(DQ ("Generating .po and .mo files"))}) (ForEach iter_name: x iter_words: [ {(translations/) (Lit_Other "*") (/) (Lit_Other "*") (/) (Lit_Other "*") (/) (Lit_Other "*") (.po) } ] do_arg_iter: False body: (DoGroup children: [ (SimpleCommand words: [{(msgcat)} {(-s)} {($ VSub_Name "$x")}] redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(tmp.po)} spids:[451])] ) (C {(mv)} {(tmp.po)} {($ VSub_Name "$x")}) (C {(echo)} {(DQ ("generating .mo file for: ") ($ VSub_Name "$x"))}) (C {(msgfmt)} {($ VSub_Name "$x")} {(-o)} { (DQ (CommandSubPart command_list: (CommandList children: [(C {(dirname)} {($ VSub_Name "$x")})] ) left_token: <Left_CommandSub "$("> spids: [478 482] ) (/) (CommandSubPart command_list: (CommandList children: [(C {(basename)} {($ VSub_Name "$x")} {(.po)})] ) left_token: <Left_CommandSub "$("> spids: [484 490] ) (.mo) ) } ) ] spids: [442 495] ) spids: [430 440] ) ] spids: [-1 415] ) ] spids: [-1 497] ) (C {(./hack/generate-bindata.sh)}) ] )