code: def getStrings(lang_dict):
      
      field_list = []
      kw = {}
      try:
          str_count = len(next(iter(lang_dict.values())))
      except StopIteration:
          str_count = 0
      else:
          for lang, string_list in lang_dict.items():
              if len(string_list) != str_count:
                  raise ValueError('All values must have the same string count.')
              field_id = 'strings_%04x' % lang
              strings = b'\x00'.join(x.encode('utf-8') for x in string_list) + b'\x00'
              field_type = type(
                  'String',
                  (StringBase, ),
                  {
                      '_fields_': [
                          ('strings', ctypes.c_char * len(strings)),
                      ],
                  },
              )
              field_list.append((field_id, field_type))
              kw[field_id] = field_type(
                  lang=lang,
                  strings=strings,
              )
      klass = type(
          'Strings',
          (StringsHead, ),
          {
              '_fields_': field_list,
          },
      )
      return klass(
          magic=STRINGS_MAGIC,
          length=ctypes.sizeof(klass),
          str_count=str_count,
          lang_count=len(lang_dict),
          **kw
      )
docs: Return a FunctionFS descriptor suitable for serialisation.
  
      lang_dict (dict)
          Key: language ID (ex: 0x0409 for en-us)
          Value: list of unicode objects
          All values must have the same number of items.