Skip to content
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

feat: i18n for backend #344

Merged
merged 5 commits into from
Jan 19, 2023
Merged

feat: i18n for backend #344

merged 5 commits into from
Jan 19, 2023

Conversation

qwqcode
Copy link
Member

@qwqcode qwqcode commented Jan 18, 2023

No description provided.

@qwqcode qwqcode added the working In process label Jan 18, 2023
@qwqcode qwqcode merged commit 42a714b into refactor/bump-to-monorepo Jan 19, 2023
@qwqcode qwqcode deleted the i18n/backend branch January 19, 2023 12:11
qwqcode added a commit that referenced this pull request Jan 19, 2023
* i18n: add i18n for server pacakge

Signed-off-by: qwqcode <[email protected]>

* i18n: add i18n for cmd pacakge

Signed-off-by: qwqcode <[email protected]>

* feat: add mustache syntax support for i18n.T in backend

Signed-off-by: qwqcode <[email protected]>

* i18n: improve i18n for backend further

Signed-off-by: qwqcode <[email protected]>

* i18n: `zh-CN` translation for backend

Signed-off-by: qwqcode <[email protected]>

Signed-off-by: qwqcode <[email protected]>
qwqcode added a commit that referenced this pull request Jan 19, 2023
* feat: Update config example file.

Signed-off-by: qwqcode <[email protected]>

* fix: Wrong logic of captcha 'always' config.

Signed-off-by: qwqcode <[email protected]>

* fix: Reduce the use of native raw SQL to process boolean judgments and transfer them to ORM for processing.

Signed-off-by: qwqcode <[email protected]>

* chore: Update artalk-go.example.yml.

Signed-off-by: qwqcode <[email protected]>

* fix(UA): Cooperate with client-side to correct Win11 UA.

Signed-off-by: qwqcode <[email protected]>

* feat: Add script to build artalk-sidebar

Signed-off-by: qwqcode <[email protected]>

* chore: Remove deprecated artransfer cdoe

Signed-off-by: qwqcode <[email protected]>

* docs: Update README.md

Signed-off-by: qwqcode <[email protected]>

* fix: Dockerfile install bash

Signed-off-by: qwqcode <[email protected]>

* chore: Script check and install yarn

Signed-off-by: qwqcode <[email protected]>

* feat: Use bluemonday sanitizer

Signed-off-by: qwqcode <[email protected]>

* chore: Update script use volta install node

Signed-off-by: qwqcode <[email protected]>

* feat: Global trusted_domain config

Signed-off-by: qwqcode <[email protected]>

* feat: trusted_domains disable referer check

Signed-off-by: qwqcode <[email protected]>

* feat: Remove example config allow_origins field

Signed-off-by: qwqcode <[email protected]>

* feat: Page PV counter

Signed-off-by: qwqcode <[email protected]>

* feat(pv): Make route rule & create pvs table

Signed-off-by: qwqcode <[email protected]>

* docs: Update README.md

Signed-off-by: qwqcode <[email protected]>

* fix(captcha): Always-mode fail on the first req & modify font size

Signed-off-by: qwqcode <[email protected]>

* fix(typo): CaptchaCheck typo

Signed-off-by: qwqcode <[email protected]>

* feat(api/get): SortBy & ViewOnlyAdmin param support.

Signed-off-by: qwqcode <[email protected]>

* feat(model): Add IsPinned field into commnent model.

Signed-off-by: qwqcode <[email protected]>

* feat(pin): Update admin_comment_edit api to edit IsPinned

Signed-off-by: qwqcode <[email protected]>

* feat(pin): Pin comments keep most top & Child-comments recursive query use Cooked.

Signed-off-by: qwqcode <[email protected]>

* docs: Update README.md

Signed-off-by: qwqcode <[email protected]>

* feat(img-upload): Add img-upload option to config file.

Signed-off-by: qwqcode <[email protected]>

* feat(img-upload): Image Upload Api

Signed-off-by: qwqcode <[email protected]>

* feat(img-upload): Upload rate limitation.

Signed-off-by: qwqcode <[email protected]>

* feat(img-upload): Upload using upgit

Signed-off-by: qwqcode <[email protected]>

* docs: Update README.md

Signed-off-by: qwqcode <[email protected]>

* feat(img-upload): Admin always enable img_upload function.

Signed-off-by: qwqcode <[email protected]>

* fix(img-upload): Set img_upload.path defualt value

