code: func Dir(dirname string) (soymsg.Provider, error) {
  	var files, err = ioutil.ReadDir(dirname)
  	if err != nil {
  		return nil, err
  	}
  	var locales []string
  	for _, fi := range files {
  		var name = fi.Name()
  		if !fi.IsDir() && strings.HasSuffix(name, ".po") {
  			locales = append(locales, name[:len(name)-3])
  		}
  	}
  	return Load(fsFileOpener{dirname}, locales)
  }
docs: // Dir returns a soymsg.Provider that takes translations from the given path.
  // For example, if dir is "/usr/local/msgs", po files should be of the form:
  //   /usr/local/msgs/<lang>.po
  //   /usr/local/msgs/<lang>_<territory>.po
  //
  // TODO: Fallbacks between <lang> and <lang>_<territory>