Meta Engineer?

This is available as Locale\modified in the www repository.

Create a new Locale object, based on an existing one

namespace HH\Lib\Locale;

function modified(
  Locale $orig,
  Category $cat,
  string $new,
): Locale;

The input should be of the form country[.encoding], for example: "C", en_US, en_US.UTF-8.

If present, the encoding currently must be 'UTF-8'.

The empty string is not considered a valid locale in Hack; the libc behavior is equivalent to get_native().


  • Locale $orig
  • Category $cat
  • string $new


  • Locale