Signed-off-by: qwqcode <[email protected]>

* chore: Modify img_upload.max_size example value.

Signed-off-by: qwqcode <[email protected]>

* feat(self-upgrade): Add cmd Self-upgrade function

Signed-off-by: qwqcode <[email protected]>

* chore(pkm): Replace yarn to pnpm.

Signed-off-by: qwqcode <[email protected]>

* fix(admin_site_edit): Split urls and TrimSpace to allow Space around sep char.

Signed-off-by: qwqcode <[email protected]>

* feat(notify): Various ways to send notify message for admin.

Signed-off-by: qwqcode <[email protected]>

* chore: Modify FeMinVersion to 2.1.9

Signed-off-by: qwqcode <[email protected]>

* feat(cmd): Add workdir parameter & gen cmd.

Signed-off-by: qwqcode <[email protected]>

* fix(docker): Run artalk-go anywhere with a right config

Signed-off-by: qwqcode <[email protected]>

* chore(license): Relicense project to LGPL-v3

Signed-off-by: qwqcode <[email protected]>

* feat(tencent_tms): Support tencent tms for Spam detection.

Signed-off-by: qwqcode <[email protected]>

* feat(anti-spam): Support Aliyun for Spam detection.

Signed-off-by: qwqcode <[email protected]>

* feat(anti-spam): Support KeyWords for Spam detection.

Signed-off-by: qwqcode <[email protected]>

* fix: Truncate Chinese character issue.

Signed-off-by: qwqcode <[email protected]>

* refactor(notify_launcher): notify_launcher refactor and fix some bugs.

Signed-off-by: qwqcode <[email protected]>

* feat(geetest): Access geetest API

Signed-off-by: qwqcode <[email protected]>

* feat(geetest): Provide geetest check API for frontend.

Signed-off-by: qwqcode <[email protected]>

* fix(captcha): Fix lots of bugs.

Signed-off-by: qwqcode <[email protected]>

* fix(api_main_get): Msg center disable comment-pin.

Signed-off-by: qwqcode <[email protected]>

* feat(api): Get login status API

Signed-off-by: qwqcode <[email protected]>

* fix(limit-middleware): Precise match & fix disable captcha config.

Signed-off-by: qwqcode <[email protected]>

* feat(cmd): Add config cmd

Signed-off-by: qwqcode <[email protected]>

* fix(api_version): Trim version prefix v char

Signed-off-by: qwqcode <[email protected]>

* docs: Update README.md

Signed-off-by: qwqcode <[email protected]>

* feat(api): Modify some APIs method to post

Signed-off-by: qwqcode <[email protected]>

* feat(version): Update Frontend min version to 2.2.1

Signed-off-by: qwqcode <[email protected]>

* docs: Update README.md

Signed-off-by: qwqcode <[email protected]>

* fix(import/export): Fix some bugs & simplify code

Signed-off-by: qwqcode <[email protected]>

* chore: Modify build-frontend.sh to use the latest commit

Signed-off-by: qwqcode <[email protected]>

* feat(api-import-upload): Frontend importer upload before.

Signed-off-by: qwqcode <[email protected]>

* chore: Update FeMinVersion to v2.2.2

Signed-off-by: qwqcode <[email protected]>

* chore: Update docker-compose.yml

Signed-off-by: qwqcode <[email protected]>

* fix: Geetest js resource url

Signed-off-by: qwqcode <[email protected]>

* feat(db): Remove formal foreign key constraints

Signed-off-by: qwqcode <[email protected]>

* fix(importer): UrlResolver avoid end of slash being removed

Signed-off-by: qwqcode <[email protected]>

* feat: Admin update all title of pages.

Signed-off-by: qwqcode <[email protected]>

* refactor: Improve GetLinkToReply logic

Signed-off-by: qwqcode <[email protected]>

* feat(api): Add Accessible URL fields

Signed-off-by: qwqcode <[email protected]>

* feat(api_login_status): Add is_admin field

Signed-off-by: qwqcode <[email protected]>

* feat: Page title fetch support meta tag redirect link

Signed-off-by: qwqcode <[email protected]>

* feat(api): Site cannot find err mark

Signed-off-by: qwqcode <[email protected]>

* chore: Remove pvs table & merge pv field to page table.

Signed-off-by: qwqcode <[email protected]>

* feat(api_admin_page_fetch): Add GetStatus parameter.

