(command.CommandList
  children: [
    (command.Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(lhs_expr.LhsName name:TEXTDOMAIN) op:Equal rhs:{(git)})]
    )
    (C {(export)} {(TEXTDOMAIN)})
    (command.If
      arms: [
        (if_arm
          cond: [(C {(test)} {(-z)} {(DQ ($ VSub_DollarName '$GIT_TEXTDOMAINDIR'))})]
          action: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:TEXTDOMAINDIR)
                  op: Equal
                  rhs: {(DQ ('@@LOCALEDIR@@'))}
                )
              ]
            )
          ]
        )
      ]
      else_action: [
        (command.Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (lhs_expr.LhsName name:TEXTDOMAINDIR)
              op: Equal
              rhs: {(DQ ($ VSub_DollarName '$GIT_TEXTDOMAINDIR'))}
            )
          ]
        )
      ]
    )
    (C {(export)} {(TEXTDOMAINDIR)})
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:GIT_INTERNAL_GETTEXT_SH_SCHEME)
          op: Equal
          rhs: {(fallthrough)}
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [(C {(test)} {(-n)} {(DQ ('@@USE_GETTEXT_SCHEME@@'))})]
          action: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:GIT_INTERNAL_GETTEXT_SH_SCHEME)
                  op: Equal
                  rhs: {(DQ ('@@USE_GETTEXT_SCHEME@@'))}
                )
              ]
            )
          ]
        )
        (if_arm
          cond: [(C {(test)} {(-n)} {(DQ ($ VSub_DollarName '$GIT_INTERNAL_GETTEXT_TEST_FALLBACKS'))})]
          action: [(C {(Lit_Other ':')} {(no)} {(probing)} {(necessary)})]
        )
        (if_arm
          cond: [(C {(test)} {(-n)} {(DQ ($ VSub_DollarName '$GIT_GETTEXT_POISON'))})]
          action: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:GIT_INTERNAL_GETTEXT_SH_SCHEME)
                  op: Equal
                  rhs: {(poison)}
                )
              ]
            )
          ]
        )
        (if_arm
          cond: [
            (command.SimpleCommand
              words: [{(type)} {(gettext.sh)}]
              redirects: [
                (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)})
                (redir.Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)})
              ]
            )
          ]
          action: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:GIT_INTERNAL_GETTEXT_SH_SCHEME)
                  op: Equal
                  rhs: {(gnu)}
                )
              ]
            )
          ]
        )
        (if_arm
          cond: [
            (C {(test)} 
              {
                (DQ 
                  (word_part.CommandSubPart
                    command_list: 
                      (command.CommandList
                        children: [
                          (command.SimpleCommand
                            words: [{(gettext)} {(-h)}]
                            redirects: [(redir.Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)})]
                          )
                        ]
                      )
                    left_token: <Left_CommandSub '$('>
                  )
                )
              } {(Lit_Other '=')} {(DQ (-h))}
            )
          ]
          action: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:GIT_INTERNAL_GETTEXT_SH_SCHEME)
                  op: Equal
                  rhs: {(gettext_without_eval_gettext)}
                )
              ]
            )
          ]
        )
      ]
    )
    (C {(export)} {(GIT_INTERNAL_GETTEXT_SH_SCHEME)})
    (command.Case
      to_match: {(DQ ($ VSub_DollarName '$GIT_INTERNAL_GETTEXT_SH_SCHEME'))}
      arms: [
        (case_arm pat_list:[{(gnu)}] action:[(C {(.)} {(gettext.sh)})])
        (case_arm
          pat_list: [{(gettext_without_eval_gettext)}]
          action: [
            (command.FuncDef
              name: eval_gettext
              body: 
                (command.BraceGroup
                  children: [
                    (command.Pipeline
                      children: [
                        (C {(gettext)} {(DQ ($ VSub_Number '$1'))})
                        (command.Subshell
                          command_list: 
                            (command.CommandList
                              children: [
                                (command.Sentence
                                  child: 
                                    (C {(export)} {(PATH)} 
                                      {
                                        (word_part.CommandSubPart
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(git)} {(sh-i18n--envsubst)} {(--variables)} 
                                                  {(DQ ($ VSub_Number '$1'))}
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub '$('>
                                        )
                                      }
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                                (C {(git)} {(sh-i18n--envsubst)} {(DQ ($ VSub_Number '$1'))})
                              ]
                            )
                        )
                      ]
                      negated: F
                    )
                  ]
                )
            )
            (command.FuncDef
              name: eval_ngettext
              body: 
                (command.BraceGroup
                  children: [
                    (command.Pipeline
                      children: [
                        (C {(ngettext)} {(DQ ($ VSub_Number '$1'))} {(DQ ($ VSub_Number '$2'))} 
                          {(DQ ($ VSub_Number '$3'))}
                        )
                        (command.Subshell
                          command_list: 
                            (command.CommandList
                              children: [
                                (command.Sentence
                                  child: 
                                    (C {(export)} {(PATH)} 
                                      {
                                        (word_part.CommandSubPart
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(git)} {(sh-i18n--envsubst)} {(--variables)} 
                                                  {(DQ ($ VSub_Number '$2'))}
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub '$('>
                                        )
                                      }
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                                (C {(git)} {(sh-i18n--envsubst)} {(DQ ($ VSub_Number '$2'))})
                              ]
                            )
                        )
                      ]
                      negated: F
                    )
                  ]
                )
            )
          ]
        )
        (case_arm
          pat_list: [{(poison)}]
          action: [
            (command.FuncDef
              name: gettext
              body: 
                (command.BraceGroup
                  children: [(C {(printf)} {(DQ ('%s'))} {(DQ ('# GETTEXT POISON #'))})]
                )
            )
            (command.FuncDef
              name: eval_gettext
              body: 
                (command.BraceGroup
                  children: [(C {(printf)} {(DQ ('%s'))} {(DQ ('# GETTEXT POISON #'))})]
                )
            )
            (command.FuncDef
              name: eval_ngettext
              body: 
                (command.BraceGroup
                  children: [(C {(printf)} {(DQ ('%s'))} {(DQ ('# GETTEXT POISON #'))})]
                )
            )
          ]
        )
        (case_arm
          pat_list: [{(Lit_Other '*')}]
          action: [
            (command.FuncDef
              name: gettext
              body: 
                (command.BraceGroup
                  children: [(C {(printf)} {(DQ ('%s'))} {(DQ ($ VSub_Number '$1'))})]
                )
            )
            (command.FuncDef
              name: eval_gettext
              body: 
                (command.BraceGroup
                  children: [
                    (command.Pipeline
                      children: [
                        (C {(printf)} {(DQ ('%s'))} {(DQ ($ VSub_Number '$1'))})
                        (command.Subshell
                          command_list: 
                            (command.CommandList
                              children: [
                                (command.Sentence
                                  child: 
                                    (C {(export)} {(PATH)} 
                                      {
                                        (word_part.CommandSubPart
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(git)} {(sh-i18n--envsubst)} {(--variables)} 
                                                  {(DQ ($ VSub_Number '$1'))}
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub '$('>
                                        )
                                      }
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                                (C {(git)} {(sh-i18n--envsubst)} {(DQ ($ VSub_Number '$1'))})
                              ]
                            )
                        )
                      ]
                      negated: F
                    )
                  ]
                )
            )
            (command.FuncDef
              name: eval_ngettext
              body: 
                (command.BraceGroup
                  children: [
                    (command.Pipeline
                      children: [
                        (command.Subshell
                          command_list: 
                            (command.CommandList
                              children: [
                                (command.AndOr
                                  ops: [Op_DAmp Op_DPipe]
                                  children: [
                                    (C {(test)} {(DQ ($ VSub_Number '$3'))} {(Lit_Other '=')} {(1)})
                                    (C {(printf)} {(DQ ('%s'))} {(DQ ($ VSub_Number '$1'))})
                                    (C {(printf)} {(DQ ('%s'))} {(DQ ($ VSub_Number '$2'))})
                                  ]
                                )
                              ]
                            )
                        )
                        (command.Subshell
                          command_list: 
                            (command.CommandList
                              children: [
                                (command.Sentence
                                  child: 
                                    (C {(export)} {(PATH)} 
                                      {
                                        (word_part.CommandSubPart
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (C {(git)} {(sh-i18n--envsubst)} {(--variables)} 
                                                  {(DQ ($ VSub_Number '$2'))}
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub '$('>
                                        )
                                      }
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                                (C {(git)} {(sh-i18n--envsubst)} {(DQ ($ VSub_Number '$2'))})
                              ]
                            )
                        )
                      ]
                      negated: F
                    )
                  ]
                )
            )
          ]
        )
      ]
    )
    (command.FuncDef
      name: gettextln
      body: (command.BraceGroup children:[(C {(gettext)} {(DQ ($ VSub_Number '$1'))}) (C {(echo)})])
    )
    (command.FuncDef
      name: eval_gettextln
      body: 
        (command.BraceGroup
          children: [(C {(eval_gettext)} {(DQ ($ VSub_Number '$1'))}) (C {(echo)})]
        )
    )
  ]
)