* Add i18n framework with next-intl for 19 languages
Set up complete internationalization infrastructure:
- Install next-intl v4 with App Router support
- Create i18n config (routing, request, navigation)
- Add middleware for automatic locale detection from Accept-Language
- Restructure all routes under app/[locale]/
- Extract UI strings to messages/en.json
- Update all components to use useTranslations()
- Add language switcher dropdown in footer
- Support RTL for Arabic and Khmer
- Update sitemap with locale alternates
- Add generateStaticParams for all 19 locales
Languages: en, ja, zh-CN, zh-TW, ko, de, es, fr, it, da, pl, ru, bs, ar, no, pt-BR, th, tr, km
Locale detection: auto-detect from browser Accept-Language header,
with cookie persistence and locale prefix only for non-default (en).
* Add translations for de, fr, it, ja, zh-CN, zh-TW
* Add translations for ar, bs, da, es, km, no, pl, pt-BR, ru, th, tr
* Convert docs and legal pages to use useTranslations()
* Add i18n to keyboard shortcuts component
* Add i18n to wall-of-love, add missing blog posts to sitemap
* Add keyboard shortcuts and wallOfLove translations to all locales
* Update bun lockfile for next-intl dependency
* Fix t.rich() configPath: pass ReactNode not function for {var} interpolation
* Fix configPath: use rich text tag instead of plain interpolation for ReactNode
* Fix t.rich() interpolation: use rich text tags for all ReactNode placeholders
Changed {legacy}, {openShortcut}, {jumpShortcut} from plain variable
interpolation to <tag>content</tag> format so t.rich() gets proper
functions instead of values.
* Escape ICU curly braces in socketCallout rich text across all locales
* Fix i18n issues: Khmer RTL, zh-CN quality, locale-aware testimonials, hardcoded strings
- Fix Khmer (km) incorrectly marked as RTL (it's LTR, only Arabic is RTL)
- Fix zh-CN/zh-TW taglinePrefix to mention terminals and open source
- Add locale-aware testimonial translations: show original text, translate
for non-matching locales, skip translation when locale matches original
- Translate hardcoded English table content in notifications page
- Add testimonial translations to all 19 locale files
- Remove unused setRequestLocale import and params from home page
* Address PR review comments: metadata localization, blog fixes, legal pages, accessibility
- Convert hardcoded metadata to generateMetadata with getTranslations on all docs, blog, community, and wall-of-love pages
- Fix blog canonical/OG URLs to be locale-aware
- Fix introducing-cmux .split(": ") by using separate label/desc translation keys
- Revert legal page titles to English (legal content stays English-only)
- Add focus-visible ring to language switcher for keyboard accessibility
- Preserve query string and hash when switching locale
- Convert site-footer to server component (remove unnecessary "use client")
- Remove .toLowerCase() on translated text in community page
- Add /docs/browser-automation and /wall-of-love to sitemap
- Fix keyboard-shortcuts jump link visibility with trimmed query
- Deduplicate blogSlugs by importing from blog-posts.ts
- Add typingCodingAgents/typingMultitasking translation keys to all locales
- Fix Spanish accent/tilde issues in es.json testimonials
- Fix nested <a> tag in homepage keyboard shortcuts feature
- Remove unused setRequestLocale import from homepage
* Convert remaining layout/index metadata to generateMetadata
- Root layout: locale-aware title, description, OG, and Twitter card metadata
- Docs layout: translated title template
- Blog layout: translated title template
- Blog index: locale-aware metadata
* Add translated metadata keys to all locales, fix docs redirect
- Add meta.title/description/ogDescription to all 18 non-English locales
- Add docs.layoutTitle, blog.layoutTitle/metaTitle/metaDescription to all locales
- Add blog post metadata (zenOfCmux, cmdShiftU, showHnLaunch, introducingCmux) to all locales
- Add community.metaTitle/metaDescription to all locales
- Fix docs index redirect to preserve locale prefix
* Add translated docs page metaTitle keys to all locales
187 lines
7.5 KiB
TypeScript
187 lines
7.5 KiB
TypeScript
import type { Metadata } from "next";
|
|
|
|
export const metadata: Metadata = {
|
|
title: "Terms of Service — cmux",
|
|
description: "Terms of service for cmux",
|
|
};
|
|
|
|
export default function TermsOfServicePage() {
|
|
return (
|
|
<>
|
|
<h1>Terms of Service</h1>
|
|
<p>Last revised on: December 2, 2025</p>
|
|
|
|
<p>
|
|
The website located at{" "}
|
|
<a href="https://cmux.dev">cmux.dev</a> (the
|
|
“Site”) and the cmux desktop application (the
|
|
“Application”) are copyrighted works belonging to Manaflow
|
|
(“Company”, “us”, “our”, and
|
|
“we”). These Terms of Use (these “Terms”) set
|
|
forth the legally binding terms and conditions that govern your use of
|
|
the Site and Application.
|
|
</p>
|
|
<p>
|
|
By accessing or using the Site or Application, you are accepting these
|
|
Terms and you represent and warrant that you have the right, authority,
|
|
and capacity to enter into these Terms. You may not access or use the
|
|
Site or Application if you are not at least 18 years old. If you do not
|
|
agree with all of the provisions of these Terms, do not access and/or
|
|
use the Site or Application.
|
|
</p>
|
|
|
|
<h2>1. License</h2>
|
|
<p>
|
|
Subject to these Terms, Company grants you a non-transferable,
|
|
non-exclusive, revocable, limited license to use and access the Site and
|
|
Application for your personal or internal business purposes, including
|
|
commercial use in connection with your software development activities.
|
|
</p>
|
|
|
|
<h3>Restrictions</h3>
|
|
<p>The rights granted to you are subject to the following restrictions:</p>
|
|
<ul>
|
|
<li>
|
|
You shall not license, sell, rent, lease, transfer, assign,
|
|
distribute, host, or otherwise commercially exploit the Application
|
|
</li>
|
|
<li>
|
|
You shall not modify, make derivative works of, disassemble, reverse
|
|
compile or reverse engineer any part of the Application
|
|
</li>
|
|
<li>
|
|
You shall not access the Application in order to build a similar or
|
|
competitive product
|
|
</li>
|
|
</ul>
|
|
|
|
<h3>Modification</h3>
|
|
<p>
|
|
Company reserves the right, at any time, to modify, suspend, or
|
|
discontinue the Site or Application with or without notice to you.
|
|
Company will not be liable to you or any third party for any
|
|
modification, suspension, or discontinuation.
|
|
</p>
|
|
|
|
<h3>Ownership</h3>
|
|
<p>
|
|
You acknowledge that all intellectual property rights, including
|
|
copyrights, patents, trademarks, and trade secrets, in the Application
|
|
and its content are owned by Company or Company’s suppliers.
|
|
These Terms do not transfer to you any rights, title or interest in such
|
|
intellectual property, except for the limited license above. Company and
|
|
its suppliers reserve all rights not granted in these Terms.
|
|
</p>
|
|
|
|
<h3>Feedback</h3>
|
|
<p>
|
|
If you provide Company with any feedback or suggestions regarding the
|
|
Application, you hereby assign to Company all rights in such feedback
|
|
and agree that Company shall have the right to use such feedback in any
|
|
manner it deems appropriate.
|
|
</p>
|
|
|
|
<h2>2. User Content</h2>
|
|
<p>
|
|
You retain full ownership of all code, files, and content you create or
|
|
process using the Application. The Application runs locally on your
|
|
device and your content is not transmitted to our servers during normal
|
|
use.
|
|
</p>
|
|
|
|
<h2>3. Indemnification</h2>
|
|
<p>
|
|
You agree to indemnify and hold Company (and its officers, employees,
|
|
and agents) harmless, including costs and attorneys’ fees, from
|
|
any claim or demand made by any third party due to or arising out of (a)
|
|
your use of the Application, (b) your violation of these Terms, or (c)
|
|
your violation of applicable laws or regulations.
|
|
</p>
|
|
|
|
<h2>4. Third-Party Links</h2>
|
|
<p>
|
|
The Site may contain links to third-party websites and services. Such
|
|
links are not under the control of Company, and Company is not
|
|
responsible for them. You use all third-party links at your own risk.
|
|
</p>
|
|
|
|
<h2>5. Disclaimers</h2>
|
|
<p>
|
|
THE APPLICATION IS PROVIDED ON AN “AS-IS” AND “AS
|
|
AVAILABLE” BASIS. COMPANY EXPRESSLY DISCLAIMS ANY AND ALL
|
|
WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS, IMPLIED, OR
|
|
STATUTORY, INCLUDING ALL WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
|
|
PARTICULAR PURPOSE, TITLE, AND NON-INFRINGEMENT.
|
|
</p>
|
|
<p>
|
|
SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO
|
|
THE ABOVE EXCLUSION MAY NOT APPLY TO YOU.
|
|
</p>
|
|
|
|
<h2>6. Limitation on Liability</h2>
|
|
<p>
|
|
TO THE MAXIMUM EXTENT PERMITTED BY LAW, IN NO EVENT SHALL COMPANY BE
|
|
LIABLE TO YOU OR ANY THIRD PARTY FOR ANY LOST PROFITS, LOST DATA, OR ANY
|
|
INDIRECT, CONSEQUENTIAL, EXEMPLARY, INCIDENTAL, SPECIAL OR PUNITIVE
|
|
DAMAGES ARISING FROM OR RELATING TO THESE TERMS OR YOUR USE OF THE
|
|
APPLICATION.
|
|
</p>
|
|
<p>
|
|
TO THE MAXIMUM EXTENT PERMITTED BY LAW, OUR LIABILITY TO YOU FOR ANY
|
|
DAMAGES WILL AT ALL TIMES BE LIMITED TO FIFTY US DOLLARS ($50).
|
|
</p>
|
|
|
|
<h2>7. Term and Termination</h2>
|
|
<p>
|
|
These Terms will remain in effect while you use the Application. We may
|
|
suspend or terminate your rights at any time for any reason at our sole
|
|
discretion. Upon termination, you shall cease all use of the Application
|
|
and delete all copies from your devices.
|
|
</p>
|
|
|
|
<h2>8. Dispute Resolution</h2>
|
|
<p>
|
|
You agree that any dispute between you and Company relating to the
|
|
Application or these Terms will be resolved by binding arbitration,
|
|
rather than in court, except that either party may assert individualized
|
|
claims in small claims court or seek equitable relief for intellectual
|
|
property misuse. The arbitration will be conducted by JAMS under their
|
|
applicable rules.
|
|
</p>
|
|
<p>
|
|
YOU AND COMPANY WAIVE ANY CONSTITUTIONAL AND STATUTORY RIGHTS TO SUE IN
|
|
COURT AND HAVE A TRIAL IN FRONT OF A JUDGE OR A JURY.
|
|
</p>
|
|
<p>
|
|
YOU AND COMPANY AGREE THAT EACH MAY BRING CLAIMS AGAINST THE OTHER ONLY
|
|
ON AN INDIVIDUAL BASIS AND NOT ON A CLASS, REPRESENTATIVE, OR COLLECTIVE
|
|
BASIS.
|
|
</p>
|
|
<p>
|
|
You have the right to opt out of this arbitration agreement by sending
|
|
written notice to{" "}
|
|
<a href="mailto:founders@manaflow.com">founders@manaflow.com</a> within 30
|
|
days of first becoming subject to it.
|
|
</p>
|
|
|
|
<h2>9. General</h2>
|
|
<p>
|
|
These Terms constitute the entire agreement between you and Company
|
|
regarding the use of the Application. Our failure to exercise or enforce
|
|
any right or provision shall not operate as a waiver. If any provision
|
|
is held to be invalid, the remaining provisions will remain in full
|
|
force and effect.
|
|
</p>
|
|
|
|
<h2>10. Contact</h2>
|
|
<p>
|
|
Questions about these Terms should be sent to{" "}
|
|
<a href="mailto:founders@manaflow.com">founders@manaflow.com</a>.
|
|
</p>
|
|
|
|
<p>
|
|
Copyright © 2025 Manaflow. All rights reserved.
|
|
</p>
|
|
</>
|
|
);
|
|
}
|