Signed-off-by: qwqcode <[email protected]>

* fix(upgrade): Upgrade cmd load config

Signed-off-by: qwqcode <[email protected]>

* feat(api_add): Allow patch user-agent parameter

Signed-off-by: qwqcode <[email protected]>

* fix(geetest): Static page prevent cache

Signed-off-by: qwqcode <[email protected]>

* chore: Update frontend to 2.2.6

Signed-off-by: qwqcode <[email protected]>

* refactor: Bind API actions under a struct.

Signed-off-by: qwqcode <[email protected]>

* refactor: Replace global variable lib.DB with injected db.

Signed-off-by: qwqcode <[email protected]>

* chore: Add some comments.

Signed-off-by: qwqcode <[email protected]>

* chore: First testing.

Signed-off-by: qwqcode <[email protected]>

* test(model): Find & Create actions.

Signed-off-by: qwqcode <[email protected]>

* feat(upgit): Config del_local to remove local file after uploaded.

Signed-off-by: qwqcode <[email protected]>

* chore(conf): Update artalk-go.example.yml file.

Signed-off-by: qwqcode <[email protected]>

* feat(cache): Almost full cache coverage.

Signed-off-by: qwqcode <[email protected]>

* fix: Cache add mutex lock

Signed-off-by: qwqcode <[email protected]>

* fix: Add lock prevent query db repeatedly while cache miss.

Signed-off-by: qwqcode <[email protected]>

* fix: Add lock in ChildCommentCacheSave

Signed-off-by: qwqcode <[email protected]>

* feat: FindCommentChildren query db while cache miss

Signed-off-by: qwqcode <[email protected]>

* feat(cache): Support redis & memcache

Signed-off-by: qwqcode <[email protected]>

* chore(docs): Update README.md

Signed-off-by: qwqcode <[email protected]>

* fix(cache): ChildCommentCacheSave repeatedly cache while exist

Signed-off-by: qwqcode <[email protected]>

* feat(cache): Replace built-in json lib with vmihailenco/msgpack to speed up

Signed-off-by: qwqcode <[email protected]>

* feat(importer): Speed up importer & fix some bugs.

Signed-off-by: qwqcode <[email protected]>

* fix(db): Support postgres database.

Signed-off-by: qwqcode <[email protected]>

* feat(conf): Config database options not just dsn.

Signed-off-by: qwqcode <[email protected]>

* fix(admin_edit): Remove cache before admin_edit.

Signed-off-by: qwqcode <[email protected]>

* fix(db): Fix query syntax error & importer vote recover.

Signed-off-by: qwqcode <[email protected]>

* fix(conf_admins): Preserve admin user which not in config file.

Signed-off-by: qwqcode <[email protected]>

* feat(api_admin_cache): Add api handle cache

Signed-off-by: qwqcode <[email protected]>

* feat(db): Allow set table_prefix

Signed-off-by: qwqcode <[email protected]>

* fix(db): Time type field use pointer to solve 0000-00-00 issue.

Signed-off-by: qwqcode <[email protected]>

* feat(conf): Support control Frontend Conf by Backend.

Signed-off-by: qwqcode <[email protected]>

* feat(upgrade): Upgrade command allow ignore version check.

Signed-off-by: qwqcode <[email protected]>

* chore(version): Update FeMinVersion to v2.2.8

Signed-off-by: qwqcode <[email protected]>

* fix(importer): Fix too many sql variables Err while too much items.

Signed-off-by: qwqcode <[email protected]>

* fix(validator): ValidateURL modify to IsRequestURL

Signed-off-by: qwqcode <[email protected]>

* fix(cache): Type conversion issue in Captcha part when using redis.

Signed-off-by: qwqcode <[email protected]>

* feat(user): Admin email sending isolation between sites.

Signed-off-by: qwqcode <[email protected]>

* chore(admin_check): Remove useless jwt middleware

Signed-off-by: qwqcode <[email protected]>

* chore(admin_check): Query user from db before check.

Signed-off-by: qwqcode <[email protected]>

* chore(admin_check): Remove useless AdminOnly method calls in each admin_api.

Signed-off-by: qwqcode <[email protected]>

* fix(cors): Import cors domains from db site urls.

Signed-off-by: qwqcode <[email protected]>

* chore(multi-site): Preliminary Site Manager Access control

Signed-off-by: qwqcode <[email protected]>

