Translation for Trilium Notes. Trilium Notes 中文版.

Overview

Trilium Translation

中文说明 This repo provides a translation for the awesome Trilium Notes. Currently, I have translated Trilium Notes into Chinese. Tested with trilium version 0.47.2 - 0.47.4.

Star this repo if you like it, thx :)

If you have old data, PLEASE BACK UP YOUR DATA BEFORE USE.

20210606135851579_1868988429

How to use

  1. Download from the latest Release that suit your computer system.
  2. Unzip and execute(trilium for Linux, trilium.sh for Linux sever, trilium.exe for Windows, trilium.app for macOS).
  3. Enjoy :)

How to run server with docker

For Trilium Notes server, you can run it with docker simply by executing:

docker-compose up -d

It will download the Chinese version of Trilium I built on Docker Hub.

Open http://127.0.0.1:8080 in your browser to access the server page.

How to translate

If you would like to check the code (my codes comes with Chinese and English comments, check it) and compile it by yourself. Here is some information may be useful.

WARNING! The scripts I wrote includes some 'rm -rf' commands, modify and use codes with care!

How does the translation work

It extracts the resource files from the latest Trilium Notes official release and use regular expression to replace UI text for each file. Then pack the translated files back into the package. Done.

Compile Environment Requirement

My environment is Manjaro(Linux)/macOS based, but you can make some change to work on other platform. You need to change some path configuration in my code to work on your machine.

Python3 with module

pip3 install requests --user

Nodejs with module

npm install -g asar
npm install -g webpack
npm install -g webpack-cli

7z if you want to make release

Translate Process

  1. Modify configurations in settings.py by the comments.
  2. Do translate in translations.py. (See translations_cn.py. There are over 1000 lines to translate, be patient :) )
  3. Run python3 init.py to download latest Trilium Notes.
  4. Run python3 trilium_trans.py to make a translation patch.
  5. Run python3 make_release.py to apply patch to releases for all platforms.

Note: In translations.py there are some texts begin or ends with quotes were made on purpose for regex match, do not remove them in your translation. There are some text like '${xxxx}' in the translation, these are the placeholder in the original Trilium Notes source code, do not modify them unless you know what you are doing.

More text to translate

If you'd like to translate more text, mark each text in the file that you want to translate with double brackets{{}} like I did in trilium_trans.py.

Put everything between double brackets into the dict in translations.py and translate to the language you like. (Some text were ended with }. Try to avoid triple brackets by change from ${xxx}}}' to something like ${xxx}'}} )

Limitations

The translation is hard-coded in the frontend/backend source code, so you can not switch between languages. If there were some mistakes in the translation, Trilium Notes may not function correctly. Therefore, please back up your data before use.

If you break Trilium Notes somehow, you need to redownload everything with init.py.

You might also like...
Open Source Neural Machine Translation in PyTorch
Open Source Neural Machine Translation in PyTorch

OpenNMT-py: Open-Source Neural Machine Translation OpenNMT-py is the PyTorch version of the OpenNMT project, an open-source (MIT) neural machine trans

Sequence-to-sequence framework with a focus on Neural Machine Translation based on Apache MXNet

Sockeye This package contains the Sockeye project, an open-source sequence-to-sequence framework for Neural Machine Translation based on Apache MXNet

An Analysis Toolkit for Natural Language Generation (Translation, Captioning, Summarization, etc.)
An Analysis Toolkit for Natural Language Generation (Translation, Captioning, Summarization, etc.)

VizSeq is a Python toolkit for visual analysis on text generation tasks like machine translation, summarization, image captioning, speech translation

Summarization, translation, sentiment-analysis, text-generation and more at blazing speed using a T5 version implemented in ONNX.
Summarization, translation, sentiment-analysis, text-generation and more at blazing speed using a T5 version implemented in ONNX.

Summarization, translation, Q&A, text generation and more at blazing speed using a T5 version implemented in ONNX. This package is still in alpha stag

A deep learning-based translation library built on Huggingface transformers

DL Translate A deep learning-based translation library built on Huggingface transformers and Facebook's mBART-Large 💻 GitHub Repository 📚 Documentat

A Paper List for Speech Translation

Keyword: Speech Translation, Spoken Language Processing, Natural Language Processing

Sequence-to-sequence framework with a focus on Neural Machine Translation based on Apache MXNet

Sequence-to-sequence framework with a focus on Neural Machine Translation based on Apache MXNet

Phrase-Based & Neural Unsupervised Machine Translation
Phrase-Based & Neural Unsupervised Machine Translation

