def get(self,<EOL>key: Text,<EOL>count: Optional[int]=None,<EOL>formatter: Formatter=None,<EOL>locale: Text=None,<EOL>params: Optional[Dict[Text, Any]]=None,<EOL>flags: Optional[Flags]=None) -> List[Text]:
if params is None:<EOL><INDENT>params = {}<EOL><DEDENT>if count is not None:<EOL><INDENT>raise TranslationError('<STR_LIT>')<EOL><DEDENT>locale = self.choose_locale(locale)<EOL>try:<EOL><INDENT>group: SentenceGroup = self.dict[locale][key]<EOL><DEDENT>except KeyError:<EOL><INDENT>raise MissingTranslationError('<STR_LIT>'<EOL>.format(key))<EOL><DEDENT>try:<EOL><INDENT>trans = group.render(flags or {})<EOL>out = []<EOL>for line in trans:<EOL><INDENT>if not formatter:<EOL><INDENT>out.append(line.format(**params))<EOL><DEDENT>else:<EOL><INDENT>out.append(formatter.format(line, **params))<EOL><DEDENT><DEDENT><DEDENT>except KeyError as e:<EOL><INDENT>raise MissingParamError(<EOL>'<STR_LIT>'<EOL>.format(e.args[<NUM_LIT:0>], key)<EOL>)<EOL><DEDENT>else:<EOL><INDENT>return out<EOL><DEDENT>
Get the appropriate translation given the specified parameters.

:param key: Translation key
:param count: Count for plurals
:param formatter: Optional string formatter to use
:param locale: Prefered locale to get the string from
:param params: Params to be substituted
:param flags: Flags to help choosing one version or the other