* chore(rename): Rename code files in http folder

Signed-off-by: qwqcode <[email protected]>

* refactor(api): Remove unnecessary parameter of ParamsDecode method

Signed-off-by: qwqcode <[email protected]>

* feat(multi-site): Isolate admin users among sites

Signed-off-by: qwqcode <[email protected]>

* refactor(api_get): Comments get api.

Signed-off-by: qwqcode <[email protected]>

* chore(cache): Replace all cache_marshaler global variable to cache.

Signed-off-by: qwqcode <[email protected]>

* chore: Rename Makefile file.

Signed-off-by: qwqcode <[email protected]>

* chore(makefile): Modify PHONY

Signed-off-by: qwqcode <[email protected]>

* test: Add fixtures & set up testing.

Signed-off-by: qwqcode <[email protected]>

* chore(model): Organize some methods

Signed-off-by: qwqcode <[email protected]>

* chore: Move some methods

Signed-off-by: qwqcode <[email protected]>

* fix(cache): Use SingleFlight to avoid Cache breakdown.

Signed-off-by: qwqcode <[email protected]>

* test(model): Add query_find test

Signed-off-by: qwqcode <[email protected]>

* test(model): Add query_del test

Signed-off-by: qwqcode <[email protected]>

* test(model): Add query_find_create test

Signed-off-by: qwqcode <[email protected]>

* test(page): GetAccessibleURL method

Signed-off-by: qwqcode <[email protected]>

* fix: Prevent unsafe svg image uploads

Signed-off-by: qwqcode <[email protected]>

* fix(transfer): Importer boot param parse.

Signed-off-by: qwqcode <[email protected]>

* fix(frontend-conf): Use pointer with omitempty to ignore frontend config output

Signed-off-by: qwqcode <[email protected]>

* fix(importer): UrlResolver disabled by default when a TargetSiteUrl is given

Signed-off-by: qwqcode <[email protected]>

* chore(version): Update FeMinVersion to 2.2.12

Signed-off-by: qwqcode <[email protected]>

* chore(dockerfile): Update pnpm to 7.0.0

Signed-off-by: qwqcode <[email protected]>

* feat(go): Update golang to v1.18.1

Signed-off-by: qwqcode <[email protected]>

* chore(test): Add CircleCI config

Signed-off-by: qwqcode <[email protected]>

* chore(docs): Add CircleCI shield

Signed-off-by: qwqcode <[email protected]>

* chore(pkg-manager): Update pnpm to 7.1.2

Signed-off-by: qwqcode <[email protected]>

* feat(api): New statistic api

Signed-off-by: qwqcode <[email protected]>

* chore(api/stat): Modify type names

Signed-off-by: qwqcode <[email protected]>

* chore(version): Update FeMinVersion to 2.3.0

Signed-off-by: qwqcode <[email protected]>

* fix(api/stat): Query when using default site

Signed-off-by: qwqcode <[email protected]>

* fix(cache): Duplicate display reply comments when pid cache is deleted

Signed-off-by: qwqcode <[email protected]>

* chore: Remove achieved TODO

Signed-off-by: qwqcode <[email protected]>

* fix(comment_add): PendingDefault ignore Admin user

Signed-off-by: qwqcode <[email protected]>

* fix(comment_edit): Resend email when comment is_pending status is modified

Signed-off-by: qwqcode <[email protected]>

* fix(api/stat): Add limit for comment_most_pages sql

Signed-off-by: qwqcode <[email protected]>

* feat(api/stat): Support 'rand_comments' and 'rand_pages' types & fix some bugs

Signed-off-by: qwqcode <[email protected]>

* fix(utils): func SplitAndTrimSpace remove blank items by default

Signed-off-by: qwqcode <[email protected]>

* chore(conf): Update FrontendConf

Signed-off-by: qwqcode <[email protected]>

* refactor(conf): Rename notify to admin_notify & admin_notify.email option

Signed-off-by: qwqcode <[email protected]>

* feat(conf): Support for admin_notify.email.enabled option

Signed-off-by: qwqcode <[email protected]>

* chore(conf): Prevent deprecated options from unmarshall in JSON

Signed-off-by: qwqcode <[email protected]>

* feat(conf): Support for admin_notify.noise_mode option

Signed-off-by: qwqcode <[email protected]>

* feat(notify): Support template & fix some bugs

Signed-off-by: qwqcode <[email protected]>

