Code Monkey home page Code Monkey logo

trilium-translation's Introduction

Trilium Translation

中文说明 This repo provides a translation for the awesome Trilium Notes. If you'd like to translate Trilium Notes into any language you like, please follow this guide. Currently, I have translated Trilium Notes into Chinese. Tested with trilium version 0.47.2 - 0.49.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 server, trilium.exe for Windows, trilium.app for macOS).
  3. Enjoy :)

How to run server with docker

For Trilium Notes server, you can download my docker-compose.yml Then 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.

Your note data will be in the same directory of the docker-compose.yml file.


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 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 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.


Stargazers over time

Generated by caarlos0/starcharts.

Stargazers over time


Donation

If my work helped you, donation is very welcomed, I would be a great inspiration!

Alipay:
Alipay

Wechat Pay:
Wechat Pay


Thanks

Thank you for your support, it fills me with determination.

Thanks tr**one for donating 20.00 CNY!

Thanks 1*0 for donating 8.00 CNY for a MXBC milk tea!

Thanks **钧 for donating 38.00 CNY for a cup of coffee!

Thanks *风 for donating 25.00 CNY!

Thanks **进 for donating 25.00 CNY!

Thanks for the greate IDE Pycharm from Jetbrains.

Jetbrains

trilium-translation's People

Contributors

nriver avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.