Path: blob/main/extensions/copilot/src/extension/prompts/node/base/responseTranslationRules.tsx
13405 views
/*---------------------------------------------------------------------------------------------1* Copyright (c) Microsoft Corporation. All rights reserved.2* Licensed under the MIT License. See License.txt in the project root for license information.3*--------------------------------------------------------------------------------------------*/45import { PromptElement, PromptElementProps } from '@vscode/prompt-tsx';6import { ConfigKey, IConfigurationService } from '../../../../platform/configuration/common/configurationService';7import { IEnvService } from '../../../../platform/env/common/envService';89export const validLocales = [10'auto',11'en',12'fr',13'it',14'de',15'es',16'ru',17'zh-CN',18'zh-TW',19'ja',20'ko',21'cs',22'pt-br',23'tr',24'pl'25];2627export class ResponseTranslationRules extends PromptElement {2829constructor(30props: PromptElementProps<{}>,31@IConfigurationService private readonly configurationService: IConfigurationService,32@IEnvService private readonly envService: IEnvService,33) {34super(props);35}3637render() {38const languageOverride = this.configurationService.getConfig<string>(ConfigKey.LocaleOverride); // Locale overrides must be for one of our supported languages39if (!validLocales.find((locale) => languageOverride === locale)) {40return undefined;41}42const languageConfiguration = languageOverride !== 'auto' ? languageOverride : this.envService.language; // No need to further validate VS Code's configured locale43if (languageConfiguration === 'en') {44return undefined;45}4647return (48<>49Respond in the following locale: {languageConfiguration}50</>51);52}53}545556