* fix(notify): Remove atk-emoticon img tags

Signed-off-by: qwqcode <[email protected]>

* feat(notify): Support WebHook notify

Signed-off-by: qwqcode <[email protected]>

* fix(time): Embed IANA timezone database in Windows build

Signed-off-by: qwqcode <[email protected]>

* fix(api/stat): Different RAND expressions for SQLite

Signed-off-by: qwqcode <[email protected]>

* feat(comment): Add field content_marked to render the markdown content

Signed-off-by: qwqcode <[email protected]>

* fix(trusted_domains): Extract from full URL with slash suffix & improve referer interceptor

Signed-off-by: qwqcode <[email protected]>

* fix(docker): Docker-compose file add build option

Signed-off-by: qwqcode <[email protected]>

* feat(gen): Gen cmd support overwrite file

Signed-off-by: qwqcode <[email protected]>

* refactor(docker): Use a folder to place config instead of mounting a single file

Signed-off-by: qwqcode <[email protected]>

* fix(dockerfile): Expose host for external device

Signed-off-by: qwqcode <[email protected]>

* fix(trusted_domains): Disable CORS restrictions

Signed-off-by: qwqcode <[email protected]>

* fix(docker): Entrypoint script gen command

Signed-off-by: qwqcode <[email protected]>

* perf(trusted_domains): Improve origin checker

Signed-off-by: qwqcode <[email protected]>

* chore: Remove some unused GET method API

Signed-off-by: qwqcode <[email protected]>

* chore(pkg-manager): Upgrade pnpm to 7.2.1

Signed-off-by: qwqcode <[email protected]>

* feat: Global site & origin checker & support cookie

Signed-off-by: qwqcode <[email protected]>

