Skip to content

Fix language #893

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 16 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 9 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,13 @@
# code-server [!["Open Issues"](https://img.shields.io/github/issues-raw/cdr/code-server.svg)](https://github.com/cdr/code-server/issues) [!["Latest Release"](https://img.shields.io/github/release/cdr/code-server.svg)](https://github.com/cdr/code-server/releases/latest) [![MIT license](https://img.shields.io/badge/license-MIT-green.svg)](https://github.com/cdr/code-server/blob/master/LICENSE) [![Discord](https://img.shields.io/discord/463752820026376202.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/zxSwN8Z)
# code-server

**code-server v2 is almost out!**
[Get the preview here](https://github.com/cdr/code-server/releases).
(Linux builds only at the moment.)

修复语言包支持 (Fix language support)
需要安装于vscode相匹配的语言包版本,如果通过左侧扩展栏安装出现错误,请下载对应的 MS-CEINTL.vscode-language-pack-zh-hans-1.xx.x.vsix 文件 通过 shift+command (ctrl)+P 安装vsix文件

[!["Open Issues"](https://img.shields.io/github/issues-raw/cdr/code-server.svg)](https://github.com/cdr/code-server/issues)
[!["Latest Release"](https://img.shields.io/github/release/cdr/code-server.svg)](https://github.com/cdr/code-server/releases/latest)
[![MIT license](https://img.shields.io/badge/license-MIT-green.svg)](https://github.com/cdr/code-server/blob/master/LICENSE)
[![Discord](https://img.shields.io/discord/463752820026376202.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/zxSwN8Z)

`code-server` is [VS Code](https://github.com/Microsoft/vscode) running on a remote server, accessible through the browser.

Expand Down
Binary file modified doc/assets/ide.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions packages/protocol/src/browser/client.ts
Original file line number Diff line number Diff line change
Expand Up @@ -281,6 +281,7 @@ export class Client {
extraExtensionDirectories: init.getExtraExtensionDirectoriesList(),
extraBuiltinExtensionDirectories: init.getExtraBuiltinExtensionDirectoriesList(),
env: init.getEnvMap(),
languageTranslateData: init.getLanguageTranslateData(), // @www.ps.dev
};
this.initDataEmitter.emit(this._initData);
break;
Expand Down
2 changes: 2 additions & 0 deletions packages/protocol/src/common/connection.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@ export interface InitData {
readonly extraExtensionDirectories: string[];
readonly extraBuiltinExtensionDirectories: string[];
readonly env: jspb.Map<string, string>;
// @www.ps.dev
readonly languageTranslateData: string;
}

export interface SharedProcessData {
Expand Down
34 changes: 31 additions & 3 deletions packages/protocol/src/node/server.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,11 @@ import { ChildProcessModuleProxy, ForkProvider, FsModuleProxy, NetModuleProxy, N

// tslint:disable no-any

// @www.ps.dev
export interface LanguageConfiguration {
locale: string;
}

export interface ServerOptions {
readonly workingDirectory: string;
readonly dataDirectory: string;
Expand All @@ -18,6 +23,7 @@ export interface ServerOptions {
readonly extraExtensionDirectories?: string[];
readonly extraBuiltinExtensionDirectories?: string[];
readonly fork?: ForkProvider;
readonly getLanguageTranslateData?: () => Promise<LanguageConfiguration>; // @www.ps.dev
}

interface ProxyData {
Expand Down Expand Up @@ -104,13 +110,35 @@ export class Server {
initMsg.setExtraExtensionDirectoriesList(this.options.extraExtensionDirectories || []);
initMsg.setExtraBuiltinExtensionDirectoriesList(this.options.extraBuiltinExtensionDirectories || []);

// @www.ps.dev
const getLanguageTranslateData = this.options.getLanguageTranslateData
|| ((): Promise<LanguageConfiguration> => Promise.resolve({
locale: "en",
}));

getLanguageTranslateData().then((languageData) => {
try {
initMsg.setLanguageTranslateData(JSON.stringify(languageData));
} catch (error) {
logger.error("Unable to send language config", field("error", error));
}

const srvMsg = new ServerMessage();
srvMsg.setInit(initMsg);
connection.send(srvMsg.serializeBinary());
}).catch((error) => {
logger.error(error.message, field("error", error));
});
// end @www.ps.dev

for (let key in process.env) {
initMsg.getEnvMap().set(key, process.env[key] as string);
}

const srvMsg = new ServerMessage();
srvMsg.setInit(initMsg);
connection.send(srvMsg.serializeBinary());
// @www.ps.dev move in getLanguageTranslateData 👆
// const srvMsg = new ServerMessage();
// srvMsg.setInit(initMsg);
// connection.send(srvMsg.serializeBinary());
}

/**
Expand Down
3 changes: 3 additions & 0 deletions packages/protocol/src/proto/client.proto
Original file line number Diff line number Diff line change
Expand Up @@ -46,4 +46,7 @@ message WorkingInit {
repeated string extra_builtin_extension_directories = 10;

map<string, string> env = 11;

// @www.ps.dev
string language_translate_data = 12;
}
4 changes: 4 additions & 0 deletions packages/protocol/src/proto/client_pb.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -147,6 +147,9 @@ export class WorkingInit extends jspb.Message {

getEnvMap(): jspb.Map<string, string>;
clearEnvMap(): void;
getLanguageTranslateData(): string;
setLanguageTranslateData(value: string): void;

serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): WorkingInit.AsObject;
static toObject(includeInstance: boolean, msg: WorkingInit): WorkingInit.AsObject;
Expand All @@ -170,6 +173,7 @@ export namespace WorkingInit {
extraExtensionDirectoriesList: Array<string>,
extraBuiltinExtensionDirectoriesList: Array<string>,
envMap: Array<[string, string]>,
languageTranslateData: string,
}

export enum OperatingSystem {
Expand Down
Loading