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