🎨 Internationalization supports Japanese https://github.com/siyuan-note/siyuan/pull/11212

This commit is contained in:
Daniel 2024-05-01 16:10:07 +08:00
parent 71d00fc8f8
commit 6e0da992af
No known key found for this signature in database
GPG key ID: 86211BA83DF03017
7 changed files with 18 additions and 6 deletions

View file

@ -210,6 +210,7 @@
<option value="fr_FR">Français</option>
<option value="zh_CN">简体中文</option>
<option value="zh_CHT">繁體中文</option>
<option value="jp_JP">日本語</option>
</select>
</label>
<label class="b3-label">
@ -253,6 +254,7 @@
<option value="fr_FR">Français</option>
<option value="zh_CN">简体中文</option>
<option value="zh_CHT">繁體中文</option>
<option value="jp_JP">日本語</option>
</select>
</label>
<label class="b3-label">

View file

@ -6,7 +6,7 @@ import {Constants} from "../constants";
import {exportLayout, resetLayout} from "../layout/util";
import {isBrowser} from "../util/functions";
import {fetchPost} from "../util/fetch";
import {genOptions} from "../util/genOptions";
import {genLangOptions, genOptions} from "../util/genOptions";
import {openSnippets} from "./util/snippets";
import {loadAssets} from "../util/assets";
import {resetFloatDockSize} from "../layout/dock/util";
@ -94,7 +94,7 @@ export const appearance = {
<div class="b3-label__text">${window.siyuan.languages.language1}</div>
</div>
<span class="fn__space"></span>
<select id="lang" class="b3-select fn__flex-center fn__size200">${genOptions(window.siyuan.config.langs, window.siyuan.config.appearance.lang)}</select>
<select id="lang" class="b3-select fn__flex-center fn__size200">${genLangOptions(window.siyuan.config.langs, window.siyuan.config.appearance.lang)}</select>
</div>
<div class="b3-label config__item${isBrowser() ? " fn__none" : " fn__flex"}">
<div class="fn__flex-1">

View file

@ -190,6 +190,7 @@ export abstract class Constants {
en_US: "20210808180117-6v0mkxr",
fr_FR: "20210808180117-6v0mkxr",
es_ES: "20210808180117-6v0mkxr",
jp_JP: "20210808180117-6v0mkxr",
};
public static readonly QUICK_DECK_ID = "20230218211946-2kw8jgx";

View file

@ -1,5 +1,5 @@
import {fetchPost} from "../../util/fetch";
import {genOptions} from "../../util/genOptions";
import {genLangOptions, genOptions} from "../../util/genOptions";
import {openModel} from "../menu/model";
export const initAppearance = () => {
@ -40,7 +40,7 @@ export const initAppearance = () => {
<div class="b3-label">
${window.siyuan.languages.language}
<div class="fn__hr"></div>
<select id="lang" class="b3-select fn__block">${genOptions(window.siyuan.config.langs, window.siyuan.config.appearance.lang)}</select>
<select id="lang" class="b3-select fn__block">${genLangOptions(window.siyuan.config.langs, window.siyuan.config.appearance.lang)}</select>
<div class="b3-label__text">${window.siyuan.languages.language1}</div>
</div>`,
bindEvent(modelMainElement: HTMLElement) {

View file

@ -263,7 +263,7 @@ declare namespace Config {
* User interface language
* Same as {@link IAppearance.lang}
*/
export type TLang = "en_US" | "es_ES" | "fr_FR" | "zh_CHT" | "zh_CN";
export type TLang = "en_US" | "es_ES" | "fr_FR" | "zh_CHT" | "zh_CN" | "jp_JP";
/**
* SiYuan bazaar related configuration

View file

@ -9,3 +9,12 @@ export const genOptions = (data: string[] | { label: string, name: string }[], k
});
return html;
};
export const genLangOptions = (data: { label: string, name: string }[], key: string) => {
let html = "";
data.forEach((item: { label: string, name: string }) => {
html += `<option value="${item.name}" ${key === item.name ? "selected" : ""}>${item.label} (${item.name})</option>`;
});
return html;
};

View file

@ -79,7 +79,7 @@ func Boot() {
readOnly := flag.String("readonly", "false", "read-only mode")
accessAuthCode := flag.String("accessAuthCode", "", "access auth code")
ssl := flag.Bool("ssl", false, "for https and wss")
lang := flag.String("lang", "", "zh_CN/zh_CHT/en_US/fr_FR/es_ES")
lang := flag.String("lang", "", "zh_CN/zh_CHT/en_US/fr_FR/es_ES/jp_JP")
mode := flag.String("mode", "prod", "dev/prod")
flag.Parse()