# generaltranslation: General Translation Core SDK: determineLocale URL: https://generaltranslation.com/ru/docs/core/class/methods/locales/determine-locale.mdx --- title: determineLocale description: Справка по API для метода GT determineLocale --- ## Обзор Метод `determineLocale` определяет наиболее подходящую локаль из списка разрешённых локалей на основе предпочтений пользователя. Он использует механизм согласования локалей, чтобы находить наиболее подходящую локаль при отсутствии точных совпадений. ```typescript const gt = new GT({ sourceLocale: 'en-US', locales: ['en-US', 'es-ES', 'fr-FR', 'de-DE'] }); // Точное совпадение console.log(gt.determineLocale('en-US')); // 'en-US' // Резервный вариант языка console.log(gt.determineLocale('en-GB')); // 'en-US' (ближайший вариант английского) // Несколько предпочтений console.log(gt.determineLocale(['fr-CA', 'es-MX', 'en-US'])); // 'es-ES' (ближайший вариант испанского) // Нет совпадений console.log(gt.determineLocale('it-IT')); // undefined ``` *** ## Справка ### Параметры ### Возвращает `string | undefined` — наиболее подходящая локаль или undefined, если совпадений не найдено *** ## Примеры ### Согласование локалей пользователя ```typescript const gt = new GT({ sourceLocale: 'en-US', locales: ['en-US', 'en-GB', 'es-ES', 'fr-FR'] }); // Имитация заголовка Accept-Language браузера const userPreferences = ['fr-CA', 'en-GB', 'en']; const bestMatch = gt.determineLocale(userPreferences); console.log(bestMatch); // 'fr-FR' на основе порядка предпочтений ``` *** ## Примечания * Возвращает первое точное совпадение из разрешённых локалей * Если точное совпадение по региону недоступно, использует совпадение по языку * Учитывает порядок предпочтений во входном массиве * Возвращает undefined, если подходящее совпадение не найдено * Необходимо для реализации согласования локали в веб-приложениях ## Следующие шаги * Проверьте, требуется ли перевод, с помощью [`requires-translation`](/docs/core/class/methods/locales/requires-translation) * Сравните языки с помощью [`is-same-language`](/docs/core/class/methods/locales/is-same-language)