(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'))}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)}) ] spids: [82 83 120 16777215] ) (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 16777215] ) (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 16777215] ) (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 16777215] ) (case_arm pat_list: [{(EscapedLiteralPart token:<Lit_EscapedChar '\\?'>)}] action: [ (SimpleCommand words: [{(echo)} {(DQ ('[-f <files>] -x -g'))}] redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[174])] ) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [164 165 183 16777215] ) ] 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: 16777215 arg_word: {(/dev/null)} spids: [199] ) ] ) ] negated: T ) 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'>)}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [16777215 204] ) ] spids: [16777215 225] ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (SimpleCommand words: [{(which)} {(msgfmt)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [236] ) ] ) ] negated: T ) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(SQ <'Can not find msgfmt, install with:'>)}) (C {(echo)} {(SQ <'apt-get install gettext'>)}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [16777215 241] ) ] spids: [16777215 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:16777215 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: 16777215 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: [16777215 361] ) ] else_action: [ (C {(echo)} {(DQ ('Failed to update template.pot'))}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [376 391] ) ] spids: [16777215 284] ) ] spids: [16777215 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: F body: (DoGroup children: [ (SimpleCommand words: [{(msgcat)} {(-s)} {($ VSub_Name '$x')}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 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: [16777215 415] ) ] spids: [16777215 497] ) (C {(./hack/generate-bindata.sh)}) ] )