chromium/components/autofill/core/common/language_code.h

// Copyright 2020 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef COMPONENTS_AUTOFILL_CORE_COMMON_LANGUAGE_CODE_H_
#define COMPONENTS_AUTOFILL_CORE_COMMON_LANGUAGE_CODE_H_

#include <string>

#include "base/types/strong_alias.h"

namespace autofill {

// A language code is a lowercase alphabetic string of length up to 3, with the
// exception of "zh-*", in particular "zh-CN" and "zh-TW", and "mni-*", in
// particular "mni-Mtei". A non-exhaustive list of known languages is
// translate::kDefaultSupportedLanguages.
//
// The string "und" represents an undetermined or unknown language. For some
// reason, we sometimes also sometimes see "unknown" and perhaps other strings.
// See crbug.com/1423819 for an inconclusive discussion.
//
// C++ small string optimization keeps these objects lightweight so that copying
// should not be a worry.
LanguageCode;

}  // namespace autofill

#endif  // COMPONENTS_AUTOFILL_CORE_COMMON_LANGUAGE_CODE_H_