* chore(docs): Fix link (#39)

* refactor(api): Modify admin_comment_edit user merge logic

Signed-off-by: qwqcode <[email protected]>

* chore: Upgrade FeMinVersion to v2.3.4

Signed-off-by: qwqcode <[email protected]>

* fix(api): Modify to only api subpath enable SiteOrigin checker

Signed-off-by: qwqcode <[email protected]>

* feat(api): settings get & save

Signed-off-by: qwqcode <[email protected]>

* fix(importer): UrlResolver disabled by default

Signed-off-by: qwqcode <[email protected]>

* chore(version): upgrade FeMinVersion to 2.4.1

Signed-off-by: qwqcode <[email protected]>

* fix: replace gravatar default mirror

Signed-off-by: qwqcode <[email protected]>

* feat(api/login): support choose user when multi usernames use the same email

Signed-off-by: qwqcode <[email protected]>

* feat: root path redict to sidebar login page

Signed-off-by: qwqcode <[email protected]>

* fix(config): replace viper with koanf to make map case sensitivity (#47)

Signed-off-by: qwqcode <[email protected]>

Signed-off-by: qwqcode <[email protected]>

* chore(ci): set up CodeQL CI

* feat(email-tpl): add ip variable to email template

Signed-off-by: qwqcode <[email protected]>

* chore(deps): bump github.com/labstack/echo/v4 from 4.5.0 to 4.9.0 (#48)

Bumps [github.com/labstack/echo/v4](https://github.com/labstack/echo) from 4.5.0 to 4.9.0.
- [Release notes](https://github.com/labstack/echo/releases)
- [Changelog](https://github.com/labstack/echo/blob/master/CHANGELOG.md)
- [Commits](labstack/echo@v4.5.0...v4.9.0)

---
updated-dependencies:
- dependency-name: github.com/labstack/echo/v4
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): upgrade echo to v4.9.1

Signed-off-by: qwqcode <[email protected]>

* feat(api/admin): add user management api for admin

Signed-off-by: qwqcode <[email protected]>

* feat(api/comment): add search for comment list api

Signed-off-by: qwqcode <[email protected]>

* fix(artransfer): incorrect IsPinned reference to IsPending (#49)

Signed-off-by: qwqcode <[email protected]>

Signed-off-by: qwqcode <[email protected]>

* chore(api/admin): enhance user management api

Signed-off-by: qwqcode <[email protected]>

* feat(conf): auto-gen config file when initializing the app

Signed-off-by: qwqcode <[email protected]>

* feat(cmd): add admin command to create new user

Signed-off-by: qwqcode <[email protected]>

* perf(conf): only provide conf for frontend when fetching the first page

Signed-off-by: qwqcode <[email protected]>

* refactor: http origin checker

Signed-off-by: qwqcode <[email protected]>

* fix: add whitelist for origin checker

Signed-off-by: qwqcode <[email protected]>

* chore: upgrade FeMinVersion to v2.4.3

Signed-off-by: qwqcode <[email protected]>

* fix: crash when frontend config is not set

Signed-off-by: qwqcode <[email protected]>

* fix(api/comment_get): use frontend pageSize config

Signed-off-by: qwqcode <[email protected]>

* refactor: abstract email service

* Chore: no stage for the .idea directory

* Chore: abstract email service

* Chore: abstract email service

* Chore: initialize the channel in the function

* CI: Updated the Image version used by Circle CI to 1.18 to match `go.mod`

* Update config.yml

Co-authored-by: qwqcode <[email protected]>

* chore(CI): fix circleci cache

Signed-off-by: qwqcode <[email protected]>

* refactor: project package structure

Signed-off-by: qwqcode <[email protected]>

* refactor: replace pkger with go:embed

Signed-off-by: qwqcode <[email protected]>

* chore: update .gitignore

Signed-off-by: qwqcode <[email protected]>

* feat(go): upgrade to Go 1.19 and update some deps

Signed-off-by: qwqcode <[email protected]>

* chore: create dependabot.yml

* refactor: migrate from echo to go-fiber

Signed-off-by: qwqcode <[email protected]>

* fix(api/get): fix concurrent map writes error

Signed-off-by: qwqcode <[email protected]>

* feat(conf): add conf option for specific email tpl for admins

Signed-off-by: qwqcode <[email protected]>

* chore: move all to tmp dir

* refactor: merge ci workflows

* fix: naming conflict of node circleci

* refactor: move from tmp dir to root

* chore: rename dir frontend to public

Signed-off-by: qwqcode <[email protected]>

* refactor: build scripts and CI tests

Signed-off-by: qwqcode <[email protected]>

* refactor: renamed from artalk-go to artalk

* docs: migrate ArtalkJS/Docs to monorepo docs

* fix: frontend repository directory issue

* refactor: batch removing artalk `-go` postfix

* chore: example file in English

* docs: example in zh-CN

* fix: config alias and Dockerfile

Signed-off-by: qwqcode <[email protected]>

* fix: missing trusted_domains field

* feat: one-key site creating with artalk integrated

* docs: update setup-example-site.sh script usage

* chore: move files from `docs/docs` to `docs`

Signed-off-by: qwqcode <[email protected]>

* chore: rename `artalk.example_zh-CN.yml` to `artalk.example.zh-CN.yml`

Signed-off-by: qwqcode <[email protected]>

* fix: add `.npmignore` to fix NPM publish inclusion issue

Signed-off-by: qwqcode <[email protected]>

* fix: docker image build script

Signed-off-by: qwqcode <[email protected]>

* chore: merge .gitignore and clean up

Signed-off-by: qwqcode <[email protected]>

* feat: docker ci add support for building arm64 wheels

Signed-off-by: qwqcode <[email protected]>

* chore: rename `dockerhub.yml` to `docker.yml`

Signed-off-by: qwqcode <[email protected]>

* docs: add `CODE_OF_CONDUCT.md`

Signed-off-by: qwqcode <[email protected]>

* docs: update CONTRIBUTING.md `make debug-build`

* chore(makefile): add debug-build target

* feat: launch with vscode debugger

* refactor(scripts): double quote to prevent globbing and word splitting

* feat(i18n): add i18n support for backend (#343)

Signed-off-by: qwqcode <[email protected]>

* docs: add translation section to `CONTRIBUTING.md`

* feat(i18n): translations for backend (#344)

* i18n: add i18n for server pacakge

Signed-off-by: qwqcode <[email protected]>

* i18n: add i18n for cmd pacakge

Signed-off-by: qwqcode <[email protected]>

* feat: add mustache syntax support for i18n.T in backend

Signed-off-by: qwqcode <[email protected]>

* i18n: improve i18n for backend further

Signed-off-by: qwqcode <[email protected]>

* i18n: `zh-CN` translation for backend

Signed-off-by: qwqcode <[email protected]>

Signed-off-by: qwqcode <[email protected]>

Signed-off-by: qwqcode <[email protected]>
Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: KevinZønda <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: AHdark <[email protected]>
Co-authored-by: pluveto <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

2 participants