mirror of
https://github.com/microsoft/vscode.git
synced 2025-12-25 04:36:23 +00:00
Rename LocalizationsService to LanguagePackService and misc moves (#150314)
* rename LocalizationsService to LanguagePackService and misc moves * couple more renames * one more rename
This commit is contained in:
committed by
GitHub
parent
bf7ec548f5
commit
f363be172c
@@ -119,7 +119,7 @@
|
||||
"project": "vscode-workbench"
|
||||
},
|
||||
{
|
||||
"name": "vs/workbench/contrib/localizations",
|
||||
"name": "vs/workbench/contrib/localization",
|
||||
"project": "vscode-workbench"
|
||||
},
|
||||
{
|
||||
|
||||
@@ -4,13 +4,13 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { Disposable } from 'vs/base/common/lifecycle';
|
||||
import { ILocalizationsService } from 'vs/platform/localizations/common/localizations';
|
||||
import { LocalizationsService } from 'vs/platform/localizations/node/localizations';
|
||||
import { ILanguagePackService } from 'vs/platform/languagePacks/common/languagePacks';
|
||||
import { LanguagePackService } from 'vs/platform/languagePacks/node/languagePacks';
|
||||
|
||||
export class LocalizationsUpdater extends Disposable {
|
||||
|
||||
constructor(
|
||||
@ILocalizationsService private readonly localizationsService: LocalizationsService
|
||||
@ILanguagePackService private readonly localizationsService: LanguagePackService
|
||||
) {
|
||||
super();
|
||||
|
||||
|
||||
@@ -46,8 +46,8 @@ import { InstantiationService } from 'vs/platform/instantiation/common/instantia
|
||||
import { ServiceCollection } from 'vs/platform/instantiation/common/serviceCollection';
|
||||
import { MessagePortMainProcessService } from 'vs/platform/ipc/electron-browser/mainProcessService';
|
||||
import { IMainProcessService } from 'vs/platform/ipc/electron-sandbox/services';
|
||||
import { ILocalizationsService } from 'vs/platform/localizations/common/localizations';
|
||||
import { LocalizationsService } from 'vs/platform/localizations/node/localizations';
|
||||
import { ILanguagePackService } from 'vs/platform/languagePacks/common/languagePacks';
|
||||
import { LanguagePackService } from 'vs/platform/languagePacks/node/languagePacks';
|
||||
import { ConsoleLogger, ILoggerService, ILogService, MultiplexLogService } from 'vs/platform/log/common/log';
|
||||
import { FollowerLogService, LoggerChannelClient, LogLevelChannelClient } from 'vs/platform/log/common/logIpc';
|
||||
import { INativeHostService } from 'vs/platform/native/electron-sandbox/native';
|
||||
@@ -311,7 +311,7 @@ class SharedProcessMain extends Disposable {
|
||||
services.set(IExtensionTipsService, new SyncDescriptor(ExtensionTipsService));
|
||||
|
||||
// Localizations
|
||||
services.set(ILocalizationsService, new SyncDescriptor(LocalizationsService));
|
||||
services.set(ILanguagePackService, new SyncDescriptor(LanguagePackService));
|
||||
|
||||
// Diagnostics
|
||||
services.set(IDiagnosticsService, new SyncDescriptor(DiagnosticsService));
|
||||
@@ -360,9 +360,9 @@ class SharedProcessMain extends Disposable {
|
||||
const channel = new ExtensionManagementChannel(accessor.get(IExtensionManagementService), () => null);
|
||||
this.server.registerChannel('extensions', channel);
|
||||
|
||||
// Localizations
|
||||
const localizationsChannel = ProxyChannel.fromService(accessor.get(ILocalizationsService));
|
||||
this.server.registerChannel('localizations', localizationsChannel);
|
||||
// Language Packs
|
||||
const languagePacksChannel = ProxyChannel.fromService(accessor.get(ILanguagePackService));
|
||||
this.server.registerChannel('languagePacks', languagePacksChannel);
|
||||
|
||||
// Diagnostics
|
||||
const diagnosticsChannel = ProxyChannel.fromService(accessor.get(IDiagnosticsService));
|
||||
|
||||
@@ -36,8 +36,8 @@ import { SyncDescriptor } from 'vs/platform/instantiation/common/descriptors';
|
||||
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
|
||||
import { InstantiationService } from 'vs/platform/instantiation/common/instantiationService';
|
||||
import { ServiceCollection } from 'vs/platform/instantiation/common/serviceCollection';
|
||||
import { ILocalizationsService } from 'vs/platform/localizations/common/localizations';
|
||||
import { LocalizationsService } from 'vs/platform/localizations/node/localizations';
|
||||
import { ILanguagePackService } from 'vs/platform/languagePacks/common/languagePacks';
|
||||
import { LanguagePackService } from 'vs/platform/languagePacks/node/languagePacks';
|
||||
import { ConsoleLogger, getLogLevel, ILogger, ILogService, LogLevel, MultiplexLogService } from 'vs/platform/log/common/log';
|
||||
import { SpdLogLogger } from 'vs/platform/log/node/spdlogLog';
|
||||
import { FilePolicyService } from 'vs/platform/policy/common/filePolicyService';
|
||||
@@ -161,7 +161,7 @@ class CliMain extends Disposable {
|
||||
services.set(IExtensionManagementCLIService, new SyncDescriptor(ExtensionManagementCLIService));
|
||||
|
||||
// Localizations
|
||||
services.set(ILocalizationsService, new SyncDescriptor(LocalizationsService));
|
||||
services.set(ILanguagePackService, new SyncDescriptor(LanguagePackService));
|
||||
|
||||
// Telemetry
|
||||
const appenders: AppInsightsAppender[] = [];
|
||||
|
||||
@@ -7,7 +7,7 @@ import { getClientArea, getTopLeftOffset } from 'vs/base/browser/dom';
|
||||
import { coalesce } from 'vs/base/common/arrays';
|
||||
import { language, locale } from 'vs/base/common/platform';
|
||||
import { IElement, ILocaleInfo, ILocalizedStrings, IWindowDriver } from 'vs/platform/driver/common/driver';
|
||||
import localizedStrings from 'vs/platform/localizations/common/localizedStrings';
|
||||
import localizedStrings from 'vs/platform/languagePacks/common/localizedStrings';
|
||||
|
||||
export class BrowserWindowDriver implements IWindowDriver {
|
||||
|
||||
|
||||
12
src/vs/platform/languagePacks/common/languagePacks.ts
Normal file
12
src/vs/platform/languagePacks/common/languagePacks.ts
Normal file
@@ -0,0 +1,12 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
|
||||
|
||||
export const ILanguagePackService = createDecorator<ILanguagePackService>('languagePackService');
|
||||
export interface ILanguagePackService {
|
||||
readonly _serviceBrand: undefined;
|
||||
getInstalledLanguages(): Promise<string[]>;
|
||||
}
|
||||
@@ -13,7 +13,8 @@ import { Promises } from 'vs/base/node/pfs';
|
||||
import { INativeEnvironmentService } from 'vs/platform/environment/common/environment';
|
||||
import { IExtensionIdentifier, IExtensionManagementService, ILocalExtension } from 'vs/platform/extensionManagement/common/extensionManagement';
|
||||
import { areSameExtensions } from 'vs/platform/extensionManagement/common/extensionManagementUtil';
|
||||
import { ILocalizationsService, isValidLocalization } from 'vs/platform/localizations/common/localizations';
|
||||
import { ILocalizationContribution } from 'vs/platform/extensions/common/extensions';
|
||||
import { ILanguagePackService } from 'vs/platform/languagePacks/common/languagePacks';
|
||||
import { ILogService } from 'vs/platform/log/common/log';
|
||||
|
||||
interface ILanguagePack {
|
||||
@@ -25,7 +26,7 @@ interface ILanguagePack {
|
||||
translations: { [id: string]: string };
|
||||
}
|
||||
|
||||
export class LocalizationsService extends Disposable implements ILocalizationsService {
|
||||
export class LanguagePackService extends Disposable implements ILanguagePackService {
|
||||
|
||||
declare readonly _serviceBrand: undefined;
|
||||
|
||||
@@ -48,7 +49,7 @@ export class LocalizationsService extends Disposable implements ILocalizationsSe
|
||||
});
|
||||
}
|
||||
|
||||
async getLanguageIds(): Promise<string[]> {
|
||||
async getInstalledLanguages(): Promise<string[]> {
|
||||
const languagePacks = await this.cache.getLanguagePacks();
|
||||
// Contributed languages are those installed via extension packs, so does not include English
|
||||
const languages = ['en', ...Object.keys(languagePacks)];
|
||||
@@ -174,3 +175,27 @@ class LanguagePacksCache extends Disposable {
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function isValidLocalization(localization: ILocalizationContribution): boolean {
|
||||
if (typeof localization.languageId !== 'string') {
|
||||
return false;
|
||||
}
|
||||
if (!Array.isArray(localization.translations) || localization.translations.length === 0) {
|
||||
return false;
|
||||
}
|
||||
for (const translation of localization.translations) {
|
||||
if (typeof translation.id !== 'string') {
|
||||
return false;
|
||||
}
|
||||
if (typeof translation.path !== 'string') {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (localization.languageName && typeof localization.languageName !== 'string') {
|
||||
return false;
|
||||
}
|
||||
if (localization.localizedLanguageName && typeof localization.localizedLanguageName !== 'string') {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -1,37 +0,0 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { ILocalizationContribution } from 'vs/platform/extensions/common/extensions';
|
||||
import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
|
||||
|
||||
export const ILocalizationsService = createDecorator<ILocalizationsService>('localizationsService');
|
||||
export interface ILocalizationsService {
|
||||
readonly _serviceBrand: undefined;
|
||||
getLanguageIds(): Promise<string[]>;
|
||||
}
|
||||
|
||||
export function isValidLocalization(localization: ILocalizationContribution): boolean {
|
||||
if (typeof localization.languageId !== 'string') {
|
||||
return false;
|
||||
}
|
||||
if (!Array.isArray(localization.translations) || localization.translations.length === 0) {
|
||||
return false;
|
||||
}
|
||||
for (const translation of localization.translations) {
|
||||
if (typeof translation.id !== 'string') {
|
||||
return false;
|
||||
}
|
||||
if (typeof translation.path !== 'string') {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (localization.languageName && typeof localization.languageName !== 'string') {
|
||||
return false;
|
||||
}
|
||||
if (localization.localizedLanguageName && typeof localization.localizedLanguageName !== 'string') {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -28,8 +28,8 @@ import { SpdLogLogger } from 'vs/platform/log/node/spdlogLog';
|
||||
import { RemoteExtensionLogFileName } from 'vs/workbench/services/remote/common/remoteAgentService';
|
||||
import { IServerEnvironmentService, ServerEnvironmentService, ServerParsedArgs } from 'vs/server/node/serverEnvironmentService';
|
||||
import { ExtensionManagementCLIService } from 'vs/platform/extensionManagement/common/extensionManagementCLIService';
|
||||
import { ILocalizationsService } from 'vs/platform/localizations/common/localizations';
|
||||
import { LocalizationsService } from 'vs/platform/localizations/node/localizations';
|
||||
import { ILanguagePackService } from 'vs/platform/languagePacks/common/languagePacks';
|
||||
import { LanguagePackService } from 'vs/platform/languagePacks/node/languagePacks';
|
||||
import { getErrorMessage } from 'vs/base/common/errors';
|
||||
import { URI } from 'vs/base/common/uri';
|
||||
import { isAbsolute, join } from 'vs/base/common/path';
|
||||
@@ -104,7 +104,7 @@ class CliMain extends Disposable {
|
||||
services.set(IExtensionsScannerService, new SyncDescriptor(ExtensionsScannerService));
|
||||
services.set(IExtensionManagementService, new SyncDescriptor(ExtensionManagementService));
|
||||
services.set(IExtensionManagementCLIService, new SyncDescriptor(ExtensionManagementCLIService));
|
||||
services.set(ILocalizationsService, new SyncDescriptor(LocalizationsService));
|
||||
services.set(ILanguagePackService, new SyncDescriptor(LanguagePackService));
|
||||
|
||||
return new InstantiationService(services);
|
||||
}
|
||||
|
||||
@@ -35,8 +35,8 @@ import { SyncDescriptor } from 'vs/platform/instantiation/common/descriptors';
|
||||
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
|
||||
import { InstantiationService } from 'vs/platform/instantiation/common/instantiationService';
|
||||
import { ServiceCollection } from 'vs/platform/instantiation/common/serviceCollection';
|
||||
import { ILocalizationsService } from 'vs/platform/localizations/common/localizations';
|
||||
import { LocalizationsService } from 'vs/platform/localizations/node/localizations';
|
||||
import { ILanguagePackService } from 'vs/platform/languagePacks/common/languagePacks';
|
||||
import { LanguagePackService } from 'vs/platform/languagePacks/node/languagePacks';
|
||||
import { AbstractLogger, DEFAULT_LOG_LEVEL, getLogLevel, ILogService, LogLevel, LogService, MultiplexLogService } from 'vs/platform/log/common/log';
|
||||
import { LogLevelChannel } from 'vs/platform/log/common/logIpc';
|
||||
import { SpdLogLogger } from 'vs/platform/log/node/spdlogLog';
|
||||
@@ -159,7 +159,7 @@ export async function setupServerServices(connectionToken: ServerConnectionToken
|
||||
services.set(IExtensionManagementService, new SyncDescriptor(ExtensionManagementService));
|
||||
|
||||
const instantiationService: IInstantiationService = new InstantiationService(services);
|
||||
services.set(ILocalizationsService, instantiationService.createInstance(LocalizationsService));
|
||||
services.set(ILanguagePackService, instantiationService.createInstance(LanguagePackService));
|
||||
|
||||
const extensionManagementCLIService = instantiationService.createInstance(ExtensionManagementCLIService);
|
||||
services.set(IExtensionManagementCLIService, extensionManagementCLIService);
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
import { localize } from 'vs/nls';
|
||||
import { IEnvironmentService } from 'vs/platform/environment/common/environment';
|
||||
import { ILocalizationsService } from 'vs/platform/localizations/common/localizations';
|
||||
import { ILanguagePackService } from 'vs/platform/languagePacks/common/languagePacks';
|
||||
import { IQuickInputService, IQuickPickItem } from 'vs/platform/quickinput/common/quickInput';
|
||||
import { IJSONEditingService } from 'vs/workbench/services/configuration/common/jsonEditing';
|
||||
import { IHostService } from 'vs/workbench/services/host/browser/host';
|
||||
@@ -30,8 +30,8 @@ export class ConfigureLocaleAction extends Action2 {
|
||||
});
|
||||
}
|
||||
|
||||
private async getLanguageOptions(localizationService: ILocalizationsService): Promise<IQuickPickItem[]> {
|
||||
const availableLanguages = await localizationService.getLanguageIds();
|
||||
private async getLanguageOptions(localizationService: ILanguagePackService): Promise<IQuickPickItem[]> {
|
||||
const availableLanguages = await localizationService.getInstalledLanguages();
|
||||
availableLanguages.sort();
|
||||
|
||||
return availableLanguages
|
||||
@@ -41,7 +41,7 @@ export class ConfigureLocaleAction extends Action2 {
|
||||
|
||||
public override async run(accessor: ServicesAccessor): Promise<void> {
|
||||
const environmentService: IEnvironmentService = accessor.get(IEnvironmentService);
|
||||
const localizationService: ILocalizationsService = accessor.get(ILocalizationsService);
|
||||
const languagePackService: ILanguagePackService = accessor.get(ILanguagePackService);
|
||||
const quickInputService: IQuickInputService = accessor.get(IQuickInputService);
|
||||
const jsonEditingService: IJSONEditingService = accessor.get(IJSONEditingService);
|
||||
const hostService: IHostService = accessor.get(IHostService);
|
||||
@@ -50,7 +50,7 @@ export class ConfigureLocaleAction extends Action2 {
|
||||
const dialogService: IDialogService = accessor.get(IDialogService);
|
||||
const productService: IProductService = accessor.get(IProductService);
|
||||
|
||||
const languageOptions = await this.getLanguageOptions(localizationService);
|
||||
const languageOptions = await this.getLanguageOptions(languagePackService);
|
||||
const currentLanguageIndex = languageOptions.findIndex(l => l.label === language);
|
||||
|
||||
try {
|
||||
@@ -6,9 +6,7 @@
|
||||
import { localize } from 'vs/nls';
|
||||
import { Registry } from 'vs/platform/registry/common/platform';
|
||||
import { IWorkbenchContribution, Extensions as WorkbenchExtensions, IWorkbenchContributionsRegistry } from 'vs/workbench/common/contributions';
|
||||
import { registerAction2 } from 'vs/platform/actions/common/actions';
|
||||
import { Disposable } from 'vs/base/common/lifecycle';
|
||||
import { ConfigureLocaleAction } from 'vs/workbench/contrib/localizations/browser/localizationsActions';
|
||||
import { ExtensionsRegistry } from 'vs/workbench/services/extensions/common/extensionsRegistry';
|
||||
import { LifecyclePhase } from 'vs/workbench/services/lifecycle/common/lifecycle';
|
||||
import * as platform from 'vs/base/common/platform';
|
||||
@@ -20,11 +18,13 @@ import { IEnvironmentService } from 'vs/platform/environment/common/environment'
|
||||
import { IHostService } from 'vs/workbench/services/host/browser/host';
|
||||
import { IStorageService, StorageScope, StorageTarget } from 'vs/platform/storage/common/storage';
|
||||
import { VIEWLET_ID as EXTENSIONS_VIEWLET_ID, IExtensionsViewPaneContainer } from 'vs/workbench/contrib/extensions/common/extensions';
|
||||
import { minimumTranslatedStrings } from 'vs/workbench/contrib/localizations/browser/minimalTranslations';
|
||||
import { minimumTranslatedStrings } from 'vs/workbench/contrib/localization/electron-sandbox/minimalTranslations';
|
||||
import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
|
||||
import { CancellationToken } from 'vs/base/common/cancellation';
|
||||
import { IPaneCompositePartService } from 'vs/workbench/services/panecomposite/browser/panecomposite';
|
||||
import { ViewContainerLocation } from 'vs/workbench/common/views';
|
||||
import { registerAction2 } from 'vs/platform/actions/common/actions';
|
||||
import { ConfigureLocaleAction } from 'vs/workbench/contrib/localization/browser/localizationsActions';
|
||||
|
||||
// Register action to configure locale and related settings
|
||||
registerAction2(ConfigureLocaleAction);
|
||||
@@ -117,7 +117,7 @@ export class LocalizationWorkbenchContribution extends Disposable implements IWo
|
||||
const loc = manifest && manifest.contributes && manifest.contributes.localizations && manifest.contributes.localizations.filter(x => x.languageId.toLowerCase() === locale)[0];
|
||||
const languageName = loc ? (loc.languageName || locale) : locale;
|
||||
const languageDisplayName = loc ? (loc.localizedLanguageName || loc.languageName || locale) : locale;
|
||||
const translationsFromPack: any = translation && translation.contents ? translation.contents['vs/workbench/contrib/localizations/browser/minimalTranslations'] : {};
|
||||
const translationsFromPack: any = translation && translation.contents ? translation.contents['vs/workbench/contrib/localization/electron-sandbox/minimalTranslations'] : {};
|
||||
const promptMessageKey = extensionToInstall ? 'installAndRestartMessage' : 'showLanguagePackExtensions';
|
||||
const useEnglish = !translationsFromPack[promptMessageKey];
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { ILocalizationsService } from 'vs/platform/localizations/common/localizations';
|
||||
import { ILanguagePackService } from 'vs/platform/languagePacks/common/languagePacks';
|
||||
import { registerSharedProcessRemoteService } from 'vs/platform/ipc/electron-sandbox/services';
|
||||
|
||||
registerSharedProcessRemoteService(ILocalizationsService, 'localizations', { supportsDelayedInstantiation: true });
|
||||
registerSharedProcessRemoteService(ILanguagePackService, 'languagePacks', { supportsDelayedInstantiation: true });
|
||||
@@ -58,7 +58,7 @@ import 'vs/workbench/services/extensionManagement/electron-sandbox/extensionMana
|
||||
import 'vs/workbench/services/extensionManagement/electron-sandbox/extensionUrlTrustService';
|
||||
import 'vs/workbench/services/credentials/electron-sandbox/credentialsService';
|
||||
import 'vs/workbench/services/encryption/electron-sandbox/encryptionService';
|
||||
import 'vs/workbench/services/localizations/electron-sandbox/localizationsService';
|
||||
import 'vs/workbench/services/localization/electron-sandbox/languagePackService';
|
||||
import 'vs/workbench/services/telemetry/electron-sandbox/telemetryService';
|
||||
import 'vs/workbench/services/extensions/electron-sandbox/extensionHostStarter';
|
||||
import 'vs/platform/extensionManagement/electron-sandbox/extensionsScannerService';
|
||||
@@ -98,7 +98,7 @@ registerSingleton(IUserDataInitializationService, UserDataInitializationService)
|
||||
import 'vs/workbench/contrib/logs/electron-sandbox/logs.contribution';
|
||||
|
||||
// Localizations
|
||||
import 'vs/workbench/contrib/localizations/browser/localizations.contribution';
|
||||
import 'vs/workbench/contrib/localization/electron-sandbox/localization.contribution';
|
||||
|
||||
// Explorer
|
||||
import 'vs/workbench/contrib/files/electron-sandbox/files.contribution';
|
||||
|
||||
Reference in New Issue
Block a user