Reaching Chinese-speaking users: a zh-CN page on rectangleapp.com, a China-reachable download path, and the community side

Open
#1,929 4 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 3 days

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
28/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
github, html, markdown, swift

Research direction

Start by reviewing the existing website pages at /, /pro, and /comparison, plus the Sparkle feed and download links; the issue names these as the files and paths to change. Decide whether to host the Chinese pages and self-host downloads, and confirm the China routing and bandwidth approach with maintainers. Done means agreed scope is implemented, Chinese pages and download/update paths work, and the listed website text issues are addressed.

Written by the indexing model from the issue text.

Description

Now that the app (#1916) and the README (#1928) are fully in Simplified Chinese, I'd like to help Chinese-speaking users actually find, install and update Rectangle. Three parts: the first two need you, the third is on me.

1. A Simplified Chinese version of rectangleapp.com (I supply the files)

The marketing copy is small: roughly 230 words on /, 376 on /pro and 234 on /comparison. I'd send you drop-in static files, zh-cn/index.html, zh-cn/pro/index.html and optionally zh-cn/comparison/index.html, that reuse your existing /assets, keep the same Paddle vendor/product IDs (plus data-locale="zh-Hans" on the checkout button, which Paddle Classic supports), set lang="zh-CN" with a PingFang-first font stack (Source Sans Pro has no CJK glyphs), and carry hreflang links. On your side it's copying the files in and adding two hreflang lines to the English pages. EULA and Terms stay in English with a note that the English text prevails. I'd commit to resending updated files whenever the English copy changes.

If you'd rather not host a second language at all, the zero-effort fallback is a footer link to README.zh-Hans.md; the catch is that GitHub is often unreachable from mainland China.

2. The download and update path from mainland China

Both the Download button and every enclosure in the Sparkle feed point at github.com, which GreatFire measured as disrupted in 64% of its tests over the last 90 days (release-assets itself passes). Rectangle Pro already self-hosts its DMG and deltas under rectangleapp.com/pro/downloads/; doing the same for the free app would take the github.com hop out of both downloads and updates, and Sparkle's EdDSA signatures keep the files tamper-proof wherever they're hosted. If bandwidth is the concern (about 0.9 TB per release at v2.0.3's download count), a Cloudflare redirect rule could send only ip.src.country eq "CN" to the self-hosted copy. A stable /download redirect would also mean one link to update per release instead of every hard-coded one.

Optional, and only if Pro sales from China matter to you: Paddle Classic supports Alipay as an Early Access feature with a fixed CNY price (checkout currently shows an auto-converted ¥68.12).

3. What I'll do on the community side
  • Add a "mainland China users: download & update" section to README.zh-Hans.md: official sources only, Homebrew proxy notes (the TUNA/USTC mirrors don't cover the DMG), and how to verify the notarized build with spctl.
  • Once the first release containing #1916 ships, write clearly disclosed posts as the translation contributor, never as anything "official", on the usual Chinese Mac communities (少数派, V2EX, a short Bilibili demo, existing 知乎 questions), linking only rectangleapp.com, GitHub and brew install --cask rectangle, and warning people off the third-party "中文版 / Pro" download sites.
  • Keep zh-Hans in sync each release, and complete Traditional Chinese next (170 of 367 strings today).

Would you take the zh-cn pages? If yes, I'll start on the files right away.

Small website nits noticed along the way: the homepage still says macOS 10.15+ (2.x needs 14+), /pro/ has a stray {{ url_for(...) }} tag, and "shortctus" on /comparison.

Dominant language
Swift
Stars
30.2k
Forks
1k
Avg merge
3d 1h
Merged PRs (30d)
38

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from rxhanson/Rectangle

All issues in rxhanson/Rectangle

Similar issues

More Swift issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.