Unsupervised Machine Translation This repository contains the original implementation of the unsupervised PBSMT and NMT models presented in Phrase-Bas

A PyTorch implementation of paper
A PyTorch implementation of paper "Learning Shared Semantic Space for Speech-to-Text Translation", ACL (Findings) 2021

Chimera: Learning Shared Semantic Space for Speech-to-Text Translation This is a Pytorch implementation for the "Chimera" paper Learning Shared Semant

Comments
  • docker 应用版本:0.51.2 ,启动出现错误

    docker 应用版本:0.51.2 ,启动出现错误

    ./node/bin/node[6]: ../src/node_platform.cc:61:std::unique_ptr node::WorkerThreadsTaskRunner::DelayedTaskScheduler::Start(): Assertion `(0) == (uv_thread_create(t.get(), start_thread, this))' failed. 1: 0xb09980 node::Abort() [./node/bin/node] 2: 0xb099fe [./node/bin/node] 3: 0xb78f9e [./node/bin/node] 4: 0xb79066 node::NodePlatform::NodePlatform(int, v8::TracingController*) [./node/bin/node] 5: 0xaccf49 node::InitializeOncePerProcess(int, char**, node::InitializationSettingsFlags, node::ProcessFlags::Flags) [./node/bin/node] 6: 0xacd1f9 node::Start(int, char**) [./node/bin/node] 7: 0x7fe215850d90 [/lib/x86_64-linux-gnu/libc.so.6] 8: 0x7fe215850e40 __libc_start_main [/lib/x86_64-linux-gnu/libc.so.6] 9: 0xa4076c [./node/bin/node] Aborted (core dumped)

    opened by Mn-Simple 9
  • 【问题】关于当前笔记显示其他笔记内容的问题

    【问题】关于当前笔记显示其他笔记内容的问题

    那个text类型的笔记是跟着0.56.1版本升级到0.56.2的。(个人电脑创建的笔记,跟着软件一同升级的数据,0.56.2) 那个book类型的笔记是在其他电脑上用旧版本0.56.1软件创建的,而且是以导入的方式导入到个人电脑中的。(其他电脑创建的笔记,软件并没有升级,还是0.56.1)

    我点击第一个笔记(text),显示的内容是正常的,点击下一个笔记,这个笔记类型是书(book),也很正常,但是问题来了,当点击前一个笔记(text)时,内容却不是第一个笔记(text)的内容,而是另一个笔记书(book)的内容,这就很奇怪了? 而且我还测试了上一级目录,发现内容都是book笔记的内容。 这个bug影响非常严重

    opened by nvcutrb 6
  • 如何管理图片

    如何管理图片

    感谢大佬提供的中文版本。 我的环境是Ubuntu 22.04 LTS x86_64(Py3.7.8) ,使用了宝塔和docker架设了trilium中文版。我在使用trilium的时候上传了一些图片,我现在不想要这些图片了,我该如何去删除?直接删除相关笔记的话,是否可以同时删除笔记里的图片和附件?谢谢了

    opened by maple185 2
  • 翻译修正:Copy/clone应为复制/克隆

    翻译修正:Copy/clone应为复制/克隆

    嗨,有一个小问题,右键菜单里的Copy/clone翻译成复制/克隆会更精准一点,因为triliumCopy/clone里的Copy不是字面意义的copy而是一种引用,具体解释可以参考这个克隆笔记

    我称这些为“clones”(克隆),但这有点误导性 - 没有原始和克隆的笔记 - 两个父类别中的笔记是相同的。

    同样,Clone to建议翻译成克隆到:)

    enhancement 
    opened by YiChuJun 2
Releases(v0.57.5_20221216)
Owner
A Python Holic ;)
Simple Python library, distributed via binary wheels with few direct dependencies, for easily using wav2vec 2.0 models for speech recognition

Wav2Vec2 STT Python Beta Software Simple Python library, distributed via binary wheels with few direct dependencies, for easily using wav2vec 2.0 mode

David Zurow 22 Dec 29, 2022
An extension for asreview implements a version of the tf-idf feature extractor that saves the matrix and the vocabulary.

Extension - matrix and vocabulary extractor for TF-IDF and Doc2Vec An extension for ASReview that adds a tf-idf extractor that saves the matrix and th

ASReview 4 Jun 17, 2022
SimBERT升级版(SimBERTv2)!

RoFormer-Sim RoFormer-Sim,又称SimBERTv2,是我们之前发布的SimBERT模型的升级版。 介绍 https://kexue.fm/archives/8454 训练 tensorflow 1.14 + keras 2.3.1 + bert4keras 0.10.6 下载

317 Dec 23, 2022
Dual languaged (rus+eng) tool for packing and unpacking archives of Silky Engine.

SilkyArcTool English Dual languaged (rus+eng) GUI tool for packing and unpacking archives of Silky Engine. It is not the same arc as used in Ai6WIN. I

Tester 5 Sep 15, 2022
The official implementation of VAENAR-TTS, a VAE based non-autoregressive TTS model.

VAENAR-TTS This repo contains code accompanying the paper "VAENAR-TTS: Variational Auto-Encoder based Non-AutoRegressive Text-to-Speech Synthesis". Sa

THUHCSI 138 Oct 28, 2022
gaiic2021-track3-小布助手对话短文本语义匹配复赛rank3、决赛rank4

决赛答辩已经过去一段时间了,我们队伍ac milan最终获得了复赛第3,决赛第4的成绩。在此首先感谢一些队友的carry~ 经过2个多月的比赛,学习收获了很多,也认识了很多大佬,在这里记录一下自己的参赛体验和学习收获。

102 Dec 19, 2022
Generating Korean Slogans with phonetic and structural repetition

LexPOS_ko Generating Korean Slogans with phonetic and structural repetition Generating Slogans with Linguistic Features LexPOS is a sequence-to-sequen

Yeoun Yi 3 May 23, 2022
Index different CKAN entities in Solr, not just datasets

ckanext-sitesearch Index different CKAN entities in Solr, not just datasets Requirements This extension requires CKAN 2.9 or higher and Python 3 Featu

Open Knowledge Foundation 3 Dec 02, 2022
🎐 a python library for doing approximate and phonetic matching of strings.

jellyfish Jellyfish is a python library for doing approximate and phonetic matching of strings. Written by James Turk James Turk 1.8k Dec 21, 2022

Client library to download and publish models and other files on the huggingface.co hub

huggingface_hub Client library to download and publish models and other files on the huggingface.co hub Do you have an open source ML library? We're l

Hugging Face 644 Jan 01, 2023
A PyTorch implementation of VIOLET

VIOLET: End-to-End Video-Language Transformers with Masked Visual-token Modeling A PyTorch implementation of VIOLET Overview VIOLET is an implementati

Tsu-Jui Fu 119 Dec 30, 2022
Repository to hold code for the cap-bot varient that is being presented at the SIIC Defence Hackathon 2021.

capbot-siic Repository to hold code for the cap-bot varient that is being presented at the SIIC Defence Hackathon 2021. Problem Inspiration A plethora

Aryan Kargwal 19 Feb 17, 2022
BROS: A Pre-trained Language Model Focusing on Text and Layout for Better Key Information Extraction from Documents

BROS (BERT Relying On Spatiality) is a pre-trained language model focusing on text and layout for better key information extraction from documents. Given the OCR results of the document image, which

Clova AI Research 94 Dec 30, 2022
jiant is an NLP toolkit

jiant is an NLP toolkit The multitask and transfer learning toolkit for natural language processing research Why should I use jiant? jiant supports mu

ML² AT CILVR 1.5k Jan 04, 2023
AI-powered literature discovery and review engine for medical/scientific papers

AI-powered literature discovery and review engine for medical/scientific papers paperai is an AI-powered literature discovery and review engine for me

NeuML 819 Dec 30, 2022
Module for automatic summarization of text documents and HTML pages.

Automatic text summarizer Simple library and command line utility for extracting summary from HTML pages or plain texts. The package also contains sim

Mišo Belica 3k Jan 08, 2023
vits chinese, tts chinese, tts mandarin

vits chinese, tts chinese, tts mandarin 史上训练最简单,音质最好的语音合成系统

AmorTX 12 Dec 14, 2022
translate using your voice

speech-to-text-translator Usage translate using your voice description this project makes translating a word easy, all you have to do is speak and...

1 Oct 18, 2021
Just a basic Telegram AI chat bot written in Python using Pyrogram.

Nikko ChatBot Just a basic Telegram AI chat bot written in Python using Pyrogram. Requirements Python 3.7 or higher. A bot token. Installation $ https

ʀᴇxɪɴᴀᴢᴏʀ 2 Oct 21, 2022
The aim of this task is to predict someone's English proficiency based on a text input.

English_proficiency_prediction_NLP The aim of this task is to predict someone's English proficiency based on a text input. Using the The NICT JLE Corp

1 Dec 13, 2021