blob: cce695ac938e418c3290b61cbdde64a3970fb013 [file] [log] [blame]
// 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.
using LanguageCode = base::StrongAlias<class LanguageCodeTag, std::string>;
} // namespace autofill
#endif // COMPONENTS_AUTOFILL_CORE_COMMON_LANGUAGE_CODE_H_